diff --git a/packages/gitbook/src/components/DocumentView/Table/RecordRow.tsx b/packages/gitbook/src/components/DocumentView/Table/RecordRow.tsx index 4491f4760..2e4a15933 100644 --- a/packages/gitbook/src/components/DocumentView/Table/RecordRow.tsx +++ b/packages/gitbook/src/components/DocumentView/Table/RecordRow.tsx @@ -5,7 +5,6 @@ import { tcls } from '@/lib/tailwind'; import { RecordColumnValue } from './RecordColumnValue'; import type { TableRecordKV, TableViewProps } from './Table'; import { getColumnWidth } from './layout'; -import styles from './table.module.css'; import { getColumnVerticalAlignment } from './utils'; export function RecordRow( @@ -18,7 +17,15 @@ export function RecordRow( const { view, autoSizedColumns, fixedColumns, block, context } = props; return ( -
+
{view.columns.map((column) => { const columnWidth = getColumnWidth({ column, @@ -33,7 +40,10 @@ export function RecordRow(
bodyScrollElement.clientWidth + 1 }`; }, []); + useLayoutEffect(() => { syncStickyLayout(); + }, [syncStickyLayout]); + useScrollListener(syncStickyLayout, bodyScrollRef); + + useEffect(() => { const elements = [bodyScrollRef.current, bodyTableRef.current].filter( (element): element is HTMLDivElement => Boolean(element) ); @@ -70,10 +76,28 @@ export function StickyViewGrid({ className, header, children }: StickyViewGridPr return (
-
-
+
+
{header} @@ -82,8 +106,12 @@ export function StickyViewGrid({ className, header, children }: StickyViewGridPr
{children} diff --git a/packages/gitbook/src/components/DocumentView/Table/Table.tsx b/packages/gitbook/src/components/DocumentView/Table/Table.tsx index 26c9c07b9..228c738d5 100644 --- a/packages/gitbook/src/components/DocumentView/Table/Table.tsx +++ b/packages/gitbook/src/components/DocumentView/Table/Table.tsx @@ -51,12 +51,20 @@ export function Table(props: BlockProps) { if (withStickyHeader) { return (
} @@ -67,8 +75,13 @@ export function Table(props: BlockProps) { } return ( -
-
+
+
diff --git a/packages/gitbook/src/components/DocumentView/Table/ViewGrid.tsx b/packages/gitbook/src/components/DocumentView/Table/ViewGrid.tsx index 1672ffc38..dde835a60 100644 --- a/packages/gitbook/src/components/DocumentView/Table/ViewGrid.tsx +++ b/packages/gitbook/src/components/DocumentView/Table/ViewGrid.tsx @@ -5,7 +5,6 @@ import { tcls } from '@/lib/tailwind'; import { RecordRow } from './RecordRow'; import type { TableViewProps } from './Table'; import { getColumnWidth, getViewGridLayout } from './layout'; -import styles from './table.module.css'; import { getColumnAlignment } from './utils'; export function ViewGridHeader( @@ -19,7 +18,14 @@ export function ViewGridHeader( }); return ( -
+
{view.columns.map((column) => { const definition = block.data.definition[column]; @@ -31,7 +37,10 @@ export function ViewGridHeader(