tntd 2.7.7 → 2.7.9
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/es/button/button.js +46 -0
- package/es/button/button.js.map +1 -0
- package/es/button/index.js +2 -2
- package/es/button/index.js.map +1 -1
- package/es/form/form.js +58 -0
- package/es/form/form.js.map +1 -0
- package/es/form/index.js +2 -2
- package/es/form/index.js.map +1 -1
- package/es/handle/handle.js +102 -0
- package/es/handle/handle.js.map +1 -0
- package/es/handle/index.js +30 -0
- package/es/handle/index.js.map +1 -1
- package/es/table/table.js +42 -41
- package/es/table/table.js.map +1 -1
- package/es/tabs/index.js +2 -2
- package/es/tabs/index.js.map +1 -1
- package/es/tabs/tabPane.js +2 -0
- package/es/tabs/tabPane.js.map +1 -0
- package/es/tabs/tabs.js +71 -0
- package/es/tabs/tabs.js.map +1 -0
- package/es/tntd-modal/index.js +21 -54
- package/es/tntd-modal/index.js.map +1 -1
- package/es/tntd-modal/index.less +66 -82
- package/lib/button/button.d.ts +9 -0
- package/lib/button/button.d.ts.map +1 -0
- package/lib/button/button.js +67 -0
- package/lib/button/button.js.map +1 -0
- package/lib/button/index.d.ts +2 -2
- package/lib/button/index.d.ts.map +1 -1
- package/lib/button/index.js +3 -6
- package/lib/button/index.js.map +1 -1
- package/lib/form/form.d.ts +11 -0
- package/lib/form/form.d.ts.map +1 -0
- package/lib/form/form.js +79 -0
- package/lib/form/form.js.map +1 -0
- package/lib/form/index.d.ts +2 -2
- package/lib/form/index.d.ts.map +1 -1
- package/lib/form/index.js +3 -6
- package/lib/form/index.js.map +1 -1
- package/lib/handle/handle.d.ts +3 -0
- package/lib/handle/handle.d.ts.map +1 -0
- package/lib/handle/handle.js +130 -0
- package/lib/handle/handle.js.map +1 -0
- package/lib/handle/index.d.ts.map +1 -1
- package/lib/handle/index.js +30 -0
- package/lib/handle/index.js.map +1 -1
- package/lib/segmented/index.d.ts +1 -1
- package/lib/svg-components/illustration-403.d.ts +1 -1
- package/lib/svg-components/illustration-404.d.ts +1 -1
- package/lib/svg-components/illustration-500.d.ts +1 -1
- package/lib/svg-components/illustration-empty.d.ts +1 -1
- package/lib/svg-components/illustration-failure.d.ts +1 -1
- package/lib/svg-components/illustration-no-access.d.ts +1 -1
- package/lib/svg-components/illustration-no-chart.d.ts +1 -1
- package/lib/svg-components/illustration-no-result.d.ts +1 -1
- package/lib/svg-components/illustration-offline.d.ts +1 -1
- package/lib/svg-components/illustration-success.d.ts +1 -1
- package/lib/table/assets/image-loading-background.d.ts +1 -1
- package/lib/table/assets/image-loading.d.ts +1 -1
- package/lib/table/table.d.ts +1 -0
- package/lib/table/table.d.ts.map +1 -1
- package/lib/table/table.js +42 -41
- package/lib/table/table.js.map +1 -1
- package/lib/tabs/index.d.ts +2 -2
- package/lib/tabs/index.d.ts.map +1 -1
- package/lib/tabs/index.js +3 -6
- package/lib/tabs/index.js.map +1 -1
- package/lib/tabs/tabPane.d.ts +1 -0
- package/lib/tabs/tabPane.d.ts.map +1 -0
- package/lib/tabs/tabPane.js +2 -0
- package/lib/tabs/tabPane.js.map +1 -0
- package/lib/tabs/tabs.d.ts +11 -0
- package/lib/tabs/tabs.d.ts.map +1 -0
- package/lib/tabs/tabs.js +92 -0
- package/lib/tabs/tabs.js.map +1 -0
- package/lib/tntd-modal/index.d.ts +2 -15
- package/lib/tntd-modal/index.d.ts.map +1 -1
- package/lib/tntd-modal/index.js +23 -58
- package/lib/tntd-modal/index.js.map +1 -1
- package/lib/tntd-modal/index.less +66 -82
- package/package.json +1 -1
- package/es/query-form/Field/AloneSearch.js +0 -17
- package/es/query-form/Field/AloneSearch.js.map +0 -1
- package/es/tag/tag.less +0 -61
- package/es/tnt-second-page/index.js +0 -48
- package/es/tnt-second-page/index.js.map +0 -1
- package/es/tntd-layout/tntdLayout.stories.js +0 -289
- package/es/tntd-layout/tntdLayout.stories.js.map +0 -1
- package/lib/mention/index.d.ts +0 -5
- package/lib/mention/index.d.ts.map +0 -1
- package/lib/mention/index.js.map +0 -1
- package/lib/query-form/Field/AloneSearch.d.ts +0 -2
- package/lib/query-form/Field/AloneSearch.d.ts.map +0 -1
- package/lib/query-form/Field/AloneSearch.js +0 -22
- package/lib/query-form/Field/AloneSearch.js.map +0 -1
- package/lib/tag/tag.less +0 -61
- package/lib/tnt-second-page/index.d.ts +0 -17
- package/lib/tnt-second-page/index.d.ts.map +0 -1
- package/lib/tnt-second-page/index.js +0 -59
- package/lib/tnt-second-page/index.js.map +0 -1
- package/lib/tntd-form/TntdForm/components/Item.d.ts +0 -5
- package/lib/tntd-form/TntdForm/components/Item.d.ts.map +0 -1
- package/lib/tntd-form/TntdForm/components/Item.js.map +0 -1
- package/lib/tntd-form/TntdForm/components/ItemComp.d.ts +0 -5
- package/lib/tntd-form/TntdForm/components/ItemComp.d.ts.map +0 -1
- package/lib/tntd-form/TntdForm/components/ItemComp.js.map +0 -1
- package/lib/tntd-form/TntdForm/components/List.d.ts +0 -5
- package/lib/tntd-form/TntdForm/components/List.d.ts.map +0 -1
- package/lib/tntd-form/TntdForm/components/List.js.map +0 -1
- package/lib/tntd-form/TntdForm/index.d.ts +0 -10
- package/lib/tntd-form/TntdForm/index.d.ts.map +0 -1
- package/lib/tntd-form/TntdForm/index.js.map +0 -1
- package/lib/tntd-form/TntdForm/interface.d.ts +0 -93
- package/lib/tntd-form/TntdForm/interface.d.ts.map +0 -1
- package/lib/tntd-form/TntdForm/interface.js.map +0 -1
- package/lib/tntd-form/TntdForm/store.d.ts +0 -4
- package/lib/tntd-form/TntdForm/store.d.ts.map +0 -1
- package/lib/tntd-form/TntdForm/store.js.map +0 -1
- package/lib/tntd-form/TntdForm/utils.d.ts +0 -48
- package/lib/tntd-form/TntdForm/utils.d.ts.map +0 -1
- package/lib/tntd-form/TntdForm/utils.js.map +0 -1
- package/lib/tntd-layout/tntdLayout.stories.d.ts +0 -5
- package/lib/tntd-layout/tntdLayout.stories.d.ts.map +0 -1
- package/lib/tntd-layout/tntdLayout.stories.js +0 -326
- package/lib/tntd-layout/tntdLayout.stories.js.map +0 -1
package/lib/table/table.js
CHANGED
|
@@ -61,6 +61,43 @@ const sizeWidthMap = {
|
|
|
61
61
|
const getDefaultPagination = (locale) => ({
|
|
62
62
|
showTotal: (total) => react_1.default.createElement(total_shower_1.TotalShower, { total: total, locale: locale }),
|
|
63
63
|
});
|
|
64
|
+
const titleHandle = (str, upperCaseIgnore) => {
|
|
65
|
+
const words = str.split(' ');
|
|
66
|
+
const capitalizedWords = words.map((word, i) => {
|
|
67
|
+
const lowerCaseWord = word.toLowerCase();
|
|
68
|
+
let ignoreList = constants_1.prepositions.concat(constants_1.articles);
|
|
69
|
+
if (upperCaseIgnore === null || upperCaseIgnore === void 0 ? void 0 : upperCaseIgnore.length) {
|
|
70
|
+
ignoreList = ignoreList.concat(upperCaseIgnore);
|
|
71
|
+
ignoreList = Array.from(new Set(ignoreList));
|
|
72
|
+
}
|
|
73
|
+
if (ignoreList.includes(lowerCaseWord) && i !== 0) {
|
|
74
|
+
return lowerCaseWord;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
return word.charAt(0).toUpperCase() + word.slice(1);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
return capitalizedWords.join(' ');
|
|
81
|
+
};
|
|
82
|
+
// 表头转换为首字母大写
|
|
83
|
+
const titleCaseUpper = (str, upperCaseIgnore) => {
|
|
84
|
+
if (!str) {
|
|
85
|
+
return str;
|
|
86
|
+
}
|
|
87
|
+
if (typeof str === 'string') {
|
|
88
|
+
// 有斜杠根据斜杠划分
|
|
89
|
+
if (str === null || str === void 0 ? void 0 : str.includes('/')) {
|
|
90
|
+
const parWords = str.split('/');
|
|
91
|
+
return parWords
|
|
92
|
+
.map((str1) => {
|
|
93
|
+
return titleHandle(str1, upperCaseIgnore);
|
|
94
|
+
})
|
|
95
|
+
.join('/');
|
|
96
|
+
}
|
|
97
|
+
return titleHandle(str, upperCaseIgnore);
|
|
98
|
+
}
|
|
99
|
+
return str;
|
|
100
|
+
};
|
|
64
101
|
const Table = (_a) => {
|
|
65
102
|
var { className, locale, bordered, size, storageKey, columns, children, shadowed = !bordered, striped = false, showCellBorders = false,
|
|
66
103
|
// pagination,
|
|
@@ -72,43 +109,6 @@ const Table = (_a) => {
|
|
|
72
109
|
// )
|
|
73
110
|
const normalizedColumns = (0, react_1.useMemo)(() => columns || (0, utils_1.normalizeColumns)(children), [children, columns]);
|
|
74
111
|
const [displayColumns, columnSetting, setColumnSetting] = (0, hooks_1.useColumnSetting)(normalizedColumns, storageKey);
|
|
75
|
-
const titleHandle = (str) => {
|
|
76
|
-
const words = str.split(' ');
|
|
77
|
-
const capitalizedWords = words.map((word, i) => {
|
|
78
|
-
const lowerCaseWord = word.toLowerCase();
|
|
79
|
-
let ignoreList = constants_1.prepositions.concat(constants_1.articles);
|
|
80
|
-
if (upperCaseIgnore === null || upperCaseIgnore === void 0 ? void 0 : upperCaseIgnore.length) {
|
|
81
|
-
ignoreList = ignoreList.concat(upperCaseIgnore);
|
|
82
|
-
ignoreList = Array.from(new Set(ignoreList));
|
|
83
|
-
}
|
|
84
|
-
if (ignoreList.includes(lowerCaseWord) && i !== 0) {
|
|
85
|
-
return lowerCaseWord;
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
return word.charAt(0).toUpperCase() + word.slice(1);
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
return capitalizedWords.join(' ');
|
|
92
|
-
};
|
|
93
|
-
// 表头转换为首字母大写
|
|
94
|
-
const titleCaseUpper = (str) => {
|
|
95
|
-
if (!str) {
|
|
96
|
-
return str;
|
|
97
|
-
}
|
|
98
|
-
if (typeof str === 'string') {
|
|
99
|
-
// 有斜杠根据斜杠划分
|
|
100
|
-
if (str === null || str === void 0 ? void 0 : str.includes('/')) {
|
|
101
|
-
const parWords = str.split('/');
|
|
102
|
-
return parWords
|
|
103
|
-
.map((str1) => {
|
|
104
|
-
return titleHandle(str1);
|
|
105
|
-
})
|
|
106
|
-
.join('/');
|
|
107
|
-
}
|
|
108
|
-
return titleHandle(str);
|
|
109
|
-
}
|
|
110
|
-
return str;
|
|
111
|
-
};
|
|
112
112
|
const lang = (0, prev_locale_1.getLanguage)();
|
|
113
113
|
let newColumns = displayColumns;
|
|
114
114
|
// 非中文做处理
|
|
@@ -128,19 +128,19 @@ const Table = (_a) => {
|
|
|
128
128
|
const childProps = (child.props || {});
|
|
129
129
|
return react_1.default.cloneElement(child, Object.assign(Object.assign({}, childProps), { children: ((_a = childProps.children) === null || _a === void 0 ? void 0 : _a.length)
|
|
130
130
|
? renderChildren(childProps.children)
|
|
131
|
-
: childProps.children, title: titleCaseUpper(childProps === null || childProps === void 0 ? void 0 : childProps.title) }));
|
|
131
|
+
: childProps.children, title: titleCaseUpper(childProps === null || childProps === void 0 ? void 0 : childProps.title, upperCaseIgnore) }));
|
|
132
132
|
}
|
|
133
133
|
else {
|
|
134
|
-
return titleCaseUpper(child);
|
|
134
|
+
return titleCaseUpper(child, upperCaseIgnore);
|
|
135
135
|
}
|
|
136
136
|
});
|
|
137
137
|
}
|
|
138
|
-
return titleCaseUpper(children);
|
|
138
|
+
return titleCaseUpper(children, upperCaseIgnore);
|
|
139
139
|
};
|
|
140
140
|
return renderChildren(title.props.children);
|
|
141
141
|
}
|
|
142
142
|
if (typeof title === 'string') {
|
|
143
|
-
return titleCaseUpper(title);
|
|
143
|
+
return titleCaseUpper(title, upperCaseIgnore);
|
|
144
144
|
}
|
|
145
145
|
} });
|
|
146
146
|
});
|
|
@@ -212,4 +212,5 @@ exports.Table = Table;
|
|
|
212
212
|
exports.Table.Column = Column_1.default;
|
|
213
213
|
exports.Table.ColumnGroup = ColumnGroup_1.default;
|
|
214
214
|
exports.Table.displayName = 'Table';
|
|
215
|
+
exports.Table.titleCaseUpper = titleCaseUpper;
|
|
215
216
|
//# sourceMappingURL=table.js.map
|
package/lib/table/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from 'antd/es/config-provider'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport type {\n TableProps as AntdTableProps,\n ColumnProps,\n TableStateFilters,\n SortOrder,\n} from 'antd/es/table'\nimport { default as AntdTable } from 'antd/es/table'\nimport Column from 'antd/es/table/Column'\nimport ColumnGroup from 'antd/es/table/ColumnGroup'\nimport classNames from 'classnames'\nimport React, { ReactChildren, ReactElement, useMemo, useRef } from 'react'\nimport Ellipsis from '../ellipsis'\nimport { TableContext } from './context'\nimport { useColumnSetting } from './hooks'\nimport { normalizeColumns } from './utils'\nimport { TotalShower } from './total-shower'\nimport { getLanguage } from '../prev-locale'\nimport { articles, prepositions } from './constants'\n\nconst sizeWidthMap = {\n default: 40, //20\n middle: 20, //10\n small: 20, //10\n xs: 16, // 8\n}\n\nexport type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n storageKey?: string\n enableToolbar?: boolean\n showCellBorders?: boolean\n striped?: boolean\n shadowed?: boolean\n locale?: AntdTableProps<T>['locale'] & {\n loadingDescription?: string\n emptyText?: string\n }\n refresh?(): void\n upperCaseIgnore?: string[]\n}\n\nconst getDefaultPagination = (locale: NonNullable<AntdTableProps<unknown>['locale']>) => ({\n showTotal: (total: number) => <TotalShower total={total} locale={locale} />,\n})\n\nexport const Table = <T,>({\n className,\n locale,\n bordered,\n size,\n storageKey,\n columns,\n children,\n shadowed = !bordered,\n striped = false,\n showCellBorders = false,\n // pagination,\n enableToolbar = false,\n refresh,\n upperCaseIgnore,\n ...rest\n}: TableProps<T>) => {\n const tableContainer = useRef<HTMLDivElement>(null)\n // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(\n // TABLE_SIZE_STORAGE_KEY,\n // 'default'\n // )\n const normalizedColumns = useMemo(\n () => columns || normalizeColumns<T>(children as React.ReactChildren),\n [children, columns]\n )\n const [displayColumns, columnSetting, setColumnSetting] = useColumnSetting(\n normalizedColumns,\n storageKey\n )\n\n const titleHandle = (str: string): string => {\n const words: string[] = str.split(' ')\n const capitalizedWords: string[] = words.map((word: string, i: number) => {\n const lowerCaseWord: string = word.toLowerCase()\n let ignoreList = prepositions.concat(articles)\n if (upperCaseIgnore?.length) {\n ignoreList = ignoreList.concat(upperCaseIgnore)\n ignoreList = Array.from(new Set(ignoreList))\n }\n if (ignoreList.includes(lowerCaseWord) && i !== 0) {\n return lowerCaseWord\n } else {\n return word.charAt(0).toUpperCase() + word.slice(1)\n }\n })\n return capitalizedWords.join(' ')\n }\n // 表头转换为首字母大写\n const titleCaseUpper = (str: string) => {\n if (!str) {\n return str\n }\n if (typeof str === 'string') {\n // 有斜杠根据斜杠划分\n if (str?.includes('/')) {\n const parWords: string[] = str.split('/')\n return parWords\n .map((str1) => {\n return titleHandle(str1)\n })\n .join('/')\n }\n return titleHandle(str)\n }\n return str\n }\n\n const lang = getLanguage()\n let newColumns = displayColumns\n // 非中文做处理\n if (lang !== 'cn') {\n newColumns = displayColumns?.map((column) => {\n return {\n ...column,\n title: (options: {\n filters: TableStateFilters\n sortOrder?: SortOrder\n sortColumn?: ColumnProps<T> | null\n }) => {\n let title = column.title\n if (typeof title === 'function') {\n title = title(options)\n }\n if (React.isValidElement(title)) {\n const renderChildren = (children: [] | string): React.ReactNode => {\n if (React.isValidElement(children) || Array.isArray(children)) {\n return React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n const childProps = (child.props || {}) as any\n return React.cloneElement(child, {\n ...childProps,\n children: childProps.children?.length\n ? renderChildren(childProps.children)\n : childProps.children,\n title: titleCaseUpper(childProps?.title),\n })\n } else {\n return titleCaseUpper(child)\n }\n })\n }\n return titleCaseUpper(children)\n }\n return renderChildren(title.props.children)\n }\n if (typeof title === 'string') {\n return titleCaseUpper(title)\n }\n },\n }\n })\n newColumns = newColumns?.map((column) => {\n if (!(column.width && !String(column.width).includes('%'))) {\n return column\n } else {\n return {\n ...column,\n title: (options: {\n filters: TableStateFilters\n sortOrder?: SortOrder\n sortColumn?: ColumnProps<T> | null\n }) => {\n let title = column.title\n if (typeof title === 'function') {\n title = title(options)\n }\n\n let widthLimitObj = {}\n if (column.width && !String(column.width).includes('%')) {\n let width = column.width\n if (typeof width === 'string') {\n width = width.replace(/[^\\d]/g, ' ')\n }\n widthLimitObj = {\n widthLimit:\n Number(width) -\n Number(sizeWidthMap[size || 'default']) -\n (column.sorter ? 20 : 0),\n }\n }\n return (\n <Ellipsis\n {...widthLimitObj}\n placement={column?.placement || 'topLeft'}\n title={title}\n />\n )\n },\n }\n }\n })\n }\n\n /**\n * update the innerSize when props size changes\n */\n // useEffect(() => {\n // if (size) {\n // setInnerSize(size)\n // }\n // }, [setInnerSize, size])\n\n return (\n <TableContext.Provider\n value={{\n // size: innerSize,\n tableContainer,\n columnSetting,\n refresh,\n upperCaseIgnore,\n // setSize: setInnerSize,\n setColumnSetting,\n }}\n >\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('table')\n return (\n <div ref={tableContainer}>\n <LocaleReceiver componentName=\"Table\" defaultLocale={locale}>\n {(localeObject) => {\n // const locale = localeObject as Record<string, string>\n // const paginationConfig = pagination ? getDefaultPagination(locale) : pagination\n return (\n <AntdTable\n className={classNames(\n // prefixCls,\n 'tnt-table-wrapper',\n {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-hide-cell-borders`]: !showCellBorders,\n [`${prefixCls}-size-small`]: size === 'small',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-striped`]: striped,\n [`${prefixCls}-shadowed`]: shadowed,\n },\n className\n )}\n locale={locale}\n bordered={bordered}\n size={size}\n columns={newColumns}\n {...rest}\n />\n )\n }}\n </LocaleReceiver>\n </div>\n )\n }}\n </ConfigConsumer>\n </TableContext.Provider>\n )\n}\n\nTable.Column = Column\nTable.ColumnGroup = ColumnGroup\nTable.displayName = 'Table'\n"]}
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ConfigConsumer } from 'antd/es/config-provider'\nimport LocaleReceiver from 'antd/es/locale-provider/LocaleReceiver'\nimport type {\n TableProps as AntdTableProps,\n ColumnProps,\n TableStateFilters,\n SortOrder,\n} from 'antd/es/table'\nimport { default as AntdTable } from 'antd/es/table'\nimport Column from 'antd/es/table/Column'\nimport ColumnGroup from 'antd/es/table/ColumnGroup'\nimport classNames from 'classnames'\nimport React, { ReactChildren, ReactElement, useMemo, useRef } from 'react'\nimport Ellipsis from '../ellipsis'\nimport { TableContext } from './context'\nimport { useColumnSetting } from './hooks'\nimport { normalizeColumns } from './utils'\nimport { TotalShower } from './total-shower'\nimport { getLanguage } from '../prev-locale'\nimport { articles, prepositions } from './constants'\n\nconst sizeWidthMap = {\n default: 40, //20\n middle: 20, //10\n small: 20, //10\n xs: 16, // 8\n}\n\nexport type TableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n storageKey?: string\n enableToolbar?: boolean\n showCellBorders?: boolean\n striped?: boolean\n shadowed?: boolean\n locale?: AntdTableProps<T>['locale'] & {\n loadingDescription?: string\n emptyText?: string\n }\n refresh?(): void\n upperCaseIgnore?: string[]\n}\n\nconst getDefaultPagination = (locale: NonNullable<AntdTableProps<unknown>['locale']>) => ({\n showTotal: (total: number) => <TotalShower total={total} locale={locale} />,\n})\n\nconst titleHandle = (str: string, upperCaseIgnore: string[] | undefined): string => {\n const words: string[] = str.split(' ')\n const capitalizedWords: string[] = words.map((word: string, i: number) => {\n const lowerCaseWord: string = word.toLowerCase()\n let ignoreList = prepositions.concat(articles)\n if (upperCaseIgnore?.length) {\n ignoreList = ignoreList.concat(upperCaseIgnore)\n ignoreList = Array.from(new Set(ignoreList))\n }\n if (ignoreList.includes(lowerCaseWord) && i !== 0) {\n return lowerCaseWord\n } else {\n return word.charAt(0).toUpperCase() + word.slice(1)\n }\n })\n return capitalizedWords.join(' ')\n}\n\n// 表头转换为首字母大写\nconst titleCaseUpper = (str: string, upperCaseIgnore: string[] | undefined) => {\n if (!str) {\n return str\n }\n if (typeof str === 'string') {\n // 有斜杠根据斜杠划分\n if (str?.includes('/')) {\n const parWords: string[] = str.split('/')\n return parWords\n .map((str1) => {\n return titleHandle(str1, upperCaseIgnore)\n })\n .join('/')\n }\n return titleHandle(str, upperCaseIgnore)\n }\n return str\n}\n\nexport const Table = <T,>({\n className,\n locale,\n bordered,\n size,\n storageKey,\n columns,\n children,\n shadowed = !bordered,\n striped = false,\n showCellBorders = false,\n // pagination,\n enableToolbar = false,\n refresh,\n upperCaseIgnore,\n ...rest\n}: TableProps<T>) => {\n const tableContainer = useRef<HTMLDivElement>(null)\n // const [innerSize, setInnerSize] = useLocalStorage<TableProps<T>['size']>(\n // TABLE_SIZE_STORAGE_KEY,\n // 'default'\n // )\n const normalizedColumns = useMemo(\n () => columns || normalizeColumns<T>(children as React.ReactChildren),\n [children, columns]\n )\n const [displayColumns, columnSetting, setColumnSetting] = useColumnSetting(\n normalizedColumns,\n storageKey\n )\n\n const lang = getLanguage()\n let newColumns = displayColumns\n // 非中文做处理\n if (lang !== 'cn') {\n newColumns = displayColumns?.map((column) => {\n return {\n ...column,\n title: (options: {\n filters: TableStateFilters\n sortOrder?: SortOrder\n sortColumn?: ColumnProps<T> | null\n }) => {\n let title = column.title\n if (typeof title === 'function') {\n title = title(options)\n }\n if (React.isValidElement(title)) {\n const renderChildren = (children: [] | string): React.ReactNode => {\n if (React.isValidElement(children) || Array.isArray(children)) {\n return React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n const childProps = (child.props || {}) as any\n return React.cloneElement(child, {\n ...childProps,\n children: childProps.children?.length\n ? renderChildren(childProps.children)\n : childProps.children,\n title: titleCaseUpper(childProps?.title, upperCaseIgnore),\n })\n } else {\n return titleCaseUpper(child, upperCaseIgnore)\n }\n })\n }\n\n return titleCaseUpper(children, upperCaseIgnore)\n }\n return renderChildren(title.props.children)\n }\n if (typeof title === 'string') {\n return titleCaseUpper(title, upperCaseIgnore)\n }\n },\n }\n })\n newColumns = newColumns?.map((column) => {\n if (!(column.width && !String(column.width).includes('%'))) {\n return column\n } else {\n return {\n ...column,\n title: (options: {\n filters: TableStateFilters\n sortOrder?: SortOrder\n sortColumn?: ColumnProps<T> | null\n }) => {\n let title = column.title\n if (typeof title === 'function') {\n title = title(options)\n }\n\n let widthLimitObj = {}\n if (column.width && !String(column.width).includes('%')) {\n let width = column.width\n if (typeof width === 'string') {\n width = width.replace(/[^\\d]/g, ' ')\n }\n widthLimitObj = {\n widthLimit:\n Number(width) -\n Number(sizeWidthMap[size || 'default']) -\n (column.sorter ? 20 : 0),\n }\n }\n return (\n <Ellipsis\n {...widthLimitObj}\n placement={column?.placement || 'topLeft'}\n title={title}\n />\n )\n },\n }\n }\n })\n }\n\n /**\n * update the innerSize when props size changes\n */\n // useEffect(() => {\n // if (size) {\n // setInnerSize(size)\n // }\n // }, [setInnerSize, size])\n\n return (\n <TableContext.Provider\n value={{\n // size: innerSize,\n tableContainer,\n columnSetting,\n refresh,\n upperCaseIgnore,\n // setSize: setInnerSize,\n setColumnSetting,\n }}\n >\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n const prefixCls = getPrefixCls('table')\n return (\n <div ref={tableContainer}>\n <LocaleReceiver componentName=\"Table\" defaultLocale={locale}>\n {(localeObject) => {\n // const locale = localeObject as Record<string, string>\n // const paginationConfig = pagination ? getDefaultPagination(locale) : pagination\n return (\n <AntdTable\n className={classNames(\n // prefixCls,\n 'tnt-table-wrapper',\n {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-hide-cell-borders`]: !showCellBorders,\n [`${prefixCls}-size-small`]: size === 'small',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-size-middle`]: size === 'middle',\n [`${prefixCls}-striped`]: striped,\n [`${prefixCls}-shadowed`]: shadowed,\n },\n className\n )}\n locale={locale}\n bordered={bordered}\n size={size}\n columns={newColumns}\n {...rest}\n />\n )\n }}\n </LocaleReceiver>\n </div>\n )\n }}\n </ConfigConsumer>\n </TableContext.Provider>\n )\n}\n\nTable.Column = Column\nTable.ColumnGroup = ColumnGroup\nTable.displayName = 'Table'\nTable.titleCaseUpper = titleCaseUpper\n"]}
|
package/lib/tabs/index.d.ts
CHANGED
package/lib/tabs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,cAAc,QAAQ,CAAA;AAEtB,eAAe,IAAI,CAAA"}
|
package/lib/tabs/index.js
CHANGED
|
@@ -13,12 +13,9 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
13
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
const tabs_1 = __importDefault(require("antd/es/tabs"));
|
|
21
17
|
require("antd/es/tabs/style");
|
|
22
|
-
|
|
23
|
-
exports
|
|
18
|
+
const tabs_1 = require("./tabs");
|
|
19
|
+
__exportStar(require("./tabs"), exports);
|
|
20
|
+
exports.default = tabs_1.Tabs;
|
|
24
21
|
//# sourceMappingURL=index.js.map
|
package/lib/tabs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tabs/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tabs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8BAA2B;AAC3B,iCAA6B;AAE7B,yCAAsB;AAEtB,kBAAe,WAAI,CAAA","sourcesContent":["import 'antd/es/tabs/style'\nimport { Tabs } from './tabs'\n\nexport * from './tabs'\n\nexport default Tabs\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=tabPane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabPane.d.ts","sourceRoot":"","sources":["../../src/tabs/tabPane.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabPane.js","sourceRoot":"","sources":["../../src/tabs/tabPane.tsx"],"names":[],"mappings":"","sourcesContent":[""]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { TabPaneProps as AntdTabPaneProps } from 'antd/es/tabs';
|
|
3
|
+
export * from 'antd/es/tabs';
|
|
4
|
+
export interface TabPaneProps extends AntdTabPaneProps {
|
|
5
|
+
children?: Array<React.ReactElement>;
|
|
6
|
+
}
|
|
7
|
+
export declare function Tabs({ children, ...rest }: TabPaneProps): JSX.Element;
|
|
8
|
+
export declare namespace Tabs {
|
|
9
|
+
var TabPane: React.ClassicComponentClass<AntdTabPaneProps>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=tabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/tabs/tabs.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAMpE,cAAc,cAAc,CAAA;AAE5B,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;CACrC;AACD,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAgErE;yBAhEe,IAAI"}
|
package/lib/tabs/tabs.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
17
|
+
var t = {};
|
|
18
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
19
|
+
t[p] = s[p];
|
|
20
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
21
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
22
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
23
|
+
t[p[i]] = s[p[i]];
|
|
24
|
+
}
|
|
25
|
+
return t;
|
|
26
|
+
};
|
|
27
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
28
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
29
|
+
};
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.Tabs = void 0;
|
|
32
|
+
/*
|
|
33
|
+
* @Author: 周泽飞 zefei.zhou@tongdun.net
|
|
34
|
+
* @Date: 2023-10-16 11:08:28
|
|
35
|
+
* @LastEditors: 周泽飞 zefei.zhou@tongdun.net
|
|
36
|
+
* @LastEditTime: 2023-10-16 16:24:53
|
|
37
|
+
* @FilePath: /tntd/packages/tntd/src/tabs/tabs.tsx
|
|
38
|
+
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
39
|
+
*/
|
|
40
|
+
const react_1 = __importDefault(require("react"));
|
|
41
|
+
const config_provider_1 = require("antd/es/config-provider");
|
|
42
|
+
const tabs_1 = __importDefault(require("antd/es/tabs"));
|
|
43
|
+
__exportStar(require("antd/es/tabs"), exports);
|
|
44
|
+
function Tabs(_a) {
|
|
45
|
+
var { children } = _a, rest = __rest(_a, ["children"]);
|
|
46
|
+
const titleHandle = (tab) => {
|
|
47
|
+
var _a, _b, _c, _d, _e, _f;
|
|
48
|
+
if (!tab) {
|
|
49
|
+
return tab;
|
|
50
|
+
}
|
|
51
|
+
if (typeof tab === 'string') {
|
|
52
|
+
const words = tab.split(' ');
|
|
53
|
+
const capitalizedWords = words.map((word) => {
|
|
54
|
+
const lowerCaseWord = word === null || word === void 0 ? void 0 : word.toLowerCase();
|
|
55
|
+
return lowerCaseWord.charAt(0).toUpperCase() + lowerCaseWord.slice(1);
|
|
56
|
+
});
|
|
57
|
+
tab = capitalizedWords.join(' ');
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
if (react_1.default.isValidElement(tab)) {
|
|
61
|
+
if (((_a = tab === null || tab === void 0 ? void 0 : tab.props) === null || _a === void 0 ? void 0 : _a.children) && Array.isArray((_b = tab === null || tab === void 0 ? void 0 : tab.props) === null || _b === void 0 ? void 0 : _b.children)) {
|
|
62
|
+
return Object.assign(Object.assign({}, tab), { props: Object.assign(Object.assign({}, tab.props), { children: (_d = (_c = tab === null || tab === void 0 ? void 0 : tab.props) === null || _c === void 0 ? void 0 : _c.children) === null || _d === void 0 ? void 0 : _d.map((subTab) => {
|
|
63
|
+
return titleHandle(subTab);
|
|
64
|
+
}) }) });
|
|
65
|
+
}
|
|
66
|
+
else if (typeof ((_e = tab === null || tab === void 0 ? void 0 : tab.props) === null || _e === void 0 ? void 0 : _e.children) === 'string') {
|
|
67
|
+
tab = Object.assign(Object.assign({}, tab), { props: Object.assign(Object.assign({}, tab.props), { children: titleHandle((_f = tab === null || tab === void 0 ? void 0 : tab.props) === null || _f === void 0 ? void 0 : _f.children) }) });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return tab;
|
|
72
|
+
};
|
|
73
|
+
let newChildren = children;
|
|
74
|
+
if (Array.isArray(newChildren)) {
|
|
75
|
+
newChildren = newChildren === null || newChildren === void 0 ? void 0 : newChildren.map((child) => {
|
|
76
|
+
var _a;
|
|
77
|
+
if (react_1.default.isValidElement(child)) {
|
|
78
|
+
return Object.assign(Object.assign({}, child), { props: Object.assign(Object.assign({}, child === null || child === void 0 ? void 0 : child.props), { tab: titleHandle((_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.tab) }) });
|
|
79
|
+
}
|
|
80
|
+
if (typeof child === 'string') {
|
|
81
|
+
return titleHandle(child);
|
|
82
|
+
}
|
|
83
|
+
return child;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return (react_1.default.createElement(config_provider_1.ConfigConsumer, null, ({ getPrefixCls }) => {
|
|
87
|
+
return react_1.default.createElement(tabs_1.default, Object.assign({}, rest, { children: newChildren }));
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
exports.Tabs = Tabs;
|
|
91
|
+
Tabs.TabPane = tabs_1.default.TabPane;
|
|
92
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/tabs/tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2023-10-16 11:08:28\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2023-10-16 16:24:53\n * @FilePath: /tntd/packages/tntd/src/tabs/tabs.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport React from 'react'\nimport type { TabsProps as AntdTabsProps } from 'antd/es/tabs'\nimport type { TabPaneProps as AntdTabPaneProps } from 'antd/es/tabs'\n\nimport { ConfigConsumer } from 'antd/es/config-provider'\n\nimport { default as AntdTabs } from 'antd/es/tabs'\n\nexport * from 'antd/es/tabs'\n\nexport interface TabPaneProps extends AntdTabPaneProps {\n children?: Array<React.ReactElement>\n}\nexport function Tabs({ children, ...rest }: TabPaneProps): JSX.Element {\n const titleHandle = (tab: string | React.ReactNode): undefined | React.ReactNode => {\n if (!tab) {\n return tab\n }\n if (typeof tab === 'string') {\n const words: string[] = tab.split(' ')\n const capitalizedWords: string[] = words.map((word: string) => {\n const lowerCaseWord: string = word?.toLowerCase()\n return lowerCaseWord.charAt(0).toUpperCase() + lowerCaseWord.slice(1)\n })\n tab = capitalizedWords.join(' ')\n } else {\n if (React.isValidElement(tab)) {\n if (tab?.props?.children && Array.isArray(tab?.props?.children)) {\n return {\n ...tab,\n props: {\n ...tab.props,\n children: tab?.props?.children?.map((subTab: string | React.ReactNode) => {\n return titleHandle(subTab)\n }),\n },\n }\n } else if (typeof tab?.props?.children === 'string') {\n tab = {\n ...tab,\n props: {\n ...tab.props,\n children: titleHandle(tab?.props?.children),\n },\n }\n }\n }\n }\n return tab\n }\n\n let newChildren: string | React.ReactNode = children\n if (Array.isArray(newChildren)) {\n newChildren = newChildren?.map((child: string | React.ReactNode) => {\n if (React.isValidElement(child)) {\n return {\n ...child,\n props: {\n ...child?.props,\n tab: titleHandle(child?.props?.tab),\n },\n }\n }\n if (typeof child === 'string') {\n return titleHandle(child)\n }\n return child\n })\n }\n\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdTabs {...rest} children={newChildren} />\n }}\n </ConfigConsumer>\n )\n}\n\nTabs.TabPane = AntdTabs.TabPane\n"]}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import './index.less';
|
|
4
|
-
export declare type ModalProps = AntdModalProps & {
|
|
5
|
-
children?: React.ReactNode;
|
|
6
|
-
hasFooter?: boolean;
|
|
7
|
-
config?: {
|
|
8
|
-
fullScreen?: boolean;
|
|
9
|
-
width?: string | number;
|
|
10
|
-
height?: string | number;
|
|
11
|
-
logo?: React.ReactNode;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
export declare const Modal: ({ visible, className, title, width, style, children, onCancel, hasFooter, footer, config, ...rest }: ModalProps) => JSX.Element;
|
|
15
|
-
export default Modal;
|
|
1
|
+
declare function _default(props: any): JSX.Element;
|
|
2
|
+
export default _default;
|
|
16
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-modal/index.
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-modal/index.js"],"names":[],"mappings":"AAoCe,mDAkDd"}
|
package/lib/tntd-modal/index.js
CHANGED
|
@@ -37,66 +37,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.Modal = void 0;
|
|
41
|
-
const react_1 = require("@icon-park/react");
|
|
42
40
|
const classnames_1 = __importDefault(require("classnames"));
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
const
|
|
41
|
+
const react_1 = __importStar(require("react"));
|
|
42
|
+
const modal_1 = __importDefault(require("../modal"));
|
|
43
|
+
const tntd_icon_1 = __importDefault(require("../tntd-icon"));
|
|
46
44
|
require("./index.less");
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
react_2.default.createElement("span", null, title)),
|
|
64
|
-
react_2.default.createElement("div", { className: "ant-modal-header-actions" },
|
|
65
|
-
react_2.default.createElement("a", { className: "modal-fullscreen-wrap", onClick: onToggleFullscreen }, fullscreen ? react_2.default.createElement(react_1.OffScreen, null) : react_2.default.createElement(react_1.FullScreen, null)),
|
|
66
|
-
react_2.default.createElement("a", { className: "modal-close-wrap", onClick: onClose },
|
|
67
|
-
react_2.default.createElement(react_1.Close, { theme: "outline" })))));
|
|
68
|
-
};
|
|
69
|
-
const computeWidth = supportFullscreen
|
|
70
|
-
? fullscreen
|
|
71
|
-
? '100vw'
|
|
72
|
-
: width || config.width
|
|
73
|
-
: width || config.width;
|
|
74
|
-
const computeHeight = supportFullscreen ? (fullscreen ? '100vh' : config.height) : 'inherit';
|
|
75
|
-
style.height = computeHeight;
|
|
76
|
-
if (supportFullscreen && fullscreen) {
|
|
77
|
-
style.top = 0;
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
delete style.top;
|
|
81
|
-
}
|
|
82
|
-
const footerConfig = hasFooter
|
|
83
|
-
? ((0, lodash_1.isArray)(footer) ? footer.length > 0 : footer)
|
|
84
|
-
? footer
|
|
85
|
-
: undefined
|
|
86
|
-
: null;
|
|
87
|
-
return (react_2.default.createElement(antd_1.Modal, Object.assign({ visible: visible, title: supportFullscreen ? (react_2.default.createElement(Title, { logo: config.logo, title: title, fullscreen: fullscreen, supportFullscreen: supportFullscreen, onClose: onCancel, onToggleFullscreen: () => {
|
|
45
|
+
const Title = ({ title, logo, fullscreen, supportFullscreen = true, onToggleFullscreen, onClose, }) => {
|
|
46
|
+
return (react_1.default.createElement(react_1.Fragment, null,
|
|
47
|
+
react_1.default.createElement("div", null,
|
|
48
|
+
logo && react_1.default.createElement("img", { src: logo }),
|
|
49
|
+
react_1.default.createElement("span", null, title)),
|
|
50
|
+
react_1.default.createElement("div", { className: "tnt-modal-header-actions" },
|
|
51
|
+
supportFullscreen && (react_1.default.createElement(tntd_icon_1.default, { className: "fullscreen", type: fullscreen ? 'fullscreen-exit' : 'fullscreen', onClick: onToggleFullscreen })),
|
|
52
|
+
react_1.default.createElement(tntd_icon_1.default, { className: "close", type: "close", onClick: onClose }))));
|
|
53
|
+
};
|
|
54
|
+
exports.default = (props) => {
|
|
55
|
+
const { visible, children, logo, title, height = '90vh', width = '85%', className, supportFullscreen, onToggleFullscreen, onCancel } = props, rest = __rest(props, ["visible", "children", "logo", "title", "height", "width", "className", "supportFullscreen", "onToggleFullscreen", "onCancel"]);
|
|
56
|
+
const [fullscreen, setFullscreen] = (0, react_1.useState)(rest.fullscreen || false);
|
|
57
|
+
(0, react_1.useEffect)(() => {
|
|
58
|
+
setFullscreen(rest.fullscreen);
|
|
59
|
+
}, [rest.fullscreen, visible]);
|
|
60
|
+
return (react_1.default.createElement(modal_1.default, Object.assign({ visible: visible, title: react_1.default.createElement(Title, { logo: logo, title: title, fullscreen: fullscreen, supportFullscreen: supportFullscreen, onClose: onCancel, onToggleFullscreen: () => {
|
|
88
61
|
setFullscreen(!fullscreen);
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
'support-fullscreen': supportFullscreen,
|
|
94
|
-
fullscreen: fullscreen,
|
|
95
|
-
'no-header': supportFullscreen && !(config.logo || title),
|
|
96
|
-
},
|
|
97
|
-
className,
|
|
98
|
-
]), footer: footer }, rest), children));
|
|
62
|
+
onToggleFullscreen && onToggleFullscreen(!fullscreen);
|
|
63
|
+
} }), onCancel: onCancel, destroyOnClose: true, centered: true, footer: null, width: fullscreen ? '100%' : width, style: {
|
|
64
|
+
height: fullscreen ? '100vh' : height,
|
|
65
|
+
}, className: (0, classnames_1.default)('tnt-modal', { [className]: className, fullscreen }) }, rest), children));
|
|
99
66
|
};
|
|
100
|
-
exports.Modal = Modal;
|
|
101
|
-
exports.default = exports.Modal;
|
|
102
67
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-modal/index.
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-modal/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA2B;AAC3B,+CAA4D;AAE5D,qDAA4B;AAC5B,6DAA+B;AAE/B,wBAAqB;AAErB,MAAM,KAAK,GAAG,CAAC,EACb,KAAK,EACL,IAAI,EACJ,UAAU,EACV,iBAAiB,GAAG,IAAI,EACxB,kBAAkB,EAClB,OAAO,GACR,EAAE,EAAE;IACH,OAAO,CACL,8BAAC,gBAAQ;QACP;YACG,IAAI,IAAI,uCAAK,GAAG,EAAE,IAAI,GAAI;YAC3B,4CAAO,KAAK,CAAQ,CAChB;QACN,uCAAK,SAAS,EAAC,0BAA0B;YACtC,iBAAiB,IAAI,CACpB,8BAAC,mBAAI,IACH,SAAS,EAAC,YAAY,EACtB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,EACnD,OAAO,EAAE,kBAAkB,GAC3B,CACH;YACD,8BAAC,mBAAI,IAAC,SAAS,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,OAAO,GAAI,CACrD,CACG,CACZ,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,CAAC,KAAK,EAAE,EAAE;IACvB,MAAM,EACJ,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,MAAM,GAAG,MAAM,EACf,KAAK,GAAG,KAAK,EACb,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAClB,QAAQ,KAEN,KAAK,EADJ,IAAI,UACL,KAAK,EAZH,+HAYL,CAAQ,CAAA;IACT,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,CAAA;IAEtE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAChC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IAE9B,OAAO,CACL,8BAAC,eAAK,kBACJ,OAAO,EAAE,OAAO,EAChB,KAAK,EACH,8BAAC,KAAK,IACJ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,QAAQ,EACjB,kBAAkB,EAAE,GAAG,EAAE;gBACvB,aAAa,CAAC,CAAC,UAAU,CAAC,CAAA;gBAC1B,kBAAkB,IAAI,kBAAkB,CAAC,CAAC,UAAU,CAAC,CAAA;YACvD,CAAC,GACD,EAEJ,QAAQ,EAAE,QAAQ,EAClB,cAAc,QACd,QAAQ,QACR,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAClC,KAAK,EAAE;YACL,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;SACtC,EACD,SAAS,EAAE,IAAA,oBAAE,EAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,IAC9D,IAAI,GAEP,QAAQ,CACH,CACT,CAAA;AACH,CAAC,CAAA","sourcesContent":["import cn from 'classnames'\nimport React, { Fragment, useEffect, useState } from 'react'\n\nimport Modal from '../modal'\nimport Icon from '../tntd-icon'\n\nimport './index.less'\n\nconst Title = ({\n title,\n logo,\n fullscreen,\n supportFullscreen = true,\n onToggleFullscreen,\n onClose,\n}) => {\n return (\n <Fragment>\n <div>\n {logo && <img src={logo} />}\n <span>{title}</span>\n </div>\n <div className=\"tnt-modal-header-actions\">\n {supportFullscreen && (\n <Icon\n className=\"fullscreen\"\n type={fullscreen ? 'fullscreen-exit' : 'fullscreen'}\n onClick={onToggleFullscreen}\n />\n )}\n <Icon className=\"close\" type=\"close\" onClick={onClose} />\n </div>\n </Fragment>\n )\n}\n\nexport default (props) => {\n const {\n visible,\n children,\n logo,\n title,\n height = '90vh',\n width = '85%',\n className,\n supportFullscreen,\n onToggleFullscreen,\n onCancel,\n ...rest\n } = props\n const [fullscreen, setFullscreen] = useState(rest.fullscreen || false)\n\n useEffect(() => {\n setFullscreen(rest.fullscreen)\n }, [rest.fullscreen, visible])\n\n return (\n <Modal\n visible={visible}\n title={\n <Title\n logo={logo}\n title={title}\n fullscreen={fullscreen}\n supportFullscreen={supportFullscreen}\n onClose={onCancel}\n onToggleFullscreen={() => {\n setFullscreen(!fullscreen)\n onToggleFullscreen && onToggleFullscreen(!fullscreen)\n }}\n />\n }\n onCancel={onCancel}\n destroyOnClose\n centered\n footer={null}\n width={fullscreen ? '100%' : width}\n style={{\n height: fullscreen ? '100vh' : height,\n }}\n className={cn('tnt-modal', { [className]: className, fullscreen })}\n {...rest}\n >\n {children}\n </Modal>\n )\n}\n"]}
|