@elliemae/ds-data-table 3.19.0 → 3.19.1-rc.1

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 (416) hide show
  1. package/dist/cjs/DataTable.js +2 -4
  2. package/dist/cjs/DataTable.js.map +2 -2
  3. package/dist/cjs/DataTableContext.js +2 -41
  4. package/dist/cjs/DataTableContext.js.map +2 -2
  5. package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js +3 -1
  6. package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js.map +2 -2
  7. package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +3 -1
  8. package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
  9. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +3 -2
  10. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
  11. package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +7 -5
  12. package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +3 -3
  13. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +5 -3
  14. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
  15. package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +10 -6
  16. package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +2 -2
  17. package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +6 -9
  18. package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js.map +2 -2
  19. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +2 -3
  20. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js.map +2 -2
  21. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +8 -7
  22. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
  23. package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
  24. package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
  25. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +5 -4
  26. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
  27. package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
  28. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
  29. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
  30. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
  31. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
  32. package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
  33. package/dist/cjs/addons/Pagination/Pagination.js +2 -3
  34. package/dist/cjs/addons/Pagination/Pagination.js.map +2 -2
  35. package/dist/cjs/configs/constants.js +11 -5
  36. package/dist/cjs/configs/constants.js.map +3 -3
  37. package/dist/cjs/configs/useDatatableConfig.js +20 -20
  38. package/dist/cjs/configs/useDatatableConfig.js.map +2 -2
  39. package/dist/cjs/configs/useInternalStateConfig.js.map +2 -2
  40. package/dist/cjs/configs/usePaginationConfig.js.map +2 -2
  41. package/dist/cjs/configs/useRowFlattenization.js.map +2 -2
  42. package/dist/cjs/configs/useTableColsWithAddons.js.map +2 -2
  43. package/dist/cjs/configs/useTableResizeCb.js +2 -2
  44. package/dist/cjs/configs/useTableResizeCb.js.map +2 -2
  45. package/dist/cjs/exported-related/EditableCell.js.map +2 -2
  46. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js +5 -4
  47. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  48. package/dist/cjs/exported-related/FilterPopover/index.js +13 -3
  49. package/dist/cjs/exported-related/FilterPopover/index.js.map +2 -2
  50. package/dist/cjs/exported-related/FilterPopover/types.js.map +1 -1
  51. package/dist/cjs/exported-related/FilterPopover/useGetFilterHandlers.js.map +2 -2
  52. package/dist/cjs/exported-related/FilterPopover/useGetFilterVisibility.js.map +2 -2
  53. package/dist/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js.map +2 -2
  54. package/dist/cjs/exported-related/Filters/currencyRangeFilterFn.js +10 -3
  55. package/dist/cjs/exported-related/Filters/currencyRangeFilterFn.js.map +2 -2
  56. package/dist/cjs/exported-related/Filters/multiSelectFilterFn.js +1 -1
  57. package/dist/cjs/exported-related/Filters/multiSelectFilterFn.js.map +2 -2
  58. package/dist/cjs/exported-related/Filters/numberRangeFilterFn.js.map +2 -2
  59. package/dist/cjs/exported-related/Filters/singleSelectFilterFn.js +1 -1
  60. package/dist/cjs/exported-related/Filters/singleSelectFilterFn.js.map +2 -2
  61. package/dist/cjs/exported-related/Filters/types.js.map +1 -1
  62. package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +3 -14
  63. package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
  64. package/dist/cjs/exported-related/RowRenderer/index.js.map +2 -2
  65. package/dist/cjs/exported-related/RowRenderer/useRowRendererHandlers.js.map +1 -1
  66. package/dist/cjs/exported-related/RowRenderer/useRowRendererProperties.js.map +2 -2
  67. package/dist/cjs/exported-related/RowRenderer/useRowStyle.js.map +1 -1
  68. package/dist/cjs/exported-related/Toolbar/Toolbar.js +2 -2
  69. package/dist/cjs/exported-related/Toolbar/Toolbar.js.map +2 -2
  70. package/dist/cjs/exported-related/groupBy.js.map +2 -2
  71. package/dist/cjs/helpers/addCellData.js.map +2 -2
  72. package/dist/cjs/helpers/cellPadding.js.map +1 -1
  73. package/dist/cjs/helpers/columnsToGrid.js +1 -1
  74. package/dist/cjs/helpers/columnsToGrid.js.map +2 -2
  75. package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js +2 -2
  76. package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js.map +2 -2
  77. package/dist/cjs/helpers/index.js +0 -1
  78. package/dist/cjs/helpers/index.js.map +2 -2
  79. package/dist/cjs/index.js +9 -1
  80. package/dist/cjs/index.js.map +2 -2
  81. package/dist/cjs/parts/Cells/Cell.js +1 -1
  82. package/dist/cjs/parts/Cells/Cell.js.map +2 -2
  83. package/dist/cjs/parts/Cells/index.js.map +2 -2
  84. package/dist/cjs/parts/Cells/useCellStyle.js.map +1 -1
  85. package/dist/cjs/parts/DnDHandle.js +2 -1
  86. package/dist/cjs/parts/DnDHandle.js.map +2 -2
  87. package/dist/cjs/parts/DropIndicator.js +11 -11
  88. package/dist/cjs/parts/DropIndicator.js.map +2 -2
  89. package/dist/cjs/parts/EmptyContent.js +8 -8
  90. package/dist/cjs/parts/EmptyContent.js.map +2 -2
  91. package/dist/cjs/parts/FilterBar/DeprecatedDropdown.js +81 -0
  92. package/dist/cjs/parts/FilterBar/DeprecatedDropdown.js.map +7 -0
  93. package/dist/cjs/parts/FilterBar/FiltersBar.js +9 -31
  94. package/dist/cjs/parts/FilterBar/FiltersBar.js.map +2 -2
  95. package/dist/cjs/parts/FilterBar/components/DateRangePill.js +1 -10
  96. package/dist/cjs/parts/FilterBar/components/DateRangePill.js.map +2 -2
  97. package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js +1 -10
  98. package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js.map +2 -2
  99. package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js +3 -2
  100. package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js.map +2 -2
  101. package/dist/cjs/parts/FilterBar/components/NumberRangePill.js.map +2 -2
  102. package/dist/cjs/parts/FilterBar/components/SelectPill.js.map +2 -2
  103. package/dist/cjs/parts/FilterBar/components/SingleDatePill.js.map +2 -2
  104. package/dist/cjs/parts/FilterBar/styled.js +0 -5
  105. package/dist/cjs/parts/FilterBar/styled.js.map +2 -2
  106. package/dist/cjs/parts/Filters/index.js +1 -0
  107. package/dist/cjs/parts/Filters/index.js.map +2 -2
  108. package/dist/cjs/parts/Headers/HeaderCell.js +16 -14
  109. package/dist/cjs/parts/Headers/HeaderCell.js.map +2 -2
  110. package/dist/cjs/parts/Headers/HeaderCellGroup.js.map +2 -2
  111. package/dist/cjs/parts/Headers/HeaderCellTitle.js +11 -2
  112. package/dist/cjs/parts/Headers/HeaderCellTitle.js.map +2 -2
  113. package/dist/cjs/parts/Headers/HeaderResizer.js +20 -71
  114. package/dist/cjs/parts/Headers/HeaderResizer.js.map +2 -2
  115. package/dist/cjs/parts/Headers/index.js +1 -2
  116. package/dist/cjs/parts/Headers/index.js.map +2 -2
  117. package/dist/cjs/parts/Headers/useHeaderCellConfig.js +2 -2
  118. package/dist/cjs/parts/Headers/useHeaderCellConfig.js.map +2 -2
  119. package/dist/cjs/parts/Headers/useHeaderCellHandlers.js +9 -3
  120. package/dist/cjs/parts/Headers/useHeaderCellHandlers.js.map +2 -2
  121. package/dist/cjs/parts/Headers/useHeaderResizer.js +139 -0
  122. package/dist/cjs/parts/Headers/useHeaderResizer.js.map +7 -0
  123. package/dist/cjs/parts/HoC/DnDTreeContext.js.map +1 -1
  124. package/dist/cjs/parts/HoC/SortableItemContext.js.map +1 -1
  125. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js +5 -1
  126. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js.map +2 -2
  127. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +5 -1
  128. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
  129. package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js +2 -1
  130. package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +2 -2
  131. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js +4 -3
  132. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
  133. package/dist/cjs/parts/HoC/withDnDSortableRowContext.js +1 -1
  134. package/dist/cjs/parts/HoC/withDnDSortableRowContext.js.map +2 -2
  135. package/dist/cjs/parts/Row.js.map +2 -2
  136. package/dist/cjs/parts/RowVariants/RowVariantHeader.js +4 -4
  137. package/dist/cjs/parts/RowVariants/RowVariantHeader.js.map +2 -2
  138. package/dist/cjs/parts/RowVariants/RowVariantPrimary.js +14 -21
  139. package/dist/cjs/parts/RowVariants/RowVariantPrimary.js.map +2 -2
  140. package/dist/cjs/parts/RowVariants/RowVariantSecondary.js +15 -22
  141. package/dist/cjs/parts/RowVariants/RowVariantSecondary.js.map +2 -2
  142. package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js.map +2 -2
  143. package/dist/cjs/parts/RowVariants/index.js.map +2 -2
  144. package/dist/cjs/parts/RowVariants/types.js.map +1 -1
  145. package/dist/cjs/parts/Rows.js +4 -4
  146. package/dist/cjs/parts/Rows.js.map +2 -2
  147. package/dist/cjs/parts/SortByCaret.js +1 -1
  148. package/dist/cjs/parts/SortByCaret.js.map +2 -2
  149. package/dist/cjs/parts/SortableHeaderCell.js +17 -7
  150. package/dist/cjs/parts/SortableHeaderCell.js.map +2 -2
  151. package/dist/cjs/parts/VirtualRowsList.js +16 -7
  152. package/dist/cjs/parts/VirtualRowsList.js.map +2 -2
  153. package/dist/cjs/{DataTableSchema.js → react-desc-prop-types.js} +89 -44
  154. package/dist/cjs/react-desc-prop-types.js.map +7 -0
  155. package/dist/cjs/styled.js +54 -22
  156. package/dist/cjs/styled.js.map +2 -2
  157. package/dist/cjs/types/FunctionalHoC.js.map +1 -1
  158. package/dist/esm/DataTable.js +3 -5
  159. package/dist/esm/DataTable.js.map +2 -2
  160. package/dist/esm/DataTableContext.js +2 -41
  161. package/dist/esm/DataTableContext.js.map +2 -2
  162. package/dist/esm/addons/Columns/ColumnAction/ColumnAction.js +3 -1
  163. package/dist/esm/addons/Columns/ColumnAction/ColumnAction.js.map +2 -2
  164. package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +3 -1
  165. package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
  166. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +3 -2
  167. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
  168. package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +5 -3
  169. package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +3 -3
  170. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +4 -2
  171. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
  172. package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +9 -5
  173. package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +2 -2
  174. package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js +6 -9
  175. package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js.map +2 -2
  176. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js +2 -3
  177. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js.map +2 -2
  178. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +2 -1
  179. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
  180. package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
  181. package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
  182. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +2 -1
  183. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
  184. package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
  185. package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
  186. package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
  187. package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
  188. package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
  189. package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
  190. package/dist/esm/addons/Pagination/Pagination.js +2 -3
  191. package/dist/esm/addons/Pagination/Pagination.js.map +2 -2
  192. package/dist/esm/configs/constants.js +11 -5
  193. package/dist/esm/configs/constants.js.map +3 -3
  194. package/dist/esm/configs/useDatatableConfig.js +20 -20
  195. package/dist/esm/configs/useDatatableConfig.js.map +2 -2
  196. package/dist/esm/configs/useInternalStateConfig.js.map +2 -2
  197. package/dist/esm/configs/usePaginationConfig.js.map +2 -2
  198. package/dist/esm/configs/useRowFlattenization.js.map +2 -2
  199. package/dist/esm/configs/useTableColsWithAddons.js.map +2 -2
  200. package/dist/esm/configs/useTableResizeCb.js +2 -2
  201. package/dist/esm/configs/useTableResizeCb.js.map +2 -2
  202. package/dist/esm/exported-related/EditableCell.js.map +2 -2
  203. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js +3 -2
  204. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  205. package/dist/esm/exported-related/FilterPopover/index.js +13 -3
  206. package/dist/esm/exported-related/FilterPopover/index.js.map +2 -2
  207. package/dist/esm/exported-related/FilterPopover/useGetFilterHandlers.js.map +2 -2
  208. package/dist/esm/exported-related/FilterPopover/useGetFilterVisibility.js.map +2 -2
  209. package/dist/esm/exported-related/Filters/applyOutOfTheBoxFilters.js.map +2 -2
  210. package/dist/esm/exported-related/Filters/currencyRangeFilterFn.js +10 -3
  211. package/dist/esm/exported-related/Filters/currencyRangeFilterFn.js.map +2 -2
  212. package/dist/esm/exported-related/Filters/multiSelectFilterFn.js +1 -1
  213. package/dist/esm/exported-related/Filters/multiSelectFilterFn.js.map +2 -2
  214. package/dist/esm/exported-related/Filters/numberRangeFilterFn.js.map +2 -2
  215. package/dist/esm/exported-related/Filters/singleSelectFilterFn.js +1 -1
  216. package/dist/esm/exported-related/Filters/singleSelectFilterFn.js.map +2 -2
  217. package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +3 -14
  218. package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
  219. package/dist/esm/exported-related/RowRenderer/index.js.map +2 -2
  220. package/dist/esm/exported-related/RowRenderer/useRowRendererHandlers.js.map +1 -1
  221. package/dist/esm/exported-related/RowRenderer/useRowRendererProperties.js.map +2 -2
  222. package/dist/esm/exported-related/RowRenderer/useRowStyle.js.map +1 -1
  223. package/dist/esm/exported-related/Toolbar/Toolbar.js +1 -1
  224. package/dist/esm/exported-related/Toolbar/Toolbar.js.map +2 -2
  225. package/dist/esm/exported-related/groupBy.js.map +2 -2
  226. package/dist/esm/helpers/addCellData.js.map +2 -2
  227. package/dist/esm/helpers/cellPadding.js.map +1 -1
  228. package/dist/esm/helpers/columnsToGrid.js +1 -1
  229. package/dist/esm/helpers/columnsToGrid.js.map +2 -2
  230. package/dist/esm/helpers/getIdFromUniqueRowAccessor.js +2 -2
  231. package/dist/esm/helpers/getIdFromUniqueRowAccessor.js.map +2 -2
  232. package/dist/esm/helpers/index.js +0 -1
  233. package/dist/esm/helpers/index.js.map +2 -2
  234. package/dist/esm/index.js +5 -1
  235. package/dist/esm/index.js.map +2 -2
  236. package/dist/esm/parts/Cells/Cell.js +1 -1
  237. package/dist/esm/parts/Cells/Cell.js.map +2 -2
  238. package/dist/esm/parts/Cells/index.js.map +2 -2
  239. package/dist/esm/parts/Cells/useCellStyle.js.map +1 -1
  240. package/dist/esm/parts/DnDHandle.js +2 -1
  241. package/dist/esm/parts/DnDHandle.js.map +2 -2
  242. package/dist/esm/parts/DropIndicator.js +2 -2
  243. package/dist/esm/parts/DropIndicator.js.map +2 -2
  244. package/dist/esm/parts/EmptyContent.js +8 -8
  245. package/dist/esm/parts/EmptyContent.js.map +2 -2
  246. package/dist/esm/parts/FilterBar/DeprecatedDropdown.js +51 -0
  247. package/dist/esm/parts/FilterBar/DeprecatedDropdown.js.map +7 -0
  248. package/dist/esm/parts/FilterBar/FiltersBar.js +10 -32
  249. package/dist/esm/parts/FilterBar/FiltersBar.js.map +2 -2
  250. package/dist/esm/parts/FilterBar/components/DateRangePill.js +1 -10
  251. package/dist/esm/parts/FilterBar/components/DateRangePill.js.map +2 -2
  252. package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js +1 -10
  253. package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js.map +2 -2
  254. package/dist/esm/parts/FilterBar/components/MultiSelectPill.js +3 -2
  255. package/dist/esm/parts/FilterBar/components/MultiSelectPill.js.map +2 -2
  256. package/dist/esm/parts/FilterBar/components/NumberRangePill.js.map +2 -2
  257. package/dist/esm/parts/FilterBar/components/SelectPill.js.map +2 -2
  258. package/dist/esm/parts/FilterBar/components/SingleDatePill.js.map +2 -2
  259. package/dist/esm/parts/FilterBar/styled.js +0 -5
  260. package/dist/esm/parts/FilterBar/styled.js.map +2 -2
  261. package/dist/esm/parts/Filters/index.js +1 -0
  262. package/dist/esm/parts/Filters/index.js.map +2 -2
  263. package/dist/esm/parts/Headers/HeaderCell.js +16 -14
  264. package/dist/esm/parts/Headers/HeaderCell.js.map +2 -2
  265. package/dist/esm/parts/Headers/HeaderCellGroup.js.map +2 -2
  266. package/dist/esm/parts/Headers/HeaderCellTitle.js +11 -2
  267. package/dist/esm/parts/Headers/HeaderCellTitle.js.map +2 -2
  268. package/dist/esm/parts/Headers/HeaderResizer.js +21 -72
  269. package/dist/esm/parts/Headers/HeaderResizer.js.map +2 -2
  270. package/dist/esm/parts/Headers/index.js +1 -2
  271. package/dist/esm/parts/Headers/index.js.map +2 -2
  272. package/dist/esm/parts/Headers/useHeaderCellConfig.js +2 -2
  273. package/dist/esm/parts/Headers/useHeaderCellConfig.js.map +2 -2
  274. package/dist/esm/parts/Headers/useHeaderCellHandlers.js +9 -3
  275. package/dist/esm/parts/Headers/useHeaderCellHandlers.js.map +2 -2
  276. package/dist/esm/parts/Headers/useHeaderResizer.js +109 -0
  277. package/dist/esm/parts/Headers/useHeaderResizer.js.map +7 -0
  278. package/dist/esm/parts/HoC/DnDTreeContext.js.map +1 -1
  279. package/dist/esm/parts/HoC/SortableItemContext.js.map +1 -1
  280. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js +5 -1
  281. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js.map +2 -2
  282. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +5 -1
  283. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
  284. package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js +2 -1
  285. package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js.map +2 -2
  286. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js +4 -3
  287. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
  288. package/dist/esm/parts/HoC/withDnDSortableRowContext.js +1 -1
  289. package/dist/esm/parts/HoC/withDnDSortableRowContext.js.map +2 -2
  290. package/dist/esm/parts/Row.js.map +2 -2
  291. package/dist/esm/parts/RowVariants/RowVariantHeader.js +4 -4
  292. package/dist/esm/parts/RowVariants/RowVariantHeader.js.map +2 -2
  293. package/dist/esm/parts/RowVariants/RowVariantPrimary.js +14 -21
  294. package/dist/esm/parts/RowVariants/RowVariantPrimary.js.map +2 -2
  295. package/dist/esm/parts/RowVariants/RowVariantSecondary.js +15 -22
  296. package/dist/esm/parts/RowVariants/RowVariantSecondary.js.map +2 -2
  297. package/dist/esm/parts/RowVariants/RowVariantSkeleton.js.map +2 -2
  298. package/dist/esm/parts/RowVariants/index.js.map +2 -2
  299. package/dist/esm/parts/Rows.js +4 -4
  300. package/dist/esm/parts/Rows.js.map +2 -2
  301. package/dist/esm/parts/SortByCaret.js +1 -1
  302. package/dist/esm/parts/SortByCaret.js.map +2 -2
  303. package/dist/esm/parts/SortableHeaderCell.js +17 -7
  304. package/dist/esm/parts/SortableHeaderCell.js.map +2 -2
  305. package/dist/esm/parts/VirtualRowsList.js +16 -7
  306. package/dist/esm/parts/VirtualRowsList.js.map +2 -2
  307. package/dist/esm/{DataTableSchema.js → react-desc-prop-types.js} +86 -41
  308. package/dist/esm/react-desc-prop-types.js.map +7 -0
  309. package/dist/esm/styled.js +54 -22
  310. package/dist/esm/styled.js.map +2 -2
  311. package/dist/types/DataTable.d.ts +3 -86
  312. package/dist/types/DataTableContext.d.ts +2 -3
  313. package/dist/types/addons/Columns/ColumnAction/ColumnAction.d.ts +2 -2
  314. package/dist/types/addons/Columns/ColumnDragHandle/ColumnDragHandle.d.ts +2 -2
  315. package/dist/types/addons/Columns/ColumnExpand/ColumnExpand.d.ts +2 -2
  316. package/dist/types/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.d.ts +2 -2
  317. package/dist/types/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.d.ts +2 -2
  318. package/dist/types/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.d.ts +6 -1
  319. package/dist/types/addons/Editables/DateEditableCell/DateEditableCell.d.ts +7 -1
  320. package/dist/types/addons/Editables/TextEditableCell/TextEditableCell.d.ts +6 -1
  321. package/dist/types/addons/Filters/Components/CurrencyRangeFilter/index.d.ts +2 -2
  322. package/dist/types/addons/Filters/Components/DateRangeFilter/index.d.ts +2 -2
  323. package/dist/types/addons/Filters/Components/DateSwitcherFilter/index.d.ts +2 -2
  324. package/dist/types/addons/Filters/Components/NumberRangeFilter/index.d.ts +2 -2
  325. package/dist/types/addons/Filters/Components/SelectFilter/BaseSelectFilter.d.ts +2 -2
  326. package/dist/types/addons/Filters/Components/SelectFilter/MultiCreatableFilter.d.ts +2 -2
  327. package/dist/types/addons/Filters/Components/SelectFilter/MultiSelectFilter.d.ts +2 -2
  328. package/dist/types/addons/Filters/Components/SelectFilter/SingleCreatableFilter.d.ts +2 -2
  329. package/dist/types/addons/Filters/Components/SelectFilter/SingleSelectFilter.d.ts +2 -2
  330. package/dist/types/addons/Filters/Components/SingleDateFilter/index.d.ts +2 -2
  331. package/dist/types/configs/constants.d.ts +10 -4
  332. package/dist/types/configs/useDatatableConfig.d.ts +2 -2
  333. package/dist/types/configs/useInternalStateConfig.d.ts +3 -3
  334. package/dist/types/configs/usePaginationConfig.d.ts +2 -2
  335. package/dist/types/configs/useRowFlattenization.d.ts +2 -2
  336. package/dist/types/configs/useTableColsWithAddons.d.ts +2 -2
  337. package/dist/types/configs/useTableResizeCb.d.ts +2 -2
  338. package/dist/types/exported-related/EditableCell.d.ts +7 -1
  339. package/dist/types/exported-related/FilterBar/FilterBarDropdownMenu.d.ts +2 -1
  340. package/dist/types/exported-related/FilterPopover/types.d.ts +5 -5
  341. package/dist/types/exported-related/FilterPopover/useGetFilterHandlers.d.ts +1 -1
  342. package/dist/types/exported-related/FilterPopover/useGetFilterVisibility.d.ts +2 -2
  343. package/dist/types/exported-related/Filters/applyOutOfTheBoxFilters.d.ts +2 -2
  344. package/dist/types/exported-related/Filters/numberRangeFilterFn.d.ts +2 -2
  345. package/dist/types/exported-related/Filters/types.d.ts +2 -2
  346. package/dist/types/exported-related/RowRenderer/index.d.ts +4 -4
  347. package/dist/types/exported-related/RowRenderer/useRowRendererHandlers.d.ts +3 -3
  348. package/dist/types/exported-related/RowRenderer/useRowRendererProperties.d.ts +4 -5
  349. package/dist/types/exported-related/RowRenderer/useRowStyle.d.ts +3 -3
  350. package/dist/types/exported-related/Toolbar/Toolbar.d.ts +2 -2
  351. package/dist/types/exported-related/groupBy.d.ts +2 -1
  352. package/dist/types/helpers/addCellData.d.ts +2 -2
  353. package/dist/types/helpers/cellPadding.d.ts +3 -3
  354. package/dist/types/helpers/columnsToGrid.d.ts +2 -3
  355. package/dist/types/helpers/getIdFromUniqueRowAccessor.d.ts +2 -2
  356. package/dist/types/helpers/index.d.ts +0 -1
  357. package/dist/types/index.d.ts +2 -1
  358. package/dist/types/parts/Cells/Cell.d.ts +4 -4
  359. package/dist/types/parts/Cells/index.d.ts +2 -2
  360. package/dist/types/parts/Cells/useCellStyle.d.ts +2 -2
  361. package/dist/types/parts/DnDHandle.d.ts +2 -2
  362. package/dist/types/parts/DropIndicator.d.ts +2 -2
  363. package/dist/types/parts/EmptyContent.d.ts +1 -3
  364. package/dist/types/parts/FilterBar/DeprecatedDropdown.d.ts +13 -0
  365. package/dist/types/parts/FilterBar/components/DateRangePill.d.ts +4 -3
  366. package/dist/types/parts/FilterBar/components/DateSwitcherPill.d.ts +4 -3
  367. package/dist/types/parts/FilterBar/components/MultiSelectPill.d.ts +3 -2
  368. package/dist/types/parts/FilterBar/components/NumberRangePill.d.ts +4 -3
  369. package/dist/types/parts/FilterBar/components/SelectPill.d.ts +3 -2
  370. package/dist/types/parts/FilterBar/components/SingleDatePill.d.ts +3 -2
  371. package/dist/types/parts/FilterBar/styled.d.ts +0 -1
  372. package/dist/types/parts/Filters/index.d.ts +2 -2
  373. package/dist/types/parts/Headers/HeaderCell.d.ts +3 -3
  374. package/dist/types/parts/Headers/HeaderCellGroup.d.ts +3 -3
  375. package/dist/types/parts/Headers/HeaderCellTitle.d.ts +5 -5
  376. package/dist/types/parts/Headers/HeaderResizer.d.ts +4 -2
  377. package/dist/types/parts/Headers/index.d.ts +2 -2
  378. package/dist/types/parts/Headers/useHeaderCellConfig.d.ts +3 -3
  379. package/dist/types/parts/Headers/useHeaderCellHandlers.d.ts +3 -2
  380. package/dist/types/parts/Headers/useHeaderResizer.d.ts +10 -0
  381. package/dist/types/parts/HoC/DnDTreeContext.d.ts +3 -3
  382. package/dist/types/parts/HoC/SortableItemContext.d.ts +2 -2
  383. package/dist/types/parts/HoC/withConditionalDnDSortableContext.d.ts +8 -3
  384. package/dist/types/parts/HoC/withDnDSortableColumnContext.d.ts +5 -2
  385. package/dist/types/parts/HoC/withDnDSortableRowContext.d.ts +5 -2
  386. package/dist/types/parts/Row.d.ts +14 -3
  387. package/dist/types/parts/RowVariants/RowVariantHeader.d.ts +2 -2
  388. package/dist/types/parts/RowVariants/RowVariantPrimary.d.ts +4 -2
  389. package/dist/types/parts/RowVariants/RowVariantSecondary.d.ts +4 -2
  390. package/dist/types/parts/RowVariants/RowVariantSkeleton.d.ts +2 -2
  391. package/dist/types/parts/RowVariants/index.d.ts +2 -11
  392. package/dist/types/parts/RowVariants/types.d.ts +6 -5
  393. package/dist/types/parts/Rows.d.ts +2 -2
  394. package/dist/types/parts/SortableHeaderCell.d.ts +2 -3
  395. package/dist/types/react-desc-prop-types.d.ts +310 -0
  396. package/dist/types/styled.d.ts +13 -16
  397. package/dist/types/types/FunctionalHoC.d.ts +1 -1
  398. package/package.json +22 -22
  399. package/dist/cjs/DataTableSchema.js.map +0 -7
  400. package/dist/cjs/helpers/refs-helpers.js +0 -51
  401. package/dist/cjs/helpers/refs-helpers.js.map +0 -7
  402. package/dist/cjs/parts/FilterBar/types.js +0 -28
  403. package/dist/cjs/parts/FilterBar/types.js.map +0 -7
  404. package/dist/cjs/types/props.js +0 -42
  405. package/dist/cjs/types/props.js.map +0 -7
  406. package/dist/esm/DataTableSchema.js.map +0 -7
  407. package/dist/esm/helpers/refs-helpers.js +0 -21
  408. package/dist/esm/helpers/refs-helpers.js.map +0 -7
  409. package/dist/esm/parts/FilterBar/types.js +0 -2
  410. package/dist/esm/parts/FilterBar/types.js.map +0 -7
  411. package/dist/esm/types/props.js +0 -12
  412. package/dist/esm/types/props.js.map +0 -7
  413. package/dist/types/DataTableSchema.d.ts +0 -2
  414. package/dist/types/helpers/refs-helpers.d.ts +0 -1
  415. package/dist/types/parts/FilterBar/types.d.ts +0 -19
  416. package/dist/types/types/props.d.ts +0 -276
@@ -57,6 +57,7 @@ var import_ds_icons = require("@elliemae/ds-icons");
57
57
  var import_helpers = require("./helpers/index.js");
58
58
  var import_zIndexInternalConfig = require("./configs/zIndexInternalConfig.js");
59
59
  var import_constants = require("./configs/constants.js");
60
+ var import_ds_form_input_text = require("@elliemae/ds-form-input-text");
60
61
  const styledFocusCss = ({ theme }, color) => `
61
62
  &:after {
62
63
  display: block;
@@ -99,35 +100,23 @@ const StyledTableContentWrapper = (0, import_ds_system.styled)(import_ds_grid.Gr
99
100
  ${({ height = "auto" }) => `
100
101
  height: ${(0, import_helpers.sizeToCss)(height)};
101
102
  `}
103
+ width: ${(props) => (0, import_helpers.sizeToCss)(props.totalColumnsWidth)};
102
104
  `;
103
105
  const StyledVirtualListWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid)`
104
106
  overflow: auto;
105
107
  height: 100%;
106
- width: 100%;
108
+ --grid-layout: ${(props) => props.gridLayout.map((col) => `minmax(0, ${col})`).join(" ")};
107
109
  `;
108
- const getGridTemplateColumnsStyle = ({
109
- cols,
110
- colsLayoutStyle = import_constants.ColsLayoutStyle.Auto
111
- }) => {
112
- if (!cols)
113
- return "";
114
- if (colsLayoutStyle === "fixed") {
115
- const widthAttr = cols.map((col) => `minmax(0, ${col})`).join(" ");
116
- return `grid-template-columns: ${widthAttr}`;
117
- }
118
- return `grid-template-columns: ${cols.map((col) => `minmax(0, ${col})`).join(" ")}`;
119
- };
120
110
  const StyledHeadWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid)`
121
- position: relative; /* ie11 fallback */
122
111
  position: sticky;
123
112
  top: 0;
124
113
  z-index: 4;
125
114
  background: white;
126
- width: ${(props) => props.colsLayoutStyle === import_constants.ColsLayoutStyle.Fixed ? (0, import_helpers.sizeToCss)(props.totalColumnsWidth) : "100%"};
115
+ width: 100%;
127
116
  `;
128
117
  const StyledHeadTr = (0, import_ds_system.styled)(import_ds_grid.Grid)`
129
118
  ${(props) => props.colsLayoutStyle === import_constants.ColsLayoutStyle.Auto ? "width:100%" : ""};
130
- ${(props) => getGridTemplateColumnsStyle(props)};
119
+ grid-template-columns: var(--grid-layout);
131
120
  border-right: 1px solid ${(props) => props.theme.colors.neutral["080"]};
132
121
  border-bottom: 1px solid ${(props) => props.theme.colors.neutral["080"]};
133
122
  grid-auto-flow: column;
@@ -185,9 +174,7 @@ const StyledHeaderRightIconsWrapper = import_ds_system.styled.div`
185
174
  align-items: center;
186
175
  max-height: 24px;
187
176
  `;
188
- const StyledResizer = import_ds_system.styled.div`
189
- display: inline-block;
190
- background: transparent;
177
+ const StyledResizer = (0, import_ds_system.styled)(import_ds_form_input_text.DSInputText)`
191
178
  width: 4px;
192
179
  height: 100%;
193
180
  position: absolute;
@@ -198,10 +185,53 @@ const StyledResizer = import_ds_system.styled.div`
198
185
  // prevents from scrolling while dragging on touch devices
199
186
  touch-action: none;
200
187
 
201
- cursor: col-resize;
188
+ border: none;
189
+ outline: none;
190
+
191
+ &:hover,
192
+ &:focus,
193
+ &:focus-visible {
194
+ border: none;
195
+ outline: none;
196
+ }
197
+
198
+ input {
199
+ appearance: none;
200
+ cursor: col-resize;
201
+ background-image: transparent;
202
+ padding: 0;
203
+
204
+ &:focus::-webkit-slider-runnable-track {
205
+ background: transparent;
206
+ }
207
+
208
+ &:focus-visible {
209
+ :after {
210
+ position: absolute;
211
+ content: ' ';
212
+ z-index: 2;
213
+ top: 0;
214
+ right: 0;
215
+ width: 8px;
216
+ height: 100%;
217
+ border: 2px solid brand-700;
218
+ }
219
+ ::-webkit-slider-runnable-track {
220
+ background: transparent;
221
+ }
222
+ }
223
+
224
+ &::-webkit-slider-runnable-track {
225
+ background: transparent;
226
+ }
227
+
228
+ &::-webkit-slider-thumb {
229
+ appearance: none;
230
+ background: transparent;
231
+ }
232
+ }
202
233
  `;
203
234
  const StyledActionCell = import_ds_system.styled.div`
204
- position: relative; /* ie11 fallback */
205
235
  position: sticky;
206
236
  display: inline-block;
207
237
  right: 0;
@@ -272,7 +302,9 @@ const StyledCellContainer = (0, import_ds_system.styled)(import_ds_grid.Grid)`
272
302
 
273
303
  width: 100%;
274
304
  ${(props) => props.isDragOverlay ? "width: fit-content;" : ""};
275
- ${(props) => getGridTemplateColumnsStyle(props)};
305
+
306
+ grid-template-columns: ${(props) => props.isDragOverlay ? `minmax(0, 24px) minmax(0, auto)` : `var(--grid-layout)`};
307
+
276
308
  background-color: ${({ backgroundColor, isDragging, theme }) => isDragging ? theme.colors.neutral[100] : backgroundColor || "white"};
277
309
 
278
310
  outline: none;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/styled.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\nimport { type Theme, styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { EditPencil } from '@elliemae/ds-icons';\nimport { sizeToCss, cellPadding, columnPadding } from './helpers/index.js';\nimport { ZIndexDataTable } from './configs/zIndexInternalConfig.js';\nimport { ColsLayoutStyle } from './configs/constants.js';\nimport type { InternalTypescriptColumn } from './types/props.js';\n\ninterface WidthAndHeight {\n width?: string | number;\n height?: string | number;\n}\n\nconst styledFocusCss = ({ theme }: { theme: Theme }, color?: string) => `\n&:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid ${color ?? theme.colors.brand[700]};\n pointer-events: none;\n z-index: ${ZIndexDataTable.FOCUS_BORDER};\n}`;\n\nexport const StyledFocusWithin = styled(Grid)<{ hideFocus?: boolean }>`\n :focus-within {\n ${(props) => (props.hideFocus ? '' : styledFocusCss(props))}\n }\n svg {\n fill: ${(props) => props.theme.colors.brand['800']};\n }\n`;\n\nexport const StyledDataTableWrapper = styled(Grid)<WidthAndHeight>`\n width: ${(props) => sizeToCss(props.width ?? ' 100%')};\n height: ${(props) => sizeToCss(props.height ?? ' 100%')};\n`;\n\nexport const StyledDataTableContentWrapper = styled(Grid)<{ noSelectionAllowed: boolean }>`\n user-select: ${({ noSelectionAllowed }) => (noSelectionAllowed ? 'none' : 'auto')};\n width: 100%;\n`;\n\nexport const StyledTableWrapper = styled.div<WidthAndHeight>`\n display: inline-block;\n border-spacing: 0;\n z-index: 0;\n position: relative;\n width: 100%;\n height: 100%;\n`;\nexport const StyledTableContentWrapper = styled(Grid)<WidthAndHeight>`\n position: relative;\n ${({ height = 'auto' }) => `\n height: ${sizeToCss(height) as string};\n `}\n`;\n\nexport const StyledVirtualListWrapper = styled(Grid)`\n overflow: auto;\n height: 100%;\n width: 100%;\n`;\n\n/**\n * HEADER\n */\ntype GridTemplateColumnStyleProps = {\n cols: string[];\n isExpandable: boolean;\n colsLayoutStyle: ColsLayoutStyle;\n};\nconst getGridTemplateColumnsStyle = ({\n cols,\n colsLayoutStyle = ColsLayoutStyle.Auto,\n}: GridTemplateColumnStyleProps) => {\n if (!cols) return '';\n if (colsLayoutStyle === 'fixed') {\n const widthAttr = cols.map((col) => `minmax(0, ${col})`).join(' ');\n return `grid-template-columns: ${widthAttr}`;\n }\n\n return `grid-template-columns: ${cols.map((col) => `minmax(0, ${col})`).join(' ')}`;\n};\n\nexport const StyledHeadWrapper = styled(Grid)<{\n colsLayoutStyle: string;\n totalColumnsWidth: number | string;\n}>`\n position: relative; /* ie11 fallback */\n position: sticky;\n top: 0;\n z-index: 4;\n background: white;\n width: ${(props) => (props.colsLayoutStyle === ColsLayoutStyle.Fixed ? sizeToCss(props.totalColumnsWidth) : '100%')};\n`;\n\nexport const StyledHeadTr = styled(Grid)<{ isExpandable: boolean; colsLayoutStyle: ColsLayoutStyle; cols: string[] }>`\n ${(props) => (props.colsLayoutStyle === ColsLayoutStyle.Auto ? 'width:100%' : '')};\n ${(props) => getGridTemplateColumnsStyle(props)};\n border-right: 1px solid ${(props) => props.theme.colors.neutral['080']};\n border-bottom: 1px solid ${(props) => props.theme.colors.neutral['080']};\n grid-auto-flow: column;\n`;\n\nexport const StyledHeadTh = styled.div<{ isDraggingActive?: boolean; column: InternalTypescriptColumn }>`\n min-height: 24px;\n line-height: normal;\n font-weight: 600;\n text-transform: uppercase;\n font-size: 0.923rem;\n text-align: left;\n ${columnPadding}\n color: #353c46;\n min-height: 1.84615rem;\n position: sticky;\n z-index: ${ZIndexDataTable.HEADER_ROW};\n display: flex;\n justify-content: space-between;\n box-sizing: border-box;\n outline: none;\n ${(props) =>\n props.isDraggingActive\n ? ''\n : `:hover {\n &:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-bottom: 1px solid ${props.theme.colors.brand[700]};\n pointer-events: none;\n z-index: ${ZIndexDataTable.FOCUS_BORDER};\n }\n cursor: pointer;\n }`}\n\n :focus {\n &:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid ${(props) => props.theme.colors.brand[700]};\n pointer-events: none;\n z-index: ${ZIndexDataTable.FOCUS_BORDER};\n }\n }\n`;\n\nexport const StyledHeaderRightIconsWrapper = styled.div`\n height: 100%;\n display: flex;\n align-items: center;\n max-height: 24px;\n`;\n\nexport const StyledResizer = styled.div<{ isResizing: boolean }>`\n display: inline-block;\n background: transparent;\n width: 4px;\n height: 100%;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 1;\n\n // prevents from scrolling while dragging on touch devices\n touch-action: none;\n\n cursor: col-resize;\n`;\n\n// CELL ***********************************************************************/\nexport const StyledActionCell = styled.div`\n position: relative; /* ie11 fallback */\n position: sticky;\n display: inline-block;\n right: 0;\n /* border-bottom: 1px solid #ebedf0; */\n background: white;\n`;\n\nexport const StyledCell = styled.div`\n ${cellPadding}\n display: flex;\n align-items: center;\n width: 100%;\n position: relative;\n`;\n\nexport const StyledCellContent = styled.div`\n display: grid;\n justify-self: flex-end;\n flex: 1 1 auto;\n width: 100%;\n height: 100%;\n align-items: center;\n`;\n\nexport const StyledPencilIcon = styled(EditPencil)``;\n\nexport const StyledEditableContainer = styled(Grid)<{ shouldDisplayEditIcon: string }>`\n width: 100%;\n height: 100%;\n align-items: center;\n & ${StyledPencilIcon} {\n display: ${({ shouldDisplayEditIcon }) => (shouldDisplayEditIcon ? 'block' : 'none')};\n }\n &:hover {\n ${StyledPencilIcon} {\n display: block;\n }\n }\n &:focus {\n ${styledFocusCss}\n ${StyledPencilIcon} {\n display: block;\n }\n }\n outline: none;\n`;\n\n// ROW ************************************************************************/\nexport const StyledFullsizeGrid = styled(Grid)<{ minHeight: string }>`\n position: relative;\n z-index: ${ZIndexDataTable.ROW};\n\n min-height: ${(props) => props.minHeight || '36px'};\n height: ${(props) => props.height || 'auto'};\n`;\n\nexport const GroupHeaderContainer = styled(Grid)<{ paddingLeft: string }>`\n position: relative;\n background-color: ${({ theme }) => theme.colors.brand[200]};\n align-items: center;\n padding-left: ${(props) => props.paddingLeft};\n border-top: 1px solid ${({ theme }) => theme.colors.brand[300]};\n`;\n\nexport const GroupHeaderTitle = styled.span`\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n font-size: 12px;\n color: ${(props) => props.theme.colors.neutral[700]};\n`;\n\nexport const StyledCellContainer = styled(Grid)<{\n backgroundColor?: string;\n isDragOverlay?: boolean;\n isDragging?: boolean;\n isDisabled?: boolean;\n isExpandable?: boolean;\n colsLayoutStyle?: ColsLayoutStyle;\n cols?: string[];\n isDropValid?: boolean;\n shouldDisplayHover?: boolean;\n isDropIndicatorPositionInside?: boolean;\n minHeight?: string;\n}>`\n position: relative;\n z-index: 2;\n\n min-height: ${(props) => props.minHeight || '36px'};\n height: ${(props) => props.height || 'auto'};\n\n width: 100%;\n ${(props) => (props.isDragOverlay ? 'width: fit-content;' : '')};\n ${(props) => getGridTemplateColumnsStyle(props)};\n background-color: ${({ backgroundColor, isDragging, theme }) =>\n isDragging ? theme.colors.neutral[100] : backgroundColor || 'white'};\n\n outline: none;\n\n :focus {\n ${(props) => (props.isDragOverlay ? '' : styledFocusCss(props))}\n }\n\n ${({ isDropIndicatorPositionInside, isDropValid, theme }) => {\n if (!isDropIndicatorPositionInside) return '';\n return styledFocusCss({ theme }, isDropValid ? theme.colors.brand[700] : theme.colors.danger[900]);\n }}\n\n ${({ shouldDisplayHover, theme, isDisabled }) =>\n shouldDisplayHover && !isDisabled\n ? `:hover {\n background-color: ${theme.colors.brand[200]};\n }`\n : ''}\n\n box-shadow: 0 2px 4px 0 ${(props) => (props.isDragOverlay ? 'rgba(0,0,0,0.5)' : 'transparent')};\n\n opacity: ${(props) => (props.isDragging ? 0.8 : 1)};\n\n ${(props) =>\n !props.selected\n ? ''\n : `\n background-color: ${props.theme.colors.brand[200]};\n border: 1px solid ${props.theme.colors.brand[500]};\n `}\n\n ${GroupHeaderTitle} {\n color: ${(props) => (props.isDisabled ? props.theme.colors.neutral['200'] : props.theme.colors.neutral['700'])};\n }\n color: ${(props) => (props.isDisabled ? props.theme.colors.neutral['200'] : '#333333')};\n\n svg {\n fill: ${(props) => (props.isDisabled ? props.theme.colors.neutral['200'] : props.theme.colors.brand['800'])};\n }\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport { type Theme, styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { EditPencil } from '@elliemae/ds-icons';\nimport { sizeToCss, cellPadding, columnPadding } from './helpers/index.js';\nimport { ZIndexDataTable } from './configs/zIndexInternalConfig.js';\nimport { ColsLayoutStyle } from './configs/constants.js';\nimport type { DSDataTableT } from './react-desc-prop-types.js';\nimport { DSInputText } from '@elliemae/ds-form-input-text';\n\ninterface WidthAndHeight {\n width?: string | number;\n height?: string | number;\n}\n\nconst styledFocusCss = ({ theme }: { theme: Theme }, color?: string) => `\n&:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid ${color ?? theme.colors.brand[700]};\n pointer-events: none;\n z-index: ${ZIndexDataTable.FOCUS_BORDER};\n}`;\n\nexport const StyledFocusWithin = styled(Grid)<{ hideFocus?: boolean }>`\n :focus-within {\n ${(props) => (props.hideFocus ? '' : styledFocusCss(props))}\n }\n svg {\n fill: ${(props) => props.theme.colors.brand['800']};\n }\n`;\n\nexport const StyledDataTableWrapper = styled(Grid)<WidthAndHeight>`\n width: ${(props) => sizeToCss(props.width ?? ' 100%')};\n height: ${(props) => sizeToCss(props.height ?? ' 100%')};\n`;\n\nexport const StyledDataTableContentWrapper = styled(Grid)<{ noSelectionAllowed: boolean }>`\n user-select: ${({ noSelectionAllowed }) => (noSelectionAllowed ? 'none' : 'auto')};\n width: 100%;\n`;\n\nexport const StyledTableWrapper = styled.div<WidthAndHeight>`\n display: inline-block;\n border-spacing: 0;\n z-index: 0;\n position: relative;\n width: 100%;\n height: 100%;\n`;\nexport const StyledTableContentWrapper = styled(Grid)<{ height?: string | number; totalColumnsWidth: string | number }>`\n position: relative;\n ${({ height = 'auto' }) => `\n height: ${sizeToCss(height) as string};\n `}\n width: ${(props) => sizeToCss(props.totalColumnsWidth)};\n`;\n\nexport const StyledVirtualListWrapper = styled(Grid)<{ gridLayout: string[] }>`\n overflow: auto;\n height: 100%;\n --grid-layout: ${(props) => props.gridLayout.map((col) => `minmax(0, ${col})`).join(' ')};\n`;\n\nexport const StyledHeadWrapper = styled(Grid)<{\n colsLayoutStyle: string;\n}>`\n position: sticky;\n top: 0;\n z-index: 4;\n background: white;\n width: 100%;\n`;\n\nexport const StyledHeadTr = styled(Grid)<{\n isExpandable: boolean;\n colsLayoutStyle: DSDataTableT.ColsLayoutStyleValues;\n}>`\n ${(props) => (props.colsLayoutStyle === ColsLayoutStyle.Auto ? 'width:100%' : '')};\n grid-template-columns: var(--grid-layout);\n border-right: 1px solid ${(props) => props.theme.colors.neutral['080']};\n border-bottom: 1px solid ${(props) => props.theme.colors.neutral['080']};\n grid-auto-flow: column;\n`;\n\nexport const StyledHeadTh = styled.div<{ isDraggingActive?: boolean; column: DSDataTableT.InternalColumn }>`\n min-height: 24px;\n line-height: normal;\n font-weight: 600;\n text-transform: uppercase;\n font-size: 0.923rem;\n text-align: left;\n ${columnPadding}\n color: #353c46;\n min-height: 1.84615rem;\n position: sticky;\n z-index: ${ZIndexDataTable.HEADER_ROW};\n display: flex;\n justify-content: space-between;\n box-sizing: border-box;\n outline: none;\n ${(props) =>\n props.isDraggingActive\n ? ''\n : `:hover {\n &:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-bottom: 1px solid ${props.theme.colors.brand[700]};\n pointer-events: none;\n z-index: ${ZIndexDataTable.FOCUS_BORDER};\n }\n cursor: pointer;\n }`}\n\n :focus {\n &:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid ${(props) => props.theme.colors.brand[700]};\n pointer-events: none;\n z-index: ${ZIndexDataTable.FOCUS_BORDER};\n }\n }\n`;\n\nexport const StyledHeaderRightIconsWrapper = styled.div`\n height: 100%;\n display: flex;\n align-items: center;\n max-height: 24px;\n`;\n\nexport const StyledResizer = styled(DSInputText)`\n width: 4px;\n height: 100%;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 1;\n\n // prevents from scrolling while dragging on touch devices\n touch-action: none;\n\n border: none;\n outline: none;\n\n &:hover,\n &:focus,\n &:focus-visible {\n border: none;\n outline: none;\n }\n\n input {\n appearance: none;\n cursor: col-resize;\n background-image: transparent;\n padding: 0;\n\n &:focus::-webkit-slider-runnable-track {\n background: transparent;\n }\n\n &:focus-visible {\n :after {\n position: absolute;\n content: ' ';\n z-index: 2;\n top: 0;\n right: 0;\n width: 8px;\n height: 100%;\n border: 2px solid brand-700;\n }\n ::-webkit-slider-runnable-track {\n background: transparent;\n }\n }\n\n &::-webkit-slider-runnable-track {\n background: transparent;\n }\n\n &::-webkit-slider-thumb {\n appearance: none;\n background: transparent;\n }\n }\n`;\n\n// CELL ***********************************************************************/\nexport const StyledActionCell = styled.div`\n position: sticky;\n display: inline-block;\n right: 0;\n /* border-bottom: 1px solid #ebedf0; */\n background: white;\n`;\n\nexport const StyledCell = styled.div`\n ${cellPadding}\n display: flex;\n align-items: center;\n width: 100%;\n position: relative;\n`;\n\nexport const StyledCellContent = styled.div`\n display: grid;\n justify-self: flex-end;\n flex: 1 1 auto;\n width: 100%;\n height: 100%;\n align-items: center;\n`;\n\nexport const StyledPencilIcon = styled(EditPencil)``;\n\nexport const StyledEditableContainer = styled(Grid)<{ shouldDisplayEditIcon?: boolean }>`\n width: 100%;\n height: 100%;\n align-items: center;\n & ${StyledPencilIcon} {\n display: ${({ shouldDisplayEditIcon }) => (shouldDisplayEditIcon ? 'block' : 'none')};\n }\n &:hover {\n ${StyledPencilIcon} {\n display: block;\n }\n }\n &:focus {\n ${styledFocusCss}\n ${StyledPencilIcon} {\n display: block;\n }\n }\n outline: none;\n`;\n\n// ROW ************************************************************************/\nexport const StyledFullsizeGrid = styled(Grid)<{ minHeight: string }>`\n position: relative;\n z-index: ${ZIndexDataTable.ROW};\n\n min-height: ${(props) => props.minHeight || '36px'};\n height: ${(props) => props.height || 'auto'};\n`;\n\nexport const GroupHeaderContainer = styled(Grid)<{ paddingLeft: string }>`\n position: relative;\n background-color: ${({ theme }) => theme.colors.brand[200]};\n align-items: center;\n padding-left: ${(props) => props.paddingLeft};\n border-top: 1px solid ${({ theme }) => theme.colors.brand[300]};\n`;\n\nexport const GroupHeaderTitle = styled.span`\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n font-size: 12px;\n color: ${(props) => props.theme.colors.neutral[700]};\n`;\n\nexport const StyledCellContainer = styled(Grid)<{\n backgroundColor?: string;\n isDragOverlay?: boolean;\n isDragging?: boolean;\n isDisabled?: boolean;\n isDropValid?: boolean;\n shouldDisplayHover?: boolean;\n isDropIndicatorPositionInside?: boolean;\n minHeight?: string;\n}>`\n position: relative;\n z-index: 2;\n\n min-height: ${(props) => props.minHeight || '36px'};\n height: ${(props) => props.height || 'auto'};\n\n width: 100%;\n ${(props) => (props.isDragOverlay ? 'width: fit-content;' : '')};\n\n grid-template-columns: ${(props) => (props.isDragOverlay ? `minmax(0, 24px) minmax(0, auto)` : `var(--grid-layout)`)};\n\n background-color: ${({ backgroundColor, isDragging, theme }) =>\n isDragging ? theme.colors.neutral[100] : backgroundColor || 'white'};\n\n outline: none;\n\n :focus {\n ${(props) => (props.isDragOverlay ? '' : styledFocusCss(props))}\n }\n\n ${({ isDropIndicatorPositionInside, isDropValid, theme }) => {\n if (!isDropIndicatorPositionInside) return '';\n return styledFocusCss({ theme }, isDropValid ? theme.colors.brand[700] : theme.colors.danger[900]);\n }}\n\n ${({ shouldDisplayHover, theme, isDisabled }) =>\n shouldDisplayHover && !isDisabled\n ? `:hover {\n background-color: ${theme.colors.brand[200]};\n }`\n : ''}\n\n box-shadow: 0 2px 4px 0 ${(props) => (props.isDragOverlay ? 'rgba(0,0,0,0.5)' : 'transparent')};\n\n opacity: ${(props) => (props.isDragging ? 0.8 : 1)};\n\n ${(props) =>\n !props.selected\n ? ''\n : `\n background-color: ${props.theme.colors.brand[200]};\n border: 1px solid ${props.theme.colors.brand[500]};\n `}\n\n ${GroupHeaderTitle} {\n color: ${(props) => (props.isDisabled ? props.theme.colors.neutral['200'] : props.theme.colors.neutral['700'])};\n }\n color: ${(props) => (props.isDisabled ? props.theme.colors.neutral['200'] : '#333333')};\n\n svg {\n fill: ${(props) => (props.isDisabled ? props.theme.colors.neutral['200'] : props.theme.colors.brand['800'])};\n }\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,uBAAmC;AACnC,qBAAqB;AACrB,sBAA2B;AAC3B,qBAAsD;AACtD,kCAAgC;AAChC,uBAAgC;AAEhC,gCAA4B;AAO5B,MAAM,iBAAiB,CAAC,EAAE,MAAM,GAAqB,UAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBASlD,SAAS,MAAM,OAAO,MAAM,GAAG;AAAA;AAAA,aAExC,4CAAgB;AAAA;AAGtB,MAAM,wBAAoB,yBAAO,mBAAI;AAAA;AAAA,MAEtC,CAAC,UAAW,MAAM,YAAY,KAAK,eAAe,KAAK;AAAA;AAAA;AAAA,YAGjD,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM,KAAK;AAAA;AAAA;AAI9C,MAAM,6BAAyB,yBAAO,mBAAI;AAAA,WACtC,CAAC,cAAU,0BAAU,MAAM,SAAS,OAAO;AAAA,YAC1C,CAAC,cAAU,0BAAU,MAAM,UAAU,OAAO;AAAA;AAGjD,MAAM,oCAAgC,yBAAO,mBAAI;AAAA,iBACvC,CAAC,EAAE,mBAAmB,MAAO,qBAAqB,SAAS;AAAA;AAAA;AAIrE,MAAM,qBAAqB,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQlC,MAAM,gCAA4B,yBAAO,mBAAI;AAAA;AAAA,IAEhD,CAAC,EAAE,SAAS,OAAO,MAAM;AAAA,gBACjB,0BAAU,MAAM;AAAA;AAAA,WAEjB,CAAC,cAAU,0BAAU,MAAM,iBAAiB;AAAA;AAGhD,MAAM,+BAA2B,yBAAO,mBAAI;AAAA;AAAA;AAAA,mBAGhC,CAAC,UAAU,MAAM,WAAW,IAAI,CAAC,QAAQ,aAAa,MAAM,EAAE,KAAK,GAAG;AAAA;AAGlF,MAAM,wBAAoB,yBAAO,mBAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUrC,MAAM,mBAAe,yBAAO,mBAAI;AAAA,IAInC,CAAC,UAAW,MAAM,oBAAoB,iCAAgB,OAAO,eAAe;AAAA;AAAA,4BAEpD,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK;AAAA,6BAC1C,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK;AAAA;AAAA;AAIjE,MAAM,eAAe,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAO/B;AAAA;AAAA;AAAA;AAAA,aAIS,4CAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKzB,CAAC,UACD,MAAM,mBACF,KACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uCAS+B,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA;AAAA,uBAE5C,4CAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAcb,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA;AAAA,iBAEhD,4CAAgB;AAAA;AAAA;AAAA;AAK1B,MAAM,gCAAgC,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAO7C,MAAM,oBAAgB,yBAAO,qCAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2DxC,MAAM,mBAAmB,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQhC,MAAM,aAAa,wBAAO;AAAA,IAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAOG,MAAM,oBAAoB,wBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASjC,MAAM,uBAAmB,yBAAO,0BAAU;AAE1C,MAAM,8BAA0B,yBAAO,mBAAI;AAAA;AAAA;AAAA;AAAA,MAI5C;AAAA,eACS,CAAC,EAAE,sBAAsB,MAAO,wBAAwB,UAAU;AAAA;AAAA;AAAA,MAG3E;AAAA;AAAA;AAAA;AAAA;AAAA,MAKA;AAAA,MACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQC,MAAM,yBAAqB,yBAAO,mBAAI;AAAA;AAAA,aAEhC,4CAAgB;AAAA;AAAA,gBAEb,CAAC,UAAU,MAAM,aAAa;AAAA,YAClC,CAAC,UAAU,MAAM,UAAU;AAAA;AAGhC,MAAM,2BAAuB,yBAAO,mBAAI;AAAA;AAAA,sBAEzB,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA;AAAA,kBAEzC,CAAC,UAAU,MAAM;AAAA,0BACT,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA;AAGxD,MAAM,mBAAmB,wBAAO;AAAA,iBACtB,CAAC,UAAU,MAAM,MAAM,YAAY;AAAA;AAAA,WAEzC,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,GAAG;AAAA;AAG7C,MAAM,0BAAsB,yBAAO,mBAAI;AAAA;AAAA;AAAA;AAAA,gBAa9B,CAAC,UAAU,MAAM,aAAa;AAAA,YAClC,CAAC,UAAU,MAAM,UAAU;AAAA;AAAA;AAAA,IAGnC,CAAC,UAAW,MAAM,gBAAgB,wBAAwB;AAAA;AAAA,2BAEnC,CAAC,UAAW,MAAM,gBAAgB,oCAAoC;AAAA;AAAA,sBAE3E,CAAC,EAAE,iBAAiB,YAAY,MAAM,MACxD,aAAa,MAAM,OAAO,QAAQ,GAAG,IAAI,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA,MAK1D,CAAC,UAAW,MAAM,gBAAgB,KAAK,eAAe,KAAK;AAAA;AAAA;AAAA,IAG7D,CAAC,EAAE,+BAA+B,aAAa,MAAM,MAAM;AAC3D,MAAI,CAAC;AAA+B,WAAO;AAC3C,SAAO,eAAe,EAAE,MAAM,GAAG,cAAc,MAAM,OAAO,MAAM,GAAG,IAAI,MAAM,OAAO,OAAO,GAAG,CAAC;AACnG;AAAA;AAAA,IAEE,CAAC,EAAE,oBAAoB,OAAO,WAAW,MACzC,sBAAsB,CAAC,aACnB;AAAA,gCACwB,MAAM,OAAO,MAAM,GAAG;AAAA,eAE9C;AAAA;AAAA,4BAEoB,CAAC,UAAW,MAAM,gBAAgB,oBAAoB;AAAA;AAAA,aAErE,CAAC,UAAW,MAAM,aAAa,MAAM;AAAA;AAAA,IAE9C,CAAC,UACD,CAAC,MAAM,WACH,KACA;AAAA,wBACgB,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA,wBAC5B,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA;AAAA;AAAA,IAGhD;AAAA,aACS,CAAC,UAAW,MAAM,aAAa,MAAM,MAAM,OAAO,QAAQ,KAAK,IAAI,MAAM,MAAM,OAAO,QAAQ,KAAK;AAAA;AAAA,WAErG,CAAC,UAAW,MAAM,aAAa,MAAM,MAAM,OAAO,QAAQ,KAAK,IAAI;AAAA;AAAA;AAAA,YAGlE,CAAC,UAAW,MAAM,aAAa,MAAM,MAAM,OAAO,QAAQ,KAAK,IAAI,MAAM,MAAM,OAAO,MAAM,KAAK;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/types/FunctionalHoC.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import type React from 'react';\n\nexport type FunctionalHOC = <T = any>(Component: React.ComponentType<T>, ...other: any[]) => (props: T) => JSX.Element;\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["import type React from 'react';\n\nexport type FunctionalHOC = <T = any>(\n Component: React.ComponentType<T>,\n ...other: any[]\n) => React.ComponentType<T & JSX.IntrinsicAttributes>;\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;",
6
6
  "names": []
7
7
  }
@@ -2,11 +2,11 @@ import * as React from "react";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { describe } from "@elliemae/ds-props-helpers";
4
4
  import { TableContent } from "./parts/TableContent.js";
5
- import { DataTableContext, defaultProps } from "./DataTableContext.js";
5
+ import { DataTableContext } from "./DataTableContext.js";
6
6
  import { DATA_TESTID } from "./configs/constants.js";
7
7
  import { useDatatableConfig } from "./configs/useDatatableConfig.js";
8
8
  import { FiltersBar } from "./parts/FilterBar/FiltersBar.js";
9
- import { DataTableSchema } from "./DataTableSchema.js";
9
+ import { DSDataTablePropTypesSchema } from "./react-desc-prop-types.js";
10
10
  import { StyledDataTableWrapper } from "./styled.js";
11
11
  const DataTable = (props) => {
12
12
  const { withFilterBar } = props;
@@ -29,11 +29,9 @@ const DataTable = (props) => {
29
29
  }
30
30
  ) });
31
31
  };
32
- DataTable.propTypes = DataTableSchema;
33
- DataTable.defaultProps = { ...defaultProps };
34
32
  DataTable.displayName = "DataTable";
35
33
  const DataTableWithSchema = describe(DataTable).description("Data Table");
36
- DataTableWithSchema.propTypes = DataTableSchema;
34
+ DataTableWithSchema.propTypes = DSDataTablePropTypesSchema;
37
35
  export {
38
36
  DataTable,
39
37
  DataTableWithSchema
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DataTable.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport { TableContent } from './parts/TableContent.js';\nimport type { TypescriptProps } from './types/props.js';\nimport { DataTableContext, defaultProps } from './DataTableContext.js';\nimport { DATA_TESTID } from './configs/constants.js';\nimport { useDatatableConfig } from './configs/useDatatableConfig.js';\nimport { FiltersBar } from './parts/FilterBar/FiltersBar.js';\nimport { DataTableSchema } from './DataTableSchema.js';\nimport { StyledDataTableWrapper } from './styled.js';\n\nexport const DataTable = (props: TypescriptProps): JSX.Element => {\n const { withFilterBar } = props;\n\n const ctx = useDatatableConfig(props);\n\n const {\n tableProps: { height, width },\n } = ctx;\n\n return (\n <DataTableContext.Provider value={ctx}>\n <StyledDataTableWrapper\n data-testid={DATA_TESTID.DATA_TABLE_WRAPPER}\n height={height}\n width={width}\n cols={['100%']}\n rows={withFilterBar ? ['auto', '1fr'] : ['1fr']}\n >\n {withFilterBar ? <FiltersBar /> : null}\n <TableContent />\n </StyledDataTableWrapper>\n </DataTableContext.Provider>\n );\n};\n\nDataTable.propTypes = DataTableSchema;\nDataTable.defaultProps = { ...defaultProps };\nDataTable.displayName = 'DataTable';\nexport const DataTableWithSchema = describe(DataTable).description('Data Table');\nDataTableWithSchema.propTypes = DataTableSchema;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACsBjB,SAOmB,KAPnB;AArBN,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;AAE7B,SAAS,kBAAkB,oBAAoB;AAC/C,SAAS,mBAAmB;AAC5B,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AAChC,SAAS,8BAA8B;AAEhC,MAAM,YAAY,CAAC,UAAwC;AAChE,QAAM,EAAE,cAAc,IAAI;AAE1B,QAAM,MAAM,mBAAmB,KAAK;AAEpC,QAAM;AAAA,IACJ,YAAY,EAAE,QAAQ,MAAM;AAAA,EAC9B,IAAI;AAEJ,SACE,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,KAChC;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,YAAY;AAAA,MACzB;AAAA,MACA;AAAA,MACA,MAAM,CAAC,MAAM;AAAA,MACb,MAAM,gBAAgB,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK;AAAA,MAE7C;AAAA,wBAAgB,oBAAC,cAAW,IAAK;AAAA,QAClC,oBAAC,gBAAa;AAAA;AAAA;AAAA,EAChB,GACF;AAEJ;AAEA,UAAU,YAAY;AACtB,UAAU,eAAe,EAAE,GAAG,aAAa;AAC3C,UAAU,cAAc;AACjB,MAAM,sBAAsB,SAAS,SAAS,EAAE,YAAY,YAAY;AAC/E,oBAAoB,YAAY;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport { TableContent } from './parts/TableContent.js';\nimport type { DSDataTableT } from './react-desc-prop-types.js';\nimport { DataTableContext } from './DataTableContext.js';\nimport { DATA_TESTID } from './configs/constants.js';\nimport { useDatatableConfig } from './configs/useDatatableConfig.js';\nimport { FiltersBar } from './parts/FilterBar/FiltersBar.js';\nimport { DSDataTablePropTypesSchema } from './react-desc-prop-types.js';\nimport { StyledDataTableWrapper } from './styled.js';\n\nexport const DataTable = (props: DSDataTableT.Props): JSX.Element => {\n const { withFilterBar } = props;\n\n const ctx = useDatatableConfig(props);\n\n const {\n tableProps: { height, width },\n } = ctx;\n\n return (\n <DataTableContext.Provider value={ctx}>\n <StyledDataTableWrapper\n data-testid={DATA_TESTID.DATA_TABLE_WRAPPER}\n height={height}\n width={width}\n cols={['100%']}\n rows={withFilterBar ? ['auto', '1fr'] : ['1fr']}\n >\n {withFilterBar ? <FiltersBar /> : null}\n <TableContent />\n </StyledDataTableWrapper>\n </DataTableContext.Provider>\n );\n};\n\nDataTable.displayName = 'DataTable';\nexport const DataTableWithSchema = describe(DataTable).description('Data Table');\nDataTableWithSchema.propTypes = DSDataTablePropTypesSchema;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACsBjB,SAOmB,KAPnB;AArBN,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;AAE7B,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,0BAA0B;AACnC,SAAS,kBAAkB;AAC3B,SAAS,kCAAkC;AAC3C,SAAS,8BAA8B;AAEhC,MAAM,YAAY,CAAC,UAA2C;AACnE,QAAM,EAAE,cAAc,IAAI;AAE1B,QAAM,MAAM,mBAAmB,KAAK;AAEpC,QAAM;AAAA,IACJ,YAAY,EAAE,QAAQ,MAAM;AAAA,EAC9B,IAAI;AAEJ,SACE,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,KAChC;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,YAAY;AAAA,MACzB;AAAA,MACA;AAAA,MACA,MAAM,CAAC,MAAM;AAAA,MACb,MAAM,gBAAgB,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK;AAAA,MAE7C;AAAA,wBAAgB,oBAAC,cAAW,IAAK;AAAA,QAClC,oBAAC,gBAAa;AAAA;AAAA;AAAA,EAChB,GACF;AAEJ;AAEA,UAAU,cAAc;AACjB,MAAM,sBAAsB,SAAS,SAAS,EAAE,YAAY,YAAY;AAC/E,oBAAoB,YAAY;",
6
6
  "names": []
7
7
  }
@@ -1,46 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { createContext } from "react";
3
- import { ColsLayoutStyle } from "./configs/constants.js";
4
- const defaultProps = {
5
- height: "100%",
6
- width: "100%",
7
- renderRowActions: false,
8
- getRowVariant: () => "ds-primary-row",
9
- isExpandable: false,
10
- uniqueRowAccessor: void 0,
11
- expandedRows: {},
12
- disabledRows: {},
13
- isResizeable: false,
14
- isLoading: false,
15
- pagination: false,
16
- withFilterBar: false,
17
- filters: [],
18
- colsLayoutStyle: ColsLayoutStyle.Fixed,
19
- hiddenColumns: [],
20
- noResultsMessage: "No Results Found",
21
- dragAndDropRows: false,
22
- maxDragAndDropLevel: 1,
23
- onRowsReorder: () => null,
24
- dragAndDropColumns: false,
25
- onColumnsReorder: () => null,
26
- onColumnSizeChange: () => null,
27
- onRowClick: () => null,
28
- onRowFocus: () => null,
29
- noSelectionColumn: false,
30
- selectSingle: false,
31
- selection: void 0,
32
- onSelectionChange: () => null,
33
- // selectionHashMap -> { ...[id]: enum(true/'mixed'/false) }
34
- textWrap: "wrap",
35
- onCellValueChange: () => null,
36
- onFiltersChange: () => null,
37
- onPageChanged: () => null,
38
- onRowExpand: () => null,
39
- onColumnSort: () => null
40
- };
41
- const DataTableContext = createContext();
3
+ const DataTableContext = createContext({});
42
4
  export {
43
- DataTableContext,
44
- defaultProps
5
+ DataTableContext
45
6
  };
46
7
  //# sourceMappingURL=DataTableContext.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DataTableContext.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { createContext } from 'react';\nimport { ColsLayoutStyle } from './configs/constants.js';\nimport type { TypescriptContext, TypescriptProps } from './types/props.js';\n\nexport const defaultProps: Partial<TypescriptProps> = {\n height: '100%',\n width: '100%',\n renderRowActions: false,\n getRowVariant: () => 'ds-primary-row',\n isExpandable: false,\n uniqueRowAccessor: undefined,\n expandedRows: {},\n disabledRows: {},\n isResizeable: false,\n isLoading: false,\n pagination: false,\n withFilterBar: false,\n filters: [],\n\n colsLayoutStyle: ColsLayoutStyle.Fixed,\n hiddenColumns: [],\n noResultsMessage: 'No Results Found',\n\n dragAndDropRows: false,\n maxDragAndDropLevel: 1,\n onRowsReorder: () => null,\n\n dragAndDropColumns: false,\n onColumnsReorder: () => null,\n onColumnSizeChange: () => null,\n\n onRowClick: () => null,\n onRowFocus: () => null,\n\n noSelectionColumn: false,\n selectSingle: false,\n selection: undefined,\n onSelectionChange: () => null, // selectionHashMap -> { ...[id]: enum(true/'mixed'/false) }\n\n textWrap: 'wrap',\n\n onCellValueChange: () => null,\n\n onFiltersChange: () => null,\n\n onPageChanged: () => null,\n\n onRowExpand: () => null,\n\n onColumnSort: () => null,\n};\n\n/** Context for cross component communication */\nconst DataTableContext = createContext<TypescriptContext>();\n\nexport { DataTableContext };\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAGzB,MAAM,eAAyC;AAAA,EACpD,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB,eAAe,MAAM;AAAA,EACrB,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,cAAc,CAAC;AAAA,EACf,cAAc,CAAC;AAAA,EACf,cAAc;AAAA,EACd,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,SAAS,CAAC;AAAA,EAEV,iBAAiB,gBAAgB;AAAA,EACjC,eAAe,CAAC;AAAA,EAChB,kBAAkB;AAAA,EAElB,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,eAAe,MAAM;AAAA,EAErB,oBAAoB;AAAA,EACpB,kBAAkB,MAAM;AAAA,EACxB,oBAAoB,MAAM;AAAA,EAE1B,YAAY,MAAM;AAAA,EAClB,YAAY,MAAM;AAAA,EAElB,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,mBAAmB,MAAM;AAAA;AAAA,EAEzB,UAAU;AAAA,EAEV,mBAAmB,MAAM;AAAA,EAEzB,iBAAiB,MAAM;AAAA,EAEvB,eAAe,MAAM;AAAA,EAErB,aAAa,MAAM;AAAA,EAEnB,cAAc,MAAM;AACtB;AAGA,MAAM,mBAAmB,cAAiC;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { createContext } from 'react';\nimport type { DSDataTableT } from './react-desc-prop-types.js';\n\n/** Context for cross component communication */\nconst DataTableContext = createContext<DSDataTableT.Context>({} as DSDataTableT.Context);\n\nexport { DataTableContext };\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,qBAAqB;AAI9B,MAAM,mBAAmB,cAAoC,CAAC,CAAyB;",
6
6
  "names": []
7
7
  }
@@ -11,7 +11,9 @@ const actionColumn = (renderRowActions) => ({
11
11
  Cell: memo((props) => renderRowActions.renderer(props)),
12
12
  canResize: false,
13
13
  disableDnD: true,
14
- isFocuseable: false
14
+ isFocuseable: false,
15
+ parentId: null,
16
+ depth: 0
15
17
  });
16
18
  export {
17
19
  actionColumn
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Columns/ColumnAction/ColumnAction.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { memo } from 'react';\nimport type { TypescriptColumn, TypescriptRenderRowActionsConfig } from '../../../types/props.js';\ntype ConfigurableColumn = (renderRowActions: TypescriptRenderRowActionsConfig) => TypescriptColumn;\n\nexport const actionColumn: ConfigurableColumn = (renderRowActions) => ({\n Header: ' ',\n id: 'rowActions',\n width: renderRowActions.columnWidth,\n style: {\n overflow: 'visible',\n },\n // memo typing is broken?\n Cell: memo((props) => renderRowActions.renderer(props)),\n canResize: false,\n disableDnD: true,\n isFocuseable: false,\n});\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,YAAY;AAId,MAAM,eAAmC,CAAC,sBAAsB;AAAA,EACrE,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,OAAO,iBAAiB;AAAA,EACxB,OAAO;AAAA,IACL,UAAU;AAAA,EACZ;AAAA;AAAA,EAEA,MAAM,KAAK,CAAC,UAAU,iBAAiB,SAAS,KAAK,CAAC;AAAA,EACtD,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,cAAc;AAChB;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { memo } from 'react';\nimport type { DSDataTableT } from '../../../react-desc-prop-types.js';\ntype ConfigurableColumn = (renderRowActions: DSDataTableT.RenderRowActionsConfig) => DSDataTableT.InternalColumn;\n\nexport const actionColumn: ConfigurableColumn = (renderRowActions) => ({\n Header: ' ',\n id: 'rowActions',\n width: renderRowActions.columnWidth,\n style: {\n overflow: 'visible',\n },\n // memo typing is broken?\n Cell: memo((props) => renderRowActions.renderer(props)),\n canResize: false,\n disableDnD: true,\n isFocuseable: false,\n parentId: null,\n depth: 0,\n});\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,YAAY;AAId,MAAM,eAAmC,CAAC,sBAAsB;AAAA,EACrE,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,OAAO,iBAAiB;AAAA,EACxB,OAAO;AAAA,IACL,UAAU;AAAA,EACZ;AAAA;AAAA,EAEA,MAAM,KAAK,CAAC,UAAU,iBAAiB,SAAS,KAAK,CAAC;AAAA,EACtD,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,UAAU;AAAA,EACV,OAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -34,7 +34,9 @@ const dragHandleColumn = {
34
34
  padding: 4,
35
35
  canResize: false,
36
36
  disableDnD: true,
37
- isFocuseable: false
37
+ isFocuseable: false,
38
+ parentId: null,
39
+ depth: 0
38
40
  };
39
41
  export {
40
42
  dragHandleColumn
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Columns/ColumnDragHandle/ColumnDragHandle.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { DragHandle } from '../../../parts/DnDHandle.js';\nimport { StyledFocusWithin } from '../../../styled.js';\nimport type { TypescriptColumn } from '../../../types/props.js';\n\nexport const dragHandleColumn: TypescriptColumn<HTMLDivElement> = {\n // Build our singleSelecter column\n id: 'dragHandleColumn', // Make sure it has an ID\n // The header doesn't need anything for single selection\n Header: () => <div />,\n Cell: ({ row, isRowSelected, cell, isDragOverlay, draggableProps, isDisabledRow }) => (\n <StyledFocusWithin\n style={{ width: '100%', height: '100%' }}\n hideFocus={draggableProps && draggableProps.isDragging}\n >\n <DragHandle\n id={row.uid}\n key={row.uid}\n isReachable={isRowSelected}\n innerRef={(_ref) => {\n if (!isDragOverlay) cell.ref.current = _ref;\n }}\n isDragOverlay={isDragOverlay}\n isDisabled={isDisabledRow}\n />\n </StyledFocusWithin>\n ),\n textWrap: 'wrap-all',\n width: 24,\n padding: 4,\n canResize: false,\n disableDnD: true,\n isFocuseable: false,\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACUP;AARhB,SAAS,kBAAkB;AAC3B,SAAS,yBAAyB;AAG3B,MAAM,mBAAqD;AAAA;AAAA,EAEhE,IAAI;AAAA;AAAA;AAAA,EAEJ,QAAQ,MAAM,oBAAC,SAAI;AAAA,EACnB,MAAM,CAAC,EAAE,KAAK,eAAe,MAAM,eAAe,gBAAgB,cAAc,MAC9E;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO;AAAA,MACvC,WAAW,kBAAkB,eAAe;AAAA,MAE5C;AAAA,QAAC;AAAA;AAAA,UACC,IAAI,IAAI;AAAA,UAER,aAAa;AAAA,UACb,UAAU,CAAC,SAAS;AAClB,gBAAI,CAAC;AAAe,mBAAK,IAAI,UAAU;AAAA,UACzC;AAAA,UACA;AAAA,UACA,YAAY;AAAA;AAAA,QANP,IAAI;AAAA,MAOX;AAAA;AAAA,EACF;AAAA,EAEF,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,cAAc;AAChB;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { DragHandle } from '../../../parts/DnDHandle.js';\nimport { StyledFocusWithin } from '../../../styled.js';\nimport type { DSDataTableT } from '../../../react-desc-prop-types.js';\n\nexport const dragHandleColumn: DSDataTableT.InternalColumn<HTMLDivElement> = {\n // Build our singleSelecter column\n id: 'dragHandleColumn', // Make sure it has an ID\n // The header doesn't need anything for single selection\n Header: () => <div />,\n Cell: ({ row, isRowSelected, cell, isDragOverlay, draggableProps, isDisabledRow }) => (\n <StyledFocusWithin\n style={{ width: '100%', height: '100%' }}\n hideFocus={draggableProps && draggableProps.isDragging}\n >\n <DragHandle\n id={row.uid}\n key={row.uid}\n isReachable={isRowSelected}\n innerRef={(_ref) => {\n if (!isDragOverlay) cell.ref.current = _ref;\n }}\n isDragOverlay={isDragOverlay}\n isDisabled={isDisabledRow}\n />\n </StyledFocusWithin>\n ),\n textWrap: 'wrap-all',\n width: 24,\n padding: 4,\n canResize: false,\n disableDnD: true,\n isFocuseable: false,\n parentId: null,\n depth: 0,\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACUP;AARhB,SAAS,kBAAkB;AAC3B,SAAS,yBAAyB;AAG3B,MAAM,mBAAgE;AAAA;AAAA,EAE3E,IAAI;AAAA;AAAA;AAAA,EAEJ,QAAQ,MAAM,oBAAC,SAAI;AAAA,EACnB,MAAM,CAAC,EAAE,KAAK,eAAe,MAAM,eAAe,gBAAgB,cAAc,MAC9E;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO;AAAA,MACvC,WAAW,kBAAkB,eAAe;AAAA,MAE5C;AAAA,QAAC;AAAA;AAAA,UACC,IAAI,IAAI;AAAA,UAER,aAAa;AAAA,UACb,UAAU,CAAC,SAAS;AAClB,gBAAI,CAAC;AAAe,mBAAK,IAAI,UAAU;AAAA,UACzC;AAAA,UACA;AAAA,UACA,YAAY;AAAA;AAAA,QANP,IAAI;AAAA,MAOX;AAAA;AAAA,EACF;AAAA,EAEF,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,UAAU;AAAA,EACV,OAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -161,7 +161,6 @@ const expandRowColumn = {
161
161
  tabIndex: isRowSelected && !disabledRows[row.uid] ? 0 : -1,
162
162
  "data-testid": "data-table-row-expand-cell",
163
163
  "aria-expanded": isExpanded,
164
- isRightArrow: !isExpanded || isDragging || isDragOverlay,
165
164
  disabled: disabledRows[row.uid],
166
165
  "aria-disabled": disabledRows[row.uid],
167
166
  children: PureCaretIcon
@@ -185,7 +184,9 @@ const expandRowColumn = {
185
184
  width: 25,
186
185
  padding: 0,
187
186
  isFocuseable: false,
188
- disableDnD: true
187
+ disableDnD: true,
188
+ parentId: null,
189
+ depth: 0
189
190
  };
190
191
  export {
191
192
  expandRowColumn
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Columns/ColumnExpand/ColumnExpand.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useMemo, useCallback } from 'react';\nimport { ArrowheadDown, ArrowheadRight, ArrowShortReturn } from '@elliemae/ds-icons';\nimport { styled, css } from '@elliemae/ds-system';\nimport type { TypescriptColumn } from '../../../types/props.js';\nimport { StyledFocusWithin } from '../../../styled.js';\nimport { DATA_TESTID } from '../../../configs/constants.js';\n\nconst disabledCaret = css`\n cursor: not-allowed;\n pointer-events: none;\n`;\nconst StyledSpan = styled.span<{ disabled: boolean }>`\n cursor: pointer;\n box-sizing: border-box;\n outline: none;\n display: flex;\n justify-content: center;\n align-items: center;\n ${({ disabled }) => disabled && disabledCaret}\n`;\n\nconst ArrowDown = ({ color = ['brand-primary', '600'], ...rest }) => (\n <ArrowheadDown size=\"s\" color={color} data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_DOWN} {...rest} />\n);\n\nconst ArrowMixed = () => (\n <ArrowheadRight\n size=\"s\"\n color={['brand-primary', '600']}\n data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_MIXED}\n style={{ transform: 'rotate(45deg)' }}\n />\n);\n\nconst ArrowRight = ({ color = ['brand-primary', '600'], ...rest }) => (\n <ArrowheadRight size=\"s\" color={color} data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_RIGHT} {...rest} />\n);\n\nexport const expandRowColumn: TypescriptColumn<HTMLSpanElement> = {\n // Build our expander column\n id: 'expander', // Make sure it has an ID\n accessor: 'expandRowColumn',\n Header: ({ ctx }) => {\n const {\n tableProps: { expandedRows, onRowExpand, disabledRows },\n allDataFlattened,\n } = ctx;\n\n const allExpandable = useMemo(() => {\n const expandable: Record<string, boolean> = {};\n allDataFlattened.forEach((row) => {\n const isExpandableRow = row.original.subRows || row.original.tableRowDetails || row.original.dimsumHeaderValue;\n if (!disabledRows[row.uid] && isExpandableRow) expandable[row.uid] = true;\n });\n return expandable;\n }, [allDataFlattened, disabledRows]);\n\n const isAllRowsExpanded = useMemo(\n () => Object.keys(allExpandable).length === Object.keys(expandedRows).length,\n [allExpandable, expandedRows],\n );\n\n const onExpandedAllHandler = useCallback(() => {\n if (isAllRowsExpanded) onRowExpand({}, 'All');\n else onRowExpand({ ...allExpandable }, 'All');\n }, [allExpandable, isAllRowsExpanded, onRowExpand]);\n\n const onKeyDownHandler = useCallback(\n (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) {\n onExpandedAllHandler();\n e.preventDefault();\n }\n },\n [onExpandedAllHandler],\n );\n\n const GlobalExpandIcon = useMemo(() => {\n if (isAllRowsExpanded) return <ArrowDown />;\n if (Object.keys(expandedRows).length) return <ArrowMixed />;\n return <ArrowRight />;\n }, [expandedRows, isAllRowsExpanded]);\n\n return (\n <StyledFocusWithin>\n <StyledSpan\n role=\"button\"\n tabIndex={0}\n title=\"Toggle All Rows Expanded\"\n onClick={onExpandedAllHandler}\n onKeyDown={onKeyDownHandler}\n data-testid={DATA_TESTID.DATA_TABLE_GLOBAL_EXPAND_CELL}\n aria-expanded={isAllRowsExpanded}\n style={{ width: '24px', height: '24px' }}\n >\n {GlobalExpandIcon}\n </StyledSpan>\n </StyledFocusWithin>\n );\n },\n Cell: ({ cell, row, isRowSelected, ctx, draggableProps }) => {\n const {\n tableProps: { dragAndDropRows, expandedRows, onRowExpand, disabledRows },\n } = ctx;\n\n const uniqueId = row.uid;\n\n const isExpanded = !!expandedRows[uniqueId];\n\n const shouldPrintCaret = useMemo(\n () =>\n (row.original.subRows?.length && row.depth === 0) || // only allows 1 level of expands\n row.original.tableRowDetails ||\n row.original.dimsumHeaderValue,\n [row.depth, row.original.dimsumHeaderValue, row.original.subRows?.length, row.original.tableRowDetails],\n );\n\n const onRowExpandHandler = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n if (disabledRows[row.uid]) return;\n e.stopPropagation(); // to prevent on row click\n if (expandedRows[uniqueId]) {\n delete expandedRows[uniqueId];\n } else {\n expandedRows[uniqueId] = true;\n }\n onRowExpand({ ...expandedRows }, uniqueId);\n },\n [disabledRows, row.uid, expandedRows, uniqueId, onRowExpand],\n );\n\n const onKeyDownHandler = useCallback(\n (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) {\n e.preventDefault();\n onRowExpandHandler(e);\n }\n },\n [onRowExpandHandler],\n );\n\n const isDragging = draggableProps && draggableProps.isDragging;\n const isDragOverlay = dragAndDropRows && !draggableProps;\n\n const indentStyle: React.CSSProperties = useMemo(\n () => ({\n marginLeft: `${row.depth * 32}px`,\n marginRight: '12px',\n paddingLeft: '3px',\n paddingRight: '2px',\n position: 'relative',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n }),\n [row.depth],\n );\n\n const PureCaretIcon = useMemo(() => {\n const Caret = isExpanded && !isDragging && !isDragOverlay ? ArrowDown : ArrowRight;\n return (\n <Caret\n data-is-col-expanded={isExpanded}\n data-role=\"row-expander-col\"\n color={disabledRows[row.uid] ? ['neutral', '400'] : ['brand-primary', '600']}\n />\n );\n }, [isExpanded, isDragging, isDragOverlay, disabledRows, row.uid]);\n\n if (shouldPrintCaret)\n return (\n <StyledFocusWithin style={indentStyle}>\n <StyledSpan\n role=\"button\"\n key={`${row.uid}-expand-button`}\n title=\"Toggle Row Expanded\"\n onClick={onRowExpandHandler}\n onKeyDown={onKeyDownHandler}\n ref={cell.ref}\n tabIndex={isRowSelected && !disabledRows[row.uid] ? 0 : -1}\n data-testid=\"data-table-row-expand-cell\"\n aria-expanded={isExpanded}\n isRightArrow={!isExpanded || isDragging || isDragOverlay}\n disabled={disabledRows[row.uid]}\n aria-disabled={disabledRows[row.uid]}\n >\n {PureCaretIcon}\n </StyledSpan>\n </StyledFocusWithin>\n );\n\n if (row.depth !== 0)\n return (\n <span style={indentStyle}>\n <ArrowShortReturn\n size=\"s\"\n data-testid={DATA_TESTID.DATA_TABLE_ICON_CHILD}\n style={{ transform: 'rotate(90deg) scaleY(-1)' }}\n color={['brand-primary', '600']}\n />\n </span>\n );\n\n return <div style={{ width: '36px' }} />;\n },\n textWrap: 'wrap',\n canResize: false,\n width: 25,\n padding: 0,\n isFocuseable: false,\n disableDnD: true,\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useMemo, useCallback } from 'react';\nimport { ArrowheadDown, ArrowheadRight, ArrowShortReturn, type SvgIconT } from '@elliemae/ds-icons';\nimport { styled, css } from '@elliemae/ds-system';\nimport type { DSDataTableT } from '../../../react-desc-prop-types.js';\nimport { StyledFocusWithin } from '../../../styled.js';\nimport { DATA_TESTID } from '../../../configs/constants.js';\n\nconst disabledCaret = css`\n cursor: not-allowed;\n pointer-events: none;\n`;\nconst StyledSpan = styled.span<{ disabled?: boolean }>`\n cursor: pointer;\n box-sizing: border-box;\n outline: none;\n display: flex;\n justify-content: center;\n align-items: center;\n ${({ disabled }) => disabled && disabledCaret}\n`;\n\nconst ArrowDown: React.ComponentType<SvgIconT.Props> = ({ color = ['brand-primary', '600'], ...rest }) => (\n <ArrowheadDown size=\"s\" color={color} data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_DOWN} {...rest} />\n);\n\nconst ArrowMixed = () => (\n <ArrowheadRight\n size=\"s\"\n color={['brand-primary', '600']}\n data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_MIXED}\n style={{ transform: 'rotate(45deg)' }}\n />\n);\n\nconst ArrowRight: React.ComponentType<SvgIconT.Props> = ({ color = ['brand-primary', '600'], ...rest }) => (\n <ArrowheadRight size=\"s\" color={color} data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_RIGHT} {...rest} />\n);\n\nexport const expandRowColumn: DSDataTableT.InternalColumn<HTMLSpanElement> = {\n // Build our expander column\n id: 'expander', // Make sure it has an ID\n accessor: 'expandRowColumn',\n Header: ({ ctx }) => {\n const {\n tableProps: { expandedRows, onRowExpand, disabledRows },\n allDataFlattened,\n } = ctx;\n\n const allExpandable = useMemo(() => {\n const expandable: Record<string, boolean> = {};\n allDataFlattened.forEach((row) => {\n const isExpandableRow = row.original.subRows || row.original.tableRowDetails || row.original.dimsumHeaderValue;\n if (!disabledRows[row.uid] && isExpandableRow) expandable[row.uid] = true;\n });\n return expandable;\n }, [allDataFlattened, disabledRows]);\n\n const isAllRowsExpanded = useMemo(\n () => Object.keys(allExpandable).length === Object.keys(expandedRows).length,\n [allExpandable, expandedRows],\n );\n\n const onExpandedAllHandler = useCallback(() => {\n if (isAllRowsExpanded) onRowExpand({}, 'All');\n else onRowExpand({ ...allExpandable }, 'All');\n }, [allExpandable, isAllRowsExpanded, onRowExpand]);\n\n const onKeyDownHandler = useCallback(\n (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) {\n onExpandedAllHandler();\n e.preventDefault();\n }\n },\n [onExpandedAllHandler],\n );\n\n const GlobalExpandIcon = useMemo(() => {\n if (isAllRowsExpanded) return <ArrowDown />;\n if (Object.keys(expandedRows).length) return <ArrowMixed />;\n return <ArrowRight />;\n }, [expandedRows, isAllRowsExpanded]);\n\n return (\n <StyledFocusWithin>\n <StyledSpan\n role=\"button\"\n tabIndex={0}\n title=\"Toggle All Rows Expanded\"\n onClick={onExpandedAllHandler}\n onKeyDown={onKeyDownHandler}\n data-testid={DATA_TESTID.DATA_TABLE_GLOBAL_EXPAND_CELL}\n aria-expanded={isAllRowsExpanded}\n style={{ width: '24px', height: '24px' }}\n >\n {GlobalExpandIcon}\n </StyledSpan>\n </StyledFocusWithin>\n );\n },\n Cell: ({ cell, row, isRowSelected, ctx, draggableProps }) => {\n const {\n tableProps: { dragAndDropRows, expandedRows, onRowExpand, disabledRows },\n } = ctx;\n\n const uniqueId = row.uid;\n\n const isExpanded = !!expandedRows[uniqueId];\n\n const shouldPrintCaret = useMemo(\n () =>\n (row.original.subRows?.length && row.depth === 0) || // only allows 1 level of expands\n row.original.tableRowDetails ||\n row.original.dimsumHeaderValue,\n [row.depth, row.original.dimsumHeaderValue, row.original.subRows?.length, row.original.tableRowDetails],\n );\n\n const onRowExpandHandler = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n if (disabledRows[row.uid]) return;\n e.stopPropagation(); // to prevent on row click\n if (expandedRows[uniqueId]) {\n delete expandedRows[uniqueId];\n } else {\n expandedRows[uniqueId] = true;\n }\n onRowExpand({ ...expandedRows }, uniqueId);\n },\n [disabledRows, row.uid, expandedRows, uniqueId, onRowExpand],\n );\n\n const onKeyDownHandler = useCallback(\n (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) {\n e.preventDefault();\n onRowExpandHandler(e);\n }\n },\n [onRowExpandHandler],\n );\n\n const isDragging = draggableProps && draggableProps.isDragging;\n const isDragOverlay = dragAndDropRows && !draggableProps;\n\n const indentStyle: React.CSSProperties = useMemo(\n () => ({\n marginLeft: `${row.depth * 32}px`,\n marginRight: '12px',\n paddingLeft: '3px',\n paddingRight: '2px',\n position: 'relative',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n }),\n [row.depth],\n );\n\n const PureCaretIcon = useMemo(() => {\n const Caret = isExpanded && !isDragging && !isDragOverlay ? ArrowDown : ArrowRight;\n return (\n <Caret\n data-is-col-expanded={isExpanded}\n data-role=\"row-expander-col\"\n color={disabledRows[row.uid] ? ['neutral', '400'] : ['brand-primary', '600']}\n />\n );\n }, [isExpanded, isDragging, isDragOverlay, disabledRows, row.uid]);\n\n if (shouldPrintCaret)\n return (\n <StyledFocusWithin style={indentStyle}>\n <StyledSpan\n role=\"button\"\n key={`${row.uid}-expand-button`}\n title=\"Toggle Row Expanded\"\n onClick={onRowExpandHandler}\n onKeyDown={onKeyDownHandler}\n ref={cell.ref}\n tabIndex={isRowSelected && !disabledRows[row.uid] ? 0 : -1}\n data-testid=\"data-table-row-expand-cell\"\n aria-expanded={isExpanded}\n disabled={disabledRows[row.uid]}\n aria-disabled={disabledRows[row.uid]}\n >\n {PureCaretIcon}\n </StyledSpan>\n </StyledFocusWithin>\n );\n\n if (row.depth !== 0)\n return (\n <span style={indentStyle}>\n <ArrowShortReturn\n size=\"s\"\n data-testid={DATA_TESTID.DATA_TABLE_ICON_CHILD}\n style={{ transform: 'rotate(90deg) scaleY(-1)' }}\n color={['brand-primary', '600']}\n />\n </span>\n );\n\n return <div style={{ width: '36px' }} />;\n },\n textWrap: 'wrap',\n canResize: false,\n width: 25,\n padding: 0,\n isFocuseable: false,\n disableDnD: true,\n parentId: null,\n depth: 0,\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { useMemo, useRef, useCallback } from "react";
4
- import { DSControlledCheckbox } from "@elliemae/ds-controlled-form";
4
+ import { DSControlledCheckbox } from "@elliemae/ds-form-checkbox";
5
5
  import { DATA_TESTID } from "../../../configs/constants.js";
6
6
  const multiSelectColumn = {
7
7
  // Build our multiSelecter column
@@ -14,7 +14,7 @@ const multiSelectColumn = {
14
14
  flattenedData
15
15
  } = ctx;
16
16
  const dtSelection = selection ?? {};
17
- const selectionKeyCount = Object.keys(dtSelection).filter((selection2) => dtSelection[selection2]).length;
17
+ const selectionKeyCount = Object.keys(dtSelection).filter((sel) => dtSelection[sel]).length;
18
18
  const currentGlobalState = useMemo(
19
19
  () => selectionKeyCount > 0 && selectionKeyCount < flattenedData.filter((datum) => !disabledRows[datum.id]).length ? "mixed" : selectionKeyCount > 0,
20
20
  [selectionKeyCount, flattenedData, disabledRows]
@@ -120,7 +120,9 @@ const multiSelectColumn = {
120
120
  padding: 7,
121
121
  canResize: false,
122
122
  isFocuseable: false,
123
- disableDnD: true
123
+ disableDnD: true,
124
+ parentId: null,
125
+ depth: 0
124
126
  };
125
127
  export {
126
128
  multiSelectColumn
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useMemo, useRef, useCallback } from 'react';\nimport { DSControlledCheckbox } from '@elliemae/ds-controlled-form';\nimport type { TypescriptColumn, TypescriptSelection } from '../../../types/props.js';\nimport { DATA_TESTID } from '../../../configs/constants.js';\n\nexport const multiSelectColumn: TypescriptColumn<HTMLInputElement> = {\n // Build our multiSelecter column\n id: 'multiSelecter', // Make sure it has an ID\n Header: ({ ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n allDataFlattened,\n flattenedData,\n } = ctx;\n\n // We for sure have selection, so we just typecast it for TS reasons\n const dtSelection = selection ?? {};\n const selectionKeyCount = Object.keys(dtSelection).filter((selection) => dtSelection[selection]).length;\n\n const currentGlobalState = useMemo(\n () =>\n selectionKeyCount > 0 && selectionKeyCount < flattenedData.filter((datum) => !disabledRows[datum.id]).length\n ? 'mixed'\n : selectionKeyCount > 0,\n [selectionKeyCount, flattenedData, disabledRows],\n );\n\n // global state toggling: false to true, mixed to true, true to false\n const newGlobalStateAfterToggle = useMemo(() => currentGlobalState !== true, [currentGlobalState]);\n\n const newSelection: TypescriptSelection = useMemo(() => {\n if (!newGlobalStateAfterToggle) return {};\n\n return allDataFlattened.reduce<TypescriptSelection>((newSelectionObject, datum) => {\n newSelectionObject[datum.uid] = !disabledRows[datum.uid];\n return newSelectionObject;\n }, {});\n }, [newGlobalStateAfterToggle, allDataFlattened, disabledRows]);\n\n const onChangeHandler = useCallback(\n (newState: boolean, e: React.ChangeEvent) => {\n onSelectionChange(newSelection, 'All', e);\n },\n [newSelection, onSelectionChange],\n );\n\n const ariaControls = useMemo(\n () => allDataFlattened.map((datum) => `data-table-checkbox-${datum.uid}`).join(' '),\n [allDataFlattened],\n );\n\n return (\n <DSControlledCheckbox\n aria-controls={ariaControls}\n data-testid={DATA_TESTID.DATA_TABLE_GLOBAL_CHECKBOX}\n aria-label=\"Toggle all rows selected\"\n checked={currentGlobalState}\n onChange={onChangeHandler}\n />\n );\n },\n Cell: ({ cell, row, isRowSelected, ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n isShiftPressed,\n setIsShiftPressed,\n flattenedData,\n lastSelected,\n } = ctx;\n\n const { uid } = row;\n const selectedState = selection?.[uid] ?? false;\n\n const isShiftPressedKeyRef = useRef(false);\n const onChangeHandler = useCallback(\n (newState: boolean, e: React.ChangeEvent) => {\n const newSelection = { ...selection, [uid]: newState }; // we only want true and mixed values\n if (!newState) delete newSelection[uid]; // if newState is false, remove from the new selection\n const now = Number.parseInt(uid, 10);\n if ((isShiftPressed || isShiftPressedKeyRef.current) && lastSelected.current > -1) {\n for (let i = Math.min(lastSelected.current, now); i <= Math.max(lastSelected.current, now); i += 1) {\n const correctDataIndex = flattenedData[i].id;\n if (!Object.keys(disabledRows).includes(correctDataIndex))\n newSelection[correctDataIndex] = newSelection[lastSelected.current];\n if (!newSelection[correctDataIndex]) delete newSelection[correctDataIndex];\n }\n }\n lastSelected.current = now;\n onSelectionChange(newSelection, uid, e);\n },\n [disabledRows, flattenedData, isShiftPressed, lastSelected, onSelectionChange, selection, uid],\n );\n\n const onKeyDownHandler: React.KeyboardEventHandler = useCallback(\n (e) => {\n setIsShiftPressed(e.code === 'Shift' || e.shiftKey);\n e.stopPropagation();\n },\n [setIsShiftPressed],\n );\n\n const onKeyUpHandler: React.KeyboardEventHandler = useCallback(\n (e) => {\n setIsShiftPressed(false);\n isShiftPressedKeyRef.current = false;\n e.stopPropagation();\n },\n [setIsShiftPressed],\n );\n\n const stopThePropagation = useCallback((e: React.MouseEvent | React.KeyboardEvent) => {\n if (e.shiftKey) {\n isShiftPressedKeyRef.current = true;\n }\n e.stopPropagation();\n }, []);\n\n return (\n <div role=\"presentation\" onClick={stopThePropagation} onKeyDown={onKeyDownHandler} onKeyUp={onKeyUpHandler}>\n <DSControlledCheckbox\n id={`data-table-checkbox-${uid}`}\n data-testid={DATA_TESTID.DATA_TABLE_CHECKBOX}\n aria-label=\"Toggle row selected\"\n checked={selectedState}\n onChange={onChangeHandler}\n disabled={disabledRows[row.uid]}\n innerRef={cell.ref}\n tabIndex={isRowSelected ? 0 : -1}\n />\n </div>\n );\n },\n textWrap: 'wrap',\n width: 32,\n padding: 7,\n canResize: false,\n isFocuseable: false,\n disableDnD: true,\n};\n"],
5
- "mappings": "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",
6
- "names": ["selection"]
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useMemo, useRef, useCallback } from 'react';\nimport { DSControlledCheckbox } from '@elliemae/ds-form-checkbox';\nimport type { DSDataTableT } from '../../../react-desc-prop-types.js';\nimport { DATA_TESTID } from '../../../configs/constants.js';\n\nexport const multiSelectColumn: DSDataTableT.InternalColumn<HTMLInputElement> = {\n // Build our multiSelecter column\n id: 'multiSelecter', // Make sure it has an ID\n Header: ({ ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n allDataFlattened,\n flattenedData,\n } = ctx;\n\n // We for sure have selection, so we just typecast it for TS reasons\n const dtSelection = selection ?? {};\n const selectionKeyCount = Object.keys(dtSelection).filter((sel) => dtSelection[sel]).length;\n\n const currentGlobalState = useMemo(\n () =>\n selectionKeyCount > 0 && selectionKeyCount < flattenedData.filter((datum) => !disabledRows[datum.id]).length\n ? 'mixed'\n : selectionKeyCount > 0,\n [selectionKeyCount, flattenedData, disabledRows],\n );\n\n // global state toggling: false to true, mixed to true, true to false\n const newGlobalStateAfterToggle = useMemo(() => currentGlobalState !== true, [currentGlobalState]);\n\n const newSelection: DSDataTableT.Selection = useMemo(() => {\n if (!newGlobalStateAfterToggle) return {};\n\n return allDataFlattened.reduce<DSDataTableT.Selection>((newSelectionObject, datum) => {\n newSelectionObject[datum.uid] = !disabledRows[datum.uid];\n return newSelectionObject;\n }, {});\n }, [newGlobalStateAfterToggle, allDataFlattened, disabledRows]);\n\n const onChangeHandler = useCallback(\n (newState: boolean, e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent) => {\n onSelectionChange(newSelection, 'All', e);\n },\n [newSelection, onSelectionChange],\n );\n\n const ariaControls = useMemo(\n () => allDataFlattened.map((datum) => `data-table-checkbox-${datum.uid}`).join(' '),\n [allDataFlattened],\n );\n\n return (\n <DSControlledCheckbox\n aria-controls={ariaControls}\n data-testid={DATA_TESTID.DATA_TABLE_GLOBAL_CHECKBOX}\n aria-label=\"Toggle all rows selected\"\n checked={currentGlobalState}\n onChange={onChangeHandler}\n />\n );\n },\n Cell: ({ cell, row, isRowSelected, ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n isShiftPressed,\n setIsShiftPressed,\n flattenedData,\n lastSelected,\n } = ctx;\n\n const { uid } = row;\n const selectedState = selection?.[uid] ?? false;\n\n const isShiftPressedKeyRef = useRef(false);\n const onChangeHandler = useCallback(\n (newState: boolean, e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent) => {\n const newSelection = { ...selection, [uid]: newState }; // we only want true and mixed values\n if (!newState) delete newSelection[uid]; // if newState is false, remove from the new selection\n const now = Number.parseInt(uid, 10);\n if ((isShiftPressed || isShiftPressedKeyRef.current) && lastSelected.current > -1) {\n for (let i = Math.min(lastSelected.current, now); i <= Math.max(lastSelected.current, now); i += 1) {\n const correctDataIndex = flattenedData[i].id;\n if (!Object.keys(disabledRows).includes(correctDataIndex))\n newSelection[correctDataIndex] = newSelection[lastSelected.current];\n if (!newSelection[correctDataIndex]) delete newSelection[correctDataIndex];\n }\n }\n lastSelected.current = now;\n onSelectionChange(newSelection, uid, e);\n },\n [disabledRows, flattenedData, isShiftPressed, lastSelected, onSelectionChange, selection, uid],\n );\n\n const onKeyDownHandler: React.KeyboardEventHandler = useCallback(\n (e) => {\n setIsShiftPressed(e.code === 'Shift' || e.shiftKey);\n e.stopPropagation();\n },\n [setIsShiftPressed],\n );\n\n const onKeyUpHandler: React.KeyboardEventHandler = useCallback(\n (e) => {\n setIsShiftPressed(false);\n isShiftPressedKeyRef.current = false;\n e.stopPropagation();\n },\n [setIsShiftPressed],\n );\n\n const stopThePropagation = useCallback((e: React.MouseEvent | React.KeyboardEvent) => {\n if (e.shiftKey) {\n isShiftPressedKeyRef.current = true;\n }\n e.stopPropagation();\n }, []);\n\n return (\n <div role=\"presentation\" onClick={stopThePropagation} onKeyDown={onKeyDownHandler} onKeyUp={onKeyUpHandler}>\n <DSControlledCheckbox\n id={`data-table-checkbox-${uid}`}\n data-testid={DATA_TESTID.DATA_TABLE_CHECKBOX}\n aria-label=\"Toggle row selected\"\n checked={selectedState}\n onChange={onChangeHandler}\n disabled={disabledRows[row.uid]}\n innerRef={cell.ref}\n tabIndex={isRowSelected ? 0 : -1}\n />\n </div>\n );\n },\n textWrap: 'wrap',\n width: 32,\n padding: 7,\n canResize: false,\n isFocuseable: false,\n disableDnD: true,\n parentId: null,\n depth: 0,\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { useCallback } from "react";
4
- import { DSControlledRadio } from "@elliemae/ds-controlled-form";
4
+ import { DSControlledRadio } from "@elliemae/ds-form-radio";
5
5
  import { styled } from "@elliemae/ds-system";
6
6
  import { DATA_TESTID } from "../../../configs/constants.js";
7
7
  const CenteredContent = styled.div`
@@ -52,7 +52,9 @@ const singleSelectColumn = {
52
52
  padding: 4,
53
53
  canResize: false,
54
54
  isFocuseable: false,
55
- disableDnD: true
55
+ disableDnD: true,
56
+ parentId: null,
57
+ depth: 0
56
58
  };
57
59
  export {
58
60
  singleSelectColumn
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { DSControlledRadio } from '@elliemae/ds-controlled-form';\nimport { styled } from '@elliemae/ds-system';\nimport type { TypescriptColumn } from '../../../types/props.js';\nimport { DATA_TESTID } from '../../../configs/constants.js';\n\nconst CenteredContent = styled.div`\n display: flex;\n height: 100%;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n\nconst stopThePropagation = (e: React.MouseEvent | React.KeyboardEvent) => e.stopPropagation();\n\nexport const singleSelectColumn: TypescriptColumn<HTMLInputElement> = {\n // Build our singleSelecter column\n id: 'singleSelecter', // Make sure it has an ID\n // The header doesn't need anything for single selection\n Header: () => <div />,\n Cell: ({ cell, row, isRowSelected, ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n } = ctx;\n const { uid } = row;\n const selectedState = !!selection?.[uid];\n\n const onChangeHandler = useCallback(\n (newValue: string, e: React.ChangeEvent) => {\n // in single select we only allow one item to be selected\n onSelectionChange({ [uid]: !selectedState }, uid, e);\n },\n [onSelectionChange, selectedState, uid],\n );\n\n return (\n <CenteredContent onClick={stopThePropagation} onKeyDown={stopThePropagation}>\n <DSControlledRadio\n aria-checked={selectedState}\n aria-disabled={disabledRows[row.uid]}\n title=\"Toggle row selected\"\n aria-label=\"Toggle row selected\"\n checked={selectedState}\n onChange={onChangeHandler}\n data-testid={DATA_TESTID.DATA_TABLE_RADIO}\n disabled={disabledRows[row.uid]}\n innerRef={cell.ref}\n value={uid}\n tabIndex={isRowSelected ? 0 : -1}\n />\n </CenteredContent>\n );\n },\n textWrap: 'wrap',\n width: 32,\n padding: 4,\n canResize: false,\n isFocuseable: false,\n disableDnD: true,\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACoBP;AApBhB,SAAgB,mBAAmB;AACnC,SAAS,yBAAyB;AAClC,SAAS,cAAc;AAEvB,SAAS,mBAAmB;AAE5B,MAAM,kBAAkB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ/B,MAAM,qBAAqB,CAAC,MAA8C,EAAE,gBAAgB;AAErF,MAAM,qBAAyD;AAAA;AAAA,EAEpE,IAAI;AAAA;AAAA;AAAA,EAEJ,QAAQ,MAAM,oBAAC,SAAI;AAAA,EACnB,MAAM,CAAC,EAAE,MAAM,KAAK,eAAe,IAAI,MAAM;AAC3C,UAAM;AAAA,MACJ,YAAY,EAAE,mBAAmB,WAAW,aAAa;AAAA,IAC3D,IAAI;AACJ,UAAM,EAAE,IAAI,IAAI;AAChB,UAAM,gBAAgB,CAAC,CAAC,YAAY,GAAG;AAEvC,UAAM,kBAAkB;AAAA,MACtB,CAAC,UAAkB,MAAyB;AAE1C,0BAAkB,EAAE,CAAC,GAAG,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC;AAAA,MACrD;AAAA,MACA,CAAC,mBAAmB,eAAe,GAAG;AAAA,IACxC;AAEA,WACE,oBAAC,mBAAgB,SAAS,oBAAoB,WAAW,oBACvD;AAAA,MAAC;AAAA;AAAA,QACC,gBAAc;AAAA,QACd,iBAAe,aAAa,IAAI,GAAG;AAAA,QACnC,OAAM;AAAA,QACN,cAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,eAAa,YAAY;AAAA,QACzB,UAAU,aAAa,IAAI,GAAG;AAAA,QAC9B,UAAU,KAAK;AAAA,QACf,OAAO;AAAA,QACP,UAAU,gBAAgB,IAAI;AAAA;AAAA,IAChC,GACF;AAAA,EAEJ;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AACd;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { DSControlledRadio } from '@elliemae/ds-form-radio';\nimport { styled } from '@elliemae/ds-system';\nimport type { DSDataTableT } from '../../../react-desc-prop-types.js';\nimport { DATA_TESTID } from '../../../configs/constants.js';\n\nconst CenteredContent = styled.div`\n display: flex;\n height: 100%;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n\nconst stopThePropagation = (e: React.MouseEvent | React.KeyboardEvent) => e.stopPropagation();\n\nexport const singleSelectColumn: DSDataTableT.InternalColumn<HTMLInputElement> = {\n // Build our singleSelecter column\n id: 'singleSelecter', // Make sure it has an ID\n // The header doesn't need anything for single selection\n Header: () => <div />,\n Cell: ({ cell, row, isRowSelected, ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n } = ctx;\n const { uid } = row;\n const selectedState = !!selection?.[uid];\n\n const onChangeHandler = useCallback(\n (newValue: string, e: React.ChangeEvent) => {\n // in single select we only allow one item to be selected\n onSelectionChange({ [uid]: !selectedState }, uid, e);\n },\n [onSelectionChange, selectedState, uid],\n );\n\n return (\n <CenteredContent onClick={stopThePropagation} onKeyDown={stopThePropagation}>\n <DSControlledRadio\n aria-checked={selectedState}\n aria-disabled={disabledRows[row.uid]}\n title=\"Toggle row selected\"\n aria-label=\"Toggle row selected\"\n checked={selectedState}\n onChange={onChangeHandler}\n data-testid={DATA_TESTID.DATA_TABLE_RADIO}\n disabled={disabledRows[row.uid]}\n innerRef={cell.ref}\n value={uid}\n tabIndex={isRowSelected ? 0 : -1}\n />\n </CenteredContent>\n );\n },\n textWrap: 'wrap',\n width: 32,\n padding: 4,\n canResize: false,\n isFocuseable: false,\n disableDnD: true,\n parentId: null,\n depth: 0,\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACoBP;AApBhB,SAAgB,mBAAmB;AACnC,SAAS,yBAAyB;AAClC,SAAS,cAAc;AAEvB,SAAS,mBAAmB;AAE5B,MAAM,kBAAkB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ/B,MAAM,qBAAqB,CAAC,MAA8C,EAAE,gBAAgB;AAErF,MAAM,qBAAoE;AAAA;AAAA,EAE/E,IAAI;AAAA;AAAA;AAAA,EAEJ,QAAQ,MAAM,oBAAC,SAAI;AAAA,EACnB,MAAM,CAAC,EAAE,MAAM,KAAK,eAAe,IAAI,MAAM;AAC3C,UAAM;AAAA,MACJ,YAAY,EAAE,mBAAmB,WAAW,aAAa;AAAA,IAC3D,IAAI;AACJ,UAAM,EAAE,IAAI,IAAI;AAChB,UAAM,gBAAgB,CAAC,CAAC,YAAY,GAAG;AAEvC,UAAM,kBAAkB;AAAA,MACtB,CAAC,UAAkB,MAAyB;AAE1C,0BAAkB,EAAE,CAAC,GAAG,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC;AAAA,MACrD;AAAA,MACA,CAAC,mBAAmB,eAAe,GAAG;AAAA,IACxC;AAEA,WACE,oBAAC,mBAAgB,SAAS,oBAAoB,WAAW,oBACvD;AAAA,MAAC;AAAA;AAAA,QACC,gBAAc;AAAA,QACd,iBAAe,aAAa,IAAI,GAAG;AAAA,QACnC,OAAM;AAAA,QACN,cAAW;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,eAAa,YAAY;AAAA,QACzB,UAAU,aAAa,IAAI,GAAG;AAAA,QAC9B,UAAU,KAAK;AAAA,QACf,OAAO;AAAA,QACP,UAAU,gBAAgB,IAAI;AAAA;AAAA,IAChC,GACF;AAAA,EAEJ;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,WAAW;AAAA,EACX,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,OAAO;AACT;",
6
6
  "names": []
7
7
  }