@teamix/pro 1.4.6 → 1.4.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/dist/pro.css +1 -1
- package/dist/pro.js +197 -129
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/es/actions/dialog-form.js +22 -17
- package/es/actions/dialog.d.ts +5 -1
- package/es/actions/dialog.js +19 -11
- package/es/card/index.js +1 -2
- package/es/card/index.scss +2 -2
- package/es/form/Components/LightFilter/index.js +7 -2
- package/es/form/Components/LightFilter/index.scss +5 -0
- package/es/form/Filter/index.js +5 -4
- package/es/form/ProForm/index.js +2 -2
- package/es/form/ProForm/index.scss +5 -0
- package/es/form/SchemaForm/index.js +8 -4
- package/es/index-without-icon.d.ts +32 -0
- package/es/index-without-icon.js +35 -0
- package/es/index.d.ts +1 -1
- package/es/index.js +7 -2
- package/es/page-header/index.js +3 -1
- package/es/table/components/Filter/index.js +9 -15
- package/es/table/utils/genProColumnToColumn.d.ts +5 -1
- package/es/table/utils/genProColumnToColumn.js +3 -1
- package/lib/actions/dialog-form.js +22 -16
- package/lib/actions/dialog.d.ts +5 -1
- package/lib/actions/dialog.js +18 -10
- package/lib/card/index.js +1 -2
- package/lib/card/index.scss +2 -2
- package/lib/form/Components/LightFilter/index.js +6 -1
- package/lib/form/Components/LightFilter/index.scss +5 -0
- package/lib/form/Filter/index.js +5 -4
- package/lib/form/ProForm/index.js +2 -2
- package/lib/form/ProForm/index.scss +5 -0
- package/lib/form/SchemaForm/index.js +11 -6
- package/lib/index-without-icon.d.ts +32 -0
- package/lib/index-without-icon.js +316 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +6 -3
- package/lib/page-header/index.js +3 -1
- package/lib/table/components/Filter/index.js +9 -15
- package/lib/table/utils/genProColumnToColumn.d.ts +5 -1
- package/lib/table/utils/genProColumnToColumn.js +4 -1
- package/package.json +1 -1
@@ -59,6 +59,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
59
59
|
|
60
60
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
61
61
|
|
62
|
+
var toJS = _form.formilyReactive.toJS;
|
63
|
+
|
62
64
|
function getDefaultFormPropsByDialogSize(size) {
|
63
65
|
if (size === 'small') {
|
64
66
|
return {
|
@@ -205,51 +207,55 @@ function useDialogFormAction(action, context) {
|
|
205
207
|
innerFormRef.current.validate().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
206
208
|
var _innerFormRef$current;
|
207
209
|
|
208
|
-
var beforeRequestContext, requestContext;
|
210
|
+
var beforeRequestContext, fields, requestContext;
|
209
211
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
210
212
|
while (1) {
|
211
213
|
switch (_context.prev = _context.next) {
|
212
214
|
case 0:
|
215
|
+
fields = toJS((_innerFormRef$current = innerFormRef.current) === null || _innerFormRef$current === void 0 ? void 0 : _innerFormRef$current.values);
|
216
|
+
|
213
217
|
if (!propsBeforeRequest) {
|
214
|
-
_context.next =
|
218
|
+
_context.next = 14;
|
215
219
|
break;
|
216
220
|
}
|
217
221
|
|
218
|
-
_context.prev =
|
219
|
-
_context.next =
|
220
|
-
return (0, _utils.resolveMaybePromiseMethod)(propsBeforeRequest, context)
|
222
|
+
_context.prev = 2;
|
223
|
+
_context.next = 5;
|
224
|
+
return (0, _utils.resolveMaybePromiseMethod)(propsBeforeRequest, _objectSpread(_objectSpread({}, context), {}, {
|
225
|
+
fields: fields
|
226
|
+
}));
|
221
227
|
|
222
|
-
case
|
228
|
+
case 5:
|
223
229
|
beforeRequestContext = _context.sent;
|
224
|
-
_context.next =
|
230
|
+
_context.next = 11;
|
225
231
|
break;
|
226
232
|
|
227
|
-
case
|
228
|
-
_context.prev =
|
229
|
-
_context.t0 = _context["catch"](
|
233
|
+
case 8:
|
234
|
+
_context.prev = 8;
|
235
|
+
_context.t0 = _context["catch"](2);
|
230
236
|
beforeRequestContext = false;
|
231
237
|
|
232
|
-
case
|
238
|
+
case 11:
|
233
239
|
if (!(beforeRequestContext === false)) {
|
234
|
-
_context.next =
|
240
|
+
_context.next = 14;
|
235
241
|
break;
|
236
242
|
}
|
237
243
|
|
238
244
|
reject(false);
|
239
245
|
return _context.abrupt("return");
|
240
246
|
|
241
|
-
case
|
247
|
+
case 14:
|
242
248
|
requestContext = Object.assign({
|
243
|
-
fields:
|
249
|
+
fields: fields
|
244
250
|
}, _typeof(beforeRequestContext) === 'object' ? beforeRequestContext : {});
|
245
251
|
resolve(requestContext);
|
246
252
|
|
247
|
-
case
|
253
|
+
case 16:
|
248
254
|
case "end":
|
249
255
|
return _context.stop();
|
250
256
|
}
|
251
257
|
}
|
252
|
-
}, _callee, null, [[
|
258
|
+
}, _callee, null, [[2, 8]]);
|
253
259
|
}))).catch(function () {
|
254
260
|
resolve(false);
|
255
261
|
});
|
package/lib/actions/dialog.d.ts
CHANGED
@@ -4,7 +4,7 @@ import { quickShowDrawerProps } from '@alicloudfe/components/types/drawer';
|
|
4
4
|
import { ProFormSchema, ProFormSchemaItem } from '../form';
|
5
5
|
import { ProMessageProps } from '../utils/message';
|
6
6
|
import { RequestAction } from './request';
|
7
|
-
export interface DialogAction extends Omit<RequestAction, 'url'>, Omit<QuickShowConfig, 'onError' | 'type'>, Omit<quickShowDrawerProps, 'trigger' | 'animation' | 'height' | 'locale' | '
|
7
|
+
export interface DialogAction extends Omit<RequestAction, 'url'>, Omit<QuickShowConfig, 'onError' | 'type'>, Omit<quickShowDrawerProps, 'trigger' | 'animation' | 'height' | 'locale' | 'onError'> {
|
8
8
|
/** 点击「确认按钮」后的数据请求地址,非必填,不填就不发请求 */
|
9
9
|
url?: string;
|
10
10
|
/** 弹窗类型,支持普通弹窗和抽屉两种模式,默认为普通弹窗 */
|
@@ -25,6 +25,10 @@ export interface DialogAction extends Omit<RequestAction, 'url'>, Omit<QuickShow
|
|
25
25
|
schema?: any;
|
26
26
|
/** 弹窗内容区的组件 */
|
27
27
|
component?: any;
|
28
|
+
/** 点击确定自定义回调函数 */
|
29
|
+
onOk?: any;
|
30
|
+
/** 点击取消自定义回调函数 */
|
31
|
+
onCancel?: any;
|
28
32
|
}
|
29
33
|
export declare function useDialogAction(action: DialogAction, actionContext?: any, hasForm?: boolean): {
|
30
34
|
[x: string]: (e: React.MouseEvent<HTMLElement, MouseEvent>) => Promise<void>;
|
package/lib/actions/dialog.js
CHANGED
@@ -30,7 +30,7 @@ var _request = require("./request");
|
|
30
30
|
|
31
31
|
var _utils2 = require("./utils");
|
32
32
|
|
33
|
-
var _excluded = ["trigger", "url", "method", "params", "data", "extendParams", "successMsg", "errorMsg", "formatParams", "formatResult", "onSuccess", "onError"],
|
33
|
+
var _excluded = ["trigger", "url", "customRequest", "method", "params", "data", "extendParams", "successMsg", "errorMsg", "formatParams", "formatResult", "onSuccess", "onError", "onOk", "onCancel"],
|
34
34
|
_excluded2 = ["title", "content", "component", "schema", "onFinish", "dialogType", "dialogQuickShowType", "messageType", "popType", "beforeRequest", "onTrigger", "link", "beforeContent", "afterContent", "message", "footerDescription", "footerAlign", "className"];
|
35
35
|
|
36
36
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -77,7 +77,9 @@ var FooterForm = function FooterForm(props) {
|
|
77
77
|
var schema = props.schema,
|
78
78
|
context = props.context,
|
79
79
|
formRef = props.formRef;
|
80
|
-
var form = (0,
|
80
|
+
var form = (0, _react.useMemo)(function () {
|
81
|
+
return (0, _form.createForm)();
|
82
|
+
}, []);
|
81
83
|
(0, _react.useEffect)(function () {
|
82
84
|
formRef.current = form;
|
83
85
|
}, []);
|
@@ -110,6 +112,7 @@ function useDialogAction(action, actionContext, hasForm) {
|
|
110
112
|
|
111
113
|
var trigger = action.trigger,
|
112
114
|
url = action.url,
|
115
|
+
customRequest = action.customRequest,
|
113
116
|
method = action.method,
|
114
117
|
params = action.params,
|
115
118
|
data = action.data,
|
@@ -120,6 +123,8 @@ function useDialogAction(action, actionContext, hasForm) {
|
|
120
123
|
formatResult = action.formatResult,
|
121
124
|
onSuccess = action.onSuccess,
|
122
125
|
onError = action.onError,
|
126
|
+
propsOnOk = action.onOk,
|
127
|
+
propsOnCancel = action.onCancel,
|
123
128
|
others = _objectWithoutProperties(action, _excluded);
|
124
129
|
|
125
130
|
var _getTargetValue = (0, _utils.getTargetValue)(others, context),
|
@@ -200,33 +205,34 @@ function useDialogAction(action, actionContext, hasForm) {
|
|
200
205
|
|
201
206
|
case 6:
|
202
207
|
onFinish && onFinish();
|
208
|
+
propsOnOk && propsOnOk(context);
|
203
209
|
resolve(true);
|
204
|
-
_context.next =
|
210
|
+
_context.next = 19;
|
205
211
|
break;
|
206
212
|
|
207
|
-
case
|
208
|
-
_context.prev =
|
213
|
+
case 11:
|
214
|
+
_context.prev = 11;
|
209
215
|
_context.t0 = _context["catch"](2);
|
210
216
|
setLoading(false); // 如果 beforeRequest 中返回了 false 并且不是 dialog-form,则直接关闭弹窗
|
211
217
|
|
212
218
|
if (!(beforeRequest && !hasForm)) {
|
213
|
-
_context.next =
|
219
|
+
_context.next = 17;
|
214
220
|
break;
|
215
221
|
}
|
216
222
|
|
217
223
|
resolve(true);
|
218
224
|
return _context.abrupt("return");
|
219
225
|
|
220
|
-
case
|
226
|
+
case 17:
|
221
227
|
resolve(false);
|
222
228
|
return _context.abrupt("return");
|
223
229
|
|
224
|
-
case
|
230
|
+
case 19:
|
225
231
|
case "end":
|
226
232
|
return _context.stop();
|
227
233
|
}
|
228
234
|
}
|
229
|
-
}, _callee, null, [[2,
|
235
|
+
}, _callee, null, [[2, 11]]);
|
230
236
|
}));
|
231
237
|
|
232
238
|
return function (_x) {
|
@@ -249,7 +255,9 @@ function useDialogAction(action, actionContext, hasForm) {
|
|
249
255
|
});
|
250
256
|
var dialogContent = Component ? /*#__PURE__*/_react.default.createElement(Component, _objectSpread({}, (0, _utils2.addContext)(componentProps, dialogContext))) : addContextForReactNode(content, dialogContext);
|
251
257
|
|
252
|
-
var quickShowProps = _objectSpread(_objectSpread((_objectSpread2 = {}, _defineProperty(_objectSpread2, "".concat(isPop ? 'onConfirm' : 'onOk'), onOk), _defineProperty(_objectSpread2, "
|
258
|
+
var quickShowProps = _objectSpread(_objectSpread((_objectSpread2 = {}, _defineProperty(_objectSpread2, "".concat(isPop ? 'onConfirm' : 'onOk'), onOk), _defineProperty(_objectSpread2, "onCancel", function onCancel() {
|
259
|
+
propsOnCancel && propsOnCancel(context);
|
260
|
+
}), _defineProperty(_objectSpread2, "title", addContextForReactNode(title, dialogContext)), _defineProperty(_objectSpread2, "content", /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, beforeContent && /*#__PURE__*/_react.default.createElement("div", {
|
253
261
|
className: "teamix-pro-dialog-before-content"
|
254
262
|
}, addContextForReactNode(beforeContent, dialogContext)), message && /*#__PURE__*/_react.default.createElement("div", {
|
255
263
|
className: "teamix-pro-dialog-message"
|
package/lib/card/index.js
CHANGED
package/lib/card/index.scss
CHANGED
@@ -32,7 +32,7 @@
|
|
32
32
|
$grid-columns: 24;
|
33
33
|
@for $i from 1 through $grid-columns {
|
34
34
|
&-#{$i} {
|
35
|
-
$width: percentage($i
|
35
|
+
$width: percentage($i / $grid-columns);
|
36
36
|
flex: 0 0 $width;
|
37
37
|
width: $width;
|
38
38
|
max-width: $width;
|
@@ -52,7 +52,7 @@
|
|
52
52
|
}
|
53
53
|
}
|
54
54
|
|
55
|
-
&-name{
|
55
|
+
&-name {
|
56
56
|
flex-shrink: 0;
|
57
57
|
}
|
58
58
|
|
@@ -135,6 +135,11 @@ var LightFilter = (0, _react2.observer)(function (props) {
|
|
135
135
|
setActive(value);
|
136
136
|
onFilterChange && onFilterChange(value);
|
137
137
|
}, [onFilterChange]);
|
138
|
+
(0, _react.useEffect)(function () {
|
139
|
+
if (!filterItems.length) {
|
140
|
+
setActive(undefined);
|
141
|
+
}
|
142
|
+
}, [filterItems.length]);
|
138
143
|
return /*#__PURE__*/_react.default.createElement("span", {
|
139
144
|
className: (0, _classnames.default)(basePrefix(size), prefixCls({
|
140
145
|
'': true,
|
@@ -143,7 +148,7 @@ var LightFilter = (0, _react2.observer)(function (props) {
|
|
143
148
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
144
149
|
className: prefixCls('main')
|
145
150
|
}, /*#__PURE__*/_react.default.createElement(_components.Select, _objectSpread(_objectSpread({}, filterProps), {}, {
|
146
|
-
className: (0, _classnames.default)(prefixCls('select'), filterProps === null || filterProps === void 0 ? void 0 : filterProps.className),
|
151
|
+
className: (0, _classnames.default)(prefixCls('select'), _defineProperty({}, prefixCls('select-none'), !content.length), filterProps === null || filterProps === void 0 ? void 0 : filterProps.className),
|
147
152
|
dataSource: filterItems,
|
148
153
|
onChange: onSelectChange,
|
149
154
|
value: active
|
package/lib/form/Filter/index.js
CHANGED
@@ -45,7 +45,7 @@ var _useBindUrl2 = _interopRequireDefault(require("./useBindUrl"));
|
|
45
45
|
|
46
46
|
require("./index.scss");
|
47
47
|
|
48
|
-
var _excluded = ["addonAfter", "addonBefore", "mode", "purePanel", "expand", "formRef", "defaultFilterValue", "filterValues", "filterDebounce", "bindUrl", "onFilter", "onInit", "onReset", "onExpand", "onChange"];
|
48
|
+
var _excluded = ["addonAfter", "addonBefore", "mode", "purePanel", "expand", "formRef", "defaultFilterValue", "filterValues", "filterDebounce", "bindUrl", "onFilter", "onInit", "onReset", "onExpand", "onChange", "form"];
|
49
49
|
|
50
50
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
51
51
|
|
@@ -106,6 +106,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
106
106
|
outerReset = props.onReset,
|
107
107
|
onExpand = props.onExpand,
|
108
108
|
onChange = props.onChange,
|
109
|
+
form = props.form,
|
109
110
|
otherProps = _objectWithoutProperties(props, _excluded);
|
110
111
|
|
111
112
|
var _useSpecialProps = (0, _useSpecialProps2.default)(props),
|
@@ -324,7 +325,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
324
325
|
});
|
325
326
|
}
|
326
327
|
});
|
327
|
-
}, []); // 创建轻量筛选表单实例
|
328
|
+
}, [form]); // 创建轻量筛选表单实例
|
328
329
|
|
329
330
|
var lightForm = (0, _react.useMemo)(function () {
|
330
331
|
return (0, _core.createForm)({
|
@@ -335,7 +336,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
335
336
|
});
|
336
337
|
}
|
337
338
|
});
|
338
|
-
}, []); // 创建高级筛选表单实例
|
339
|
+
}, [form]); // 创建高级筛选表单实例
|
339
340
|
|
340
341
|
var advancedForm = (0, _react.useMemo)(function () {
|
341
342
|
return (0, _core.createForm)({
|
@@ -355,7 +356,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
355
356
|
});
|
356
357
|
}
|
357
358
|
});
|
358
|
-
}, []);
|
359
|
+
}, [form]);
|
359
360
|
var formMap = {
|
360
361
|
simple: simpleForm,
|
361
362
|
light: lightForm,
|
@@ -121,7 +121,7 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
121
121
|
return outerForm || (0, _core.createForm)({
|
122
122
|
validateFirst: validateFirst
|
123
123
|
});
|
124
|
-
}, []);
|
124
|
+
}, [outerForm]);
|
125
125
|
var prefixCls = (0, _utils.usePrefixCls)('teamix-pro-form'); // 由于Actions需要,解构context供使用。原context键名的上下文继续保留。
|
126
126
|
|
127
127
|
var mergedScope = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, context), globalScope), scope), {}, {
|
@@ -182,7 +182,7 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
182
182
|
});
|
183
183
|
});
|
184
184
|
}
|
185
|
-
}, [onChange]);
|
185
|
+
}, [onChange, form]);
|
186
186
|
(0, _react.useEffect)(function () {
|
187
187
|
// 配置国际化
|
188
188
|
(0, _core.setValidateLanguage)((0, _utils.getLanguage)() || 'zh-cn');
|
@@ -11,6 +11,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
12
12
|
var _react2 = require("@formily/react");
|
13
13
|
|
14
|
+
var _utils = require("@teamix/utils");
|
15
|
+
|
14
16
|
var _adapterType = _interopRequireDefault(require("./adapterType"));
|
15
17
|
|
16
18
|
var _adapterComponent = _interopRequireDefault(require("./adapterComponent"));
|
@@ -49,7 +51,7 @@ var _reactions = require("./reactions");
|
|
49
51
|
|
50
52
|
var _fieldTypeMap = _interopRequireDefault(require("../fieldTypeMap"));
|
51
53
|
|
52
|
-
var
|
54
|
+
var _utils2 = require("../utils");
|
53
55
|
|
54
56
|
var _warning = _interopRequireDefault(require("../warning"));
|
55
57
|
|
@@ -173,8 +175,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
173
175
|
var _newItem2 = newItem,
|
174
176
|
component = _newItem2.component,
|
175
177
|
type = _newItem2.type,
|
176
|
-
|
177
|
-
name = _newItem2$name === void 0 ? (0, _utils.getFieldName)(component === null || component === void 0 ? void 0 : component.replace(/\./g, ''), suffix) : _newItem2$name,
|
178
|
+
name = _newItem2.name,
|
178
179
|
decorator = _newItem2.decorator,
|
179
180
|
decoratorProps = _newItem2.decoratorProps,
|
180
181
|
dataSource = _newItem2.dataSource,
|
@@ -185,8 +186,10 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
185
186
|
tooltip = _newItem2.tooltip,
|
186
187
|
request = _newItem2.request,
|
187
188
|
data = _newItem2.data,
|
188
|
-
otherProps = _objectWithoutProperties(_newItem2, _excluded); //
|
189
|
+
otherProps = _objectWithoutProperties(_newItem2, _excluded); // 默认字段名
|
190
|
+
|
189
191
|
|
192
|
+
var defaultName = !name ? (0, _utils2.getFieldName)(component === null || component === void 0 ? void 0 : component.replace(/\./g, ''), suffix) : name; // 默认类型
|
190
193
|
|
191
194
|
var defaultType = (0, _adapterType.default)(type, originalComponent); // 默认装饰组件
|
192
195
|
|
@@ -225,7 +228,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
225
228
|
|
226
229
|
schemaScopeRef.current[k] = v;
|
227
230
|
});
|
228
|
-
var formatParam = (0,
|
231
|
+
var formatParam = (0, _utils2.mapSchemaName)(_objectSpread(_objectSpread({}, otherProps), {}, {
|
229
232
|
type: defaultType,
|
230
233
|
component: component,
|
231
234
|
decorator: defaultDecorator,
|
@@ -245,7 +248,9 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
245
248
|
|
246
249
|
var recursiveItems = items ? formatSchema([items], suffix) : {}; // 配置组件属性
|
247
250
|
|
248
|
-
|
251
|
+
if ((0, _utils.isUsable)(item)) {
|
252
|
+
schemaProperties[defaultName] = _objectSpread(_objectSpread(_objectSpread({}, formatParam), recursiveProperties), recursiveItems);
|
253
|
+
}
|
249
254
|
});
|
250
255
|
return schemaProperties;
|
251
256
|
}, []);
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import ProAction from './actions';
|
2
|
+
import ProCard from './card';
|
3
|
+
import ProField from './field';
|
4
|
+
import ProForm from './form';
|
5
|
+
import hooks from './hooks';
|
6
|
+
import ProInfo from './info';
|
7
|
+
import ProPageContainer from './page-container';
|
8
|
+
import ProPageHeader from './page-header';
|
9
|
+
import ProTable from './table';
|
10
|
+
import ProSkeleton from './skeleton';
|
11
|
+
import utils from './utils';
|
12
|
+
import ProSidebar from './sidebar';
|
13
|
+
import { ProTimeline } from './timeline';
|
14
|
+
import * as nocode from './nocode';
|
15
|
+
import * as templates from './templates';
|
16
|
+
import TeamixIcon from '@teamix/icon';
|
17
|
+
import './global.scss';
|
18
|
+
export * from './actions';
|
19
|
+
export * from './card';
|
20
|
+
export * from './field';
|
21
|
+
export * from './form';
|
22
|
+
export * from './info';
|
23
|
+
export * from './nocode';
|
24
|
+
export * from './page-container';
|
25
|
+
export * from './page-header';
|
26
|
+
export * from './skeleton';
|
27
|
+
export * from './table';
|
28
|
+
export * from './sidebar';
|
29
|
+
export * from './utils';
|
30
|
+
export * from './timeline';
|
31
|
+
declare const version = "1.4.7";
|
32
|
+
export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, TeamixIcon, hooks, nocode, templates, utils, };
|