From 0340b60bd9d736833fd74ff2c0f9b61b965388eb Mon Sep 17 00:00:00 2001 From: Jordan Christiansen Date: Thu, 13 Jan 2022 11:43:56 -0600 Subject: [PATCH] fix: footer circular dependency --- src/Footer/Cell.tsx | 2 +- src/Footer/Summary.tsx | 11 ++++++++++- src/Footer/index.tsx | 8 +------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Footer/Cell.tsx b/src/Footer/Cell.tsx index ba0ffff44..1efaae93d 100644 --- a/src/Footer/Cell.tsx +++ b/src/Footer/Cell.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { SummaryContext } from '.'; +import { SummaryContext } from './Summary'; import Cell from '../Cell'; import TableContext from '../context/TableContext'; import type { AlignType } from '../interface'; diff --git a/src/Footer/Summary.tsx b/src/Footer/Summary.tsx index dbf0e10e1..abec05b65 100644 --- a/src/Footer/Summary.tsx +++ b/src/Footer/Summary.tsx @@ -1,6 +1,15 @@ -import type * as React from 'react'; +import * as React from 'react'; import Cell from './Cell'; import Row from './Row'; +import type { ColumnType, StickyOffsets } from '../interface'; + +type FlattenColumns = readonly (ColumnType & { scrollbar?: boolean })[]; + +export const SummaryContext = React.createContext<{ + stickyOffsets?: StickyOffsets; + scrollColumnIndex?: number; + flattenColumns?: FlattenColumns; +}>({}); export interface SummaryProps { fixed?: boolean | 'top' | 'bottom'; diff --git a/src/Footer/index.tsx b/src/Footer/index.tsx index 6fae4da98..0e5fc7903 100644 --- a/src/Footer/index.tsx +++ b/src/Footer/index.tsx @@ -1,16 +1,10 @@ import * as React from 'react'; import TableContext from '../context/TableContext'; -import Summary from './Summary'; +import Summary, { SummaryContext } from './Summary'; import type { ColumnType, StickyOffsets } from '../interface'; type FlattenColumns = readonly (ColumnType & { scrollbar?: boolean })[]; -export const SummaryContext = React.createContext<{ - stickyOffsets?: StickyOffsets; - scrollColumnIndex?: number; - flattenColumns?: FlattenColumns; -}>({}); - export interface FooterProps { children: React.ReactNode; stickyOffsets: StickyOffsets;