@pdg/react-table 1.0.70 → 1.0.71
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/@util/companyNo.d.ts +6 -0
- package/dist/@util/index.d.ts +2 -0
- package/dist/@util/personalNo.d.ts +6 -0
- package/dist/InfoTable/InfoTable.types.d.ts +6 -0
- package/dist/index.esm.js +84 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +84 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/********************************************************************************************************************
|
|
2
|
+
* 사업자등록번호 하이픈 추가
|
|
3
|
+
* @param companyNo 사업자등록번호
|
|
4
|
+
* @returns 하이픈이 추가된 사업자등록번호
|
|
5
|
+
* ******************************************************************************************************************/
|
|
6
|
+
export declare function companyNoAutoDash(companyNo: string): string;
|
package/dist/@util/index.d.ts
CHANGED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/********************************************************************************************************************
|
|
2
|
+
* 주민등록번호에 하이픈 추가하는 함수
|
|
3
|
+
* @param personalNo 주민등록번호
|
|
4
|
+
* @returns 하이픈 추가된 주민등록번호
|
|
5
|
+
* ******************************************************************************************************************/
|
|
6
|
+
export declare function personalNoAutoDash(personalNo: string): string;
|
|
@@ -4,11 +4,17 @@ import { CommonSxProps } from '../@types';
|
|
|
4
4
|
export interface InfoTableInfo {
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
}
|
|
7
|
+
export type InfoTableItemType = 'text' | 'number' | 'tel' | 'url' | 'email' | 'date' | 'datetime' | 'date-hour' | 'date-minute';
|
|
7
8
|
export interface InfoTableItem<T = InfoTableInfo> {
|
|
8
9
|
label: ReactNode;
|
|
9
10
|
name?: keyof T;
|
|
11
|
+
type?: InfoTableItemType;
|
|
10
12
|
ellipsis?: boolean;
|
|
11
13
|
className?: string;
|
|
14
|
+
dateFormat?: string;
|
|
15
|
+
dateTwoLine?: boolean;
|
|
16
|
+
numberPrefix?: string;
|
|
17
|
+
numberSuffix?: string;
|
|
12
18
|
style?: CommonSxProps['style'];
|
|
13
19
|
sx?: BoxProps['sx'];
|
|
14
20
|
labelClassName?: string;
|
package/dist/index.esm.js
CHANGED
|
@@ -4883,9 +4883,91 @@ var lib = CopyToClipboard;var InfoTable = function (_a) {
|
|
|
4883
4883
|
finalSizeProps.lg = item.lg;
|
|
4884
4884
|
if (item.xl)
|
|
4885
4885
|
finalSizeProps.xl = item.xl;
|
|
4886
|
-
var data =
|
|
4887
|
-
if (item.
|
|
4886
|
+
var data = undefined;
|
|
4887
|
+
if (item.name !== undefined) {
|
|
4888
|
+
if (info[item.name] !== undefined) {
|
|
4889
|
+
if (info[item.name] instanceof Date) {
|
|
4890
|
+
data = dayjs(info[item.name]).format('YYYY-MM-DD HH:mm:ss');
|
|
4891
|
+
}
|
|
4892
|
+
else if (info[item.name] instanceof dayjs) {
|
|
4893
|
+
data = info[item.name].format('YYYY-MM-DD HH:mm:ss');
|
|
4894
|
+
}
|
|
4895
|
+
else {
|
|
4896
|
+
data = info[item.name];
|
|
4897
|
+
}
|
|
4898
|
+
}
|
|
4899
|
+
}
|
|
4900
|
+
if (item.onRender) {
|
|
4888
4901
|
data = item.onRender(info);
|
|
4902
|
+
}
|
|
4903
|
+
else if (notEmpty(data)) {
|
|
4904
|
+
switch (item.type) {
|
|
4905
|
+
case 'number':
|
|
4906
|
+
if (typeof data === 'string' || typeof data === 'number') {
|
|
4907
|
+
data = numberWithThousandSeparator(data);
|
|
4908
|
+
if (item.numberPrefix) {
|
|
4909
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
4910
|
+
React__default.createElement("span", { style: { opacity: 0.5, marginRight: 2 } }, item.numberPrefix),
|
|
4911
|
+
data));
|
|
4912
|
+
}
|
|
4913
|
+
if (item.numberSuffix) {
|
|
4914
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
4915
|
+
data,
|
|
4916
|
+
React__default.createElement("span", { style: { opacity: 0.5, marginLeft: 2 } }, item.numberSuffix)));
|
|
4917
|
+
}
|
|
4918
|
+
}
|
|
4919
|
+
break;
|
|
4920
|
+
case 'tel':
|
|
4921
|
+
if (typeof data === 'string') {
|
|
4922
|
+
data = getTelAutoDash(data);
|
|
4923
|
+
}
|
|
4924
|
+
break;
|
|
4925
|
+
case 'email':
|
|
4926
|
+
if (typeof data === 'string') {
|
|
4927
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
4928
|
+
React__default.createElement("a", { href: "mailto:".concat(data) }, data)));
|
|
4929
|
+
}
|
|
4930
|
+
break;
|
|
4931
|
+
case 'url':
|
|
4932
|
+
if (typeof data === 'string' && data.toLowerCase().startsWith('http')) {
|
|
4933
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
4934
|
+
React__default.createElement("a", { href: data, target: '_blank' }, data)));
|
|
4935
|
+
}
|
|
4936
|
+
break;
|
|
4937
|
+
case 'date':
|
|
4938
|
+
if (typeof data === 'string' || typeof data === 'number') {
|
|
4939
|
+
data = dayjs(data, item.dateFormat).format('YYYY-MM-DD');
|
|
4940
|
+
}
|
|
4941
|
+
break;
|
|
4942
|
+
case 'datetime':
|
|
4943
|
+
if (typeof data === 'string' || typeof data === 'number') {
|
|
4944
|
+
var dt = dayjs(data, item.dateFormat);
|
|
4945
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
4946
|
+
React__default.createElement("span", null, dt.format('YYYY-MM-DD')),
|
|
4947
|
+
item.dateTwoLine ? React__default.createElement("br", null) : ' ',
|
|
4948
|
+
React__default.createElement("span", { style: { opacity: 0.5 } }, dt.format('HH:mm:ss'))));
|
|
4949
|
+
}
|
|
4950
|
+
break;
|
|
4951
|
+
case 'date-hour':
|
|
4952
|
+
if (typeof data === 'string' || typeof data === 'number') {
|
|
4953
|
+
var dt = dayjs(data, item.dateFormat);
|
|
4954
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
4955
|
+
React__default.createElement("span", null, dt.format('YYYY-MM-DD')),
|
|
4956
|
+
item.dateTwoLine ? React__default.createElement("br", null) : ' ',
|
|
4957
|
+
React__default.createElement("span", { style: { opacity: 0.5 } }, dt.format('HH시'))));
|
|
4958
|
+
}
|
|
4959
|
+
break;
|
|
4960
|
+
case 'date-minute':
|
|
4961
|
+
if (typeof data === 'string' || typeof data === 'number') {
|
|
4962
|
+
var dt = dayjs(data, item.dateFormat);
|
|
4963
|
+
data = (React__default.createElement(React__default.Fragment, null,
|
|
4964
|
+
React__default.createElement("span", null, dt.format('YYYY-MM-DD')),
|
|
4965
|
+
item.dateTwoLine ? React__default.createElement("br", null) : ' ',
|
|
4966
|
+
React__default.createElement("span", { style: { opacity: 0.5 } }, dt.format('HH시 MM분'))));
|
|
4967
|
+
}
|
|
4968
|
+
break;
|
|
4969
|
+
}
|
|
4970
|
+
}
|
|
4889
4971
|
if (empty(data))
|
|
4890
4972
|
data = item.onRenderEmpty ? item.onRenderEmpty(info) : React__default.createElement(React__default.Fragment, null, "\u00A0");
|
|
4891
4973
|
var copyToClipboardText_1 = item.clipboardText || (typeof data === 'string' ? data : typeof data === 'number' ? data.toString() : '');
|