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.
Files changed (125) hide show
  1. package/es/button/button.js +46 -0
  2. package/es/button/button.js.map +1 -0
  3. package/es/button/index.js +2 -2
  4. package/es/button/index.js.map +1 -1
  5. package/es/form/form.js +58 -0
  6. package/es/form/form.js.map +1 -0
  7. package/es/form/index.js +2 -2
  8. package/es/form/index.js.map +1 -1
  9. package/es/handle/handle.js +102 -0
  10. package/es/handle/handle.js.map +1 -0
  11. package/es/handle/index.js +30 -0
  12. package/es/handle/index.js.map +1 -1
  13. package/es/table/table.js +42 -41
  14. package/es/table/table.js.map +1 -1
  15. package/es/tabs/index.js +2 -2
  16. package/es/tabs/index.js.map +1 -1
  17. package/es/tabs/tabPane.js +2 -0
  18. package/es/tabs/tabPane.js.map +1 -0
  19. package/es/tabs/tabs.js +71 -0
  20. package/es/tabs/tabs.js.map +1 -0
  21. package/es/tntd-modal/index.js +21 -54
  22. package/es/tntd-modal/index.js.map +1 -1
  23. package/es/tntd-modal/index.less +66 -82
  24. package/lib/button/button.d.ts +9 -0
  25. package/lib/button/button.d.ts.map +1 -0
  26. package/lib/button/button.js +67 -0
  27. package/lib/button/button.js.map +1 -0
  28. package/lib/button/index.d.ts +2 -2
  29. package/lib/button/index.d.ts.map +1 -1
  30. package/lib/button/index.js +3 -6
  31. package/lib/button/index.js.map +1 -1
  32. package/lib/form/form.d.ts +11 -0
  33. package/lib/form/form.d.ts.map +1 -0
  34. package/lib/form/form.js +79 -0
  35. package/lib/form/form.js.map +1 -0
  36. package/lib/form/index.d.ts +2 -2
  37. package/lib/form/index.d.ts.map +1 -1
  38. package/lib/form/index.js +3 -6
  39. package/lib/form/index.js.map +1 -1
  40. package/lib/handle/handle.d.ts +3 -0
  41. package/lib/handle/handle.d.ts.map +1 -0
  42. package/lib/handle/handle.js +130 -0
  43. package/lib/handle/handle.js.map +1 -0
  44. package/lib/handle/index.d.ts.map +1 -1
  45. package/lib/handle/index.js +30 -0
  46. package/lib/handle/index.js.map +1 -1
  47. package/lib/segmented/index.d.ts +1 -1
  48. package/lib/svg-components/illustration-403.d.ts +1 -1
  49. package/lib/svg-components/illustration-404.d.ts +1 -1
  50. package/lib/svg-components/illustration-500.d.ts +1 -1
  51. package/lib/svg-components/illustration-empty.d.ts +1 -1
  52. package/lib/svg-components/illustration-failure.d.ts +1 -1
  53. package/lib/svg-components/illustration-no-access.d.ts +1 -1
  54. package/lib/svg-components/illustration-no-chart.d.ts +1 -1
  55. package/lib/svg-components/illustration-no-result.d.ts +1 -1
  56. package/lib/svg-components/illustration-offline.d.ts +1 -1
  57. package/lib/svg-components/illustration-success.d.ts +1 -1
  58. package/lib/table/assets/image-loading-background.d.ts +1 -1
  59. package/lib/table/assets/image-loading.d.ts +1 -1
  60. package/lib/table/table.d.ts +1 -0
  61. package/lib/table/table.d.ts.map +1 -1
  62. package/lib/table/table.js +42 -41
  63. package/lib/table/table.js.map +1 -1
  64. package/lib/tabs/index.d.ts +2 -2
  65. package/lib/tabs/index.d.ts.map +1 -1
  66. package/lib/tabs/index.js +3 -6
  67. package/lib/tabs/index.js.map +1 -1
  68. package/lib/tabs/tabPane.d.ts +1 -0
  69. package/lib/tabs/tabPane.d.ts.map +1 -0
  70. package/lib/tabs/tabPane.js +2 -0
  71. package/lib/tabs/tabPane.js.map +1 -0
  72. package/lib/tabs/tabs.d.ts +11 -0
  73. package/lib/tabs/tabs.d.ts.map +1 -0
  74. package/lib/tabs/tabs.js +92 -0
  75. package/lib/tabs/tabs.js.map +1 -0
  76. package/lib/tntd-modal/index.d.ts +2 -15
  77. package/lib/tntd-modal/index.d.ts.map +1 -1
  78. package/lib/tntd-modal/index.js +23 -58
  79. package/lib/tntd-modal/index.js.map +1 -1
  80. package/lib/tntd-modal/index.less +66 -82
  81. package/package.json +1 -1
  82. package/es/query-form/Field/AloneSearch.js +0 -17
  83. package/es/query-form/Field/AloneSearch.js.map +0 -1
  84. package/es/tag/tag.less +0 -61
  85. package/es/tnt-second-page/index.js +0 -48
  86. package/es/tnt-second-page/index.js.map +0 -1
  87. package/es/tntd-layout/tntdLayout.stories.js +0 -289
  88. package/es/tntd-layout/tntdLayout.stories.js.map +0 -1
  89. package/lib/mention/index.d.ts +0 -5
  90. package/lib/mention/index.d.ts.map +0 -1
  91. package/lib/mention/index.js.map +0 -1
  92. package/lib/query-form/Field/AloneSearch.d.ts +0 -2
  93. package/lib/query-form/Field/AloneSearch.d.ts.map +0 -1
  94. package/lib/query-form/Field/AloneSearch.js +0 -22
  95. package/lib/query-form/Field/AloneSearch.js.map +0 -1
  96. package/lib/tag/tag.less +0 -61
  97. package/lib/tnt-second-page/index.d.ts +0 -17
  98. package/lib/tnt-second-page/index.d.ts.map +0 -1
  99. package/lib/tnt-second-page/index.js +0 -59
  100. package/lib/tnt-second-page/index.js.map +0 -1
  101. package/lib/tntd-form/TntdForm/components/Item.d.ts +0 -5
  102. package/lib/tntd-form/TntdForm/components/Item.d.ts.map +0 -1
  103. package/lib/tntd-form/TntdForm/components/Item.js.map +0 -1
  104. package/lib/tntd-form/TntdForm/components/ItemComp.d.ts +0 -5
  105. package/lib/tntd-form/TntdForm/components/ItemComp.d.ts.map +0 -1
  106. package/lib/tntd-form/TntdForm/components/ItemComp.js.map +0 -1
  107. package/lib/tntd-form/TntdForm/components/List.d.ts +0 -5
  108. package/lib/tntd-form/TntdForm/components/List.d.ts.map +0 -1
  109. package/lib/tntd-form/TntdForm/components/List.js.map +0 -1
  110. package/lib/tntd-form/TntdForm/index.d.ts +0 -10
  111. package/lib/tntd-form/TntdForm/index.d.ts.map +0 -1
  112. package/lib/tntd-form/TntdForm/index.js.map +0 -1
  113. package/lib/tntd-form/TntdForm/interface.d.ts +0 -93
  114. package/lib/tntd-form/TntdForm/interface.d.ts.map +0 -1
  115. package/lib/tntd-form/TntdForm/interface.js.map +0 -1
  116. package/lib/tntd-form/TntdForm/store.d.ts +0 -4
  117. package/lib/tntd-form/TntdForm/store.d.ts.map +0 -1
  118. package/lib/tntd-form/TntdForm/store.js.map +0 -1
  119. package/lib/tntd-form/TntdForm/utils.d.ts +0 -48
  120. package/lib/tntd-form/TntdForm/utils.d.ts.map +0 -1
  121. package/lib/tntd-form/TntdForm/utils.js.map +0 -1
  122. package/lib/tntd-layout/tntdLayout.stories.d.ts +0 -5
  123. package/lib/tntd-layout/tntdLayout.stories.d.ts.map +0 -1
  124. package/lib/tntd-layout/tntdLayout.stories.js +0 -326
  125. package/lib/tntd-layout/tntdLayout.stories.js.map +0 -1
@@ -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
@@ -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"]}
@@ -1,5 +1,5 @@
1
- import Tabs from 'antd/es/tabs';
2
1
  import 'antd/es/tabs/style';
3
- export * from 'antd/es/tabs';
2
+ import { Tabs } from './tabs';
3
+ export * from './tabs';
4
4
  export default Tabs;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,cAAc,CAAA;AAE/B,OAAO,oBAAoB,CAAA;AAE3B,cAAc,cAAc,CAAA;AAE5B,eAAe,IAAI,CAAA"}
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
- __exportStar(require("antd/es/tabs"), exports);
23
- exports.default = tabs_1.default;
18
+ const tabs_1 = require("./tabs");
19
+ __exportStar(require("./tabs"), exports);
20
+ exports.default = tabs_1.Tabs;
24
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tabs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,wDAA+B;AAE/B,8BAA2B;AAE3B,+CAA4B;AAE5B,kBAAe,cAAI,CAAA","sourcesContent":["import Tabs from 'antd/es/tabs'\n\nimport 'antd/es/tabs/style'\n\nexport * from 'antd/es/tabs'\n\nexport default Tabs\n"]}
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,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=tabPane.js.map
@@ -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"}
@@ -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
- import type { ModalProps as AntdModalProps } from 'antd/lib/modal';
2
- import React from 'react';
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.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAElE,OAAO,KAAgD,MAAM,OAAO,CAAA;AAIpE,OAAO,cAAc,CAAA;AAErB,oBAAY,UAAU,GAAG,cAAc,GAAG;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QACxB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;KACvB,CAAA;CACF,CAAA;AAED,eAAO,MAAM,KAAK,wGAef,UAAU,gBAgGZ,CAAA;AAED,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tntd-modal/index.js"],"names":[],"mappings":"AAoCe,mDAkDd"}
@@ -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 react_2 = __importStar(require("react"));
44
- const antd_1 = require("antd");
45
- const lodash_1 = require("lodash");
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 Modal = (_a) => {
48
- var { visible, className, title, width, style = {}, children, onCancel, hasFooter = true, footer, config = {
49
- width: 'auto',
50
- height: 'auto',
51
- } } = _a, rest = __rest(_a, ["visible", "className", "title", "width", "style", "children", "onCancel", "hasFooter", "footer", "config"]);
52
- const [fullscreen, setFullscreen] = (0, react_2.useState)(false);
53
- const supportFullscreen = config.fullScreen;
54
- (0, react_2.useEffect)(() => {
55
- return () => {
56
- setFullscreen(false);
57
- };
58
- }, [visible]);
59
- const Title = ({ title, logo, fullscreen, onToggleFullscreen, onClose, }) => {
60
- return (react_2.default.createElement(react_2.Fragment, null,
61
- react_2.default.createElement("div", { className: "ant-modal-header-title" },
62
- logo && logo,
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
- if (!fullscreen) {
90
- }
91
- } })) : (title), onCancel: onCancel, centered: supportFullscreen ? true : rest.centered ? true : false, width: computeWidth, style: style, className: (0, classnames_1.default)([
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.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAiF;AAEjF,4DAA2B;AAC3B,+CAAoE;AACpE,+BAAyC;AACzC,mCAAgC;AAEhC,wBAAqB;AAad,MAAM,KAAK,GAAG,CAAC,EAeT,EAAE,EAAE;QAfK,EACpB,OAAO,EACP,SAAS,EACT,KAAK,EACL,KAAK,EACL,KAAK,GAAG,EAAE,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,GAAG,IAAI,EAChB,MAAM,EACN,MAAM,GAAG;QACP,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;KACf,OAEU,EADR,IAAI,cAda,4GAerB,CADQ;IAEP,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAA;IAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAA;IAE3C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,aAAa,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEb,MAAM,KAAK,GAAG,CAAC,EACb,KAAK,EACL,IAAI,EACJ,UAAU,EACV,kBAAkB,EAClB,OAAO,GAEN,EAAE,EAAE;QACL,OAAO,CACL,8BAAC,gBAAQ;YACP,uCAAK,SAAS,EAAC,wBAAwB;gBACpC,IAAI,IAAI,IAAI;gBACb,4CAAO,KAAK,CAAQ,CAChB;YACN,uCAAK,SAAS,EAAC,0BAA0B;gBACvC,qCAAG,SAAS,EAAC,uBAAuB,EAAC,OAAO,EAAE,kBAAkB,IAC7D,UAAU,CAAC,CAAC,CAAC,8BAAC,iBAAS,OAAG,CAAC,CAAC,CAAC,8BAAC,kBAAc,OAAG,CAC9C;gBACJ,qCAAG,SAAS,EAAC,kBAAkB,EAAC,OAAO,EAAE,OAAO;oBAC9C,8BAAC,aAAK,IAAC,KAAK,EAAC,SAAS,GAAG,CACvB,CACA,CACG,CACZ,CAAA;IACH,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,iBAAiB;QACpC,CAAC,CAAC,UAAU;YACV,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;QACzB,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAA;IAEzB,MAAM,aAAa,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE5F,KAAK,CAAC,MAAM,GAAG,aAAa,CAAA;IAC5B,IAAI,iBAAiB,IAAI,UAAU,EAAE;QACnC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;KACd;SAAM;QACL,OAAO,KAAK,CAAC,GAAG,CAAA;KACjB;IAED,MAAM,YAAY,GAAG,SAAS;QAC5B,CAAC,CAAC,CAAC,IAAA,gBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9C,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,IAAI,CAAA;IAER,OAAO,CACL,8BAAC,YAAS,kBACR,OAAO,EAAE,OAAO,EAChB,KAAK,EACH,iBAAiB,CAAC,CAAC,CAAC,CAClB,8BAAC,KAAK,IACJ,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,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,IAAI,CAAC,UAAU,EAAE;iBAChB;YACH,CAAC,GACD,CACH,CAAC,CAAC,CAAC,CACF,KAAK,CACN,EAEH,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EACjE,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,IAAA,oBAAE,EAAC;YACZ;gBACE,oBAAoB,EAAE,iBAAiB;gBACvC,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,iBAAiB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC;aAC1D;YACD,SAAS;SACV,CAAC,EACF,MAAM,EAAE,MAAM,IACV,IAAI,GAEP,QAAQ,CACC,CACb,CAAA;AACH,CAAC,CAAA;AA/GY,QAAA,KAAK,SA+GjB;AAED,kBAAe,aAAK,CAAA","sourcesContent":["import { Close, FullScreen as FullScreenIcon, OffScreen } from '@icon-park/react'\nimport type { ModalProps as AntdModalProps } from 'antd/lib/modal'\nimport cn from 'classnames'\nimport React, { Fragment, useEffect, useState, useRef } from 'react'\nimport { Modal as AntdModal } from 'antd'\nimport { isArray } from 'lodash'\n\nimport './index.less'\n\nexport type ModalProps = AntdModalProps & {\n children?: React.ReactNode\n hasFooter?: boolean\n config?: {\n fullScreen?: boolean\n width?: string | number\n height?: string | number\n logo?: React.ReactNode\n }\n}\n\nexport const Modal = ({\n visible,\n className,\n title,\n width,\n style = {},\n children,\n onCancel,\n hasFooter = true,\n footer,\n config = {\n width: 'auto',\n height: 'auto',\n },\n ...rest\n}: ModalProps) => {\n const [fullscreen, setFullscreen] = useState<boolean>(false)\n const supportFullscreen = config.fullScreen\n\n useEffect(() => {\n return () => {\n setFullscreen(false)\n }\n }, [visible])\n\n const Title = ({\n title,\n logo,\n fullscreen,\n onToggleFullscreen,\n onClose,\n }: // eslint-disable-next-line @typescript-eslint/no-explicit-any\n any) => {\n return (\n <Fragment>\n <div className=\"ant-modal-header-title\">\n {logo && logo}\n <span>{title}</span>\n </div>\n <div className=\"ant-modal-header-actions\">\n <a className=\"modal-fullscreen-wrap\" onClick={onToggleFullscreen}>\n {fullscreen ? <OffScreen /> : <FullScreenIcon />}\n </a>\n <a className=\"modal-close-wrap\" onClick={onClose}>\n <Close theme=\"outline\" />\n </a>\n </div>\n </Fragment>\n )\n }\n\n const computeWidth = supportFullscreen\n ? fullscreen\n ? '100vw'\n : width || config.width\n : width || config.width\n\n const computeHeight = supportFullscreen ? (fullscreen ? '100vh' : config.height) : 'inherit'\n\n style.height = computeHeight\n if (supportFullscreen && fullscreen) {\n style.top = 0\n } else {\n delete style.top\n }\n\n const footerConfig = hasFooter\n ? (isArray(footer) ? footer.length > 0 : footer)\n ? footer\n : undefined\n : null\n\n return (\n <AntdModal\n visible={visible}\n title={\n supportFullscreen ? (\n <Title\n logo={config.logo}\n title={title}\n fullscreen={fullscreen}\n supportFullscreen={supportFullscreen}\n onClose={onCancel}\n onToggleFullscreen={() => {\n setFullscreen(!fullscreen)\n if (!fullscreen) {\n }\n }}\n />\n ) : (\n title\n )\n }\n onCancel={onCancel}\n centered={supportFullscreen ? true : rest.centered ? true : false}\n width={computeWidth}\n style={style}\n className={cn([\n {\n 'support-fullscreen': supportFullscreen,\n fullscreen: fullscreen,\n 'no-header': supportFullscreen && !(config.logo || title),\n },\n className,\n ])}\n footer={footer}\n {...rest}\n >\n {children}\n </AntdModal>\n )\n}\n\nexport default Modal\n"]}
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"]}