@elliemae/ds-data-table 3.53.0-alpha.1 → 3.53.0-alpha.2

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 (302) hide show
  1. package/dist/cjs/DataTable.js +1 -1
  2. package/dist/cjs/DataTable.js.map +2 -2
  3. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +2 -2
  4. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +3 -3
  5. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +2 -2
  6. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +3 -3
  7. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +6 -4
  8. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js.map +3 -3
  9. package/dist/cjs/addons/Editables/index.js +1 -1
  10. package/dist/cjs/addons/Editables/index.js.map +2 -2
  11. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +4 -3
  12. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
  13. package/dist/cjs/addons/Filters/Components/FreeTextSearchFilter/index.js +152 -0
  14. package/dist/cjs/addons/Filters/Components/FreeTextSearchFilter/index.js.map +7 -0
  15. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +2 -1
  16. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
  17. package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +2 -1
  18. package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
  19. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +3 -1
  20. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
  21. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +3 -1
  22. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
  23. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +3 -1
  24. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
  25. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +5 -3
  26. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
  27. package/dist/cjs/addons/Filters/Components/index.js +1 -0
  28. package/dist/cjs/addons/Filters/Components/index.js.map +2 -2
  29. package/dist/cjs/configs/constants.js +1 -0
  30. package/dist/cjs/configs/constants.js.map +2 -2
  31. package/dist/cjs/configs/useAutocalculated/index.js +5 -2
  32. package/dist/cjs/configs/useAutocalculated/index.js.map +2 -2
  33. package/dist/cjs/configs/useFreezeVirtualScrollOnDrag.js +54 -0
  34. package/dist/cjs/configs/useFreezeVirtualScrollOnDrag.js.map +7 -0
  35. package/dist/cjs/configs/useInternalStateConfig.js +7 -2
  36. package/dist/cjs/configs/useInternalStateConfig.js.map +2 -2
  37. package/dist/cjs/configs/useNativeResizeObserver.js +1 -1
  38. package/dist/cjs/configs/useNativeResizeObserver.js.map +2 -2
  39. package/dist/cjs/configs/useStore/useStore.js +2 -1
  40. package/dist/cjs/configs/useStore/useStore.js.map +2 -2
  41. package/dist/cjs/configs/useTableColsWithAddons.js +1 -0
  42. package/dist/cjs/configs/useTableColsWithAddons.js.map +2 -2
  43. package/dist/cjs/{DSDataTableDefinitions.js → constants/index.js} +44 -7
  44. package/dist/cjs/constants/index.js.map +7 -0
  45. package/dist/cjs/constants/legacyToBeDeprecated.js +75 -0
  46. package/dist/cjs/constants/legacyToBeDeprecated.js.map +7 -0
  47. package/dist/cjs/exported-related/EditableCell.js +3 -1
  48. package/dist/cjs/exported-related/EditableCell.js.map +3 -3
  49. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js +40 -26
  50. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  51. package/dist/cjs/exported-related/FilterBar/FilterMenuButton.js +113 -0
  52. package/dist/cjs/exported-related/FilterBar/FilterMenuButton.js.map +7 -0
  53. package/dist/cjs/exported-related/FilterBar/index.js +3 -1
  54. package/dist/cjs/exported-related/FilterBar/index.js.map +2 -2
  55. package/dist/cjs/exported-related/FilterPopover/index.js +20 -8
  56. package/dist/cjs/exported-related/FilterPopover/index.js.map +3 -3
  57. package/dist/cjs/exported-related/FilterTypes.js +2 -1
  58. package/dist/cjs/exported-related/FilterTypes.js.map +2 -2
  59. package/dist/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +3 -1
  60. package/dist/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js.map +2 -2
  61. package/dist/cjs/exported-related/Filters/freeTextSearchFilterFn.js +52 -0
  62. package/dist/cjs/exported-related/Filters/freeTextSearchFilterFn.js.map +7 -0
  63. package/dist/cjs/exported-related/Toolbar/Toolbar.js +7 -7
  64. package/dist/cjs/exported-related/Toolbar/Toolbar.js.map +3 -3
  65. package/dist/cjs/exported-related/index.js +1 -0
  66. package/dist/cjs/exported-related/index.js.map +2 -2
  67. package/dist/cjs/index.js +7 -2
  68. package/dist/cjs/index.js.map +2 -2
  69. package/dist/cjs/parts/Cells/Cell.js +13 -2
  70. package/dist/cjs/parts/Cells/Cell.js.map +2 -2
  71. package/dist/cjs/parts/Cells/CellFactory.js +38 -17
  72. package/dist/cjs/parts/Cells/CellFactory.js.map +2 -2
  73. package/dist/cjs/parts/DnDHandle.js +4 -4
  74. package/dist/cjs/parts/DnDHandle.js.map +3 -3
  75. package/dist/cjs/parts/DropIndicator.js +14 -14
  76. package/dist/cjs/parts/DropIndicator.js.map +3 -3
  77. package/dist/cjs/parts/EmptyContent.js +34 -39
  78. package/dist/cjs/parts/EmptyContent.js.map +2 -2
  79. package/dist/cjs/parts/FilterBar/FiltersBar.js +2 -1
  80. package/dist/cjs/parts/FilterBar/FiltersBar.js.map +2 -2
  81. package/dist/cjs/parts/FilterBar/components/FreeTextSearchPill.js +58 -0
  82. package/dist/cjs/parts/FilterBar/components/FreeTextSearchPill.js.map +7 -0
  83. package/dist/cjs/parts/FilterBar/components/index.js +1 -0
  84. package/dist/cjs/parts/FilterBar/components/index.js.map +2 -2
  85. package/dist/cjs/parts/FilterBar/styled.js +2 -2
  86. package/dist/cjs/parts/FilterBar/styled.js.map +2 -2
  87. package/dist/cjs/parts/Filters/index.js +2 -1
  88. package/dist/cjs/parts/Filters/index.js.map +2 -2
  89. package/dist/cjs/parts/Headers/EmptyChildrenGroup.js +2 -2
  90. package/dist/cjs/parts/Headers/EmptyChildrenGroup.js.map +2 -2
  91. package/dist/cjs/parts/Headers/HeaderCell.js +16 -11
  92. package/dist/cjs/parts/Headers/HeaderCell.js.map +2 -2
  93. package/dist/cjs/parts/Headers/HeaderCellGroup.js +2 -2
  94. package/dist/cjs/parts/Headers/HeaderCellGroup.js.map +2 -2
  95. package/dist/cjs/parts/Headers/HeaderCellTitle.js +3 -7
  96. package/dist/cjs/parts/Headers/HeaderCellTitle.js.map +2 -2
  97. package/dist/cjs/parts/Headers/useHeaderCellHandlers.js +5 -4
  98. package/dist/cjs/parts/Headers/useHeaderCellHandlers.js.map +2 -2
  99. package/dist/cjs/parts/Headers/useHeaderResizer.js +21 -19
  100. package/dist/cjs/parts/Headers/useHeaderResizer.js.map +3 -3
  101. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js +6 -2
  102. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js.map +2 -2
  103. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +1 -1
  104. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
  105. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js +8 -0
  106. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
  107. package/dist/cjs/parts/Loader.js +2 -2
  108. package/dist/cjs/parts/Loader.js.map +2 -2
  109. package/dist/cjs/parts/Row.js +2 -2
  110. package/dist/cjs/parts/Row.js.map +2 -2
  111. package/dist/cjs/parts/SkeletonTable.js +4 -1
  112. package/dist/cjs/parts/SkeletonTable.js.map +2 -2
  113. package/dist/cjs/parts/SortByCaret.js +2 -2
  114. package/dist/cjs/parts/SortByCaret.js.map +2 -2
  115. package/dist/cjs/parts/SortableHeaderCell.js +3 -7
  116. package/dist/cjs/parts/SortableHeaderCell.js.map +2 -2
  117. package/dist/cjs/parts/VirtualRowsList.js +15 -1
  118. package/dist/cjs/parts/VirtualRowsList.js.map +2 -2
  119. package/dist/cjs/react-desc-prop-types.js +3 -3
  120. package/dist/cjs/react-desc-prop-types.js.map +3 -3
  121. package/dist/cjs/styled.js +46 -46
  122. package/dist/cjs/styled.js.map +3 -3
  123. package/dist/esm/DataTable.js +1 -1
  124. package/dist/esm/DataTable.js.map +2 -2
  125. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +1 -1
  126. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +1 -1
  127. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +1 -1
  128. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +1 -1
  129. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js +5 -3
  130. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js.map +3 -3
  131. package/dist/esm/addons/Editables/index.js +1 -1
  132. package/dist/esm/addons/Editables/index.js.map +2 -2
  133. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +4 -3
  134. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
  135. package/dist/esm/addons/Filters/Components/FreeTextSearchFilter/index.js +122 -0
  136. package/dist/esm/addons/Filters/Components/FreeTextSearchFilter/index.js.map +7 -0
  137. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +2 -1
  138. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
  139. package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +2 -1
  140. package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
  141. package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +3 -1
  142. package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
  143. package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +3 -1
  144. package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
  145. package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +3 -1
  146. package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
  147. package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +5 -3
  148. package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
  149. package/dist/esm/addons/Filters/Components/index.js +1 -0
  150. package/dist/esm/addons/Filters/Components/index.js.map +2 -2
  151. package/dist/esm/configs/constants.js +1 -0
  152. package/dist/esm/configs/constants.js.map +2 -2
  153. package/dist/esm/configs/useAutocalculated/index.js +5 -2
  154. package/dist/esm/configs/useAutocalculated/index.js.map +2 -2
  155. package/dist/esm/configs/useFreezeVirtualScrollOnDrag.js +24 -0
  156. package/dist/esm/configs/useFreezeVirtualScrollOnDrag.js.map +7 -0
  157. package/dist/esm/configs/useInternalStateConfig.js +7 -2
  158. package/dist/esm/configs/useInternalStateConfig.js.map +2 -2
  159. package/dist/esm/configs/useNativeResizeObserver.js +1 -1
  160. package/dist/esm/configs/useNativeResizeObserver.js.map +2 -2
  161. package/dist/esm/configs/useStore/useStore.js +2 -1
  162. package/dist/esm/configs/useStore/useStore.js.map +2 -2
  163. package/dist/esm/configs/useTableColsWithAddons.js +1 -0
  164. package/dist/esm/configs/useTableColsWithAddons.js.map +2 -2
  165. package/dist/esm/constants/index.js +91 -0
  166. package/dist/esm/constants/index.js.map +7 -0
  167. package/dist/esm/constants/legacyToBeDeprecated.js +45 -0
  168. package/dist/esm/constants/legacyToBeDeprecated.js.map +7 -0
  169. package/dist/esm/exported-related/EditableCell.js +3 -1
  170. package/dist/esm/exported-related/EditableCell.js.map +3 -3
  171. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js +41 -27
  172. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  173. package/dist/esm/exported-related/FilterBar/FilterMenuButton.js +83 -0
  174. package/dist/esm/exported-related/FilterBar/FilterMenuButton.js.map +7 -0
  175. package/dist/esm/exported-related/FilterBar/index.js +3 -1
  176. package/dist/esm/exported-related/FilterBar/index.js.map +2 -2
  177. package/dist/esm/exported-related/FilterPopover/index.js +14 -2
  178. package/dist/esm/exported-related/FilterPopover/index.js.map +2 -2
  179. package/dist/esm/exported-related/FilterTypes.js +2 -1
  180. package/dist/esm/exported-related/FilterTypes.js.map +2 -2
  181. package/dist/esm/exported-related/Filters/applyOutOfTheBoxFilters.js +3 -1
  182. package/dist/esm/exported-related/Filters/applyOutOfTheBoxFilters.js.map +2 -2
  183. package/dist/esm/exported-related/Filters/freeTextSearchFilterFn.js +22 -0
  184. package/dist/esm/exported-related/Filters/freeTextSearchFilterFn.js.map +7 -0
  185. package/dist/esm/exported-related/Toolbar/Toolbar.js +1 -1
  186. package/dist/esm/exported-related/Toolbar/Toolbar.js.map +1 -1
  187. package/dist/esm/exported-related/index.js +2 -1
  188. package/dist/esm/exported-related/index.js.map +2 -2
  189. package/dist/esm/index.js +14 -1
  190. package/dist/esm/index.js.map +2 -2
  191. package/dist/esm/parts/Cells/Cell.js +13 -2
  192. package/dist/esm/parts/Cells/Cell.js.map +2 -2
  193. package/dist/esm/parts/Cells/CellFactory.js +38 -17
  194. package/dist/esm/parts/Cells/CellFactory.js.map +2 -2
  195. package/dist/esm/parts/DnDHandle.js +1 -1
  196. package/dist/esm/parts/DnDHandle.js.map +1 -1
  197. package/dist/esm/parts/DropIndicator.js +1 -1
  198. package/dist/esm/parts/DropIndicator.js.map +1 -1
  199. package/dist/esm/parts/EmptyContent.js +29 -34
  200. package/dist/esm/parts/EmptyContent.js.map +2 -2
  201. package/dist/esm/parts/FilterBar/FiltersBar.js +4 -2
  202. package/dist/esm/parts/FilterBar/FiltersBar.js.map +2 -2
  203. package/dist/esm/parts/FilterBar/components/FreeTextSearchPill.js +28 -0
  204. package/dist/esm/parts/FilterBar/components/FreeTextSearchPill.js.map +7 -0
  205. package/dist/esm/parts/FilterBar/components/index.js +1 -0
  206. package/dist/esm/parts/FilterBar/components/index.js.map +2 -2
  207. package/dist/esm/parts/FilterBar/styled.js +1 -1
  208. package/dist/esm/parts/FilterBar/styled.js.map +1 -1
  209. package/dist/esm/parts/Filters/index.js +4 -2
  210. package/dist/esm/parts/Filters/index.js.map +2 -2
  211. package/dist/esm/parts/Headers/EmptyChildrenGroup.js +1 -1
  212. package/dist/esm/parts/Headers/EmptyChildrenGroup.js.map +1 -1
  213. package/dist/esm/parts/Headers/HeaderCell.js +17 -12
  214. package/dist/esm/parts/Headers/HeaderCell.js.map +2 -2
  215. package/dist/esm/parts/Headers/HeaderCellGroup.js +1 -1
  216. package/dist/esm/parts/Headers/HeaderCellGroup.js.map +1 -1
  217. package/dist/esm/parts/Headers/HeaderCellTitle.js +3 -7
  218. package/dist/esm/parts/Headers/HeaderCellTitle.js.map +2 -2
  219. package/dist/esm/parts/Headers/useHeaderCellHandlers.js +5 -4
  220. package/dist/esm/parts/Headers/useHeaderCellHandlers.js.map +2 -2
  221. package/dist/esm/parts/Headers/useHeaderResizer.js +21 -19
  222. package/dist/esm/parts/Headers/useHeaderResizer.js.map +3 -3
  223. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js +8 -4
  224. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js.map +2 -2
  225. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +1 -1
  226. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
  227. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js +10 -2
  228. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
  229. package/dist/esm/parts/Loader.js +1 -1
  230. package/dist/esm/parts/Loader.js.map +1 -1
  231. package/dist/esm/parts/Row.js +1 -1
  232. package/dist/esm/parts/Row.js.map +1 -1
  233. package/dist/esm/parts/SkeletonTable.js +4 -1
  234. package/dist/esm/parts/SkeletonTable.js.map +2 -2
  235. package/dist/esm/parts/SortByCaret.js +2 -2
  236. package/dist/esm/parts/SortByCaret.js.map +2 -2
  237. package/dist/esm/parts/SortableHeaderCell.js +3 -7
  238. package/dist/esm/parts/SortableHeaderCell.js.map +2 -2
  239. package/dist/esm/parts/VirtualRowsList.js +15 -1
  240. package/dist/esm/parts/VirtualRowsList.js.map +2 -2
  241. package/dist/esm/react-desc-prop-types.js +6 -3
  242. package/dist/esm/react-desc-prop-types.js.map +2 -2
  243. package/dist/esm/styled.js +5 -5
  244. package/dist/esm/styled.js.map +2 -2
  245. package/dist/types/DataTable.d.ts +0 -1
  246. package/dist/types/addons/Filters/Components/FreeTextSearchFilter/index.d.ts +3 -0
  247. package/dist/types/addons/Filters/Components/SelectFilter/SingleSelectFilter.d.ts +1 -1
  248. package/dist/types/addons/Filters/Components/index.d.ts +1 -0
  249. package/dist/types/configs/constants.d.ts +1 -0
  250. package/dist/types/configs/useFreezeVirtualScrollOnDrag.d.ts +2 -0
  251. package/dist/types/configs/useInternalStateConfig.d.ts +2 -1
  252. package/dist/types/configs/useStore/createInternalAndPropsContext.d.ts +1 -2
  253. package/dist/types/configs/useStore/useStore.d.ts +1 -2
  254. package/dist/types/constants/index.d.ts +273 -0
  255. package/dist/types/constants/legacyToBeDeprecated.d.ts +38 -0
  256. package/dist/types/exported-related/FilterBar/FilterMenuButton.d.ts +19 -0
  257. package/dist/types/exported-related/FilterBar/index.d.ts +1 -0
  258. package/dist/types/exported-related/FilterTypes.d.ts +1 -0
  259. package/dist/types/exported-related/Filters/currencyRangeFilterFn.d.ts +1 -4
  260. package/dist/types/exported-related/Filters/dateSwitcherFilterFn.d.ts +1 -5
  261. package/dist/types/exported-related/Filters/freeTextSearchFilterFn.d.ts +2 -0
  262. package/dist/types/exported-related/Filters/multiSelectFilterFn.d.ts +1 -4
  263. package/dist/types/exported-related/Filters/numberRangeFilterFn.d.ts +1 -4
  264. package/dist/types/exported-related/Filters/singleDateFilterFn.d.ts +1 -1
  265. package/dist/types/exported-related/Filters/singleSelectFilterFn.d.ts +1 -4
  266. package/dist/types/exported-related/RowRenderer/useRowRendererHandlers.d.ts +1 -1
  267. package/dist/types/exported-related/index.d.ts +1 -1
  268. package/dist/types/helpers/getIdFromUniqueRowAccessor.d.ts +1 -1
  269. package/dist/types/index.d.ts +2 -2
  270. package/dist/types/parts/FilterBar/components/FreeTextSearchPill.d.ts +3 -0
  271. package/dist/types/parts/FilterBar/components/index.d.ts +1 -0
  272. package/dist/types/parts/FilterBar/styled.d.ts +0 -1
  273. package/dist/types/parts/Headers/useHeaderCellHandlers.d.ts +1 -1
  274. package/dist/types/parts/Headers/useHeaderResizer.d.ts +1 -0
  275. package/dist/types/parts/HoC/DnDGroupContext.d.ts +0 -1
  276. package/dist/types/parts/HoC/DnDTreeContext.d.ts +0 -1
  277. package/dist/types/parts/HoC/SortableItemContext.d.ts +0 -1
  278. package/dist/types/parts/Loader.d.ts +0 -1
  279. package/dist/types/parts/MainContent.d.ts +0 -1
  280. package/dist/types/parts/Row.d.ts +2 -2
  281. package/dist/types/parts/RowVariants/types.d.ts +0 -1
  282. package/dist/types/parts/SortableHeaderCell.d.ts +0 -1
  283. package/dist/types/react-desc-prop-types.d.ts +16 -59
  284. package/dist/types/styled.d.ts +14 -15
  285. package/dist/types/tests/data-testid/Renderers.d.ts +36 -0
  286. package/dist/types/tests/filters/combobox-filter.test.d.ts +1 -0
  287. package/dist/types/tests/filters/currency-range-filter-PUI-12735.test.d.ts +1 -0
  288. package/dist/types/tests/filters/free-text-search-filter.test.d.ts +1 -0
  289. package/dist/types/tests/playwright/DSDataTable.ControlledSortTestRenderer.d.ts +2 -0
  290. package/dist/types/tests/playwright/DSDataTable.test.playwright.d.ts +1 -0
  291. package/package.json +32 -31
  292. package/dist/cjs/DSDataTableDefinitions.js.map +0 -7
  293. package/dist/cjs/tests/utils/index.js +0 -131
  294. package/dist/cjs/tests/utils/index.js.map +0 -7
  295. package/dist/esm/DSDataTableDefinitions.js +0 -54
  296. package/dist/esm/DSDataTableDefinitions.js.map +0 -7
  297. package/dist/esm/tests/utils/index.js +0 -101
  298. package/dist/esm/tests/utils/index.js.map +0 -7
  299. package/dist/types/DSDataTableDefinitions.d.ts +0 -46
  300. /package/dist/types/tests/{a11y/filter-bar-dropdown-menu.test.d.ts → DSDataTable.exports.test.d.ts} +0 -0
  301. /package/dist/types/tests/{callbacks/filters/combobox-filter.test.d.ts → a11y/out-of-the-box-filters.A11y.test.d.ts} +0 -0
  302. /package/dist/types/tests/{callbacks/filters/currency-range-filter-PUI-12735.test.d.ts → data-testid/DSDataTable.data-testid.test.d.ts} +0 -0
@@ -26,17 +26,20 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var DSDataTableDefinitions_exports = {};
30
- __export(DSDataTableDefinitions_exports, {
29
+ var constants_exports = {};
30
+ __export(constants_exports, {
31
+ DATA_TABLE_DATA_TESTID: () => DATA_TABLE_DATA_TESTID,
32
+ DATA_TABLE_SLOTS: () => DATA_TABLE_SLOTS,
31
33
  DSDataTableDataTestIds: () => DSDataTableDataTestIds,
32
34
  DSDataTableName: () => DSDataTableName,
33
35
  DSDataTableSlots: () => DSDataTableSlots
34
36
  });
35
- module.exports = __toCommonJS(DSDataTableDefinitions_exports);
37
+ module.exports = __toCommonJS(constants_exports);
36
38
  var React = __toESM(require("react"));
37
39
  var import_ds_system = require("@elliemae/ds-system");
40
+ var import_legacyToBeDeprecated = require("./legacyToBeDeprecated.js");
38
41
  const DSDataTableName = "DSDatatable";
39
- const DSDataTableSlots = {
42
+ const DATA_TABLE_SLOTS = {
40
43
  ROOT: "root",
41
44
  CONTENT_WRAPPER: "content-wrapper",
42
45
  TABLE_WRAPPER: "table-wrapper",
@@ -78,7 +81,41 @@ const DSDataTableSlots = {
78
81
  EMPTY_BUTTON: "empty-button",
79
82
  CENTER_CONTENT_FLEX_WRAPPER: "center-content-flex-wrapper",
80
83
  LOADER_WRAPPER: "loader-wrapper",
81
- FILTER_BAR_WRAPPER: "filter-bar-wrapper"
84
+ FILTER_BAR_WRAPPER: "filter-bar-wrapper",
85
+ FREE_TEXT_SEARCH_FILTER: "free-text-search-filter",
86
+ FREE_TEXT_SEARCH_WRAPPER: "free-text-search-wrapper",
87
+ FILTER_POPOVER: "filter-popover",
88
+ FILTER_BAR_MENU_BUTTON: "filter-bar-menu-button"
82
89
  };
83
- const DSDataTableDataTestIds = (0, import_ds_system.slotObjectToDataTestIds)(DSDataTableName, DSDataTableSlots);
84
- //# sourceMappingURL=DSDataTableDefinitions.js.map
90
+ const DATA_TABLE_DATA_TESTID = {
91
+ ...(0, import_ds_system.slotObjectToDataTestIds)(DSDataTableName, DATA_TABLE_SLOTS),
92
+ /**
93
+ * These data-testid were defined in src/configs/constants.tsx
94
+ * but they were never exposed to consumers in the index.ts file.
95
+ * We are exposing them here for backward compatibility, as they are the ones used in the component implementation.
96
+ *
97
+ */
98
+ ...import_legacyToBeDeprecated.legacyDataTestIds,
99
+ /**
100
+ * As there is a mix of hardcoded data-testid and the ones auto generated by slot definitions
101
+ * we are overriding the auto generated ones with the hardcoded values for consistency.
102
+ */
103
+ CONTENT_WRAPPER: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_CONTENT_WRAPPER,
104
+ TABLE_WRAPPER: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_TABLE,
105
+ CELL_CONTAINER: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_ROW_CONTENT,
106
+ DRAG_AND_DROP_GRIPPER: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_DRAG_HANDLE,
107
+ FREE_TEXT_SEARCH_FILTER: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_FILTER_FREE_TEXT_SEARCH,
108
+ FILTER_POPOVER_BUTTON: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_FILTER_BUTTON,
109
+ HEAD_TH: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_HEADER,
110
+ CELL: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_CELL,
111
+ FULLSIZE_GRID: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_ROW,
112
+ ROOT: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_WRAPPER,
113
+ VIRTUAL_LIST_WRAPPER: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_SCROLLABLE_CONTAINER,
114
+ GROUP_HEADER_CONTAINER: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_ROW_GROUP_HEADER,
115
+ FILTER_BAR_MENU_BUTTON: import_legacyToBeDeprecated.legacyDataTestIds.DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON,
116
+ // This one does not exist in the legacy list, but it was hardcoded in the component definition
117
+ EXPAND_CELL_CONTAINER: "data-table-row-expand-cell"
118
+ };
119
+ const DSDataTableSlots = DATA_TABLE_SLOTS;
120
+ const DSDataTableDataTestIds = DATA_TABLE_DATA_TESTID;
121
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/constants/index.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { slotObjectToDataTestIds } from '@elliemae/ds-system';\nimport { legacyDataTestIds } from './legacyToBeDeprecated.js';\n\nexport const DSDataTableName = 'DSDatatable';\n\n// we are naming this with the ${component_name}_slots convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const DATA_TABLE_SLOTS = {\n ROOT: 'root',\n CONTENT_WRAPPER: 'content-wrapper',\n TABLE_WRAPPER: 'table-wrapper',\n PAGINATION_WRAPPER: 'pagination-wrapper',\n TABLE_CONTENT_WRAPPER: 'table-content-wrapper',\n VIRTUAL_LIST_WRAPPER: 'virtual-list-wrapper',\n HEAD_WRAPPER: 'head-wrapper',\n HEAD_TR: 'head-tr',\n HEAD_TH: 'head-th',\n HEAD_RIGHT_ICONS_WRAPPER: 'head-right-icons-wrapper',\n HEADER_CELL_WRAPPER: 'header-cell-wrapper',\n EMPTY_HEADER: 'empty-header',\n RESIZER: 'resizer',\n ACTION_CELL: 'action-cell',\n EXPAND_CELL_CONTAINER: 'expand-cell-container',\n SINGLE_CELL_CONTAINER: 'single-cell-container',\n DRAG_AND_DROP_GRIPPER: 'drag-and-drop-gripper',\n TEXT_EDITABLE_CELL_INPUT: 'text-editable-cell-input',\n FILTER_POPOVER_BUTTON: 'filter-popover-button',\n FILTER_POPOVER_CONTENT: 'filter-popover-content',\n DROP_INDICATOR: 'drop-indicator',\n CELL: 'cell',\n CELL_CONTENT: 'cell-content',\n PENCIL_ICON: 'pencil-icon',\n EDITABLE_CONTAINER: 'editable-container',\n FULLSIZE_GRID: 'fullsize-grid',\n ROW: 'row',\n GROUP_HEADER_CONTAINER: 'group-header-container',\n GROUP_HEADER_TITLE: 'header-title',\n CELL_CONTAINER: 'cells-container',\n TOOLBAR_WRAPPER: 'toolbar-wrapper',\n TOOLBAR_BUTTONS_WRAPPER: 'toolbar-buttons-wrapper',\n TOOLBAR_BUTTON: 'toolbar-button',\n TOOLBAR_POSITION: 'toolbar-position',\n EMPTY_STATE_WRAPPER: 'empty-state-wrapper',\n WARNING_ICON: 'warning-icon',\n EMPTY_PRIMARY_MESSAGE: 'empty-primary-message',\n EMPTY_SECONDARY_MESSAGE: 'empty-secondary-message',\n EMPTY_BUTTON: 'empty-button',\n CENTER_CONTENT_FLEX_WRAPPER: 'center-content-flex-wrapper',\n LOADER_WRAPPER: 'loader-wrapper',\n FILTER_BAR_WRAPPER: 'filter-bar-wrapper',\n FREE_TEXT_SEARCH_FILTER: 'free-text-search-filter',\n FREE_TEXT_SEARCH_WRAPPER: 'free-text-search-wrapper',\n FILTER_POPOVER: 'filter-popover',\n FILTER_BAR_MENU_BUTTON: 'filter-bar-menu-button',\n} as const;\n\n// we are naming this with the ${component_name}_data_testid convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const DATA_TABLE_DATA_TESTID = {\n ...slotObjectToDataTestIds(DSDataTableName, DATA_TABLE_SLOTS),\n /**\n * These data-testid were defined in src/configs/constants.tsx\n * but they were never exposed to consumers in the index.ts file.\n * We are exposing them here for backward compatibility, as they are the ones used in the component implementation.\n *\n */\n ...legacyDataTestIds,\n /**\n * As there is a mix of hardcoded data-testid and the ones auto generated by slot definitions\n * we are overriding the auto generated ones with the hardcoded values for consistency.\n */\n CONTENT_WRAPPER: legacyDataTestIds.DATA_TABLE_CONTENT_WRAPPER,\n TABLE_WRAPPER: legacyDataTestIds.DATA_TABLE_TABLE,\n CELL_CONTAINER: legacyDataTestIds.DATA_TABLE_ROW_CONTENT,\n DRAG_AND_DROP_GRIPPER: legacyDataTestIds.DATA_TABLE_DRAG_HANDLE,\n FREE_TEXT_SEARCH_FILTER: legacyDataTestIds.DATA_TABLE_FILTER_FREE_TEXT_SEARCH,\n FILTER_POPOVER_BUTTON: legacyDataTestIds.DATA_TABLE_FILTER_BUTTON,\n HEAD_TH: legacyDataTestIds.DATA_TABLE_HEADER,\n CELL: legacyDataTestIds.DATA_TABLE_CELL,\n FULLSIZE_GRID: legacyDataTestIds.DATA_TABLE_ROW,\n ROOT: legacyDataTestIds.DATA_TABLE_WRAPPER,\n VIRTUAL_LIST_WRAPPER: legacyDataTestIds.DATA_TABLE_SCROLLABLE_CONTAINER,\n GROUP_HEADER_CONTAINER: legacyDataTestIds.DATA_TABLE_ROW_GROUP_HEADER,\n FILTER_BAR_MENU_BUTTON: legacyDataTestIds.DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON,\n // This one does not exist in the legacy list, but it was hardcoded in the component definition\n EXPAND_CELL_CONTAINER: 'data-table-row-expand-cell',\n};\n\n// Legacy exports before Dimsum Compliance Task\nexport const DSDataTableSlots = DATA_TABLE_SLOTS;\nexport const DSDataTableDataTestIds = DATA_TABLE_DATA_TESTID;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAwC;AACxC,kCAAkC;AAE3B,MAAM,kBAAkB;AAGxB,MAAM,mBAAmB;AAAA,EAC9B,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,cAAc;AAAA,EACd,SAAS;AAAA,EACT,SAAS;AAAA,EACT,0BAA0B;AAAA,EAC1B,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,SAAS;AAAA,EACT,aAAa;AAAA,EACb,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,0BAA0B;AAAA,EAC1B,uBAAuB;AAAA,EACvB,wBAAwB;AAAA,EACxB,gBAAgB;AAAA,EAChB,MAAM;AAAA,EACN,cAAc;AAAA,EACd,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,eAAe;AAAA,EACf,KAAK;AAAA,EACL,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,yBAAyB;AAAA,EACzB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,uBAAuB;AAAA,EACvB,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,6BAA6B;AAAA,EAC7B,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,yBAAyB;AAAA,EACzB,0BAA0B;AAAA,EAC1B,gBAAgB;AAAA,EAChB,wBAAwB;AAC1B;AAGO,MAAM,yBAAyB;AAAA,EACpC,OAAG,0CAAwB,iBAAiB,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5D,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,EAKH,iBAAiB,8CAAkB;AAAA,EACnC,eAAe,8CAAkB;AAAA,EACjC,gBAAgB,8CAAkB;AAAA,EAClC,uBAAuB,8CAAkB;AAAA,EACzC,yBAAyB,8CAAkB;AAAA,EAC3C,uBAAuB,8CAAkB;AAAA,EACzC,SAAS,8CAAkB;AAAA,EAC3B,MAAM,8CAAkB;AAAA,EACxB,eAAe,8CAAkB;AAAA,EACjC,MAAM,8CAAkB;AAAA,EACxB,sBAAsB,8CAAkB;AAAA,EACxC,wBAAwB,8CAAkB;AAAA,EAC1C,wBAAwB,8CAAkB;AAAA;AAAA,EAE1C,uBAAuB;AACzB;AAGO,MAAM,mBAAmB;AACzB,MAAM,yBAAyB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var legacyToBeDeprecated_exports = {};
30
+ __export(legacyToBeDeprecated_exports, {
31
+ legacyDataTestIds: () => legacyDataTestIds
32
+ });
33
+ module.exports = __toCommonJS(legacyToBeDeprecated_exports);
34
+ var React = __toESM(require("react"));
35
+ const legacyDataTestIds = {
36
+ // DEFINED IN configs/constants.tsx
37
+ DATA_TABLE_WRAPPER: "data-table-wrapper",
38
+ DATA_TABLE_GLOBAL_EXPAND_CELL: "data-table-global-expand-cell",
39
+ DATA_TABLE_ICON_ARROW_DOWN: "ic-arrow-head-down",
40
+ DATA_TABLE_ICON_ARROW_RIGHT: "ic-arrow-head-right",
41
+ DATA_TABLE_ICON_ARROW_MIXED: "ic-arrow-head-mixed",
42
+ DATA_TABLE_ICON_CHILD: "ic-arrow-child",
43
+ DATA_TABLE_GLOBAL_CHECKBOX: "data-table-global-checkbox",
44
+ DATA_TABLE_CHECKBOX: "data-table-checkbox",
45
+ DATA_TABLE_RADIO: "data-table-radio",
46
+ DATA_TABLE_DATE_RANGE_CONTROLLER: "data-table-date-range",
47
+ DATA_TABLE_DATE_RANGE_CONTROLLER_CHECKBOX_SWITCHER: "data-table-date-range-checkbox-switcher-container",
48
+ DATA_TABLE_SINGLE_DATE_CONTROLLER: "data-table-single-date",
49
+ DATA_TABLE_NUMBER_RANGE_CONTROLLER: "data-table-number-range",
50
+ DATA_TABLE_CURRENCY_RANGE_CONTROLLER: "data-table-currency-range",
51
+ DATA_TABLE_SELECT_MENU_ITEM: "data-table-filter-menu-list-item",
52
+ DATA_TABLE_MULTISELECT_CONTROLLER: "data-table-multi-select",
53
+ DATA_TABLE_SINGLESELECT_CONTROLLER: "data-table-single-select",
54
+ DATA_TABLE_FILTER_BUTTON: "data-table-filter-menu-button",
55
+ DATA_TABLE_FILTER_BUTTON_ELEMENT: "ds-button",
56
+ // TODO 'data-table-filter-menu-button-element',
57
+ DATA_TABLE_FILTER_MENU_CONTENT: "data-table-filter-menu-content",
58
+ DATA_TABLE_FILTER_FREE_TEXT_SEARCH: "data-table-filter-free-text-search",
59
+ DATA_TABLE_ROW_CONTENT: "data-table-row-content",
60
+ DATA_TABLE_ROW: "data-table-row",
61
+ DATA_TABLE_TOOLBAR_TRIGGER: "data-table-toolbar-trigger",
62
+ DATA_TABLE_CELL: "data-table-cell",
63
+ DATA_TABLE_DRAG_HANDLE: "data-table-drag-handle",
64
+ DATA_TABLE_CONTENT_WRAPPER: "data-table-content-wrapper",
65
+ DATA_TABLE_TABLE: "data-table-table",
66
+ DATA_TABLE_SCROLLABLE_CONTAINER: "data-table-scrollable-container",
67
+ DATA_TABLE_HEADER: "data-table-header",
68
+ DATA_TABLE_ROW_HEADER_CONTENT: "data-table-row-header-content",
69
+ DATA_TABLE_ROW_GROUP_HEADER: "data-table-row-group-header",
70
+ DATA_TABLE_COLUMN_DRAG_OVERLAY: "data-table-drag-column-drag-overlay",
71
+ DATA_TABLE_HEADER_CELL_TITLE: "header-cell-title",
72
+ DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON: "filter-bar-ddmenu-button",
73
+ DATA_TABLE_SORT_BUTTON: "data-table-sort-button"
74
+ };
75
+ //# sourceMappingURL=legacyToBeDeprecated.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/constants/legacyToBeDeprecated.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["export const legacyDataTestIds = {\n // DEFINED IN configs/constants.tsx\n DATA_TABLE_WRAPPER: 'data-table-wrapper',\n DATA_TABLE_GLOBAL_EXPAND_CELL: 'data-table-global-expand-cell',\n DATA_TABLE_ICON_ARROW_DOWN: 'ic-arrow-head-down',\n DATA_TABLE_ICON_ARROW_RIGHT: 'ic-arrow-head-right',\n DATA_TABLE_ICON_ARROW_MIXED: 'ic-arrow-head-mixed',\n DATA_TABLE_ICON_CHILD: 'ic-arrow-child',\n DATA_TABLE_GLOBAL_CHECKBOX: 'data-table-global-checkbox',\n DATA_TABLE_CHECKBOX: 'data-table-checkbox',\n DATA_TABLE_RADIO: 'data-table-radio',\n DATA_TABLE_DATE_RANGE_CONTROLLER: 'data-table-date-range',\n DATA_TABLE_DATE_RANGE_CONTROLLER_CHECKBOX_SWITCHER: 'data-table-date-range-checkbox-switcher-container',\n DATA_TABLE_SINGLE_DATE_CONTROLLER: 'data-table-single-date',\n DATA_TABLE_NUMBER_RANGE_CONTROLLER: 'data-table-number-range',\n DATA_TABLE_CURRENCY_RANGE_CONTROLLER: 'data-table-currency-range',\n DATA_TABLE_SELECT_MENU_ITEM: 'data-table-filter-menu-list-item',\n DATA_TABLE_MULTISELECT_CONTROLLER: 'data-table-multi-select',\n DATA_TABLE_SINGLESELECT_CONTROLLER: 'data-table-single-select',\n DATA_TABLE_FILTER_BUTTON: 'data-table-filter-menu-button',\n DATA_TABLE_FILTER_BUTTON_ELEMENT: 'ds-button', // TODO 'data-table-filter-menu-button-element',\n DATA_TABLE_FILTER_MENU_CONTENT: 'data-table-filter-menu-content',\n DATA_TABLE_FILTER_FREE_TEXT_SEARCH: 'data-table-filter-free-text-search',\n DATA_TABLE_ROW_CONTENT: 'data-table-row-content',\n DATA_TABLE_ROW: 'data-table-row',\n DATA_TABLE_TOOLBAR_TRIGGER: 'data-table-toolbar-trigger',\n DATA_TABLE_CELL: 'data-table-cell',\n DATA_TABLE_DRAG_HANDLE: 'data-table-drag-handle',\n DATA_TABLE_CONTENT_WRAPPER: 'data-table-content-wrapper',\n DATA_TABLE_TABLE: 'data-table-table',\n DATA_TABLE_SCROLLABLE_CONTAINER: 'data-table-scrollable-container',\n DATA_TABLE_HEADER: 'data-table-header',\n DATA_TABLE_ROW_HEADER_CONTENT: 'data-table-row-header-content',\n DATA_TABLE_ROW_GROUP_HEADER: 'data-table-row-group-header',\n DATA_TABLE_COLUMN_DRAG_OVERLAY: 'data-table-drag-column-drag-overlay',\n DATA_TABLE_HEADER_CELL_TITLE: 'header-cell-title',\n DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON: 'filter-bar-ddmenu-button',\n DATA_TABLE_SORT_BUTTON: 'data-table-sort-button',\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,oBAAoB;AAAA;AAAA,EAE/B,oBAAoB;AAAA,EACpB,+BAA+B;AAAA,EAC/B,4BAA4B;AAAA,EAC5B,6BAA6B;AAAA,EAC7B,6BAA6B;AAAA,EAC7B,uBAAuB;AAAA,EACvB,4BAA4B;AAAA,EAC5B,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,kCAAkC;AAAA,EAClC,oDAAoD;AAAA,EACpD,mCAAmC;AAAA,EACnC,oCAAoC;AAAA,EACpC,sCAAsC;AAAA,EACtC,6BAA6B;AAAA,EAC7B,mCAAmC;AAAA,EACnC,oCAAoC;AAAA,EACpC,0BAA0B;AAAA,EAC1B,kCAAkC;AAAA;AAAA,EAClC,gCAAgC;AAAA,EAChC,oCAAoC;AAAA,EACpC,wBAAwB;AAAA,EACxB,gBAAgB;AAAA,EAChB,4BAA4B;AAAA,EAC5B,iBAAiB;AAAA,EACjB,wBAAwB;AAAA,EACxB,4BAA4B;AAAA,EAC5B,kBAAkB;AAAA,EAClB,iCAAiC;AAAA,EACjC,mBAAmB;AAAA,EACnB,+BAA+B;AAAA,EAC/B,6BAA6B;AAAA,EAC7B,gCAAgC;AAAA,EAChC,8BAA8B;AAAA,EAC9B,sCAAsC;AAAA,EACtC,wBAAwB;AAC1B;",
6
+ "names": []
7
+ }
@@ -33,7 +33,7 @@ __export(EditableCell_exports, {
33
33
  module.exports = __toCommonJS(EditableCell_exports);
34
34
  var React = __toESM(require("react"));
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
- var import_react = require("react");
36
+ var import_react = __toESM(require("react"));
37
37
  var import_createInternalAndPropsContext = require("../configs/useStore/createInternalAndPropsContext.js");
38
38
  var import_styled = require("../styled.js");
39
39
  const EditableCell = (props) => {
@@ -41,6 +41,7 @@ const EditableCell = (props) => {
41
41
  const domIdAffix = (0, import_createInternalAndPropsContext.usePropsStore)((state) => state.domIdAffix);
42
42
  const virtualListHelpers = (0, import_createInternalAndPropsContext.usePropsStore)((state) => state.virtualListHelpers);
43
43
  const getOwnerProps = (0, import_createInternalAndPropsContext.usePropsStore)((store) => store.get);
44
+ const getOwnerPropsArguments = import_react.default.useCallback(() => cell, [cell]);
44
45
  const [isEditing, setIsEditing] = (0, import_react.useState)(false);
45
46
  const [lastIsEditing, setLastIsEditing] = (0, import_react.useState)(false);
46
47
  (0, import_react.useLayoutEffect)(() => {
@@ -93,6 +94,7 @@ const EditableCell = (props) => {
93
94
  role: "group",
94
95
  "aria-labelledby": isEditing ? void 0 : cell.id,
95
96
  getOwnerProps,
97
+ getOwnerPropsArguments,
96
98
  children: [
97
99
  !isEditing ? StandardRender : EditableRenderer,
98
100
  !isEditing && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledPencilIcon, {}),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/exported-related/EditableCell.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useCallback, useLayoutEffect, useState } from 'react';\nimport { usePropsStore } from '../configs/useStore/createInternalAndPropsContext.js';\nimport type { DSDataTableT } from '../react-desc-prop-types.js';\nimport { StyledEditableContainer, StyledPencilIcon } from '../styled.js';\n\nexport const EditableCell: React.ComponentType<{\n StandardRender: JSX.Element;\n EditableRenderer: JSX.Element;\n cell: DSDataTableT.Cell<HTMLDivElement>;\n isRowSelected?: boolean;\n}> = (props) => {\n const { StandardRender, EditableRenderer, cell, isRowSelected } = props;\n const domIdAffix = usePropsStore((state) => state.domIdAffix);\n const virtualListHelpers = usePropsStore((state) => state.virtualListHelpers);\n const getOwnerProps = usePropsStore((store) => store.get);\n\n const [isEditing, setIsEditing] = useState(false);\n const [lastIsEditing, setLastIsEditing] = useState(false);\n // When an editable cell is switched on-off, we recalculate the height of the rows\n useLayoutEffect(() => {\n if (isEditing !== lastIsEditing) {\n virtualListHelpers.measure();\n setLastIsEditing(isEditing);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isEditing]);\n\n const handleCellClick = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n if (!isEditing) {\n e.stopPropagation();\n setIsEditing(true);\n }\n },\n [isEditing],\n );\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (isEditing) {\n e.stopPropagation();\n if (['Enter', 'Escape'].includes(e.code)) {\n setIsEditing(false);\n }\n } else if (['Enter', 'Space'].includes(e.code)) {\n handleCellClick(e);\n }\n },\n [isEditing, handleCellClick, setIsEditing],\n );\n\n const handleOnBlur = useCallback(\n (event: React.FocusEvent) => {\n if (isEditing && !event.currentTarget?.contains(event.relatedTarget)) {\n // Not triggered when swapping focus between children\n setIsEditing(false);\n }\n },\n [isEditing],\n );\n const cols = !isEditing ? ['auto', 'min-content'] : ['auto'];\n return (\n <StyledEditableContainer\n cols={cols}\n tabIndex={isRowSelected && !isEditing ? 0 : -1}\n innerRef={cell.ref}\n onClick={handleCellClick}\n onKeyDown={handleOnKeyDown}\n onBlur={handleOnBlur}\n shouldDisplayEditIcon={cell.column.alwaysDisplayEditIcon}\n role=\"group\"\n aria-labelledby={isEditing ? undefined : cell.id}\n getOwnerProps={getOwnerProps}\n >\n {!isEditing ? StandardRender : EditableRenderer}\n {!isEditing && <StyledPencilIcon />}\n <span id={`editable-cell-${cell.id}-${domIdAffix}`} style={{ display: 'none' }} aria-hidden=\"true\">\n {cell.value as string}, editable cell. To edit the content&apos;s of this cell, press the Enter key\n </span>\n </StyledEditableContainer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD2EF;AA3ErB,mBAA8D;AAC9D,2CAA8B;AAE9B,oBAA0D;AAEnD,MAAM,eAKR,CAAC,UAAU;AACd,QAAM,EAAE,gBAAgB,kBAAkB,MAAM,cAAc,IAAI;AAClE,QAAM,iBAAa,oDAAc,CAAC,UAAU,MAAM,UAAU;AAC5D,QAAM,yBAAqB,oDAAc,CAAC,UAAU,MAAM,kBAAkB;AAC5E,QAAM,oBAAgB,oDAAc,CAAC,UAAU,MAAM,GAAG;AAExD,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAChD,QAAM,CAAC,eAAe,gBAAgB,QAAI,uBAAS,KAAK;AAExD,oCAAgB,MAAM;AACpB,QAAI,cAAc,eAAe;AAC/B,yBAAmB,QAAQ;AAC3B,uBAAiB,SAAS;AAAA,IAC5B;AAAA,EAEF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA8C;AAC7C,UAAI,CAAC,WAAW;AACd,UAAE,gBAAgB;AAClB,qBAAa,IAAI;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA2B;AAC1B,UAAI,WAAW;AACb,UAAE,gBAAgB;AAClB,YAAI,CAAC,SAAS,QAAQ,EAAE,SAAS,EAAE,IAAI,GAAG;AACxC,uBAAa,KAAK;AAAA,QACpB;AAAA,MACF,WAAW,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AAC9C,wBAAgB,CAAC;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,WAAW,iBAAiB,YAAY;AAAA,EAC3C;AAEA,QAAM,mBAAe;AAAA,IACnB,CAAC,UAA4B;AAC3B,UAAI,aAAa,CAAC,MAAM,eAAe,SAAS,MAAM,aAAa,GAAG;AAEpE,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AACA,QAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,aAAa,IAAI,CAAC,MAAM;AAC3D,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,UAAU,iBAAiB,CAAC,YAAY,IAAI;AAAA,MAC5C,UAAU,KAAK;AAAA,MACf,SAAS;AAAA,MACT,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,uBAAuB,KAAK,OAAO;AAAA,MACnC,MAAK;AAAA,MACL,mBAAiB,YAAY,SAAY,KAAK;AAAA,MAC9C;AAAA,MAEC;AAAA,SAAC,YAAY,iBAAiB;AAAA,QAC9B,CAAC,aAAa,4CAAC,kCAAiB;AAAA,QACjC,6CAAC,UAAK,IAAI,iBAAiB,KAAK,EAAE,IAAI,UAAU,IAAI,OAAO,EAAE,SAAS,OAAO,GAAG,eAAY,QACzF;AAAA,eAAK;AAAA,UAAgB;AAAA,WACxB;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
- "names": []
4
+ "sourcesContent": ["import React, { useCallback, useLayoutEffect, useState } from 'react';\nimport { usePropsStore } from '../configs/useStore/createInternalAndPropsContext.js';\nimport type { DSDataTableT } from '../react-desc-prop-types.js';\nimport { StyledEditableContainer, StyledPencilIcon } from '../styled.js';\n\nexport const EditableCell: React.ComponentType<{\n StandardRender: JSX.Element;\n EditableRenderer: JSX.Element;\n cell: DSDataTableT.Cell<HTMLDivElement>;\n isRowSelected?: boolean;\n}> = (props) => {\n const { StandardRender, EditableRenderer, cell, isRowSelected } = props;\n const domIdAffix = usePropsStore((state) => state.domIdAffix);\n const virtualListHelpers = usePropsStore((state) => state.virtualListHelpers);\n const getOwnerProps = usePropsStore((store) => store.get);\n const getOwnerPropsArguments = React.useCallback(() => cell, [cell]);\n\n const [isEditing, setIsEditing] = useState(false);\n const [lastIsEditing, setLastIsEditing] = useState(false);\n // When an editable cell is switched on-off, we recalculate the height of the rows\n useLayoutEffect(() => {\n if (isEditing !== lastIsEditing) {\n virtualListHelpers.measure();\n setLastIsEditing(isEditing);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isEditing]);\n\n const handleCellClick = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n if (!isEditing) {\n e.stopPropagation();\n setIsEditing(true);\n }\n },\n [isEditing],\n );\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (isEditing) {\n e.stopPropagation();\n if (['Enter', 'Escape'].includes(e.code)) {\n setIsEditing(false);\n }\n } else if (['Enter', 'Space'].includes(e.code)) {\n handleCellClick(e);\n }\n },\n [isEditing, handleCellClick, setIsEditing],\n );\n\n const handleOnBlur = useCallback(\n (event: React.FocusEvent) => {\n if (isEditing && !event.currentTarget?.contains(event.relatedTarget)) {\n // Not triggered when swapping focus between children\n setIsEditing(false);\n }\n },\n [isEditing],\n );\n const cols = !isEditing ? ['auto', 'min-content'] : ['auto'];\n return (\n <StyledEditableContainer\n cols={cols}\n tabIndex={isRowSelected && !isEditing ? 0 : -1}\n innerRef={cell.ref}\n onClick={handleCellClick}\n onKeyDown={handleOnKeyDown}\n onBlur={handleOnBlur}\n shouldDisplayEditIcon={cell.column.alwaysDisplayEditIcon}\n role=\"group\"\n aria-labelledby={isEditing ? undefined : cell.id}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {!isEditing ? StandardRender : EditableRenderer}\n {!isEditing && <StyledPencilIcon />}\n <span id={`editable-cell-${cell.id}-${domIdAffix}`} style={{ display: 'none' }} aria-hidden=\"true\">\n {cell.value as string}, editable cell. To edit the content&apos;s of this cell, press the Enter key\n </span>\n </StyledEditableContainer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD6EF;AA7ErB,mBAA8D;AAC9D,2CAA8B;AAE9B,oBAA0D;AAEnD,MAAM,eAKR,CAAC,UAAU;AACd,QAAM,EAAE,gBAAgB,kBAAkB,MAAM,cAAc,IAAI;AAClE,QAAM,iBAAa,oDAAc,CAAC,UAAU,MAAM,UAAU;AAC5D,QAAM,yBAAqB,oDAAc,CAAC,UAAU,MAAM,kBAAkB;AAC5E,QAAM,oBAAgB,oDAAc,CAAC,UAAU,MAAM,GAAG;AACxD,QAAM,yBAAyB,aAAAA,QAAM,YAAY,MAAM,MAAM,CAAC,IAAI,CAAC;AAEnE,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAChD,QAAM,CAAC,eAAe,gBAAgB,QAAI,uBAAS,KAAK;AAExD,oCAAgB,MAAM;AACpB,QAAI,cAAc,eAAe;AAC/B,yBAAmB,QAAQ;AAC3B,uBAAiB,SAAS;AAAA,IAC5B;AAAA,EAEF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA8C;AAC7C,UAAI,CAAC,WAAW;AACd,UAAE,gBAAgB;AAClB,qBAAa,IAAI;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA2B;AAC1B,UAAI,WAAW;AACb,UAAE,gBAAgB;AAClB,YAAI,CAAC,SAAS,QAAQ,EAAE,SAAS,EAAE,IAAI,GAAG;AACxC,uBAAa,KAAK;AAAA,QACpB;AAAA,MACF,WAAW,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AAC9C,wBAAgB,CAAC;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,WAAW,iBAAiB,YAAY;AAAA,EAC3C;AAEA,QAAM,mBAAe;AAAA,IACnB,CAAC,UAA4B;AAC3B,UAAI,aAAa,CAAC,MAAM,eAAe,SAAS,MAAM,aAAa,GAAG;AAEpE,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AACA,QAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,aAAa,IAAI,CAAC,MAAM;AAC3D,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,UAAU,iBAAiB,CAAC,YAAY,IAAI;AAAA,MAC5C,UAAU,KAAK;AAAA,MACf,SAAS;AAAA,MACT,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,uBAAuB,KAAK,OAAO;AAAA,MACnC,MAAK;AAAA,MACL,mBAAiB,YAAY,SAAY,KAAK;AAAA,MAC9C;AAAA,MACA;AAAA,MAEC;AAAA,SAAC,YAAY,iBAAiB;AAAA,QAC9B,CAAC,aAAa,4CAAC,kCAAiB;AAAA,QACjC,6CAAC,UAAK,IAAI,iBAAiB,KAAK,EAAE,IAAI,UAAU,IAAI,OAAO,EAAE,SAAS,OAAO,GAAG,eAAY,QACzF;AAAA,eAAK;AAAA,UAAgB;AAAA,WACxB;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
+ "names": ["React"]
7
7
  }
@@ -39,6 +39,7 @@ var import_ds_button_v2 = require("@elliemae/ds-button-v2");
39
39
  var import_ds_icons = require("@elliemae/ds-icons");
40
40
  var import_configs = require("../../configs/index.js");
41
41
  var import_createInternalAndPropsContext = require("../../configs/useStore/createInternalAndPropsContext.js");
42
+ var import_FilterMenuButton = require("./FilterMenuButton.js");
42
43
  const FilterBarDropdownMenu = (props) => {
43
44
  const onFiltersChange = (0, import_createInternalAndPropsContext.usePropsStore)((state) => state.onFiltersChange);
44
45
  const [isOpened, setIsOpened] = (0, import_react.useState)(false);
@@ -48,6 +49,9 @@ const FilterBarDropdownMenu = (props) => {
48
49
  setIsOpened(false);
49
50
  innerRef?.current?.focus?.();
50
51
  }, [innerRef, onFiltersChange]);
52
+ const onClearFilters = (0, import_react.useCallback)(() => {
53
+ onFiltersChange([]);
54
+ }, [onFiltersChange]);
51
55
  const options = (0, import_react.useMemo)(
52
56
  () => [
53
57
  {
@@ -64,31 +68,41 @@ const FilterBarDropdownMenu = (props) => {
64
68
  ],
65
69
  [extraOptions, removeFilters]
66
70
  );
67
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { marginLeft: "auto" }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
68
- import_ds_dropdownmenu_v2.DSDropdownMenuV2,
69
- {
70
- isOpened,
71
- startPlacementPreference: "bottom-end",
72
- options,
73
- onClickOutside: () => {
74
- setIsOpened(false);
75
- },
76
- onKeyDown: (e) => {
77
- if (e.code === "Escape") innerRef?.current?.focus?.();
78
- },
79
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
80
- import_ds_button_v2.DSButtonV2,
81
- {
82
- buttonType: import_ds_button_v2.BUTTON_TYPES.ICON,
83
- onClick: () => setIsOpened((prevOpened) => !prevOpened),
84
- innerRef,
85
- "aria-label": "Filter bar addon",
86
- "data-testid": import_configs.DATA_TESTID.DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON,
87
- ...restProps,
88
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.MoreOptionsVert, {})
89
- }
90
- )
91
- }
92
- ) });
71
+ try {
72
+ const { convertedOptions, report } = (0, import_ds_dropdownmenu_v2.checkAndConvertOptions)(extraOptions);
73
+ report.humanReadableWarnings.forEach((warning) => console.warn(warning));
74
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_FilterMenuButton.FilterMenuButton, { options: convertedOptions, onClearFilters, innerRef });
75
+ } catch {
76
+ console.error(`
77
+ In upcoming releases, DSDropdownMenuV2 will be deprecated as it is not accessible.
78
+ In effort to have compliant components we are enforcing MenuButton usage, by converting options.
79
+ If you find this error it is because the provided options are not possible to be made A11y accessible, and we are displaying the DSDropdownMenuV2 as fallback.`);
80
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { marginLeft: "auto" }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
81
+ import_ds_dropdownmenu_v2.DSDropdownMenuV2,
82
+ {
83
+ isOpened,
84
+ startPlacementPreference: "bottom-end",
85
+ options,
86
+ onClickOutside: () => {
87
+ setIsOpened(false);
88
+ },
89
+ onKeyDown: (e) => {
90
+ if (e.code === "Escape") innerRef?.current?.focus?.();
91
+ },
92
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
93
+ import_ds_button_v2.DSButtonV2,
94
+ {
95
+ buttonType: import_ds_button_v2.BUTTON_TYPES.ICON,
96
+ onClick: () => setIsOpened((prevOpened) => !prevOpened),
97
+ innerRef,
98
+ "aria-label": "Filter bar addon",
99
+ "data-testid": import_configs.DATA_TESTID.DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON,
100
+ ...restProps,
101
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.MoreOptionsVert, {})
102
+ }
103
+ )
104
+ }
105
+ ) });
106
+ }
93
107
  };
94
108
  //# sourceMappingURL=FilterBarDropdownMenu.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/FilterBar/FilterBarDropdownMenu.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useState, useCallback, useMemo } from 'react';\nimport { DSDropdownMenuV2, type DSDropdownMenuT } from '@elliemae/ds-dropdownmenu-v2';\nimport { DSButtonV2, BUTTON_TYPES } from '@elliemae/ds-button-v2';\nimport { MoreOptionsVert } from '@elliemae/ds-icons';\nimport { DATA_TESTID } from '../../configs/index.js';\nimport { usePropsStore } from '../../configs/useStore/createInternalAndPropsContext.js';\n\ninterface FilterBarDropdownMenuProps {\n options?: DSDropdownMenuT.Props['options'];\n innerRef?: React.RefObject<HTMLButtonElement>;\n}\n\nexport const FilterBarDropdownMenu: React.ComponentType<FilterBarDropdownMenuProps> = (props) => {\n const onFiltersChange = usePropsStore((state) => state.onFiltersChange);\n const [isOpened, setIsOpened] = useState(false);\n\n const { options: extraOptions = [], innerRef, ...restProps } = props;\n const removeFilters: React.MouseEventHandler & React.KeyboardEventHandler = useCallback(() => {\n onFiltersChange([]);\n setIsOpened(false);\n innerRef?.current?.focus?.();\n }, [innerRef, onFiltersChange]);\n\n const options: DSDropdownMenuT.Item[] = useMemo(\n () => [\n {\n dsId: '__internal__option__clear__filters',\n label: 'Clear Filters',\n value: 'clear',\n type: 'action',\n onClick: removeFilters,\n onKeyDown: (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) removeFilters(e);\n },\n } as unknown as DSDropdownMenuT.Item,\n ...extraOptions,\n ],\n [extraOptions, removeFilters],\n );\n\n return (\n <div style={{ marginLeft: 'auto' }}>\n <DSDropdownMenuV2\n isOpened={isOpened}\n startPlacementPreference=\"bottom-end\"\n options={options}\n onClickOutside={() => {\n setIsOpened(false);\n }}\n onKeyDown={(e: React.KeyboardEvent) => {\n if (e.code === 'Escape') innerRef?.current?.focus?.();\n }}\n >\n <DSButtonV2\n buttonType={BUTTON_TYPES.ICON}\n onClick={() => setIsOpened((prevOpened) => !prevOpened)}\n innerRef={innerRef}\n aria-label=\"Filter bar addon\"\n data-testid={DATA_TESTID.DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON}\n {...restProps}\n >\n <MoreOptionsVert />\n </DSButtonV2>\n </DSDropdownMenuV2>\n </div>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD6Db;AA7DV,mBAAsD;AACtD,gCAAuD;AACvD,0BAAyC;AACzC,sBAAgC;AAChC,qBAA4B;AAC5B,2CAA8B;AAOvB,MAAM,wBAAyE,CAAC,UAAU;AAC/F,QAAM,sBAAkB,oDAAc,CAAC,UAAU,MAAM,eAAe;AACtE,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,KAAK;AAE9C,QAAM,EAAE,SAAS,eAAe,CAAC,GAAG,UAAU,GAAG,UAAU,IAAI;AAC/D,QAAM,oBAAsE,0BAAY,MAAM;AAC5F,oBAAgB,CAAC,CAAC;AAClB,gBAAY,KAAK;AACjB,cAAU,SAAS,QAAQ;AAAA,EAC7B,GAAG,CAAC,UAAU,eAAe,CAAC;AAE9B,QAAM,cAAkC;AAAA,IACtC,MAAM;AAAA,MACJ;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW,CAAC,MAA2B;AACrC,cAAI,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,EAAG,eAAc,CAAC;AAAA,QAC1D;AAAA,MACF;AAAA,MACA,GAAG;AAAA,IACL;AAAA,IACA,CAAC,cAAc,aAAa;AAAA,EAC9B;AAEA,SACE,4CAAC,SAAI,OAAO,EAAE,YAAY,OAAO,GAC/B;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,0BAAyB;AAAA,MACzB;AAAA,MACA,gBAAgB,MAAM;AACpB,oBAAY,KAAK;AAAA,MACnB;AAAA,MACA,WAAW,CAAC,MAA2B;AACrC,YAAI,EAAE,SAAS,SAAU,WAAU,SAAS,QAAQ;AAAA,MACtD;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,YAAY,iCAAa;AAAA,UACzB,SAAS,MAAM,YAAY,CAAC,eAAe,CAAC,UAAU;AAAA,UACtD;AAAA,UACA,cAAW;AAAA,UACX,eAAa,2BAAY;AAAA,UACxB,GAAG;AAAA,UAEJ,sDAAC,mCAAgB;AAAA;AAAA,MACnB;AAAA;AAAA,EACF,GACF;AAEJ;",
4
+ "sourcesContent": ["import React, { useState, useCallback, useMemo } from 'react';\nimport { checkAndConvertOptions, DSDropdownMenuV2, type DSDropdownMenuT } from '@elliemae/ds-dropdownmenu-v2';\nimport { DSButtonV2, BUTTON_TYPES } from '@elliemae/ds-button-v2';\nimport { MoreOptionsVert } from '@elliemae/ds-icons';\nimport { DATA_TESTID } from '../../configs/index.js';\nimport { usePropsStore } from '../../configs/useStore/createInternalAndPropsContext.js';\nimport { FilterMenuButton } from './FilterMenuButton.js';\n\ninterface FilterBarDropdownMenuProps {\n options?: DSDropdownMenuT.Props['options'];\n innerRef?: React.RefObject<HTMLButtonElement>;\n}\n\nexport const FilterBarDropdownMenu: React.ComponentType<FilterBarDropdownMenuProps> = (props) => {\n const onFiltersChange = usePropsStore((state) => state.onFiltersChange);\n const [isOpened, setIsOpened] = useState(false);\n\n const { options: extraOptions = [], innerRef, ...restProps } = props;\n const removeFilters: React.MouseEventHandler & React.KeyboardEventHandler = useCallback(() => {\n onFiltersChange([]);\n setIsOpened(false);\n innerRef?.current?.focus?.();\n }, [innerRef, onFiltersChange]);\n const onClearFilters = useCallback(() => {\n onFiltersChange([]);\n }, [onFiltersChange]);\n\n const options: DSDropdownMenuT.Item[] = useMemo(\n () => [\n {\n dsId: '__internal__option__clear__filters',\n label: 'Clear Filters',\n value: 'clear',\n type: 'action',\n onClick: removeFilters,\n onKeyDown: (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) removeFilters(e);\n },\n } as unknown as DSDropdownMenuT.Item,\n ...extraOptions,\n ],\n [extraOptions, removeFilters],\n );\n\n /** PUI-15557 (https://jira.elliemae.io/browse/PUI-15557)\n * On behalf of this ticket, we are promoting the usage of withFilterBar always in combination with filterAddonRenderer, and never alone.\n * On Storybook, we were using this component (FilterBarDropdownMenu) as the addon, which was using DSDropdownMenuV2.\n * As DSDropdownMenuV2 is not accessible, we are enforcing the usage of DSMenuButton instead, by converting options from DSDropdownMenuV2 to DSMenuButton.\n * If the conversion fails, we fallback to rendering the DSDropdownMenuV2 directly.\n */\n\n try {\n const { convertedOptions, report } = checkAndConvertOptions(extraOptions);\n // eslint-disable-next-line no-console\n report.humanReadableWarnings.forEach((warning) => console.warn(warning));\n return <FilterMenuButton options={convertedOptions} onClearFilters={onClearFilters} innerRef={innerRef} />;\n } catch {\n // eslint-disable-next-line no-console\n console.error(`\n In upcoming releases, DSDropdownMenuV2 will be deprecated as it is not accessible. \n In effort to have compliant components we are enforcing MenuButton usage, by converting options.\n If you find this error it is because the provided options are not possible to be made A11y accessible, and we are displaying the DSDropdownMenuV2 as fallback.`);\n return (\n <div style={{ marginLeft: 'auto' }}>\n <DSDropdownMenuV2\n isOpened={isOpened}\n startPlacementPreference=\"bottom-end\"\n options={options}\n onClickOutside={() => {\n setIsOpened(false);\n }}\n onKeyDown={(e: React.KeyboardEvent) => {\n if (e.code === 'Escape') innerRef?.current?.focus?.();\n }}\n >\n <DSButtonV2\n buttonType={BUTTON_TYPES.ICON}\n onClick={() => setIsOpened((prevOpened) => !prevOpened)}\n innerRef={innerRef}\n aria-label=\"Filter bar addon\"\n data-testid={DATA_TESTID.DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON}\n {...restProps}\n >\n <MoreOptionsVert />\n </DSButtonV2>\n </DSDropdownMenuV2>\n </div>\n );\n }\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADuDZ;AAvDX,mBAAsD;AACtD,gCAA+E;AAC/E,0BAAyC;AACzC,sBAAgC;AAChC,qBAA4B;AAC5B,2CAA8B;AAC9B,8BAAiC;AAO1B,MAAM,wBAAyE,CAAC,UAAU;AAC/F,QAAM,sBAAkB,oDAAc,CAAC,UAAU,MAAM,eAAe;AACtE,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,KAAK;AAE9C,QAAM,EAAE,SAAS,eAAe,CAAC,GAAG,UAAU,GAAG,UAAU,IAAI;AAC/D,QAAM,oBAAsE,0BAAY,MAAM;AAC5F,oBAAgB,CAAC,CAAC;AAClB,gBAAY,KAAK;AACjB,cAAU,SAAS,QAAQ;AAAA,EAC7B,GAAG,CAAC,UAAU,eAAe,CAAC;AAC9B,QAAM,qBAAiB,0BAAY,MAAM;AACvC,oBAAgB,CAAC,CAAC;AAAA,EACpB,GAAG,CAAC,eAAe,CAAC;AAEpB,QAAM,cAAkC;AAAA,IACtC,MAAM;AAAA,MACJ;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW,CAAC,MAA2B;AACrC,cAAI,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,EAAG,eAAc,CAAC;AAAA,QAC1D;AAAA,MACF;AAAA,MACA,GAAG;AAAA,IACL;AAAA,IACA,CAAC,cAAc,aAAa;AAAA,EAC9B;AASA,MAAI;AACF,UAAM,EAAE,kBAAkB,OAAO,QAAI,kDAAuB,YAAY;AAExE,WAAO,sBAAsB,QAAQ,CAAC,YAAY,QAAQ,KAAK,OAAO,CAAC;AACvE,WAAO,4CAAC,4CAAiB,SAAS,kBAAkB,gBAAgC,UAAoB;AAAA,EAC1G,QAAQ;AAEN,YAAQ,MAAM;AAAA;AAAA;AAAA,qKAGmJ;AACjK,WACE,4CAAC,SAAI,OAAO,EAAE,YAAY,OAAO,GAC/B;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,0BAAyB;AAAA,QACzB;AAAA,QACA,gBAAgB,MAAM;AACpB,sBAAY,KAAK;AAAA,QACnB;AAAA,QACA,WAAW,CAAC,MAA2B;AACrC,cAAI,EAAE,SAAS,SAAU,WAAU,SAAS,QAAQ;AAAA,QACtD;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,YAAY,iCAAa;AAAA,YACzB,SAAS,MAAM,YAAY,CAAC,eAAe,CAAC,UAAU;AAAA,YACtD;AAAA,YACA,cAAW;AAAA,YACX,eAAa,2BAAY;AAAA,YACxB,GAAG;AAAA,YAEJ,sDAAC,mCAAgB;AAAA;AAAA,QACnB;AAAA;AAAA,IACF,GACF;AAAA,EAEJ;AACF;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var FilterMenuButton_exports = {};
30
+ __export(FilterMenuButton_exports, {
31
+ FilterMenuButton: () => FilterMenuButton
32
+ });
33
+ module.exports = __toCommonJS(FilterMenuButton_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_ds_button_v2 = require("@elliemae/ds-button-v2");
37
+ var import_ds_icons = require("@elliemae/ds-icons");
38
+ var import_ds_menu_button = require("@elliemae/ds-menu-button");
39
+ var import_ds_system = require("@elliemae/ds-system");
40
+ var import_react = require("react");
41
+ var import_configs = require("../../configs/index.js");
42
+ var import_constants = require("../../constants/index.js");
43
+ const StyledDSMenuButton = (0, import_ds_system.styled)(import_ds_menu_button.DSMenuButton, {
44
+ name: import_constants.DSDataTableName,
45
+ slot: import_constants.DATA_TABLE_SLOTS.FILTER_BAR_MENU_BUTTON
46
+ })``;
47
+ const FilterMenuButton = ({
48
+ options = [],
49
+ innerRef,
50
+ onClearFilters,
51
+ onItemSelected,
52
+ onActivateItem,
53
+ selectedItems,
54
+ ...restProps
55
+ }) => {
56
+ const menuButtonOptions = (0, import_react.useMemo)(
57
+ () => [
58
+ {
59
+ type: import_ds_menu_button.MENU_ITEMS_TYPES.ACTIVABLE_ITEM,
60
+ dsId: "__internal__option__clear__filters",
61
+ label: "Clear Filters",
62
+ value: "clear",
63
+ onClick: onClearFilters,
64
+ onKeyDown: (e) => {
65
+ if (["Enter", "Space"].includes(e.code)) {
66
+ e.preventDefault();
67
+ onClearFilters();
68
+ }
69
+ return null;
70
+ }
71
+ },
72
+ ...options.map((option) => {
73
+ if (option.type !== import_ds_menu_button.MENU_ITEMS_TYPES.SEPARATOR && option.type !== import_ds_menu_button.MENU_ITEMS_TYPES.GROUP && option.type !== import_ds_menu_button.MENU_ITEMS_TYPES.SKELETON_ITEM) {
74
+ return {
75
+ ...option,
76
+ onKeyDown: (e) => {
77
+ if (["Enter", "Space"].includes(e.code)) {
78
+ e.preventDefault();
79
+ if (typeof option?.onClick === "function") {
80
+ option.onClick(e);
81
+ }
82
+ }
83
+ return null;
84
+ }
85
+ };
86
+ }
87
+ return option;
88
+ })
89
+ ],
90
+ [options, onClearFilters]
91
+ );
92
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { marginLeft: "auto" }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
93
+ StyledDSMenuButton,
94
+ {
95
+ buttonType: import_ds_button_v2.BUTTON_TYPES.ICON,
96
+ options: menuButtonOptions,
97
+ innerRef,
98
+ "aria-label": "Filter bar addon",
99
+ "data-testid": import_configs.DATA_TESTID.DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON,
100
+ onClose: () => {
101
+ innerRef?.current?.focus?.();
102
+ },
103
+ onItemSelected: onItemSelected ?? (() => {
104
+ }),
105
+ onActivateItem: onActivateItem ?? (() => {
106
+ }),
107
+ selectedItems: selectedItems ?? [],
108
+ ...restProps,
109
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.MoreOptionsVert, {})
110
+ }
111
+ ) });
112
+ };
113
+ //# sourceMappingURL=FilterMenuButton.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/exported-related/FilterBar/FilterMenuButton.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { BUTTON_TYPES } from '@elliemae/ds-button-v2';\nimport { MoreOptionsVert } from '@elliemae/ds-icons';\nimport { DSMenuButton, MENU_ITEMS_TYPES, type DSMenuButtonT } from '@elliemae/ds-menu-button';\nimport { styled } from '@elliemae/ds-system';\nimport type { TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { useMemo } from 'react';\nimport { DATA_TESTID } from '../../configs/index.js';\nimport { DATA_TABLE_SLOTS, DSDataTableName } from '../../constants/index.js';\n\ninterface FilterMenuButtonProps {\n options?: DSMenuButtonT.MenuItemInterface[];\n innerRef?: React.RefObject<HTMLButtonElement>;\n onClearFilters: TypescriptHelpersT.GenericFunc;\n onItemSelected?: (\n newSelection: DSMenuButtonT.SelectionableMenuNodes[],\n metainfo: { itemNode: DSMenuButtonT.SelectionableMenuNodes; event?: React.SyntheticEvent },\n ) => void | TypescriptHelpersT.StateSetter<DSMenuButtonT.SelectionableMenuNodes[]>;\n onActivateItem?: (\n itemNode: DSMenuButtonT.PseudoFocusableMenuNodes,\n metainfo: { itemNode: DSMenuButtonT.PseudoFocusableMenuNodes; event?: React.SyntheticEvent },\n ) => void;\n [key: string]: unknown;\n selectedItems?: DSMenuButtonT.SelectionableMenuNodes[] | DSMenuButtonT.SelectionableMenuItemInterface[];\n}\n\nconst StyledDSMenuButton = styled(DSMenuButton, {\n name: DSDataTableName,\n slot: DATA_TABLE_SLOTS.FILTER_BAR_MENU_BUTTON,\n})``;\n\nexport const FilterMenuButton: React.ComponentType<FilterMenuButtonProps> = ({\n options = [],\n innerRef,\n onClearFilters,\n onItemSelected,\n onActivateItem,\n selectedItems,\n ...restProps\n}) => {\n const menuButtonOptions: DSMenuButtonT.MenuItemInterface[] = useMemo(\n () => [\n {\n type: MENU_ITEMS_TYPES.ACTIVABLE_ITEM,\n dsId: '__internal__option__clear__filters',\n label: 'Clear Filters',\n value: 'clear',\n onClick: onClearFilters,\n onKeyDown: (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) {\n e.preventDefault();\n onClearFilters();\n }\n return null;\n },\n },\n ...options.map((option) => {\n if (\n option.type !== MENU_ITEMS_TYPES.SEPARATOR &&\n option.type !== MENU_ITEMS_TYPES.GROUP &&\n option.type !== MENU_ITEMS_TYPES.SKELETON_ITEM\n ) {\n return {\n ...option,\n onKeyDown: (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) {\n e.preventDefault();\n if (typeof option?.onClick === 'function') {\n option.onClick(e);\n }\n }\n return null;\n },\n };\n }\n return option;\n }),\n ],\n [options, onClearFilters],\n );\n\n return (\n <div style={{ marginLeft: 'auto' }}>\n <StyledDSMenuButton\n buttonType={BUTTON_TYPES.ICON}\n options={menuButtonOptions}\n innerRef={innerRef}\n aria-label=\"Filter bar addon\"\n data-testid={DATA_TESTID.DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON}\n onClose={() => {\n innerRef?.current?.focus?.();\n }}\n /** PUI-15557 (https://jira.elliemae.io/browse/PUI-15557)\n * On behalf of this ticket, we are converting options from DSDropdownMenuV2 to DSMenuButton.\n * As DSMenuButton handles selection differently than DSDropdownMenuV2, we are providing\n * empty functions as onItemSelected and onActivateItem to avoid breaking changes for now.\n * As those props are required if any of the options are selectionable/activable.\n * In future releases, we should properly enforce user to provide these props as needed.\n */\n onItemSelected={onItemSelected ?? (() => {})}\n onActivateItem={onActivateItem ?? (() => {})}\n selectedItems={selectedItems ?? []}\n {...restProps}\n >\n <MoreOptionsVert />\n </StyledDSMenuButton>\n </div>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADuGf;AAvGR,0BAA6B;AAC7B,sBAAgC;AAChC,4BAAmE;AACnE,uBAAuB;AAEvB,mBAAwB;AACxB,qBAA4B;AAC5B,uBAAkD;AAkBlD,MAAM,yBAAqB,yBAAO,oCAAc;AAAA,EAC9C,MAAM;AAAA,EACN,MAAM,kCAAiB;AACzB,CAAC;AAEM,MAAM,mBAA+D,CAAC;AAAA,EAC3E,UAAU,CAAC;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,wBAAuD;AAAA,IAC3D,MAAM;AAAA,MACJ;AAAA,QACE,MAAM,uCAAiB;AAAA,QACvB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,QACT,WAAW,CAAC,MAA2B;AACrC,cAAI,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AACvC,cAAE,eAAe;AACjB,2BAAe;AAAA,UACjB;AACA,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,MACA,GAAG,QAAQ,IAAI,CAAC,WAAW;AACzB,YACE,OAAO,SAAS,uCAAiB,aACjC,OAAO,SAAS,uCAAiB,SACjC,OAAO,SAAS,uCAAiB,eACjC;AACA,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,WAAW,CAAC,MAA2B;AACrC,kBAAI,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AACvC,kBAAE,eAAe;AACjB,oBAAI,OAAO,QAAQ,YAAY,YAAY;AACzC,yBAAO,QAAQ,CAAC;AAAA,gBAClB;AAAA,cACF;AACA,qBAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAC,SAAS,cAAc;AAAA,EAC1B;AAEA,SACE,4CAAC,SAAI,OAAO,EAAE,YAAY,OAAO,GAC/B;AAAA,IAAC;AAAA;AAAA,MACC,YAAY,iCAAa;AAAA,MACzB,SAAS;AAAA,MACT;AAAA,MACA,cAAW;AAAA,MACX,eAAa,2BAAY;AAAA,MACzB,SAAS,MAAM;AACb,kBAAU,SAAS,QAAQ;AAAA,MAC7B;AAAA,MAQA,gBAAgB,mBAAmB,MAAM;AAAA,MAAC;AAAA,MAC1C,gBAAgB,mBAAmB,MAAM;AAAA,MAAC;AAAA,MAC1C,eAAe,iBAAiB,CAAC;AAAA,MAChC,GAAG;AAAA,MAEJ,sDAAC,mCAAgB;AAAA;AAAA,EACnB,GACF;AAEJ;",
6
+ "names": []
7
+ }
@@ -28,9 +28,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var FilterBar_exports = {};
30
30
  __export(FilterBar_exports, {
31
- FilterBarDropdownMenu: () => import_FilterBarDropdownMenu.FilterBarDropdownMenu
31
+ FilterBarDropdownMenu: () => import_FilterBarDropdownMenu.FilterBarDropdownMenu,
32
+ FilterMenuButton: () => import_FilterMenuButton.FilterMenuButton
32
33
  });
33
34
  module.exports = __toCommonJS(FilterBar_exports);
34
35
  var React = __toESM(require("react"));
35
36
  var import_FilterBarDropdownMenu = require("./FilterBarDropdownMenu.js");
37
+ var import_FilterMenuButton = require("./FilterMenuButton.js");
36
38
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/FilterBar/index.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export { FilterBarDropdownMenu } from './FilterBarDropdownMenu.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mCAAsC;",
4
+ "sourcesContent": ["export { FilterBarDropdownMenu } from './FilterBarDropdownMenu.js';\nexport { FilterMenuButton } from './FilterMenuButton.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mCAAsC;AACtC,8BAAiC;",
6
6
  "names": []
7
7
  }
@@ -37,18 +37,22 @@ var import_ds_button_v2 = require("@elliemae/ds-button-v2");
37
37
  var import_ds_popperjs = require("@elliemae/ds-popperjs");
38
38
  var import_ds_system = require("@elliemae/ds-system");
39
39
  var import_react = require("react");
40
- var import_DSDataTableDefinitions = require("../../DSDataTableDefinitions.js");
41
- var import_constants = require("../../configs/constants.js");
40
+ var import_constants = require("../../constants/index.js");
41
+ var import_constants2 = require("../../configs/constants.js");
42
42
  var import_createInternalAndPropsContext = require("../../configs/useStore/createInternalAndPropsContext.js");
43
43
  var import_useGetFilterHandlers = require("./useGetFilterHandlers.js");
44
44
  var import_useGetFilterVisibility = require("./useGetFilterVisibility.js");
45
- const FilterButton = (0, import_ds_system.styled)("span", { name: import_DSDataTableDefinitions.DSDataTableName, slot: import_DSDataTableDefinitions.DSDataTableSlots.FILTER_POPOVER_BUTTON })`
45
+ const FilterButton = (0, import_ds_system.styled)("span", { name: import_constants.DSDataTableName, slot: import_constants.DSDataTableSlots.FILTER_POPOVER_BUTTON })`
46
46
  display: inline-grid;
47
47
  ${(props) => props.hide ? "opacity: 0; display: none; width: 0;" : ""}
48
48
  `;
49
- const PopperContent = (0, import_ds_system.styled)("div", { name: import_DSDataTableDefinitions.DSDataTableName, slot: import_DSDataTableDefinitions.DSDataTableSlots.FILTER_POPOVER_CONTENT })`
49
+ const PopperContent = (0, import_ds_system.styled)("div", { name: import_constants.DSDataTableName, slot: import_constants.DSDataTableSlots.FILTER_POPOVER_CONTENT })`
50
50
  background-color: #fff;
51
51
  `;
52
+ const StyledPoppoverJS = (0, import_ds_system.styled)(import_ds_popperjs.DSPopperJS, {
53
+ name: import_constants.DSDataTableName,
54
+ slot: import_constants.DSDataTableSlots.FILTER_POPOVER
55
+ })``;
52
56
  const ButtonTrap = ({ cb }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
53
57
  "span",
54
58
  {
@@ -63,6 +67,12 @@ const FilterPopover = (props) => {
63
67
  const { column, customStyles, reduxHeader, menuContent, columnId, ariaLabel, triggerIcon, innerRef } = props;
64
68
  const filters = (0, import_createInternalAndPropsContext.usePropsStore)((state) => state.filters);
65
69
  const getOwnerProps = (0, import_createInternalAndPropsContext.usePropsStore)((store) => store.get);
70
+ const getOwnerPropsArguments = (0, import_react.useCallback)(
71
+ () => ({
72
+ columnId: column.id
73
+ }),
74
+ [column.id]
75
+ );
66
76
  const patchHeader = (0, import_createInternalAndPropsContext.useInternalStore)((state) => state.patchHeader);
67
77
  const { isIconVisible, isMenuOpen } = (0, import_useGetFilterVisibility.useGetFilterVisibility)(reduxHeader);
68
78
  const [buttonReference, setButtonReference] = (0, import_react.useState)(null);
@@ -88,7 +98,7 @@ const FilterPopover = (props) => {
88
98
  FilterButton,
89
99
  {
90
100
  hide: !isIconVisible,
91
- "data-testid": import_constants.DATA_TESTID.DATA_TABLE_FILTER_BUTTON,
101
+ "data-testid": import_constants2.DATA_TESTID.DATA_TABLE_FILTER_BUTTON,
92
102
  getOwnerProps,
93
103
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
94
104
  import_ds_button_v2.DSButtonV2,
@@ -102,20 +112,20 @@ const FilterPopover = (props) => {
102
112
  tabIndex: reduxHeader?.withTabStops ? 0 : -1,
103
113
  "aria-label": ariaLabel,
104
114
  "aria-hidden": !isButtonFocused,
105
- "data-testid": import_constants.DATA_TESTID.DATA_TABLE_FILTER_BUTTON_ELEMENT,
115
+ "data-testid": import_constants2.DATA_TESTID.DATA_TABLE_FILTER_BUTTON_ELEMENT,
106
116
  children: triggerIcon
107
117
  }
108
118
  )
109
119
  }
110
120
  ),
111
121
  buttonReference && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
112
- import_ds_popperjs.DSPopperJS,
122
+ StyledPoppoverJS,
113
123
  {
114
124
  actionRef,
115
125
  referenceElement: buttonReference,
116
126
  showPopover: isMenuOpen,
117
127
  closeContextMenu: handleClickOutsideMenu,
118
- "data-testid": import_constants.DATA_TESTID.DATA_TABLE_FILTER_MENU_CONTENT,
128
+ "data-testid": import_constants2.DATA_TESTID.DATA_TABLE_FILTER_MENU_CONTENT,
119
129
  startPlacementPreference: "bottom-end",
120
130
  customOffset: [5, 4],
121
131
  withoutArrow: true,
@@ -125,6 +135,8 @@ const FilterPopover = (props) => {
125
135
  minWidth: column.ref?.current?.offsetWidth ?? "0px"
126
136
  },
127
137
  placementOrderPreference: ["bottom-end", "top-end"],
138
+ getOwnerProps,
139
+ getOwnerPropsArguments,
128
140
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PopperContent, { getOwnerProps, children: [
129
141
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ButtonTrap, { cb: buttonTrapCallback }),
130
142
  menuContent,