@croquiscom/pds 12.2.3 → 12.3.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/CHANGELOG.md +7 -0
- package/dist/components/button/TextButton.d.ts +2 -0
- package/dist/components/button/TextButton.stories.d.ts +1 -0
- package/dist/components/table/DataTable.d.ts +6 -0
- package/dist/components/table/DataTable.stories.d.ts +1 -0
- package/dist/components/table/DataTableHeader.d.ts +2 -2
- package/dist/components/table/DataTableRow.d.ts +5 -1
- package/dist/components/table/DataTableRows.d.ts +6 -3
- package/dist/components/table/constants.d.ts +1 -0
- package/dist/components/table/storybook-helper/expandTableData.d.ts +13 -0
- package/dist/components/table/storybook-helper/sampleData.d.ts +3 -0
- package/dist/components/table/types.d.ts +8 -1
- package/dist/components/table/utils.d.ts +1 -1
- package/dist/index.es.js +7 -7
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/plugin/ui.html +1 -1
- package/plugin/ui.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,8 @@ export interface TextButtonProps extends Omit<ButtonProps, 'loading' | 'kind'> {
|
|
|
5
5
|
/** @default text */
|
|
6
6
|
kind?: TextButtonKind;
|
|
7
7
|
/** @default false */
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
/** @default false */
|
|
8
10
|
underline?: boolean;
|
|
9
11
|
/** @default medium */
|
|
10
12
|
size?: TextButtonSize;
|
|
@@ -100,6 +100,12 @@ export interface DataTableProps<DataType> {
|
|
|
100
100
|
* @default true
|
|
101
101
|
*/
|
|
102
102
|
cellDisabledStyle?: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* 열 하위에 확장된 Row를 렌더링합니다.
|
|
105
|
+
* - 각 테이블 로우에 고유 key가 존재해야 합니다.
|
|
106
|
+
* - row의 expanded 값으로 row의 확장 여부를 전달합니다.
|
|
107
|
+
*/
|
|
108
|
+
renderExpandedRow?: (row: DataType, index: number) => ReactNode | null;
|
|
103
109
|
/**
|
|
104
110
|
* Row 배경색을 지정하는 함수 혹은 컬러값을 전달합니다.
|
|
105
111
|
* hover는 auto code 정책을 따릅니다.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Key } from 'react';
|
|
2
2
|
import { DataTableProps } from './DataTable';
|
|
3
3
|
import { SelectRowsAction, DataTableRowType } from './types';
|
|
4
|
-
export interface DataTableHeaderProps<DataType> extends Pick<DataTableProps<DataType>, 'columns' | 'rows' | 'stickyHeader' | 'sortBy' | 'sortDirection' | 'onSortBy' | 'selectableRows' | 'hideSelectAll' | 'resize'> {
|
|
4
|
+
export interface DataTableHeaderProps<DataType> extends Pick<DataTableProps<DataType>, 'columns' | 'rows' | 'stickyHeader' | 'sortBy' | 'sortDirection' | 'onSortBy' | 'selectableRows' | 'renderExpandedRow' | 'hideSelectAll' | 'resize'> {
|
|
5
5
|
allSelected?: boolean;
|
|
6
6
|
selectedRows?: Map<Key, DataTableRowType<DataType>>;
|
|
7
7
|
onSelectedRows?: (action: SelectRowsAction<DataType>) => void;
|
|
8
8
|
}
|
|
9
|
-
export declare const DataTableHeader: <DataType extends object = any>({ columns, rows, stickyHeader, sortBy, sortDirection, allSelected, selectedRows, selectableRows, hideSelectAll, resize, onSelectedRows, onSortBy, }: DataTableHeaderProps<DataType>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare const DataTableHeader: <DataType extends object = any>({ columns, rows, stickyHeader, sortBy, sortDirection, allSelected, selectedRows, selectableRows, renderExpandedRow, hideSelectAll, resize, onSelectedRows, onSortBy, }: DataTableHeaderProps<DataType>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
1
2
|
import { DataTableColumnsType, DataTableRowsType, DataTableRowType } from './types';
|
|
2
3
|
import { DataTableProps } from './DataTable';
|
|
3
4
|
export interface DataTableRowProps<DataType extends object = any> extends Pick<DataTableProps<DataType>, 'selectableRows' | 'clickableRows' | 'cellHoverStyle' | 'cellDisabledStyle' | 'resize'> {
|
|
@@ -5,8 +6,11 @@ export interface DataTableRowProps<DataType extends object = any> extends Pick<D
|
|
|
5
6
|
columns: DataTableColumnsType<DataType>;
|
|
6
7
|
index: number;
|
|
7
8
|
rows: DataTableRowsType<DataType>;
|
|
9
|
+
renderExpandedRow?: (row: DataType, index: number) => ReactNode | null;
|
|
8
10
|
selected: boolean;
|
|
11
|
+
expanded: boolean;
|
|
9
12
|
rowColor?: string;
|
|
10
13
|
onSelectedRow?: (row: DataTableRowType<DataType>, selected: boolean) => void;
|
|
14
|
+
onExpandedRow?: (row: DataTableRowType<DataType>, expanded: boolean) => void;
|
|
11
15
|
}
|
|
12
|
-
export declare const DataTableRow: <DataType extends object = any>({ row, columns, index, rows, selected, rowColor, onSelectedRow, selectableRows, clickableRows, cellHoverStyle, cellDisabledStyle, resize, }: DataTableRowProps<DataType>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare const DataTableRow: <DataType extends object = any>({ row, columns, index, rows, selected, expanded, rowColor, onSelectedRow, onExpandedRow, selectableRows, renderExpandedRow, clickableRows, cellHoverStyle, cellDisabledStyle, resize, }: DataTableRowProps<DataType>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { Key } from 'react';
|
|
1
|
+
import { Key, ReactNode } from 'react';
|
|
2
2
|
import { DataTableProps } from './DataTable';
|
|
3
|
-
import { SelectRowAction, DataTableRowType } from './types';
|
|
3
|
+
import { SelectRowAction, DataTableRowType, ExpandedRowAction } from './types';
|
|
4
4
|
interface DataTableRowsProps<DataType> extends Pick<DataTableProps<DataType>, 'columns' | 'rows' | 'noDataText' | 'noDataPadding' | 'loading' | 'selectableRows' | 'clickableRows' | 'cellHoverStyle' | 'cellDisabledStyle' | 'resize'> {
|
|
5
5
|
tableContainerAttribute: number;
|
|
6
6
|
allSelected?: boolean;
|
|
7
7
|
selectedRows?: Map<Key, DataTableRowType<DataType>>;
|
|
8
|
+
expandedRows?: Key[];
|
|
9
|
+
renderExpandedRow?: (row: DataType, index: number) => ReactNode | null;
|
|
8
10
|
rowColor?: (row: DataTableRowType<DataType>, index: number) => (string | undefined) | string;
|
|
9
11
|
onSelectedRow?: (action: SelectRowAction<DataType>) => void;
|
|
12
|
+
onExpandedRow?: (action: ExpandedRowAction<DataType>) => void;
|
|
10
13
|
}
|
|
11
|
-
export declare const DataTableRows: <DataType extends object = any>({ columns, rows, loading, selectableRows, clickableRows, selectedRows, noDataText, noDataPadding, cellHoverStyle, cellDisabledStyle, tableContainerAttribute, resize, onSelectedRow, rowColor, }: DataTableRowsProps<DataType>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare const DataTableRows: <DataType extends object = any>({ columns, rows, loading, selectableRows, clickableRows, selectedRows, expandedRows, noDataText, noDataPadding, cellHoverStyle, cellDisabledStyle, tableContainerAttribute, resize, renderExpandedRow, onSelectedRow, onExpandedRow, rowColor, }: DataTableRowsProps<DataType>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
12
15
|
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React, { Key } from 'react';
|
|
2
|
+
export interface ExpandTableDataType {
|
|
3
|
+
key?: Key;
|
|
4
|
+
order: number;
|
|
5
|
+
status: React.ReactNode;
|
|
6
|
+
qty: number;
|
|
7
|
+
price: number;
|
|
8
|
+
assignee: string;
|
|
9
|
+
started_at: string;
|
|
10
|
+
completed_at: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const ExpandComponent: () => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare const ExpandComponent2: () => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -3,6 +3,7 @@ import { DataTableColumnsType, DataTableRowsType } from '../index';
|
|
|
3
3
|
export interface DataType {
|
|
4
4
|
key?: Key;
|
|
5
5
|
disabled?: boolean;
|
|
6
|
+
expandable?: boolean;
|
|
6
7
|
id: number;
|
|
7
8
|
image?: string;
|
|
8
9
|
name: string;
|
|
@@ -18,6 +19,7 @@ export declare const customColumns: DataTableColumnsType<DataType>;
|
|
|
18
19
|
export declare const customWidthColumns: DataTableColumnsType<DataType>;
|
|
19
20
|
export declare const customColumnCell: DataTableColumnsType<DataType>;
|
|
20
21
|
export declare const customRowCellColumns: DataTableColumnsType<DataType>;
|
|
22
|
+
export declare const fixedExpandRowCellColumns: DataTableColumnsType<DataType>;
|
|
21
23
|
export declare const groupColumns: DataTableColumnsType<DataType>;
|
|
22
24
|
export declare const groupRows: DataTableRowsType<DataType>;
|
|
23
25
|
export declare const SpanColumns: DataTableColumnsType<DataType>;
|
|
@@ -28,3 +30,4 @@ export declare const selectionRows2: DataTableRowsType<DataType>;
|
|
|
28
30
|
export declare const sortColumns: DataTableColumnsType<DataType>;
|
|
29
31
|
export declare const customRowStyleColumns: DataTableColumnsType<DataType>;
|
|
30
32
|
export declare const comprehensiveCustomColumns: DataTableColumnsType<DataType>;
|
|
33
|
+
export declare const ExpandRows: DataTableRowsType<DataType>;
|
|
@@ -91,6 +91,7 @@ export type DataTableRowType<DataType> = DataType & {
|
|
|
91
91
|
* 테이블 로우의 disabled 여부를 지정합니다. selectable 보다 우선합니다.
|
|
92
92
|
*/
|
|
93
93
|
disabled?: boolean;
|
|
94
|
+
expandable?: boolean;
|
|
94
95
|
};
|
|
95
96
|
export type DataTableRowsType<DataType = unknown> = Array<DataTableRowType<DataType>>;
|
|
96
97
|
export interface DataTableState<DataType = unknown> {
|
|
@@ -98,6 +99,7 @@ export interface DataTableState<DataType = unknown> {
|
|
|
98
99
|
selectedRows?: Map<Key, DataTableRowType<DataType>>;
|
|
99
100
|
emitSelectedEvent?: boolean;
|
|
100
101
|
autoResetRowSelection?: boolean;
|
|
102
|
+
expandedRows?: Key[];
|
|
101
103
|
}
|
|
102
104
|
export interface SelectRowsAction<DataType> {
|
|
103
105
|
type: 'SELECT_ROWS';
|
|
@@ -121,4 +123,9 @@ export interface CheckAllSelectedRowsAction<DataType> {
|
|
|
121
123
|
type: 'CHECK_ALL_SELECTED_ROWS';
|
|
122
124
|
rows: DataTableRowsType<DataType>;
|
|
123
125
|
}
|
|
124
|
-
export
|
|
126
|
+
export interface ExpandedRowAction<DataType> {
|
|
127
|
+
type: 'EXPAND_ROW';
|
|
128
|
+
row: DataTableRowType<DataType>;
|
|
129
|
+
expanded: boolean;
|
|
130
|
+
}
|
|
131
|
+
export type DataTableAction<DataType> = SelectRowsAction<DataType> | SelectRowAction<DataType> | SelectControlledRowAction<DataType> | ResetSelectRowsAction | CheckAllSelectedRowsAction<DataType> | ExpandedRowAction<DataType>;
|
|
@@ -6,5 +6,5 @@ export interface UseTableColumnsProps<DataType> {
|
|
|
6
6
|
export declare function getColGroup<DataType>({ columns }: UseTableColumnsProps<DataType>): any[];
|
|
7
7
|
export declare function getGroupColumns<DataType>({ columns }: UseTableColumnsProps<DataType>): DataTableColumnsType<DataType>;
|
|
8
8
|
export declare function getFlattenColumns<DataType>({ columns, }: UseTableColumnsProps<DataType>): DataTableColumnsType<DataType>;
|
|
9
|
-
export declare function getFixedMergeColumn<DataType>(columns: DataTableColumnsType<DataType>, selectableRows: boolean, columnCount: number): number;
|
|
9
|
+
export declare function getFixedMergeColumn<DataType>(columns: DataTableColumnsType<DataType>, selectableRows: boolean, columnCount: number, renderExpandedRow: boolean): number;
|
|
10
10
|
export declare function getRowsKey<DataType>(rows: DataTableRowsType<DataType>): Key[];
|