@economic/taco 2.23.0 → 2.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/dist/components/Card/Card.d.ts +1 -0
  2. package/dist/components/Checkbox/Checkbox.d.ts +2 -0
  3. package/dist/components/Provider/Localization.d.ts +6 -0
  4. package/dist/components/Report/Report.d.ts +2 -2
  5. package/dist/components/Report/components/Body/Body.d.ts +0 -1
  6. package/dist/components/Report/components/Footer/Summary.d.ts +0 -1
  7. package/dist/components/Report/components/Header/Header.d.ts +3 -0
  8. package/dist/components/Report/components/Header/components/Menu.d.ts +3 -0
  9. package/dist/components/Report/components/Toolbar/components/Filters/components/Filter.d.ts +2 -2
  10. package/dist/components/Report/components/Toolbar/components/Filters/components/FilterColumn.d.ts +5 -2
  11. package/dist/components/Report/components/Toolbar/components/Filters/util.d.ts +2 -0
  12. package/dist/components/Report/types.d.ts +2 -2
  13. package/dist/components/Report/useReport.d.ts +0 -1
  14. package/dist/components/Select2/Select2.d.ts +22 -0
  15. package/dist/components/Select2/hooks/useChildren.d.ts +1 -0
  16. package/dist/components/Table/Table.d.ts +1 -1
  17. package/dist/components/Table/components/BaseTable.d.ts +1 -1
  18. package/dist/components/Table/hooks/useRowCreation.d.ts +2 -2
  19. package/dist/components/Table/hooks/useTable.d.ts +5 -5
  20. package/dist/components/Table/hooks/useTableKeyboardNavigation.d.ts +2 -2
  21. package/dist/components/Table/types.d.ts +37 -37
  22. package/dist/components/Table/util/sortTypes.d.ts +2 -2
  23. package/dist/components/Table/util.d.ts +4 -4
  24. package/dist/components/Table3/components/toolbar/Filter/filters/components/Filter.d.ts +2 -2
  25. package/dist/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.d.ts +5 -2
  26. package/dist/components/Table3/hooks/useTable.d.ts +8 -8
  27. package/dist/components/Table3/types.d.ts +2 -0
  28. package/dist/esm/index.css +55 -46
  29. package/dist/esm/packages/taco/src/components/Button/util.js +8 -8
  30. package/dist/esm/packages/taco/src/components/Button/util.js.map +1 -1
  31. package/dist/esm/packages/taco/src/components/Card/Card.js +2 -1
  32. package/dist/esm/packages/taco/src/components/Card/Card.js.map +1 -1
  33. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js +11 -2
  34. package/dist/esm/packages/taco/src/components/Checkbox/Checkbox.js.map +1 -1
  35. package/dist/esm/packages/taco/src/components/Listbox/ScrollableList.js +1 -1
  36. package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js +12 -1
  37. package/dist/esm/packages/taco/src/components/Menu/components/Trigger.js.map +1 -1
  38. package/dist/esm/packages/taco/src/components/Provider/Localization.js +7 -1
  39. package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
  40. package/dist/esm/packages/taco/src/components/Report/Report.js +3 -8
  41. package/dist/esm/packages/taco/src/components/Report/Report.js.map +1 -1
  42. package/dist/esm/packages/taco/src/components/Report/components/Body/Body.js +4 -3
  43. package/dist/esm/packages/taco/src/components/Report/components/Body/Body.js.map +1 -1
  44. package/dist/esm/packages/taco/src/components/Report/components/Cell/Cell.js +1 -1
  45. package/dist/esm/packages/taco/src/components/Report/components/Cell/Cell.js.map +1 -1
  46. package/dist/esm/packages/taco/src/components/Report/components/Cell/GroupedCell.js +1 -1
  47. package/dist/esm/packages/taco/src/components/Report/components/Cell/GroupedCell.js.map +1 -1
  48. package/dist/esm/packages/taco/src/components/Report/components/Cell/util.js +1 -1
  49. package/dist/esm/packages/taco/src/components/Report/components/Cell/util.js.map +1 -1
  50. package/dist/esm/packages/taco/src/components/Report/components/Footer/Footer.js +14 -2
  51. package/dist/esm/packages/taco/src/components/Report/components/Footer/Footer.js.map +1 -1
  52. package/dist/esm/packages/taco/src/components/Report/components/Footer/Summary.js +3 -3
  53. package/dist/esm/packages/taco/src/components/Report/components/Footer/Summary.js.map +1 -1
  54. package/dist/esm/packages/taco/src/components/Report/components/Header/Header.js +18 -1
  55. package/dist/esm/packages/taco/src/components/Report/components/Header/Header.js.map +1 -1
  56. package/dist/esm/packages/taco/src/components/Report/components/Header/components/Menu.js +10 -1
  57. package/dist/esm/packages/taco/src/components/Report/components/Header/components/Menu.js.map +1 -1
  58. package/dist/esm/packages/taco/src/components/Report/components/Header/util.js +1 -1
  59. package/dist/esm/packages/taco/src/components/Report/components/Header/util.js.map +1 -1
  60. package/dist/esm/packages/taco/src/components/Report/components/Internal/Selection.js +47 -11
  61. package/dist/esm/packages/taco/src/components/Report/components/Internal/Selection.js.map +1 -1
  62. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/Filters.js +13 -1
  63. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/Filters.js.map +1 -1
  64. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/ManageFiltersPopover.js +44 -51
  65. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +1 -1
  66. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/components/Filter.js +14 -7
  67. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/components/Filter.js.map +1 -1
  68. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/components/FilterColumn.js +4 -3
  69. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/components/FilterColumn.js.map +1 -1
  70. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/components/FilterValue.js +11 -1
  71. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/components/FilterValue.js.map +1 -1
  72. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/util.js +4 -1
  73. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/util.js.map +1 -1
  74. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Print/Print.js +10 -8
  75. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Print/Print.js.map +1 -1
  76. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Settings/HideOrOrderPopover.js +1 -1
  77. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Settings/HideOrOrderPopover.js.map +1 -1
  78. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Settings/Settings.js +1 -1
  79. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Settings/Settings.js.map +1 -1
  80. package/dist/esm/packages/taco/src/components/Report/listeners/useTableRowActiveListener.js +2 -2
  81. package/dist/esm/packages/taco/src/components/Report/listeners/useTableRowActiveListener.js.map +1 -1
  82. package/dist/esm/packages/taco/src/components/Report/styles/useCssGridStylesheet.js +8 -5
  83. package/dist/esm/packages/taco/src/components/Report/styles/useCssGridStylesheet.js.map +1 -1
  84. package/dist/esm/packages/taco/src/components/Report/useReport.js +3 -3
  85. package/dist/esm/packages/taco/src/components/Report/useReport.js.map +1 -1
  86. package/dist/esm/packages/taco/src/components/Report/util/useTableGlobalShortcuts.js +3 -10
  87. package/dist/esm/packages/taco/src/components/Report/util/useTableGlobalShortcuts.js.map +1 -1
  88. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js +2 -1
  89. package/dist/esm/packages/taco/src/components/SearchInput2/SearchInput2.js.map +1 -1
  90. package/dist/esm/packages/taco/src/components/Select2/Select2.js +43 -4
  91. package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
  92. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js +1 -1
  93. package/dist/esm/packages/taco/src/components/Select2/hooks/useChildren.js.map +1 -1
  94. package/dist/esm/packages/taco/src/components/Table/components/PaginatedTable.js.map +1 -1
  95. package/dist/esm/packages/taco/src/components/Table/components/Table.js.map +1 -1
  96. package/dist/esm/packages/taco/src/components/Table/components/WindowedTable.js.map +1 -1
  97. package/dist/esm/packages/taco/src/components/Table/hooks/plugins/useRowActions.js.map +1 -1
  98. package/dist/esm/packages/taco/src/components/Table/hooks/useRowCreation.js.map +1 -1
  99. package/dist/esm/packages/taco/src/components/Table/hooks/useTable.js.map +1 -1
  100. package/dist/esm/packages/taco/src/components/Table/hooks/useTableKeyboardNavigation.js.map +1 -1
  101. package/dist/esm/packages/taco/src/components/Table/util/renderRow.js.map +1 -1
  102. package/dist/esm/packages/taco/src/components/Table/util/sortTypes.js.map +1 -1
  103. package/dist/esm/packages/taco/src/components/Table/util.js.map +1 -1
  104. package/dist/esm/packages/taco/src/components/Table3/Table3.js +4 -6
  105. package/dist/esm/packages/taco/src/components/Table3/Table3.js.map +1 -1
  106. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js +1 -1
  107. package/dist/esm/packages/taco/src/components/Table3/components/columns/footer/Summary.js.map +1 -1
  108. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js +66 -14
  109. package/dist/esm/packages/taco/src/components/Table3/components/columns/internal/Selection.js.map +1 -1
  110. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js +1 -1
  111. package/dist/esm/packages/taco/src/components/Table3/components/columns/styles.js.map +1 -1
  112. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js +1 -1
  113. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/ColumnSettings.js.map +1 -1
  114. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js +27 -44
  115. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/Filters.js.map +1 -1
  116. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js +14 -7
  117. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Filter.js.map +1 -1
  118. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js +4 -3
  119. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterColumn.js.map +1 -1
  120. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js +1 -1
  121. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/FilterComparator.js.map +1 -1
  122. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js +2 -0
  123. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintButton.js.map +1 -1
  124. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +1 -1
  125. package/dist/esm/packages/taco/src/components/Table3/hooks/features/useSettings.js +1 -1
  126. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js +3 -1
  127. package/dist/esm/packages/taco/src/components/Table3/hooks/listeners/useSettingsStateListener.js.map +1 -1
  128. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js +26 -19
  129. package/dist/esm/packages/taco/src/components/Table3/hooks/useTable.js.map +1 -1
  130. package/dist/esm/packages/taco/src/components/Table3/types.js.map +1 -1
  131. package/dist/esm/packages/taco/src/hooks/useLocalStorage.js.map +1 -1
  132. package/dist/esm/packages/taco/src/index.js +1 -1
  133. package/dist/esm/packages/taco/src/primitives/Button.js +1 -0
  134. package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
  135. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
  136. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableColumnFreezing.js.map +1 -0
  137. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableColumnOrdering.js.map +1 -0
  138. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableFontSize.js.map +1 -0
  139. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableFooter.js.map +1 -0
  140. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTablePrinting.js +36 -0
  141. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTablePrinting.js.map +1 -0
  142. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRef.js.map +1 -0
  143. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActions.js.map +1 -0
  144. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowActive.js.map +1 -0
  145. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowClick.js.map +1 -0
  146. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowExpansion.js.map +1 -0
  147. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowGoto.js.map +1 -0
  148. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowGroups.js.map +1 -0
  149. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowHeight.js.map +1 -0
  150. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableRowSelection.js.map +1 -0
  151. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSearch.js.map +1 -0
  152. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js.map +1 -0
  153. package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableSettings.js +1 -2
  154. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableSettings.js.map +1 -0
  155. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableDataListener.js.map +1 -0
  156. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFilterListener.js.map +1 -0
  157. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js.map +1 -0
  158. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableRowHeightListener.js.map +1 -0
  159. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js.map +1 -0
  160. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -0
  161. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js.map +1 -0
  162. package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/listeners/useTableSettingsListener.js +1 -1
  163. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSettingsListener.js.map +1 -0
  164. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableShortcutsListener.js.map +1 -0
  165. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSortingListener.js.map +1 -0
  166. package/dist/esm/packages/taco/src/primitives/Table/{useTable/useTable.js → useTableManager/useTableManager.js} +10 -8
  167. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js.map +1 -0
  168. package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/util/columns.js +33 -7
  169. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/columns.js.map +1 -0
  170. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/filtering.js.map +1 -0
  171. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/presets.js.map +1 -0
  172. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/search.js.map +1 -0
  173. package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/util/settings.js +0 -1
  174. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/settings.js.map +1 -0
  175. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -0
  176. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/sorting.js.map +1 -0
  177. package/dist/esm/packages/taco/src/utils/dom.js +12 -3
  178. package/dist/esm/packages/taco/src/utils/dom.js.map +1 -1
  179. package/dist/esm/packages/taco/src/utils/keyboard.js +2 -2
  180. package/dist/esm/packages/taco/src/utils/keyboard.js.map +1 -1
  181. package/dist/hooks/useLocalStorage.d.ts +2 -1
  182. package/dist/index.css +55 -46
  183. package/dist/primitives/Table/types.d.ts +5 -18
  184. package/dist/primitives/Table/useTableManager/features/useTablePrinting.d.ts +15 -0
  185. package/dist/primitives/Table/useTableManager/types.d.ts +13 -0
  186. package/dist/primitives/Table/{useTable/useTable.d.ts → useTableManager/useTableManager.d.ts} +4 -3
  187. package/dist/primitives/Table/useTableManager/util/presets.d.ts +2 -0
  188. package/dist/primitives/Table/{useTable → useTableManager}/util/settings.d.ts +0 -1
  189. package/dist/primitives/Table/{useTable → useTableManager}/util/setup.d.ts +5 -4
  190. package/dist/taco.cjs.development.js +603 -408
  191. package/dist/taco.cjs.development.js.map +1 -1
  192. package/dist/taco.cjs.production.min.js +1 -1
  193. package/dist/taco.cjs.production.min.js.map +1 -1
  194. package/dist/utils/dom.d.ts +3 -1
  195. package/package.json +2 -2
  196. package/types.json +10314 -9345
  197. package/dist/components/Report/components/Toolbar/components/Filters/components/Placeholder.d.ts +0 -12
  198. package/dist/components/Table3/components/toolbar/Filter/filters/components/Placeholder.d.ts +0 -12
  199. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/components/Placeholder.js +0 -41
  200. package/dist/esm/packages/taco/src/components/Report/components/Toolbar/components/Filters/components/Placeholder.js.map +0 -1
  201. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js +0 -41
  202. package/dist/esm/packages/taco/src/components/Table3/components/toolbar/Filter/filters/components/Placeholder.js.map +0 -1
  203. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableColumnFreezing.js.map +0 -1
  204. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableColumnOrdering.js.map +0 -1
  205. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableFontSize.js.map +0 -1
  206. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableFooter.js.map +0 -1
  207. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTablePrinting.js +0 -16
  208. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTablePrinting.js.map +0 -1
  209. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRef.js.map +0 -1
  210. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowActions.js.map +0 -1
  211. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowActive.js.map +0 -1
  212. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowClick.js.map +0 -1
  213. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowExpansion.js.map +0 -1
  214. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowGoto.js.map +0 -1
  215. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowGroups.js.map +0 -1
  216. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowHeight.js.map +0 -1
  217. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableRowSelection.js.map +0 -1
  218. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableSearch.js.map +0 -1
  219. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableServerLoading.js.map +0 -1
  220. package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableSettings.js.map +0 -1
  221. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableDataListener.js.map +0 -1
  222. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFilterListener.js.map +0 -1
  223. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableFontSizeListener.js.map +0 -1
  224. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableRowHeightListener.js.map +0 -1
  225. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableRowSelectionListener.js.map +0 -1
  226. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableSearchListener.js.map +0 -1
  227. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableServerLoadingListener.js.map +0 -1
  228. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableSettingsListener.js.map +0 -1
  229. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableShortcutsListener.js.map +0 -1
  230. package/dist/esm/packages/taco/src/primitives/Table/useTable/listeners/useTableSortingListener.js.map +0 -1
  231. package/dist/esm/packages/taco/src/primitives/Table/useTable/useTable.js.map +0 -1
  232. package/dist/esm/packages/taco/src/primitives/Table/useTable/util/columns.js.map +0 -1
  233. package/dist/esm/packages/taco/src/primitives/Table/useTable/util/filtering.js.map +0 -1
  234. package/dist/esm/packages/taco/src/primitives/Table/useTable/util/presets.js.map +0 -1
  235. package/dist/esm/packages/taco/src/primitives/Table/useTable/util/search.js.map +0 -1
  236. package/dist/esm/packages/taco/src/primitives/Table/useTable/util/settings.js.map +0 -1
  237. package/dist/esm/packages/taco/src/primitives/Table/useTable/util/setup.js.map +0 -1
  238. package/dist/esm/packages/taco/src/primitives/Table/useTable/util/sorting.js.map +0 -1
  239. package/dist/primitives/Table/useTable/features/useTablePrinting.d.ts +0 -8
  240. package/dist/primitives/Table/useTable/util/presets.d.ts +0 -2
  241. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableColumnFreezing.js +0 -0
  242. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableColumnOrdering.js +0 -0
  243. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableFontSize.js +0 -0
  244. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableFooter.js +0 -0
  245. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableRef.js +0 -0
  246. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableRowActions.js +0 -0
  247. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableRowActive.js +0 -0
  248. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableRowClick.js +0 -0
  249. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableRowExpansion.js +0 -0
  250. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableRowGoto.js +0 -0
  251. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableRowGroups.js +0 -0
  252. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableRowHeight.js +0 -0
  253. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableRowSelection.js +0 -0
  254. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableSearch.js +0 -0
  255. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/features/useTableServerLoading.js +0 -0
  256. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/listeners/useTableDataListener.js +0 -0
  257. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/listeners/useTableFilterListener.js +0 -0
  258. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/listeners/useTableFontSizeListener.js +0 -0
  259. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/listeners/useTableRowHeightListener.js +0 -0
  260. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/listeners/useTableRowSelectionListener.js +0 -0
  261. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/listeners/useTableSearchListener.js +0 -0
  262. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/listeners/useTableServerLoadingListener.js +0 -0
  263. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/listeners/useTableShortcutsListener.js +0 -0
  264. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/listeners/useTableSortingListener.js +0 -0
  265. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/util/filtering.js +0 -0
  266. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/util/presets.js +0 -0
  267. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/util/search.js +0 -0
  268. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/util/setup.js +0 -0
  269. /package/dist/esm/packages/taco/src/primitives/Table/{useTable → useTableManager}/util/sorting.js +0 -0
  270. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableColumnFreezing.d.ts +0 -0
  271. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableColumnOrdering.d.ts +0 -0
  272. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableFontSize.d.ts +0 -0
  273. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableFooter.d.ts +0 -0
  274. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableRef.d.ts +0 -0
  275. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableRowActions.d.ts +0 -0
  276. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableRowActive.d.ts +0 -0
  277. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableRowClick.d.ts +0 -0
  278. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableRowExpansion.d.ts +0 -0
  279. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableRowGoto.d.ts +0 -0
  280. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableRowGroups.d.ts +0 -0
  281. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableRowHeight.d.ts +0 -0
  282. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableRowSelection.d.ts +0 -0
  283. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableSearch.d.ts +0 -0
  284. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableServerLoading.d.ts +0 -0
  285. /package/dist/primitives/Table/{useTable → useTableManager}/features/useTableSettings.d.ts +0 -0
  286. /package/dist/primitives/Table/{useTable → useTableManager}/listeners/useTableDataListener.d.ts +0 -0
  287. /package/dist/primitives/Table/{useTable → useTableManager}/listeners/useTableFilterListener.d.ts +0 -0
  288. /package/dist/primitives/Table/{useTable → useTableManager}/listeners/useTableFontSizeListener.d.ts +0 -0
  289. /package/dist/primitives/Table/{useTable → useTableManager}/listeners/useTableRowHeightListener.d.ts +0 -0
  290. /package/dist/primitives/Table/{useTable → useTableManager}/listeners/useTableRowSelectionListener.d.ts +0 -0
  291. /package/dist/primitives/Table/{useTable → useTableManager}/listeners/useTableSearchListener.d.ts +0 -0
  292. /package/dist/primitives/Table/{useTable → useTableManager}/listeners/useTableServerLoadingListener.d.ts +0 -0
  293. /package/dist/primitives/Table/{useTable → useTableManager}/listeners/useTableSettingsListener.d.ts +0 -0
  294. /package/dist/primitives/Table/{useTable → useTableManager}/listeners/useTableShortcutsListener.d.ts +0 -0
  295. /package/dist/primitives/Table/{useTable → useTableManager}/listeners/useTableSortingListener.d.ts +0 -0
  296. /package/dist/primitives/Table/{useTable → useTableManager}/util/columns.d.ts +0 -0
  297. /package/dist/primitives/Table/{useTable → useTableManager}/util/columns.spec.d.ts +0 -0
  298. /package/dist/primitives/Table/{useTable → useTableManager}/util/filtering.d.ts +0 -0
  299. /package/dist/primitives/Table/{useTable → useTableManager}/util/search.d.ts +0 -0
  300. /package/dist/primitives/Table/{useTable → useTableManager}/util/sorting.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Report.js","sources":["../../../../../../../src/components/Report/Report.tsx"],"sourcesContent":["import React from 'react';\nimport { FocusScope } from '@react-aria/focus';\nimport { fixedForwardRef } from '../../types';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { useReport } from './useReport';\nimport { ReportColumnProps, ReportGroupProps, ReportProps } from './types';\nimport { Header } from './components/Header/Header';\nimport { Body } from './components/Body/Body';\nimport { Footer } from './components/Footer/Footer';\nimport { Summary } from './components/Footer/Summary';\nimport { Toolbar } from './components/Toolbar/Toolbar';\nimport { TableRef } from '../../primitives/Table/types';\nimport { useStylesheet } from './styles/useStylesheet';\nimport { useTableRenderer } from './util/useTableRenderer';\nimport { useTableGlobalShortcuts } from './util/useTableGlobalShortcuts';\nimport { EmptyStateBody } from './components/Body/EmptyStateBody';\nimport './style.css';\n\nfunction Column<TType = unknown>(_: ReportColumnProps<TType>) {\n return null;\n}\n\nfunction Group(_: ReportGroupProps) {\n return null;\n}\n\nexport const Report = fixedForwardRef<TableRef, ReportProps>(function Report<TType = unknown>(\n props: ReportProps<TType>,\n ref: React.Ref<TableRef>\n) {\n const tableRef = useMergedRef<TableRef>(ref);\n const report = useReport<TType>(props, tableRef);\n const renderer = useTableRenderer<TType>(report.instance, tableRef, props.defaultRowActiveIndex);\n const stylesheet = useStylesheet(report.id, report.instance);\n useTableGlobalShortcuts(report.instance, tableRef, renderer.scrollToIndex);\n\n const handleFocus =\n report.meta.rowActive.rowActiveIndex === undefined\n ? (event: React.FocusEvent) => {\n report.meta.rowActive.handleFocus(event, report.length, renderer.scrollToIndex);\n }\n : undefined;\n\n return (\n <>\n {stylesheet}\n <Toolbar\n customSettings={props.customSettings}\n left={props.toolbarLeft}\n length={report.length}\n right={props.toolbarRight}\n scrollToIndex={renderer.scrollToIndex}\n table={report.instance}\n tableId={report.id}\n tableRef={tableRef}\n />\n {props.toolbarPanel ? <div className=\"mb-4\">{props.toolbarPanel}</div> : undefined}\n <FocusScope>\n <table\n id={report.id}\n data-taco=\"report\"\n data-table-font-size={report.meta.fontSize.size}\n data-table-horizontally-scrolled={report.meta.columnFreezing.isHorizontallyScrolled ? true : undefined}\n data-table-pause-hover={report.meta.rowActive.isHoverStatePaused ? true : undefined}\n data-table-resizing={report.state.columnSizingInfo.isResizingColumn ? true : undefined}\n data-table-row-height={report.meta.rowHeight.height}\n data-table-grouped={!!report.state.grouping?.length}\n onFocus={handleFocus}\n onScroll={report.meta.columnFreezing.handleScroll}\n ref={tableRef}\n tabIndex={-1}>\n <thead>\n {report.instance.getHeaderGroups().map(headerGroup => (\n <tr key={headerGroup.id}>{headerGroup.headers.map(Header)}</tr>\n ))}\n </thead>\n {renderer.rows?.length ? (\n <>\n <Body length={report.length} table={report.instance} style={renderer.style}>\n {renderer.rows}\n </Body>\n {report.meta.footer.isEnabled ? (\n <tfoot>\n <tr>{report.instance.getFooterGroups()[0].headers.map(Footer)}</tr>\n </tfoot>\n ) : null}\n </>\n ) : (\n <EmptyStateBody emptyState={props.emptyState} />\n )}\n </table>\n {report.meta.footer.isEnabled ? <Summary length={report.length} table={report.instance} /> : null}\n </FocusScope>\n </>\n );\n}) as (<TType = unknown>(props: ReportProps<TType> & React.RefAttributes<TableRef>) => JSX.Element) & {\n Column: typeof Column;\n Group: typeof Group;\n};\nReport.Column = Column;\nReport.Group = Group;\n\nexport * from './types';\n"],"names":["Column","_","Group","Report","fixedForwardRef","props","ref","tableRef","useMergedRef","report","useReport","renderer","useTableRenderer","instance","defaultRowActiveIndex","stylesheet","useStylesheet","id","useTableGlobalShortcuts","scrollToIndex","handleFocus","meta","rowActive","rowActiveIndex","undefined","event","length","React","Toolbar","customSettings","left","toolbarLeft","right","toolbarRight","table","tableId","toolbarPanel","className","FocusScope","fontSize","size","columnFreezing","isHorizontallyScrolled","isHoverStatePaused","state","columnSizingInfo","isResizingColumn","rowHeight","height","_report$state$groupin","grouping","onFocus","onScroll","handleScroll","tabIndex","getHeaderGroups","map","headerGroup","key","headers","Header","_renderer$rows","rows","Body","style","footer","isEnabled","getFooterGroups","Footer","EmptyStateBody","emptyState","Summary"],"mappings":";;;;;;;;;;;;;;;AAkBA,SAASA,MAAMA,CAAkBC,CAA2B;EACxD,OAAO,IAAI;AACf;AAEA,SAASC,KAAKA,CAACD,CAAmB;EAC9B,OAAO,IAAI;AACf;MAEaE,MAAM,gBAAGC,eAAe,CAAwB,SAASD,MAAMA,CACxEE,KAAyB,EACzBC,GAAwB;;EAExB,MAAMC,QAAQ,GAAGC,YAAY,CAAWF,GAAG,CAAC;EAC5C,MAAMG,MAAM,GAAGC,SAAS,CAAQL,KAAK,EAAEE,QAAQ,CAAC;EAChD,MAAMI,QAAQ,GAAGC,gBAAgB,CAAQH,MAAM,CAACI,QAAQ,EAAEN,QAAQ,EAAEF,KAAK,CAACS,qBAAqB,CAAC;EAChG,MAAMC,UAAU,GAAGC,aAAa,CAACP,MAAM,CAACQ,EAAE,EAAER,MAAM,CAACI,QAAQ,CAAC;EAC5DK,uBAAuB,CAACT,MAAM,CAACI,QAAQ,EAAEN,QAAQ,EAAEI,QAAQ,CAACQ,aAAa,CAAC;EAE1E,MAAMC,WAAW,GACbX,MAAM,CAACY,IAAI,CAACC,SAAS,CAACC,cAAc,KAAKC,SAAS,GAC3CC,KAAuB;IACpBhB,MAAM,CAACY,IAAI,CAACC,SAAS,CAACF,WAAW,CAACK,KAAK,EAAEhB,MAAM,CAACiB,MAAM,EAAEf,QAAQ,CAACQ,aAAa,CAAC;GAClF,GACDK,SAAS;EAEnB,oBACIG,4DACKZ,UAAU,eACXY,6BAACC,OAAO;IACJC,cAAc,EAAExB,KAAK,CAACwB,cAAc;IACpCC,IAAI,EAAEzB,KAAK,CAAC0B,WAAW;IACvBL,MAAM,EAAEjB,MAAM,CAACiB,MAAM;IACrBM,KAAK,EAAE3B,KAAK,CAAC4B,YAAY;IACzBd,aAAa,EAAER,QAAQ,CAACQ,aAAa;IACrCe,KAAK,EAAEzB,MAAM,CAACI,QAAQ;IACtBsB,OAAO,EAAE1B,MAAM,CAACQ,EAAE;IAClBV,QAAQ,EAAEA;IACZ,EACDF,KAAK,CAAC+B,YAAY,gBAAGT;IAAKU,SAAS,EAAC;KAAQhC,KAAK,CAAC+B,YAAY,CAAO,GAAGZ,SAAS,eAClFG,6BAACW,UAAU,qBACPX;IACIV,EAAE,EAAER,MAAM,CAACQ,EAAE;iBACH,QAAQ;4BACIR,MAAM,CAACY,IAAI,CAACkB,QAAQ,CAACC,IAAI;wCACb/B,MAAM,CAACY,IAAI,CAACoB,cAAc,CAACC,sBAAsB,GAAG,IAAI,GAAGlB,SAAS;8BAC9Ef,MAAM,CAACY,IAAI,CAACC,SAAS,CAACqB,kBAAkB,GAAG,IAAI,GAAGnB,SAAS;2BAC9Df,MAAM,CAACmC,KAAK,CAACC,gBAAgB,CAACC,gBAAgB,GAAG,IAAI,GAAGtB,SAAS;6BAC/Df,MAAM,CAACY,IAAI,CAAC0B,SAAS,CAACC,MAAM;0BAC/B,CAAC,GAAAC,qBAAA,GAACxC,MAAM,CAACmC,KAAK,CAACM,QAAQ,cAAAD,qBAAA,eAArBA,qBAAA,CAAuBvB,MAAM;IACnDyB,OAAO,EAAE/B,WAAW;IACpBgC,QAAQ,EAAE3C,MAAM,CAACY,IAAI,CAACoB,cAAc,CAACY,YAAY;IACjD/C,GAAG,EAAEC,QAAQ;IACb+C,QAAQ,EAAE,CAAC;kBACX3B,4CACKlB,MAAM,CAACI,QAAQ,CAAC0C,eAAe,EAAE,CAACC,GAAG,CAACC,WAAW,mBAC9C9B;IAAI+B,GAAG,EAAED,WAAW,CAACxC;KAAKwC,WAAW,CAACE,OAAO,CAACH,GAAG,CAACI,MAAM,CAAC,CAAM,CAClE,CAAC,CACE,EACP,CAAAC,cAAA,GAAAlD,QAAQ,CAACmD,IAAI,cAAAD,cAAA,eAAbA,cAAA,CAAenC,MAAM,kBAClBC,yEACIA,6BAACoC,IAAI;IAACrC,MAAM,EAAEjB,MAAM,CAACiB,MAAM;IAAEQ,KAAK,EAAEzB,MAAM,CAACI,QAAQ;IAAEmD,KAAK,EAAErD,QAAQ,CAACqD;KAChErD,QAAQ,CAACmD,IAAI,CACX,EACNrD,MAAM,CAACY,IAAI,CAAC4C,MAAM,CAACC,SAAS,kBACzBvC,yDACIA,yCAAKlB,MAAM,CAACI,QAAQ,CAACsD,eAAe,EAAE,CAAC,CAAC,CAAC,CAACR,OAAO,CAACH,GAAG,CAACY,MAAM,CAAC,CAAM,CAC/D,IACR,IAAI,CACT,mBAEHzC,6BAAC0C,cAAc;IAACC,UAAU,EAAEjE,KAAK,CAACiE;IAAc,CACnD,CACG,EACP7D,MAAM,CAACY,IAAI,CAAC4C,MAAM,CAACC,SAAS,gBAAGvC,6BAAC4C,OAAO;IAAC7C,MAAM,EAAEjB,MAAM,CAACiB,MAAM;IAAEQ,KAAK,EAAEzB,MAAM,CAACI;IAAY,GAAG,IAAI,CACxF,CACd;AAEX,CAAC;AAIDV,MAAM,CAACH,MAAM,GAAGA,MAAM;AACtBG,MAAM,CAACD,KAAK,GAAGA,KAAK;;;;"}
1
+ {"version":3,"file":"Report.js","sources":["../../../../../../../src/components/Report/Report.tsx"],"sourcesContent":["import React from 'react';\nimport { FocusScope } from '@react-aria/focus';\nimport { fixedForwardRef } from '../../types';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { useReport } from './useReport';\nimport { ReportColumnProps, ReportGroupProps, ReportProps } from './types';\nimport { Header } from './components/Header/Header';\nimport { Body } from './components/Body/Body';\nimport { Footer } from './components/Footer/Footer';\nimport { Toolbar } from './components/Toolbar/Toolbar';\nimport { TableRef } from '../../primitives/Table/types';\nimport { useStylesheet } from './styles/useStylesheet';\nimport { useTableRenderer } from './util/useTableRenderer';\nimport { useTableGlobalShortcuts } from './util/useTableGlobalShortcuts';\nimport { EmptyStateBody } from './components/Body/EmptyStateBody';\nimport './style.css';\n\nfunction Column<TType = unknown>(_: ReportColumnProps<TType>) {\n return null;\n}\n\nfunction Group(_: ReportGroupProps) {\n return null;\n}\n\nexport const Report = fixedForwardRef<TableRef, ReportProps>(function Report<TType = unknown>(\n props: ReportProps<TType>,\n ref: React.Ref<TableRef>\n) {\n const tableRef = useMergedRef<TableRef>(ref);\n const report = useReport<TType>(props, tableRef);\n const renderer = useTableRenderer<TType>(report.instance, tableRef, props.defaultRowActiveIndex);\n const stylesheet = useStylesheet(report.id, report.instance);\n useTableGlobalShortcuts(report.instance, tableRef, renderer.scrollToIndex);\n\n const handleFocus =\n report.meta.rowActive.rowActiveIndex === undefined\n ? (event: React.FocusEvent) => {\n report.meta.rowActive.handleFocus(event, report.meta.length, renderer.scrollToIndex);\n }\n : undefined;\n\n return (\n <>\n {stylesheet}\n <Toolbar\n customSettings={props.customSettings}\n left={props.toolbarLeft}\n length={report.meta.length}\n right={props.toolbarRight}\n scrollToIndex={renderer.scrollToIndex}\n table={report.instance}\n tableId={report.id}\n tableRef={tableRef}\n />\n {props.toolbarPanel ? <div className=\"mb-4\">{props.toolbarPanel}</div> : undefined}\n <FocusScope>\n <table\n id={report.id}\n data-taco=\"report\"\n data-table-font-size={report.meta.fontSize.size}\n data-table-horizontally-scrolled={report.meta.columnFreezing.isHorizontallyScrolled ? true : undefined}\n data-table-pause-hover={report.meta.rowActive.isHoverStatePaused ? true : undefined}\n data-table-resizing={report.state.columnSizingInfo.isResizingColumn ? true : undefined}\n data-table-row-height={report.meta.rowHeight.height}\n data-table-grouped={!!report.state.grouping?.length}\n onFocus={handleFocus}\n onScroll={report.meta.columnFreezing.handleScroll}\n ref={tableRef}\n tabIndex={-1}>\n <thead>\n {report.instance.getHeaderGroups().map(headerGroup => (\n <tr key={headerGroup.id}>{headerGroup.headers.map(Header)}</tr>\n ))}\n </thead>\n {renderer.rows?.length ? (\n <>\n <Body table={report.instance} style={renderer.style}>\n {renderer.rows}\n </Body>\n {report.meta.footer.isEnabled ? (\n <tfoot>\n <tr>{report.instance.getFooterGroups()[0].headers.map(Footer)}</tr>\n </tfoot>\n ) : null}\n </>\n ) : (\n <EmptyStateBody emptyState={props.emptyState} />\n )}\n </table>\n </FocusScope>\n </>\n );\n}) as (<TType = unknown>(props: ReportProps<TType> & React.RefAttributes<TableRef>) => JSX.Element) & {\n Column: typeof Column;\n Group: typeof Group;\n};\nReport.Column = Column;\nReport.Group = Group;\n\nexport * from './types';\n"],"names":["Column","_","Group","Report","fixedForwardRef","props","ref","tableRef","useMergedRef","report","useReport","renderer","useTableRenderer","instance","defaultRowActiveIndex","stylesheet","useStylesheet","id","useTableGlobalShortcuts","scrollToIndex","handleFocus","meta","rowActive","rowActiveIndex","undefined","event","length","React","Toolbar","customSettings","left","toolbarLeft","right","toolbarRight","table","tableId","toolbarPanel","className","FocusScope","fontSize","size","columnFreezing","isHorizontallyScrolled","isHoverStatePaused","state","columnSizingInfo","isResizingColumn","rowHeight","height","_report$state$groupin","grouping","onFocus","onScroll","handleScroll","tabIndex","getHeaderGroups","map","headerGroup","key","headers","Header","_renderer$rows","rows","Body","style","footer","isEnabled","getFooterGroups","Footer","EmptyStateBody","emptyState"],"mappings":"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"}
@@ -4,7 +4,6 @@ import { useAugmentedFocusManager } from './util.js';
4
4
  function Body(props) {
5
5
  const {
6
6
  enableArrowKeyFocusing = false,
7
- length,
8
7
  table,
9
8
  ...attributes
10
9
  } = props;
@@ -19,7 +18,7 @@ function Body(props) {
19
18
  }
20
19
  if (tableMeta.rowActive.rowActiveIndex !== undefined) {
21
20
  const isFirstRow = tableMeta.rowActive.rowActiveIndex === 0;
22
- const isLastRow = tableMeta.rowActive.rowActiveIndex === length - 1;
21
+ const isLastRow = tableMeta.rowActive.rowActiveIndex === tableMeta.length - 1;
23
22
  if (event.key === 'Tab' || enableArrowKeyFocusing && (event.key === 'ArrowLeft' || event.key === 'ArrowRight')) {
24
23
  tableMeta.rowActive.setHoverStatePaused(true);
25
24
  const focusedElement = event.shiftKey || event.key === 'ArrowLeft' ? focusManager.focusPrevious() : focusManager.focusNext();
@@ -51,7 +50,9 @@ function Body(props) {
51
50
  }
52
51
  }
53
52
  };
54
- return /*#__PURE__*/React__default.createElement("tbody", Object.assign({}, attributes, {
53
+ return /*#__PURE__*/React__default.createElement("tbody", Object.assign({
54
+ "data-taco": "report-body"
55
+ }, attributes, {
55
56
  onKeyDown: handleKeyDown,
56
57
  ref: ref
57
58
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"Body.js","sources":["../../../../../../../../../src/components/Report/components/Body/Body.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useAugmentedFocusManager } from './util';\n\ntype BodyProps<TType = unknown> = React.HTMLAttributes<HTMLTableSectionElement> & {\n enableArrowKeyFocusing?: boolean;\n length: number;\n table: ReactTable<TType>;\n};\n\nexport function Body<TType = unknown>(props: BodyProps<TType>) {\n const { enableArrowKeyFocusing = false, length, table, ...attributes } = props;\n const ref = React.useRef<HTMLTableSectionElement>(null);\n const focusManager = useAugmentedFocusManager();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n // some rows won't have anything focusable in, and we don't want tab to move between rows in that case\n const focusableElementsInRowCountRef = React.useRef(0);\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.isDefaultPrevented() || event.isPropagationStopped()) {\n return;\n }\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n const isFirstRow = tableMeta.rowActive.rowActiveIndex === 0;\n const isLastRow = tableMeta.rowActive.rowActiveIndex === length - 1;\n\n if (event.key === 'Tab' || (enableArrowKeyFocusing && (event.key === 'ArrowLeft' || event.key === 'ArrowRight'))) {\n tableMeta.rowActive.setHoverStatePaused(true);\n\n const focusedElement =\n event.shiftKey || event.key === 'ArrowLeft' ? focusManager.focusPrevious() : focusManager.focusNext();\n\n if (focusedElement) {\n // override default behaviour, since we're handling focus internally now\n event.preventDefault();\n focusableElementsInRowCountRef.current = focusableElementsInRowCountRef.current + 1;\n return;\n }\n\n if (event.shiftKey || event.key === 'ArrowLeft') {\n if (!isFirstRow && focusableElementsInRowCountRef.current !== 0) {\n // there are no previous elements to focus, go up a row or go outside the table\n // but only if there are actually any focusable elements in the row\n event.preventDefault();\n tableMeta.rowActive.setRowActiveIndex(tableMeta.rowActive.rowActiveIndex - 1);\n focusableElementsInRowCountRef.current = 0;\n requestAnimationFrame(() => focusManager.focusLast());\n }\n } else {\n if (!isLastRow && focusableElementsInRowCountRef.current !== 0) {\n // there are no next elements to focus, go down a row or go outside the table\n // but only if there are actually any focusable elements in the row\n event.preventDefault();\n tableMeta.rowActive.setRowActiveIndex(tableMeta.rowActive.rowActiveIndex + 1);\n focusableElementsInRowCountRef.current = 0;\n requestAnimationFrame(() => focusManager.focusFirst());\n }\n }\n }\n }\n };\n\n return <tbody {...attributes} onKeyDown={handleKeyDown} ref={ref} />;\n}\n"],"names":["Body","props","enableArrowKeyFocusing","length","table","attributes","ref","React","useRef","focusManager","useAugmentedFocusManager","tableMeta","options","meta","focusableElementsInRowCountRef","handleKeyDown","event","isDefaultPrevented","isPropagationStopped","rowActive","rowActiveIndex","undefined","isFirstRow","isLastRow","key","setHoverStatePaused","focusedElement","shiftKey","focusPrevious","focusNext","preventDefault","current","setRowActiveIndex","requestAnimationFrame","focusLast","focusFirst","onKeyDown"],"mappings":";;;SAUgBA,IAAIA,CAAkBC,KAAuB;EACzD,MAAM;IAAEC,sBAAsB,GAAG,KAAK;IAAEC,MAAM;IAAEC,KAAK;IAAE,GAAGC;GAAY,GAAGJ,KAAK;EAC9E,MAAMK,GAAG,GAAGC,cAAK,CAACC,MAAM,CAA0B,IAAI,CAAC;EACvD,MAAMC,YAAY,GAAGC,wBAAwB,EAAE;EAC/C,MAAMC,SAAS,GAAGP,KAAK,CAACQ,OAAO,CAACC,IAA6B;;EAG7D,MAAMC,8BAA8B,GAAGP,cAAK,CAACC,MAAM,CAAC,CAAC,CAAC;EAEtD,MAAMO,aAAa,GAAIC,KAA0B;IAC7C,IAAIA,KAAK,CAACC,kBAAkB,EAAE,IAAID,KAAK,CAACE,oBAAoB,EAAE,EAAE;MAC5D;;IAGJ,IAAIP,SAAS,CAACQ,SAAS,CAACC,cAAc,KAAKC,SAAS,EAAE;MAClD,MAAMC,UAAU,GAAGX,SAAS,CAACQ,SAAS,CAACC,cAAc,KAAK,CAAC;MAC3D,MAAMG,SAAS,GAAGZ,SAAS,CAACQ,SAAS,CAACC,cAAc,KAAKjB,MAAM,GAAG,CAAC;MAEnE,IAAIa,KAAK,CAACQ,GAAG,KAAK,KAAK,IAAKtB,sBAAsB,KAAKc,KAAK,CAACQ,GAAG,KAAK,WAAW,IAAIR,KAAK,CAACQ,GAAG,KAAK,YAAY,CAAE,EAAE;QAC9Gb,SAAS,CAACQ,SAAS,CAACM,mBAAmB,CAAC,IAAI,CAAC;QAE7C,MAAMC,cAAc,GAChBV,KAAK,CAACW,QAAQ,IAAIX,KAAK,CAACQ,GAAG,KAAK,WAAW,GAAGf,YAAY,CAACmB,aAAa,EAAE,GAAGnB,YAAY,CAACoB,SAAS,EAAE;QAEzG,IAAIH,cAAc,EAAE;;UAEhBV,KAAK,CAACc,cAAc,EAAE;UACtBhB,8BAA8B,CAACiB,OAAO,GAAGjB,8BAA8B,CAACiB,OAAO,GAAG,CAAC;UACnF;;QAGJ,IAAIf,KAAK,CAACW,QAAQ,IAAIX,KAAK,CAACQ,GAAG,KAAK,WAAW,EAAE;UAC7C,IAAI,CAACF,UAAU,IAAIR,8BAA8B,CAACiB,OAAO,KAAK,CAAC,EAAE;;;YAG7Df,KAAK,CAACc,cAAc,EAAE;YACtBnB,SAAS,CAACQ,SAAS,CAACa,iBAAiB,CAACrB,SAAS,CAACQ,SAAS,CAACC,cAAc,GAAG,CAAC,CAAC;YAC7EN,8BAA8B,CAACiB,OAAO,GAAG,CAAC;YAC1CE,qBAAqB,CAAC,MAAMxB,YAAY,CAACyB,SAAS,EAAE,CAAC;;SAE5D,MAAM;UACH,IAAI,CAACX,SAAS,IAAIT,8BAA8B,CAACiB,OAAO,KAAK,CAAC,EAAE;;;YAG5Df,KAAK,CAACc,cAAc,EAAE;YACtBnB,SAAS,CAACQ,SAAS,CAACa,iBAAiB,CAACrB,SAAS,CAACQ,SAAS,CAACC,cAAc,GAAG,CAAC,CAAC;YAC7EN,8BAA8B,CAACiB,OAAO,GAAG,CAAC;YAC1CE,qBAAqB,CAAC,MAAMxB,YAAY,CAAC0B,UAAU,EAAE,CAAC;;;;;GAKzE;EAED,oBAAO5B,wDAAWF,UAAU;IAAE+B,SAAS,EAAErB,aAAa;IAAET,GAAG,EAAEA;KAAO;AACxE;;;;"}
1
+ {"version":3,"file":"Body.js","sources":["../../../../../../../../../src/components/Report/components/Body/Body.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useAugmentedFocusManager } from './util';\n\ntype BodyProps<TType = unknown> = React.HTMLAttributes<HTMLTableSectionElement> & {\n enableArrowKeyFocusing?: boolean;\n table: ReactTable<TType>;\n};\n\nexport function Body<TType = unknown>(props: BodyProps<TType>) {\n const { enableArrowKeyFocusing = false, table, ...attributes } = props;\n const ref = React.useRef<HTMLTableSectionElement>(null);\n const focusManager = useAugmentedFocusManager();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n // some rows won't have anything focusable in, and we don't want tab to move between rows in that case\n const focusableElementsInRowCountRef = React.useRef(0);\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.isDefaultPrevented() || event.isPropagationStopped()) {\n return;\n }\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n const isFirstRow = tableMeta.rowActive.rowActiveIndex === 0;\n const isLastRow = tableMeta.rowActive.rowActiveIndex === tableMeta.length - 1;\n\n if (event.key === 'Tab' || (enableArrowKeyFocusing && (event.key === 'ArrowLeft' || event.key === 'ArrowRight'))) {\n tableMeta.rowActive.setHoverStatePaused(true);\n\n const focusedElement =\n event.shiftKey || event.key === 'ArrowLeft' ? focusManager.focusPrevious() : focusManager.focusNext();\n\n if (focusedElement) {\n // override default behaviour, since we're handling focus internally now\n event.preventDefault();\n focusableElementsInRowCountRef.current = focusableElementsInRowCountRef.current + 1;\n return;\n }\n\n if (event.shiftKey || event.key === 'ArrowLeft') {\n if (!isFirstRow && focusableElementsInRowCountRef.current !== 0) {\n // there are no previous elements to focus, go up a row or go outside the table\n // but only if there are actually any focusable elements in the row\n event.preventDefault();\n tableMeta.rowActive.setRowActiveIndex(tableMeta.rowActive.rowActiveIndex - 1);\n focusableElementsInRowCountRef.current = 0;\n requestAnimationFrame(() => focusManager.focusLast());\n }\n } else {\n if (!isLastRow && focusableElementsInRowCountRef.current !== 0) {\n // there are no next elements to focus, go down a row or go outside the table\n // but only if there are actually any focusable elements in the row\n event.preventDefault();\n tableMeta.rowActive.setRowActiveIndex(tableMeta.rowActive.rowActiveIndex + 1);\n focusableElementsInRowCountRef.current = 0;\n requestAnimationFrame(() => focusManager.focusFirst());\n }\n }\n }\n }\n };\n\n return <tbody data-taco=\"report-body\" {...attributes} onKeyDown={handleKeyDown} ref={ref} />;\n}\n"],"names":["Body","props","enableArrowKeyFocusing","table","attributes","ref","React","useRef","focusManager","useAugmentedFocusManager","tableMeta","options","meta","focusableElementsInRowCountRef","handleKeyDown","event","isDefaultPrevented","isPropagationStopped","rowActive","rowActiveIndex","undefined","isFirstRow","isLastRow","length","key","setHoverStatePaused","focusedElement","shiftKey","focusPrevious","focusNext","preventDefault","current","setRowActiveIndex","requestAnimationFrame","focusLast","focusFirst","onKeyDown"],"mappings":";;;SASgBA,IAAIA,CAAkBC,KAAuB;EACzD,MAAM;IAAEC,sBAAsB,GAAG,KAAK;IAAEC,KAAK;IAAE,GAAGC;GAAY,GAAGH,KAAK;EACtE,MAAMI,GAAG,GAAGC,cAAK,CAACC,MAAM,CAA0B,IAAI,CAAC;EACvD,MAAMC,YAAY,GAAGC,wBAAwB,EAAE;EAC/C,MAAMC,SAAS,GAAGP,KAAK,CAACQ,OAAO,CAACC,IAA6B;;EAG7D,MAAMC,8BAA8B,GAAGP,cAAK,CAACC,MAAM,CAAC,CAAC,CAAC;EAEtD,MAAMO,aAAa,GAAIC,KAA0B;IAC7C,IAAIA,KAAK,CAACC,kBAAkB,EAAE,IAAID,KAAK,CAACE,oBAAoB,EAAE,EAAE;MAC5D;;IAGJ,IAAIP,SAAS,CAACQ,SAAS,CAACC,cAAc,KAAKC,SAAS,EAAE;MAClD,MAAMC,UAAU,GAAGX,SAAS,CAACQ,SAAS,CAACC,cAAc,KAAK,CAAC;MAC3D,MAAMG,SAAS,GAAGZ,SAAS,CAACQ,SAAS,CAACC,cAAc,KAAKT,SAAS,CAACa,MAAM,GAAG,CAAC;MAE7E,IAAIR,KAAK,CAACS,GAAG,KAAK,KAAK,IAAKtB,sBAAsB,KAAKa,KAAK,CAACS,GAAG,KAAK,WAAW,IAAIT,KAAK,CAACS,GAAG,KAAK,YAAY,CAAE,EAAE;QAC9Gd,SAAS,CAACQ,SAAS,CAACO,mBAAmB,CAAC,IAAI,CAAC;QAE7C,MAAMC,cAAc,GAChBX,KAAK,CAACY,QAAQ,IAAIZ,KAAK,CAACS,GAAG,KAAK,WAAW,GAAGhB,YAAY,CAACoB,aAAa,EAAE,GAAGpB,YAAY,CAACqB,SAAS,EAAE;QAEzG,IAAIH,cAAc,EAAE;;UAEhBX,KAAK,CAACe,cAAc,EAAE;UACtBjB,8BAA8B,CAACkB,OAAO,GAAGlB,8BAA8B,CAACkB,OAAO,GAAG,CAAC;UACnF;;QAGJ,IAAIhB,KAAK,CAACY,QAAQ,IAAIZ,KAAK,CAACS,GAAG,KAAK,WAAW,EAAE;UAC7C,IAAI,CAACH,UAAU,IAAIR,8BAA8B,CAACkB,OAAO,KAAK,CAAC,EAAE;;;YAG7DhB,KAAK,CAACe,cAAc,EAAE;YACtBpB,SAAS,CAACQ,SAAS,CAACc,iBAAiB,CAACtB,SAAS,CAACQ,SAAS,CAACC,cAAc,GAAG,CAAC,CAAC;YAC7EN,8BAA8B,CAACkB,OAAO,GAAG,CAAC;YAC1CE,qBAAqB,CAAC,MAAMzB,YAAY,CAAC0B,SAAS,EAAE,CAAC;;SAE5D,MAAM;UACH,IAAI,CAACZ,SAAS,IAAIT,8BAA8B,CAACkB,OAAO,KAAK,CAAC,EAAE;;;YAG5DhB,KAAK,CAACe,cAAc,EAAE;YACtBpB,SAAS,CAACQ,SAAS,CAACc,iBAAiB,CAACtB,SAAS,CAACQ,SAAS,CAACC,cAAc,GAAG,CAAC,CAAC;YAC7EN,8BAA8B,CAACkB,OAAO,GAAG,CAAC;YAC1CE,qBAAqB,CAAC,MAAMzB,YAAY,CAAC2B,UAAU,EAAE,CAAC;;;;;GAKzE;EAED,oBAAO7B;iBAAiB;KAAkBF,UAAU;IAAEgC,SAAS,EAAEtB,aAAa;IAAET,GAAG,EAAEA;KAAO;AAChG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import { isInternalColumn } from '../../../../primitives/Table/useTable/util/columns.js';
2
+ import { isInternalColumn } from '../../../../primitives/Table/useTableManager/util/columns.js';
3
3
  import { useSearchHighlighting } from './util.js';
4
4
  import { GroupedCell } from './GroupedCell.js';
5
5
  import { DisplayCell } from './DisplayCell.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Cell.js","sources":["../../../../../../../../../src/components/Report/components/Cell/Cell.tsx"],"sourcesContent":["import React from 'react';\nimport { Cell as ReactTableCell } from '@tanstack/react-table';\nimport { isInternalColumn } from '../../../../primitives/Table/useTable/util/columns';\nimport { GroupedCell } from './GroupedCell';\nimport { DisplayCell } from './DisplayCell';\nimport { useSearchHighlighting } from './util';\n\ntype CellProps<TType = unknown> = {\n cell: ReactTableCell<TType, unknown>;\n index: number;\n};\n\nexport function Cell<TType = unknown>(props: CellProps<TType>) {\n const { cell, index } = props;\n const cellRef = React.useRef<HTMLTableCellElement>(null);\n const isHighlighted = useSearchHighlighting(cell, index, cellRef);\n\n if ((cell.getIsAggregated() || cell.getIsPlaceholder()) && !isInternalColumn(cell.column.id)) {\n // we choose not to show aggregated cells in group rows and we don't show\n // placeholder cells in normal rows (because we don't show the grouped column)\n // so just straight up abort and return nothing at all - no <td>\n return null;\n }\n\n const cellProps = {\n cell,\n cellRef,\n isHighlighted,\n };\n\n if (cell.getIsGrouped()) {\n return <GroupedCell<TType> {...cellProps} />;\n }\n\n return <DisplayCell<TType> {...cellProps} />;\n}\n"],"names":["Cell","props","cell","index","cellRef","React","useRef","isHighlighted","useSearchHighlighting","getIsAggregated","getIsPlaceholder","isInternalColumn","column","id","cellProps","getIsGrouped","GroupedCell","DisplayCell"],"mappings":";;;;;;SAYgBA,IAAIA,CAAkBC,KAAuB;EACzD,MAAM;IAAEC,IAAI;IAAEC;GAAO,GAAGF,KAAK;EAC7B,MAAMG,OAAO,GAAGC,cAAK,CAACC,MAAM,CAAuB,IAAI,CAAC;EACxD,MAAMC,aAAa,GAAGC,qBAAqB,CAACN,IAAI,EAAEC,KAAK,EAAEC,OAAO,CAAC;EAEjE,IAAI,CAACF,IAAI,CAACO,eAAe,EAAE,IAAIP,IAAI,CAACQ,gBAAgB,EAAE,KAAK,CAACC,gBAAgB,CAACT,IAAI,CAACU,MAAM,CAACC,EAAE,CAAC,EAAE;;;;IAI1F,OAAO,IAAI;;EAGf,MAAMC,SAAS,GAAG;IACdZ,IAAI;IACJE,OAAO;IACPG;GACH;EAED,IAAIL,IAAI,CAACa,YAAY,EAAE,EAAE;IACrB,oBAAOV,6BAACW,WAAW,oBAAYF,SAAS,EAAI;;EAGhD,oBAAOT,6BAACY,WAAW,oBAAYH,SAAS,EAAI;AAChD;;;;"}
1
+ {"version":3,"file":"Cell.js","sources":["../../../../../../../../../src/components/Report/components/Cell/Cell.tsx"],"sourcesContent":["import React from 'react';\nimport { Cell as ReactTableCell } from '@tanstack/react-table';\nimport { isInternalColumn } from '../../../../primitives/Table/useTableManager/util/columns';\nimport { GroupedCell } from './GroupedCell';\nimport { DisplayCell } from './DisplayCell';\nimport { useSearchHighlighting } from './util';\n\ntype CellProps<TType = unknown> = {\n cell: ReactTableCell<TType, unknown>;\n index: number;\n};\n\nexport function Cell<TType = unknown>(props: CellProps<TType>) {\n const { cell, index } = props;\n const cellRef = React.useRef<HTMLTableCellElement>(null);\n const isHighlighted = useSearchHighlighting(cell, index, cellRef);\n\n if ((cell.getIsAggregated() || cell.getIsPlaceholder()) && !isInternalColumn(cell.column.id)) {\n // we choose not to show aggregated cells in group rows and we don't show\n // placeholder cells in normal rows (because we don't show the grouped column)\n // so just straight up abort and return nothing at all - no <td>\n return null;\n }\n\n const cellProps = {\n cell,\n cellRef,\n isHighlighted,\n };\n\n if (cell.getIsGrouped()) {\n return <GroupedCell<TType> {...cellProps} />;\n }\n\n return <DisplayCell<TType> {...cellProps} />;\n}\n"],"names":["Cell","props","cell","index","cellRef","React","useRef","isHighlighted","useSearchHighlighting","getIsAggregated","getIsPlaceholder","isInternalColumn","column","id","cellProps","getIsGrouped","GroupedCell","DisplayCell"],"mappings":";;;;;;SAYgBA,IAAIA,CAAkBC,KAAuB;EACzD,MAAM;IAAEC,IAAI;IAAEC;GAAO,GAAGF,KAAK;EAC7B,MAAMG,OAAO,GAAGC,cAAK,CAACC,MAAM,CAAuB,IAAI,CAAC;EACxD,MAAMC,aAAa,GAAGC,qBAAqB,CAACN,IAAI,EAAEC,KAAK,EAAEC,OAAO,CAAC;EAEjE,IAAI,CAACF,IAAI,CAACO,eAAe,EAAE,IAAIP,IAAI,CAACQ,gBAAgB,EAAE,KAAK,CAACC,gBAAgB,CAACT,IAAI,CAACU,MAAM,CAACC,EAAE,CAAC,EAAE;;;;IAI1F,OAAO,IAAI;;EAGf,MAAMC,SAAS,GAAG;IACdZ,IAAI;IACJE,OAAO;IACPG;GACH;EAED,IAAIL,IAAI,CAACa,YAAY,EAAE,EAAE;IACrB,oBAAOV,6BAACW,WAAW,oBAAYF,SAAS,EAAI;;EAGhD,oBAAOT,6BAACY,WAAW,oBAAYH,SAAS,EAAI;AAChD;;;;"}
@@ -1,6 +1,6 @@
1
1
  import React__default from 'react';
2
2
  import { flexRender } from '@tanstack/react-table';
3
- import { isInternalColumn } from '../../../../primitives/Table/useTable/util/columns.js';
3
+ import { isInternalColumn } from '../../../../primitives/Table/useTableManager/util/columns.js';
4
4
  import { RowContext } from '../Row/RowContext.js';
5
5
  import { Actions } from '../Internal/Actions.js';
6
6
  import { getCellAttributes } from './util.js';
@@ -1 +1 @@
1
- {"version":3,"file":"GroupedCell.js","sources":["../../../../../../../../../src/components/Report/components/Cell/GroupedCell.tsx"],"sourcesContent":["import React from 'react';\nimport { Cell as ReactTableCell, TableMeta as ReactTableMeta, flexRender } from '@tanstack/react-table';\nimport { RowContext } from '../Row/RowContext';\nimport { getCellAttributes } from './util';\nimport { TableFontSize, TableRowActionGroupRenderer } from '../../../../primitives/Table/types';\nimport { Actions as RowGroupActions } from '../Internal/Actions';\nimport { isInternalColumn } from '../../../../primitives/Table/useTable/util/columns';\n\nexport type GroupedCellProps<TType = unknown> = {\n cell: ReactTableCell<TType, unknown>;\n cellRef: React.RefObject<HTMLTableCellElement>;\n isHighlighted?: true | 'current';\n};\n\nexport function GroupedCell<TType = unknown>(props: GroupedCellProps<TType>) {\n const { cell, cellRef, isHighlighted } = props;\n const tableMeta = cell.getContext().table.options.meta as ReactTableMeta<TType>;\n const attributes = getCellAttributes(cell, isHighlighted);\n\n const { isHovered, rowIndex } = React.useContext(RowContext);\n const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;\n const canShowActions = isActiveRow || (isHovered && !tableMeta.rowActive.isHoverStatePaused);\n\n return (\n <MemoedGroupedCell<TType>\n {...attributes}\n cell={cell}\n cellRef={cellRef}\n canShowActions={canShowActions}\n fontSize={tableMeta.fontSize.size}\n rowActions={tableMeta.rowGroups.rowActionsForGroup}\n />\n );\n}\n\ntype MemoedGroupedCellProps<TType = unknown> = React.TdHTMLAttributes<HTMLTableCellElement> & {\n cell: ReactTableCell<TType, unknown>;\n cellRef: React.RefObject<HTMLTableCellElement>;\n canShowActions: boolean;\n fontSize: TableFontSize;\n rowActions?: TableRowActionGroupRenderer<TType>[];\n};\n\nconst MemoedGroupedCell = React.memo(function MemoedGroupedCell<TType = unknown>(props: MemoedGroupedCellProps<TType>) {\n const { canShowActions, cell, cellRef, fontSize, rowActions, ...attributes } = props;\n\n const colSpan = cell.row.getVisibleCells().filter(c => !isInternalColumn(c.column.id)).length - 1;\n const subRows = cell.getContext().row.subRows.map(row => row.original);\n\n return (\n <td {...attributes} ref={cellRef} style={{ gridColumn: `span ${colSpan} / span ${colSpan}` }}>\n <span className=\"grow\">{flexRender(cell.column.columnDef.cell, cell.getContext())}</span>\n {rowActions?.length && canShowActions ? (\n <RowGroupActions actions={rowActions} actionsLength={4} data={subRows} fontSize={fontSize} isActiveRow />\n ) : null}\n </td>\n );\n}) as <TType = unknown>(props: MemoedGroupedCellProps<TType>) => JSX.Element;\n"],"names":["GroupedCell","props","cell","cellRef","isHighlighted","tableMeta","getContext","table","options","meta","attributes","getCellAttributes","isHovered","rowIndex","React","useContext","RowContext","isActiveRow","rowActive","rowActiveIndex","canShowActions","isHoverStatePaused","MemoedGroupedCell","fontSize","size","rowActions","rowGroups","rowActionsForGroup","memo","colSpan","row","getVisibleCells","filter","c","isInternalColumn","column","id","length","subRows","map","original","ref","style","gridColumn","className","flexRender","columnDef","RowGroupActions","actions","actionsLength","data"],"mappings":";;;;;;;SAcgBA,WAAWA,CAAkBC,KAA8B;EACvE,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;GAAe,GAAGH,KAAK;EAC9C,MAAMI,SAAS,GAAGH,IAAI,CAACI,UAAU,EAAE,CAACC,KAAK,CAACC,OAAO,CAACC,IAA6B;EAC/E,MAAMC,UAAU,GAAGC,iBAAiB,CAACT,IAAI,EAAEE,aAAa,CAAC;EAEzD,MAAM;IAAEQ,SAAS;IAAEC;GAAU,GAAGC,cAAK,CAACC,UAAU,CAACC,UAAU,CAAC;EAC5D,MAAMC,WAAW,GAAGZ,SAAS,CAACa,SAAS,CAACC,cAAc,KAAKN,QAAQ;EACnE,MAAMO,cAAc,GAAGH,WAAW,IAAKL,SAAS,IAAI,CAACP,SAAS,CAACa,SAAS,CAACG,kBAAmB;EAE5F,oBACIP,6BAACQ,iBAAiB,oBACVZ,UAAU;IACdR,IAAI,EAAEA,IAAI;IACVC,OAAO,EAAEA,OAAO;IAChBiB,cAAc,EAAEA,cAAc;IAC9BG,QAAQ,EAAElB,SAAS,CAACkB,QAAQ,CAACC,IAAI;IACjCC,UAAU,EAAEpB,SAAS,CAACqB,SAAS,CAACC;KAClC;AAEV;AAUA,MAAML,iBAAiB,gBAAGR,cAAK,CAACc,IAAI,CAAC,SAASN,iBAAiBA,CAAkBrB,KAAoC;EACjH,MAAM;IAAEmB,cAAc;IAAElB,IAAI;IAAEC,OAAO;IAAEoB,QAAQ;IAAEE,UAAU;IAAE,GAAGf;GAAY,GAAGT,KAAK;EAEpF,MAAM4B,OAAO,GAAG3B,IAAI,CAAC4B,GAAG,CAACC,eAAe,EAAE,CAACC,MAAM,CAACC,CAAC,IAAI,CAACC,gBAAgB,CAACD,CAAC,CAACE,MAAM,CAACC,EAAE,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC;EACjG,MAAMC,OAAO,GAAGpC,IAAI,CAACI,UAAU,EAAE,CAACwB,GAAG,CAACQ,OAAO,CAACC,GAAG,CAACT,GAAG,IAAIA,GAAG,CAACU,QAAQ,CAAC;EAEtE,oBACI1B,qDAAQJ,UAAU;IAAE+B,GAAG,EAAEtC,OAAO;IAAEuC,KAAK,EAAE;MAAEC,UAAU,UAAUd,kBAAkBA;;mBAC7Ef;IAAM8B,SAAS,EAAC;KAAQC,UAAU,CAAC3C,IAAI,CAACiC,MAAM,CAACW,SAAS,CAAC5C,IAAI,EAAEA,IAAI,CAACI,UAAU,EAAE,CAAC,CAAQ,EACxFmB,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEY,MAAM,IAAIjB,cAAc,kBACjCN,6BAACiC,OAAe;IAACC,OAAO,EAAEvB,UAAU;IAAEwB,aAAa,EAAE,CAAC;IAAEC,IAAI,EAAEZ,OAAO;IAAEf,QAAQ,EAAEA,QAAQ;IAAEN,WAAW;IAAG,IACzG,IAAI,CACP;AAEb,CAAC,CAA2E;;;;"}
1
+ {"version":3,"file":"GroupedCell.js","sources":["../../../../../../../../../src/components/Report/components/Cell/GroupedCell.tsx"],"sourcesContent":["import React from 'react';\nimport { Cell as ReactTableCell, TableMeta as ReactTableMeta, flexRender } from '@tanstack/react-table';\nimport { RowContext } from '../Row/RowContext';\nimport { getCellAttributes } from './util';\nimport { TableFontSize, TableRowActionGroupRenderer } from '../../../../primitives/Table/types';\nimport { Actions as RowGroupActions } from '../Internal/Actions';\nimport { isInternalColumn } from '../../../../primitives/Table/useTableManager/util/columns';\n\nexport type GroupedCellProps<TType = unknown> = {\n cell: ReactTableCell<TType, unknown>;\n cellRef: React.RefObject<HTMLTableCellElement>;\n isHighlighted?: true | 'current';\n};\n\nexport function GroupedCell<TType = unknown>(props: GroupedCellProps<TType>) {\n const { cell, cellRef, isHighlighted } = props;\n const tableMeta = cell.getContext().table.options.meta as ReactTableMeta<TType>;\n const attributes = getCellAttributes(cell, isHighlighted);\n\n const { isHovered, rowIndex } = React.useContext(RowContext);\n const isActiveRow = tableMeta.rowActive.rowActiveIndex === rowIndex;\n const canShowActions = isActiveRow || (isHovered && !tableMeta.rowActive.isHoverStatePaused);\n\n return (\n <MemoedGroupedCell<TType>\n {...attributes}\n cell={cell}\n cellRef={cellRef}\n canShowActions={canShowActions}\n fontSize={tableMeta.fontSize.size}\n rowActions={tableMeta.rowGroups.rowActionsForGroup}\n />\n );\n}\n\ntype MemoedGroupedCellProps<TType = unknown> = React.TdHTMLAttributes<HTMLTableCellElement> & {\n cell: ReactTableCell<TType, unknown>;\n cellRef: React.RefObject<HTMLTableCellElement>;\n canShowActions: boolean;\n fontSize: TableFontSize;\n rowActions?: TableRowActionGroupRenderer<TType>[];\n};\n\nconst MemoedGroupedCell = React.memo(function MemoedGroupedCell<TType = unknown>(props: MemoedGroupedCellProps<TType>) {\n const { canShowActions, cell, cellRef, fontSize, rowActions, ...attributes } = props;\n\n const colSpan = cell.row.getVisibleCells().filter(c => !isInternalColumn(c.column.id)).length - 1;\n const subRows = cell.getContext().row.subRows.map(row => row.original);\n\n return (\n <td {...attributes} ref={cellRef} style={{ gridColumn: `span ${colSpan} / span ${colSpan}` }}>\n <span className=\"grow\">{flexRender(cell.column.columnDef.cell, cell.getContext())}</span>\n {rowActions?.length && canShowActions ? (\n <RowGroupActions actions={rowActions} actionsLength={4} data={subRows} fontSize={fontSize} isActiveRow />\n ) : null}\n </td>\n );\n}) as <TType = unknown>(props: MemoedGroupedCellProps<TType>) => JSX.Element;\n"],"names":["GroupedCell","props","cell","cellRef","isHighlighted","tableMeta","getContext","table","options","meta","attributes","getCellAttributes","isHovered","rowIndex","React","useContext","RowContext","isActiveRow","rowActive","rowActiveIndex","canShowActions","isHoverStatePaused","MemoedGroupedCell","fontSize","size","rowActions","rowGroups","rowActionsForGroup","memo","colSpan","row","getVisibleCells","filter","c","isInternalColumn","column","id","length","subRows","map","original","ref","style","gridColumn","className","flexRender","columnDef","RowGroupActions","actions","actionsLength","data"],"mappings":";;;;;;;SAcgBA,WAAWA,CAAkBC,KAA8B;EACvE,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;GAAe,GAAGH,KAAK;EAC9C,MAAMI,SAAS,GAAGH,IAAI,CAACI,UAAU,EAAE,CAACC,KAAK,CAACC,OAAO,CAACC,IAA6B;EAC/E,MAAMC,UAAU,GAAGC,iBAAiB,CAACT,IAAI,EAAEE,aAAa,CAAC;EAEzD,MAAM;IAAEQ,SAAS;IAAEC;GAAU,GAAGC,cAAK,CAACC,UAAU,CAACC,UAAU,CAAC;EAC5D,MAAMC,WAAW,GAAGZ,SAAS,CAACa,SAAS,CAACC,cAAc,KAAKN,QAAQ;EACnE,MAAMO,cAAc,GAAGH,WAAW,IAAKL,SAAS,IAAI,CAACP,SAAS,CAACa,SAAS,CAACG,kBAAmB;EAE5F,oBACIP,6BAACQ,iBAAiB,oBACVZ,UAAU;IACdR,IAAI,EAAEA,IAAI;IACVC,OAAO,EAAEA,OAAO;IAChBiB,cAAc,EAAEA,cAAc;IAC9BG,QAAQ,EAAElB,SAAS,CAACkB,QAAQ,CAACC,IAAI;IACjCC,UAAU,EAAEpB,SAAS,CAACqB,SAAS,CAACC;KAClC;AAEV;AAUA,MAAML,iBAAiB,gBAAGR,cAAK,CAACc,IAAI,CAAC,SAASN,iBAAiBA,CAAkBrB,KAAoC;EACjH,MAAM;IAAEmB,cAAc;IAAElB,IAAI;IAAEC,OAAO;IAAEoB,QAAQ;IAAEE,UAAU;IAAE,GAAGf;GAAY,GAAGT,KAAK;EAEpF,MAAM4B,OAAO,GAAG3B,IAAI,CAAC4B,GAAG,CAACC,eAAe,EAAE,CAACC,MAAM,CAACC,CAAC,IAAI,CAACC,gBAAgB,CAACD,CAAC,CAACE,MAAM,CAACC,EAAE,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC;EACjG,MAAMC,OAAO,GAAGpC,IAAI,CAACI,UAAU,EAAE,CAACwB,GAAG,CAACQ,OAAO,CAACC,GAAG,CAACT,GAAG,IAAIA,GAAG,CAACU,QAAQ,CAAC;EAEtE,oBACI1B,qDAAQJ,UAAU;IAAE+B,GAAG,EAAEtC,OAAO;IAAEuC,KAAK,EAAE;MAAEC,UAAU,UAAUd,kBAAkBA;;mBAC7Ef;IAAM8B,SAAS,EAAC;KAAQC,UAAU,CAAC3C,IAAI,CAACiC,MAAM,CAACW,SAAS,CAAC5C,IAAI,EAAEA,IAAI,CAACI,UAAU,EAAE,CAAC,CAAQ,EACxFmB,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEY,MAAM,IAAIjB,cAAc,kBACjCN,6BAACiC,OAAe;IAACC,OAAO,EAAEvB,UAAU;IAAEwB,aAAa,EAAE,CAAC;IAAEC,IAAI,EAAEZ,OAAO;IAAEf,QAAQ,EAAEA,QAAQ;IAAEN,WAAW;IAAG,IACzG,IAAI,CACP;AAEb,CAAC,CAA2E;;;;"}
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import { isInternalColumn, isCellHighlighted } from '../../../../primitives/Table/useTable/util/columns.js';
2
+ import { isInternalColumn, isCellHighlighted } from '../../../../primitives/Table/useTableManager/util/columns.js';
3
3
  import { RowContext } from '../Row/RowContext.js';
4
4
 
5
5
  function getCellAttributes(cell, isHighlighted) {
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../../../../../../../../../src/components/Report/components/Cell/util.ts"],"sourcesContent":["import React from 'react';\nimport { Cell as ReactTableCell, ColumnMeta as ReactTableColumnMeta, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { isCellHighlighted, isInternalColumn } from '../../../../primitives/Table/useTable/util/columns';\nimport { RowContext } from '../Row/RowContext';\n\nexport type DisplayCellProps<TType = unknown> = {\n index: number;\n cell: ReactTableCell<TType, unknown>;\n};\n\nexport function getCellAttributes<TType = unknown>(\n cell: ReactTableCell<TType, unknown>,\n isHighlighted: true | 'current' | undefined\n) {\n const columnMeta = cell.column.columnDef.meta as ReactTableColumnMeta<TType, unknown>;\n\n const isPinned = cell.column.getIsPinned();\n const attributes = {\n 'data-cell-align': columnMeta?.align,\n 'data-cell-highlighted': isHighlighted,\n 'data-cell-id': cell.column.id,\n 'data-cell-pinned': isPinned ? true : undefined,\n 'data-cell-truncate': columnMeta.enableTruncate ? true : undefined,\n className: typeof columnMeta.className === 'function' ? columnMeta.className(cell.row.original) : columnMeta.className,\n style: {},\n };\n\n if (isPinned) {\n attributes.style[isPinned] = `${cell.column.getStart(isPinned)}px`;\n }\n\n return attributes;\n}\n\nexport function useSearchHighlighting<TType = unknown>(\n cell: ReactTableCell<TType, unknown>,\n cellIndex: number,\n ref: React.RefObject<HTMLTableCellElement>\n) {\n const { rowIndex } = React.useContext(RowContext);\n const context = cell.getContext();\n const tableMeta = context.table.options.meta as ReactTableMeta<TType>;\n const columnMeta = cell.column.columnDef.meta as ReactTableColumnMeta<TType, unknown>;\n\n const isHighlighted: 'current' | boolean | undefined = React.useMemo(() => {\n if (\n !cell.column.columnDef.enableGlobalFilter ||\n isInternalColumn(cell.column.id) ||\n cell.getIsAggregated() ||\n cell.getIsPlaceholder()\n ) {\n return undefined;\n }\n\n let isHighlighted = false;\n\n if (context.table.getState().globalFilter) {\n isHighlighted = isCellHighlighted(context.table.getState().globalFilter, cell.getValue(), columnMeta.dataType);\n }\n\n if (!isHighlighted || tableMeta.search.currentHighlightColumnIndex === undefined) {\n return undefined;\n }\n\n const [rowActiveIndex, currentColumnIndex] =\n tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex];\n\n if (rowActiveIndex === rowIndex && currentColumnIndex === cellIndex) {\n return 'current';\n }\n\n return true;\n }, [\n cell.getValue(),\n context.table.getState().globalFilter,\n tableMeta.search.highlightedColumnIndexes.length,\n tableMeta.search.currentHighlightColumnIndex,\n ]);\n\n React.useEffect(() => {\n if (ref.current && isHighlighted === 'current') {\n ref.current.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n\n setTimeout(() => {\n if (ref.current) {\n const tableEl = ref.current.closest('table[data-taco=\"report\"]');\n\n setTimeout(() => {\n const pinnedColumns = tableEl?.querySelectorAll('thead tr:last-child th[data-cell-pinned=\"left\"]');\n\n if (pinnedColumns?.length) {\n const lastFrozenRect = pinnedColumns.item(pinnedColumns.length - 1)?.getBoundingClientRect();\n\n if (lastFrozenRect && cell.column.getStart() < lastFrozenRect.right) {\n tableEl?.scrollTo(cell.column.getStart() - lastFrozenRect.right, tableEl.scrollTop);\n }\n }\n }, 1);\n }\n }, 1);\n }\n }, [isHighlighted]);\n\n return isHighlighted;\n}\n\nexport function getCurrentRowCellElement(index: number, tableEl: HTMLElement) {\n const cellSelector = `[data-current=\"true\"] [data-column-index=\"${index}\"`;\n return tableEl.querySelector(cellSelector);\n}\n\nexport function scrollColumnIntoView(columnIndex: number, frozenColumnIndex: number, column: HTMLElement, tableEl: HTMLElement) {\n if (frozenColumnIndex !== undefined && columnIndex > frozenColumnIndex) {\n const lastFrozenColumnElement = getCurrentRowCellElement(frozenColumnIndex, tableEl);\n const highlightRef = column?.getBoundingClientRect();\n const lastFrozenRect = lastFrozenColumnElement?.getBoundingClientRect();\n\n // offset the width of frozen columns so that the column being scrolled to is not hidden behind them\n if (highlightRef && lastFrozenRect && highlightRef.left < lastFrozenRect.left + lastFrozenRect.width) {\n const pinnedColumnsWidth = lastFrozenRect.left + lastFrozenRect.width;\n tableEl?.scrollTo(highlightRef.left - pinnedColumnsWidth, tableEl.scrollTop);\n }\n } else {\n column.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n}\n"],"names":["getCellAttributes","cell","isHighlighted","columnMeta","column","columnDef","meta","isPinned","getIsPinned","attributes","align","id","undefined","enableTruncate","className","row","original","style","getStart","useSearchHighlighting","cellIndex","ref","rowIndex","React","useContext","RowContext","context","getContext","tableMeta","table","options","useMemo","enableGlobalFilter","isInternalColumn","getIsAggregated","getIsPlaceholder","getState","globalFilter","isCellHighlighted","getValue","dataType","search","currentHighlightColumnIndex","rowActiveIndex","currentColumnIndex","highlightedColumnIndexes","length","useEffect","current","scrollIntoView","block","inline","setTimeout","tableEl","closest","pinnedColumns","querySelectorAll","_pinnedColumns$item","lastFrozenRect","item","getBoundingClientRect","right","scrollTo","scrollTop"],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sources":["../../../../../../../../../src/components/Report/components/Cell/util.ts"],"sourcesContent":["import React from 'react';\nimport { Cell as ReactTableCell, ColumnMeta as ReactTableColumnMeta, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { isCellHighlighted, isInternalColumn } from '../../../../primitives/Table/useTableManager/util/columns';\nimport { RowContext } from '../Row/RowContext';\n\nexport type DisplayCellProps<TType = unknown> = {\n index: number;\n cell: ReactTableCell<TType, unknown>;\n};\n\nexport function getCellAttributes<TType = unknown>(\n cell: ReactTableCell<TType, unknown>,\n isHighlighted: true | 'current' | undefined\n) {\n const columnMeta = cell.column.columnDef.meta as ReactTableColumnMeta<TType, unknown>;\n\n const isPinned = cell.column.getIsPinned();\n const attributes = {\n 'data-cell-align': columnMeta?.align,\n 'data-cell-highlighted': isHighlighted,\n 'data-cell-id': cell.column.id,\n 'data-cell-pinned': isPinned ? true : undefined,\n 'data-cell-truncate': columnMeta.enableTruncate ? true : undefined,\n className: typeof columnMeta.className === 'function' ? columnMeta.className(cell.row.original) : columnMeta.className,\n style: {},\n };\n\n if (isPinned) {\n attributes.style[isPinned] = `${cell.column.getStart(isPinned)}px`;\n }\n\n return attributes;\n}\n\nexport function useSearchHighlighting<TType = unknown>(\n cell: ReactTableCell<TType, unknown>,\n cellIndex: number,\n ref: React.RefObject<HTMLTableCellElement>\n) {\n const { rowIndex } = React.useContext(RowContext);\n const context = cell.getContext();\n const tableMeta = context.table.options.meta as ReactTableMeta<TType>;\n const columnMeta = cell.column.columnDef.meta as ReactTableColumnMeta<TType, unknown>;\n\n const isHighlighted: 'current' | boolean | undefined = React.useMemo(() => {\n if (\n !cell.column.columnDef.enableGlobalFilter ||\n isInternalColumn(cell.column.id) ||\n cell.getIsAggregated() ||\n cell.getIsPlaceholder()\n ) {\n return undefined;\n }\n\n let isHighlighted = false;\n\n if (context.table.getState().globalFilter) {\n isHighlighted = isCellHighlighted(context.table.getState().globalFilter, cell.getValue(), columnMeta.dataType);\n }\n\n if (!isHighlighted || tableMeta.search.currentHighlightColumnIndex === undefined) {\n return undefined;\n }\n\n const [rowActiveIndex, currentColumnIndex] =\n tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex];\n\n if (rowActiveIndex === rowIndex && currentColumnIndex === cellIndex) {\n return 'current';\n }\n\n return true;\n }, [\n cell.getValue(),\n context.table.getState().globalFilter,\n tableMeta.search.highlightedColumnIndexes.length,\n tableMeta.search.currentHighlightColumnIndex,\n ]);\n\n React.useEffect(() => {\n if (ref.current && isHighlighted === 'current') {\n ref.current.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n\n setTimeout(() => {\n if (ref.current) {\n const tableEl = ref.current.closest('table[data-taco=\"report\"]');\n\n setTimeout(() => {\n const pinnedColumns = tableEl?.querySelectorAll('thead tr:last-child th[data-cell-pinned=\"left\"]');\n\n if (pinnedColumns?.length) {\n const lastFrozenRect = pinnedColumns.item(pinnedColumns.length - 1)?.getBoundingClientRect();\n\n if (lastFrozenRect && cell.column.getStart() < lastFrozenRect.right) {\n tableEl?.scrollTo(cell.column.getStart() - lastFrozenRect.right, tableEl.scrollTop);\n }\n }\n }, 1);\n }\n }, 1);\n }\n }, [isHighlighted]);\n\n return isHighlighted;\n}\n\nexport function getCurrentRowCellElement(index: number, tableEl: HTMLElement) {\n const cellSelector = `[data-current=\"true\"] [data-column-index=\"${index}\"`;\n return tableEl.querySelector(cellSelector);\n}\n\nexport function scrollColumnIntoView(columnIndex: number, frozenColumnIndex: number, column: HTMLElement, tableEl: HTMLElement) {\n if (frozenColumnIndex !== undefined && columnIndex > frozenColumnIndex) {\n const lastFrozenColumnElement = getCurrentRowCellElement(frozenColumnIndex, tableEl);\n const highlightRef = column?.getBoundingClientRect();\n const lastFrozenRect = lastFrozenColumnElement?.getBoundingClientRect();\n\n // offset the width of frozen columns so that the column being scrolled to is not hidden behind them\n if (highlightRef && lastFrozenRect && highlightRef.left < lastFrozenRect.left + lastFrozenRect.width) {\n const pinnedColumnsWidth = lastFrozenRect.left + lastFrozenRect.width;\n tableEl?.scrollTo(highlightRef.left - pinnedColumnsWidth, tableEl.scrollTop);\n }\n } else {\n column.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n}\n"],"names":["getCellAttributes","cell","isHighlighted","columnMeta","column","columnDef","meta","isPinned","getIsPinned","attributes","align","id","undefined","enableTruncate","className","row","original","style","getStart","useSearchHighlighting","cellIndex","ref","rowIndex","React","useContext","RowContext","context","getContext","tableMeta","table","options","useMemo","enableGlobalFilter","isInternalColumn","getIsAggregated","getIsPlaceholder","getState","globalFilter","isCellHighlighted","getValue","dataType","search","currentHighlightColumnIndex","rowActiveIndex","currentColumnIndex","highlightedColumnIndexes","length","useEffect","current","scrollIntoView","block","inline","setTimeout","tableEl","closest","pinnedColumns","querySelectorAll","_pinnedColumns$item","lastFrozenRect","item","getBoundingClientRect","right","scrollTo","scrollTop"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import React__default from 'react';
2
2
  import { flexRender } from '@tanstack/react-table';
3
+ import { Summary } from './Summary.js';
3
4
 
4
5
  function Footer(header) {
5
6
  return /*#__PURE__*/React__default.createElement(MemoedFooter, {
@@ -21,13 +22,24 @@ const MemoedFooter = /*#__PURE__*/React__default.memo(function MemoedFooter(prop
21
22
  // pinned columns should be offset from either the left or right
22
23
  style[isPinned] = `${footer.column.getStart(isPinned) - 1}px`;
23
24
  }
25
+ let content;
26
+ let align;
27
+ if (footer.index === 0) {
28
+ align = 'left';
29
+ content = /*#__PURE__*/React__default.createElement(Summary, {
30
+ table: footer.getContext().table
31
+ });
32
+ } else {
33
+ align = columnMeta.align;
34
+ content = footer.isPlaceholder ? null : flexRender(footer.column.columnDef.footer, footer.getContext());
35
+ }
24
36
  return /*#__PURE__*/React__default.createElement("td", {
25
37
  key: footer.id,
26
- "data-cell-align": columnMeta.align,
38
+ "data-cell-align": align,
27
39
  "data-cell-id": footer.id,
28
40
  "data-cell-pinned": isPinned ? isPinned : undefined,
29
41
  style: style
30
- }, footer.isPlaceholder ? null : flexRender(footer.column.columnDef.footer, footer.getContext()));
42
+ }, content);
31
43
  });
32
44
 
33
45
  export { Footer };
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sources":["../../../../../../../../../src/components/Report/components/Footer/Footer.tsx"],"sourcesContent":["import React from 'react';\nimport { Header as ReactTableHeader, ColumnMeta as ReactTableColumnMeta, flexRender } from '@tanstack/react-table';\n\nexport function Footer<TType = unknown>(header: ReactTableHeader<TType, unknown>) {\n return <MemoedFooter key={header.id} footer={header} />;\n}\n\nexport type MemoedFooterProps<TType = unknown> = {\n footer: ReactTableHeader<TType, unknown>;\n};\n\nconst MemoedFooter = React.memo(function MemoedFooter<TType = unknown>(props: MemoedFooterProps<TType>) {\n const { footer } = props;\n const columnMeta = footer.column.columnDef.meta as ReactTableColumnMeta<TType, unknown>;\n\n // getIsPinned returns true for split header groups, even if the split group has no pinned sub headers\n const isHeaderGroup = !!footer.subHeaders?.length;\n const isPinned = isHeaderGroup\n ? footer.subHeaders.find(x => x.column.getIsPinned())?.column.getIsPinned()\n : footer.column.getIsPinned();\n\n const style: React.CSSProperties = {};\n\n if (isPinned) {\n // pinned columns should be offset from either the left or right\n style[isPinned] = `${footer.column.getStart(isPinned) - 1}px`;\n }\n\n return (\n <td\n key={footer.id}\n data-cell-align={columnMeta.align}\n data-cell-id={footer.id}\n data-cell-pinned={isPinned ? isPinned : undefined}\n style={style}>\n {footer.isPlaceholder ? null : flexRender(footer.column.columnDef.footer, footer.getContext())}\n </td>\n );\n}) as <TType = unknown>(props: MemoedFooterProps<TType>) => JSX.Element;\n"],"names":["Footer","header","React","MemoedFooter","key","id","footer","memo","props","columnMeta","column","columnDef","meta","isHeaderGroup","_footer$subHeaders","subHeaders","length","isPinned","_footer$subHeaders$fi","find","x","getIsPinned","style","getStart","align","undefined","isPlaceholder","flexRender","getContext"],"mappings":";;;SAGgBA,MAAMA,CAAkBC,MAAwC;EAC5E,oBAAOC,6BAACC,YAAY;IAACC,GAAG,EAAEH,MAAM,CAACI,EAAE;IAAEC,MAAM,EAAEL;IAAU;AAC3D;AAMA,MAAME,YAAY,gBAAGD,cAAK,CAACK,IAAI,CAAC,SAASJ,YAAYA,CAAkBK,KAA+B;;EAClG,MAAM;IAAEF;GAAQ,GAAGE,KAAK;EACxB,MAAMC,UAAU,GAAGH,MAAM,CAACI,MAAM,CAACC,SAAS,CAACC,IAA4C;;EAGvF,MAAMC,aAAa,GAAG,CAAC,GAAAC,kBAAA,GAACR,MAAM,CAACS,UAAU,cAAAD,kBAAA,eAAjBA,kBAAA,CAAmBE,MAAM;EACjD,MAAMC,QAAQ,GAAGJ,aAAa,IAAAK,qBAAA,GACxBZ,MAAM,CAACS,UAAU,CAACI,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACV,MAAM,CAACW,WAAW,EAAE,CAAC,cAAAH,qBAAA,uBAAnDA,qBAAA,CAAqDR,MAAM,CAACW,WAAW,EAAE,GACzEf,MAAM,CAACI,MAAM,CAACW,WAAW,EAAE;EAEjC,MAAMC,KAAK,GAAwB,EAAE;EAErC,IAAIL,QAAQ,EAAE;;IAEVK,KAAK,CAACL,QAAQ,CAAC,MAAMX,MAAM,CAACI,MAAM,CAACa,QAAQ,CAACN,QAAQ,CAAC,GAAG,KAAK;;EAGjE,oBACIf;IACIE,GAAG,EAAEE,MAAM,CAACD,EAAE;uBACGI,UAAU,CAACe,KAAK;oBACnBlB,MAAM,CAACD,EAAE;wBACLY,QAAQ,GAAGA,QAAQ,GAAGQ,SAAS;IACjDH,KAAK,EAAEA;KACNhB,MAAM,CAACoB,aAAa,GAAG,IAAI,GAAGC,UAAU,CAACrB,MAAM,CAACI,MAAM,CAACC,SAAS,CAACL,MAAM,EAAEA,MAAM,CAACsB,UAAU,EAAE,CAAC,CAC7F;AAEb,CAAC,CAAsE;;;;"}
1
+ {"version":3,"file":"Footer.js","sources":["../../../../../../../../../src/components/Report/components/Footer/Footer.tsx"],"sourcesContent":["import React from 'react';\nimport { Header as ReactTableHeader, ColumnMeta as ReactTableColumnMeta, flexRender } from '@tanstack/react-table';\nimport { Summary } from './Summary';\n\nexport function Footer<TType = unknown>(header: ReactTableHeader<TType, unknown>) {\n return <MemoedFooter key={header.id} footer={header} />;\n}\n\nexport type MemoedFooterProps<TType = unknown> = {\n footer: ReactTableHeader<TType, unknown>;\n};\n\nconst MemoedFooter = React.memo(function MemoedFooter<TType = unknown>(props: MemoedFooterProps<TType>) {\n const { footer } = props;\n const columnMeta = footer.column.columnDef.meta as ReactTableColumnMeta<TType, unknown>;\n\n // getIsPinned returns true for split header groups, even if the split group has no pinned sub headers\n const isHeaderGroup = !!footer.subHeaders?.length;\n const isPinned = isHeaderGroup\n ? footer.subHeaders.find(x => x.column.getIsPinned())?.column.getIsPinned()\n : footer.column.getIsPinned();\n\n const style: React.CSSProperties = {};\n\n if (isPinned) {\n // pinned columns should be offset from either the left or right\n style[isPinned] = `${footer.column.getStart(isPinned) - 1}px`;\n }\n\n let content;\n let align;\n\n if (footer.index === 0) {\n align = 'left';\n content = <Summary table={footer.getContext().table} />;\n } else {\n align = columnMeta.align;\n content = footer.isPlaceholder ? null : flexRender(footer.column.columnDef.footer, footer.getContext());\n }\n\n return (\n <td\n key={footer.id}\n data-cell-align={align}\n data-cell-id={footer.id}\n data-cell-pinned={isPinned ? isPinned : undefined}\n style={style}>\n {content}\n </td>\n );\n}) as <TType = unknown>(props: MemoedFooterProps<TType>) => JSX.Element;\n"],"names":["Footer","header","React","MemoedFooter","key","id","footer","memo","props","columnMeta","column","columnDef","meta","isHeaderGroup","_footer$subHeaders","subHeaders","length","isPinned","_footer$subHeaders$fi","find","x","getIsPinned","style","getStart","content","align","index","Summary","table","getContext","isPlaceholder","flexRender","undefined"],"mappings":";;;;SAIgBA,MAAMA,CAAkBC,MAAwC;EAC5E,oBAAOC,6BAACC,YAAY;IAACC,GAAG,EAAEH,MAAM,CAACI,EAAE;IAAEC,MAAM,EAAEL;IAAU;AAC3D;AAMA,MAAME,YAAY,gBAAGD,cAAK,CAACK,IAAI,CAAC,SAASJ,YAAYA,CAAkBK,KAA+B;;EAClG,MAAM;IAAEF;GAAQ,GAAGE,KAAK;EACxB,MAAMC,UAAU,GAAGH,MAAM,CAACI,MAAM,CAACC,SAAS,CAACC,IAA4C;;EAGvF,MAAMC,aAAa,GAAG,CAAC,GAAAC,kBAAA,GAACR,MAAM,CAACS,UAAU,cAAAD,kBAAA,eAAjBA,kBAAA,CAAmBE,MAAM;EACjD,MAAMC,QAAQ,GAAGJ,aAAa,IAAAK,qBAAA,GACxBZ,MAAM,CAACS,UAAU,CAACI,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACV,MAAM,CAACW,WAAW,EAAE,CAAC,cAAAH,qBAAA,uBAAnDA,qBAAA,CAAqDR,MAAM,CAACW,WAAW,EAAE,GACzEf,MAAM,CAACI,MAAM,CAACW,WAAW,EAAE;EAEjC,MAAMC,KAAK,GAAwB,EAAE;EAErC,IAAIL,QAAQ,EAAE;;IAEVK,KAAK,CAACL,QAAQ,CAAC,MAAMX,MAAM,CAACI,MAAM,CAACa,QAAQ,CAACN,QAAQ,CAAC,GAAG,KAAK;;EAGjE,IAAIO,OAAO;EACX,IAAIC,KAAK;EAET,IAAInB,MAAM,CAACoB,KAAK,KAAK,CAAC,EAAE;IACpBD,KAAK,GAAG,MAAM;IACdD,OAAO,gBAAGtB,6BAACyB,OAAO;MAACC,KAAK,EAAEtB,MAAM,CAACuB,UAAU,EAAE,CAACD;MAAS;GAC1D,MAAM;IACHH,KAAK,GAAGhB,UAAU,CAACgB,KAAK;IACxBD,OAAO,GAAGlB,MAAM,CAACwB,aAAa,GAAG,IAAI,GAAGC,UAAU,CAACzB,MAAM,CAACI,MAAM,CAACC,SAAS,CAACL,MAAM,EAAEA,MAAM,CAACuB,UAAU,EAAE,CAAC;;EAG3G,oBACI3B;IACIE,GAAG,EAAEE,MAAM,CAACD,EAAE;uBACGoB,KAAK;oBACRnB,MAAM,CAACD,EAAE;wBACLY,QAAQ,GAAGA,QAAQ,GAAGe,SAAS;IACjDV,KAAK,EAAEA;KACNE,OAAO,CACP;AAEb,CAAC,CAAsE;;;;"}
@@ -4,18 +4,18 @@ import { useLocalization } from '../../../Provider/Localization.js';
4
4
  function Summary(props) {
5
5
  var _table$getState$colum;
6
6
  const {
7
- length,
8
7
  table
9
8
  } = props;
10
9
  const {
11
10
  locale,
12
11
  texts
13
12
  } = useLocalization();
13
+ const length = table.options.meta.length;
14
14
  const currentLength = table.getRowModel().rows.length;
15
15
  let label;
16
16
  let count;
17
17
  // row selection
18
- const rowsSelectedLength = table.getIsAllRowsSelected() ? length : table.getSelectedRowModel().rows.length;
18
+ const rowsSelectedLength = table.getSelectedRowModel().rows.length;
19
19
  if (rowsSelectedLength > 0) {
20
20
  label = texts.table3.footer.summary.selected;
21
21
  count = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(rowsSelectedLength)), "\u00A0", texts.table3.footer.summary.count, "\u00A0", /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(length)));
@@ -30,7 +30,7 @@ function Summary(props) {
30
30
  count = /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(length));
31
31
  }
32
32
  return /*#__PURE__*/React__default.createElement("div", {
33
- className: "border-grey-300 sticky z-20 -mt-[2.63rem] ml-px flex h-10 w-fit items-center whitespace-nowrap rounded-bl border-t-2 bg-white px-4 !pr-3",
33
+ className: "sticky left-0 z-20 flex h-full w-fit items-center whitespace-nowrap bg-white pr-1 shadow-[12px_0px_6px_white]",
34
34
  "data-taco": "table2-footer-summary"
35
35
  }, label, "\u00A0", count);
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Summary.js","sources":["../../../../../../../../../src/components/Report/components/Footer/Summary.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable } from '@tanstack/react-table';\nimport { useLocalization } from '../../../Provider/Localization';\n\nexport type FooterSummaryProps<TType = unknown> = {\n length: number;\n table: ReactTable<TType>;\n};\n\nexport function Summary<TType = unknown>(props: FooterSummaryProps<TType>) {\n const { length, table } = props;\n const { locale, texts } = useLocalization();\n const currentLength = table.getRowModel().rows.length;\n\n let label;\n let count;\n\n // row selection\n const rowsSelectedLength = table.getIsAllRowsSelected() ? length : table.getSelectedRowModel().rows.length;\n\n if (rowsSelectedLength > 0) {\n label = texts.table3.footer.summary.selected;\n count = (\n <>\n <strong>{new Intl.NumberFormat(locale).format(rowsSelectedLength)}</strong>&nbsp;\n {texts.table3.footer.summary.count}&nbsp;\n <strong>{new Intl.NumberFormat(locale).format(length)}</strong>\n </>\n );\n } else if (\n table.getState().columnFilters?.length || // filtered data\n (!!table.getState().globalFilter && table.options.enableGlobalFilter) // search with hide enabled\n ) {\n label = texts.table3.footer.summary.records;\n count = (\n <>\n <strong>{currentLength}</strong>&nbsp;\n {texts.table3.footer.summary.count}&nbsp;\n <strong>{new Intl.NumberFormat(locale).format(length)}</strong>\n </>\n );\n } else {\n label = texts.table3.footer.summary.records;\n count = <strong>{new Intl.NumberFormat(locale).format(length)}</strong>;\n }\n\n return (\n <div\n className=\"border-grey-300 sticky z-20 -mt-[2.63rem] ml-px flex h-10 w-fit items-center whitespace-nowrap rounded-bl border-t-2 bg-white px-4 !pr-3\"\n data-taco=\"table2-footer-summary\">\n {label}&nbsp;{count}\n </div>\n );\n}\n"],"names":["Summary","props","length","table","locale","texts","useLocalization","currentLength","getRowModel","rows","label","count","rowsSelectedLength","getIsAllRowsSelected","getSelectedRowModel","table3","footer","summary","selected","React","Intl","NumberFormat","format","_table$getState$colum","getState","columnFilters","globalFilter","options","enableGlobalFilter","records","className"],"mappings":";;;SASgBA,OAAOA,CAAkBC,KAAgC;;EACrE,MAAM;IAAEC,MAAM;IAAEC;GAAO,GAAGF,KAAK;EAC/B,MAAM;IAAEG,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EAC3C,MAAMC,aAAa,GAAGJ,KAAK,CAACK,WAAW,EAAE,CAACC,IAAI,CAACP,MAAM;EAErD,IAAIQ,KAAK;EACT,IAAIC,KAAK;;EAGT,MAAMC,kBAAkB,GAAGT,KAAK,CAACU,oBAAoB,EAAE,GAAGX,MAAM,GAAGC,KAAK,CAACW,mBAAmB,EAAE,CAACL,IAAI,CAACP,MAAM;EAE1G,IAAIU,kBAAkB,GAAG,CAAC,EAAE;IACxBF,KAAK,GAAGL,KAAK,CAACU,MAAM,CAACC,MAAM,CAACC,OAAO,CAACC,QAAQ;IAC5CP,KAAK,gBACDQ,yEACIA,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACjB,MAAM,CAAC,CAACkB,MAAM,CAACV,kBAAkB,CAAC,CAAU,YAC1EP,KAAK,CAACU,MAAM,CAACC,MAAM,CAACC,OAAO,CAACN,KAAK,yBAClCQ,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACjB,MAAM,CAAC,CAACkB,MAAM,CAACpB,MAAM,CAAC,CAAU,CAEtE;GACJ,MAAM,IACH,CAAAqB,qBAAA,GAAApB,KAAK,CAACqB,QAAQ,EAAE,CAACC,aAAa,cAAAF,qBAAA,eAA9BA,qBAAA,CAAgCrB,MAAM;;EACrC,CAAC,CAACC,KAAK,CAACqB,QAAQ,EAAE,CAACE,YAAY,IAAIvB,KAAK,CAACwB,OAAO,CAACC,kBAAmB;IACvE;IACElB,KAAK,GAAGL,KAAK,CAACU,MAAM,CAACC,MAAM,CAACC,OAAO,CAACY,OAAO;IAC3ClB,KAAK,gBACDQ,yEACIA,6CAASZ,aAAa,CAAU,YAC/BF,KAAK,CAACU,MAAM,CAACC,MAAM,CAACC,OAAO,CAACN,KAAK,yBAClCQ,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACjB,MAAM,CAAC,CAACkB,MAAM,CAACpB,MAAM,CAAC,CAAU,CAEtE;GACJ,MAAM;IACHQ,KAAK,GAAGL,KAAK,CAACU,MAAM,CAACC,MAAM,CAACC,OAAO,CAACY,OAAO;IAC3ClB,KAAK,gBAAGQ,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACjB,MAAM,CAAC,CAACkB,MAAM,CAACpB,MAAM,CAAC,CAAU;;EAG3E,oBACIiB;IACIW,SAAS,EAAC,0IAA0I;iBAC1I;KACTpB,KAAK,YAAQC,KAAK,CACjB;AAEd;;;;"}
1
+ {"version":3,"file":"Summary.js","sources":["../../../../../../../../../src/components/Report/components/Footer/Summary.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLocalization } from '../../../Provider/Localization';\n\nexport type FooterSummaryProps<TType = unknown> = {\n table: ReactTable<TType>;\n};\n\nexport function Summary<TType = unknown>(props: FooterSummaryProps<TType>) {\n const { table } = props;\n const { locale, texts } = useLocalization();\n const length = (table.options.meta as ReactTableMeta<TType>).length;\n const currentLength = table.getRowModel().rows.length;\n\n let label;\n let count;\n\n // row selection\n const rowsSelectedLength = table.getSelectedRowModel().rows.length;\n\n if (rowsSelectedLength > 0) {\n label = texts.table3.footer.summary.selected;\n count = (\n <>\n <strong>{new Intl.NumberFormat(locale).format(rowsSelectedLength)}</strong>&nbsp;\n {texts.table3.footer.summary.count}&nbsp;\n <strong>{new Intl.NumberFormat(locale).format(length)}</strong>\n </>\n );\n } else if (\n table.getState().columnFilters?.length || // filtered data\n (!!table.getState().globalFilter && table.options.enableGlobalFilter) // search with hide enabled\n ) {\n label = texts.table3.footer.summary.records;\n count = (\n <>\n <strong>{currentLength}</strong>&nbsp;\n {texts.table3.footer.summary.count}&nbsp;\n <strong>{new Intl.NumberFormat(locale).format(length)}</strong>\n </>\n );\n } else {\n label = texts.table3.footer.summary.records;\n count = <strong>{new Intl.NumberFormat(locale).format(length)}</strong>;\n }\n\n return (\n <div\n className=\"sticky left-0 z-20 flex h-full w-fit items-center whitespace-nowrap bg-white pr-1 shadow-[12px_0px_6px_white]\"\n data-taco=\"table2-footer-summary\">\n {label}&nbsp;{count}\n </div>\n );\n}\n"],"names":["Summary","props","table","locale","texts","useLocalization","length","options","meta","currentLength","getRowModel","rows","label","count","rowsSelectedLength","getSelectedRowModel","table3","footer","summary","selected","React","Intl","NumberFormat","format","_table$getState$colum","getState","columnFilters","globalFilter","enableGlobalFilter","records","className"],"mappings":";;;SAQgBA,OAAOA,CAAkBC,KAAgC;;EACrE,MAAM;IAAEC;GAAO,GAAGD,KAAK;EACvB,MAAM;IAAEE,MAAM;IAAEC;GAAO,GAAGC,eAAe,EAAE;EAC3C,MAAMC,MAAM,GAAIJ,KAAK,CAACK,OAAO,CAACC,IAA8B,CAACF,MAAM;EACnE,MAAMG,aAAa,GAAGP,KAAK,CAACQ,WAAW,EAAE,CAACC,IAAI,CAACL,MAAM;EAErD,IAAIM,KAAK;EACT,IAAIC,KAAK;;EAGT,MAAMC,kBAAkB,GAAGZ,KAAK,CAACa,mBAAmB,EAAE,CAACJ,IAAI,CAACL,MAAM;EAElE,IAAIQ,kBAAkB,GAAG,CAAC,EAAE;IACxBF,KAAK,GAAGR,KAAK,CAACY,MAAM,CAACC,MAAM,CAACC,OAAO,CAACC,QAAQ;IAC5CN,KAAK,gBACDO,yEACIA,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACnB,MAAM,CAAC,CAACoB,MAAM,CAACT,kBAAkB,CAAC,CAAU,YAC1EV,KAAK,CAACY,MAAM,CAACC,MAAM,CAACC,OAAO,CAACL,KAAK,yBAClCO,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACnB,MAAM,CAAC,CAACoB,MAAM,CAACjB,MAAM,CAAC,CAAU,CAEtE;GACJ,MAAM,IACH,CAAAkB,qBAAA,GAAAtB,KAAK,CAACuB,QAAQ,EAAE,CAACC,aAAa,cAAAF,qBAAA,eAA9BA,qBAAA,CAAgClB,MAAM;;EACrC,CAAC,CAACJ,KAAK,CAACuB,QAAQ,EAAE,CAACE,YAAY,IAAIzB,KAAK,CAACK,OAAO,CAACqB,kBAAmB;IACvE;IACEhB,KAAK,GAAGR,KAAK,CAACY,MAAM,CAACC,MAAM,CAACC,OAAO,CAACW,OAAO;IAC3ChB,KAAK,gBACDO,yEACIA,6CAASX,aAAa,CAAU,YAC/BL,KAAK,CAACY,MAAM,CAACC,MAAM,CAACC,OAAO,CAACL,KAAK,yBAClCO,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACnB,MAAM,CAAC,CAACoB,MAAM,CAACjB,MAAM,CAAC,CAAU,CAEtE;GACJ,MAAM;IACHM,KAAK,GAAGR,KAAK,CAACY,MAAM,CAACC,MAAM,CAACC,OAAO,CAACW,OAAO;IAC3ChB,KAAK,gBAAGO,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACnB,MAAM,CAAC,CAACoB,MAAM,CAACjB,MAAM,CAAC,CAAU;;EAG3E,oBACIc;IACIU,SAAS,EAAC,+GAA+G;iBAC/G;KACTlB,KAAK,YAAQC,KAAK,CACjB;AAEd;;;;"}
@@ -2,7 +2,8 @@ import React__default from 'react';
2
2
  import cn from 'clsx';
3
3
  import { Tooltip } from '../../../Tooltip/Tooltip.js';
4
4
  import { flexRender } from '@tanstack/react-table';
5
- import { isInternalColumn, unfreezeAllExternalColumns, freezeUptoExternalColumn } from '../../../../primitives/Table/useTable/util/columns.js';
5
+ import { isInternalColumn, unfreezeAllExternalColumns, freezeUptoExternalColumn } from '../../../../primitives/Table/useTableManager/util/columns.js';
6
+ import { TableFilterComparator } from '../../../../primitives/Table/types.js';
6
7
  import { getSortAttributes, SortIndicator } from './components/SortIndicator.js';
7
8
  import { Resizer } from './components/Resizer.js';
8
9
  import { HeaderMenu } from './components/Menu.js';
@@ -20,6 +21,7 @@ function Header(header) {
20
21
  const columnMeta = (_header$column$column = header.column.columnDef.meta) !== null && _header$column$column !== void 0 ? _header$column$column : {};
21
22
  const isGroup = !!header.subHeaders.length;
22
23
  const isPinned = getIsPinned(header);
24
+ const canFilter = !header.isPlaceholder && header.column.getCanFilter() && !!table.options.enableColumnFilters;
23
25
  const canHide = !header.isPlaceholder && !isGroup && header.column.getCanHide();
24
26
  const canMeasureSize = !!table.getRowModel().rows.length;
25
27
  const canPin = !header.isPlaceholder && !isGroup && header.column.getCanPin();
@@ -33,6 +35,7 @@ function Header(header) {
33
35
  // passing header or column results in re-renders on scroll, so anything from those objects as memoed props
34
36
  const memoedProps = {
35
37
  align: columnMeta.align,
38
+ canFilter,
36
39
  canHide,
37
40
  canGoto,
38
41
  canMeasureSize,
@@ -46,6 +49,7 @@ function Header(header) {
46
49
  defaultWidth: columnMeta.defaultWidth,
47
50
  hasMenu,
48
51
  id: header.id,
52
+ isFiltered: header.column.getIsFiltered(),
49
53
  index: header.index,
50
54
  isGroup,
51
55
  isPinned,
@@ -62,6 +66,13 @@ function Header(header) {
62
66
  'after:!content-none': nextHeader === null || nextHeader === void 0 ? void 0 : nextHeader.isPlaceholder
63
67
  });
64
68
  }
69
+ if (canFilter) {
70
+ memoedProps.onFilter = () => {
71
+ header.column.setFilterValue({
72
+ comparator: TableFilterComparator.Contains
73
+ });
74
+ };
75
+ }
65
76
  if (canGoto) {
66
77
  memoedProps.onGoto = query => {
67
78
  var _tableMeta$rowGoto$ha, _tableMeta$rowGoto;
@@ -105,6 +116,7 @@ function Header(header) {
105
116
  const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(props) {
106
117
  const {
107
118
  align,
119
+ canFilter,
108
120
  canGoto,
109
121
  canHide,
110
122
  canMeasureSize,
@@ -119,11 +131,13 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
119
131
  hasMenu,
120
132
  id,
121
133
  index,
134
+ isFiltered,
122
135
  isGroup,
123
136
  isPinned,
124
137
  isPlaceholder,
125
138
  isResizing,
126
139
  offset,
140
+ onFilter: handleFilter,
127
141
  onGoto: handleGoto,
128
142
  onHide: handleHide,
129
143
  onPin: handlePin,
@@ -164,6 +178,7 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
164
178
  }, children))), sortDirection ? /*#__PURE__*/React__default.createElement(SortIndicator, {
165
179
  direction: sortDirection
166
180
  }) : null, hasMenu ? ( /*#__PURE__*/React__default.createElement(HeaderMenu, {
181
+ canFilter: canFilter,
167
182
  canGoto: canGoto,
168
183
  canHide: canHide,
169
184
  canPin: canPin,
@@ -174,6 +189,8 @@ const MemoedHeader = /*#__PURE__*/React__default.memo(function MemoedHeader(prop
174
189
  }),
175
190
  customMenu: customMenu,
176
191
  index: index,
192
+ isFiltered: isFiltered,
193
+ onFilter: handleFilter,
177
194
  onGoto: handleGoto,
178
195
  onHide: handleHide,
179
196
  onPin: handlePin,
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../../../../../../../../src/components/Report/components/Header/Header.tsx"],"sourcesContent":["import React from 'react';\nimport {\n TableMeta as ReactTableMeta,\n ColumnMeta as ReactTableColumnMeta,\n Header as ReactTableHeader,\n ColumnPinningPosition as ReactTableColumnPinningPosition,\n flexRender,\n} from '@tanstack/react-table';\nimport cn from 'clsx';\nimport {\n freezeUptoExternalColumn,\n isInternalColumn,\n unfreezeAllExternalColumns,\n} from '../../../../primitives/Table/useTable/util/columns';\nimport { Tooltip } from '../../../Tooltip/Tooltip';\nimport { SortIndicator, getSortAttributes } from './components/SortIndicator';\nimport {\n TableColumnAlignment,\n TableColumnMenu,\n TableColumnSortDirection,\n TableColumnWidth,\n} from '../../../../primitives/Table/types';\nimport { Resizer } from './components/Resizer';\nimport { HeaderMenu } from './components/Menu';\nimport { getIsPinned, useSetInitialColumnSizing } from './util';\n\nexport function Header<TType = unknown>(header: ReactTableHeader<TType, unknown>) {\n if (header.column.getIsGrouped()) {\n return null;\n }\n\n const { table } = header.getContext();\n\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const columnMeta = (header.column.columnDef.meta ?? {}) as ReactTableColumnMeta<TType, unknown>;\n\n const isGroup = !!header.subHeaders.length;\n const isPinned = getIsPinned(header);\n\n const canHide = !header.isPlaceholder && !isGroup && header.column.getCanHide();\n const canMeasureSize = !!table.getRowModel().rows.length;\n const canPin = !header.isPlaceholder && !isGroup && header.column.getCanPin();\n const canResize = !header.isPlaceholder && !isGroup && header.column.getCanResize();\n const canSort = !header.isPlaceholder && !isGroup && header.column.getCanSort();\n const canGoto = canSort && !header.isPlaceholder && !isGroup && tableMeta.rowGoto.isEnabled && !!header.column.getIsSorted();\n\n const hasMenu = !isInternalColumn(header.id) && (canHide || canGoto || canPin || canSort || !!columnMeta.menu);\n\n const sorting = table.getState().sorting;\n const filters = table.getState().columnFilters;\n const search = table.getState().globalFilter;\n\n // passing header or column results in re-renders on scroll, so anything from those objects as memoed props\n const memoedProps: MemoedHeaderProps = {\n align: columnMeta.align,\n canHide,\n canGoto,\n canMeasureSize,\n canPin,\n canResize,\n canSort,\n className: cn('group/header', columnMeta.headerClassName),\n children: flexRender(header.column.columnDef.header, header.getContext()),\n colSpan: header.colSpan,\n customMenu: columnMeta.menu,\n defaultWidth: columnMeta.defaultWidth,\n hasMenu,\n id: header.id,\n index: header.index,\n isGroup,\n isPinned,\n isPlaceholder: header.isPlaceholder,\n offset: header.column.getStart(isPinned),\n setRowActiveIndex: tableMeta.rowActive.setRowActiveIndex,\n setColumnSizing: table.setColumnSizing,\n tooltip: columnMeta.tooltip,\n width: table.getState().columnSizing[header.id],\n };\n\n if (header.isPlaceholder) {\n const nextHeader = header.headerGroup.headers[header.index + 1];\n memoedProps.className = cn('!bg-white before:!content-none', memoedProps.className, {\n 'after:!content-none': nextHeader?.isPlaceholder,\n });\n }\n\n if (canGoto) {\n memoedProps.onGoto = ((query: string) => tableMeta.rowGoto.handleGoto?.(header.id, query, sorting, filters, search)) as (\n query: string\n ) => Promise<number>;\n }\n\n if (canHide) {\n memoedProps.onHide = header.column.getToggleVisibilityHandler();\n }\n\n if (canPin) {\n memoedProps.onPin = (index: number | undefined) => {\n // TODO: this can probably be moved to a feature hook\n table.setColumnPinning(pinningState => {\n return {\n ...pinningState,\n left:\n index === undefined\n ? unfreezeAllExternalColumns(pinningState.left)\n : freezeUptoExternalColumn(\n index,\n table.getAllLeafColumns().map(column => column.id)\n ),\n };\n });\n };\n }\n\n if (canResize) {\n memoedProps.isResizing = header.column.getIsResizing();\n memoedProps.onResize = header.getResizeHandler();\n }\n\n if (canSort) {\n const handleSortToggle = (sortDirection: TableColumnSortDirection | false) => {\n if (sortDirection === false) {\n header.column.clearSorting();\n } else {\n header.column.toggleSorting(sortDirection === 'desc');\n }\n };\n\n memoedProps.onSort = header.column.getToggleSortingHandler();\n memoedProps.onSortToggle = handleSortToggle;\n memoedProps.sortDirection = header.column.getIsSorted();\n }\n\n return <MemoedHeader key={header.id} {...memoedProps} />;\n}\n\nexport type MemoedHeaderProps = {\n align?: TableColumnAlignment;\n canHide: boolean;\n canGoto: boolean;\n canMeasureSize: boolean;\n canPin: boolean;\n canResize: boolean;\n canSort: boolean;\n children: JSX.Element | React.ReactNode;\n className?: string;\n colSpan: number;\n customMenu?: TableColumnMenu;\n defaultWidth?: TableColumnWidth;\n hasMenu: boolean;\n id: string;\n index: number;\n isGroup: boolean;\n isPinned?: ReactTableColumnPinningPosition;\n isPlaceholder: boolean;\n isResizing?: boolean;\n offset?: number;\n onGoto?: (query: string) => Promise<number>;\n onHide?: (event: unknown) => void;\n onPin?: (index: number | undefined) => void;\n onResize?: (event: unknown) => void;\n onSort?: (event: unknown) => void;\n onSortToggle?: (sortDirection: TableColumnSortDirection | false) => void;\n setRowActiveIndex: (index: number) => void;\n setColumnSizing: any;\n sortDirection?: TableColumnSortDirection | false;\n tooltip?: string;\n width?: TableColumnWidth;\n};\n\nconst MemoedHeader = React.memo(function MemoedHeader(props: MemoedHeaderProps) {\n const {\n align,\n canGoto,\n canHide,\n canMeasureSize,\n canPin,\n canResize,\n canSort,\n children,\n className,\n colSpan,\n customMenu,\n defaultWidth,\n hasMenu,\n id,\n index,\n isGroup,\n isPinned,\n isPlaceholder,\n isResizing,\n offset,\n onGoto: handleGoto,\n onHide: handleHide,\n onPin: handlePin,\n onResize: handleResize,\n onSort: handleSort,\n onSortToggle: handleSortToggle,\n setRowActiveIndex,\n setColumnSizing,\n sortDirection,\n tooltip,\n width,\n } = props;\n const [ref, setRef] = React.useState<HTMLTableCellElement | null>(null);\n\n // save column width if none is set\n useSetInitialColumnSizing(id, defaultWidth, width, ref, canMeasureSize, setColumnSizing);\n\n // feature specific styles\n const style: React.CSSProperties = {};\n\n // column groups often span multiple columns\n if (colSpan > 1) {\n style.gridColumn = `span ${colSpan}`;\n }\n\n // pinned columns should be offset from either the left or right\n if (isPinned) {\n style[isPinned] = `${offset}px`;\n }\n\n return (\n <th\n {...getSortAttributes(canSort, handleSort, sortDirection)}\n className={className}\n data-cell-align={isGroup ? 'center' : align}\n data-cell-id={id}\n data-cell-pinned={isPinned ? isPinned : undefined}\n style={style}\n ref={setRef}>\n {isPlaceholder ? null : isInternalColumn(id) ? (\n children\n ) : (\n <Tooltip title={String(tooltip ?? children)} placement=\"top\">\n <span className=\"truncate\">{children}</span>\n </Tooltip>\n )}\n {sortDirection ? <SortIndicator direction={sortDirection} /> : null}\n {hasMenu ? (\n <HeaderMenu\n canGoto={canGoto}\n canHide={canHide}\n canPin={canPin}\n canSort={canSort}\n className={cn({\n 'ml-auto': align !== 'right',\n 'ml-0': align === 'right',\n })}\n customMenu={customMenu}\n index={index}\n onGoto={handleGoto}\n onHide={handleHide}\n onPin={handlePin}\n onSortToggle={handleSortToggle}\n setRowActiveIndex={setRowActiveIndex}\n sortDirection={sortDirection}\n />\n ) : null}\n {canResize ? (\n <Resizer\n headerRef={ref}\n id={id}\n isResizing={isResizing as boolean}\n onResize={handleResize as (event: unknown) => void}\n setColumnSizing={setColumnSizing}\n width={width}\n />\n ) : null}\n </th>\n );\n});\n"],"names":["Header","header","column","getIsGrouped","table","getContext","tableMeta","options","meta","columnMeta","_header$column$column","columnDef","isGroup","subHeaders","length","isPinned","getIsPinned","canHide","isPlaceholder","getCanHide","canMeasureSize","getRowModel","rows","canPin","getCanPin","canResize","getCanResize","canSort","getCanSort","canGoto","rowGoto","isEnabled","getIsSorted","hasMenu","isInternalColumn","id","menu","sorting","getState","filters","columnFilters","search","globalFilter","memoedProps","align","className","cn","headerClassName","children","flexRender","colSpan","customMenu","defaultWidth","index","offset","getStart","setRowActiveIndex","rowActive","setColumnSizing","tooltip","width","columnSizing","nextHeader","headerGroup","headers","onGoto","query","_tableMeta$rowGoto$ha","_tableMeta$rowGoto","handleGoto","call","onHide","getToggleVisibilityHandler","onPin","setColumnPinning","pinningState","left","undefined","unfreezeAllExternalColumns","freezeUptoExternalColumn","getAllLeafColumns","map","isResizing","getIsResizing","onResize","getResizeHandler","handleSortToggle","sortDirection","clearSorting","toggleSorting","onSort","getToggleSortingHandler","onSortToggle","React","MemoedHeader","key","memo","props","handleHide","handlePin","handleResize","handleSort","ref","setRef","useState","useSetInitialColumnSizing","style","gridColumn","getSortAttributes","Tooltip","title","String","placement","SortIndicator","direction","HeaderMenu","Resizer","headerRef"],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sources":["../../../../../../../../../src/components/Report/components/Header/Header.tsx"],"sourcesContent":["import React from 'react';\nimport {\n TableMeta as ReactTableMeta,\n ColumnMeta as ReactTableColumnMeta,\n Header as ReactTableHeader,\n ColumnPinningPosition as ReactTableColumnPinningPosition,\n flexRender,\n} from '@tanstack/react-table';\nimport cn from 'clsx';\nimport {\n freezeUptoExternalColumn,\n isInternalColumn,\n unfreezeAllExternalColumns,\n} from '../../../../primitives/Table/useTableManager/util/columns';\nimport { Tooltip } from '../../../Tooltip/Tooltip';\nimport { SortIndicator, getSortAttributes } from './components/SortIndicator';\nimport {\n TableColumnAlignment,\n TableColumnMenu,\n TableColumnSortDirection,\n TableColumnWidth,\n TableFilterComparator,\n} from '../../../../primitives/Table/types';\nimport { Resizer } from './components/Resizer';\nimport { HeaderMenu } from './components/Menu';\nimport { getIsPinned, useSetInitialColumnSizing } from './util';\n\nexport function Header<TType = unknown>(header: ReactTableHeader<TType, unknown>) {\n if (header.column.getIsGrouped()) {\n return null;\n }\n\n const { table } = header.getContext();\n\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const columnMeta = (header.column.columnDef.meta ?? {}) as ReactTableColumnMeta<TType, unknown>;\n\n const isGroup = !!header.subHeaders.length;\n const isPinned = getIsPinned(header);\n\n const canFilter = !header.isPlaceholder && header.column.getCanFilter() && !!table.options.enableColumnFilters;\n const canHide = !header.isPlaceholder && !isGroup && header.column.getCanHide();\n const canMeasureSize = !!table.getRowModel().rows.length;\n const canPin = !header.isPlaceholder && !isGroup && header.column.getCanPin();\n const canResize = !header.isPlaceholder && !isGroup && header.column.getCanResize();\n const canSort = !header.isPlaceholder && !isGroup && header.column.getCanSort();\n const canGoto = canSort && !header.isPlaceholder && !isGroup && tableMeta.rowGoto.isEnabled && !!header.column.getIsSorted();\n\n const hasMenu = !isInternalColumn(header.id) && (canHide || canGoto || canPin || canSort || !!columnMeta.menu);\n\n const sorting = table.getState().sorting;\n const filters = table.getState().columnFilters;\n const search = table.getState().globalFilter;\n\n // passing header or column results in re-renders on scroll, so anything from those objects as memoed props\n const memoedProps: MemoedHeaderProps = {\n align: columnMeta.align,\n canFilter,\n canHide,\n canGoto,\n canMeasureSize,\n canPin,\n canResize,\n canSort,\n className: cn('group/header', columnMeta.headerClassName),\n children: flexRender(header.column.columnDef.header, header.getContext()),\n colSpan: header.colSpan,\n customMenu: columnMeta.menu,\n defaultWidth: columnMeta.defaultWidth,\n hasMenu,\n id: header.id,\n isFiltered: header.column.getIsFiltered(),\n index: header.index,\n isGroup,\n isPinned,\n isPlaceholder: header.isPlaceholder,\n offset: header.column.getStart(isPinned),\n setRowActiveIndex: tableMeta.rowActive.setRowActiveIndex,\n setColumnSizing: table.setColumnSizing,\n tooltip: columnMeta.tooltip,\n width: table.getState().columnSizing[header.id],\n };\n\n if (header.isPlaceholder) {\n const nextHeader = header.headerGroup.headers[header.index + 1];\n memoedProps.className = cn('!bg-white before:!content-none', memoedProps.className, {\n 'after:!content-none': nextHeader?.isPlaceholder,\n });\n }\n\n if (canFilter) {\n memoedProps.onFilter = () => {\n header.column.setFilterValue({ comparator: TableFilterComparator.Contains });\n };\n }\n\n if (canGoto) {\n memoedProps.onGoto = ((query: string) => tableMeta.rowGoto.handleGoto?.(header.id, query, sorting, filters, search)) as (\n query: string\n ) => Promise<number>;\n }\n\n if (canHide) {\n memoedProps.onHide = header.column.getToggleVisibilityHandler();\n }\n\n if (canPin) {\n memoedProps.onPin = (index: number | undefined) => {\n // TODO: this can probably be moved to a feature hook\n table.setColumnPinning(pinningState => {\n return {\n ...pinningState,\n left:\n index === undefined\n ? unfreezeAllExternalColumns(pinningState.left)\n : freezeUptoExternalColumn(\n index,\n table.getAllLeafColumns().map(column => column.id)\n ),\n };\n });\n };\n }\n\n if (canResize) {\n memoedProps.isResizing = header.column.getIsResizing();\n memoedProps.onResize = header.getResizeHandler();\n }\n\n if (canSort) {\n const handleSortToggle = (sortDirection: TableColumnSortDirection | false) => {\n if (sortDirection === false) {\n header.column.clearSorting();\n } else {\n header.column.toggleSorting(sortDirection === 'desc');\n }\n };\n\n memoedProps.onSort = header.column.getToggleSortingHandler();\n memoedProps.onSortToggle = handleSortToggle;\n memoedProps.sortDirection = header.column.getIsSorted();\n }\n\n return <MemoedHeader key={header.id} {...memoedProps} />;\n}\n\nexport type MemoedHeaderProps = {\n align?: TableColumnAlignment;\n canFilter: boolean;\n canHide: boolean;\n canGoto: boolean;\n canMeasureSize: boolean;\n canPin: boolean;\n canResize: boolean;\n canSort: boolean;\n children: JSX.Element | React.ReactNode;\n className?: string;\n colSpan: number;\n customMenu?: TableColumnMenu;\n defaultWidth?: TableColumnWidth;\n hasMenu: boolean;\n id: string;\n index: number;\n isFiltered: boolean;\n isGroup: boolean;\n isPinned?: ReactTableColumnPinningPosition;\n isPlaceholder: boolean;\n isResizing?: boolean;\n offset?: number;\n onFilter?: () => void;\n onGoto?: (query: string) => Promise<number>;\n onHide?: (event: unknown) => void;\n onPin?: (index: number | undefined) => void;\n onResize?: (event: unknown) => void;\n onSort?: (event: unknown) => void;\n onSortToggle?: (sortDirection: TableColumnSortDirection | false) => void;\n setRowActiveIndex: (index: number) => void;\n setColumnSizing: any;\n sortDirection?: TableColumnSortDirection | false;\n tooltip?: string;\n width?: TableColumnWidth;\n};\n\nconst MemoedHeader = React.memo(function MemoedHeader(props: MemoedHeaderProps) {\n const {\n align,\n canFilter,\n canGoto,\n canHide,\n canMeasureSize,\n canPin,\n canResize,\n canSort,\n children,\n className,\n colSpan,\n customMenu,\n defaultWidth,\n hasMenu,\n id,\n index,\n isFiltered,\n isGroup,\n isPinned,\n isPlaceholder,\n isResizing,\n offset,\n onFilter: handleFilter,\n onGoto: handleGoto,\n onHide: handleHide,\n onPin: handlePin,\n onResize: handleResize,\n onSort: handleSort,\n onSortToggle: handleSortToggle,\n setRowActiveIndex,\n setColumnSizing,\n sortDirection,\n tooltip,\n width,\n } = props;\n const [ref, setRef] = React.useState<HTMLTableCellElement | null>(null);\n\n // save column width if none is set\n useSetInitialColumnSizing(id, defaultWidth, width, ref, canMeasureSize, setColumnSizing);\n\n // feature specific styles\n const style: React.CSSProperties = {};\n\n // column groups often span multiple columns\n if (colSpan > 1) {\n style.gridColumn = `span ${colSpan}`;\n }\n\n // pinned columns should be offset from either the left or right\n if (isPinned) {\n style[isPinned] = `${offset}px`;\n }\n\n return (\n <th\n {...getSortAttributes(canSort, handleSort, sortDirection)}\n className={className}\n data-cell-align={isGroup ? 'center' : align}\n data-cell-id={id}\n data-cell-pinned={isPinned ? isPinned : undefined}\n style={style}\n ref={setRef}>\n {isPlaceholder ? null : isInternalColumn(id) ? (\n children\n ) : (\n <Tooltip title={String(tooltip ?? children)} placement=\"top\">\n <span className=\"truncate\">{children}</span>\n </Tooltip>\n )}\n {sortDirection ? <SortIndicator direction={sortDirection} /> : null}\n {hasMenu ? (\n <HeaderMenu\n canFilter={canFilter}\n canGoto={canGoto}\n canHide={canHide}\n canPin={canPin}\n canSort={canSort}\n className={cn({\n 'ml-auto': align !== 'right',\n 'ml-0': align === 'right',\n })}\n customMenu={customMenu}\n index={index}\n isFiltered={isFiltered}\n onFilter={handleFilter}\n onGoto={handleGoto}\n onHide={handleHide}\n onPin={handlePin}\n onSortToggle={handleSortToggle}\n setRowActiveIndex={setRowActiveIndex}\n sortDirection={sortDirection}\n />\n ) : null}\n {canResize ? (\n <Resizer\n headerRef={ref}\n id={id}\n isResizing={isResizing as boolean}\n onResize={handleResize as (event: unknown) => void}\n setColumnSizing={setColumnSizing}\n width={width}\n />\n ) : null}\n </th>\n );\n});\n"],"names":["Header","header","column","getIsGrouped","table","getContext","tableMeta","options","meta","columnMeta","_header$column$column","columnDef","isGroup","subHeaders","length","isPinned","getIsPinned","canFilter","isPlaceholder","getCanFilter","enableColumnFilters","canHide","getCanHide","canMeasureSize","getRowModel","rows","canPin","getCanPin","canResize","getCanResize","canSort","getCanSort","canGoto","rowGoto","isEnabled","getIsSorted","hasMenu","isInternalColumn","id","menu","sorting","getState","filters","columnFilters","search","globalFilter","memoedProps","align","className","cn","headerClassName","children","flexRender","colSpan","customMenu","defaultWidth","isFiltered","getIsFiltered","index","offset","getStart","setRowActiveIndex","rowActive","setColumnSizing","tooltip","width","columnSizing","nextHeader","headerGroup","headers","onFilter","setFilterValue","comparator","TableFilterComparator","Contains","onGoto","query","_tableMeta$rowGoto$ha","_tableMeta$rowGoto","handleGoto","call","onHide","getToggleVisibilityHandler","onPin","setColumnPinning","pinningState","left","undefined","unfreezeAllExternalColumns","freezeUptoExternalColumn","getAllLeafColumns","map","isResizing","getIsResizing","onResize","getResizeHandler","handleSortToggle","sortDirection","clearSorting","toggleSorting","onSort","getToggleSortingHandler","onSortToggle","React","MemoedHeader","key","memo","props","handleFilter","handleHide","handlePin","handleResize","handleSort","ref","setRef","useState","useSetInitialColumnSizing","style","gridColumn","getSortAttributes","Tooltip","title","String","placement","SortIndicator","direction","HeaderMenu","Resizer","headerRef"],"mappings":"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"}
@@ -8,12 +8,15 @@ import { GotoPopover } from './Goto.js';
8
8
 
9
9
  function HeaderMenu(props) {
10
10
  const {
11
+ canFilter,
11
12
  canGoto,
12
13
  canHide,
13
14
  canPin,
14
15
  canSort,
15
16
  customMenu,
16
17
  index,
18
+ isFiltered,
19
+ onFilter: handleFilter,
17
20
  onGoto: handleGoto,
18
21
  onHide: handleHide,
19
22
  onPin: handlePin,
@@ -107,6 +110,12 @@ function HeaderMenu(props) {
107
110
  onClick: () => handlePin(undefined)
108
111
  }, texts.table3.columns.menu.unfreezeColumns));
109
112
  }
113
+ if (canFilter && handleFilter) {
114
+ menuItems.push( /*#__PURE__*/React__default.createElement(Menu.Item, {
115
+ icon: isFiltered ? 'filter-solid' : 'filter',
116
+ onClick: () => handleFilter()
117
+ }, isFiltered ? texts.table3.columns.menu.editFilter : texts.table3.columns.menu.filter));
118
+ }
110
119
  if (customMenu) {
111
120
  const menu = customMenu({
112
121
  trigger: undefined
@@ -122,7 +131,7 @@ function HeaderMenu(props) {
122
131
  return menuItems.map((item, key) => /*#__PURE__*/React__default.cloneElement(item, {
123
132
  key
124
133
  }));
125
- }, [canGoto, canHide, canPin, canSort, customMenu, handleGoto, handleSortToggle, index, sortDirection]);
134
+ }, [canFilter, canGoto, canHide, canPin, canSort, customMenu, handleGoto, handleSortToggle, index, isFiltered, sortDirection]);
126
135
  // can't use display: none because the button needs to be focusable
127
136
  const className = cn(
128
137
  // positioning