@shoplflow/templates 0.0.54 → 0.1.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.
package/dist/index.d.cts CHANGED
@@ -1,7 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { TextProps, TooltipProps, IconButtonProps, IconButton } from '@shoplflow/base';
3
3
  import { ChildrenProps } from '@shoplflow/base/src/utils/type/ComponentProps';
4
- import { ReactNode, ReactElement } from 'react';
4
+ import * as React$1 from 'react';
5
+ import React__default, { ReactNode, ReactElement, RefObject, Dispatch, SetStateAction, CSSProperties, ButtonHTMLAttributes } from 'react';
6
+ import { Table as Table$1, ColumnDef, Header, RowData, ColumnFilter } from '@tanstack/react-table';
7
+ export { createColumnHelper } from '@tanstack/react-table';
5
8
 
6
9
  declare type ActionsProps = {
7
10
  children: ReactNode;
@@ -66,4 +69,220 @@ declare const TitleGroup: {
66
69
  Description: ({ description, ...rest }: DescriptionProps) => react_jsx_runtime.JSX.Element;
67
70
  };
68
71
 
69
- export { ActionsProps, DescriptionProps, TitleGroup, TitleGroupHeaderProps, TitleGroupHelpIconProps, TitleGroupProps };
72
+ declare type TableContextType<T extends object> = {
73
+ table: Table$1<T>;
74
+ headerRef: RefObject<HTMLDivElement>;
75
+ bodyRef: RefObject<HTMLDivElement>;
76
+ footerRef: RefObject<HTMLDivElement>;
77
+ tableScrollRef: RefObject<HTMLDivElement>;
78
+ selectedRows?: T[];
79
+ onClickRow?: (row?: T) => void;
80
+ hasToolbar?: boolean;
81
+ hasFilterBar?: boolean;
82
+ hasPagination?: boolean;
83
+ columnResizing?: boolean;
84
+ filterValue: string;
85
+ setFilterValue: Dispatch<SetStateAction<string>>;
86
+ };
87
+
88
+ declare type TableProps<T extends object> = {
89
+ data: T[];
90
+ columns: Array<ColumnDef<T, any>>;
91
+ columnResizing?: boolean;
92
+ children: ReactNode;
93
+ manualPagination?: boolean;
94
+ manualFiltering?: boolean;
95
+ manualSorting?: boolean;
96
+ selectedRows?: T[];
97
+ onSelectedRowsChange?: (rows: T[]) => void;
98
+ onClickRow?: (data?: T) => void;
99
+ };
100
+ declare type TableMainProps = {
101
+ fixedColumns?: FixedColumn[];
102
+ useVirtualization?: boolean;
103
+ useColumnVirtualization?: boolean;
104
+ isSticky?: boolean;
105
+ stickyHeaderTopPosition?: number;
106
+ onClickRow?: (rowData: any) => void;
107
+ children?: ReactNode;
108
+ maxHeight?: string;
109
+ emptyRowCount?: number;
110
+ };
111
+ declare type TableToolbarProps = {
112
+ filterAccessor?: string;
113
+ children: (props: {
114
+ totalCount: number;
115
+ filterAccessor: string;
116
+ onSearch: (value: string) => void;
117
+ filterValue: string;
118
+ }) => ReactNode;
119
+ };
120
+ declare type TableHeadCellProps = {
121
+ header: Header<any, unknown>;
122
+ onFilterChange?: (value: string) => void;
123
+ onSortChange?: (direction: 'asc' | 'desc' | undefined) => void;
124
+ };
125
+ declare type PinningPosition = 'left' | 'right';
126
+ declare type FixedColumn = {
127
+ index: number;
128
+ position: PinningPosition;
129
+ };
130
+ declare type TablePaginationProps = {
131
+ total: number;
132
+ defaultPageSize: number;
133
+ children?: ReactNode;
134
+ pageSizeList?: Array<{
135
+ key: string;
136
+ label: string;
137
+ }>;
138
+ setCurrentPage?: (params: {
139
+ pageIndex: number;
140
+ pageSize: number;
141
+ }) => void;
142
+ notSizeOption?: boolean;
143
+ resetDependencies?: any[];
144
+ currentPage?: number;
145
+ };
146
+
147
+ declare type FilterChangeHandler = (value: string) => void;
148
+ declare type SortChangeHandler = (order: 'asc' | 'desc' | undefined) => void;
149
+ declare type GlobalFilterChangeHandler = (value: string) => void;
150
+ /**
151
+ * @typedef {Object} ColumnMeta 테이블 컬럼의 메타 데이터 타입 정의
152
+ * @property {'text' | 'range' | 'select'} [filterVariant] - 필터 입력 타입
153
+ * @property {Array<{label: string, value: string}>} [filterOptions] - select 타입 필터의 옵션 목록
154
+ * @property {string[]} [sortLabels] - 정렬 라벨 목록
155
+ * @property {{style?: CSSProperties}} [headerProps] - 헤더 셀의 스타일 속성
156
+ * @property {{style?: CSSProperties}} [cellProps] - 데이터 셀의 스타일 속성
157
+ * @property {(value: string) => void} [onFilterChange] - 필터 값 변경 핸들러
158
+ * @property {(order: 'asc' | 'desc' | undefined) => void} [onSortChange] - 정렬 순서 변경 핸들러
159
+ * @property {(value: string) => void} [onGlobalFilterChange] - 전역 필터 값 변경 핸들러
160
+ * @property {boolean} [activeHover] - 행 호버 효과 활성화 여부
161
+ */
162
+ declare module '@tanstack/react-table' {
163
+ interface TableMeta<TData extends RowData> {
164
+ onGlobalFilterChange?: GlobalFilterChangeHandler;
165
+ }
166
+ interface ColumnMeta<TData extends RowData, TValue> {
167
+ filterVariant?: 'text' | 'range' | 'select';
168
+ filterOptions?: Array<{
169
+ icon?: ReactElement;
170
+ label: string;
171
+ value: string;
172
+ }>;
173
+ sortLabels?: string[];
174
+ headerProps?: {
175
+ style?: CSSProperties;
176
+ };
177
+ cellProps?: {
178
+ style?: CSSProperties;
179
+ };
180
+ onFilterChange?: FilterChangeHandler;
181
+ onSortChange?: SortChangeHandler;
182
+ onGlobalFilterChange?: GlobalFilterChangeHandler;
183
+ activeHover?: boolean;
184
+ hiddenColumn?: boolean;
185
+ isLastColumn?: boolean;
186
+ }
187
+ }
188
+ /**
189
+ * 테이블 컴포넌트
190
+ * @component
191
+ * @template T - 테이블 데이터의 타입
192
+ * @param {Object} props - 컴포넌트 props
193
+ * @param {T[]} props.data - 테이블에 표시할 데이터 배열
194
+ * @param {Array<ColumnDef<T>>} props.columns - 테이블 컬럼 정의 배열
195
+ * @param {boolean} [props.columnResizing=false] - 컬럼 리사이징 활성화 여부
196
+ * @param {ReactNode} props.children - 테이블 내부에 렌더링할 자식 컴포넌트
197
+ * @param {boolean} [props.manualPagination=false] - 수동 페이지네이션 사용 여부
198
+ * @param {T[]} [props.selectedRows=[]] - 선택된 행 데이터 배열
199
+ * @param {Function} [props.onSelectedRowsChange] - 선택된 행이 변경될 때 호출되는 콜백 함수
200
+ * @param {Function} [props.onClickRow] - 행 클릭 시 호출되는 콜백 함수
201
+ * @returns {JSX.Element} 렌더링된 테이블 컴포넌트
202
+ */
203
+ declare const Table: <T extends object>({ data, columns, columnResizing, children, manualPagination, manualFiltering, manualSorting, selectedRows, onSelectedRowsChange, onClickRow, }: TableProps<T>) => react_jsx_runtime.JSX.Element;
204
+
205
+ /**
206
+ * 테이블의 페이지네이션을 처리하는 컴포넌트
207
+ * @component
208
+ * @param {Object} props - 컴포넌트 props
209
+ * @param {number} props.total - 전체 데이터 수
210
+ * @param {number} props.defaultPageSize - 기본 페이지 크기
211
+ * @param {ReactNode} props.children - 페이지네이션 내부에 렌더링할 자식 컴포넌트
212
+ * @param {number[]} [props.pageSizeList] - 페이지 크기 선택 옵션 리스트
213
+ * @param {Function} [props.setCurrentPage] - 현재 페이지 변경 콜백 함수
214
+ * @param {boolean} [props.notSizeOption] - 페이지 크기 선택 옵션 표시 여부
215
+ * @param {number} [props.currentPage] - 현재 페이지 인덱스
216
+ * @returns {JSX.Element} 렌더링된 페이지네이션 컴포넌트
217
+ */
218
+ declare const TablePagination: ({ total, defaultPageSize, children, pageSizeList, setCurrentPage, notSizeOption, currentPage, }: TablePaginationProps) => react_jsx_runtime.JSX.Element;
219
+
220
+ /**
221
+ * 테이블의 툴바를 렌더링하는 컴포넌트
222
+ * @component
223
+ * @param {Object} props - 컴포넌트 props
224
+ * @param {string} [props.filterAccessor] - 필터링할 컬럼의 accessor
225
+ * @param {Function} props.children - 툴바 내부에 렌더링할 자식 컴포넌트를 반환하는 함수
226
+ * @param {number} props.children.totalCount - 전체 데이터 수
227
+ * @param {string} props.children.filterAccessor - 필터링할 컬럼의 accessor
228
+ * @param {Function} props.children.onSearch - 검색 이벤트 핸들러
229
+ * @param {string} props.children.filterValue - 현재 필터 값
230
+ * @returns {JSX.Element} 렌더링된 툴바 컴포넌트
231
+ */
232
+ declare const TableToolbar: ({ children, filterAccessor }: TableToolbarProps) => react_jsx_runtime.JSX.Element;
233
+
234
+ /**
235
+ * 테이블의 메인 렌더링을 처리하는 컴포넌트
236
+ * @component
237
+ * @param {Object} props - 컴포넌트 props
238
+ * @param {Array<string>} [props.fixedColumns=[]] - 고정/핀 처리할 컬럼 ID 배열
239
+ * @param {boolean} [props.useVirtualization=true] - 대용량 데이터 처리를 위한 가상화 사용 여부
240
+ * @param {boolean} [props.isSticky=true] - 스크롤 시 헤더 고정 여부
241
+ * @param {number} [props.stickyHeaderTopPosition=120] - 고정 헤더의 상단 위치(픽셀)
242
+ * @param {ReactNode} props.children - 테이블 내부에 렌더링할 자식 컴포넌트
243
+ * @param {number} [props.emptyRowCount=8] - 빈 행 수
244
+ * @returns {JSX.Element} 렌더링된 테이블 컴포넌트
245
+ */
246
+ declare const TableMain: ({ fixedColumns, useVirtualization, isSticky, stickyHeaderTopPosition, children, maxHeight, emptyRowCount, }: TableMainProps) => react_jsx_runtime.JSX.Element;
247
+
248
+ declare type TableEmptyProps = {
249
+ children?: React__default.ReactNode;
250
+ };
251
+ declare const TableEmpty: ({ children }: TableEmptyProps) => react_jsx_runtime.JSX.Element;
252
+
253
+ declare const TableColumnVisibility: () => react_jsx_runtime.JSX.Element;
254
+
255
+ /**
256
+ * 테이블 필터 바 컴포넌트
257
+ * @component
258
+ * @returns {JSX.Element} 필터 바 렌더링
259
+ */
260
+ declare const TableFilterBar: React$1.MemoExoticComponent<({ outsideFilters }: {
261
+ outsideFilters?: ColumnFilter[] | undefined;
262
+ }) => react_jsx_runtime.JSX.Element>;
263
+
264
+ declare type TableButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
265
+ leftSource?: ReactNode;
266
+ children: string;
267
+ rightSource?: ReactNode;
268
+ };
269
+ declare const TableButton: ({ children, leftSource, rightSource, ...buttonProps }: TableButtonProps) => react_jsx_runtime.JSX.Element;
270
+
271
+ declare type TableBadgeProps = {
272
+ children: ReactNode;
273
+ };
274
+ declare const TableBadge: ({ children }: TableBadgeProps) => react_jsx_runtime.JSX.Element;
275
+
276
+ declare type TableComponentType = typeof Table & {
277
+ Toolbar: typeof TableToolbar;
278
+ FilterBar: typeof TableFilterBar;
279
+ Main: typeof TableMain;
280
+ Pagination: typeof TablePagination;
281
+ Empty: typeof TableEmpty;
282
+ ColumnVisibility: typeof TableColumnVisibility;
283
+ Button: typeof TableButton;
284
+ Badge: typeof TableBadge;
285
+ };
286
+ declare const TableComponent: TableComponentType;
287
+
288
+ export { ActionsProps, DescriptionProps, FixedColumn, PinningPosition, TableComponent as Table, TableBadge, TableButton, TableContextType, TableHeadCellProps, TableMainProps, TablePaginationProps, TableProps, TableToolbarProps, TitleGroup, TitleGroupHeaderProps, TitleGroupHelpIconProps, TitleGroupProps };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { TextProps, TooltipProps, IconButtonProps, IconButton } from '@shoplflow/base';
3
3
  import { ChildrenProps } from '@shoplflow/base/src/utils/type/ComponentProps';
4
- import { ReactNode, ReactElement } from 'react';
4
+ import * as React$1 from 'react';
5
+ import React__default, { ReactNode, ReactElement, RefObject, Dispatch, SetStateAction, CSSProperties, ButtonHTMLAttributes } from 'react';
6
+ import { Table as Table$1, ColumnDef, Header, RowData, ColumnFilter } from '@tanstack/react-table';
7
+ export { createColumnHelper } from '@tanstack/react-table';
5
8
 
6
9
  declare type ActionsProps = {
7
10
  children: ReactNode;
@@ -66,4 +69,220 @@ declare const TitleGroup: {
66
69
  Description: ({ description, ...rest }: DescriptionProps) => react_jsx_runtime.JSX.Element;
67
70
  };
68
71
 
69
- export { ActionsProps, DescriptionProps, TitleGroup, TitleGroupHeaderProps, TitleGroupHelpIconProps, TitleGroupProps };
72
+ declare type TableContextType<T extends object> = {
73
+ table: Table$1<T>;
74
+ headerRef: RefObject<HTMLDivElement>;
75
+ bodyRef: RefObject<HTMLDivElement>;
76
+ footerRef: RefObject<HTMLDivElement>;
77
+ tableScrollRef: RefObject<HTMLDivElement>;
78
+ selectedRows?: T[];
79
+ onClickRow?: (row?: T) => void;
80
+ hasToolbar?: boolean;
81
+ hasFilterBar?: boolean;
82
+ hasPagination?: boolean;
83
+ columnResizing?: boolean;
84
+ filterValue: string;
85
+ setFilterValue: Dispatch<SetStateAction<string>>;
86
+ };
87
+
88
+ declare type TableProps<T extends object> = {
89
+ data: T[];
90
+ columns: Array<ColumnDef<T, any>>;
91
+ columnResizing?: boolean;
92
+ children: ReactNode;
93
+ manualPagination?: boolean;
94
+ manualFiltering?: boolean;
95
+ manualSorting?: boolean;
96
+ selectedRows?: T[];
97
+ onSelectedRowsChange?: (rows: T[]) => void;
98
+ onClickRow?: (data?: T) => void;
99
+ };
100
+ declare type TableMainProps = {
101
+ fixedColumns?: FixedColumn[];
102
+ useVirtualization?: boolean;
103
+ useColumnVirtualization?: boolean;
104
+ isSticky?: boolean;
105
+ stickyHeaderTopPosition?: number;
106
+ onClickRow?: (rowData: any) => void;
107
+ children?: ReactNode;
108
+ maxHeight?: string;
109
+ emptyRowCount?: number;
110
+ };
111
+ declare type TableToolbarProps = {
112
+ filterAccessor?: string;
113
+ children: (props: {
114
+ totalCount: number;
115
+ filterAccessor: string;
116
+ onSearch: (value: string) => void;
117
+ filterValue: string;
118
+ }) => ReactNode;
119
+ };
120
+ declare type TableHeadCellProps = {
121
+ header: Header<any, unknown>;
122
+ onFilterChange?: (value: string) => void;
123
+ onSortChange?: (direction: 'asc' | 'desc' | undefined) => void;
124
+ };
125
+ declare type PinningPosition = 'left' | 'right';
126
+ declare type FixedColumn = {
127
+ index: number;
128
+ position: PinningPosition;
129
+ };
130
+ declare type TablePaginationProps = {
131
+ total: number;
132
+ defaultPageSize: number;
133
+ children?: ReactNode;
134
+ pageSizeList?: Array<{
135
+ key: string;
136
+ label: string;
137
+ }>;
138
+ setCurrentPage?: (params: {
139
+ pageIndex: number;
140
+ pageSize: number;
141
+ }) => void;
142
+ notSizeOption?: boolean;
143
+ resetDependencies?: any[];
144
+ currentPage?: number;
145
+ };
146
+
147
+ declare type FilterChangeHandler = (value: string) => void;
148
+ declare type SortChangeHandler = (order: 'asc' | 'desc' | undefined) => void;
149
+ declare type GlobalFilterChangeHandler = (value: string) => void;
150
+ /**
151
+ * @typedef {Object} ColumnMeta 테이블 컬럼의 메타 데이터 타입 정의
152
+ * @property {'text' | 'range' | 'select'} [filterVariant] - 필터 입력 타입
153
+ * @property {Array<{label: string, value: string}>} [filterOptions] - select 타입 필터의 옵션 목록
154
+ * @property {string[]} [sortLabels] - 정렬 라벨 목록
155
+ * @property {{style?: CSSProperties}} [headerProps] - 헤더 셀의 스타일 속성
156
+ * @property {{style?: CSSProperties}} [cellProps] - 데이터 셀의 스타일 속성
157
+ * @property {(value: string) => void} [onFilterChange] - 필터 값 변경 핸들러
158
+ * @property {(order: 'asc' | 'desc' | undefined) => void} [onSortChange] - 정렬 순서 변경 핸들러
159
+ * @property {(value: string) => void} [onGlobalFilterChange] - 전역 필터 값 변경 핸들러
160
+ * @property {boolean} [activeHover] - 행 호버 효과 활성화 여부
161
+ */
162
+ declare module '@tanstack/react-table' {
163
+ interface TableMeta<TData extends RowData> {
164
+ onGlobalFilterChange?: GlobalFilterChangeHandler;
165
+ }
166
+ interface ColumnMeta<TData extends RowData, TValue> {
167
+ filterVariant?: 'text' | 'range' | 'select';
168
+ filterOptions?: Array<{
169
+ icon?: ReactElement;
170
+ label: string;
171
+ value: string;
172
+ }>;
173
+ sortLabels?: string[];
174
+ headerProps?: {
175
+ style?: CSSProperties;
176
+ };
177
+ cellProps?: {
178
+ style?: CSSProperties;
179
+ };
180
+ onFilterChange?: FilterChangeHandler;
181
+ onSortChange?: SortChangeHandler;
182
+ onGlobalFilterChange?: GlobalFilterChangeHandler;
183
+ activeHover?: boolean;
184
+ hiddenColumn?: boolean;
185
+ isLastColumn?: boolean;
186
+ }
187
+ }
188
+ /**
189
+ * 테이블 컴포넌트
190
+ * @component
191
+ * @template T - 테이블 데이터의 타입
192
+ * @param {Object} props - 컴포넌트 props
193
+ * @param {T[]} props.data - 테이블에 표시할 데이터 배열
194
+ * @param {Array<ColumnDef<T>>} props.columns - 테이블 컬럼 정의 배열
195
+ * @param {boolean} [props.columnResizing=false] - 컬럼 리사이징 활성화 여부
196
+ * @param {ReactNode} props.children - 테이블 내부에 렌더링할 자식 컴포넌트
197
+ * @param {boolean} [props.manualPagination=false] - 수동 페이지네이션 사용 여부
198
+ * @param {T[]} [props.selectedRows=[]] - 선택된 행 데이터 배열
199
+ * @param {Function} [props.onSelectedRowsChange] - 선택된 행이 변경될 때 호출되는 콜백 함수
200
+ * @param {Function} [props.onClickRow] - 행 클릭 시 호출되는 콜백 함수
201
+ * @returns {JSX.Element} 렌더링된 테이블 컴포넌트
202
+ */
203
+ declare const Table: <T extends object>({ data, columns, columnResizing, children, manualPagination, manualFiltering, manualSorting, selectedRows, onSelectedRowsChange, onClickRow, }: TableProps<T>) => react_jsx_runtime.JSX.Element;
204
+
205
+ /**
206
+ * 테이블의 페이지네이션을 처리하는 컴포넌트
207
+ * @component
208
+ * @param {Object} props - 컴포넌트 props
209
+ * @param {number} props.total - 전체 데이터 수
210
+ * @param {number} props.defaultPageSize - 기본 페이지 크기
211
+ * @param {ReactNode} props.children - 페이지네이션 내부에 렌더링할 자식 컴포넌트
212
+ * @param {number[]} [props.pageSizeList] - 페이지 크기 선택 옵션 리스트
213
+ * @param {Function} [props.setCurrentPage] - 현재 페이지 변경 콜백 함수
214
+ * @param {boolean} [props.notSizeOption] - 페이지 크기 선택 옵션 표시 여부
215
+ * @param {number} [props.currentPage] - 현재 페이지 인덱스
216
+ * @returns {JSX.Element} 렌더링된 페이지네이션 컴포넌트
217
+ */
218
+ declare const TablePagination: ({ total, defaultPageSize, children, pageSizeList, setCurrentPage, notSizeOption, currentPage, }: TablePaginationProps) => react_jsx_runtime.JSX.Element;
219
+
220
+ /**
221
+ * 테이블의 툴바를 렌더링하는 컴포넌트
222
+ * @component
223
+ * @param {Object} props - 컴포넌트 props
224
+ * @param {string} [props.filterAccessor] - 필터링할 컬럼의 accessor
225
+ * @param {Function} props.children - 툴바 내부에 렌더링할 자식 컴포넌트를 반환하는 함수
226
+ * @param {number} props.children.totalCount - 전체 데이터 수
227
+ * @param {string} props.children.filterAccessor - 필터링할 컬럼의 accessor
228
+ * @param {Function} props.children.onSearch - 검색 이벤트 핸들러
229
+ * @param {string} props.children.filterValue - 현재 필터 값
230
+ * @returns {JSX.Element} 렌더링된 툴바 컴포넌트
231
+ */
232
+ declare const TableToolbar: ({ children, filterAccessor }: TableToolbarProps) => react_jsx_runtime.JSX.Element;
233
+
234
+ /**
235
+ * 테이블의 메인 렌더링을 처리하는 컴포넌트
236
+ * @component
237
+ * @param {Object} props - 컴포넌트 props
238
+ * @param {Array<string>} [props.fixedColumns=[]] - 고정/핀 처리할 컬럼 ID 배열
239
+ * @param {boolean} [props.useVirtualization=true] - 대용량 데이터 처리를 위한 가상화 사용 여부
240
+ * @param {boolean} [props.isSticky=true] - 스크롤 시 헤더 고정 여부
241
+ * @param {number} [props.stickyHeaderTopPosition=120] - 고정 헤더의 상단 위치(픽셀)
242
+ * @param {ReactNode} props.children - 테이블 내부에 렌더링할 자식 컴포넌트
243
+ * @param {number} [props.emptyRowCount=8] - 빈 행 수
244
+ * @returns {JSX.Element} 렌더링된 테이블 컴포넌트
245
+ */
246
+ declare const TableMain: ({ fixedColumns, useVirtualization, isSticky, stickyHeaderTopPosition, children, maxHeight, emptyRowCount, }: TableMainProps) => react_jsx_runtime.JSX.Element;
247
+
248
+ declare type TableEmptyProps = {
249
+ children?: React__default.ReactNode;
250
+ };
251
+ declare const TableEmpty: ({ children }: TableEmptyProps) => react_jsx_runtime.JSX.Element;
252
+
253
+ declare const TableColumnVisibility: () => react_jsx_runtime.JSX.Element;
254
+
255
+ /**
256
+ * 테이블 필터 바 컴포넌트
257
+ * @component
258
+ * @returns {JSX.Element} 필터 바 렌더링
259
+ */
260
+ declare const TableFilterBar: React$1.MemoExoticComponent<({ outsideFilters }: {
261
+ outsideFilters?: ColumnFilter[] | undefined;
262
+ }) => react_jsx_runtime.JSX.Element>;
263
+
264
+ declare type TableButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
265
+ leftSource?: ReactNode;
266
+ children: string;
267
+ rightSource?: ReactNode;
268
+ };
269
+ declare const TableButton: ({ children, leftSource, rightSource, ...buttonProps }: TableButtonProps) => react_jsx_runtime.JSX.Element;
270
+
271
+ declare type TableBadgeProps = {
272
+ children: ReactNode;
273
+ };
274
+ declare const TableBadge: ({ children }: TableBadgeProps) => react_jsx_runtime.JSX.Element;
275
+
276
+ declare type TableComponentType = typeof Table & {
277
+ Toolbar: typeof TableToolbar;
278
+ FilterBar: typeof TableFilterBar;
279
+ Main: typeof TableMain;
280
+ Pagination: typeof TablePagination;
281
+ Empty: typeof TableEmpty;
282
+ ColumnVisibility: typeof TableColumnVisibility;
283
+ Button: typeof TableButton;
284
+ Badge: typeof TableBadge;
285
+ };
286
+ declare const TableComponent: TableComponentType;
287
+
288
+ export { ActionsProps, DescriptionProps, FixedColumn, PinningPosition, TableComponent as Table, TableBadge, TableButton, TableContextType, TableHeadCellProps, TableMainProps, TablePaginationProps, TableProps, TableToolbarProps, TitleGroup, TitleGroupHeaderProps, TitleGroupHelpIconProps, TitleGroupProps };