maru_design2 2.7.2 → 2.8.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 CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.8.0](https://github.com/42maru-ai/maru-design2/compare/v2.7.2...v2.8.0) (2024-06-14)
4
+
5
+
6
+ ### Features
7
+
8
+ * :fire: Table - REMOVE row mouse over / leave ([1d21841](https://github.com/42maru-ai/maru-design2/commit/1d218411d0d0a5b3a8de65d8bf41d4b204793e23))
9
+ * :sparkles: Table - ADD binButton ([e27effb](https://github.com/42maru-ai/maru-design2/commit/e27effb05595793793bd5b80aabacbb8efb0cb9e))
10
+ * :sparkles: Table - ADD header filter column ([1cbf792](https://github.com/42maru-ai/maru-design2/commit/1cbf792f22468599af3188f310d42ad4ea4c6d55))
11
+ * :sparkles: Toast - ADD description props ([e22a69c](https://github.com/42maru-ai/maru-design2/commit/e22a69c789b9ad785f075d8b7fb38b49454c3ca3))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * :bug: Button - FIX event handlers ([31d1d87](https://github.com/42maru-ai/maru-design2/commit/31d1d87354b948b9a8f155d1927ae02812970c37))
17
+ * :coffin: Table - REMOVE kebab header, width ([5cc16e8](https://github.com/42maru-ai/maru-design2/commit/5cc16e8512255e49b0fd3dd1f37e6659f60cafc6))
18
+ * :coffin: Table - REMOVE table mouse enter/leave ([8e59f35](https://github.com/42maru-ai/maru-design2/commit/8e59f359e74f985a3ed86e0c540fb304014c7c0f))
19
+ * :fire: Table - REMOVE expand row ([ad2cba4](https://github.com/42maru-ai/maru-design2/commit/ad2cba49d588459fa80c5db711723f749b2f8216))
20
+
3
21
  ## [2.7.2](https://github.com/42maru-ai/maru-design2/compare/v2.7.1...v2.7.2) (2024-06-05)
4
22
 
5
23
 
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { TColor } from '../../../enums/color';
3
3
  import { TButtonSize } from '../../../enums/size';
4
4
  import { TButtonVariant } from '../../../enums/variant';
5
- import { IconProps } from '../icon/Icon';
5
+ import { IconProps } from '../icon';
6
6
  import './button.scss';
7
7
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
8
8
  children?: React.ReactNode;
@@ -2,8 +2,7 @@ import { IColumnFormats } from './types';
2
2
  interface Props {
3
3
  hasCheckbox?: boolean;
4
4
  formats: IColumnFormats[];
5
- hasKebabMenu: boolean;
6
- kebabMenuWidth?: string;
5
+ hasActionCol: boolean;
7
6
  }
8
- declare function Colgroup({ hasCheckbox, formats, hasKebabMenu, kebabMenuWidth, }: Props): import("react/jsx-runtime").JSX.Element;
7
+ declare function Colgroup({ hasCheckbox, formats, hasActionCol }: Props): import("react/jsx-runtime").JSX.Element;
9
8
  export default Colgroup;
@@ -1,3 +1,3 @@
1
1
  import { TableProps } from './types';
2
2
  import './table.scss';
3
- export declare function Table({ rowIdKey, data, formats, sort, onSort, checkedIds, onCheck, kebabMenu, onRowClick, selectedRow, onRowMouseOver, onRowMouseLeave, className, id, tableMaxHeight, noData, loading, }: TableProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare function Table({ rowIdKey, data, formats, sort, onSort, checkedIds, onCheck, filter, kebabMenu, binButton, onRowClick, selectedRow, className, id, tableMaxHeight, noData, loading, }: TableProps): import("react/jsx-runtime").JSX.Element;
@@ -2,12 +2,21 @@ import React from 'react';
2
2
  import { IColumnFormats } from '../types';
3
3
  interface Props {
4
4
  rowIdKey: string;
5
- data: Record<string, any>[];
6
5
  formats: IColumnFormats[];
6
+ data: Record<string, any>[];
7
7
  checkedIds?: string[];
8
8
  onCheck?: (ids: string[]) => void;
9
- hasKebabMenu: boolean;
9
+ hasActionCol: boolean;
10
10
  kebabContent?: (rowId: string, onClose: () => void) => React.ReactNode;
11
+ binButton?: {
12
+ show: 'hover' | 'always';
13
+ onClick: (rowId: string) => void;
14
+ };
15
+ onRowClick?: (rowId: string) => void;
16
+ selectedRow?: {
17
+ rowId: string;
18
+ className?: string;
19
+ };
11
20
  noData?: {
12
21
  isNoData: boolean;
13
22
  message: string;
@@ -16,13 +25,6 @@ interface Props {
16
25
  isLoading: boolean;
17
26
  content?: React.ReactNode;
18
27
  };
19
- onRowClick?: (rowId: string) => void;
20
- selectedRow?: {
21
- rowId: string;
22
- className?: string;
23
- };
24
- onRowMouseOver?: (rowId: string) => void;
25
- onRowMouseLeave?: (rowId: string) => void;
26
28
  }
27
- declare function TBody({ rowIdKey, formats, data, checkedIds, onCheck, hasKebabMenu, kebabContent, onRowClick, selectedRow, onRowMouseOver, onRowMouseLeave, noData, loading, }: Props): import("react/jsx-runtime").JSX.Element;
29
+ declare function TBody({ rowIdKey, formats, data, checkedIds, onCheck, hasActionCol, kebabContent, binButton, onRowClick, selectedRow, noData, loading, }: Props): import("react/jsx-runtime").JSX.Element;
28
30
  export default TBody;
@@ -0,0 +1,7 @@
1
+ interface Props {
2
+ toggle: boolean;
3
+ onToggle: () => void;
4
+ onReset?: () => void;
5
+ }
6
+ declare function FilterButtonsTh({ toggle, onToggle, onReset }: Props): import("react/jsx-runtime").JSX.Element;
7
+ export default FilterButtonsTh;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ children: React.ReactElement;
4
+ toggle: boolean;
5
+ filter?: React.ReactNode;
6
+ }
7
+ declare function FilterTh({ children, toggle, filter }: Props): import("react/jsx-runtime").JSX.Element;
8
+ export default FilterTh;
@@ -0,0 +1,8 @@
1
+ import { IColumnFormats, ISort } from '../types';
2
+ interface Props {
3
+ format: IColumnFormats;
4
+ currentSort?: ISort;
5
+ onSortClick: (columnName: string, sortable: boolean) => () => void;
6
+ }
7
+ declare function SortableColumn({ format, currentSort, onSortClick }: Props): import("react/jsx-runtime").JSX.Element;
8
+ export default SortableColumn;
@@ -6,7 +6,11 @@ interface Props {
6
6
  hasCheckbox?: boolean;
7
7
  allCheckbox: boolean;
8
8
  onAllCheck: (checked: boolean) => void;
9
- hasKebabMenu: boolean;
9
+ hasActionCol: boolean;
10
+ filter?: {
11
+ on: boolean;
12
+ onReset: () => void;
13
+ };
10
14
  }
11
- declare function THead({ formats, currentSort, onSortClick, hasCheckbox, allCheckbox, onAllCheck, hasKebabMenu, }: Props): import("react/jsx-runtime").JSX.Element;
15
+ declare function THead({ formats, currentSort, onSortClick, hasCheckbox, allCheckbox, onAllCheck, hasActionCol, filter, }: Props): import("react/jsx-runtime").JSX.Element;
12
16
  export default THead;
@@ -6,25 +6,20 @@ export interface ISort {
6
6
  export interface IColumnFormats {
7
7
  columnIdKey: string;
8
8
  columnName?: string;
9
- customHeader?: (content: any, colId: string) => React.ReactNode;
9
+ filter?: React.ReactNode;
10
10
  customColumn?: (content: any, rowId: string) => React.ReactNode;
11
11
  width?: string;
12
12
  sortable?: boolean;
13
13
  isHide?: boolean;
14
14
  }
15
- export interface IExpandingColumnFormats {
16
- columnIdKeys: string[];
17
- colSpan?: number;
18
- customColumn?: (contents: any, rowId1: string, rowId2: string) => React.ReactNode;
19
- }
20
15
  export interface TableProps {
21
- data: Record<string, any>[];
22
16
  /**
23
17
  * 행 아이디로 쓸 키
24
18
  */
25
19
  rowIdKey: string;
20
+ data: Record<string, any>[];
26
21
  /**
27
- * { columnIdKey, columnName, customHeader, customColumn, width, sortable, isHide }
22
+ * { columnIdKey, columnName, filter, customColumn, width, sortable, isHide }
28
23
  */
29
24
  formats: IColumnFormats[];
30
25
  /**
@@ -44,26 +39,29 @@ export interface TableProps {
44
39
  */
45
40
  onCheck?: (ids: string[]) => void;
46
41
  /**
47
- * 더보기 메뉴. { content, width } (@v1 hamberger)
42
+ * 최우측 컬럼 헤더의 필터 영역. { on, onReset }
48
43
  */
49
- kebabMenu?: {
50
- content: (rowId: string, onClose: () => void) => React.ReactNode;
51
- width?: string;
44
+ filter?: {
45
+ on: boolean;
46
+ onReset: () => void;
52
47
  };
53
48
  /**
54
- * 테이블 click 이벤트
49
+ * 최우측 컬럼 바디의 더보기 메뉴. binButton과 같이 쓸 수 없음. { content, width } (@v1 hamberger)
55
50
  */
56
- onRowClick?: (rowId: string) => void;
51
+ kebabMenu?: {
52
+ content: (rowId: string, onClose: () => void) => React.ReactNode;
53
+ };
57
54
  /**
58
- * 테이블 mouse over 이벤트
55
+ * 최우측 컬럼 바디의 휴지통 버튼. kebabMenu와 같이 쓸 수 없음. { show, onClick }
59
56
  */
60
- onRowMouseOver?: (rowId: string) => void;
57
+ binButton?: {
58
+ show: 'hover' | 'always';
59
+ onClick: (rowId: string) => void;
60
+ };
61
61
  /**
62
- * 테이블 행 mouse leave 이벤트
62
+ * 테이블 행 click 이벤트
63
63
  */
64
- onRowMouseLeave?: (rowId: string) => void;
65
- className?: string;
66
- id?: string;
64
+ onRowClick?: (rowId: string) => void;
67
65
  /**
68
66
  * 선택된 행 스타일 지정 (@v1 focusedRowInfo)
69
67
  */
@@ -71,6 +69,8 @@ export interface TableProps {
71
69
  rowId: string;
72
70
  className?: string;
73
71
  };
72
+ className?: string;
73
+ id?: string;
74
74
  /**
75
75
  * 최대 높이
76
76
  */
@@ -2,6 +2,7 @@ import { TToastVariant } from '../../../enums/variant';
2
2
  export interface IToast {
3
3
  variant: TToastVariant;
4
4
  content: string;
5
+ description?: string;
5
6
  details?: string[];
6
7
  disableAutoOff?: boolean;
7
8
  }
@@ -6,13 +6,17 @@ export interface ToastStyleProps {
6
6
  */
7
7
  variant: TToastVariant;
8
8
  /**
9
- * 컴포넌트에 들어갈 내용
9
+ * 컴포넌트에 들어갈 한 줄짜리 내용
10
10
  */
11
11
  content: string;
12
+ /**
13
+ * 컴포넌트에 들어갈 여러 줄 짜리 내용
14
+ */
15
+ description?: string;
12
16
  /**
13
17
  * details, summary 태그를 활용하여 노출할 내용
14
18
  */
15
19
  details?: string[];
16
20
  onClose: () => void;
17
21
  }
18
- export declare function ToastStyle({ variant, content, details, onClose, }: ToastStyleProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function ToastStyle({ variant, content, description, details, onClose, }: ToastStyleProps): import("react/jsx-runtime").JSX.Element;
package/dist/index.js CHANGED
@@ -2879,17 +2879,29 @@ var Button = /*#__PURE__*/forwardRef(function (_a, ref) {
2879
2879
  }, {
2880
2880
  'maru-button-only-icon': !children && (startIcon || endIcon)
2881
2881
  }, props.className),
2882
- onMouseEnter: function onMouseEnter() {
2883
- return setIsHover(true);
2882
+ onMouseEnter: function onMouseEnter(event) {
2883
+ if (props.onMouseEnter) {
2884
+ props.onMouseEnter(event);
2885
+ }
2886
+ setIsHover(true);
2884
2887
  },
2885
- onMouseLeave: function onMouseLeave() {
2886
- return setIsHover(false);
2888
+ onMouseLeave: function onMouseLeave(event) {
2889
+ if (props.onMouseLeave) {
2890
+ props.onMouseLeave(event);
2891
+ }
2892
+ setIsHover(false);
2887
2893
  },
2888
- onMouseDown: function onMouseDown() {
2889
- return setIsActive(true);
2894
+ onMouseDown: function onMouseDown(event) {
2895
+ if (props.onMouseDown) {
2896
+ props.onMouseDown(event);
2897
+ }
2898
+ setIsActive(true);
2890
2899
  },
2891
- onMouseUp: function onMouseUp() {
2892
- return setIsActive(false);
2900
+ onMouseUp: function onMouseUp(event) {
2901
+ if (props.onMouseUp) {
2902
+ props.onMouseUp(event);
2903
+ }
2904
+ setIsActive(false);
2893
2905
  }
2894
2906
  }, {
2895
2907
  children: [startIcon && jsx(Icon, {
@@ -23016,32 +23028,23 @@ function TBody(_a) {
23016
23028
  data = _a.data,
23017
23029
  checkedIds = _a.checkedIds,
23018
23030
  onCheck = _a.onCheck,
23019
- hasKebabMenu = _a.hasKebabMenu,
23031
+ hasActionCol = _a.hasActionCol,
23020
23032
  kebabContent = _a.kebabContent,
23021
- // expandable,
23022
- // expandingIdKey,
23023
- // expandingRowIdKey,
23024
- // expandingFormat,
23033
+ binButton = _a.binButton,
23034
+ // onRowMouseOver,
23035
+ // onRowMouseLeave,
23025
23036
  onRowClick = _a.onRowClick,
23026
23037
  selectedRow = _a.selectedRow,
23027
- onRowMouseOver = _a.onRowMouseOver,
23028
- onRowMouseLeave = _a.onRowMouseLeave,
23029
23038
  noData = _a.noData,
23030
23039
  loading = _a.loading;
23031
- var _b = useState([]);
23032
- _b[0];
23033
- _b[1];
23040
+ var _b = useState(''),
23041
+ hoveredRowId = _b[0],
23042
+ setHoveredRowId = _b[1];
23034
23043
  var tableBodyStatus = useMemo(function () {
23035
23044
  if (loading === null || loading === void 0 ? void 0 : loading.isLoading) return 'loading';
23036
23045
  if (noData === null || noData === void 0 ? void 0 : noData.isNoData) return 'no-data';
23037
23046
  return 'enable';
23038
23047
  }, [noData, loading]);
23039
- // const hasRowEvent = useMemo(
23040
- // () =>
23041
- // (onRowClick && onRowClick.name !== 'mockConstructor') ||
23042
- // (onRowMouseOver && onRowMouseOver.name !== 'mockConstructor'),
23043
- // [onRowClick, onRowMouseOver],
23044
- // );
23045
23048
  var handleCheck = function handleCheck(rowId, checked) {
23046
23049
  if (checked) {
23047
23050
  var newCheckedArray = checkedIds ? __spreadArray([], checkedIds, true) : [];
@@ -23056,34 +23059,19 @@ function TBody(_a) {
23056
23059
  };
23057
23060
  var handleRowClick = function handleRowClick(rowId) {
23058
23061
  return function () {
23059
- // if (hasRowEvent) {
23060
23062
  onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(rowId);
23061
- // }
23062
23063
  };
23063
23064
  };
23064
23065
  var handleRowEnter = function handleRowEnter(rowId) {
23065
23066
  return function () {
23066
- // if (hasRowEvent) {
23067
- onRowMouseOver === null || onRowMouseOver === void 0 ? void 0 : onRowMouseOver(rowId);
23068
- // }
23067
+ setHoveredRowId(rowId);
23069
23068
  };
23070
23069
  };
23071
- var handleRowLeave = function handleRowLeave(rowId) {
23070
+ var handleRowLeave = function handleRowLeave() {
23072
23071
  return function () {
23073
- // if (hasRowEvent) {
23074
- onRowMouseLeave === null || onRowMouseLeave === void 0 ? void 0 : onRowMouseLeave(rowId);
23075
- // }
23072
+ setHoveredRowId('');
23076
23073
  };
23077
23074
  };
23078
- // const handleExpandClick = (rowId: string) => () => {
23079
- // let newExpand = [...expand];
23080
- // if (newExpand.includes(rowId)) {
23081
- // newExpand = newExpand.filter((i) => i !== rowId);
23082
- // } else {
23083
- // newExpand = newExpand.concat(rowId);
23084
- // }
23085
- // setExpand(newExpand);
23086
- // };
23087
23075
  return jsx("tbody", __assign({
23088
23076
  className: "maru-table-body"
23089
23077
  }, {
@@ -23096,11 +23084,10 @@ function TBody(_a) {
23096
23084
  children: jsxs("tr", __assign({
23097
23085
  onClick: handleRowClick(row[rowIdKey]),
23098
23086
  onMouseEnter: handleRowEnter(row[rowIdKey]),
23099
- onMouseLeave: handleRowLeave(row[rowIdKey]),
23100
- // aria-hidden={hasRowEvent}
23087
+ onMouseLeave: handleRowLeave(),
23101
23088
  className: classNames({
23102
23089
  'clickable-row': onRowClick,
23103
- 'selected-row': selectedRow && (selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.rowId) === row[rowIdKey]
23090
+ 'selected-row': selectedRow && (selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.rowId) === row[rowIdKey] || hoveredRowId === row[rowIdKey]
23104
23091
  }, selectedRow && (selectedRow === null || selectedRow === void 0 ? void 0 : selectedRow.className))
23105
23092
  }, {
23106
23093
  children: [checkedIds != null && jsx(CheckboxTd, {
@@ -23108,16 +23095,34 @@ function TBody(_a) {
23108
23095
  checked: !!(checkedIds === null || checkedIds === void 0 ? void 0 : checkedIds.includes(row[rowIdKey])),
23109
23096
  onCheck: handleCheck
23110
23097
  }), formats.map(function (format) {
23111
- if (format.isHide) {
23112
- return null;
23113
- }
23098
+ if (format.isHide) return null;
23114
23099
  var cellHashId = uuidv4(4);
23115
23100
  return jsx("td", {
23116
23101
  children: format.customColumn ? format.customColumn(row[format.columnIdKey], row[rowIdKey]) : row[format.columnIdKey]
23117
23102
  }, "cell-".concat(row[format.columnIdKey], "-").concat(cellHashId));
23118
- }), hasKebabMenu && jsx(KebabMenuTd, {
23103
+ }), hasActionCol && kebabContent ? jsx(KebabMenuTd, {
23119
23104
  rowId: row[rowIdKey],
23120
23105
  kebabContent: kebabContent
23106
+ }) : (binButton === null || binButton === void 0 ? void 0 : binButton.show) === 'always' || (binButton === null || binButton === void 0 ? void 0 : binButton.show) === 'hover' && hoveredRowId === row[rowIdKey] ?
23107
+ // eslint-disable-next-line jsx-a11y/control-has-associated-label, react/jsx-indent
23108
+ jsx("td", {
23109
+ children: jsx(Button, {
23110
+ startIcon: {
23111
+ name: ICONS.Trash01Thin,
23112
+ size: 18,
23113
+ color: hoveredRowId === row[rowIdKey] ? 'danger' : '#8c8c8c'
23114
+ },
23115
+ color: "danger",
23116
+ onClick: function onClick() {
23117
+ return binButton.onClick(row[rowIdKey]);
23118
+ }
23119
+ })
23120
+ }) : jsx("td", {
23121
+ children: jsx("div", {
23122
+ style: {
23123
+ width: '18px'
23124
+ }
23125
+ })
23121
23126
  })]
23122
23127
  }))
23123
23128
  }, "table-row-".concat(row[rowIdKey]));
@@ -23125,6 +23130,66 @@ function TBody(_a) {
23125
23130
  }));
23126
23131
  }
23127
23132
 
23133
+ function FilterButtonsTh(_a) {
23134
+ var toggle = _a.toggle,
23135
+ onToggle = _a.onToggle,
23136
+ onReset = _a.onReset;
23137
+ return jsx("th", {
23138
+ children: jsxs("div", __assign({
23139
+ className: "filter-buttons-th"
23140
+ }, {
23141
+ children: [jsx(Button, {
23142
+ onClick: onToggle,
23143
+ startIcon: {
23144
+ name: ICONS.FilterLinesThin,
23145
+ size: 18,
23146
+ color: 'primary'
23147
+ },
23148
+ className: "filter-icon-button"
23149
+ }), toggle && jsx(Button, {
23150
+ onClick: onReset,
23151
+ startIcon: {
23152
+ name: ICONS.RefreshCw01Thin,
23153
+ size: 18,
23154
+ color: '#bdbdbd'
23155
+ }
23156
+ })]
23157
+ }))
23158
+ });
23159
+ }
23160
+
23161
+ function FilterTh(_a) {
23162
+ var children = _a.children,
23163
+ toggle = _a.toggle,
23164
+ filter = _a.filter;
23165
+ return jsxs("div", __assign({
23166
+ className: "filter-th"
23167
+ }, {
23168
+ children: [children, toggle && (filter || jsx("div", {}))]
23169
+ }));
23170
+ }
23171
+
23172
+ function SortableColumn(_a) {
23173
+ var format = _a.format,
23174
+ currentSort = _a.currentSort,
23175
+ onSortClick = _a.onSortClick;
23176
+ return !format.sortable ? jsx("span", {
23177
+ children: format.columnName
23178
+ }) : jsx(Button, __assign({
23179
+ onClick: onSortClick(format.columnIdKey, format.sortable),
23180
+ variant: "text",
23181
+ endIcon: {
23182
+ name: ICONS.SortOutlineThin,
23183
+ size: 18,
23184
+ color: (currentSort === null || currentSort === void 0 ? void 0 : currentSort.columnName) === format.columnIdKey ? 'primary' : '#8c8c8c'
23185
+ },
23186
+ color: "secondary",
23187
+ className: "maru-table-header-sortable"
23188
+ }, {
23189
+ children: format.columnName
23190
+ }));
23191
+ }
23192
+
23128
23193
  function THead(_a) {
23129
23194
  var formats = _a.formats,
23130
23195
  currentSort = _a.currentSort,
@@ -23132,7 +23197,21 @@ function THead(_a) {
23132
23197
  hasCheckbox = _a.hasCheckbox,
23133
23198
  allCheckbox = _a.allCheckbox,
23134
23199
  onAllCheck = _a.onAllCheck,
23135
- hasKebabMenu = _a.hasKebabMenu;
23200
+ hasActionCol = _a.hasActionCol,
23201
+ filter = _a.filter;
23202
+ var _b = useState(false),
23203
+ filterToggle = _b[0],
23204
+ setFilterToggle = _b[1];
23205
+ useEffect(function () {
23206
+ if (filter === null || filter === void 0 ? void 0 : filter.on) {
23207
+ setFilterToggle(filter === null || filter === void 0 ? void 0 : filter.on);
23208
+ }
23209
+ }, [filter === null || filter === void 0 ? void 0 : filter.on]);
23210
+ var handleFilterToggle = function handleFilterToggle() {
23211
+ setFilterToggle(function (prev) {
23212
+ return !prev;
23213
+ });
23214
+ };
23136
23215
  var handleChange = function handleChange(e) {
23137
23216
  e.stopPropagation();
23138
23217
  onAllCheck(e.currentTarget.checked);
@@ -23152,42 +23231,34 @@ function THead(_a) {
23152
23231
  color: "#5C5C5C"
23153
23232
  })
23154
23233
  })), formats === null || formats === void 0 ? void 0 : formats.map(function (format) {
23155
- if (format.isHide) {
23156
- return null;
23157
- }
23158
- // eslint-disable-next-line max-len
23159
- // eslint-disable-next-line react/no-unstable-nested-components, react/function-component-definition
23160
- var Header = function Header() {
23161
- return !format.sortable ? format.columnName : jsx(Button, __assign({
23162
- onClick: onSortClick(format.columnIdKey, format.sortable),
23163
- variant: "text",
23164
- endIcon: {
23165
- name: ICONS.SortOutlineThin,
23166
- size: 18,
23167
- color: (currentSort === null || currentSort === void 0 ? void 0 : currentSort.columnName) === format.columnIdKey ? 'primary' : '#8c8c8c'
23168
- },
23169
- color: "secondary",
23170
- className: "maru-table-header-sortable"
23171
- }, {
23172
- children: format.columnName
23173
- }));
23174
- };
23234
+ if (format.isHide) return null;
23175
23235
  return jsx("th", {
23176
- children: format.customHeader ? format.customHeader(Header(), format.columnIdKey) : Header()
23177
- }, "header-".concat(format.columnIdKey));
23178
- }), hasKebabMenu ?
23179
- // kebabMenuHeader ? (
23180
- // <th>{kebabMenuHeader()}</th>
23181
- // ) : (
23182
- jsx("th", {
23236
+ children: filter ? jsx(FilterTh, __assign({
23237
+ toggle: filterToggle,
23238
+ filter: format.filter
23239
+ }, {
23240
+ children: jsx(SortableColumn, {
23241
+ format: format,
23242
+ currentSort: currentSort,
23243
+ onSortClick: onSortClick
23244
+ })
23245
+ })) : jsx(SortableColumn, {
23246
+ format: format,
23247
+ currentSort: currentSort,
23248
+ onSortClick: onSortClick
23249
+ })
23250
+ }, "column-".concat(format.columnIdKey));
23251
+ }), hasActionCol && filter ? jsx(FilterButtonsTh, {
23252
+ toggle: filterToggle,
23253
+ onToggle: handleFilterToggle,
23254
+ onReset: filter === null || filter === void 0 ? void 0 : filter.onReset
23255
+ }) : jsx("th", {
23183
23256
  children: jsx("div", {
23184
23257
  style: {
23185
- width: '20px'
23258
+ width: '18px'
23186
23259
  }
23187
23260
  })
23188
- }) :
23189
- // )
23190
- null]
23261
+ })]
23191
23262
  })
23192
23263
  }));
23193
23264
  }
@@ -23195,8 +23266,7 @@ function THead(_a) {
23195
23266
  function Colgroup(_a) {
23196
23267
  var hasCheckbox = _a.hasCheckbox,
23197
23268
  formats = _a.formats,
23198
- hasKebabMenu = _a.hasKebabMenu,
23199
- kebabMenuWidth = _a.kebabMenuWidth;
23269
+ hasActionCol = _a.hasActionCol;
23200
23270
  return jsxs("colgroup", {
23201
23271
  children: [hasCheckbox ? jsx("col", {
23202
23272
  width: "5%"
@@ -23207,15 +23277,13 @@ function Colgroup(_a) {
23207
23277
  return jsx("col", {
23208
23278
  width: format.width || "".concat(90 / formats.length, "%")
23209
23279
  }, "col-".concat(format.columnIdKey));
23210
- }), hasKebabMenu ? kebabMenuWidth ? jsx("col", {
23211
- width: kebabMenuWidth
23212
- }) : jsx("col", {
23280
+ }), hasActionCol ? jsx("col", {
23213
23281
  width: "5%"
23214
23282
  }) : null]
23215
23283
  });
23216
23284
  }
23217
23285
 
23218
- var css_248z$1 = ".maru-table-wrapper {\n width: 100%;\n background-color: white;\n box-shadow: 0px 0px 6px #e4e4e4;\n border-radius: 15px;\n}\n.maru-table-wrapper .maru-table-header-wrapper,\n.maru-table-wrapper .maru-table-body-wrapper {\n width: 100%;\n}\n.maru-table-wrapper tr {\n height: 54px;\n}\n.maru-table-wrapper th,\n.maru-table-wrapper td {\n text-align: start;\n vertical-align: middle;\n padding: 16.5px 15px;\n word-break: break-word;\n color: #5c5c5c;\n}\n.maru-table-wrapper th:first-of-type,\n.maru-table-wrapper td:first-of-type {\n padding: 16.5px 25px;\n}\n.maru-table-wrapper .checkbox-td {\n padding: 18px 15px 18px 25px !important;\n}\n.maru-table-wrapper .maru-table-header tr {\n border-bottom: 1px solid #e4e4e4;\n}\n.maru-table-wrapper .maru-table-header tr th {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 700;\n}\n.maru-table-wrapper .maru-table-header .maru-table-header-sortable {\n padding: unset;\n margin: unset;\n color: #5c5c5c;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 700;\n}\n.maru-table-wrapper .maru-table-body-scroll-wrapper {\n overflow-y: auto;\n}\n.maru-table-wrapper .maru-table-body-scroll-wrapper .maru-table-scroll {\n overflow-y: auto;\n}\n.maru-table-wrapper .maru-table-body tr:not(:last-of-type) {\n border-bottom: 1px solid #fafafa;\n}\n.maru-table-wrapper .maru-table-body tr:hover,\n.maru-table-wrapper .maru-table-body .clickable-row:hover,\n.maru-table-wrapper .maru-table-body .selected-row {\n background-color: var(--p-10);\n}\n.maru-table-wrapper .maru-table-body td {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n}\n.maru-table-wrapper .maru-table-body tr:last-of-type td:first-of-type {\n border-bottom-left-radius: 15px;\n}\n.maru-table-wrapper .maru-table-body tr:last-of-type td:last-of-type {\n border-bottom-right-radius: 15px;\n}\n.maru-table-wrapper .maru-table-body .clickable-row {\n cursor: pointer;\n}\n.maru-table-wrapper .maru-table-body .expanding {\n border-bottom: unset !important;\n}\n.maru-table-wrapper .maru-checkbox {\n border-color: #bdbdbd;\n}\n.maru-table-wrapper .maru-table-body-kebab-wrapper {\n text-align: center;\n}\n.maru-table-wrapper .maru-table-body-kebab {\n margin: unset;\n padding: unset;\n height: auto;\n}\n.maru-table-wrapper .maru-table-body-empty-tr > td {\n width: 100%;\n vertical-align: middle;\n text-align: center;\n padding: 61px 0;\n}\n.maru-table-wrapper .maru-table-body-empty-tr > td p {\n margin-top: 10px;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n color: #bdbdbd;\n}\n.maru-table-wrapper .maru-table-body-empty-tr:hover {\n background-color: inherit !important;\n}\n.maru-table-wrapper .maru-table-body-expandable-button {\n width: 24px;\n height: 24px;\n padding: 0.2rem;\n}\n.maru-table-wrapper .maru-table-body-expanding-row {\n border: unset !important;\n}\n.maru-table-wrapper .maru-table-body-expanding-row.empty-last-expanding-row {\n border-bottom: 1px solid #bdbdbd !important;\n height: 12px !important;\n}";
23286
+ var css_248z$1 = ".maru-table-wrapper {\n width: 100%;\n background-color: white;\n box-shadow: 0px 0px 6px #e4e4e4;\n border-radius: 15px;\n}\n.maru-table-wrapper .maru-table-header-wrapper,\n.maru-table-wrapper .maru-table-body-wrapper {\n width: 100%;\n}\n.maru-table-wrapper tr {\n height: 54px;\n}\n.maru-table-wrapper th,\n.maru-table-wrapper td {\n text-align: start;\n vertical-align: middle;\n padding: 16.5px 15px;\n word-break: break-word;\n color: #5c5c5c;\n}\n.maru-table-wrapper th:first-of-type,\n.maru-table-wrapper td:first-of-type {\n padding: 16.5px 25px;\n}\n.maru-table-wrapper .checkbox-td {\n padding: 18px 15px 18px 25px !important;\n}\n.maru-table-wrapper .maru-table-header tr {\n border-bottom: 1px solid #e4e4e4;\n}\n.maru-table-wrapper .maru-table-header tr th {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 700;\n}\n.maru-table-wrapper .maru-table-header .filter-th {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 16.5px;\n}\n.maru-table-wrapper .maru-table-header .filter-th > div {\n height: 33px;\n}\n.maru-table-wrapper .maru-table-header .filter-buttons-th {\n display: flex;\n flex-direction: column;\n gap: 26px;\n}\n.maru-table-wrapper .maru-table-header .maru-table-header-sortable {\n padding: unset;\n margin: unset;\n color: #5c5c5c;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 700;\n}\n.maru-table-wrapper .maru-table-body-scroll-wrapper {\n overflow-y: auto;\n}\n.maru-table-wrapper .maru-table-body-scroll-wrapper .maru-table-scroll {\n overflow-y: auto;\n}\n.maru-table-wrapper .maru-table-body tr:not(:last-of-type) {\n border-bottom: 1px solid #fafafa;\n}\n.maru-table-wrapper .maru-table-body tr:hover,\n.maru-table-wrapper .maru-table-body .clickable-row:hover,\n.maru-table-wrapper .maru-table-body .selected-row {\n background-color: var(--p-10);\n}\n.maru-table-wrapper .maru-table-body td {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n}\n.maru-table-wrapper .maru-table-body tr:last-of-type td:first-of-type {\n border-bottom-left-radius: 15px;\n}\n.maru-table-wrapper .maru-table-body tr:last-of-type td:last-of-type {\n border-bottom-right-radius: 15px;\n}\n.maru-table-wrapper .maru-table-body .clickable-row {\n cursor: pointer;\n}\n.maru-table-wrapper .maru-table-body .expanding {\n border-bottom: unset !important;\n}\n.maru-table-wrapper .maru-checkbox {\n border-color: #bdbdbd;\n}\n.maru-table-wrapper .maru-table-body-kebab-wrapper {\n text-align: center;\n}\n.maru-table-wrapper .maru-table-body-kebab {\n margin: unset;\n padding: unset;\n height: auto;\n}\n.maru-table-wrapper .maru-table-body-empty-tr > td {\n width: 100%;\n vertical-align: middle;\n text-align: center;\n padding: 61px 0;\n}\n.maru-table-wrapper .maru-table-body-empty-tr > td p {\n margin-top: 10px;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n color: #bdbdbd;\n}\n.maru-table-wrapper .maru-table-body-empty-tr:hover {\n background-color: inherit !important;\n}\n.maru-table-wrapper .maru-table-body-expandable-button {\n width: 24px;\n height: 24px;\n padding: 0.2rem;\n}\n.maru-table-wrapper .maru-table-body-expanding-row {\n border: unset !important;\n}\n.maru-table-wrapper .maru-table-body-expanding-row.empty-last-expanding-row {\n border-bottom: 1px solid #bdbdbd !important;\n height: 12px !important;\n}";
23219
23287
  styleInject(css_248z$1);
23220
23288
 
23221
23289
  // eslint-disable-next-line import/prefer-default-export
@@ -23227,17 +23295,13 @@ function Table(_a) {
23227
23295
  onSort = _a.onSort,
23228
23296
  checkedIds = _a.checkedIds,
23229
23297
  onCheck = _a.onCheck,
23298
+ filter = _a.filter,
23230
23299
  kebabMenu = _a.kebabMenu,
23231
- // expandable,
23232
- // expandingIdKey,
23233
- // expandingRowIdKey,
23234
- // expandingFormat,
23235
- // onTableMouseEnter,
23236
- // onTableMouseLeave,
23300
+ binButton = _a.binButton,
23237
23301
  onRowClick = _a.onRowClick,
23238
23302
  selectedRow = _a.selectedRow,
23239
- onRowMouseOver = _a.onRowMouseOver,
23240
- onRowMouseLeave = _a.onRowMouseLeave,
23303
+ // onRowMouseOver,
23304
+ // onRowMouseLeave,
23241
23305
  className = _a.className,
23242
23306
  id = _a.id,
23243
23307
  tableMaxHeight = _a.tableMaxHeight,
@@ -23249,6 +23313,14 @@ function Table(_a) {
23249
23313
  var _b = useState(false),
23250
23314
  allChecked = _b[0],
23251
23315
  setAllCheck = _b[1];
23316
+ /**
23317
+ * 최우측 컬럼(=액션 컬럼)에 자리를 차지 하는지 여부
23318
+ * 헤더에는 filter 가 올 수 있고,
23319
+ * 바디에는 kebabMenu, binButton, expandable 중 하나가 올 수 있다.
23320
+ *
23321
+ * TODO: expandable
23322
+ */
23323
+ var hasActionCol = filter != null || kebabMenu != null || binButton != null;
23252
23324
  /**
23253
23325
  * setting table size
23254
23326
  */
@@ -23291,12 +23363,6 @@ function Table(_a) {
23291
23363
  }
23292
23364
  }
23293
23365
  }, [data, checkedIds]);
23294
- var handleTableMouseEnter = function handleTableMouseEnter() {
23295
- // onTableMouseEnter?.();
23296
- };
23297
- var handleTableMouseLeave = function handleTableMouseLeave() {
23298
- // onTableMouseLeave?.();
23299
- };
23300
23366
  var handleSortClick = function handleSortClick(columnName, sortable) {
23301
23367
  if (sortable === void 0) {
23302
23368
  sortable = false;
@@ -23344,9 +23410,7 @@ function Table(_a) {
23344
23410
  return jsxs("div", __assign({
23345
23411
  ref: tableWrapperRef,
23346
23412
  id: id,
23347
- className: classNames('maru-table-wrapper', className),
23348
- onMouseEnter: handleTableMouseEnter,
23349
- onMouseLeave: handleTableMouseLeave
23413
+ className: classNames('maru-table-wrapper', className)
23350
23414
  }, {
23351
23415
  children: [jsxs("table", __assign({
23352
23416
  ref: tableHeaderWrapperRef,
@@ -23355,8 +23419,7 @@ function Table(_a) {
23355
23419
  children: [jsx(Colgroup, {
23356
23420
  hasCheckbox: checkedIds != null,
23357
23421
  formats: formats,
23358
- hasKebabMenu: kebabMenu != null,
23359
- kebabMenuWidth: kebabMenu === null || kebabMenu === void 0 ? void 0 : kebabMenu.width
23422
+ hasActionCol: hasActionCol
23360
23423
  }), jsx(THead, {
23361
23424
  formats: formats,
23362
23425
  currentSort: sort,
@@ -23364,7 +23427,8 @@ function Table(_a) {
23364
23427
  hasCheckbox: checkedIds != null,
23365
23428
  allCheckbox: allChecked,
23366
23429
  onAllCheck: handleAllCheckboxChange,
23367
- hasKebabMenu: kebabMenu != null
23430
+ hasActionCol: hasActionCol,
23431
+ filter: filter
23368
23432
  })]
23369
23433
  })), jsx("div", __assign({
23370
23434
  ref: tableBodyWrapperRef,
@@ -23376,23 +23440,19 @@ function Table(_a) {
23376
23440
  children: [jsx(Colgroup, {
23377
23441
  hasCheckbox: checkedIds != null,
23378
23442
  formats: formats,
23379
- hasKebabMenu: kebabMenu != null,
23380
- kebabMenuWidth: kebabMenu === null || kebabMenu === void 0 ? void 0 : kebabMenu.width
23443
+ hasActionCol: hasActionCol
23381
23444
  }), jsx(TBody, {
23382
23445
  rowIdKey: rowIdKey,
23383
23446
  formats: formats,
23384
23447
  data: data,
23385
23448
  checkedIds: checkedIds,
23386
23449
  onCheck: onCheck,
23387
- hasKebabMenu: kebabMenu != null,
23450
+ hasActionCol: hasActionCol,
23388
23451
  kebabContent: kebabMenu === null || kebabMenu === void 0 ? void 0 : kebabMenu.content,
23389
- // expandable={expandable}
23390
- // expandingIdKey={expandingIdKey}
23391
- // expandingRowIdKey={expandingRowIdKey}
23392
- // expandingFormat={expandingFormat}
23452
+ binButton: binButton,
23393
23453
  onRowClick: onRowClick,
23394
- onRowMouseOver: onRowMouseOver,
23395
- onRowMouseLeave: onRowMouseLeave,
23454
+ // onRowMouseOver={onRowMouseOver}
23455
+ // onRowMouseLeave={onRowMouseLeave}
23396
23456
  selectedRow: selectedRow,
23397
23457
  noData: noData,
23398
23458
  loading: loading
@@ -23449,7 +23509,7 @@ function Details(_a) {
23449
23509
  });
23450
23510
  }
23451
23511
 
23452
- var css_248z = ".maru-toast-style {\n padding: 10px 10px 10px 12px;\n border-radius: 6px;\n background-color: #fff;\n box-shadow: 0 0 6px 0 #bdbdbd;\n}\n.maru-toast-style div:first-child {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n}\n.maru-toast-style .maru-toast-style-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n margin-right: 8px;\n width: 24px;\n height: 24px;\n}\n.maru-toast-style .maru-toast-style-content {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n color: #5c5c5c;\n margin-right: 16px;\n}\n.maru-toast-style details {\n background-color: #fafafa;\n padding: 10px 10px 10px 14px;\n margin-top: 8px;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n color: #5c5c5c;\n}\n.maru-toast-style details summary {\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n flex-direction: row;\n white-space: pre-wrap;\n}\n.maru-toast-style details summary > div:first-child {\n position: relative;\n}\n.maru-toast-style details summary .maru-toast-details-summary {\n cursor: pointer;\n}\n.maru-toast-style details summary .maru-toast-details-summary > p {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 600;\n}\n.maru-toast-style details summary .maru-toast-details-summary-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n position: absolute;\n right: -25px;\n bottom: 3px;\n}\n\n.maru-toast {\n margin-top: 24px;\n position: relative;\n opacity: 0;\n transform: translateY(100%);\n transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.6s ease-out;\n}\n.maru-toast.entered {\n transform: translateY(0);\n opacity: 1;\n}\n.maru-toast.fade-out {\n opacity: 0;\n transform: translateX(100%);\n}\n\n.maru-toaster {\n position: fixed;\n z-index: 6007;\n right: 24px;\n bottom: 24px;\n transition: transform 0.5s ease-out;\n display: flex;\n flex-direction: column-reverse;\n align-items: flex-end;\n}";
23512
+ var css_248z = ".maru-toast-style {\n padding: 10px 10px 10px 12px;\n border-radius: 6px;\n background-color: #fff;\n box-shadow: 0 0 6px 0 #bdbdbd;\n}\n.maru-toast-style div:first-child {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n}\n.maru-toast-style .maru-toast-style-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n margin-right: 8px;\n width: 24px;\n height: 24px;\n}\n.maru-toast-style .maru-toast-style-content {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n color: #5c5c5c;\n margin-right: 16px;\n}\n.maru-toast-style .maru-toast-style-description {\n white-space: pre-wrap;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n color: #5c5c5c;\n}\n.maru-toast-style details {\n background-color: #fafafa;\n padding: 10px 10px 10px 14px;\n margin-top: 8px;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n color: #5c5c5c;\n}\n.maru-toast-style details summary {\n display: flex;\n justify-content: flex-start;\n align-items: flex-start;\n flex-direction: row;\n white-space: pre-wrap;\n}\n.maru-toast-style details summary > div:first-child {\n position: relative;\n}\n.maru-toast-style details summary .maru-toast-details-summary {\n cursor: pointer;\n}\n.maru-toast-style details summary .maru-toast-details-summary > p {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 600;\n}\n.maru-toast-style details summary .maru-toast-details-summary-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n position: absolute;\n right: -25px;\n bottom: 3px;\n}\n\n.maru-toast {\n margin-top: 24px;\n position: relative;\n opacity: 0;\n transform: translateY(100%);\n transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.6s ease-out;\n}\n.maru-toast.entered {\n transform: translateY(0);\n opacity: 1;\n}\n.maru-toast.fade-out {\n opacity: 0;\n transform: translateX(100%);\n}\n\n.maru-toaster {\n position: fixed;\n z-index: 6007;\n right: 24px;\n bottom: 24px;\n transition: transform 0.5s ease-out;\n display: flex;\n flex-direction: column-reverse;\n align-items: flex-end;\n}";
23453
23513
  styleInject(css_248z);
23454
23514
 
23455
23515
  var iconSettings = {
@@ -23470,6 +23530,7 @@ function ToastStyle(_a) {
23470
23530
  var _b = _a.variant,
23471
23531
  variant = _b === void 0 ? 'success' : _b,
23472
23532
  content = _a.content,
23533
+ description = _a.description,
23473
23534
  details = _a.details,
23474
23535
  onClose = _a.onClose;
23475
23536
  var _c = useState(false),
@@ -23511,7 +23572,11 @@ function ToastStyle(_a) {
23511
23572
  color: "secondary",
23512
23573
  onClick: handleClose
23513
23574
  })]
23514
- }), jsx(Details, {
23575
+ }), jsx("div", __assign({
23576
+ className: "maru-toast-style-description"
23577
+ }, {
23578
+ children: description
23579
+ })), jsx(Details, {
23515
23580
  details: details,
23516
23581
  isDetailsOpen: isDetailsOpen,
23517
23582
  handleToggleDetails: handleDetailsToggle
@@ -23563,6 +23628,7 @@ function Toast(_a) {
23563
23628
  variant: toast.variant,
23564
23629
  content: toast.content,
23565
23630
  onClose: handleClose,
23631
+ description: toast.description,
23566
23632
  details: toast.details
23567
23633
  })
23568
23634
  }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maru_design2",
3
- "version": "2.7.2",
3
+ "version": "2.8.0",
4
4
  "main": "./dist/index.js",
5
5
  "author": "zena-42maru",
6
6
  "license": "MIT",
@@ -1,9 +0,0 @@
1
- import { IExpandingColumnFormats } from '../types';
2
- interface Props {
3
- rowId: string;
4
- expandingData: any;
5
- expandingRowIdKey?: string;
6
- expandingFormat?: IExpandingColumnFormats[];
7
- }
8
- declare function ExpandingRow({ rowId, expandingData, expandingRowIdKey, expandingFormat, }: Props): import("react/jsx-runtime").JSX.Element | null;
9
- export default ExpandingRow;