@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":"Search.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Search/Search.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { useLocalization, Switch, SearchInput2 } from '@/components';\n\nimport type { TableRef } from '../../../../../types';\nimport { getHiddenColumns } from '../../../../../useTableManager/util/columns';\n\ntype SearchProps<TType = unknown> = {\n scrollToIndex: any;\n table: ReactTable<TType>;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function Search<TType = unknown>(props: SearchProps<TType>) {\n const { scrollToIndex, table, tableRef } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLInputElement>(null);\n const lastResultQuery = React.useRef(undefined);\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const query = table.getState().globalFilter;\n const scrollTo = (rowIndex: number) => scrollToIndex(rowIndex, { align: 'center' });\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n\n React.useEffect(() => {\n if (!tableMeta.server._experimentalDataLoader2 && tableMeta.search.highlightedColumnIndexes.length) {\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length]);\n\n React.useEffect(() => {\n // if the query hasn't changed, but number of results changed, it indicates a page containing one ore more results was loaded or unloaded due to scrolling.\n if (\n tableMeta.server._experimentalDataLoader2 &&\n tableMeta.search.highlightedColumnIndexes.length &&\n query !== lastResultQuery.current\n ) {\n lastResultQuery.current = query;\n\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length, query]);\n\n const handleFocus = async () => {\n // load all data if that is possible\n if (tableMeta.server.loadAllIfNeeded && !tableMeta.server._experimentalDataLoader2) {\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.server.loadAllIfNeeded(\n table.getState().sorting,\n table.getState().columnFilters,\n hiddenColumns,\n // the old data loader doesn't have server side search\n undefined\n );\n }\n };\n\n const [loading, setLoading] = React.useState(false);\n\n const searchTimeoutRef = React.useRef<NodeJS.Timeout>(undefined);\n\n const handleChange = (query: any) => {\n table.setGlobalFilter(String(query ?? ''));\n\n if (tableMeta.search.enableGlobalFilter && tableMeta.search.handleSearch) {\n clearTimeout(searchTimeoutRef.current);\n searchTimeoutRef.current = setTimeout(() => {\n setLoading(true);\n tableMeta.search.handleSearch?.(query, hiddenColumns)?.then(() => {\n setLoading(false);\n });\n }, 350);\n }\n };\n\n const handleToggleExcludeUnmatchedResults = async (enabled: boolean) => {\n tableMeta.search.setEnableGlobalFilter(enabled, table);\n requestAnimationFrame(() => ref.current?.focus());\n\n if (tableMeta.search.handleSearch) {\n setLoading(true);\n await tableMeta.search.handleSearch(enabled ? query : undefined, hiddenColumns);\n setLoading(false);\n }\n };\n\n const handleNextResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined ||\n tableMeta.search.currentHighlightColumnIndex === tableMeta.search.highlightedColumnIndexes.length - 1\n ? 0\n : tableMeta.search.currentHighlightColumnIndex + 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n };\n\n const handlePreviousResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? 0\n : tableMeta.search.currentHighlightColumnIndex === 0\n ? tableMeta.search.highlightedColumnIndexes.length - 1\n : tableMeta.search.currentHighlightColumnIndex - 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n };\n\n const settings = tableMeta.server._experimentalDataLoader2 ? undefined : (\n <Switch\n label={texts.table.search.excludeUnmatchedResults}\n checked={!!table.options.enableGlobalFilter}\n onChange={handleToggleExcludeUnmatchedResults}\n />\n );\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Escape' && tableMeta.search.currentHighlightColumnIndex !== undefined) {\n const [rowIndex, cellIndex] =\n tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex] || [];\n\n if (rowIndex !== undefined && cellIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(rowIndex);\n\n requestAnimationFrame(() => {\n const cell = tableRef.current?.querySelector(\n `tbody > tr[data-row-index=\"${rowIndex}\"] > td[data-cell-index=\"${cellIndex}\"]`\n );\n\n if (cell) {\n (cell as HTMLElement).focus?.();\n }\n });\n }\n }\n };\n\n return (\n <>\n <SearchInput2\n findCurrent={\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? null\n : tableMeta.search.currentHighlightColumnIndex + 1\n }\n findTotal={tableMeta.search.highlightedColumnIndexes?.length ?? null}\n loading={tableMeta.server._experimentalDataLoader2 ? loading : tableMeta.server.loading}\n name=\"table-search\"\n onClickFindPrevious={handlePreviousResult}\n onClickFindNext={handleNextResult}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={texts.table.search.placeholder}\n settingsContent={settings}\n ref={ref}\n shortcut={{ key: 'f', meta: true, shift: false }}\n showTotal={!tableMeta.server._experimentalDataLoader2}\n value={query}\n />\n </>\n );\n}\n"],"names":["useLocalization","getHiddenColumns","query","Switch","SearchInput2"],"mappings":"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"}
1
+ {"version":3,"file":"Search.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Search/Search.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { useLocalization, Switch, SearchInput2 } from '@/components';\n\nimport type { TableRef } from '../../../../../types';\nimport { getHiddenColumns } from '../../../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\n\ntype SearchProps<TType = unknown> = {\n scrollToIndex: any;\n table: ReactTable<TType>;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function Search<TType = unknown>(props: SearchProps<TType>) {\n const { scrollToIndex, table, tableRef } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLInputElement>(null);\n const lastResultQuery = React.useRef(undefined);\n const tableMeta = getTableMeta(table);\n const query = table.getState().globalFilter;\n const scrollTo = (rowIndex: number) => scrollToIndex(rowIndex, { align: 'center' });\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n\n React.useEffect(() => {\n if (!tableMeta.server._experimentalDataLoader2 && tableMeta.search.highlightedColumnIndexes.length) {\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length]);\n\n React.useEffect(() => {\n // if the query hasn't changed, but number of results changed, it indicates a page containing one ore more results was loaded or unloaded due to scrolling.\n if (\n tableMeta.server._experimentalDataLoader2 &&\n tableMeta.search.highlightedColumnIndexes.length &&\n query !== lastResultQuery.current\n ) {\n lastResultQuery.current = query;\n\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length, query]);\n\n const handleFocus = async () => {\n // load all data if that is possible\n if (tableMeta.server.loadAllIfNeeded && !tableMeta.server._experimentalDataLoader2) {\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.server.loadAllIfNeeded(\n table.getState().sorting,\n table.getState().columnFilters,\n hiddenColumns,\n // the old data loader doesn't have server side search\n undefined\n );\n }\n };\n\n const [loading, setLoading] = React.useState(false);\n\n const searchTimeoutRef = React.useRef<NodeJS.Timeout>(undefined);\n\n const handleChange = (query: any) => {\n table.setGlobalFilter(String(query ?? ''));\n\n if (tableMeta.search.enableGlobalFilter && tableMeta.search.handleSearch) {\n clearTimeout(searchTimeoutRef.current);\n searchTimeoutRef.current = setTimeout(() => {\n setLoading(true);\n tableMeta.search.handleSearch?.(query, hiddenColumns)?.then(() => {\n setLoading(false);\n });\n }, 350);\n }\n };\n\n const handleToggleExcludeUnmatchedResults = async (enabled: boolean) => {\n tableMeta.search.setEnableGlobalFilter(enabled, table);\n requestAnimationFrame(() => ref.current?.focus());\n\n if (tableMeta.search.handleSearch) {\n setLoading(true);\n await tableMeta.search.handleSearch(enabled ? query : undefined, hiddenColumns);\n setLoading(false);\n }\n };\n\n const handleNextResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined ||\n tableMeta.search.currentHighlightColumnIndex === tableMeta.search.highlightedColumnIndexes.length - 1\n ? 0\n : tableMeta.search.currentHighlightColumnIndex + 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n };\n\n const handlePreviousResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? 0\n : tableMeta.search.currentHighlightColumnIndex === 0\n ? tableMeta.search.highlightedColumnIndexes.length - 1\n : tableMeta.search.currentHighlightColumnIndex - 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n };\n\n const settings = tableMeta.server._experimentalDataLoader2 ? undefined : (\n <Switch\n label={texts.table.search.excludeUnmatchedResults}\n checked={!!table.options.enableGlobalFilter}\n onChange={handleToggleExcludeUnmatchedResults}\n />\n );\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Escape' && tableMeta.search.currentHighlightColumnIndex !== undefined) {\n const [rowIndex, cellIndex] =\n tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex] || [];\n\n if (rowIndex !== undefined && cellIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(rowIndex);\n\n requestAnimationFrame(() => {\n const cell = tableRef.current?.querySelector(\n `tbody > tr[data-row-index=\"${rowIndex}\"] > td[data-cell-index=\"${cellIndex}\"]`\n );\n\n if (cell) {\n (cell as HTMLElement).focus?.();\n }\n });\n }\n }\n };\n\n return (\n <>\n <SearchInput2\n findCurrent={\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? null\n : tableMeta.search.currentHighlightColumnIndex + 1\n }\n findTotal={tableMeta.search.highlightedColumnIndexes?.length ?? null}\n loading={tableMeta.server._experimentalDataLoader2 ? loading : tableMeta.server.loading}\n name=\"table-search\"\n onClickFindPrevious={handlePreviousResult}\n onClickFindNext={handleNextResult}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={texts.table.search.placeholder}\n settingsContent={settings}\n ref={ref}\n shortcut={{ key: 'f', meta: true, shift: false }}\n showTotal={!tableMeta.server._experimentalDataLoader2}\n value={query}\n />\n </>\n );\n}\n"],"names":["useLocalization","getTableMeta","getHiddenColumns","query","Switch","SearchInput2"],"mappings":"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"}
@@ -1,5 +1,6 @@
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
  import { useLocalization } from "../../../../../../../components/Provider/Localization.js";
4
5
  import { Switch } from "../../../../../../../components/Switch/Switch.js";
5
6
  import { SearchInput2 } from "../../../../../../../components/SearchInput2/SearchInput2.js";
@@ -8,7 +9,7 @@ function Search(props) {
8
9
  const { texts } = useLocalization();
9
10
  const ref = React__default.useRef(null);
10
11
  const lastResultQuery = React__default.useRef(void 0);
11
- const tableMeta = table.options.meta;
12
+ const tableMeta = getTableMeta(table);
12
13
  const query = table.getState().globalFilter;
13
14
  const scrollTo = (rowIndex) => scrollToIndex(rowIndex, { align: "center" });
14
15
  const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Search/Search.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { useLocalization, Switch, SearchInput2 } from '@/components';\n\nimport type { TableRef } from '../../../../../types';\nimport { getHiddenColumns } from '../../../../../useTableManager/util/columns';\n\ntype SearchProps<TType = unknown> = {\n scrollToIndex: any;\n table: ReactTable<TType>;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function Search<TType = unknown>(props: SearchProps<TType>) {\n const { scrollToIndex, table, tableRef } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLInputElement>(null);\n const lastResultQuery = React.useRef(undefined);\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const query = table.getState().globalFilter;\n const scrollTo = (rowIndex: number) => scrollToIndex(rowIndex, { align: 'center' });\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n\n React.useEffect(() => {\n if (!tableMeta.server._experimentalDataLoader2 && tableMeta.search.highlightedColumnIndexes.length) {\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length]);\n\n React.useEffect(() => {\n // if the query hasn't changed, but number of results changed, it indicates a page containing one ore more results was loaded or unloaded due to scrolling.\n if (\n tableMeta.server._experimentalDataLoader2 &&\n tableMeta.search.highlightedColumnIndexes.length &&\n query !== lastResultQuery.current\n ) {\n lastResultQuery.current = query;\n\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length, query]);\n\n const handleFocus = async () => {\n // load all data if that is possible\n if (tableMeta.server.loadAllIfNeeded && !tableMeta.server._experimentalDataLoader2) {\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.server.loadAllIfNeeded(\n table.getState().sorting,\n table.getState().columnFilters,\n hiddenColumns,\n // the old data loader doesn't have server side search\n undefined\n );\n }\n };\n\n const [loading, setLoading] = React.useState(false);\n\n const searchTimeoutRef = React.useRef<NodeJS.Timeout>(undefined);\n\n const handleChange = (query: any) => {\n table.setGlobalFilter(String(query ?? ''));\n\n if (tableMeta.search.enableGlobalFilter && tableMeta.search.handleSearch) {\n clearTimeout(searchTimeoutRef.current);\n searchTimeoutRef.current = setTimeout(() => {\n setLoading(true);\n tableMeta.search.handleSearch?.(query, hiddenColumns)?.then(() => {\n setLoading(false);\n });\n }, 350);\n }\n };\n\n const handleToggleExcludeUnmatchedResults = async (enabled: boolean) => {\n tableMeta.search.setEnableGlobalFilter(enabled, table);\n requestAnimationFrame(() => ref.current?.focus());\n\n if (tableMeta.search.handleSearch) {\n setLoading(true);\n await tableMeta.search.handleSearch(enabled ? query : undefined, hiddenColumns);\n setLoading(false);\n }\n };\n\n const handleNextResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined ||\n tableMeta.search.currentHighlightColumnIndex === tableMeta.search.highlightedColumnIndexes.length - 1\n ? 0\n : tableMeta.search.currentHighlightColumnIndex + 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n };\n\n const handlePreviousResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? 0\n : tableMeta.search.currentHighlightColumnIndex === 0\n ? tableMeta.search.highlightedColumnIndexes.length - 1\n : tableMeta.search.currentHighlightColumnIndex - 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n };\n\n const settings = tableMeta.server._experimentalDataLoader2 ? undefined : (\n <Switch\n label={texts.table.search.excludeUnmatchedResults}\n checked={!!table.options.enableGlobalFilter}\n onChange={handleToggleExcludeUnmatchedResults}\n />\n );\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Escape' && tableMeta.search.currentHighlightColumnIndex !== undefined) {\n const [rowIndex, cellIndex] =\n tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex] || [];\n\n if (rowIndex !== undefined && cellIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(rowIndex);\n\n requestAnimationFrame(() => {\n const cell = tableRef.current?.querySelector(\n `tbody > tr[data-row-index=\"${rowIndex}\"] > td[data-cell-index=\"${cellIndex}\"]`\n );\n\n if (cell) {\n (cell as HTMLElement).focus?.();\n }\n });\n }\n }\n };\n\n return (\n <>\n <SearchInput2\n findCurrent={\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? null\n : tableMeta.search.currentHighlightColumnIndex + 1\n }\n findTotal={tableMeta.search.highlightedColumnIndexes?.length ?? null}\n loading={tableMeta.server._experimentalDataLoader2 ? loading : tableMeta.server.loading}\n name=\"table-search\"\n onClickFindPrevious={handlePreviousResult}\n onClickFindNext={handleNextResult}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={texts.table.search.placeholder}\n settingsContent={settings}\n ref={ref}\n shortcut={{ key: 'f', meta: true, shift: false }}\n showTotal={!tableMeta.server._experimentalDataLoader2}\n value={query}\n />\n </>\n );\n}\n"],"names":["React","query"],"mappings":"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"}
1
+ {"version":3,"file":"Search.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Search/Search.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { useLocalization, Switch, SearchInput2 } from '@/components';\n\nimport type { TableRef } from '../../../../../types';\nimport { getHiddenColumns } from '../../../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\n\ntype SearchProps<TType = unknown> = {\n scrollToIndex: any;\n table: ReactTable<TType>;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function Search<TType = unknown>(props: SearchProps<TType>) {\n const { scrollToIndex, table, tableRef } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLInputElement>(null);\n const lastResultQuery = React.useRef(undefined);\n const tableMeta = getTableMeta(table);\n const query = table.getState().globalFilter;\n const scrollTo = (rowIndex: number) => scrollToIndex(rowIndex, { align: 'center' });\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n\n React.useEffect(() => {\n if (!tableMeta.server._experimentalDataLoader2 && tableMeta.search.highlightedColumnIndexes.length) {\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length]);\n\n React.useEffect(() => {\n // if the query hasn't changed, but number of results changed, it indicates a page containing one ore more results was loaded or unloaded due to scrolling.\n if (\n tableMeta.server._experimentalDataLoader2 &&\n tableMeta.search.highlightedColumnIndexes.length &&\n query !== lastResultQuery.current\n ) {\n lastResultQuery.current = query;\n\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length, query]);\n\n const handleFocus = async () => {\n // load all data if that is possible\n if (tableMeta.server.loadAllIfNeeded && !tableMeta.server._experimentalDataLoader2) {\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.server.loadAllIfNeeded(\n table.getState().sorting,\n table.getState().columnFilters,\n hiddenColumns,\n // the old data loader doesn't have server side search\n undefined\n );\n }\n };\n\n const [loading, setLoading] = React.useState(false);\n\n const searchTimeoutRef = React.useRef<NodeJS.Timeout>(undefined);\n\n const handleChange = (query: any) => {\n table.setGlobalFilter(String(query ?? ''));\n\n if (tableMeta.search.enableGlobalFilter && tableMeta.search.handleSearch) {\n clearTimeout(searchTimeoutRef.current);\n searchTimeoutRef.current = setTimeout(() => {\n setLoading(true);\n tableMeta.search.handleSearch?.(query, hiddenColumns)?.then(() => {\n setLoading(false);\n });\n }, 350);\n }\n };\n\n const handleToggleExcludeUnmatchedResults = async (enabled: boolean) => {\n tableMeta.search.setEnableGlobalFilter(enabled, table);\n requestAnimationFrame(() => ref.current?.focus());\n\n if (tableMeta.search.handleSearch) {\n setLoading(true);\n await tableMeta.search.handleSearch(enabled ? query : undefined, hiddenColumns);\n setLoading(false);\n }\n };\n\n const handleNextResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined ||\n tableMeta.search.currentHighlightColumnIndex === tableMeta.search.highlightedColumnIndexes.length - 1\n ? 0\n : tableMeta.search.currentHighlightColumnIndex + 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n };\n\n const handlePreviousResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? 0\n : tableMeta.search.currentHighlightColumnIndex === 0\n ? tableMeta.search.highlightedColumnIndexes.length - 1\n : tableMeta.search.currentHighlightColumnIndex - 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n };\n\n const settings = tableMeta.server._experimentalDataLoader2 ? undefined : (\n <Switch\n label={texts.table.search.excludeUnmatchedResults}\n checked={!!table.options.enableGlobalFilter}\n onChange={handleToggleExcludeUnmatchedResults}\n />\n );\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Escape' && tableMeta.search.currentHighlightColumnIndex !== undefined) {\n const [rowIndex, cellIndex] =\n tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex] || [];\n\n if (rowIndex !== undefined && cellIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(rowIndex);\n\n requestAnimationFrame(() => {\n const cell = tableRef.current?.querySelector(\n `tbody > tr[data-row-index=\"${rowIndex}\"] > td[data-cell-index=\"${cellIndex}\"]`\n );\n\n if (cell) {\n (cell as HTMLElement).focus?.();\n }\n });\n }\n }\n };\n\n return (\n <>\n <SearchInput2\n findCurrent={\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? null\n : tableMeta.search.currentHighlightColumnIndex + 1\n }\n findTotal={tableMeta.search.highlightedColumnIndexes?.length ?? null}\n loading={tableMeta.server._experimentalDataLoader2 ? loading : tableMeta.server.loading}\n name=\"table-search\"\n onClickFindPrevious={handlePreviousResult}\n onClickFindNext={handleNextResult}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={texts.table.search.placeholder}\n settingsContent={settings}\n ref={ref}\n shortcut={{ key: 'f', meta: true, shift: false }}\n showTotal={!tableMeta.server._experimentalDataLoader2}\n value={query}\n />\n </>\n );\n}\n"],"names":["React","query"],"mappings":"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"}
@@ -7,6 +7,7 @@ const Item = require("../../../../../../Sortable/components/Item.cjs");
7
7
  const List = require("../../../../../../Sortable/components/List.cjs");
8
8
  const sortable = require("@dnd-kit/sortable");
9
9
  const columns = require("../../../../../useTableManager/util/columns.cjs");
10
+ const rows = require("../../../../../useTableManager/util/rows.cjs");
10
11
  const Localization = require("../../../../../../../components/Provider/Localization.cjs");
11
12
  const Popover = require("../../../../../../../components/Popover/Popover.cjs");
12
13
  const Input = require("../../../../../../../components/Input/Input.cjs");
@@ -31,7 +32,7 @@ function HideOrOrderPopover(props) {
31
32
  const { texts } = Localization.useLocalization();
32
33
  const [query, setQuery] = React.useState("");
33
34
  const allColumns = table.getAllLeafColumns();
34
- const tableMeta = table.options.meta;
35
+ const tableMeta = rows.getTableMeta(table);
35
36
  const columns$1 = React.useMemo(
36
37
  () => allColumns.filter((column) => !columns.isInternalColumn(column.id)).filter(
37
38
  (column) => query?.length ? column.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) || column.parent?.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) : true
@@ -1 +1 @@
1
- {"version":3,"file":"HideOrOrderPopover.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.tsx"],"sourcesContent":["import type { Table as ReactTable, Column as ReactTableColumn, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport type { PopoverProps } from '@/components';\nimport { Checkbox, Input, Icon, Popover, useLocalization } from '@/components';\nimport * as SortablePrimitive from '@/primitives/Sortable/Sortable';\nimport type { SortableItemId } from '@/primitives/Sortable/Sortable';\n\nimport { ensureOrdering, isInternalColumn } from '../../../../../useTableManager/util/columns';\n\ntype ColumnProps<TType = unknown> = React.HTMLAttributes<HTMLDivElement> & {\n column: ReactTableColumn<TType, unknown>;\n draggable?: boolean;\n};\n\nconst Column = React.forwardRef(function Column<TType = unknown>(props: ColumnProps<TType>, ref: React.Ref<HTMLDivElement>) {\n const { column, draggable = false, ...dragAttributes } = props;\n const canHide = column.getCanHide();\n\n const className = cn('group/column flex items-center gap-x-2 rounded px-2 py-1', {\n 'hover:bg-gray-200': canHide || draggable,\n 'hover:cursor-pointer': canHide,\n 'active:cursor-move active:bg-gray-300': draggable,\n });\n\n const attributes = draggable ? dragAttributes : undefined;\n const isVisible = column.getIsVisible();\n const parentHeader = column.parent?.columnDef?.header;\n\n const Tag = canHide ? 'label' : 'span';\n\n return (\n <div {...attributes} className={className} ref={ref}>\n {draggable ? <Icon name=\"drag\" className=\"-mx-2 !h-5 text-gray-500 group-hover/column:text-gray-700\" /> : null}\n <Tag className=\"flex-grow truncate\" htmlFor={canHide ? column.id : undefined}>\n {column.columnDef.meta?.header}\n {parentHeader ? <span className=\"italic\">({parentHeader as React.ReactNode})</span> : null}\n </Tag>\n {canHide ? (\n <Checkbox checked={isVisible} id={column.id} onChange={() => column.toggleVisibility(!isVisible)} />\n ) : null}\n </div>\n );\n});\n\nexport type HideOrOrderPopoverProps<TType = unknown> = PopoverProps & {\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function HideOrOrderPopover<TType = unknown>(props: HideOrOrderPopoverProps<TType>) {\n const { id, table, trigger, ...popoverProps } = props;\n const { texts } = useLocalization();\n const [query, setQuery] = React.useState('');\n const allColumns = table.getAllLeafColumns();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const columns = React.useMemo(\n () =>\n allColumns\n .filter(column => !isInternalColumn(column.id))\n .filter(column =>\n query?.length\n ? column.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) ||\n column.parent?.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase())\n : true\n ),\n [allColumns, query]\n );\n\n const listClassName = 'flex max-h-64 flex-col gap-y-px overflow-auto';\n\n const handleReorder = (activeId: SortableItemId, overId: SortableItemId) => {\n if (columns.some(column => column.id === overId && column.columnDef.meta?.enableOrdering === false)) {\n return;\n }\n\n const currentOrder = table.getState().columnOrder;\n const nextOrder = ensureOrdering(\n allColumns,\n SortablePrimitive.arrayMove(\n currentOrder,\n currentOrder.findIndex(c => c === activeId),\n currentOrder.findIndex(c => c === overId)\n )\n );\n\n // update column order\n table.setColumnOrder(nextOrder);\n\n // update pinned columns - because we do index based \"freezing\" instead of just pinning, pinned state needs updating to align with ordering\n if (table.getIsSomeColumnsPinned()) {\n const currentFrozenIndex = table.getState().columnPinning.left?.length ?? -1;\n\n if (currentFrozenIndex > -1) {\n table.setColumnPinning(currentPinning => ({\n ...currentPinning,\n left: nextOrder.slice(0, currentFrozenIndex),\n }));\n }\n }\n };\n\n return (\n <Popover {...popoverProps} anchor={trigger}>\n <Popover.Content id={id}>\n <div className=\"flex min-w-[100px] max-w-sm flex-col gap-2\">\n {table.options.enableHiding ? (\n <Input\n onChange={event => setQuery(event.target.value)}\n placeholder={texts.table.columnSettings.search}\n value={query}\n />\n ) : null}\n {tableMeta.columnOrdering.isEnabled && columns.length && !query?.length ? (\n <SortablePrimitive.Container reorder={handleReorder}>\n <SortablePrimitive.List id=\"columns\" className={listClassName}>\n {columns\n .filter(column => !column.getIsGrouped())\n .map(column => (\n <SortablePrimitive.Item\n key={column.id}\n id={column.id}\n disabled={!column.columnDef.meta?.enableOrdering}\n asChild>\n <Column column={column as any} draggable={column.columnDef.meta?.enableOrdering} />\n </SortablePrimitive.Item>\n ))}\n </SortablePrimitive.List>\n </SortablePrimitive.Container>\n ) : (\n <div className={listClassName}>\n {columns.length\n ? columns.map(column => <Column column={column as any} key={column.id} />)\n : texts.table.columnSettings.noResults}\n </div>\n )}\n </div>\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["Column","Icon","Checkbox","useLocalization","columns","isInternalColumn","ensureOrdering","SortablePrimitive.arrayMove","Popover","Input","SortablePrimitive.Container","SortablePrimitive.List","SortablePrimitive.Item"],"mappings":"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"}
1
+ {"version":3,"file":"HideOrOrderPopover.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.tsx"],"sourcesContent":["import type { Table as ReactTable, Column as ReactTableColumn } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport type { PopoverProps } from '@/components';\nimport { Checkbox, Input, Icon, Popover, useLocalization } from '@/components';\nimport * as SortablePrimitive from '@/primitives/Sortable/Sortable';\nimport type { SortableItemId } from '@/primitives/Sortable/Sortable';\n\nimport { ensureOrdering, isInternalColumn } from '../../../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\n\ntype ColumnProps<TType = unknown> = React.HTMLAttributes<HTMLDivElement> & {\n column: ReactTableColumn<TType, unknown>;\n draggable?: boolean;\n};\n\nconst Column = React.forwardRef(function Column<TType = unknown>(props: ColumnProps<TType>, ref: React.Ref<HTMLDivElement>) {\n const { column, draggable = false, ...dragAttributes } = props;\n const canHide = column.getCanHide();\n\n const className = cn('group/column flex items-center gap-x-2 rounded px-2 py-1', {\n 'hover:bg-gray-200': canHide || draggable,\n 'hover:cursor-pointer': canHide,\n 'active:cursor-move active:bg-gray-300': draggable,\n });\n\n const attributes = draggable ? dragAttributes : undefined;\n const isVisible = column.getIsVisible();\n const parentHeader = column.parent?.columnDef?.header;\n\n const Tag = canHide ? 'label' : 'span';\n\n return (\n <div {...attributes} className={className} ref={ref}>\n {draggable ? <Icon name=\"drag\" className=\"-mx-2 !h-5 text-gray-500 group-hover/column:text-gray-700\" /> : null}\n <Tag className=\"flex-grow truncate\" htmlFor={canHide ? column.id : undefined}>\n {column.columnDef.meta?.header}\n {parentHeader ? <span className=\"italic\">({parentHeader as React.ReactNode})</span> : null}\n </Tag>\n {canHide ? (\n <Checkbox checked={isVisible} id={column.id} onChange={() => column.toggleVisibility(!isVisible)} />\n ) : null}\n </div>\n );\n});\n\nexport type HideOrOrderPopoverProps<TType = unknown> = PopoverProps & {\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function HideOrOrderPopover<TType = unknown>(props: HideOrOrderPopoverProps<TType>) {\n const { id, table, trigger, ...popoverProps } = props;\n const { texts } = useLocalization();\n const [query, setQuery] = React.useState('');\n const allColumns = table.getAllLeafColumns();\n const tableMeta = getTableMeta(table);\n const columns = React.useMemo(\n () =>\n allColumns\n .filter(column => !isInternalColumn(column.id))\n .filter(column =>\n query?.length\n ? column.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) ||\n column.parent?.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase())\n : true\n ),\n [allColumns, query]\n );\n\n const listClassName = 'flex max-h-64 flex-col gap-y-px overflow-auto';\n\n const handleReorder = (activeId: SortableItemId, overId: SortableItemId) => {\n if (columns.some(column => column.id === overId && column.columnDef.meta?.enableOrdering === false)) {\n return;\n }\n\n const currentOrder = table.getState().columnOrder;\n const nextOrder = ensureOrdering(\n allColumns,\n SortablePrimitive.arrayMove(\n currentOrder,\n currentOrder.findIndex(c => c === activeId),\n currentOrder.findIndex(c => c === overId)\n )\n );\n\n // update column order\n table.setColumnOrder(nextOrder);\n\n // update pinned columns - because we do index based \"freezing\" instead of just pinning, pinned state needs updating to align with ordering\n if (table.getIsSomeColumnsPinned()) {\n const currentFrozenIndex = table.getState().columnPinning.left?.length ?? -1;\n\n if (currentFrozenIndex > -1) {\n table.setColumnPinning(currentPinning => ({\n ...currentPinning,\n left: nextOrder.slice(0, currentFrozenIndex),\n }));\n }\n }\n };\n\n return (\n <Popover {...popoverProps} anchor={trigger}>\n <Popover.Content id={id}>\n <div className=\"flex min-w-[100px] max-w-sm flex-col gap-2\">\n {table.options.enableHiding ? (\n <Input\n onChange={event => setQuery(event.target.value)}\n placeholder={texts.table.columnSettings.search}\n value={query}\n />\n ) : null}\n {tableMeta.columnOrdering.isEnabled && columns.length && !query?.length ? (\n <SortablePrimitive.Container reorder={handleReorder}>\n <SortablePrimitive.List id=\"columns\" className={listClassName}>\n {columns\n .filter(column => !column.getIsGrouped())\n .map(column => (\n <SortablePrimitive.Item\n key={column.id}\n id={column.id}\n disabled={!column.columnDef.meta?.enableOrdering}\n asChild>\n <Column column={column as any} draggable={column.columnDef.meta?.enableOrdering} />\n </SortablePrimitive.Item>\n ))}\n </SortablePrimitive.List>\n </SortablePrimitive.Container>\n ) : (\n <div className={listClassName}>\n {columns.length\n ? columns.map(column => <Column column={column as any} key={column.id} />)\n : texts.table.columnSettings.noResults}\n </div>\n )}\n </div>\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["Column","Icon","Checkbox","useLocalization","getTableMeta","columns","isInternalColumn","ensureOrdering","SortablePrimitive.arrayMove","Popover","Input","SortablePrimitive.Container","SortablePrimitive.List","SortablePrimitive.Item"],"mappings":"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"}
@@ -5,6 +5,7 @@ import { Item } from "../../../../../../Sortable/components/Item.js";
5
5
  import { List } from "../../../../../../Sortable/components/List.js";
6
6
  import { arrayMove } from "@dnd-kit/sortable";
7
7
  import { isInternalColumn, ensureOrdering } from "../../../../../useTableManager/util/columns.js";
8
+ import { getTableMeta } from "../../../../../useTableManager/util/rows.js";
8
9
  import { useLocalization } from "../../../../../../../components/Provider/Localization.js";
9
10
  import { Popover } from "../../../../../../../components/Popover/Popover.js";
10
11
  import { Input } from "../../../../../../../components/Input/Input.js";
@@ -29,7 +30,7 @@ function HideOrOrderPopover(props) {
29
30
  const { texts } = useLocalization();
30
31
  const [query, setQuery] = React__default.useState("");
31
32
  const allColumns = table.getAllLeafColumns();
32
- const tableMeta = table.options.meta;
33
+ const tableMeta = getTableMeta(table);
33
34
  const columns = React__default.useMemo(
34
35
  () => allColumns.filter((column) => !isInternalColumn(column.id)).filter(
35
36
  (column) => query?.length ? column.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) || column.parent?.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) : true
@@ -1 +1 @@
1
- {"version":3,"file":"HideOrOrderPopover.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.tsx"],"sourcesContent":["import type { Table as ReactTable, Column as ReactTableColumn, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport type { PopoverProps } from '@/components';\nimport { Checkbox, Input, Icon, Popover, useLocalization } from '@/components';\nimport * as SortablePrimitive from '@/primitives/Sortable/Sortable';\nimport type { SortableItemId } from '@/primitives/Sortable/Sortable';\n\nimport { ensureOrdering, isInternalColumn } from '../../../../../useTableManager/util/columns';\n\ntype ColumnProps<TType = unknown> = React.HTMLAttributes<HTMLDivElement> & {\n column: ReactTableColumn<TType, unknown>;\n draggable?: boolean;\n};\n\nconst Column = React.forwardRef(function Column<TType = unknown>(props: ColumnProps<TType>, ref: React.Ref<HTMLDivElement>) {\n const { column, draggable = false, ...dragAttributes } = props;\n const canHide = column.getCanHide();\n\n const className = cn('group/column flex items-center gap-x-2 rounded px-2 py-1', {\n 'hover:bg-gray-200': canHide || draggable,\n 'hover:cursor-pointer': canHide,\n 'active:cursor-move active:bg-gray-300': draggable,\n });\n\n const attributes = draggable ? dragAttributes : undefined;\n const isVisible = column.getIsVisible();\n const parentHeader = column.parent?.columnDef?.header;\n\n const Tag = canHide ? 'label' : 'span';\n\n return (\n <div {...attributes} className={className} ref={ref}>\n {draggable ? <Icon name=\"drag\" className=\"-mx-2 !h-5 text-gray-500 group-hover/column:text-gray-700\" /> : null}\n <Tag className=\"flex-grow truncate\" htmlFor={canHide ? column.id : undefined}>\n {column.columnDef.meta?.header}\n {parentHeader ? <span className=\"italic\">({parentHeader as React.ReactNode})</span> : null}\n </Tag>\n {canHide ? (\n <Checkbox checked={isVisible} id={column.id} onChange={() => column.toggleVisibility(!isVisible)} />\n ) : null}\n </div>\n );\n});\n\nexport type HideOrOrderPopoverProps<TType = unknown> = PopoverProps & {\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function HideOrOrderPopover<TType = unknown>(props: HideOrOrderPopoverProps<TType>) {\n const { id, table, trigger, ...popoverProps } = props;\n const { texts } = useLocalization();\n const [query, setQuery] = React.useState('');\n const allColumns = table.getAllLeafColumns();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const columns = React.useMemo(\n () =>\n allColumns\n .filter(column => !isInternalColumn(column.id))\n .filter(column =>\n query?.length\n ? column.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) ||\n column.parent?.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase())\n : true\n ),\n [allColumns, query]\n );\n\n const listClassName = 'flex max-h-64 flex-col gap-y-px overflow-auto';\n\n const handleReorder = (activeId: SortableItemId, overId: SortableItemId) => {\n if (columns.some(column => column.id === overId && column.columnDef.meta?.enableOrdering === false)) {\n return;\n }\n\n const currentOrder = table.getState().columnOrder;\n const nextOrder = ensureOrdering(\n allColumns,\n SortablePrimitive.arrayMove(\n currentOrder,\n currentOrder.findIndex(c => c === activeId),\n currentOrder.findIndex(c => c === overId)\n )\n );\n\n // update column order\n table.setColumnOrder(nextOrder);\n\n // update pinned columns - because we do index based \"freezing\" instead of just pinning, pinned state needs updating to align with ordering\n if (table.getIsSomeColumnsPinned()) {\n const currentFrozenIndex = table.getState().columnPinning.left?.length ?? -1;\n\n if (currentFrozenIndex > -1) {\n table.setColumnPinning(currentPinning => ({\n ...currentPinning,\n left: nextOrder.slice(0, currentFrozenIndex),\n }));\n }\n }\n };\n\n return (\n <Popover {...popoverProps} anchor={trigger}>\n <Popover.Content id={id}>\n <div className=\"flex min-w-[100px] max-w-sm flex-col gap-2\">\n {table.options.enableHiding ? (\n <Input\n onChange={event => setQuery(event.target.value)}\n placeholder={texts.table.columnSettings.search}\n value={query}\n />\n ) : null}\n {tableMeta.columnOrdering.isEnabled && columns.length && !query?.length ? (\n <SortablePrimitive.Container reorder={handleReorder}>\n <SortablePrimitive.List id=\"columns\" className={listClassName}>\n {columns\n .filter(column => !column.getIsGrouped())\n .map(column => (\n <SortablePrimitive.Item\n key={column.id}\n id={column.id}\n disabled={!column.columnDef.meta?.enableOrdering}\n asChild>\n <Column column={column as any} draggable={column.columnDef.meta?.enableOrdering} />\n </SortablePrimitive.Item>\n ))}\n </SortablePrimitive.List>\n </SortablePrimitive.Container>\n ) : (\n <div className={listClassName}>\n {columns.length\n ? columns.map(column => <Column column={column as any} key={column.id} />)\n : texts.table.columnSettings.noResults}\n </div>\n )}\n </div>\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["React","Column","SortablePrimitive.arrayMove","SortablePrimitive.Container","SortablePrimitive.List","SortablePrimitive.Item"],"mappings":"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"}
1
+ {"version":3,"file":"HideOrOrderPopover.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.tsx"],"sourcesContent":["import type { Table as ReactTable, Column as ReactTableColumn } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport type { PopoverProps } from '@/components';\nimport { Checkbox, Input, Icon, Popover, useLocalization } from '@/components';\nimport * as SortablePrimitive from '@/primitives/Sortable/Sortable';\nimport type { SortableItemId } from '@/primitives/Sortable/Sortable';\n\nimport { ensureOrdering, isInternalColumn } from '../../../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\n\ntype ColumnProps<TType = unknown> = React.HTMLAttributes<HTMLDivElement> & {\n column: ReactTableColumn<TType, unknown>;\n draggable?: boolean;\n};\n\nconst Column = React.forwardRef(function Column<TType = unknown>(props: ColumnProps<TType>, ref: React.Ref<HTMLDivElement>) {\n const { column, draggable = false, ...dragAttributes } = props;\n const canHide = column.getCanHide();\n\n const className = cn('group/column flex items-center gap-x-2 rounded px-2 py-1', {\n 'hover:bg-gray-200': canHide || draggable,\n 'hover:cursor-pointer': canHide,\n 'active:cursor-move active:bg-gray-300': draggable,\n });\n\n const attributes = draggable ? dragAttributes : undefined;\n const isVisible = column.getIsVisible();\n const parentHeader = column.parent?.columnDef?.header;\n\n const Tag = canHide ? 'label' : 'span';\n\n return (\n <div {...attributes} className={className} ref={ref}>\n {draggable ? <Icon name=\"drag\" className=\"-mx-2 !h-5 text-gray-500 group-hover/column:text-gray-700\" /> : null}\n <Tag className=\"flex-grow truncate\" htmlFor={canHide ? column.id : undefined}>\n {column.columnDef.meta?.header}\n {parentHeader ? <span className=\"italic\">({parentHeader as React.ReactNode})</span> : null}\n </Tag>\n {canHide ? (\n <Checkbox checked={isVisible} id={column.id} onChange={() => column.toggleVisibility(!isVisible)} />\n ) : null}\n </div>\n );\n});\n\nexport type HideOrOrderPopoverProps<TType = unknown> = PopoverProps & {\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function HideOrOrderPopover<TType = unknown>(props: HideOrOrderPopoverProps<TType>) {\n const { id, table, trigger, ...popoverProps } = props;\n const { texts } = useLocalization();\n const [query, setQuery] = React.useState('');\n const allColumns = table.getAllLeafColumns();\n const tableMeta = getTableMeta(table);\n const columns = React.useMemo(\n () =>\n allColumns\n .filter(column => !isInternalColumn(column.id))\n .filter(column =>\n query?.length\n ? column.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) ||\n column.parent?.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase())\n : true\n ),\n [allColumns, query]\n );\n\n const listClassName = 'flex max-h-64 flex-col gap-y-px overflow-auto';\n\n const handleReorder = (activeId: SortableItemId, overId: SortableItemId) => {\n if (columns.some(column => column.id === overId && column.columnDef.meta?.enableOrdering === false)) {\n return;\n }\n\n const currentOrder = table.getState().columnOrder;\n const nextOrder = ensureOrdering(\n allColumns,\n SortablePrimitive.arrayMove(\n currentOrder,\n currentOrder.findIndex(c => c === activeId),\n currentOrder.findIndex(c => c === overId)\n )\n );\n\n // update column order\n table.setColumnOrder(nextOrder);\n\n // update pinned columns - because we do index based \"freezing\" instead of just pinning, pinned state needs updating to align with ordering\n if (table.getIsSomeColumnsPinned()) {\n const currentFrozenIndex = table.getState().columnPinning.left?.length ?? -1;\n\n if (currentFrozenIndex > -1) {\n table.setColumnPinning(currentPinning => ({\n ...currentPinning,\n left: nextOrder.slice(0, currentFrozenIndex),\n }));\n }\n }\n };\n\n return (\n <Popover {...popoverProps} anchor={trigger}>\n <Popover.Content id={id}>\n <div className=\"flex min-w-[100px] max-w-sm flex-col gap-2\">\n {table.options.enableHiding ? (\n <Input\n onChange={event => setQuery(event.target.value)}\n placeholder={texts.table.columnSettings.search}\n value={query}\n />\n ) : null}\n {tableMeta.columnOrdering.isEnabled && columns.length && !query?.length ? (\n <SortablePrimitive.Container reorder={handleReorder}>\n <SortablePrimitive.List id=\"columns\" className={listClassName}>\n {columns\n .filter(column => !column.getIsGrouped())\n .map(column => (\n <SortablePrimitive.Item\n key={column.id}\n id={column.id}\n disabled={!column.columnDef.meta?.enableOrdering}\n asChild>\n <Column column={column as any} draggable={column.columnDef.meta?.enableOrdering} />\n </SortablePrimitive.Item>\n ))}\n </SortablePrimitive.List>\n </SortablePrimitive.Container>\n ) : (\n <div className={listClassName}>\n {columns.length\n ? columns.map(column => <Column column={column as any} key={column.id} />)\n : texts.table.columnSettings.noResults}\n </div>\n )}\n </div>\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["React","Column","SortablePrimitive.arrayMove","SortablePrimitive.Container","SortablePrimitive.List","SortablePrimitive.Item"],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
4
  const types = require("../../../../../../../types.cjs");
5
+ const rows = require("../../../../../useTableManager/util/rows.cjs");
5
6
  const settings = require("../../../../../useTableManager/util/settings.cjs");
6
7
  const HideOrOrderPopover = require("./HideOrOrderPopover.cjs");
7
8
  const Localization = require("../../../../../../../components/Provider/Localization.cjs");
@@ -10,7 +11,7 @@ const Menu = require("../../../../../../../components/Menu/Menu.cjs");
10
11
  function Settings(props) {
11
12
  const { customSettings, id, table } = props;
12
13
  const { texts } = Localization.useLocalization();
13
- const tableMeta = table.options.meta;
14
+ const tableMeta = rows.getTableMeta(table);
14
15
  const canHideOrOrder = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;
15
16
  const canChangeFontSize = tableMeta.fontSize.isEnabled;
16
17
  const canChangeRowHeight = tableMeta.rowHeight.isEnabled;
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/Settings.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { IconName, PopoverProps } from '@/components';\nimport { LegacyIconButton, Menu, useLocalization } from '@/components';\nimport { FontSizes } from '@/types';\n\nimport type { TableCustomSettingsRenderer } from '../../../../../types';\nimport { getSettings } from '../../../../../useTableManager/util/settings';\n\nimport { HideOrOrderPopover } from './HideOrOrderPopover';\n\nexport type SettingsProps<TType = unknown> = {\n customSettings?: TableCustomSettingsRenderer;\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function Settings<TType = unknown>(props: SettingsProps<TType>) {\n const { customSettings, id, table } = props;\n const { texts } = useLocalization();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const canHideOrOrder = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;\n const canChangeFontSize = tableMeta.fontSize.isEnabled;\n const canChangeRowHeight = tableMeta.rowHeight.isEnabled;\n\n const [popover, setPopover] = React.useState<string | undefined>(undefined);\n\n let popoverElement;\n\n if (popover === 'columnSettings') {\n const handleClosePopover = () => setPopover(undefined);\n if (canHideOrOrder) {\n popoverElement = (popoverProps: PopoverProps) => (\n <HideOrOrderPopover\n {...popoverProps}\n id={`${id}-columnSettings`}\n open\n onChange={handleClosePopover}\n table={table}\n />\n );\n }\n }\n\n const handleOpenColumnSettings = React.useCallback(() => {\n // Wait until the menu click lifecycle finishes, otherwise the popover can instantly close\n // because the originating click is treated as an outside interaction.\n setTimeout(() => setPopover('columnSettings'));\n }, []);\n\n return (\n <>\n {popoverElement ? (\n <LegacyIconButton\n aria-label={texts.table.otherOptions.tooltip}\n id={id}\n icon=\"sliders\"\n popover={popoverElement}\n tooltip={texts.table.otherOptions.tooltip}\n />\n ) : (\n // With using of id/triggerId we can maintain the previous id contract (with \"...-toolbar-settings\" postfix), and avoid BaseUI to set random id for the trigger button.\n <Menu triggerId={id}>\n <Menu.Trigger id={id}>\n <LegacyIconButton\n aria-label={texts.table.otherOptions.tooltip}\n tooltip={texts.table.otherOptions.tooltip}\n icon=\"sliders\"\n />\n </Menu.Trigger>\n <Menu.Content align=\"end\">\n {canHideOrOrder ? (\n <Menu.Item aria-controls={`${id}-columnSettings`} icon=\"columns\" onClick={handleOpenColumnSettings}>\n {texts.table.columnSettings.button}\n </Menu.Item>\n ) : null}\n {canHideOrOrder && (canChangeRowHeight || canChangeFontSize || customSettings) ? (\n <Menu.Separator />\n ) : null}\n {canChangeRowHeight ? (\n <Menu.Item\n icon={`height-${tableMeta.rowHeight.height}` as IconName}\n subMenu={() => <RowHeightMenuItem tableMeta={tableMeta} />}>\n {texts.table.rowHeight.tooltip}\n </Menu.Item>\n ) : null}\n {canChangeFontSize ? (\n <Menu.Item icon=\"font-size\" subMenu={() => <FontSizeMenuItem tableMeta={tableMeta} />}>\n {texts.table.fontSize.tooltip}\n </Menu.Item>\n ) : null}\n\n {customSettings ? (\n <>\n {canChangeRowHeight || canChangeFontSize ? <Menu.Separator /> : null}\n {customSettings(getSettings(table)).map((item, index) => (\n <React.Fragment key={index}>{item}</React.Fragment>\n ))}\n </>\n ) : null}\n </Menu.Content>\n </Menu>\n )}\n </>\n );\n}\n\nfunction FontSizeMenuItem<TType = unknown>({ tableMeta }: { tableMeta: ReactTableMeta<TType> }) {\n const { texts } = useLocalization();\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={tableMeta.fontSize.setSize as any} value={tableMeta.fontSize.size}>\n <Menu.RadioGroup.Item value={FontSizes.small}>{texts.table.fontSize.sizes.small}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value={FontSizes.medium}>{texts.table.fontSize.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item disabled={tableMeta.rowHeight.height === 'short'} value={FontSizes.large}>\n {texts.table.fontSize.sizes.large}\n </Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n\nfunction RowHeightMenuItem<TType = unknown>({ tableMeta }: { tableMeta: ReactTableMeta<TType> }) {\n const { texts } = useLocalization();\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={tableMeta.rowHeight.setHeight as any} value={tableMeta.rowHeight.height}>\n <Menu.RadioGroup.Item value=\"short\">{texts.table.rowHeight.sizes.short}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"medium\">{texts.table.rowHeight.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"tall\">{texts.table.rowHeight.sizes.tall}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"extra-tall\">{texts.table.rowHeight.sizes.extraTall}</Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n"],"names":["useLocalization","HideOrOrderPopover","LegacyIconButton","Menu","getSettings","FontSizes"],"mappings":"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"}
1
+ {"version":3,"file":"Settings.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/Settings.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { IconName, PopoverProps } from '@/components';\nimport { LegacyIconButton, Menu, useLocalization } from '@/components';\nimport { FontSizes } from '@/types';\n\nimport type { TableCustomSettingsRenderer } from '../../../../../types';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\nimport { getSettings } from '../../../../../useTableManager/util/settings';\n\nimport { HideOrOrderPopover } from './HideOrOrderPopover';\n\nexport type SettingsProps<TType = unknown> = {\n customSettings?: TableCustomSettingsRenderer;\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function Settings<TType = unknown>(props: SettingsProps<TType>) {\n const { customSettings, id, table } = props;\n const { texts } = useLocalization();\n const tableMeta = getTableMeta(table);\n\n const canHideOrOrder = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;\n const canChangeFontSize = tableMeta.fontSize.isEnabled;\n const canChangeRowHeight = tableMeta.rowHeight.isEnabled;\n\n const [popover, setPopover] = React.useState<string | undefined>(undefined);\n\n let popoverElement;\n\n if (popover === 'columnSettings') {\n const handleClosePopover = () => setPopover(undefined);\n if (canHideOrOrder) {\n popoverElement = (popoverProps: PopoverProps) => (\n <HideOrOrderPopover\n {...popoverProps}\n id={`${id}-columnSettings`}\n open\n onChange={handleClosePopover}\n table={table}\n />\n );\n }\n }\n\n const handleOpenColumnSettings = React.useCallback(() => {\n // Wait until the menu click lifecycle finishes, otherwise the popover can instantly close\n // because the originating click is treated as an outside interaction.\n setTimeout(() => setPopover('columnSettings'));\n }, []);\n\n return (\n <>\n {popoverElement ? (\n <LegacyIconButton\n aria-label={texts.table.otherOptions.tooltip}\n id={id}\n icon=\"sliders\"\n popover={popoverElement}\n tooltip={texts.table.otherOptions.tooltip}\n />\n ) : (\n // With using of id/triggerId we can maintain the previous id contract (with \"...-toolbar-settings\" postfix), and avoid BaseUI to set random id for the trigger button.\n <Menu triggerId={id}>\n <Menu.Trigger id={id}>\n <LegacyIconButton\n aria-label={texts.table.otherOptions.tooltip}\n tooltip={texts.table.otherOptions.tooltip}\n icon=\"sliders\"\n />\n </Menu.Trigger>\n <Menu.Content align=\"end\">\n {canHideOrOrder ? (\n <Menu.Item aria-controls={`${id}-columnSettings`} icon=\"columns\" onClick={handleOpenColumnSettings}>\n {texts.table.columnSettings.button}\n </Menu.Item>\n ) : null}\n {canHideOrOrder && (canChangeRowHeight || canChangeFontSize || customSettings) ? (\n <Menu.Separator />\n ) : null}\n {canChangeRowHeight ? (\n <Menu.Item\n icon={`height-${tableMeta.rowHeight.height}` as IconName}\n subMenu={() => <RowHeightMenuItem tableMeta={tableMeta} />}>\n {texts.table.rowHeight.tooltip}\n </Menu.Item>\n ) : null}\n {canChangeFontSize ? (\n <Menu.Item icon=\"font-size\" subMenu={() => <FontSizeMenuItem tableMeta={tableMeta} />}>\n {texts.table.fontSize.tooltip}\n </Menu.Item>\n ) : null}\n\n {customSettings ? (\n <>\n {canChangeRowHeight || canChangeFontSize ? <Menu.Separator /> : null}\n {customSettings(getSettings(table)).map((item, index) => (\n <React.Fragment key={index}>{item}</React.Fragment>\n ))}\n </>\n ) : null}\n </Menu.Content>\n </Menu>\n )}\n </>\n );\n}\n\nfunction FontSizeMenuItem<TType = unknown>({ tableMeta }: { tableMeta: ReactTableMeta<TType> }) {\n const { texts } = useLocalization();\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={tableMeta.fontSize.setSize as any} value={tableMeta.fontSize.size}>\n <Menu.RadioGroup.Item value={FontSizes.small}>{texts.table.fontSize.sizes.small}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value={FontSizes.medium}>{texts.table.fontSize.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item disabled={tableMeta.rowHeight.height === 'short'} value={FontSizes.large}>\n {texts.table.fontSize.sizes.large}\n </Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n\nfunction RowHeightMenuItem<TType = unknown>({ tableMeta }: { tableMeta: ReactTableMeta<TType> }) {\n const { texts } = useLocalization();\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={tableMeta.rowHeight.setHeight as any} value={tableMeta.rowHeight.height}>\n <Menu.RadioGroup.Item value=\"short\">{texts.table.rowHeight.sizes.short}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"medium\">{texts.table.rowHeight.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"tall\">{texts.table.rowHeight.sizes.tall}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"extra-tall\">{texts.table.rowHeight.sizes.extraTall}</Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n"],"names":["useLocalization","getTableMeta","HideOrOrderPopover","LegacyIconButton","Menu","getSettings","FontSizes"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import React__default from "react";
2
2
  import { FontSizes } from "../../../../../../../types.js";
3
+ import { getTableMeta } from "../../../../../useTableManager/util/rows.js";
3
4
  import { getSettings } from "../../../../../useTableManager/util/settings.js";
4
5
  import { HideOrOrderPopover } from "./HideOrOrderPopover.js";
5
6
  import { useLocalization } from "../../../../../../../components/Provider/Localization.js";
@@ -8,7 +9,7 @@ import { Menu } from "../../../../../../../components/Menu/Menu.js";
8
9
  function Settings(props) {
9
10
  const { customSettings, id, table } = props;
10
11
  const { texts } = useLocalization();
11
- const tableMeta = table.options.meta;
12
+ const tableMeta = getTableMeta(table);
12
13
  const canHideOrOrder = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;
13
14
  const canChangeFontSize = tableMeta.fontSize.isEnabled;
14
15
  const canChangeRowHeight = tableMeta.rowHeight.isEnabled;
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/Settings.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { IconName, PopoverProps } from '@/components';\nimport { LegacyIconButton, Menu, useLocalization } from '@/components';\nimport { FontSizes } from '@/types';\n\nimport type { TableCustomSettingsRenderer } from '../../../../../types';\nimport { getSettings } from '../../../../../useTableManager/util/settings';\n\nimport { HideOrOrderPopover } from './HideOrOrderPopover';\n\nexport type SettingsProps<TType = unknown> = {\n customSettings?: TableCustomSettingsRenderer;\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function Settings<TType = unknown>(props: SettingsProps<TType>) {\n const { customSettings, id, table } = props;\n const { texts } = useLocalization();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const canHideOrOrder = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;\n const canChangeFontSize = tableMeta.fontSize.isEnabled;\n const canChangeRowHeight = tableMeta.rowHeight.isEnabled;\n\n const [popover, setPopover] = React.useState<string | undefined>(undefined);\n\n let popoverElement;\n\n if (popover === 'columnSettings') {\n const handleClosePopover = () => setPopover(undefined);\n if (canHideOrOrder) {\n popoverElement = (popoverProps: PopoverProps) => (\n <HideOrOrderPopover\n {...popoverProps}\n id={`${id}-columnSettings`}\n open\n onChange={handleClosePopover}\n table={table}\n />\n );\n }\n }\n\n const handleOpenColumnSettings = React.useCallback(() => {\n // Wait until the menu click lifecycle finishes, otherwise the popover can instantly close\n // because the originating click is treated as an outside interaction.\n setTimeout(() => setPopover('columnSettings'));\n }, []);\n\n return (\n <>\n {popoverElement ? (\n <LegacyIconButton\n aria-label={texts.table.otherOptions.tooltip}\n id={id}\n icon=\"sliders\"\n popover={popoverElement}\n tooltip={texts.table.otherOptions.tooltip}\n />\n ) : (\n // With using of id/triggerId we can maintain the previous id contract (with \"...-toolbar-settings\" postfix), and avoid BaseUI to set random id for the trigger button.\n <Menu triggerId={id}>\n <Menu.Trigger id={id}>\n <LegacyIconButton\n aria-label={texts.table.otherOptions.tooltip}\n tooltip={texts.table.otherOptions.tooltip}\n icon=\"sliders\"\n />\n </Menu.Trigger>\n <Menu.Content align=\"end\">\n {canHideOrOrder ? (\n <Menu.Item aria-controls={`${id}-columnSettings`} icon=\"columns\" onClick={handleOpenColumnSettings}>\n {texts.table.columnSettings.button}\n </Menu.Item>\n ) : null}\n {canHideOrOrder && (canChangeRowHeight || canChangeFontSize || customSettings) ? (\n <Menu.Separator />\n ) : null}\n {canChangeRowHeight ? (\n <Menu.Item\n icon={`height-${tableMeta.rowHeight.height}` as IconName}\n subMenu={() => <RowHeightMenuItem tableMeta={tableMeta} />}>\n {texts.table.rowHeight.tooltip}\n </Menu.Item>\n ) : null}\n {canChangeFontSize ? (\n <Menu.Item icon=\"font-size\" subMenu={() => <FontSizeMenuItem tableMeta={tableMeta} />}>\n {texts.table.fontSize.tooltip}\n </Menu.Item>\n ) : null}\n\n {customSettings ? (\n <>\n {canChangeRowHeight || canChangeFontSize ? <Menu.Separator /> : null}\n {customSettings(getSettings(table)).map((item, index) => (\n <React.Fragment key={index}>{item}</React.Fragment>\n ))}\n </>\n ) : null}\n </Menu.Content>\n </Menu>\n )}\n </>\n );\n}\n\nfunction FontSizeMenuItem<TType = unknown>({ tableMeta }: { tableMeta: ReactTableMeta<TType> }) {\n const { texts } = useLocalization();\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={tableMeta.fontSize.setSize as any} value={tableMeta.fontSize.size}>\n <Menu.RadioGroup.Item value={FontSizes.small}>{texts.table.fontSize.sizes.small}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value={FontSizes.medium}>{texts.table.fontSize.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item disabled={tableMeta.rowHeight.height === 'short'} value={FontSizes.large}>\n {texts.table.fontSize.sizes.large}\n </Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n\nfunction RowHeightMenuItem<TType = unknown>({ tableMeta }: { tableMeta: ReactTableMeta<TType> }) {\n const { texts } = useLocalization();\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={tableMeta.rowHeight.setHeight as any} value={tableMeta.rowHeight.height}>\n <Menu.RadioGroup.Item value=\"short\">{texts.table.rowHeight.sizes.short}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"medium\">{texts.table.rowHeight.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"tall\">{texts.table.rowHeight.sizes.tall}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"extra-tall\">{texts.table.rowHeight.sizes.extraTall}</Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"Settings.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/Settings.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { IconName, PopoverProps } from '@/components';\nimport { LegacyIconButton, Menu, useLocalization } from '@/components';\nimport { FontSizes } from '@/types';\n\nimport type { TableCustomSettingsRenderer } from '../../../../../types';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\nimport { getSettings } from '../../../../../useTableManager/util/settings';\n\nimport { HideOrOrderPopover } from './HideOrOrderPopover';\n\nexport type SettingsProps<TType = unknown> = {\n customSettings?: TableCustomSettingsRenderer;\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function Settings<TType = unknown>(props: SettingsProps<TType>) {\n const { customSettings, id, table } = props;\n const { texts } = useLocalization();\n const tableMeta = getTableMeta(table);\n\n const canHideOrOrder = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;\n const canChangeFontSize = tableMeta.fontSize.isEnabled;\n const canChangeRowHeight = tableMeta.rowHeight.isEnabled;\n\n const [popover, setPopover] = React.useState<string | undefined>(undefined);\n\n let popoverElement;\n\n if (popover === 'columnSettings') {\n const handleClosePopover = () => setPopover(undefined);\n if (canHideOrOrder) {\n popoverElement = (popoverProps: PopoverProps) => (\n <HideOrOrderPopover\n {...popoverProps}\n id={`${id}-columnSettings`}\n open\n onChange={handleClosePopover}\n table={table}\n />\n );\n }\n }\n\n const handleOpenColumnSettings = React.useCallback(() => {\n // Wait until the menu click lifecycle finishes, otherwise the popover can instantly close\n // because the originating click is treated as an outside interaction.\n setTimeout(() => setPopover('columnSettings'));\n }, []);\n\n return (\n <>\n {popoverElement ? (\n <LegacyIconButton\n aria-label={texts.table.otherOptions.tooltip}\n id={id}\n icon=\"sliders\"\n popover={popoverElement}\n tooltip={texts.table.otherOptions.tooltip}\n />\n ) : (\n // With using of id/triggerId we can maintain the previous id contract (with \"...-toolbar-settings\" postfix), and avoid BaseUI to set random id for the trigger button.\n <Menu triggerId={id}>\n <Menu.Trigger id={id}>\n <LegacyIconButton\n aria-label={texts.table.otherOptions.tooltip}\n tooltip={texts.table.otherOptions.tooltip}\n icon=\"sliders\"\n />\n </Menu.Trigger>\n <Menu.Content align=\"end\">\n {canHideOrOrder ? (\n <Menu.Item aria-controls={`${id}-columnSettings`} icon=\"columns\" onClick={handleOpenColumnSettings}>\n {texts.table.columnSettings.button}\n </Menu.Item>\n ) : null}\n {canHideOrOrder && (canChangeRowHeight || canChangeFontSize || customSettings) ? (\n <Menu.Separator />\n ) : null}\n {canChangeRowHeight ? (\n <Menu.Item\n icon={`height-${tableMeta.rowHeight.height}` as IconName}\n subMenu={() => <RowHeightMenuItem tableMeta={tableMeta} />}>\n {texts.table.rowHeight.tooltip}\n </Menu.Item>\n ) : null}\n {canChangeFontSize ? (\n <Menu.Item icon=\"font-size\" subMenu={() => <FontSizeMenuItem tableMeta={tableMeta} />}>\n {texts.table.fontSize.tooltip}\n </Menu.Item>\n ) : null}\n\n {customSettings ? (\n <>\n {canChangeRowHeight || canChangeFontSize ? <Menu.Separator /> : null}\n {customSettings(getSettings(table)).map((item, index) => (\n <React.Fragment key={index}>{item}</React.Fragment>\n ))}\n </>\n ) : null}\n </Menu.Content>\n </Menu>\n )}\n </>\n );\n}\n\nfunction FontSizeMenuItem<TType = unknown>({ tableMeta }: { tableMeta: ReactTableMeta<TType> }) {\n const { texts } = useLocalization();\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={tableMeta.fontSize.setSize as any} value={tableMeta.fontSize.size}>\n <Menu.RadioGroup.Item value={FontSizes.small}>{texts.table.fontSize.sizes.small}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value={FontSizes.medium}>{texts.table.fontSize.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item disabled={tableMeta.rowHeight.height === 'short'} value={FontSizes.large}>\n {texts.table.fontSize.sizes.large}\n </Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n\nfunction RowHeightMenuItem<TType = unknown>({ tableMeta }: { tableMeta: ReactTableMeta<TType> }) {\n const { texts } = useLocalization();\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={tableMeta.rowHeight.setHeight as any} value={tableMeta.rowHeight.height}>\n <Menu.RadioGroup.Item value=\"short\">{texts.table.rowHeight.sizes.short}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"medium\">{texts.table.rowHeight.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"tall\">{texts.table.rowHeight.sizes.tall}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"extra-tall\">{texts.table.rowHeight.sizes.extraTall}</Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n"],"names":["React"],"mappings":"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"}
@@ -4,7 +4,7 @@ const React = require("react");
4
4
  const dom = require("../../../../utils/dom.cjs");
5
5
  const rows = require("../../useTableManager/util/rows.cjs");
6
6
  function useTableGlobalShortcuts(table, tableRef, scrollToIndex, localShortcuts = false) {
7
- const tableMeta = table.options.meta;
7
+ const tableMeta = rows.getTableMeta(table);
8
8
  const rows$1 = table.getRowModel().rows;
9
9
  const dialogContainer = tableRef.current?.closest('[data-taco="dialog"]');
10
10
  const listenerTarget = localShortcuts ? tableRef.current : dialogContainer ?? document;
@@ -1 +1 @@
1
- {"version":3,"file":"useTableGlobalShortcuts.cjs","sources":["../../../../../src/primitives/Table/Core/features/useTableGlobalShortcuts.ts"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { isElementInsideExternalRelatedOverlay } from '@/utils/dom';\n\nimport type { TableRef } from '../../types';\nimport { getReachableRowCount } from '../../useTableManager/util/rows';\n\nexport function useTableGlobalShortcuts<TType = unknown>(\n table: ReactTable<TType>,\n tableRef: React.RefObject<TableRef>,\n scrollToIndex: (index: number) => void,\n localShortcuts = false\n) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const rows = table.getRowModel().rows;\n const dialogContainer = tableRef.current?.closest('[data-taco=\"dialog\"]');\n const listenerTarget = localShortcuts ? tableRef.current : (dialogContainer ?? document);\n\n React.useEffect(\n () => {\n const handleKeyDown = (event: Event) => {\n const trigger = event.target as HTMLElement;\n\n if (isElementInsideExternalRelatedOverlay(trigger, tableRef)) {\n return;\n }\n\n const reachableRows = getReachableRowCount(table);\n tableMeta.rowActive.handleKeyDown(event as KeyboardEvent, reachableRows, scrollToIndex);\n tableMeta.rowSelection.handleKeyDown(event as KeyboardEvent, table);\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n tableMeta.rowClick.handleKeyDown(event as KeyboardEvent, rows[tableMeta.rowActive.rowActiveIndex]?.original);\n }\n };\n\n listenerTarget?.addEventListener('keydown', handleKeyDown);\n\n return () => {\n listenerTarget?.removeEventListener('keydown', handleKeyDown);\n };\n },\n\n // scrollToIndex function changes when row count changes, so it is important to update handlers\n [tableRef.current, tableMeta.length, tableMeta.rowActive.rowActiveIndex, scrollToIndex]\n );\n}\n"],"names":["rows","isElementInsideExternalRelatedOverlay","getReachableRowCount"],"mappings":";;;;;AAQO,SAAS,wBACZ,OACA,UACA,eACA,iBAAiB,OACnB;AACE,QAAM,YAAY,MAAM,QAAQ;AAChC,QAAMA,SAAO,MAAM,YAAA,EAAc;AACjC,QAAM,kBAAkB,SAAS,SAAS,QAAQ,sBAAsB;AACxE,QAAM,iBAAiB,iBAAiB,SAAS,UAAW,mBAAmB;AAE/E,QAAM;AAAA,IACF,MAAM;AACF,YAAM,gBAAgB,CAAC,UAAiB;AACpC,cAAM,UAAU,MAAM;AAEtB,YAAIC,IAAAA,sCAAsC,SAAS,QAAQ,GAAG;AAC1D;AAAA,QACJ;AAEA,cAAM,gBAAgBC,KAAAA,qBAAqB,KAAK;AAChD,kBAAU,UAAU,cAAc,OAAwB,eAAe,aAAa;AACtF,kBAAU,aAAa,cAAc,OAAwB,KAAK;AAElE,YAAI,UAAU,UAAU,mBAAmB,QAAW;AAClD,oBAAU,SAAS,cAAc,OAAwBF,OAAK,UAAU,UAAU,cAAc,GAAG,QAAQ;AAAA,QAC/G;AAAA,MACJ;AAEA,sBAAgB,iBAAiB,WAAW,aAAa;AAEzD,aAAO,MAAM;AACT,wBAAgB,oBAAoB,WAAW,aAAa;AAAA,MAChE;AAAA,IACJ;AAAA;AAAA,IAGA,CAAC,SAAS,SAAS,UAAU,QAAQ,UAAU,UAAU,gBAAgB,aAAa;AAAA,EAAA;AAE9F;;"}
1
+ {"version":3,"file":"useTableGlobalShortcuts.cjs","sources":["../../../../../src/primitives/Table/Core/features/useTableGlobalShortcuts.ts"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { isElementInsideExternalRelatedOverlay } from '@/utils/dom';\n\nimport type { TableRef } from '../../types';\nimport { getReachableRowCount, getTableMeta } from '../../useTableManager/util/rows';\n\nexport function useTableGlobalShortcuts<TType = unknown>(\n table: ReactTable<TType>,\n tableRef: React.RefObject<TableRef>,\n scrollToIndex: (index: number) => void,\n localShortcuts = false\n) {\n const tableMeta = getTableMeta(table);\n const rows = table.getRowModel().rows;\n const dialogContainer = tableRef.current?.closest('[data-taco=\"dialog\"]');\n const listenerTarget = localShortcuts ? tableRef.current : (dialogContainer ?? document);\n\n React.useEffect(\n () => {\n const handleKeyDown = (event: Event) => {\n const trigger = event.target as HTMLElement;\n\n if (isElementInsideExternalRelatedOverlay(trigger, tableRef)) {\n return;\n }\n\n const reachableRows = getReachableRowCount(table);\n tableMeta.rowActive.handleKeyDown(event as KeyboardEvent, reachableRows, scrollToIndex);\n tableMeta.rowSelection.handleKeyDown(event as KeyboardEvent, table);\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n tableMeta.rowClick.handleKeyDown(event as KeyboardEvent, rows[tableMeta.rowActive.rowActiveIndex]?.original);\n }\n };\n\n listenerTarget?.addEventListener('keydown', handleKeyDown);\n\n return () => {\n listenerTarget?.removeEventListener('keydown', handleKeyDown);\n };\n },\n\n // scrollToIndex function changes when row count changes, so it is important to update handlers\n [tableRef.current, tableMeta.length, tableMeta.rowActive.rowActiveIndex, scrollToIndex]\n );\n}\n"],"names":["getTableMeta","rows","isElementInsideExternalRelatedOverlay","getReachableRowCount"],"mappings":";;;;;AAQO,SAAS,wBACZ,OACA,UACA,eACA,iBAAiB,OACnB;AACE,QAAM,YAAYA,KAAAA,aAAa,KAAK;AACpC,QAAMC,SAAO,MAAM,YAAA,EAAc;AACjC,QAAM,kBAAkB,SAAS,SAAS,QAAQ,sBAAsB;AACxE,QAAM,iBAAiB,iBAAiB,SAAS,UAAW,mBAAmB;AAE/E,QAAM;AAAA,IACF,MAAM;AACF,YAAM,gBAAgB,CAAC,UAAiB;AACpC,cAAM,UAAU,MAAM;AAEtB,YAAIC,IAAAA,sCAAsC,SAAS,QAAQ,GAAG;AAC1D;AAAA,QACJ;AAEA,cAAM,gBAAgBC,KAAAA,qBAAqB,KAAK;AAChD,kBAAU,UAAU,cAAc,OAAwB,eAAe,aAAa;AACtF,kBAAU,aAAa,cAAc,OAAwB,KAAK;AAElE,YAAI,UAAU,UAAU,mBAAmB,QAAW;AAClD,oBAAU,SAAS,cAAc,OAAwBF,OAAK,UAAU,UAAU,cAAc,GAAG,QAAQ;AAAA,QAC/G;AAAA,MACJ;AAEA,sBAAgB,iBAAiB,WAAW,aAAa;AAEzD,aAAO,MAAM;AACT,wBAAgB,oBAAoB,WAAW,aAAa;AAAA,MAChE;AAAA,IACJ;AAAA;AAAA,IAGA,CAAC,SAAS,SAAS,UAAU,QAAQ,UAAU,UAAU,gBAAgB,aAAa;AAAA,EAAA;AAE9F;;"}
@@ -1,8 +1,8 @@
1
1
  import React__default from "react";
2
2
  import { isElementInsideExternalRelatedOverlay } from "../../../../utils/dom.js";
3
- import { getReachableRowCount } from "../../useTableManager/util/rows.js";
3
+ import { getTableMeta, getReachableRowCount } from "../../useTableManager/util/rows.js";
4
4
  function useTableGlobalShortcuts(table, tableRef, scrollToIndex, localShortcuts = false) {
5
- const tableMeta = table.options.meta;
5
+ const tableMeta = getTableMeta(table);
6
6
  const rows = table.getRowModel().rows;
7
7
  const dialogContainer = tableRef.current?.closest('[data-taco="dialog"]');
8
8
  const listenerTarget = localShortcuts ? tableRef.current : dialogContainer ?? document;
@@ -1 +1 @@
1
- {"version":3,"file":"useTableGlobalShortcuts.js","sources":["../../../../../src/primitives/Table/Core/features/useTableGlobalShortcuts.ts"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { isElementInsideExternalRelatedOverlay } from '@/utils/dom';\n\nimport type { TableRef } from '../../types';\nimport { getReachableRowCount } from '../../useTableManager/util/rows';\n\nexport function useTableGlobalShortcuts<TType = unknown>(\n table: ReactTable<TType>,\n tableRef: React.RefObject<TableRef>,\n scrollToIndex: (index: number) => void,\n localShortcuts = false\n) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const rows = table.getRowModel().rows;\n const dialogContainer = tableRef.current?.closest('[data-taco=\"dialog\"]');\n const listenerTarget = localShortcuts ? tableRef.current : (dialogContainer ?? document);\n\n React.useEffect(\n () => {\n const handleKeyDown = (event: Event) => {\n const trigger = event.target as HTMLElement;\n\n if (isElementInsideExternalRelatedOverlay(trigger, tableRef)) {\n return;\n }\n\n const reachableRows = getReachableRowCount(table);\n tableMeta.rowActive.handleKeyDown(event as KeyboardEvent, reachableRows, scrollToIndex);\n tableMeta.rowSelection.handleKeyDown(event as KeyboardEvent, table);\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n tableMeta.rowClick.handleKeyDown(event as KeyboardEvent, rows[tableMeta.rowActive.rowActiveIndex]?.original);\n }\n };\n\n listenerTarget?.addEventListener('keydown', handleKeyDown);\n\n return () => {\n listenerTarget?.removeEventListener('keydown', handleKeyDown);\n };\n },\n\n // scrollToIndex function changes when row count changes, so it is important to update handlers\n [tableRef.current, tableMeta.length, tableMeta.rowActive.rowActiveIndex, scrollToIndex]\n );\n}\n"],"names":["React"],"mappings":";;;AAQO,SAAS,wBACZ,OACA,UACA,eACA,iBAAiB,OACnB;AACE,QAAM,YAAY,MAAM,QAAQ;AAChC,QAAM,OAAO,MAAM,YAAA,EAAc;AACjC,QAAM,kBAAkB,SAAS,SAAS,QAAQ,sBAAsB;AACxE,QAAM,iBAAiB,iBAAiB,SAAS,UAAW,mBAAmB;AAE/EA,iBAAM;AAAA,IACF,MAAM;AACF,YAAM,gBAAgB,CAAC,UAAiB;AACpC,cAAM,UAAU,MAAM;AAEtB,YAAI,sCAAsC,SAAS,QAAQ,GAAG;AAC1D;AAAA,QACJ;AAEA,cAAM,gBAAgB,qBAAqB,KAAK;AAChD,kBAAU,UAAU,cAAc,OAAwB,eAAe,aAAa;AACtF,kBAAU,aAAa,cAAc,OAAwB,KAAK;AAElE,YAAI,UAAU,UAAU,mBAAmB,QAAW;AAClD,oBAAU,SAAS,cAAc,OAAwB,KAAK,UAAU,UAAU,cAAc,GAAG,QAAQ;AAAA,QAC/G;AAAA,MACJ;AAEA,sBAAgB,iBAAiB,WAAW,aAAa;AAEzD,aAAO,MAAM;AACT,wBAAgB,oBAAoB,WAAW,aAAa;AAAA,MAChE;AAAA,IACJ;AAAA;AAAA,IAGA,CAAC,SAAS,SAAS,UAAU,QAAQ,UAAU,UAAU,gBAAgB,aAAa;AAAA,EAAA;AAE9F;"}
1
+ {"version":3,"file":"useTableGlobalShortcuts.js","sources":["../../../../../src/primitives/Table/Core/features/useTableGlobalShortcuts.ts"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { isElementInsideExternalRelatedOverlay } from '@/utils/dom';\n\nimport type { TableRef } from '../../types';\nimport { getReachableRowCount, getTableMeta } from '../../useTableManager/util/rows';\n\nexport function useTableGlobalShortcuts<TType = unknown>(\n table: ReactTable<TType>,\n tableRef: React.RefObject<TableRef>,\n scrollToIndex: (index: number) => void,\n localShortcuts = false\n) {\n const tableMeta = getTableMeta(table);\n const rows = table.getRowModel().rows;\n const dialogContainer = tableRef.current?.closest('[data-taco=\"dialog\"]');\n const listenerTarget = localShortcuts ? tableRef.current : (dialogContainer ?? document);\n\n React.useEffect(\n () => {\n const handleKeyDown = (event: Event) => {\n const trigger = event.target as HTMLElement;\n\n if (isElementInsideExternalRelatedOverlay(trigger, tableRef)) {\n return;\n }\n\n const reachableRows = getReachableRowCount(table);\n tableMeta.rowActive.handleKeyDown(event as KeyboardEvent, reachableRows, scrollToIndex);\n tableMeta.rowSelection.handleKeyDown(event as KeyboardEvent, table);\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n tableMeta.rowClick.handleKeyDown(event as KeyboardEvent, rows[tableMeta.rowActive.rowActiveIndex]?.original);\n }\n };\n\n listenerTarget?.addEventListener('keydown', handleKeyDown);\n\n return () => {\n listenerTarget?.removeEventListener('keydown', handleKeyDown);\n };\n },\n\n // scrollToIndex function changes when row count changes, so it is important to update handlers\n [tableRef.current, tableMeta.length, tableMeta.rowActive.rowActiveIndex, scrollToIndex]\n );\n}\n"],"names":["React"],"mappings":";;;AAQO,SAAS,wBACZ,OACA,UACA,eACA,iBAAiB,OACnB;AACE,QAAM,YAAY,aAAa,KAAK;AACpC,QAAM,OAAO,MAAM,YAAA,EAAc;AACjC,QAAM,kBAAkB,SAAS,SAAS,QAAQ,sBAAsB;AACxE,QAAM,iBAAiB,iBAAiB,SAAS,UAAW,mBAAmB;AAE/EA,iBAAM;AAAA,IACF,MAAM;AACF,YAAM,gBAAgB,CAAC,UAAiB;AACpC,cAAM,UAAU,MAAM;AAEtB,YAAI,sCAAsC,SAAS,QAAQ,GAAG;AAC1D;AAAA,QACJ;AAEA,cAAM,gBAAgB,qBAAqB,KAAK;AAChD,kBAAU,UAAU,cAAc,OAAwB,eAAe,aAAa;AACtF,kBAAU,aAAa,cAAc,OAAwB,KAAK;AAElE,YAAI,UAAU,UAAU,mBAAmB,QAAW;AAClD,oBAAU,SAAS,cAAc,OAAwB,KAAK,UAAU,UAAU,cAAc,GAAG,QAAQ;AAAA,QAC/G;AAAA,MACJ;AAEA,sBAAgB,iBAAiB,WAAW,aAAa;AAEzD,aAAO,MAAM;AACT,wBAAgB,oBAAoB,WAAW,aAAa;AAAA,MAChE;AAAA,IACJ;AAAA;AAAA,IAGA,CAAC,SAAS,SAAS,UAAU,QAAQ,UAAU,UAAU,gBAAgB,aAAa;AAAA,EAAA;AAE9F;"}
@@ -1,14 +1,15 @@
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
  function useTableRef(table, ref) {
5
6
  React.useEffect(() => {
6
7
  if (ref.current) {
7
- const tableMeta = table.options.meta;
8
+ const tableMeta = rows.getTableMeta(table);
8
9
  ref.current.instance = {
9
10
  resetFiltering: () => table.resetColumnFilters(),
10
11
  resetPagination: async () => {
11
- if (tableMeta?.server.resetPagination) {
12
+ if (tableMeta.server.resetPagination) {
12
13
  await tableMeta.server.resetPagination();
13
14
  ref.current?.scrollTo({ top: 0 });
14
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useTableRef.cjs","sources":["../../../../../src/primitives/Table/Core/features/useTableRef.ts"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { TableRef } from '../../types';\n\nexport function useTableRef<TType = unknown>(table: ReactTable<TType>, ref: React.RefObject<TableRef>) {\n React.useEffect(() => {\n if (ref.current) {\n const tableMeta = table.options.meta;\n\n ref.current.instance = {\n resetFiltering: () => table.resetColumnFilters(),\n resetPagination: async () => {\n if (tableMeta?.server.resetPagination) {\n await tableMeta.server.resetPagination();\n // the loaded pages are gone, so the viewport must return to the first page\n ref.current?.scrollTo({ top: 0 });\n }\n },\n resetRowExpansion: () => table.resetExpanded(),\n resetRowSelection: () => table.resetRowSelection(),\n resetSorting: () => table.resetSorting(),\n };\n }\n }, [table, ref.current]);\n}\n"],"names":[],"mappings":";;;AAKO,SAAS,YAA6B,OAA0B,KAAgC;AACnG,QAAM,UAAU,MAAM;AAClB,QAAI,IAAI,SAAS;AACb,YAAM,YAAY,MAAM,QAAQ;AAEhC,UAAI,QAAQ,WAAW;AAAA,QACnB,gBAAgB,MAAM,MAAM,mBAAA;AAAA,QAC5B,iBAAiB,YAAY;AACzB,cAAI,WAAW,OAAO,iBAAiB;AACnC,kBAAM,UAAU,OAAO,gBAAA;AAEvB,gBAAI,SAAS,SAAS,EAAE,KAAK,GAAG;AAAA,UACpC;AAAA,QACJ;AAAA,QACA,mBAAmB,MAAM,MAAM,cAAA;AAAA,QAC/B,mBAAmB,MAAM,MAAM,kBAAA;AAAA,QAC/B,cAAc,MAAM,MAAM,aAAA;AAAA,MAAa;AAAA,IAE/C;AAAA,EACJ,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;AAC3B;;"}
1
+ {"version":3,"file":"useTableRef.cjs","sources":["../../../../../src/primitives/Table/Core/features/useTableRef.ts"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { TableRef } from '../../types';\nimport { getTableMeta } from '../../useTableManager/util/rows';\n\nexport function useTableRef<TType = unknown>(table: ReactTable<TType>, ref: React.RefObject<TableRef>) {\n React.useEffect(() => {\n if (ref.current) {\n const tableMeta = getTableMeta(table);\n\n ref.current.instance = {\n resetFiltering: () => table.resetColumnFilters(),\n resetPagination: async () => {\n if (tableMeta.server.resetPagination) {\n await tableMeta.server.resetPagination();\n // the loaded pages are gone, so the viewport must return to the first page\n ref.current?.scrollTo({ top: 0 });\n }\n },\n resetRowExpansion: () => table.resetExpanded(),\n resetRowSelection: () => table.resetRowSelection(),\n resetSorting: () => table.resetSorting(),\n };\n }\n }, [table, ref.current]);\n}\n"],"names":["getTableMeta"],"mappings":";;;;AAMO,SAAS,YAA6B,OAA0B,KAAgC;AACnG,QAAM,UAAU,MAAM;AAClB,QAAI,IAAI,SAAS;AACb,YAAM,YAAYA,KAAAA,aAAa,KAAK;AAEpC,UAAI,QAAQ,WAAW;AAAA,QACnB,gBAAgB,MAAM,MAAM,mBAAA;AAAA,QAC5B,iBAAiB,YAAY;AACzB,cAAI,UAAU,OAAO,iBAAiB;AAClC,kBAAM,UAAU,OAAO,gBAAA;AAEvB,gBAAI,SAAS,SAAS,EAAE,KAAK,GAAG;AAAA,UACpC;AAAA,QACJ;AAAA,QACA,mBAAmB,MAAM,MAAM,cAAA;AAAA,QAC/B,mBAAmB,MAAM,MAAM,kBAAA;AAAA,QAC/B,cAAc,MAAM,MAAM,aAAA;AAAA,MAAa;AAAA,IAE/C;AAAA,EACJ,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;AAC3B;;"}
@@ -1,12 +1,13 @@
1
1
  import React__default from "react";
2
+ import { getTableMeta } from "../../useTableManager/util/rows.js";
2
3
  function useTableRef(table, ref) {
3
4
  React__default.useEffect(() => {
4
5
  if (ref.current) {
5
- const tableMeta = table.options.meta;
6
+ const tableMeta = getTableMeta(table);
6
7
  ref.current.instance = {
7
8
  resetFiltering: () => table.resetColumnFilters(),
8
9
  resetPagination: async () => {
9
- if (tableMeta?.server.resetPagination) {
10
+ if (tableMeta.server.resetPagination) {
10
11
  await tableMeta.server.resetPagination();
11
12
  ref.current?.scrollTo({ top: 0 });
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useTableRef.js","sources":["../../../../../src/primitives/Table/Core/features/useTableRef.ts"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { TableRef } from '../../types';\n\nexport function useTableRef<TType = unknown>(table: ReactTable<TType>, ref: React.RefObject<TableRef>) {\n React.useEffect(() => {\n if (ref.current) {\n const tableMeta = table.options.meta;\n\n ref.current.instance = {\n resetFiltering: () => table.resetColumnFilters(),\n resetPagination: async () => {\n if (tableMeta?.server.resetPagination) {\n await tableMeta.server.resetPagination();\n // the loaded pages are gone, so the viewport must return to the first page\n ref.current?.scrollTo({ top: 0 });\n }\n },\n resetRowExpansion: () => table.resetExpanded(),\n resetRowSelection: () => table.resetRowSelection(),\n resetSorting: () => table.resetSorting(),\n };\n }\n }, [table, ref.current]);\n}\n"],"names":["React"],"mappings":";AAKO,SAAS,YAA6B,OAA0B,KAAgC;AACnGA,iBAAM,UAAU,MAAM;AAClB,QAAI,IAAI,SAAS;AACb,YAAM,YAAY,MAAM,QAAQ;AAEhC,UAAI,QAAQ,WAAW;AAAA,QACnB,gBAAgB,MAAM,MAAM,mBAAA;AAAA,QAC5B,iBAAiB,YAAY;AACzB,cAAI,WAAW,OAAO,iBAAiB;AACnC,kBAAM,UAAU,OAAO,gBAAA;AAEvB,gBAAI,SAAS,SAAS,EAAE,KAAK,GAAG;AAAA,UACpC;AAAA,QACJ;AAAA,QACA,mBAAmB,MAAM,MAAM,cAAA;AAAA,QAC/B,mBAAmB,MAAM,MAAM,kBAAA;AAAA,QAC/B,cAAc,MAAM,MAAM,aAAA;AAAA,MAAa;AAAA,IAE/C;AAAA,EACJ,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;AAC3B;"}
1
+ {"version":3,"file":"useTableRef.js","sources":["../../../../../src/primitives/Table/Core/features/useTableRef.ts"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { TableRef } from '../../types';\nimport { getTableMeta } from '../../useTableManager/util/rows';\n\nexport function useTableRef<TType = unknown>(table: ReactTable<TType>, ref: React.RefObject<TableRef>) {\n React.useEffect(() => {\n if (ref.current) {\n const tableMeta = getTableMeta(table);\n\n ref.current.instance = {\n resetFiltering: () => table.resetColumnFilters(),\n resetPagination: async () => {\n if (tableMeta.server.resetPagination) {\n await tableMeta.server.resetPagination();\n // the loaded pages are gone, so the viewport must return to the first page\n ref.current?.scrollTo({ top: 0 });\n }\n },\n resetRowExpansion: () => table.resetExpanded(),\n resetRowSelection: () => table.resetRowSelection(),\n resetSorting: () => table.resetSorting(),\n };\n }\n }, [table, ref.current]);\n}\n"],"names":["React"],"mappings":";;AAMO,SAAS,YAA6B,OAA0B,KAAgC;AACnGA,iBAAM,UAAU,MAAM;AAClB,QAAI,IAAI,SAAS;AACb,YAAM,YAAY,aAAa,KAAK;AAEpC,UAAI,QAAQ,WAAW;AAAA,QACnB,gBAAgB,MAAM,MAAM,mBAAA;AAAA,QAC5B,iBAAiB,YAAY;AACzB,cAAI,UAAU,OAAO,iBAAiB;AAClC,kBAAM,UAAU,OAAO,gBAAA;AAEvB,gBAAI,SAAS,SAAS,EAAE,KAAK,GAAG;AAAA,UACpC;AAAA,QACJ;AAAA,QACA,mBAAmB,MAAM,MAAM,cAAA;AAAA,QAC/B,mBAAmB,MAAM,MAAM,kBAAA;AAAA,QAC/B,cAAc,MAAM,MAAM,aAAA;AAAA,MAAa;AAAA,IAE/C;AAAA,EACJ,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;AAC3B;"}