@economic/taco 14.1.1 → 14.2.0-tanstack-virtual-update.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 (279) hide show
  1. package/dist/charts/components/Area/AreaChart.cjs +2 -2
  2. package/dist/charts/components/Area/AreaChart.cjs.map +1 -1
  3. package/dist/charts/components/Area/AreaChart.js +2 -2
  4. package/dist/charts/components/Area/AreaChart.js.map +1 -1
  5. package/dist/charts/components/Bar/BarChart.cjs +1 -1
  6. package/dist/charts/components/Bar/BarChart.cjs.map +1 -1
  7. package/dist/charts/components/Bar/BarChart.js +1 -1
  8. package/dist/charts/components/Bar/BarChart.js.map +1 -1
  9. package/dist/charts/components/Line/LineChart.cjs +1 -1
  10. package/dist/charts/components/Line/LineChart.cjs.map +1 -1
  11. package/dist/charts/components/Line/LineChart.js +1 -1
  12. package/dist/charts/components/Line/LineChart.js.map +1 -1
  13. package/dist/components/Datepicker/Datepicker.cjs +4 -14
  14. package/dist/components/Datepicker/Datepicker.cjs.map +1 -1
  15. package/dist/components/Datepicker/Datepicker.js +4 -14
  16. package/dist/components/Datepicker/Datepicker.js.map +1 -1
  17. package/dist/components/HoverCard/HoverCard.cjs +4 -20
  18. package/dist/components/HoverCard/HoverCard.cjs.map +1 -1
  19. package/dist/components/HoverCard/HoverCard.js +5 -21
  20. package/dist/components/HoverCard/HoverCard.js.map +1 -1
  21. package/dist/components/Popover/Popover.cjs +12 -3
  22. package/dist/components/Popover/Popover.cjs.map +1 -1
  23. package/dist/components/Popover/Popover.d.ts +1 -0
  24. package/dist/components/Popover/Popover.js +14 -5
  25. package/dist/components/Popover/Popover.js.map +1 -1
  26. package/dist/components/Popover/util.cjs +2 -2
  27. package/dist/components/Popover/util.cjs.map +1 -1
  28. package/dist/components/Popover/util.d.ts +1 -1
  29. package/dist/components/Popover/util.js +2 -2
  30. package/dist/components/Popover/util.js.map +1 -1
  31. package/dist/components/Provider/Localization.cjs +3 -0
  32. package/dist/components/Provider/Localization.cjs.map +1 -1
  33. package/dist/components/Provider/Localization.d.ts +6 -0
  34. package/dist/components/Provider/Localization.js +3 -0
  35. package/dist/components/Provider/Localization.js.map +1 -1
  36. package/dist/components/Table3/components/Columns/Cell/Cell.cjs +3 -2
  37. package/dist/components/Table3/components/Columns/Cell/Cell.cjs.map +1 -1
  38. package/dist/components/Table3/components/Columns/Cell/Cell.js +3 -2
  39. package/dist/components/Table3/components/Columns/Cell/Cell.js.map +1 -1
  40. package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.cjs +6 -5
  41. package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.cjs.map +1 -1
  42. package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js +6 -5
  43. package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js.map +1 -1
  44. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs +9 -8
  45. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs.map +1 -1
  46. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js +9 -8
  47. package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
  48. package/dist/components/Table3/components/Columns/Cell/util.cjs +2 -1
  49. package/dist/components/Table3/components/Columns/Cell/util.cjs.map +1 -1
  50. package/dist/components/Table3/components/Columns/Cell/util.js +2 -1
  51. package/dist/components/Table3/components/Columns/Cell/util.js.map +1 -1
  52. package/dist/components/Table3/components/Editing/Alert.cjs +2 -1
  53. package/dist/components/Table3/components/Editing/Alert.cjs.map +1 -1
  54. package/dist/components/Table3/components/Editing/Alert.js +2 -1
  55. package/dist/components/Table3/components/Editing/Alert.js.map +1 -1
  56. package/dist/components/Table3/components/Row/Editing/SaveStatus.cjs +2 -1
  57. package/dist/components/Table3/components/Row/Editing/SaveStatus.cjs.map +1 -1
  58. package/dist/components/Table3/components/Row/Editing/SaveStatus.js +2 -1
  59. package/dist/components/Table3/components/Row/Editing/SaveStatus.js.map +1 -1
  60. package/dist/components/Table3/components/Row/Row.cjs +2 -1
  61. package/dist/components/Table3/components/Row/Row.cjs.map +1 -1
  62. package/dist/components/Table3/components/Row/Row.js +2 -1
  63. package/dist/components/Table3/components/Row/Row.js.map +1 -1
  64. package/dist/components/Table3/components/Toolbar/Editing/Editing.cjs +2 -1
  65. package/dist/components/Table3/components/Toolbar/Editing/Editing.cjs.map +1 -1
  66. package/dist/components/Table3/components/Toolbar/Editing/Editing.js +2 -1
  67. package/dist/components/Table3/components/Toolbar/Editing/Editing.js.map +1 -1
  68. package/dist/components/Table3/features/useEditingState.cjs +3 -2
  69. package/dist/components/Table3/features/useEditingState.cjs.map +1 -1
  70. package/dist/components/Table3/features/useEditingState.js +3 -2
  71. package/dist/components/Table3/features/useEditingState.js.map +1 -1
  72. package/dist/components/Table3/features/useTableEditing.cjs +4 -3
  73. package/dist/components/Table3/features/useTableEditing.cjs.map +1 -1
  74. package/dist/components/Table3/features/useTableEditing.js +4 -3
  75. package/dist/components/Table3/features/useTableEditing.js.map +1 -1
  76. package/dist/components/Table3/listeners/useTableEditingListener.cjs +2 -1
  77. package/dist/components/Table3/listeners/useTableEditingListener.cjs.map +1 -1
  78. package/dist/components/Table3/listeners/useTableEditingListener.js +2 -1
  79. package/dist/components/Table3/listeners/useTableEditingListener.js.map +1 -1
  80. package/dist/components/Toggletip/Toggletip.cjs +85 -0
  81. package/dist/components/Toggletip/Toggletip.cjs.map +1 -0
  82. package/dist/components/Toggletip/Toggletip.d.ts +13 -0
  83. package/dist/components/Toggletip/Toggletip.js +68 -0
  84. package/dist/components/Toggletip/Toggletip.js.map +1 -0
  85. package/dist/components/Tooltip/Tooltip.cjs +3 -19
  86. package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
  87. package/dist/components/Tooltip/Tooltip.js +3 -19
  88. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  89. package/dist/components/index.d.ts +1 -0
  90. package/dist/index.cjs +3 -0
  91. package/dist/index.cjs.map +1 -1
  92. package/dist/index.js +4 -1
  93. package/dist/index.js.map +1 -1
  94. package/dist/primitives/ArrowTip/ArrowTip.cjs +43 -0
  95. package/dist/primitives/ArrowTip/ArrowTip.cjs.map +1 -0
  96. package/dist/primitives/ArrowTip/ArrowTip.d.ts +10 -0
  97. package/dist/primitives/ArrowTip/ArrowTip.js +26 -0
  98. package/dist/primitives/ArrowTip/ArrowTip.js.map +1 -0
  99. package/dist/primitives/BareButton/BareButton.cjs +28 -0
  100. package/dist/primitives/BareButton/BareButton.cjs.map +1 -0
  101. package/dist/primitives/BareButton/BareButton.d.ts +7 -0
  102. package/dist/primitives/BareButton/BareButton.js +11 -0
  103. package/dist/primitives/BareButton/BareButton.js.map +1 -0
  104. package/dist/primitives/Table/Core/components/Body/Body.cjs +5 -5
  105. package/dist/primitives/Table/Core/components/Body/Body.cjs.map +1 -1
  106. package/dist/primitives/Table/Core/components/Body/Body.js +6 -6
  107. package/dist/primitives/Table/Core/components/Body/Body.js.map +1 -1
  108. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.cjs +2 -2
  109. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.cjs.map +1 -1
  110. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js +2 -2
  111. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js.map +1 -1
  112. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.cjs +2 -1
  113. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.cjs.map +1 -1
  114. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js +2 -1
  115. package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js.map +1 -1
  116. package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs +6 -5
  117. package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs.map +1 -1
  118. package/dist/primitives/Table/Core/components/Columns/Cell/util.js +6 -5
  119. package/dist/primitives/Table/Core/components/Columns/Cell/util.js.map +1 -1
  120. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs +3 -2
  121. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs.map +1 -1
  122. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js +3 -2
  123. package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
  124. package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.cjs +3 -2
  125. package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.cjs.map +1 -1
  126. package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.js +3 -2
  127. package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.js.map +1 -1
  128. package/dist/primitives/Table/Core/components/Columns/Internal/Selection.cjs +3 -2
  129. package/dist/primitives/Table/Core/components/Columns/Internal/Selection.cjs.map +1 -1
  130. package/dist/primitives/Table/Core/components/Columns/Internal/Selection.js +3 -2
  131. package/dist/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -1
  132. package/dist/primitives/Table/Core/components/Footer/Footer.cjs +3 -2
  133. package/dist/primitives/Table/Core/components/Footer/Footer.cjs.map +1 -1
  134. package/dist/primitives/Table/Core/components/Footer/Footer.js +3 -2
  135. package/dist/primitives/Table/Core/components/Footer/Footer.js.map +1 -1
  136. package/dist/primitives/Table/Core/components/Footer/Summary.cjs +2 -1
  137. package/dist/primitives/Table/Core/components/Footer/Summary.cjs.map +1 -1
  138. package/dist/primitives/Table/Core/components/Footer/Summary.js +2 -1
  139. package/dist/primitives/Table/Core/components/Footer/Summary.js.map +1 -1
  140. package/dist/primitives/Table/Core/components/Header/Header.cjs +9 -8
  141. package/dist/primitives/Table/Core/components/Header/Header.cjs.map +1 -1
  142. package/dist/primitives/Table/Core/components/Header/Header.js +9 -8
  143. package/dist/primitives/Table/Core/components/Header/Header.js.map +1 -1
  144. package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.cjs +6 -5
  145. package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.cjs.map +1 -1
  146. package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js +2 -1
  147. package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js.map +1 -1
  148. package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.cjs +3 -2
  149. package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.cjs.map +1 -1
  150. package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js +3 -2
  151. package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js.map +1 -1
  152. package/dist/primitives/Table/Core/components/Row/Row.cjs +2 -2
  153. package/dist/primitives/Table/Core/components/Row/Row.cjs.map +1 -1
  154. package/dist/primitives/Table/Core/components/Row/Row.js +2 -2
  155. package/dist/primitives/Table/Core/components/Row/Row.js.map +1 -1
  156. package/dist/primitives/Table/Core/components/Toolbar/Toolbar.cjs +2 -1
  157. package/dist/primitives/Table/Core/components/Toolbar/Toolbar.cjs.map +1 -1
  158. package/dist/primitives/Table/Core/components/Toolbar/Toolbar.js +2 -1
  159. package/dist/primitives/Table/Core/components/Toolbar/Toolbar.js.map +1 -1
  160. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs +2 -1
  161. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs.map +1 -1
  162. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js +2 -1
  163. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +1 -1
  164. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/util.cjs +6 -6
  165. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/util.cjs.map +1 -1
  166. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/util.js +6 -6
  167. package/dist/primitives/Table/Core/components/Toolbar/components/Filters/util.js.map +1 -1
  168. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs +2 -1
  169. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs.map +1 -1
  170. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js +2 -1
  171. package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js.map +1 -1
  172. package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.cjs +2 -1
  173. package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.cjs.map +1 -1
  174. package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.js +2 -1
  175. package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.js.map +1 -1
  176. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.cjs +2 -1
  177. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.cjs.map +1 -1
  178. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js +2 -1
  179. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js.map +1 -1
  180. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.cjs +2 -1
  181. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.cjs.map +1 -1
  182. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js +2 -1
  183. package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js.map +1 -1
  184. package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.cjs +1 -1
  185. package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.cjs.map +1 -1
  186. package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.js +2 -2
  187. package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.js.map +1 -1
  188. package/dist/primitives/Table/Core/features/useTableRef.cjs +3 -2
  189. package/dist/primitives/Table/Core/features/useTableRef.cjs.map +1 -1
  190. package/dist/primitives/Table/Core/features/useTableRef.js +3 -2
  191. package/dist/primitives/Table/Core/features/useTableRef.js.map +1 -1
  192. package/dist/primitives/Table/Core/features/useTableRenderer.cjs +13 -12
  193. package/dist/primitives/Table/Core/features/useTableRenderer.cjs.map +1 -1
  194. package/dist/primitives/Table/Core/features/useTableRenderer.js +3 -2
  195. package/dist/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
  196. package/dist/primitives/Table/Core/features/useTableStyle.cjs +2 -1
  197. package/dist/primitives/Table/Core/features/useTableStyle.cjs.map +1 -1
  198. package/dist/primitives/Table/Core/features/useTableStyle.d.ts +857 -857
  199. package/dist/primitives/Table/Core/features/useTableStyle.js +2 -1
  200. package/dist/primitives/Table/Core/features/useTableStyle.js.map +1 -1
  201. package/dist/primitives/Table/Core/features/useTableStyleGrid.cjs +2 -1
  202. package/dist/primitives/Table/Core/features/useTableStyleGrid.cjs.map +1 -1
  203. package/dist/primitives/Table/Core/features/useTableStyleGrid.js +2 -1
  204. package/dist/primitives/Table/Core/features/useTableStyleGrid.js.map +1 -1
  205. package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.cjs +2 -1
  206. package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.cjs.map +1 -1
  207. package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.js +2 -1
  208. package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.js.map +1 -1
  209. package/dist/primitives/Table/useTableManager/features/useTableRowSelection.cjs +5 -5
  210. package/dist/primitives/Table/useTableManager/features/useTableRowSelection.cjs.map +1 -1
  211. package/dist/primitives/Table/useTableManager/features/useTableRowSelection.js +2 -2
  212. package/dist/primitives/Table/useTableManager/features/useTableRowSelection.js.map +1 -1
  213. package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.cjs +2 -1
  214. package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.cjs.map +1 -1
  215. package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.js +2 -1
  216. package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.js.map +1 -1
  217. package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.cjs +2 -1
  218. package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.cjs.map +1 -1
  219. package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js +2 -1
  220. package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js.map +1 -1
  221. package/dist/primitives/Table/useTableManager/listeners/useTableRowActiveListener.cjs +4 -3
  222. package/dist/primitives/Table/useTableManager/listeners/useTableRowActiveListener.cjs.map +1 -1
  223. package/dist/primitives/Table/useTableManager/listeners/useTableRowActiveListener.js +2 -1
  224. package/dist/primitives/Table/useTableManager/listeners/useTableRowActiveListener.js.map +1 -1
  225. package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.cjs +2 -1
  226. package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.cjs.map +1 -1
  227. package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.js +2 -1
  228. package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.js.map +1 -1
  229. package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.cjs +4 -4
  230. package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.cjs.map +1 -1
  231. package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js +2 -2
  232. package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js.map +1 -1
  233. package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.cjs +2 -1
  234. package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.cjs.map +1 -1
  235. package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.js +2 -1
  236. package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -1
  237. package/dist/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.cjs +2 -1
  238. package/dist/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.cjs.map +1 -1
  239. package/dist/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js +2 -1
  240. package/dist/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js.map +1 -1
  241. package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.cjs +2 -1
  242. package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.cjs.map +1 -1
  243. package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.js +2 -1
  244. package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.js.map +1 -1
  245. package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.cjs +5 -4
  246. package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.cjs.map +1 -1
  247. package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.js +2 -1
  248. package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.js.map +1 -1
  249. package/dist/primitives/Table/useTableManager/useTableManager.cjs +3 -1
  250. package/dist/primitives/Table/useTableManager/useTableManager.cjs.map +1 -1
  251. package/dist/primitives/Table/useTableManager/useTableManager.js +3 -1
  252. package/dist/primitives/Table/useTableManager/useTableManager.js.map +1 -1
  253. package/dist/primitives/Table/useTableManager/util/rows.cjs +8 -1
  254. package/dist/primitives/Table/useTableManager/util/rows.cjs.map +1 -1
  255. package/dist/primitives/Table/useTableManager/util/rows.d.ts +2 -1
  256. package/dist/primitives/Table/useTableManager/util/rows.js +9 -2
  257. package/dist/primitives/Table/useTableManager/util/rows.js.map +1 -1
  258. package/dist/primitives/Table/useTableManager/util/search.cjs +2 -1
  259. package/dist/primitives/Table/useTableManager/util/search.cjs.map +1 -1
  260. package/dist/primitives/Table/useTableManager/util/search.js +2 -1
  261. package/dist/primitives/Table/useTableManager/util/search.js.map +1 -1
  262. package/dist/primitives/Table/useTableManager/util/settings.cjs +2 -1
  263. package/dist/primitives/Table/useTableManager/util/settings.cjs.map +1 -1
  264. package/dist/primitives/Table/useTableManager/util/settings.js +2 -1
  265. package/dist/primitives/Table/useTableManager/util/settings.js.map +1 -1
  266. package/dist/utils/tailwind.cjs +4 -0
  267. package/dist/utils/tailwind.cjs.map +1 -1
  268. package/dist/utils/tailwind.d.ts +4 -0
  269. package/dist/utils/tailwind.js +4 -0
  270. package/dist/utils/tailwind.js.map +1 -1
  271. package/package.json +6 -6
  272. package/dist/components/Popover/Primitives.cjs +0 -44
  273. package/dist/components/Popover/Primitives.cjs.map +0 -1
  274. package/dist/components/Popover/Primitives.d.ts +0 -2
  275. package/dist/components/Popover/Primitives.js +0 -27
  276. package/dist/components/Popover/Primitives.js.map +0 -1
  277. /package/dist/components/Icon/config/{index-template.d.cts → index-template.d.ts} +0 -0
  278. /package/dist/components/Icon/config/{svgr.config.d.cts → svgr.config.d.ts} +0 -0
  279. /package/dist/components/Icon/config/{template.d.cts → template.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Summary.js","sources":["../../../../../../src/primitives/Table/Core/components/Footer/Summary.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { useLocalization } from '@/components';\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 tableMeta = table.options.meta as ReactTableMeta<TType>;\n const length = tableMeta.length;\n const currentLength = table.getRowModel().rows.length;\n\n let label;\n let count;\n\n // row selection\n // use table state and not the selected row model because of the way server loading works\n const rowsSelectedLength = Object.keys(table.getState().rowSelection).length;\n\n if (rowsSelectedLength > 0) {\n label = texts.table.footer.summary.selected;\n count = (\n <>\n <strong>{new Intl.NumberFormat(locale).format(rowsSelectedLength)}</strong>&nbsp;\n {texts.table.footer.summary.count}&nbsp;\n <strong>{new Intl.NumberFormat(locale).format(length)}</strong>\n </>\n );\n } else if (\n !tableMeta.server.isEnabled &&\n (table.getState().columnFilters?.length ||\n // filtered data\n (!!table.getState().globalFilter && table.options.enableGlobalFilter))\n ) {\n label = texts.table.footer.summary.records;\n count = (\n <>\n <strong data-taco=\"table-footer-current-count\">{new Intl.NumberFormat(locale).format(currentLength)}</strong>\n &nbsp;\n {texts.table.footer.summary.count}&nbsp;\n <strong data-taco=\"table-footer-total-count\">{new Intl.NumberFormat(locale).format(length)}</strong>\n </>\n );\n } else {\n label = texts.table.footer.summary.records;\n count = <strong data-taco=\"table-footer-total-count\">{new Intl.NumberFormat(locale).format(length)}</strong>;\n }\n\n return (\n <div\n // oxlint-disable-next-line taco/no-disallowed-shadow-classes\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=\"table-footer-summary\">\n {label}&nbsp;{count}\n </div>\n );\n}\n"],"names":["React"],"mappings":";;AASO,SAAS,QAAyB,OAAkC;AACvE,QAAM,EAAE,UAAU;AAClB,QAAM,EAAE,QAAQ,MAAA,IAAU,gBAAA;AAC1B,QAAM,YAAY,MAAM,QAAQ;AAChC,QAAM,SAAS,UAAU;AACzB,QAAM,gBAAgB,MAAM,YAAA,EAAc,KAAK;AAE/C,MAAI;AACJ,MAAI;AAIJ,QAAM,qBAAqB,OAAO,KAAK,MAAM,SAAA,EAAW,YAAY,EAAE;AAEtE,MAAI,qBAAqB,GAAG;AACxB,YAAQ,MAAM,MAAM,OAAO,QAAQ;AACnC,YACIA,+BAAA,cAAAA,eAAA,UAAA,MACIA,+BAAA,cAAC,UAAA,MAAQ,IAAI,KAAK,aAAa,MAAM,EAAE,OAAO,kBAAkB,CAAE,GAAS,KAC1E,MAAM,MAAM,OAAO,QAAQ,OAAM,KAClCA,+BAAA,cAAC,UAAA,MAAQ,IAAI,KAAK,aAAa,MAAM,EAAE,OAAO,MAAM,CAAE,CAC1D;AAAA,EAER,WACI,CAAC,UAAU,OAAO,cACjB,MAAM,WAAW,eAAe;AAAA,EAE5B,CAAC,CAAC,MAAM,SAAA,EAAW,gBAAgB,MAAM,QAAQ,qBACxD;AACE,YAAQ,MAAM,MAAM,OAAO,QAAQ;AACnC,YACIA,+BAAA,cAAAA,eAAA,UAAA,MACIA,+BAAA,cAAC,UAAA,EAAO,aAAU,gCAA8B,IAAI,KAAK,aAAa,MAAM,EAAE,OAAO,aAAa,CAAE,GAAS,KAE5G,MAAM,MAAM,OAAO,QAAQ,OAAM,KAClCA,+BAAA,cAAC,YAAO,aAAU,2BAAA,GAA4B,IAAI,KAAK,aAAa,MAAM,EAAE,OAAO,MAAM,CAAE,CAC/F;AAAA,EAER,OAAO;AACH,YAAQ,MAAM,MAAM,OAAO,QAAQ;AACnC,YAAQA,+BAAA,cAAC,UAAA,EAAO,aAAU,2BAAA,GAA4B,IAAI,KAAK,aAAa,MAAM,EAAE,OAAO,MAAM,CAAE;AAAA,EACvG;AAEA,SACIA,+BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEG,WAAU;AAAA,MACV,aAAU;AAAA,IAAA;AAAA,IACT;AAAA,IAAM;AAAA,IAAO;AAAA,EAAA;AAG1B;"}
1
+ {"version":3,"file":"Summary.js","sources":["../../../../../../src/primitives/Table/Core/components/Footer/Summary.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { useLocalization } from '@/components';\n\nimport { getTableMeta } from '../../../useTableManager/util/rows';\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 tableMeta = getTableMeta(table);\n const length = tableMeta.length;\n const currentLength = table.getRowModel().rows.length;\n\n let label;\n let count;\n\n // row selection\n // use table state and not the selected row model because of the way server loading works\n const rowsSelectedLength = Object.keys(table.getState().rowSelection).length;\n\n if (rowsSelectedLength > 0) {\n label = texts.table.footer.summary.selected;\n count = (\n <>\n <strong>{new Intl.NumberFormat(locale).format(rowsSelectedLength)}</strong>&nbsp;\n {texts.table.footer.summary.count}&nbsp;\n <strong>{new Intl.NumberFormat(locale).format(length)}</strong>\n </>\n );\n } else if (\n !tableMeta.server.isEnabled &&\n (table.getState().columnFilters?.length ||\n // filtered data\n (!!table.getState().globalFilter && table.options.enableGlobalFilter))\n ) {\n label = texts.table.footer.summary.records;\n count = (\n <>\n <strong data-taco=\"table-footer-current-count\">{new Intl.NumberFormat(locale).format(currentLength)}</strong>\n &nbsp;\n {texts.table.footer.summary.count}&nbsp;\n <strong data-taco=\"table-footer-total-count\">{new Intl.NumberFormat(locale).format(length)}</strong>\n </>\n );\n } else {\n label = texts.table.footer.summary.records;\n count = <strong data-taco=\"table-footer-total-count\">{new Intl.NumberFormat(locale).format(length)}</strong>;\n }\n\n return (\n <div\n // oxlint-disable-next-line taco/no-disallowed-shadow-classes\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=\"table-footer-summary\">\n {label}&nbsp;{count}\n </div>\n );\n}\n"],"names":["React"],"mappings":";;;AAWO,SAAS,QAAyB,OAAkC;AACvE,QAAM,EAAE,UAAU;AAClB,QAAM,EAAE,QAAQ,MAAA,IAAU,gBAAA;AAC1B,QAAM,YAAY,aAAa,KAAK;AACpC,QAAM,SAAS,UAAU;AACzB,QAAM,gBAAgB,MAAM,YAAA,EAAc,KAAK;AAE/C,MAAI;AACJ,MAAI;AAIJ,QAAM,qBAAqB,OAAO,KAAK,MAAM,SAAA,EAAW,YAAY,EAAE;AAEtE,MAAI,qBAAqB,GAAG;AACxB,YAAQ,MAAM,MAAM,OAAO,QAAQ;AACnC,YACIA,+BAAA,cAAAA,eAAA,UAAA,MACIA,+BAAA,cAAC,UAAA,MAAQ,IAAI,KAAK,aAAa,MAAM,EAAE,OAAO,kBAAkB,CAAE,GAAS,KAC1E,MAAM,MAAM,OAAO,QAAQ,OAAM,KAClCA,+BAAA,cAAC,UAAA,MAAQ,IAAI,KAAK,aAAa,MAAM,EAAE,OAAO,MAAM,CAAE,CAC1D;AAAA,EAER,WACI,CAAC,UAAU,OAAO,cACjB,MAAM,WAAW,eAAe;AAAA,EAE5B,CAAC,CAAC,MAAM,SAAA,EAAW,gBAAgB,MAAM,QAAQ,qBACxD;AACE,YAAQ,MAAM,MAAM,OAAO,QAAQ;AACnC,YACIA,+BAAA,cAAAA,eAAA,UAAA,MACIA,+BAAA,cAAC,UAAA,EAAO,aAAU,gCAA8B,IAAI,KAAK,aAAa,MAAM,EAAE,OAAO,aAAa,CAAE,GAAS,KAE5G,MAAM,MAAM,OAAO,QAAQ,OAAM,KAClCA,+BAAA,cAAC,YAAO,aAAU,2BAAA,GAA4B,IAAI,KAAK,aAAa,MAAM,EAAE,OAAO,MAAM,CAAE,CAC/F;AAAA,EAER,OAAO;AACH,YAAQ,MAAM,MAAM,OAAO,QAAQ;AACnC,YAAQA,+BAAA,cAAC,UAAA,EAAO,aAAU,2BAAA,GAA4B,IAAI,KAAK,aAAa,MAAM,EAAE,OAAO,MAAM,CAAE;AAAA,EACvG;AAEA,SACIA,+BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MAEG,WAAU;AAAA,MACV,aAAU;AAAA,IAAA;AAAA,IACT;AAAA,IAAM;AAAA,IAAO;AAAA,EAAA;AAG1B;"}
@@ -5,6 +5,7 @@ const cn = require("clsx");
5
5
  const React = require("react");
6
6
  const types = require("../../../types.cjs");
7
7
  const columns = require("../../../useTableManager/util/columns.cjs");
8
+ const rows = require("../../../useTableManager/util/rows.cjs");
8
9
  const Menu = require("./components/Menu.cjs");
9
10
  const Resizer = require("./components/Resizer.cjs");
10
11
  const SortIndicator = require("./components/SortIndicator.cjs");
@@ -22,8 +23,8 @@ function Header(props) {
22
23
  return null;
23
24
  }
24
25
  const { table } = header.getContext();
25
- const tableMeta = table.options.meta;
26
- const columnMeta = header.column.columnDef.meta ?? {};
26
+ const tableMeta = rows.getTableMeta(table);
27
+ const columnMeta = header.column.columnDef.meta;
27
28
  const isGroup = !!header.subHeaders.length;
28
29
  const isPinned = util.getIsPinned(header);
29
30
  const canFilter = !header.isPlaceholder && header.column.getCanFilter() && !!table.options.enableColumnFilters;
@@ -33,12 +34,12 @@ function Header(props) {
33
34
  const canResize = !header.isPlaceholder && !isGroup && header.column.getCanResize();
34
35
  const canSort = !header.isPlaceholder && !isGroup && header.column.getCanSort();
35
36
  const canGoto = canSort && !header.isPlaceholder && !isGroup && tableMeta.rowGoto.isEnabled && !!header.column.getIsSorted();
36
- const hasMenu = !columns.isInternalColumn(header.id) && (canHide || canGoto || canPin || canSort || !!columnMeta.menu);
37
+ const hasMenu = !columns.isInternalColumn(header.id) && (canHide || canGoto || canPin || canSort || !!columnMeta?.menu);
37
38
  const sorting = table.getState().sorting;
38
39
  const filters = table.getState().columnFilters;
39
40
  const search = table.getState().globalFilter;
40
41
  const memoedProps = {
41
- align: columnMeta.align,
42
+ align: columnMeta?.align,
42
43
  canFilter,
43
44
  canHide,
44
45
  canGoto,
@@ -46,11 +47,11 @@ function Header(props) {
46
47
  canPin,
47
48
  canResize,
48
49
  canSort,
49
- className: cn("group/header", columnMeta.headerClassName),
50
+ className: cn("group/header", columnMeta?.headerClassName),
50
51
  children: reactTable.flexRender(header.column.columnDef.header, header.getContext()),
51
52
  colSpan: header.colSpan,
52
- customMenu: columnMeta.menu,
53
- defaultWidth: columnMeta.defaultWidth,
53
+ customMenu: columnMeta?.menu,
54
+ defaultWidth: columnMeta?.defaultWidth,
54
55
  hasMenu,
55
56
  id: header.id,
56
57
  isFiltered: header.column.getIsFiltered(),
@@ -63,7 +64,7 @@ function Header(props) {
63
64
  scrollToIndex,
64
65
  setRowActiveIndex: tableMeta.rowActive.setRowActiveIndex,
65
66
  setColumnSizing: table.setColumnSizing,
66
- tooltip: columnMeta.tooltip,
67
+ tooltip: columnMeta?.tooltip,
67
68
  width: table.getState().columnSizing[header.id]
68
69
  };
69
70
  if (header.isPlaceholder) {
@@ -1 +1 @@
1
- {"version":3,"file":"Header.cjs","sources":["../../../../../../src/primitives/Table/Core/components/Header/Header.tsx"],"sourcesContent":["import type {\n TableMeta as ReactTableMeta,\n ColumnMeta as ReactTableColumnMeta,\n Header as ReactTableHeader,\n ColumnPinningPosition as ReactTableColumnPinningPosition,\n Updater,\n ColumnSizingState,\n} from '@tanstack/react-table';\nimport { flexRender } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport { Tooltip } from '@/components';\n\nimport type { TableColumnAlignment, TableColumnMenu, TableColumnSortDirection, TableColumnWidth } from '../../../types';\nimport { TableFilterComparator } from '../../../types';\nimport { freezeUptoExternalColumn, isInternalColumn, unfreezeAllExternalColumns } from '../../../useTableManager/util/columns';\n\nimport { HeaderMenu } from './components/Menu';\nimport { Resizer } from './components/Resizer';\nimport { SortIndicator, getSortAttributes } from './components/SortIndicator';\nimport { getIsPinned, useSetInitialColumnSizing } from './util';\n\ntype HeaderContentProps = {\n children: React.ReactNode;\n tooltip?: React.ReactNode;\n isInternalColumnHeader: boolean;\n};\n\nconst HeaderContent = ({ children, tooltip, isInternalColumnHeader }: HeaderContentProps) => {\n if (isInternalColumnHeader || typeof children !== 'string') {\n return <>{children}</>;\n }\n\n return (\n <Tooltip title={String(tooltip ?? children)} placement=\"top\">\n <span className=\"truncate\">{children}</span>\n </Tooltip>\n );\n};\n\nexport type HeaderProps<TType = unknown> = {\n header: ReactTableHeader<TType, unknown>;\n scrollToIndex: (index: number) => void;\n};\n\nexport function Header<TType = unknown>(props: HeaderProps<TType>) {\n const { header, scrollToIndex } = props;\n\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 parentId: header.column.parent?.id,\n scrollToIndex,\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 (header.id === '__expansion') {\n memoedProps.isExpanded = table.getIsSomeRowsExpanded();\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 memoedProps.resetSize = header.column.resetSize;\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: React.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 isExpanded?: boolean;\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 parentId?: string;\n resetSize?: () => void;\n scrollToIndex: (index: number) => void;\n setRowActiveIndex: (index: number) => void;\n setColumnSizing: (updater: Updater<ColumnSizingState>) => void;\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 isExpanded,\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 resetSize: handleResetSize,\n scrollToIndex,\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 || undefined}\n data-taco={\n isGroup ? (isPlaceholder ? 'grouped-column-header-placeholder' : 'grouped-column-header') : 'column-header'\n }\n data-parent-group-id={props.parentId ? props.parentId : undefined}\n data-rows-expanded={isExpanded || undefined}\n style={style}\n ref={setRef}>\n {isPlaceholder ? null : (\n <HeaderContent children={children} tooltip={tooltip} isInternalColumnHeader={!!isInternalColumn(id)} />\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 scrollToIndex={scrollToIndex}\n setRowActiveIndex={setRowActiveIndex}\n sortDirection={sortDirection}\n columnId={id}\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 onResetSize={handleResetSize as () => void}\n setColumnSizing={setColumnSizing}\n width={width}\n />\n ) : null}\n </th>\n );\n});\n"],"names":["Tooltip","getIsPinned","isInternalColumn","flexRender","TableFilterComparator","unfreezeAllExternalColumns","freezeUptoExternalColumn","MemoedHeader","useSetInitialColumnSizing","getSortAttributes","SortIndicator","HeaderMenu","Resizer"],"mappings":";;;;;;;;;;;;AA6BA,MAAM,gBAAgB,CAAC,EAAE,UAAU,SAAS,6BAAiD;AACzF,MAAI,0BAA0B,OAAO,aAAa,UAAU;AACxD,qEAAU,QAAS;AAAA,EACvB;AAEA,SACI,sBAAA,cAACA,iBAAA,EAAQ,OAAO,OAAO,WAAW,QAAQ,GAAG,WAAU,SACnD,sBAAA,cAAC,QAAA,EAAK,WAAU,WAAA,GAAY,QAAS,CACzC;AAER;AAOO,SAAS,OAAwB,OAA2B;AAC/D,QAAM,EAAE,QAAQ,cAAA,IAAkB;AAElC,MAAI,OAAO,OAAO,gBAAgB;AAC9B,WAAO;AAAA,EACX;AAEA,QAAM,EAAE,MAAA,IAAU,OAAO,WAAA;AAEzB,QAAM,YAAY,MAAM,QAAQ;AAChC,QAAM,aAAc,OAAO,OAAO,UAAU,QAAQ,CAAA;AAEpD,QAAM,UAAU,CAAC,CAAC,OAAO,WAAW;AACpC,QAAM,WAAWC,KAAAA,YAAY,MAAM;AAEnC,QAAM,YAAY,CAAC,OAAO,iBAAiB,OAAO,OAAO,kBAAkB,CAAC,CAAC,MAAM,QAAQ;AAC3F,QAAM,UAAU,CAAC,OAAO,iBAAiB,CAAC,WAAW,OAAO,OAAO,WAAA;AACnE,QAAM,iBAAiB,CAAC,CAAC,MAAM,YAAA,EAAc,KAAK;AAClD,QAAM,SAAS,CAAC,OAAO,iBAAiB,CAAC,WAAW,OAAO,OAAO,UAAA;AAClE,QAAM,YAAY,CAAC,OAAO,iBAAiB,CAAC,WAAW,OAAO,OAAO,aAAA;AACrE,QAAM,UAAU,CAAC,OAAO,iBAAiB,CAAC,WAAW,OAAO,OAAO,WAAA;AACnE,QAAM,UAAU,WAAW,CAAC,OAAO,iBAAiB,CAAC,WAAW,UAAU,QAAQ,aAAa,CAAC,CAAC,OAAO,OAAO,YAAA;AAE/G,QAAM,UAAU,CAACC,QAAAA,iBAAiB,OAAO,EAAE,MAAM,WAAW,WAAW,UAAU,WAAW,CAAC,CAAC,WAAW;AAEzG,QAAM,UAAU,MAAM,SAAA,EAAW;AACjC,QAAM,UAAU,MAAM,SAAA,EAAW;AACjC,QAAM,SAAS,MAAM,SAAA,EAAW;AAGhC,QAAM,cAAiC;AAAA,IACnC,OAAO,WAAW;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,GAAG,gBAAgB,WAAW,eAAe;AAAA,IACxD,UAAUC,WAAAA,WAAW,OAAO,OAAO,UAAU,QAAQ,OAAO,YAAY;AAAA,IACxE,SAAS,OAAO;AAAA,IAChB,YAAY,WAAW;AAAA,IACvB,cAAc,WAAW;AAAA,IACzB;AAAA,IACA,IAAI,OAAO;AAAA,IACX,YAAY,OAAO,OAAO,cAAA;AAAA,IAC1B,OAAO,OAAO;AAAA,IACd;AAAA,IACA;AAAA,IACA,eAAe,OAAO;AAAA,IACtB,QAAQ,OAAO,OAAO,SAAS,QAAQ;AAAA,IACvC,UAAU,OAAO,OAAO,QAAQ;AAAA,IAChC;AAAA,IACA,mBAAmB,UAAU,UAAU;AAAA,IACvC,iBAAiB,MAAM;AAAA,IACvB,SAAS,WAAW;AAAA,IACpB,OAAO,MAAM,SAAA,EAAW,aAAa,OAAO,EAAE;AAAA,EAAA;AAGlD,MAAI,OAAO,eAAe;AACtB,UAAM,aAAa,OAAO,YAAY,QAAQ,OAAO,QAAQ,CAAC;AAC9D,gBAAY,YAAY,GAAG,kCAAkC,YAAY,WAAW;AAAA,MAChF,uBAAuB,YAAY;AAAA,IAAA,CACtC;AAAA,EACL;AAEA,MAAI,WAAW;AACX,gBAAY,WAAW,MAAM;AACzB,aAAO,OAAO,eAAe,EAAE,YAAYC,MAAAA,sBAAsB,UAAU;AAAA,IAC/E;AAAA,EACJ;AAEA,MAAI,SAAS;AACT,gBAAY,UAAU,CAAC,UAAkB,UAAU,QAAQ,aAAa,OAAO,IAAI,OAAO,SAAS,SAAS,MAAM;AAAA,EAGtH;AAEA,MAAI,SAAS;AACT,gBAAY,SAAS,OAAO,OAAO,2BAAA;AAAA,EACvC;AAEA,MAAI,OAAO,OAAO,eAAe;AAC7B,gBAAY,aAAa,MAAM,sBAAA;AAAA,EACnC;AAEA,MAAI,QAAQ;AACR,gBAAY,QAAQ,CAAC,UAA8B;AAE/C,YAAM,iBAAiB,CAAA,iBAAgB;AACnC,eAAO;AAAA,UACH,GAAG;AAAA,UACH,MACI,UAAU,SACJC,QAAAA,2BAA2B,aAAa,IAAI,IAC5CC,QAAAA;AAAAA,YACI;AAAA,YACA,MAAM,kBAAA,EAAoB,IAAI,CAAA,WAAU,OAAO,EAAE;AAAA,UAAA;AAAA,QACrD;AAAA,MAElB,CAAC;AAAA,IACL;AAAA,EACJ;AAEA,MAAI,WAAW;AACX,gBAAY,aAAa,OAAO,OAAO,cAAA;AACvC,gBAAY,WAAW,OAAO,iBAAA;AAC9B,gBAAY,YAAY,OAAO,OAAO;AAAA,EAC1C;AAEA,MAAI,SAAS;AACT,UAAM,mBAAmB,CAAC,kBAAoD;AAC1E,UAAI,kBAAkB,OAAO;AACzB,eAAO,OAAO,aAAA;AAAA,MAClB,OAAO;AACH,eAAO,OAAO,cAAc,kBAAkB,MAAM;AAAA,MACxD;AAAA,IACJ;AAEA,gBAAY,SAAS,OAAO,OAAO,wBAAA;AACnC,gBAAY,eAAe;AAC3B,gBAAY,gBAAgB,OAAO,OAAO,YAAA;AAAA,EAC9C;AAEA,6CAAQ,cAAA,EAAa,KAAK,OAAO,IAAK,GAAG,aAAa;AAC1D;AA2CA,MAAM,eAAe,MAAM,KAAK,SAASC,cAAa,OAA0B;AAC5E,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACA;AACJ,QAAM,CAAC,KAAK,MAAM,IAAI,MAAM,SAAsC,IAAI;AAGtEC,OAAAA,0BAA0B,IAAI,cAAc,OAAO,KAAK,gBAAgB,eAAe;AAGvF,QAAM,QAA6B,CAAA;AAGnC,MAAI,UAAU,GAAG;AACb,UAAM,aAAa,QAAQ,OAAO;AAAA,EACtC;AAGA,MAAI,UAAU;AACV,UAAM,QAAQ,IAAI,GAAG,MAAM;AAAA,EAC/B;AAEA,SACI,sBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAGC,gCAAkB,SAAS,YAAY,aAAa;AAAA,MACxD;AAAA,MACA,mBAAiB,UAAU,WAAW;AAAA,MACtC,gBAAc;AAAA,MACd,oBAAkB,YAAY;AAAA,MAC9B,aACI,UAAW,gBAAgB,sCAAsC,0BAA2B;AAAA,MAEhG,wBAAsB,MAAM,WAAW,MAAM,WAAW;AAAA,MACxD,sBAAoB,cAAc;AAAA,MAClC;AAAA,MACA,KAAK;AAAA,IAAA;AAAA,IACJ,gBAAgB,OACb,sBAAA,cAAC,eAAA,EAAc,UAAoB,SAAkB,wBAAwB,CAAC,CAACP,yBAAiB,EAAE,EAAA,CAAG;AAAA,IAExG,gBAAgB,sBAAA,cAACQ,cAAAA,eAAA,EAAc,WAAW,eAAe,IAAK;AAAA,IAC9D,UACG,sBAAA;AAAA,MAACC,KAAAA;AAAAA,MAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,GAAG;AAAA,UACV,WAAW,UAAU;AAAA,UACrB,QAAQ,UAAU;AAAA,QAAA,CACrB;AAAA,QACD;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,MAAA;AAAA,IAAA,IAEd;AAAA,IACH,YACG,sBAAA;AAAA,MAACC,QAAAA;AAAAA,MAAA;AAAA,QACG,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,aAAa;AAAA,QACb;AAAA,QACA;AAAA,MAAA;AAAA,IAAA,IAEJ;AAAA,EAAA;AAGhB,CAAC;;"}
1
+ {"version":3,"file":"Header.cjs","sources":["../../../../../../src/primitives/Table/Core/components/Header/Header.tsx"],"sourcesContent":["import type {\n Header as ReactTableHeader,\n ColumnPinningPosition as ReactTableColumnPinningPosition,\n Updater,\n ColumnSizingState,\n} from '@tanstack/react-table';\nimport { flexRender } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport { Tooltip } from '@/components';\n\nimport type { TableColumnAlignment, TableColumnMenu, TableColumnSortDirection, TableColumnWidth } from '../../../types';\nimport { TableFilterComparator } from '../../../types';\nimport { freezeUptoExternalColumn, isInternalColumn, unfreezeAllExternalColumns } from '../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../useTableManager/util/rows';\n\nimport { HeaderMenu } from './components/Menu';\nimport { Resizer } from './components/Resizer';\nimport { SortIndicator, getSortAttributes } from './components/SortIndicator';\nimport { getIsPinned, useSetInitialColumnSizing } from './util';\n\ntype HeaderContentProps = {\n children: React.ReactNode;\n tooltip?: React.ReactNode;\n isInternalColumnHeader: boolean;\n};\n\nconst HeaderContent = ({ children, tooltip, isInternalColumnHeader }: HeaderContentProps) => {\n if (isInternalColumnHeader || typeof children !== 'string') {\n return <>{children}</>;\n }\n\n return (\n <Tooltip title={String(tooltip ?? children)} placement=\"top\">\n <span className=\"truncate\">{children}</span>\n </Tooltip>\n );\n};\n\nexport type HeaderProps<TType = unknown> = {\n header: ReactTableHeader<TType, unknown>;\n scrollToIndex: (index: number) => void;\n};\n\nexport function Header<TType = unknown>(props: HeaderProps<TType>) {\n const { header, scrollToIndex } = props;\n\n if (header.column.getIsGrouped()) {\n return null;\n }\n\n const { table } = header.getContext();\n\n const tableMeta = getTableMeta(table);\n const columnMeta = header.column.columnDef.meta;\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 parentId: header.column.parent?.id,\n scrollToIndex,\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 (header.id === '__expansion') {\n memoedProps.isExpanded = table.getIsSomeRowsExpanded();\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 memoedProps.resetSize = header.column.resetSize;\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: React.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 isExpanded?: boolean;\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 parentId?: string;\n resetSize?: () => void;\n scrollToIndex: (index: number) => void;\n setRowActiveIndex: (index: number) => void;\n setColumnSizing: (updater: Updater<ColumnSizingState>) => void;\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 isExpanded,\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 resetSize: handleResetSize,\n scrollToIndex,\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 || undefined}\n data-taco={\n isGroup ? (isPlaceholder ? 'grouped-column-header-placeholder' : 'grouped-column-header') : 'column-header'\n }\n data-parent-group-id={props.parentId ? props.parentId : undefined}\n data-rows-expanded={isExpanded || undefined}\n style={style}\n ref={setRef}>\n {isPlaceholder ? null : (\n <HeaderContent children={children} tooltip={tooltip} isInternalColumnHeader={!!isInternalColumn(id)} />\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 scrollToIndex={scrollToIndex}\n setRowActiveIndex={setRowActiveIndex}\n sortDirection={sortDirection}\n columnId={id}\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 onResetSize={handleResetSize as () => void}\n setColumnSizing={setColumnSizing}\n width={width}\n />\n ) : null}\n </th>\n );\n});\n"],"names":["Tooltip","getTableMeta","getIsPinned","isInternalColumn","flexRender","TableFilterComparator","unfreezeAllExternalColumns","freezeUptoExternalColumn","MemoedHeader","useSetInitialColumnSizing","getSortAttributes","SortIndicator","HeaderMenu","Resizer"],"mappings":"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"}
@@ -3,6 +3,7 @@ import cn from "clsx";
3
3
  import React__default from "react";
4
4
  import { TableFilterComparator } from "../../../types.js";
5
5
  import { isInternalColumn, unfreezeAllExternalColumns, freezeUptoExternalColumn } from "../../../useTableManager/util/columns.js";
6
+ import { getTableMeta } from "../../../useTableManager/util/rows.js";
6
7
  import { HeaderMenu } from "./components/Menu.js";
7
8
  import { Resizer } from "./components/Resizer.js";
8
9
  import { getSortAttributes, SortIndicator } from "./components/SortIndicator.js";
@@ -20,8 +21,8 @@ function Header(props) {
20
21
  return null;
21
22
  }
22
23
  const { table } = header.getContext();
23
- const tableMeta = table.options.meta;
24
- const columnMeta = header.column.columnDef.meta ?? {};
24
+ const tableMeta = getTableMeta(table);
25
+ const columnMeta = header.column.columnDef.meta;
25
26
  const isGroup = !!header.subHeaders.length;
26
27
  const isPinned = getIsPinned(header);
27
28
  const canFilter = !header.isPlaceholder && header.column.getCanFilter() && !!table.options.enableColumnFilters;
@@ -31,12 +32,12 @@ function Header(props) {
31
32
  const canResize = !header.isPlaceholder && !isGroup && header.column.getCanResize();
32
33
  const canSort = !header.isPlaceholder && !isGroup && header.column.getCanSort();
33
34
  const canGoto = canSort && !header.isPlaceholder && !isGroup && tableMeta.rowGoto.isEnabled && !!header.column.getIsSorted();
34
- const hasMenu = !isInternalColumn(header.id) && (canHide || canGoto || canPin || canSort || !!columnMeta.menu);
35
+ const hasMenu = !isInternalColumn(header.id) && (canHide || canGoto || canPin || canSort || !!columnMeta?.menu);
35
36
  const sorting = table.getState().sorting;
36
37
  const filters = table.getState().columnFilters;
37
38
  const search = table.getState().globalFilter;
38
39
  const memoedProps = {
39
- align: columnMeta.align,
40
+ align: columnMeta?.align,
40
41
  canFilter,
41
42
  canHide,
42
43
  canGoto,
@@ -44,11 +45,11 @@ function Header(props) {
44
45
  canPin,
45
46
  canResize,
46
47
  canSort,
47
- className: cn("group/header", columnMeta.headerClassName),
48
+ className: cn("group/header", columnMeta?.headerClassName),
48
49
  children: flexRender(header.column.columnDef.header, header.getContext()),
49
50
  colSpan: header.colSpan,
50
- customMenu: columnMeta.menu,
51
- defaultWidth: columnMeta.defaultWidth,
51
+ customMenu: columnMeta?.menu,
52
+ defaultWidth: columnMeta?.defaultWidth,
52
53
  hasMenu,
53
54
  id: header.id,
54
55
  isFiltered: header.column.getIsFiltered(),
@@ -61,7 +62,7 @@ function Header(props) {
61
62
  scrollToIndex,
62
63
  setRowActiveIndex: tableMeta.rowActive.setRowActiveIndex,
63
64
  setColumnSizing: table.setColumnSizing,
64
- tooltip: columnMeta.tooltip,
65
+ tooltip: columnMeta?.tooltip,
65
66
  width: table.getState().columnSizing[header.id]
66
67
  };
67
68
  if (header.isPlaceholder) {
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../../../../../src/primitives/Table/Core/components/Header/Header.tsx"],"sourcesContent":["import type {\n TableMeta as ReactTableMeta,\n ColumnMeta as ReactTableColumnMeta,\n Header as ReactTableHeader,\n ColumnPinningPosition as ReactTableColumnPinningPosition,\n Updater,\n ColumnSizingState,\n} from '@tanstack/react-table';\nimport { flexRender } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport { Tooltip } from '@/components';\n\nimport type { TableColumnAlignment, TableColumnMenu, TableColumnSortDirection, TableColumnWidth } from '../../../types';\nimport { TableFilterComparator } from '../../../types';\nimport { freezeUptoExternalColumn, isInternalColumn, unfreezeAllExternalColumns } from '../../../useTableManager/util/columns';\n\nimport { HeaderMenu } from './components/Menu';\nimport { Resizer } from './components/Resizer';\nimport { SortIndicator, getSortAttributes } from './components/SortIndicator';\nimport { getIsPinned, useSetInitialColumnSizing } from './util';\n\ntype HeaderContentProps = {\n children: React.ReactNode;\n tooltip?: React.ReactNode;\n isInternalColumnHeader: boolean;\n};\n\nconst HeaderContent = ({ children, tooltip, isInternalColumnHeader }: HeaderContentProps) => {\n if (isInternalColumnHeader || typeof children !== 'string') {\n return <>{children}</>;\n }\n\n return (\n <Tooltip title={String(tooltip ?? children)} placement=\"top\">\n <span className=\"truncate\">{children}</span>\n </Tooltip>\n );\n};\n\nexport type HeaderProps<TType = unknown> = {\n header: ReactTableHeader<TType, unknown>;\n scrollToIndex: (index: number) => void;\n};\n\nexport function Header<TType = unknown>(props: HeaderProps<TType>) {\n const { header, scrollToIndex } = props;\n\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 parentId: header.column.parent?.id,\n scrollToIndex,\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 (header.id === '__expansion') {\n memoedProps.isExpanded = table.getIsSomeRowsExpanded();\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 memoedProps.resetSize = header.column.resetSize;\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: React.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 isExpanded?: boolean;\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 parentId?: string;\n resetSize?: () => void;\n scrollToIndex: (index: number) => void;\n setRowActiveIndex: (index: number) => void;\n setColumnSizing: (updater: Updater<ColumnSizingState>) => void;\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 isExpanded,\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 resetSize: handleResetSize,\n scrollToIndex,\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 || undefined}\n data-taco={\n isGroup ? (isPlaceholder ? 'grouped-column-header-placeholder' : 'grouped-column-header') : 'column-header'\n }\n data-parent-group-id={props.parentId ? props.parentId : undefined}\n data-rows-expanded={isExpanded || undefined}\n style={style}\n ref={setRef}>\n {isPlaceholder ? null : (\n <HeaderContent children={children} tooltip={tooltip} isInternalColumnHeader={!!isInternalColumn(id)} />\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 scrollToIndex={scrollToIndex}\n setRowActiveIndex={setRowActiveIndex}\n sortDirection={sortDirection}\n columnId={id}\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 onResetSize={handleResetSize as () => void}\n setColumnSizing={setColumnSizing}\n width={width}\n />\n ) : null}\n </th>\n );\n});\n"],"names":["React","MemoedHeader"],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sources":["../../../../../../src/primitives/Table/Core/components/Header/Header.tsx"],"sourcesContent":["import type {\n Header as ReactTableHeader,\n ColumnPinningPosition as ReactTableColumnPinningPosition,\n Updater,\n ColumnSizingState,\n} from '@tanstack/react-table';\nimport { flexRender } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport { Tooltip } from '@/components';\n\nimport type { TableColumnAlignment, TableColumnMenu, TableColumnSortDirection, TableColumnWidth } from '../../../types';\nimport { TableFilterComparator } from '../../../types';\nimport { freezeUptoExternalColumn, isInternalColumn, unfreezeAllExternalColumns } from '../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../useTableManager/util/rows';\n\nimport { HeaderMenu } from './components/Menu';\nimport { Resizer } from './components/Resizer';\nimport { SortIndicator, getSortAttributes } from './components/SortIndicator';\nimport { getIsPinned, useSetInitialColumnSizing } from './util';\n\ntype HeaderContentProps = {\n children: React.ReactNode;\n tooltip?: React.ReactNode;\n isInternalColumnHeader: boolean;\n};\n\nconst HeaderContent = ({ children, tooltip, isInternalColumnHeader }: HeaderContentProps) => {\n if (isInternalColumnHeader || typeof children !== 'string') {\n return <>{children}</>;\n }\n\n return (\n <Tooltip title={String(tooltip ?? children)} placement=\"top\">\n <span className=\"truncate\">{children}</span>\n </Tooltip>\n );\n};\n\nexport type HeaderProps<TType = unknown> = {\n header: ReactTableHeader<TType, unknown>;\n scrollToIndex: (index: number) => void;\n};\n\nexport function Header<TType = unknown>(props: HeaderProps<TType>) {\n const { header, scrollToIndex } = props;\n\n if (header.column.getIsGrouped()) {\n return null;\n }\n\n const { table } = header.getContext();\n\n const tableMeta = getTableMeta(table);\n const columnMeta = header.column.columnDef.meta;\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 parentId: header.column.parent?.id,\n scrollToIndex,\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 (header.id === '__expansion') {\n memoedProps.isExpanded = table.getIsSomeRowsExpanded();\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 memoedProps.resetSize = header.column.resetSize;\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: React.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 isExpanded?: boolean;\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 parentId?: string;\n resetSize?: () => void;\n scrollToIndex: (index: number) => void;\n setRowActiveIndex: (index: number) => void;\n setColumnSizing: (updater: Updater<ColumnSizingState>) => void;\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 isExpanded,\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 resetSize: handleResetSize,\n scrollToIndex,\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 || undefined}\n data-taco={\n isGroup ? (isPlaceholder ? 'grouped-column-header-placeholder' : 'grouped-column-header') : 'column-header'\n }\n data-parent-group-id={props.parentId ? props.parentId : undefined}\n data-rows-expanded={isExpanded || undefined}\n style={style}\n ref={setRef}>\n {isPlaceholder ? null : (\n <HeaderContent children={children} tooltip={tooltip} isInternalColumnHeader={!!isInternalColumn(id)} />\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 scrollToIndex={scrollToIndex}\n setRowActiveIndex={setRowActiveIndex}\n sortDirection={sortDirection}\n columnId={id}\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 onResetSize={handleResetSize as () => void}\n setColumnSizing={setColumnSizing}\n width={width}\n />\n ) : null}\n </th>\n );\n});\n"],"names":["React","MemoedHeader"],"mappings":";;;;;;;;;;;AA4BA,MAAM,gBAAgB,CAAC,EAAE,UAAU,SAAS,6BAAiD;AACzF,MAAI,0BAA0B,OAAO,aAAa,UAAU;AACxD,uFAAU,QAAS;AAAA,EACvB;AAEA,SACIA,+BAAA,cAAC,SAAA,EAAQ,OAAO,OAAO,WAAW,QAAQ,GAAG,WAAU,SACnDA,+BAAA,cAAC,QAAA,EAAK,WAAU,WAAA,GAAY,QAAS,CACzC;AAER;AAOO,SAAS,OAAwB,OAA2B;AAC/D,QAAM,EAAE,QAAQ,cAAA,IAAkB;AAElC,MAAI,OAAO,OAAO,gBAAgB;AAC9B,WAAO;AAAA,EACX;AAEA,QAAM,EAAE,MAAA,IAAU,OAAO,WAAA;AAEzB,QAAM,YAAY,aAAa,KAAK;AACpC,QAAM,aAAa,OAAO,OAAO,UAAU;AAE3C,QAAM,UAAU,CAAC,CAAC,OAAO,WAAW;AACpC,QAAM,WAAW,YAAY,MAAM;AAEnC,QAAM,YAAY,CAAC,OAAO,iBAAiB,OAAO,OAAO,kBAAkB,CAAC,CAAC,MAAM,QAAQ;AAC3F,QAAM,UAAU,CAAC,OAAO,iBAAiB,CAAC,WAAW,OAAO,OAAO,WAAA;AACnE,QAAM,iBAAiB,CAAC,CAAC,MAAM,YAAA,EAAc,KAAK;AAClD,QAAM,SAAS,CAAC,OAAO,iBAAiB,CAAC,WAAW,OAAO,OAAO,UAAA;AAClE,QAAM,YAAY,CAAC,OAAO,iBAAiB,CAAC,WAAW,OAAO,OAAO,aAAA;AACrE,QAAM,UAAU,CAAC,OAAO,iBAAiB,CAAC,WAAW,OAAO,OAAO,WAAA;AACnE,QAAM,UAAU,WAAW,CAAC,OAAO,iBAAiB,CAAC,WAAW,UAAU,QAAQ,aAAa,CAAC,CAAC,OAAO,OAAO,YAAA;AAE/G,QAAM,UAAU,CAAC,iBAAiB,OAAO,EAAE,MAAM,WAAW,WAAW,UAAU,WAAW,CAAC,CAAC,YAAY;AAE1G,QAAM,UAAU,MAAM,SAAA,EAAW;AACjC,QAAM,UAAU,MAAM,SAAA,EAAW;AACjC,QAAM,SAAS,MAAM,SAAA,EAAW;AAGhC,QAAM,cAAiC;AAAA,IACnC,OAAO,YAAY;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,GAAG,gBAAgB,YAAY,eAAe;AAAA,IACzD,UAAU,WAAW,OAAO,OAAO,UAAU,QAAQ,OAAO,YAAY;AAAA,IACxE,SAAS,OAAO;AAAA,IAChB,YAAY,YAAY;AAAA,IACxB,cAAc,YAAY;AAAA,IAC1B;AAAA,IACA,IAAI,OAAO;AAAA,IACX,YAAY,OAAO,OAAO,cAAA;AAAA,IAC1B,OAAO,OAAO;AAAA,IACd;AAAA,IACA;AAAA,IACA,eAAe,OAAO;AAAA,IACtB,QAAQ,OAAO,OAAO,SAAS,QAAQ;AAAA,IACvC,UAAU,OAAO,OAAO,QAAQ;AAAA,IAChC;AAAA,IACA,mBAAmB,UAAU,UAAU;AAAA,IACvC,iBAAiB,MAAM;AAAA,IACvB,SAAS,YAAY;AAAA,IACrB,OAAO,MAAM,SAAA,EAAW,aAAa,OAAO,EAAE;AAAA,EAAA;AAGlD,MAAI,OAAO,eAAe;AACtB,UAAM,aAAa,OAAO,YAAY,QAAQ,OAAO,QAAQ,CAAC;AAC9D,gBAAY,YAAY,GAAG,kCAAkC,YAAY,WAAW;AAAA,MAChF,uBAAuB,YAAY;AAAA,IAAA,CACtC;AAAA,EACL;AAEA,MAAI,WAAW;AACX,gBAAY,WAAW,MAAM;AACzB,aAAO,OAAO,eAAe,EAAE,YAAY,sBAAsB,UAAU;AAAA,IAC/E;AAAA,EACJ;AAEA,MAAI,SAAS;AACT,gBAAY,UAAU,CAAC,UAAkB,UAAU,QAAQ,aAAa,OAAO,IAAI,OAAO,SAAS,SAAS,MAAM;AAAA,EAGtH;AAEA,MAAI,SAAS;AACT,gBAAY,SAAS,OAAO,OAAO,2BAAA;AAAA,EACvC;AAEA,MAAI,OAAO,OAAO,eAAe;AAC7B,gBAAY,aAAa,MAAM,sBAAA;AAAA,EACnC;AAEA,MAAI,QAAQ;AACR,gBAAY,QAAQ,CAAC,UAA8B;AAE/C,YAAM,iBAAiB,CAAA,iBAAgB;AACnC,eAAO;AAAA,UACH,GAAG;AAAA,UACH,MACI,UAAU,SACJ,2BAA2B,aAAa,IAAI,IAC5C;AAAA,YACI;AAAA,YACA,MAAM,kBAAA,EAAoB,IAAI,CAAA,WAAU,OAAO,EAAE;AAAA,UAAA;AAAA,QACrD;AAAA,MAElB,CAAC;AAAA,IACL;AAAA,EACJ;AAEA,MAAI,WAAW;AACX,gBAAY,aAAa,OAAO,OAAO,cAAA;AACvC,gBAAY,WAAW,OAAO,iBAAA;AAC9B,gBAAY,YAAY,OAAO,OAAO;AAAA,EAC1C;AAEA,MAAI,SAAS;AACT,UAAM,mBAAmB,CAAC,kBAAoD;AAC1E,UAAI,kBAAkB,OAAO;AACzB,eAAO,OAAO,aAAA;AAAA,MAClB,OAAO;AACH,eAAO,OAAO,cAAc,kBAAkB,MAAM;AAAA,MACxD;AAAA,IACJ;AAEA,gBAAY,SAAS,OAAO,OAAO,wBAAA;AACnC,gBAAY,eAAe;AAC3B,gBAAY,gBAAgB,OAAO,OAAO,YAAA;AAAA,EAC9C;AAEA,sDAAQ,cAAA,EAAa,KAAK,OAAO,IAAK,GAAG,aAAa;AAC1D;AA2CA,MAAM,eAAeA,eAAM,KAAK,SAASC,cAAa,OAA0B;AAC5E,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACA;AACJ,QAAM,CAAC,KAAK,MAAM,IAAID,eAAM,SAAsC,IAAI;AAGtE,4BAA0B,IAAI,cAAc,OAAO,KAAK,gBAAgB,eAAe;AAGvF,QAAM,QAA6B,CAAA;AAGnC,MAAI,UAAU,GAAG;AACb,UAAM,aAAa,QAAQ,OAAO;AAAA,EACtC;AAGA,MAAI,UAAU;AACV,UAAM,QAAQ,IAAI,GAAG,MAAM;AAAA,EAC/B;AAEA,SACIA,+BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACI,GAAG,kBAAkB,SAAS,YAAY,aAAa;AAAA,MACxD;AAAA,MACA,mBAAiB,UAAU,WAAW;AAAA,MACtC,gBAAc;AAAA,MACd,oBAAkB,YAAY;AAAA,MAC9B,aACI,UAAW,gBAAgB,sCAAsC,0BAA2B;AAAA,MAEhG,wBAAsB,MAAM,WAAW,MAAM,WAAW;AAAA,MACxD,sBAAoB,cAAc;AAAA,MAClC;AAAA,MACA,KAAK;AAAA,IAAA;AAAA,IACJ,gBAAgB,OACbA,+BAAA,cAAC,eAAA,EAAc,UAAoB,SAAkB,wBAAwB,CAAC,CAAC,iBAAiB,EAAE,EAAA,CAAG;AAAA,IAExG,gBAAgBA,+BAAA,cAAC,eAAA,EAAc,WAAW,eAAe,IAAK;AAAA,IAC9D,UACGA,+BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,GAAG;AAAA,UACV,WAAW,UAAU;AAAA,UACrB,QAAQ,UAAU;AAAA,QAAA,CACrB;AAAA,QACD;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,MAAA;AAAA,IAAA,IAEd;AAAA,IACH,YACGA,+BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAW;AAAA,QACX;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,aAAa;AAAA,QACb;AAAA,QACA;AAAA,MAAA;AAAA,IAAA,IAEJ;AAAA,EAAA;AAGhB,CAAC;"}
@@ -6,6 +6,7 @@ const useResizeObserver = require("../../../../../../hooks/useResizeObserver.cjs
6
6
  const dom = require("../../../../../../utils/dom.cjs");
7
7
  const useDropTarget = require("../../../../../../utils/hooks/useDropTarget.cjs");
8
8
  const mergeRefs = require("../../../../../../utils/mergeRefs.cjs");
9
+ const rows = require("../../../../useTableManager/util/rows.cjs");
9
10
  const Cell = require("../../Columns/Cell/Cell.cjs");
10
11
  const DisplayRow = React.memo(
11
12
  React.forwardRef(function DisplayRow2(props, externalRef) {
@@ -19,7 +20,7 @@ const DisplayRow = React.memo(
19
20
  remeasureDependencies = [],
20
21
  ...otherAttributes
21
22
  } = props;
22
- const tableMeta = table.options.meta;
23
+ const tableMeta = rows.getTableMeta(table);
23
24
  const attributes = {
24
25
  ...otherAttributes,
25
26
  "data-row-id": row.id,
@@ -51,13 +52,13 @@ const DisplayRow = React.memo(
51
52
  attributes.draggable = true;
52
53
  const GHOST_ELEMENT_ID = "taco_table_dragging";
53
54
  attributes.onDragStart = (event) => {
54
- let rows = [row];
55
+ let rows2 = [row];
55
56
  if (row.getCanSelect()) {
56
- rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];
57
+ rows2 = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];
57
58
  }
58
- const data = rows.map((row2) => row2.original);
59
+ const data = rows2.map((row2) => row2.original);
59
60
  tableMeta.rowDrag.setDragging?.(
60
- rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {})
61
+ rows2.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {})
61
62
  );
62
63
  event.dataTransfer.setData("text", JSON.stringify(data));
63
64
  const showPlaceholder = (text) => {
@@ -1 +1 @@
1
- {"version":3,"file":"DisplayRow.cjs","sources":["../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.tsx"],"sourcesContent":["import type { TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport { useResizeObserver } from '@/hooks/useResizeObserver';\nimport { isElementInteractive } from '@/utils/dom';\nimport { useDropTarget } from '@/utils/hooks/useDropTarget';\nimport { mergeRefs } from '@/utils/mergeRefs';\n\nimport type { TableRowWithMetaData } from '../../../../types';\nimport type { TableRowRendererProps } from '../../../types';\nimport { Cell } from '../../Columns/Cell/Cell';\n\nexport type DisplayRowProps<TType = unknown> = React.HTMLAttributes<HTMLTableRowElement> &\n TableRowRendererProps<TType> & {\n remeasureDependencies?: React.DependencyList;\n };\n\nexport const DisplayRow = React.memo(\n React.forwardRef<HTMLTableRowElement, DisplayRowProps>(function DisplayRow<TType = unknown>(\n props: DisplayRowProps<TType>,\n externalRef: React.Ref<HTMLTableRowElement>\n ) {\n const {\n children,\n cellRenderer: CellRenderer,\n index,\n measureRow,\n row,\n table,\n remeasureDependencies = [],\n ...otherAttributes\n } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const attributes: any = {\n ...otherAttributes,\n 'data-row-id': row.id,\n 'data-row-index': index,\n tabIndex: -1,\n };\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLTableRowElement>) => {\n const clickedElement = event.target as HTMLElement;\n\n if (!event.currentTarget?.contains(event.target as HTMLElement) || isElementInteractive(clickedElement)) {\n return;\n }\n\n tableMeta.rowClick.handleClick(event, row.original);\n },\n [row.original]\n );\n const handlePointerDown = React.useCallback(() => {\n requestAnimationFrame(() => tableMeta.rowActive.setRowActiveIndex(index));\n }, [index]);\n\n // row active\n if (tableMeta.rowActive.isEnabled) {\n attributes['data-row-active'] = tableMeta.rowActive.rowActiveIndex === index ? true : undefined;\n // we use pointerdown because it let's us picks up clicks on components inside the row, e.g. checkboxes\n attributes.onPointerDown = handlePointerDown;\n }\n\n // row click\n if (tableMeta.rowClick.isEnabled(row.original)) {\n attributes.onClick = handleClick;\n }\n\n // row drag\n if (tableMeta.rowDrag.isEnabled) {\n attributes['aria-grabbed'] = !!tableMeta.rowDrag.dragging[row.id];\n attributes.draggable = true;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n attributes.onDragStart = (event: React.DragEvent): void => {\n let rows = [row];\n\n if (row.getCanSelect()) {\n rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n }\n\n const data = rows.map(row => row.original);\n\n tableMeta.rowDrag.setDragging?.(\n rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {})\n );\n\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'bg-blue-500 text-white rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.append(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n tableMeta.rowDrag.handleRowDrag?.(data, showPlaceholder, setDataTransfer);\n };\n\n attributes.onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n tableMeta.rowDrag.setDragging?.({});\n };\n }\n\n // row drop\n const [isDraggedOver, dropTargetProps] = useDropTarget(event => tableMeta.rowDrop.handleDrop?.(event, row.original));\n\n if (tableMeta.rowDrop.isEnabled) {\n attributes.onDragEnter = dropTargetProps?.onDragEnter;\n attributes.onDragLeave = dropTargetProps?.onDragLeave;\n attributes.onDragOver = dropTargetProps?.onDragOver;\n attributes.onDrop = dropTargetProps?.onDrop;\n attributes['data-row-dragged-over'] = isDraggedOver;\n }\n\n // row grouping\n if (table.options.enableGrouping) {\n attributes['data-row-group'] = row.getIsGrouped() ? true : undefined;\n }\n\n // row selection\n if (row.getCanSelect()) {\n attributes['data-row-selected'] = row.getIsSelected() || row.getIsAllSubRowsSelected() ? true : undefined;\n }\n\n // row expansion\n // When grouping is enabled, a group header row also reports getIsExpanded() === true\n // when its children are visible. Skip the renderer in that case — otherwise row.original\n // (the first child's data) gets rendered as expansion content under the header.\n let expandedRow;\n\n if (tableMeta.rowExpansion.isEnabled && row.getIsExpanded() && !row.getIsGrouped()) {\n attributes['data-row-expanded'] = true;\n expandedRow = tableMeta.rowExpansion.rowExpansionRenderer?.(row.original)?.();\n }\n\n const rowMeta = (row.original as TableRowWithMetaData<TType>)._meta;\n\n if (rowMeta?.layout) {\n attributes['data-row-meta-layout'] = rowMeta.layout;\n }\n\n const ref = React.useRef<HTMLTableRowElement>(null);\n const expansionRef = React.useRef<HTMLTableRowElement>(null);\n const expandedRowSize = useResizeObserver(expansionRef, !!expandedRow);\n\n React.useEffect(() => {\n const rowHeight = ref.current?.getBoundingClientRect().height ?? 0;\n const expansionHeight = expansionRef.current?.getBoundingClientRect().height ?? 0;\n\n // Deferred a frame — resizeItem can trigger a synchronous flushSync, which React\n // rejects when called straight from this effect while still committing. Cancelled\n // on cleanup so a stale frame can't fire measureRow after this row unmounts or a\n // dep change (e.g. a new remeasure) supersedes it.\n const frameId = requestAnimationFrame(() => {\n measureRow(rowHeight + expansionHeight);\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [expansionRef.current, expandedRowSize?.height, ...remeasureDependencies]);\n\n const className = cn('group/row', otherAttributes.className, {\n 'hover:cursor-grab': tableMeta.rowDrag.isEnabled && typeof attributes.onClick !== 'function',\n 'hover:cursor-pointer': typeof attributes.onClick === 'function',\n });\n\n const isGrouped = row.getIsGrouped();\n\n const mergedRef = mergeRefs([ref, externalRef]);\n\n return (\n <>\n <tr {...attributes} className={className} ref={mergedRef}>\n {children}\n {row\n .getVisibleCells()\n // Filter out the row actions cell from rendering in Grouped Row\n .filter(cell => !(isGrouped && cell.column.id === '__actions'))\n .map((cell, cellIndex) => (\n <Cell key={cell.id} cell={cell} index={cellIndex} renderer={CellRenderer} />\n ))}\n </tr>\n {expandedRow ? (\n <tr data-row-parent-id={row.id} ref={expansionRef}>\n <td className=\"col-span-full\">{expandedRow}</td>\n </tr>\n ) : null}\n </>\n );\n })\n) as <TType = unknown>(props: DisplayRowProps<TType> & { ref?: React.Ref<HTMLTableRowElement> }) => React.JSX.Element;\n"],"names":["DisplayRow","isElementInteractive","row","useDropTarget","useResizeObserver","mergeRefs","Cell"],"mappings":"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"}
1
+ {"version":3,"file":"DisplayRow.cjs","sources":["../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.tsx"],"sourcesContent":["import cn from 'clsx';\nimport React from 'react';\n\nimport { useResizeObserver } from '@/hooks/useResizeObserver';\nimport { isElementInteractive } from '@/utils/dom';\nimport { useDropTarget } from '@/utils/hooks/useDropTarget';\nimport { mergeRefs } from '@/utils/mergeRefs';\n\nimport type { TableRowWithMetaData } from '../../../../types';\nimport { getTableMeta } from '../../../../useTableManager/util/rows';\nimport type { TableRowRendererProps } from '../../../types';\nimport { Cell } from '../../Columns/Cell/Cell';\n\nexport type DisplayRowProps<TType = unknown> = React.HTMLAttributes<HTMLTableRowElement> &\n TableRowRendererProps<TType> & {\n remeasureDependencies?: React.DependencyList;\n };\n\nexport const DisplayRow = React.memo(\n React.forwardRef<HTMLTableRowElement, DisplayRowProps>(function DisplayRow<TType = unknown>(\n props: DisplayRowProps<TType>,\n externalRef: React.Ref<HTMLTableRowElement>\n ) {\n const {\n children,\n cellRenderer: CellRenderer,\n index,\n measureRow,\n row,\n table,\n remeasureDependencies = [],\n ...otherAttributes\n } = props;\n const tableMeta = getTableMeta(table);\n\n const attributes: any = {\n ...otherAttributes,\n 'data-row-id': row.id,\n 'data-row-index': index,\n tabIndex: -1,\n };\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLTableRowElement>) => {\n const clickedElement = event.target as HTMLElement;\n\n if (!event.currentTarget?.contains(event.target as HTMLElement) || isElementInteractive(clickedElement)) {\n return;\n }\n\n tableMeta.rowClick.handleClick(event, row.original);\n },\n [row.original]\n );\n const handlePointerDown = React.useCallback(() => {\n requestAnimationFrame(() => tableMeta.rowActive.setRowActiveIndex(index));\n }, [index]);\n\n // row active\n if (tableMeta.rowActive.isEnabled) {\n attributes['data-row-active'] = tableMeta.rowActive.rowActiveIndex === index ? true : undefined;\n // we use pointerdown because it let's us picks up clicks on components inside the row, e.g. checkboxes\n attributes.onPointerDown = handlePointerDown;\n }\n\n // row click\n if (tableMeta.rowClick.isEnabled(row.original)) {\n attributes.onClick = handleClick;\n }\n\n // row drag\n if (tableMeta.rowDrag.isEnabled) {\n attributes['aria-grabbed'] = !!tableMeta.rowDrag.dragging[row.id];\n attributes.draggable = true;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n attributes.onDragStart = (event: React.DragEvent): void => {\n let rows = [row];\n\n if (row.getCanSelect()) {\n rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n }\n\n const data = rows.map(row => row.original);\n\n tableMeta.rowDrag.setDragging?.(\n rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {})\n );\n\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'bg-blue-500 text-white rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.append(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n tableMeta.rowDrag.handleRowDrag?.(data, showPlaceholder, setDataTransfer);\n };\n\n attributes.onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n tableMeta.rowDrag.setDragging?.({});\n };\n }\n\n // row drop\n const [isDraggedOver, dropTargetProps] = useDropTarget(event => tableMeta.rowDrop.handleDrop?.(event, row.original));\n\n if (tableMeta.rowDrop.isEnabled) {\n attributes.onDragEnter = dropTargetProps?.onDragEnter;\n attributes.onDragLeave = dropTargetProps?.onDragLeave;\n attributes.onDragOver = dropTargetProps?.onDragOver;\n attributes.onDrop = dropTargetProps?.onDrop;\n attributes['data-row-dragged-over'] = isDraggedOver;\n }\n\n // row grouping\n if (table.options.enableGrouping) {\n attributes['data-row-group'] = row.getIsGrouped() ? true : undefined;\n }\n\n // row selection\n if (row.getCanSelect()) {\n attributes['data-row-selected'] = row.getIsSelected() || row.getIsAllSubRowsSelected() ? true : undefined;\n }\n\n // row expansion\n // When grouping is enabled, a group header row also reports getIsExpanded() === true\n // when its children are visible. Skip the renderer in that case — otherwise row.original\n // (the first child's data) gets rendered as expansion content under the header.\n let expandedRow;\n\n if (tableMeta.rowExpansion.isEnabled && row.getIsExpanded() && !row.getIsGrouped()) {\n attributes['data-row-expanded'] = true;\n expandedRow = tableMeta.rowExpansion.rowExpansionRenderer?.(row.original)?.();\n }\n\n const rowMeta = (row.original as TableRowWithMetaData<TType>)._meta;\n\n if (rowMeta?.layout) {\n attributes['data-row-meta-layout'] = rowMeta.layout;\n }\n\n const ref = React.useRef<HTMLTableRowElement>(null);\n const expansionRef = React.useRef<HTMLTableRowElement>(null);\n const expandedRowSize = useResizeObserver(expansionRef, !!expandedRow);\n\n React.useEffect(() => {\n const rowHeight = ref.current?.getBoundingClientRect().height ?? 0;\n const expansionHeight = expansionRef.current?.getBoundingClientRect().height ?? 0;\n\n // Deferred a frame — resizeItem can trigger a synchronous flushSync, which React\n // rejects when called straight from this effect while still committing. Cancelled\n // on cleanup so a stale frame can't fire measureRow after this row unmounts or a\n // dep change (e.g. a new remeasure) supersedes it.\n const frameId = requestAnimationFrame(() => {\n measureRow(rowHeight + expansionHeight);\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [expansionRef.current, expandedRowSize?.height, ...remeasureDependencies]);\n\n const className = cn('group/row', otherAttributes.className, {\n 'hover:cursor-grab': tableMeta.rowDrag.isEnabled && typeof attributes.onClick !== 'function',\n 'hover:cursor-pointer': typeof attributes.onClick === 'function',\n });\n\n const isGrouped = row.getIsGrouped();\n\n const mergedRef = mergeRefs([ref, externalRef]);\n\n return (\n <>\n <tr {...attributes} className={className} ref={mergedRef}>\n {children}\n {row\n .getVisibleCells()\n // Filter out the row actions cell from rendering in Grouped Row\n .filter(cell => !(isGrouped && cell.column.id === '__actions'))\n .map((cell, cellIndex) => (\n <Cell key={cell.id} cell={cell} index={cellIndex} renderer={CellRenderer} />\n ))}\n </tr>\n {expandedRow ? (\n <tr data-row-parent-id={row.id} ref={expansionRef}>\n <td className=\"col-span-full\">{expandedRow}</td>\n </tr>\n ) : null}\n </>\n );\n })\n) as <TType = unknown>(props: DisplayRowProps<TType> & { ref?: React.Ref<HTMLTableRowElement> }) => React.JSX.Element;\n"],"names":["DisplayRow","getTableMeta","isElementInteractive","rows","row","useDropTarget","useResizeObserver","mergeRefs","Cell"],"mappings":"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"}
@@ -4,6 +4,7 @@ import { useResizeObserver } from "../../../../../../hooks/useResizeObserver.js"
4
4
  import { isElementInteractive } from "../../../../../../utils/dom.js";
5
5
  import { useDropTarget } from "../../../../../../utils/hooks/useDropTarget.js";
6
6
  import { mergeRefs } from "../../../../../../utils/mergeRefs.js";
7
+ import { getTableMeta } from "../../../../useTableManager/util/rows.js";
7
8
  import { Cell } from "../../Columns/Cell/Cell.js";
8
9
  const DisplayRow = React__default.memo(
9
10
  React__default.forwardRef(function DisplayRow2(props, externalRef) {
@@ -17,7 +18,7 @@ const DisplayRow = React__default.memo(
17
18
  remeasureDependencies = [],
18
19
  ...otherAttributes
19
20
  } = props;
20
- const tableMeta = table.options.meta;
21
+ const tableMeta = getTableMeta(table);
21
22
  const attributes = {
22
23
  ...otherAttributes,
23
24
  "data-row-id": row.id,
@@ -1 +1 @@
1
- {"version":3,"file":"DisplayRow.js","sources":["../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.tsx"],"sourcesContent":["import type { TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport { useResizeObserver } from '@/hooks/useResizeObserver';\nimport { isElementInteractive } from '@/utils/dom';\nimport { useDropTarget } from '@/utils/hooks/useDropTarget';\nimport { mergeRefs } from '@/utils/mergeRefs';\n\nimport type { TableRowWithMetaData } from '../../../../types';\nimport type { TableRowRendererProps } from '../../../types';\nimport { Cell } from '../../Columns/Cell/Cell';\n\nexport type DisplayRowProps<TType = unknown> = React.HTMLAttributes<HTMLTableRowElement> &\n TableRowRendererProps<TType> & {\n remeasureDependencies?: React.DependencyList;\n };\n\nexport const DisplayRow = React.memo(\n React.forwardRef<HTMLTableRowElement, DisplayRowProps>(function DisplayRow<TType = unknown>(\n props: DisplayRowProps<TType>,\n externalRef: React.Ref<HTMLTableRowElement>\n ) {\n const {\n children,\n cellRenderer: CellRenderer,\n index,\n measureRow,\n row,\n table,\n remeasureDependencies = [],\n ...otherAttributes\n } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const attributes: any = {\n ...otherAttributes,\n 'data-row-id': row.id,\n 'data-row-index': index,\n tabIndex: -1,\n };\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLTableRowElement>) => {\n const clickedElement = event.target as HTMLElement;\n\n if (!event.currentTarget?.contains(event.target as HTMLElement) || isElementInteractive(clickedElement)) {\n return;\n }\n\n tableMeta.rowClick.handleClick(event, row.original);\n },\n [row.original]\n );\n const handlePointerDown = React.useCallback(() => {\n requestAnimationFrame(() => tableMeta.rowActive.setRowActiveIndex(index));\n }, [index]);\n\n // row active\n if (tableMeta.rowActive.isEnabled) {\n attributes['data-row-active'] = tableMeta.rowActive.rowActiveIndex === index ? true : undefined;\n // we use pointerdown because it let's us picks up clicks on components inside the row, e.g. checkboxes\n attributes.onPointerDown = handlePointerDown;\n }\n\n // row click\n if (tableMeta.rowClick.isEnabled(row.original)) {\n attributes.onClick = handleClick;\n }\n\n // row drag\n if (tableMeta.rowDrag.isEnabled) {\n attributes['aria-grabbed'] = !!tableMeta.rowDrag.dragging[row.id];\n attributes.draggable = true;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n attributes.onDragStart = (event: React.DragEvent): void => {\n let rows = [row];\n\n if (row.getCanSelect()) {\n rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n }\n\n const data = rows.map(row => row.original);\n\n tableMeta.rowDrag.setDragging?.(\n rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {})\n );\n\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'bg-blue-500 text-white rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.append(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n tableMeta.rowDrag.handleRowDrag?.(data, showPlaceholder, setDataTransfer);\n };\n\n attributes.onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n tableMeta.rowDrag.setDragging?.({});\n };\n }\n\n // row drop\n const [isDraggedOver, dropTargetProps] = useDropTarget(event => tableMeta.rowDrop.handleDrop?.(event, row.original));\n\n if (tableMeta.rowDrop.isEnabled) {\n attributes.onDragEnter = dropTargetProps?.onDragEnter;\n attributes.onDragLeave = dropTargetProps?.onDragLeave;\n attributes.onDragOver = dropTargetProps?.onDragOver;\n attributes.onDrop = dropTargetProps?.onDrop;\n attributes['data-row-dragged-over'] = isDraggedOver;\n }\n\n // row grouping\n if (table.options.enableGrouping) {\n attributes['data-row-group'] = row.getIsGrouped() ? true : undefined;\n }\n\n // row selection\n if (row.getCanSelect()) {\n attributes['data-row-selected'] = row.getIsSelected() || row.getIsAllSubRowsSelected() ? true : undefined;\n }\n\n // row expansion\n // When grouping is enabled, a group header row also reports getIsExpanded() === true\n // when its children are visible. Skip the renderer in that case — otherwise row.original\n // (the first child's data) gets rendered as expansion content under the header.\n let expandedRow;\n\n if (tableMeta.rowExpansion.isEnabled && row.getIsExpanded() && !row.getIsGrouped()) {\n attributes['data-row-expanded'] = true;\n expandedRow = tableMeta.rowExpansion.rowExpansionRenderer?.(row.original)?.();\n }\n\n const rowMeta = (row.original as TableRowWithMetaData<TType>)._meta;\n\n if (rowMeta?.layout) {\n attributes['data-row-meta-layout'] = rowMeta.layout;\n }\n\n const ref = React.useRef<HTMLTableRowElement>(null);\n const expansionRef = React.useRef<HTMLTableRowElement>(null);\n const expandedRowSize = useResizeObserver(expansionRef, !!expandedRow);\n\n React.useEffect(() => {\n const rowHeight = ref.current?.getBoundingClientRect().height ?? 0;\n const expansionHeight = expansionRef.current?.getBoundingClientRect().height ?? 0;\n\n // Deferred a frame — resizeItem can trigger a synchronous flushSync, which React\n // rejects when called straight from this effect while still committing. Cancelled\n // on cleanup so a stale frame can't fire measureRow after this row unmounts or a\n // dep change (e.g. a new remeasure) supersedes it.\n const frameId = requestAnimationFrame(() => {\n measureRow(rowHeight + expansionHeight);\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [expansionRef.current, expandedRowSize?.height, ...remeasureDependencies]);\n\n const className = cn('group/row', otherAttributes.className, {\n 'hover:cursor-grab': tableMeta.rowDrag.isEnabled && typeof attributes.onClick !== 'function',\n 'hover:cursor-pointer': typeof attributes.onClick === 'function',\n });\n\n const isGrouped = row.getIsGrouped();\n\n const mergedRef = mergeRefs([ref, externalRef]);\n\n return (\n <>\n <tr {...attributes} className={className} ref={mergedRef}>\n {children}\n {row\n .getVisibleCells()\n // Filter out the row actions cell from rendering in Grouped Row\n .filter(cell => !(isGrouped && cell.column.id === '__actions'))\n .map((cell, cellIndex) => (\n <Cell key={cell.id} cell={cell} index={cellIndex} renderer={CellRenderer} />\n ))}\n </tr>\n {expandedRow ? (\n <tr data-row-parent-id={row.id} ref={expansionRef}>\n <td className=\"col-span-full\">{expandedRow}</td>\n </tr>\n ) : null}\n </>\n );\n })\n) as <TType = unknown>(props: DisplayRowProps<TType> & { ref?: React.Ref<HTMLTableRowElement> }) => React.JSX.Element;\n"],"names":["React","DisplayRow","row"],"mappings":"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"}
1
+ {"version":3,"file":"DisplayRow.js","sources":["../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.tsx"],"sourcesContent":["import cn from 'clsx';\nimport React from 'react';\n\nimport { useResizeObserver } from '@/hooks/useResizeObserver';\nimport { isElementInteractive } from '@/utils/dom';\nimport { useDropTarget } from '@/utils/hooks/useDropTarget';\nimport { mergeRefs } from '@/utils/mergeRefs';\n\nimport type { TableRowWithMetaData } from '../../../../types';\nimport { getTableMeta } from '../../../../useTableManager/util/rows';\nimport type { TableRowRendererProps } from '../../../types';\nimport { Cell } from '../../Columns/Cell/Cell';\n\nexport type DisplayRowProps<TType = unknown> = React.HTMLAttributes<HTMLTableRowElement> &\n TableRowRendererProps<TType> & {\n remeasureDependencies?: React.DependencyList;\n };\n\nexport const DisplayRow = React.memo(\n React.forwardRef<HTMLTableRowElement, DisplayRowProps>(function DisplayRow<TType = unknown>(\n props: DisplayRowProps<TType>,\n externalRef: React.Ref<HTMLTableRowElement>\n ) {\n const {\n children,\n cellRenderer: CellRenderer,\n index,\n measureRow,\n row,\n table,\n remeasureDependencies = [],\n ...otherAttributes\n } = props;\n const tableMeta = getTableMeta(table);\n\n const attributes: any = {\n ...otherAttributes,\n 'data-row-id': row.id,\n 'data-row-index': index,\n tabIndex: -1,\n };\n\n const handleClick = React.useCallback(\n (event: React.MouseEvent<HTMLTableRowElement>) => {\n const clickedElement = event.target as HTMLElement;\n\n if (!event.currentTarget?.contains(event.target as HTMLElement) || isElementInteractive(clickedElement)) {\n return;\n }\n\n tableMeta.rowClick.handleClick(event, row.original);\n },\n [row.original]\n );\n const handlePointerDown = React.useCallback(() => {\n requestAnimationFrame(() => tableMeta.rowActive.setRowActiveIndex(index));\n }, [index]);\n\n // row active\n if (tableMeta.rowActive.isEnabled) {\n attributes['data-row-active'] = tableMeta.rowActive.rowActiveIndex === index ? true : undefined;\n // we use pointerdown because it let's us picks up clicks on components inside the row, e.g. checkboxes\n attributes.onPointerDown = handlePointerDown;\n }\n\n // row click\n if (tableMeta.rowClick.isEnabled(row.original)) {\n attributes.onClick = handleClick;\n }\n\n // row drag\n if (tableMeta.rowDrag.isEnabled) {\n attributes['aria-grabbed'] = !!tableMeta.rowDrag.dragging[row.id];\n attributes.draggable = true;\n const GHOST_ELEMENT_ID = 'taco_table_dragging';\n\n attributes.onDragStart = (event: React.DragEvent): void => {\n let rows = [row];\n\n if (row.getCanSelect()) {\n rows = row.getIsSelected() ? table.getSelectedRowModel().rows : [row, ...table.getSelectedRowModel().rows];\n }\n\n const data = rows.map(row => row.original);\n\n tableMeta.rowDrag.setDragging?.(\n rows.reduce((dragging, rowBeingDragged) => ({ ...dragging, [rowBeingDragged.id]: true }), {})\n );\n\n // set a default data value so that the consumer doesn't have to\n event.dataTransfer.setData('text', JSON.stringify(data));\n\n const showPlaceholder = (text: string) => {\n const ghost = document.createElement('div');\n ghost.id = GHOST_ELEMENT_ID;\n ghost.className = 'bg-blue-500 text-white rounded flex w-48 p-4 absolute -ml-[100vw]';\n ghost.innerText = text;\n document.body.append(ghost);\n event.dataTransfer.setDragImage(ghost, 0, 0);\n };\n\n const setDataTransfer = (text: string) => event.dataTransfer.setData('text', text);\n\n tableMeta.rowDrag.handleRowDrag?.(data, showPlaceholder, setDataTransfer);\n };\n\n attributes.onDragEnd = (): void => {\n document.getElementById(GHOST_ELEMENT_ID)?.remove();\n tableMeta.rowDrag.setDragging?.({});\n };\n }\n\n // row drop\n const [isDraggedOver, dropTargetProps] = useDropTarget(event => tableMeta.rowDrop.handleDrop?.(event, row.original));\n\n if (tableMeta.rowDrop.isEnabled) {\n attributes.onDragEnter = dropTargetProps?.onDragEnter;\n attributes.onDragLeave = dropTargetProps?.onDragLeave;\n attributes.onDragOver = dropTargetProps?.onDragOver;\n attributes.onDrop = dropTargetProps?.onDrop;\n attributes['data-row-dragged-over'] = isDraggedOver;\n }\n\n // row grouping\n if (table.options.enableGrouping) {\n attributes['data-row-group'] = row.getIsGrouped() ? true : undefined;\n }\n\n // row selection\n if (row.getCanSelect()) {\n attributes['data-row-selected'] = row.getIsSelected() || row.getIsAllSubRowsSelected() ? true : undefined;\n }\n\n // row expansion\n // When grouping is enabled, a group header row also reports getIsExpanded() === true\n // when its children are visible. Skip the renderer in that case — otherwise row.original\n // (the first child's data) gets rendered as expansion content under the header.\n let expandedRow;\n\n if (tableMeta.rowExpansion.isEnabled && row.getIsExpanded() && !row.getIsGrouped()) {\n attributes['data-row-expanded'] = true;\n expandedRow = tableMeta.rowExpansion.rowExpansionRenderer?.(row.original)?.();\n }\n\n const rowMeta = (row.original as TableRowWithMetaData<TType>)._meta;\n\n if (rowMeta?.layout) {\n attributes['data-row-meta-layout'] = rowMeta.layout;\n }\n\n const ref = React.useRef<HTMLTableRowElement>(null);\n const expansionRef = React.useRef<HTMLTableRowElement>(null);\n const expandedRowSize = useResizeObserver(expansionRef, !!expandedRow);\n\n React.useEffect(() => {\n const rowHeight = ref.current?.getBoundingClientRect().height ?? 0;\n const expansionHeight = expansionRef.current?.getBoundingClientRect().height ?? 0;\n\n // Deferred a frame — resizeItem can trigger a synchronous flushSync, which React\n // rejects when called straight from this effect while still committing. Cancelled\n // on cleanup so a stale frame can't fire measureRow after this row unmounts or a\n // dep change (e.g. a new remeasure) supersedes it.\n const frameId = requestAnimationFrame(() => {\n measureRow(rowHeight + expansionHeight);\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [expansionRef.current, expandedRowSize?.height, ...remeasureDependencies]);\n\n const className = cn('group/row', otherAttributes.className, {\n 'hover:cursor-grab': tableMeta.rowDrag.isEnabled && typeof attributes.onClick !== 'function',\n 'hover:cursor-pointer': typeof attributes.onClick === 'function',\n });\n\n const isGrouped = row.getIsGrouped();\n\n const mergedRef = mergeRefs([ref, externalRef]);\n\n return (\n <>\n <tr {...attributes} className={className} ref={mergedRef}>\n {children}\n {row\n .getVisibleCells()\n // Filter out the row actions cell from rendering in Grouped Row\n .filter(cell => !(isGrouped && cell.column.id === '__actions'))\n .map((cell, cellIndex) => (\n <Cell key={cell.id} cell={cell} index={cellIndex} renderer={CellRenderer} />\n ))}\n </tr>\n {expandedRow ? (\n <tr data-row-parent-id={row.id} ref={expansionRef}>\n <td className=\"col-span-full\">{expandedRow}</td>\n </tr>\n ) : null}\n </>\n );\n })\n) as <TType = unknown>(props: DisplayRowProps<TType> & { ref?: React.Ref<HTMLTableRowElement> }) => React.JSX.Element;\n"],"names":["React","DisplayRow","row"],"mappings":"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"}
@@ -2,10 +2,11 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
4
  const columns = require("../../../../useTableManager/util/columns.cjs");
5
+ const rows = require("../../../../useTableManager/util/rows.cjs");
5
6
  const DELAY_BEFORE_LOAD_MS = 150;
6
7
  function SkeletonRow(props) {
7
8
  const { index, table } = props;
8
- const tableMeta = table.options.meta;
9
+ const tableMeta = rows.getTableMeta(table);
9
10
  if (tableMeta.server.isEnabled) {
10
11
  return /* @__PURE__ */ React.createElement(RowWithServerLoading, { ...props });
11
12
  }
@@ -13,7 +14,7 @@ function SkeletonRow(props) {
13
14
  }
14
15
  function RowWithServerLoading(props) {
15
16
  const { index, table } = props;
16
- const tableMeta = table.options.meta;
17
+ const tableMeta = rows.getTableMeta(table);
17
18
  const pageIndex = Math.floor(index / tableMeta.server.pageSize) * tableMeta.server.pageSize / tableMeta.server.pageSize;
18
19
  React.useEffect(() => {
19
20
  let timeout;
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonRow.cjs","sources":["../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { getHiddenColumns } from '../../../../useTableManager/util/columns';\n\nconst DELAY_BEFORE_LOAD_MS = 150;\n\nexport type RowProps<TType = unknown> = {\n index: number;\n table: ReactTable<TType>;\n};\n\nexport function SkeletonRow<TType = unknown>(props: RowProps<TType>) {\n const { index, table } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n if (tableMeta.server.isEnabled) {\n return <RowWithServerLoading {...props} />;\n }\n\n return <Skeleton cellsCount={table.getVisibleFlatColumns().length} index={index} />;\n}\n\nfunction RowWithServerLoading<TType = unknown>(props: RowProps<TType>) {\n const { index, table } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const pageIndex = (Math.floor(index / tableMeta.server.pageSize) * tableMeta.server.pageSize) / tableMeta.server.pageSize;\n\n React.useEffect(() => {\n let timeout: NodeJS.Timeout;\n\n if (tableMeta.server.isEnabled) {\n const sorting = props.table.getState().sorting;\n const filters = props.table.getState().columnFilters;\n const search = props.table.getState().globalFilter;\n const hiddenColumns = getHiddenColumns(props.table.getState().columnVisibility);\n\n timeout = setTimeout(() => {\n tableMeta.server.loadPage?.(\n pageIndex,\n sorting,\n filters,\n hiddenColumns,\n tableMeta.search.enableGlobalFilter ? search : undefined\n );\n }, DELAY_BEFORE_LOAD_MS);\n }\n\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n\n const groupedCellCount = table.getState()?.grouping.length ?? 0;\n const ungroupedCellCount = table.getVisibleFlatColumns().length - groupedCellCount;\n\n return <Skeleton cellsCount={ungroupedCellCount} index={index} />;\n}\n\nconst Skeleton = React.forwardRef(function Skeleton(\n props: { cellsCount: number; index: number },\n ref: React.Ref<HTMLTableRowElement>\n) {\n const { cellsCount, index } = props;\n\n return (\n <tr data-row-index={index} data-row-id={index} ref={ref} data-taco=\"skeleton-row\">\n {Array.from({ length: cellsCount }).map((_, index) => (\n <td key={index}>\n <span className=\"h-4 w-full bg-gray-100 text-center text-xs text-gray-700\" />\n </td>\n ))}\n </tr>\n );\n});\n"],"names":["getHiddenColumns","Skeleton","index"],"mappings":";;;;AAKA,MAAM,uBAAuB;AAOtB,SAAS,YAA6B,OAAwB;AACjE,QAAM,EAAE,OAAO,MAAA,IAAU;AACzB,QAAM,YAAY,MAAM,QAAQ;AAEhC,MAAI,UAAU,OAAO,WAAW;AAC5B,WAAO,sBAAA,cAAC,sBAAA,EAAsB,GAAG,MAAA,CAAO;AAAA,EAC5C;AAEA,6CAAQ,UAAA,EAAS,YAAY,MAAM,sBAAA,EAAwB,QAAQ,OAAc;AACrF;AAEA,SAAS,qBAAsC,OAAwB;AACnE,QAAM,EAAE,OAAO,MAAA,IAAU;AACzB,QAAM,YAAY,MAAM,QAAQ;AAChC,QAAM,YAAa,KAAK,MAAM,QAAQ,UAAU,OAAO,QAAQ,IAAI,UAAU,OAAO,WAAY,UAAU,OAAO;AAEjH,QAAM,UAAU,MAAM;AAClB,QAAI;AAEJ,QAAI,UAAU,OAAO,WAAW;AAC5B,YAAM,UAAU,MAAM,MAAM,SAAA,EAAW;AACvC,YAAM,UAAU,MAAM,MAAM,SAAA,EAAW;AACvC,YAAM,SAAS,MAAM,MAAM,SAAA,EAAW;AACtC,YAAM,gBAAgBA,QAAAA,iBAAiB,MAAM,MAAM,SAAA,EAAW,gBAAgB;AAE9E,gBAAU,WAAW,MAAM;AACvB,kBAAU,OAAO;AAAA,UACb;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU,OAAO,qBAAqB,SAAS;AAAA,QAAA;AAAA,MAEvD,GAAG,oBAAoB;AAAA,IAC3B;AAEA,WAAO,MAAM;AACT,mBAAa,OAAO;AAAA,IACxB;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,QAAM,mBAAmB,MAAM,SAAA,GAAY,SAAS,UAAU;AAC9D,QAAM,qBAAqB,MAAM,sBAAA,EAAwB,SAAS;AAElE,SAAO,sBAAA,cAAC,UAAA,EAAS,YAAY,oBAAoB,OAAc;AACnE;AAEA,MAAM,WAAW,MAAM,WAAW,SAASC,UACvC,OACA,KACF;AACE,QAAM,EAAE,YAAY,MAAA,IAAU;AAE9B,SACI,sBAAA,cAAC,MAAA,EAAG,kBAAgB,OAAO,eAAa,OAAO,KAAU,aAAU,kBAC9D,MAAM,KAAK,EAAE,QAAQ,WAAA,CAAY,EAAE,IAAI,CAAC,GAAGC,WACxC,sBAAA,cAAC,MAAA,EAAG,KAAKA,OAAAA,GACL,sBAAA,cAAC,QAAA,EAAK,WAAU,2DAAA,CAA2D,CAC/E,CACH,CACL;AAER,CAAC;;"}
1
+ {"version":3,"file":"SkeletonRow.cjs","sources":["../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { getHiddenColumns } from '../../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../../useTableManager/util/rows';\n\nconst DELAY_BEFORE_LOAD_MS = 150;\n\nexport type RowProps<TType = unknown> = {\n index: number;\n table: ReactTable<TType>;\n};\n\nexport function SkeletonRow<TType = unknown>(props: RowProps<TType>) {\n const { index, table } = props;\n const tableMeta = getTableMeta(table);\n\n if (tableMeta.server.isEnabled) {\n return <RowWithServerLoading {...props} />;\n }\n\n return <Skeleton cellsCount={table.getVisibleFlatColumns().length} index={index} />;\n}\n\nfunction RowWithServerLoading<TType = unknown>(props: RowProps<TType>) {\n const { index, table } = props;\n const tableMeta = getTableMeta(table);\n const pageIndex = (Math.floor(index / tableMeta.server.pageSize) * tableMeta.server.pageSize) / tableMeta.server.pageSize;\n\n React.useEffect(() => {\n let timeout: NodeJS.Timeout;\n\n if (tableMeta.server.isEnabled) {\n const sorting = props.table.getState().sorting;\n const filters = props.table.getState().columnFilters;\n const search = props.table.getState().globalFilter;\n const hiddenColumns = getHiddenColumns(props.table.getState().columnVisibility);\n\n timeout = setTimeout(() => {\n tableMeta.server.loadPage?.(\n pageIndex,\n sorting,\n filters,\n hiddenColumns,\n tableMeta.search.enableGlobalFilter ? search : undefined\n );\n }, DELAY_BEFORE_LOAD_MS);\n }\n\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n\n const groupedCellCount = table.getState()?.grouping.length ?? 0;\n const ungroupedCellCount = table.getVisibleFlatColumns().length - groupedCellCount;\n\n return <Skeleton cellsCount={ungroupedCellCount} index={index} />;\n}\n\nconst Skeleton = React.forwardRef(function Skeleton(\n props: { cellsCount: number; index: number },\n ref: React.Ref<HTMLTableRowElement>\n) {\n const { cellsCount, index } = props;\n\n return (\n <tr data-row-index={index} data-row-id={index} ref={ref} data-taco=\"skeleton-row\">\n {Array.from({ length: cellsCount }).map((_, index) => (\n <td key={index}>\n <span className=\"h-4 w-full bg-gray-100 text-center text-xs text-gray-700\" />\n </td>\n ))}\n </tr>\n );\n});\n"],"names":["getTableMeta","getHiddenColumns","Skeleton","index"],"mappings":";;;;;AAMA,MAAM,uBAAuB;AAOtB,SAAS,YAA6B,OAAwB;AACjE,QAAM,EAAE,OAAO,MAAA,IAAU;AACzB,QAAM,YAAYA,KAAAA,aAAa,KAAK;AAEpC,MAAI,UAAU,OAAO,WAAW;AAC5B,WAAO,sBAAA,cAAC,sBAAA,EAAsB,GAAG,MAAA,CAAO;AAAA,EAC5C;AAEA,6CAAQ,UAAA,EAAS,YAAY,MAAM,sBAAA,EAAwB,QAAQ,OAAc;AACrF;AAEA,SAAS,qBAAsC,OAAwB;AACnE,QAAM,EAAE,OAAO,MAAA,IAAU;AACzB,QAAM,YAAYA,KAAAA,aAAa,KAAK;AACpC,QAAM,YAAa,KAAK,MAAM,QAAQ,UAAU,OAAO,QAAQ,IAAI,UAAU,OAAO,WAAY,UAAU,OAAO;AAEjH,QAAM,UAAU,MAAM;AAClB,QAAI;AAEJ,QAAI,UAAU,OAAO,WAAW;AAC5B,YAAM,UAAU,MAAM,MAAM,SAAA,EAAW;AACvC,YAAM,UAAU,MAAM,MAAM,SAAA,EAAW;AACvC,YAAM,SAAS,MAAM,MAAM,SAAA,EAAW;AACtC,YAAM,gBAAgBC,QAAAA,iBAAiB,MAAM,MAAM,SAAA,EAAW,gBAAgB;AAE9E,gBAAU,WAAW,MAAM;AACvB,kBAAU,OAAO;AAAA,UACb;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU,OAAO,qBAAqB,SAAS;AAAA,QAAA;AAAA,MAEvD,GAAG,oBAAoB;AAAA,IAC3B;AAEA,WAAO,MAAM;AACT,mBAAa,OAAO;AAAA,IACxB;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,QAAM,mBAAmB,MAAM,SAAA,GAAY,SAAS,UAAU;AAC9D,QAAM,qBAAqB,MAAM,sBAAA,EAAwB,SAAS;AAElE,SAAO,sBAAA,cAAC,UAAA,EAAS,YAAY,oBAAoB,OAAc;AACnE;AAEA,MAAM,WAAW,MAAM,WAAW,SAASC,UACvC,OACA,KACF;AACE,QAAM,EAAE,YAAY,MAAA,IAAU;AAE9B,SACI,sBAAA,cAAC,MAAA,EAAG,kBAAgB,OAAO,eAAa,OAAO,KAAU,aAAU,kBAC9D,MAAM,KAAK,EAAE,QAAQ,WAAA,CAAY,EAAE,IAAI,CAAC,GAAGC,WACxC,sBAAA,cAAC,MAAA,EAAG,KAAKA,OAAAA,GACL,sBAAA,cAAC,QAAA,EAAK,WAAU,2DAAA,CAA2D,CAC/E,CACH,CACL;AAER,CAAC;;"}
@@ -1,9 +1,10 @@
1
1
  import React__default from "react";
2
2
  import { getHiddenColumns } from "../../../../useTableManager/util/columns.js";
3
+ import { getTableMeta } from "../../../../useTableManager/util/rows.js";
3
4
  const DELAY_BEFORE_LOAD_MS = 150;
4
5
  function SkeletonRow(props) {
5
6
  const { index, table } = props;
6
- const tableMeta = table.options.meta;
7
+ const tableMeta = getTableMeta(table);
7
8
  if (tableMeta.server.isEnabled) {
8
9
  return /* @__PURE__ */ React__default.createElement(RowWithServerLoading, { ...props });
9
10
  }
@@ -11,7 +12,7 @@ function SkeletonRow(props) {
11
12
  }
12
13
  function RowWithServerLoading(props) {
13
14
  const { index, table } = props;
14
- const tableMeta = table.options.meta;
15
+ const tableMeta = getTableMeta(table);
15
16
  const pageIndex = Math.floor(index / tableMeta.server.pageSize) * tableMeta.server.pageSize / tableMeta.server.pageSize;
16
17
  React__default.useEffect(() => {
17
18
  let timeout;
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonRow.js","sources":["../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { getHiddenColumns } from '../../../../useTableManager/util/columns';\n\nconst DELAY_BEFORE_LOAD_MS = 150;\n\nexport type RowProps<TType = unknown> = {\n index: number;\n table: ReactTable<TType>;\n};\n\nexport function SkeletonRow<TType = unknown>(props: RowProps<TType>) {\n const { index, table } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n if (tableMeta.server.isEnabled) {\n return <RowWithServerLoading {...props} />;\n }\n\n return <Skeleton cellsCount={table.getVisibleFlatColumns().length} index={index} />;\n}\n\nfunction RowWithServerLoading<TType = unknown>(props: RowProps<TType>) {\n const { index, table } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const pageIndex = (Math.floor(index / tableMeta.server.pageSize) * tableMeta.server.pageSize) / tableMeta.server.pageSize;\n\n React.useEffect(() => {\n let timeout: NodeJS.Timeout;\n\n if (tableMeta.server.isEnabled) {\n const sorting = props.table.getState().sorting;\n const filters = props.table.getState().columnFilters;\n const search = props.table.getState().globalFilter;\n const hiddenColumns = getHiddenColumns(props.table.getState().columnVisibility);\n\n timeout = setTimeout(() => {\n tableMeta.server.loadPage?.(\n pageIndex,\n sorting,\n filters,\n hiddenColumns,\n tableMeta.search.enableGlobalFilter ? search : undefined\n );\n }, DELAY_BEFORE_LOAD_MS);\n }\n\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n\n const groupedCellCount = table.getState()?.grouping.length ?? 0;\n const ungroupedCellCount = table.getVisibleFlatColumns().length - groupedCellCount;\n\n return <Skeleton cellsCount={ungroupedCellCount} index={index} />;\n}\n\nconst Skeleton = React.forwardRef(function Skeleton(\n props: { cellsCount: number; index: number },\n ref: React.Ref<HTMLTableRowElement>\n) {\n const { cellsCount, index } = props;\n\n return (\n <tr data-row-index={index} data-row-id={index} ref={ref} data-taco=\"skeleton-row\">\n {Array.from({ length: cellsCount }).map((_, index) => (\n <td key={index}>\n <span className=\"h-4 w-full bg-gray-100 text-center text-xs text-gray-700\" />\n </td>\n ))}\n </tr>\n );\n});\n"],"names":["React","Skeleton","index"],"mappings":";;AAKA,MAAM,uBAAuB;AAOtB,SAAS,YAA6B,OAAwB;AACjE,QAAM,EAAE,OAAO,MAAA,IAAU;AACzB,QAAM,YAAY,MAAM,QAAQ;AAEhC,MAAI,UAAU,OAAO,WAAW;AAC5B,WAAOA,+BAAA,cAAC,sBAAA,EAAsB,GAAG,MAAA,CAAO;AAAA,EAC5C;AAEA,sDAAQ,UAAA,EAAS,YAAY,MAAM,sBAAA,EAAwB,QAAQ,OAAc;AACrF;AAEA,SAAS,qBAAsC,OAAwB;AACnE,QAAM,EAAE,OAAO,MAAA,IAAU;AACzB,QAAM,YAAY,MAAM,QAAQ;AAChC,QAAM,YAAa,KAAK,MAAM,QAAQ,UAAU,OAAO,QAAQ,IAAI,UAAU,OAAO,WAAY,UAAU,OAAO;AAEjHA,iBAAM,UAAU,MAAM;AAClB,QAAI;AAEJ,QAAI,UAAU,OAAO,WAAW;AAC5B,YAAM,UAAU,MAAM,MAAM,SAAA,EAAW;AACvC,YAAM,UAAU,MAAM,MAAM,SAAA,EAAW;AACvC,YAAM,SAAS,MAAM,MAAM,SAAA,EAAW;AACtC,YAAM,gBAAgB,iBAAiB,MAAM,MAAM,SAAA,EAAW,gBAAgB;AAE9E,gBAAU,WAAW,MAAM;AACvB,kBAAU,OAAO;AAAA,UACb;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU,OAAO,qBAAqB,SAAS;AAAA,QAAA;AAAA,MAEvD,GAAG,oBAAoB;AAAA,IAC3B;AAEA,WAAO,MAAM;AACT,mBAAa,OAAO;AAAA,IACxB;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,QAAM,mBAAmB,MAAM,SAAA,GAAY,SAAS,UAAU;AAC9D,QAAM,qBAAqB,MAAM,sBAAA,EAAwB,SAAS;AAElE,SAAOA,+BAAA,cAAC,UAAA,EAAS,YAAY,oBAAoB,OAAc;AACnE;AAEA,MAAM,WAAWA,eAAM,WAAW,SAASC,UACvC,OACA,KACF;AACE,QAAM,EAAE,YAAY,MAAA,IAAU;AAE9B,SACID,+BAAA,cAAC,MAAA,EAAG,kBAAgB,OAAO,eAAa,OAAO,KAAU,aAAU,kBAC9D,MAAM,KAAK,EAAE,QAAQ,WAAA,CAAY,EAAE,IAAI,CAAC,GAAGE,WACxCF,+BAAA,cAAC,MAAA,EAAG,KAAKE,OAAAA,GACLF,+BAAA,cAAC,QAAA,EAAK,WAAU,2DAAA,CAA2D,CAC/E,CACH,CACL;AAER,CAAC;"}
1
+ {"version":3,"file":"SkeletonRow.js","sources":["../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { getHiddenColumns } from '../../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../../useTableManager/util/rows';\n\nconst DELAY_BEFORE_LOAD_MS = 150;\n\nexport type RowProps<TType = unknown> = {\n index: number;\n table: ReactTable<TType>;\n};\n\nexport function SkeletonRow<TType = unknown>(props: RowProps<TType>) {\n const { index, table } = props;\n const tableMeta = getTableMeta(table);\n\n if (tableMeta.server.isEnabled) {\n return <RowWithServerLoading {...props} />;\n }\n\n return <Skeleton cellsCount={table.getVisibleFlatColumns().length} index={index} />;\n}\n\nfunction RowWithServerLoading<TType = unknown>(props: RowProps<TType>) {\n const { index, table } = props;\n const tableMeta = getTableMeta(table);\n const pageIndex = (Math.floor(index / tableMeta.server.pageSize) * tableMeta.server.pageSize) / tableMeta.server.pageSize;\n\n React.useEffect(() => {\n let timeout: NodeJS.Timeout;\n\n if (tableMeta.server.isEnabled) {\n const sorting = props.table.getState().sorting;\n const filters = props.table.getState().columnFilters;\n const search = props.table.getState().globalFilter;\n const hiddenColumns = getHiddenColumns(props.table.getState().columnVisibility);\n\n timeout = setTimeout(() => {\n tableMeta.server.loadPage?.(\n pageIndex,\n sorting,\n filters,\n hiddenColumns,\n tableMeta.search.enableGlobalFilter ? search : undefined\n );\n }, DELAY_BEFORE_LOAD_MS);\n }\n\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n\n const groupedCellCount = table.getState()?.grouping.length ?? 0;\n const ungroupedCellCount = table.getVisibleFlatColumns().length - groupedCellCount;\n\n return <Skeleton cellsCount={ungroupedCellCount} index={index} />;\n}\n\nconst Skeleton = React.forwardRef(function Skeleton(\n props: { cellsCount: number; index: number },\n ref: React.Ref<HTMLTableRowElement>\n) {\n const { cellsCount, index } = props;\n\n return (\n <tr data-row-index={index} data-row-id={index} ref={ref} data-taco=\"skeleton-row\">\n {Array.from({ length: cellsCount }).map((_, index) => (\n <td key={index}>\n <span className=\"h-4 w-full bg-gray-100 text-center text-xs text-gray-700\" />\n </td>\n ))}\n </tr>\n );\n});\n"],"names":["React","Skeleton","index"],"mappings":";;;AAMA,MAAM,uBAAuB;AAOtB,SAAS,YAA6B,OAAwB;AACjE,QAAM,EAAE,OAAO,MAAA,IAAU;AACzB,QAAM,YAAY,aAAa,KAAK;AAEpC,MAAI,UAAU,OAAO,WAAW;AAC5B,WAAOA,+BAAA,cAAC,sBAAA,EAAsB,GAAG,MAAA,CAAO;AAAA,EAC5C;AAEA,sDAAQ,UAAA,EAAS,YAAY,MAAM,sBAAA,EAAwB,QAAQ,OAAc;AACrF;AAEA,SAAS,qBAAsC,OAAwB;AACnE,QAAM,EAAE,OAAO,MAAA,IAAU;AACzB,QAAM,YAAY,aAAa,KAAK;AACpC,QAAM,YAAa,KAAK,MAAM,QAAQ,UAAU,OAAO,QAAQ,IAAI,UAAU,OAAO,WAAY,UAAU,OAAO;AAEjHA,iBAAM,UAAU,MAAM;AAClB,QAAI;AAEJ,QAAI,UAAU,OAAO,WAAW;AAC5B,YAAM,UAAU,MAAM,MAAM,SAAA,EAAW;AACvC,YAAM,UAAU,MAAM,MAAM,SAAA,EAAW;AACvC,YAAM,SAAS,MAAM,MAAM,SAAA,EAAW;AACtC,YAAM,gBAAgB,iBAAiB,MAAM,MAAM,SAAA,EAAW,gBAAgB;AAE9E,gBAAU,WAAW,MAAM;AACvB,kBAAU,OAAO;AAAA,UACb;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU,OAAO,qBAAqB,SAAS;AAAA,QAAA;AAAA,MAEvD,GAAG,oBAAoB;AAAA,IAC3B;AAEA,WAAO,MAAM;AACT,mBAAa,OAAO;AAAA,IACxB;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,QAAM,mBAAmB,MAAM,SAAA,GAAY,SAAS,UAAU;AAC9D,QAAM,qBAAqB,MAAM,sBAAA,EAAwB,SAAS;AAElE,SAAOA,+BAAA,cAAC,UAAA,EAAS,YAAY,oBAAoB,OAAc;AACnE;AAEA,MAAM,WAAWA,eAAM,WAAW,SAASC,UACvC,OACA,KACF;AACE,QAAM,EAAE,YAAY,MAAA,IAAU;AAE9B,SACID,+BAAA,cAAC,MAAA,EAAG,kBAAgB,OAAO,eAAa,OAAO,KAAU,aAAU,kBAC9D,MAAM,KAAK,EAAE,QAAQ,WAAA,CAAY,EAAE,IAAI,CAAC,GAAGE,WACxCF,+BAAA,cAAC,MAAA,EAAG,KAAKE,OAAAA,GACLF,+BAAA,cAAC,QAAA,EAAK,WAAU,2DAAA,CAA2D,CAC/E,CACH,CACL;AAER,CAAC;"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
+ const rows = require("../../../useTableManager/util/rows.cjs");
4
5
  const RowContext = require("./RowContext.cjs");
5
6
  function Row(props) {
6
7
  const {
@@ -10,8 +11,7 @@ function Row(props) {
10
11
  hideRowActions = false,
11
12
  ...displayRowProps
12
13
  } = props;
13
- const tableMeta = props.table.options.meta;
14
- const isHovered = tableMeta.rowActive.rowHoverIndex === props.index;
14
+ const isHovered = rows.getTableMeta(props.table).rowActive.rowHoverIndex === props.index;
15
15
  const contextValue = React.useMemo(
16
16
  () => ({ isHovered, rowIndex: props.index, hideInternalColumns, hideRowActions }),
17
17
  [isHovered, props.index, hideInternalColumns, hideRowActions]