@kne/form-info 0.1.9 → 0.1.10
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/README.md +27 -18
- package/dist/index.css +228 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +145 -42
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +136 -35
- package/dist/index.modern.js.map +1 -1
- package/dist/package-manifest.json +5 -0
- package/package.json +3 -1
package/dist/index.js
CHANGED
|
@@ -5,15 +5,19 @@ var react = require('react');
|
|
|
5
5
|
var InfoPage = require('@kne/info-page');
|
|
6
6
|
var flexBox = require('@kne/flex-box');
|
|
7
7
|
var reactFormPlus = require('@kne/react-form-plus');
|
|
8
|
+
var responsiveUtils = require('@kne/responsive-utils');
|
|
8
9
|
var antd = require('antd');
|
|
9
10
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
11
|
var icons = require('@ant-design/icons');
|
|
11
12
|
var reactIntl = require('@kne/react-intl');
|
|
13
|
+
var TableView = require('@kne/table-view');
|
|
14
|
+
require('@kne/table-view/dist/index.css');
|
|
12
15
|
var useControlValue = require('@kne/use-control-value');
|
|
13
16
|
|
|
14
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
18
|
|
|
16
19
|
var InfoPage__default = /*#__PURE__*/_interopDefaultLegacy(InfoPage);
|
|
20
|
+
var TableView__default = /*#__PURE__*/_interopDefaultLegacy(TableView);
|
|
17
21
|
var useControlValue__default = /*#__PURE__*/_interopDefaultLegacy(useControlValue);
|
|
18
22
|
|
|
19
23
|
function _extends() {
|
|
@@ -117,7 +121,7 @@ var classnames = createCommonjsModule(function (module) {
|
|
|
117
121
|
}());
|
|
118
122
|
});
|
|
119
123
|
|
|
120
|
-
var style = {"form-outer":"kne-form-info_ZQNNL","form-info":"kne-form-info_GW4Xx","extra-btn":"kne-form-info_eY4qR","list-part":"kne-form-info_SL3dC","list-item":"kne-form-info_PNnMa","
|
|
124
|
+
var style = {"kne-responsive-boundary":"kne-form-info_gh14z","kne-responsive-scroll":"kne-form-info_Kfn6L","form-outer":"kne-form-info_ZQNNL","form-info":"kne-form-info_GW4Xx","extra-btn":"kne-form-info_eY4qR","list-part":"kne-form-info_SL3dC","list-item":"kne-form-info_PNnMa","list-item-part":"kne-form-info_HiB5Q","is-important":"kne-form-info_Xkp38","table-list-inner":"kne-form-info_Uw-3T","multi-field-item":"kne-form-info_uogqr","react-form__field-label":"kne-form-info_UGjS9","multi-field-add-btn":"kne-form-info_rjVPh","table-list-view":"kne-form-info_ZD9zd","table-list":"kne-form-info_r8-bn","is-mobile":"kne-form-info_LtgJz","table-list-mobile-list":"kne-form-info_5uGUh","table-list-mobile-card":"kne-form-info_H8TZT","table-list-mobile-card-body":"kne-form-info_3Mhy7","table-list-mobile-field":"kne-form-info_-e-f1","table-list-mobile-actions":"kne-form-info_FVPV7","table-list-field":"kne-form-info_Qkutm","table-list-header":"kne-form-info_9WdfD","is-req":"kne-form-info_CsPaL","table-options":"kne-form-info_8smwK","steps":"kne-form-info_IOdkE","steps-vertical":"kne-form-info_03aHQ","steps-form-inner":"kne-form-info_uc1HZ","steps-modal":"kne-form-info_vWPQO","table-list-empty":"kne-form-info_DXskv","extra-container":"kne-form-info_wU-w4"};
|
|
121
125
|
|
|
122
126
|
const _excluded$7 = ["className", "column", "list", "gap"];
|
|
123
127
|
const FormInfo = props => {
|
|
@@ -130,7 +134,8 @@ const FormInfo = props => {
|
|
|
130
134
|
list = _Object$assign.list,
|
|
131
135
|
gap = _Object$assign.gap,
|
|
132
136
|
others = _objectWithoutPropertiesLoose(_Object$assign, _excluded$7);
|
|
133
|
-
const
|
|
137
|
+
const isMobile = responsiveUtils.useIsMobile();
|
|
138
|
+
const isFlexBox = !isMobile && !(Number.isInteger(column) && column > 0);
|
|
134
139
|
const _useFlexBox = flexBox.useFlexBox(isFlexBox ? column : {}),
|
|
135
140
|
flexBoxRef = _useFlexBox.ref,
|
|
136
141
|
flexBoxColumn = _useFlexBox.column;
|
|
@@ -164,6 +169,9 @@ const FormInfo = props => {
|
|
|
164
169
|
});
|
|
165
170
|
};
|
|
166
171
|
const renderColumn = () => {
|
|
172
|
+
if (isMobile) {
|
|
173
|
+
return renderInner(1);
|
|
174
|
+
}
|
|
167
175
|
if (!isFlexBox) {
|
|
168
176
|
return renderInner(column);
|
|
169
177
|
}
|
|
@@ -212,6 +220,7 @@ const _excluded$6 = ["className", "itemClassName", "removeIcon", "removeText", "
|
|
|
212
220
|
const List = withLocale(p => {
|
|
213
221
|
const _useIntl = reactIntl.useIntl(),
|
|
214
222
|
formatMessage = _useIntl.formatMessage;
|
|
223
|
+
const isMobile = responsiveUtils.useIsMobile();
|
|
215
224
|
const _Object$assign = Object.assign({}, {
|
|
216
225
|
addText: formatMessage({
|
|
217
226
|
id: 'addText'
|
|
@@ -235,8 +244,8 @@ const List = withLocale(p => {
|
|
|
235
244
|
title = _Object$assign.title,
|
|
236
245
|
bordered = _Object$assign.bordered,
|
|
237
246
|
others = _objectWithoutPropertiesLoose(_Object$assign, _excluded$6);
|
|
247
|
+
const showBorder = isMobile ? false : bordered;
|
|
238
248
|
return /*#__PURE__*/jsxRuntime.jsx(reactFormPlus.SubList, _extends({}, others, {
|
|
239
|
-
className: classnames(className, style['list-part']),
|
|
240
249
|
listRender: _ref => {
|
|
241
250
|
let id = _ref.id,
|
|
242
251
|
allowRemove = _ref.allowRemove,
|
|
@@ -247,7 +256,7 @@ const List = withLocale(p => {
|
|
|
247
256
|
[style['is-important']]: important
|
|
248
257
|
}),
|
|
249
258
|
children: [/*#__PURE__*/jsxRuntime.jsx(FormInfo, _extends({}, props, {
|
|
250
|
-
bordered:
|
|
259
|
+
bordered: showBorder,
|
|
251
260
|
className: style['list-item-part'],
|
|
252
261
|
gap: 16,
|
|
253
262
|
extra: allowRemove && /*#__PURE__*/jsxRuntime.jsx(antd.Button, {
|
|
@@ -265,9 +274,9 @@ const List = withLocale(p => {
|
|
|
265
274
|
let allowAdd = _ref2.allowAdd,
|
|
266
275
|
onAdd = _ref2.onAdd;
|
|
267
276
|
return /*#__PURE__*/jsxRuntime.jsx(InfoPage__default["default"].Part, {
|
|
268
|
-
className: itemClassName,
|
|
277
|
+
className: classnames(className, itemClassName, style['list-part']),
|
|
269
278
|
title: title,
|
|
270
|
-
bordered:
|
|
279
|
+
bordered: showBorder,
|
|
271
280
|
extra: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
272
281
|
className: style['extra-container'],
|
|
273
282
|
children: allowAdd && /*#__PURE__*/jsxRuntime.jsx(antd.Button, {
|
|
@@ -340,7 +349,25 @@ const MultiField = withLocale(p => {
|
|
|
340
349
|
}));
|
|
341
350
|
});
|
|
342
351
|
|
|
343
|
-
const _excluded$4 = ["className", "addIcon", "addText", "removeIcon", "removeText", "title", "bordered"];
|
|
352
|
+
const _excluded$4 = ["className", "addIcon", "addText", "removeIcon", "removeText", "title", "bordered", "renderMobile", "list"];
|
|
353
|
+
const buildColumns = (list, _ref) => {
|
|
354
|
+
let removeText = _ref.removeText;
|
|
355
|
+
const fieldList = Array.isArray(list) ? list : [];
|
|
356
|
+
return [...fieldList.filter(item => {
|
|
357
|
+
var _item$props, _item$props2;
|
|
358
|
+
return (item == null || (_item$props = item.props) == null ? void 0 : _item$props.display) !== false && !(item != null && (_item$props2 = item.props) != null && _item$props2.hidden);
|
|
359
|
+
}).map(item => ({
|
|
360
|
+
name: item.props.name,
|
|
361
|
+
title: item.props.label,
|
|
362
|
+
render: value => value
|
|
363
|
+
})), {
|
|
364
|
+
name: '__options__',
|
|
365
|
+
type: 'options',
|
|
366
|
+
title: removeText || '',
|
|
367
|
+
width: 100,
|
|
368
|
+
render: value => value
|
|
369
|
+
}];
|
|
370
|
+
};
|
|
344
371
|
const TableList = withLocale(p => {
|
|
345
372
|
const _useIntl = reactIntl.useIntl(),
|
|
346
373
|
formatMessage = _useIntl.formatMessage;
|
|
@@ -365,10 +392,39 @@ const TableList = withLocale(p => {
|
|
|
365
392
|
removeText = _Object$assign.removeText,
|
|
366
393
|
title = _Object$assign.title,
|
|
367
394
|
bordered = _Object$assign.bordered,
|
|
395
|
+
_Object$assign$render = _Object$assign.renderMobile,
|
|
396
|
+
renderMobile = _Object$assign$render === void 0 ? true : _Object$assign$render,
|
|
397
|
+
list = _Object$assign.list,
|
|
368
398
|
others = _objectWithoutPropertiesLoose(_Object$assign, _excluded$4);
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
399
|
+
const isMobile = responsiveUtils.useIsMobile();
|
|
400
|
+
const useMobileRender = TableView.isRenderMobileActive(renderMobile, isMobile);
|
|
401
|
+
const resolvedRenderMobile = react.useMemo(() => TableView.resolveRenderMobile(renderMobile), [renderMobile]);
|
|
402
|
+
const columns = react.useMemo(() => buildColumns(list, {
|
|
403
|
+
removeText
|
|
404
|
+
}), [list, removeText]);
|
|
405
|
+
const renderPart = (children, _ref2, extraClassName) => {
|
|
406
|
+
let onAdd = _ref2.onAdd,
|
|
407
|
+
allowAdd = _ref2.allowAdd;
|
|
408
|
+
return /*#__PURE__*/jsxRuntime.jsx(InfoPage__default["default"].Part, {
|
|
409
|
+
title: title,
|
|
410
|
+
className: classnames(className, style['table-list'], extraClassName),
|
|
411
|
+
bordered: bordered,
|
|
412
|
+
extra: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
413
|
+
className: style['extra-container'],
|
|
414
|
+
children: allowAdd && /*#__PURE__*/jsxRuntime.jsx(antd.Button, {
|
|
415
|
+
className: style['extra-btn'],
|
|
416
|
+
icon: addIcon,
|
|
417
|
+
onClick: onAdd,
|
|
418
|
+
children: addText
|
|
419
|
+
})
|
|
420
|
+
}),
|
|
421
|
+
children: children
|
|
422
|
+
});
|
|
423
|
+
};
|
|
424
|
+
const renderDesktop = () => /*#__PURE__*/jsxRuntime.jsx(reactFormPlus.TableList, _extends({}, others, {
|
|
425
|
+
list: list,
|
|
426
|
+
headerRender: (children, _ref3) => {
|
|
427
|
+
let width = _ref3.width;
|
|
372
428
|
return /*#__PURE__*/jsxRuntime.jsxs(antd.Row, {
|
|
373
429
|
className: style['table-list-header'],
|
|
374
430
|
wrap: false,
|
|
@@ -380,9 +436,9 @@ const TableList = withLocale(p => {
|
|
|
380
436
|
})]
|
|
381
437
|
});
|
|
382
438
|
},
|
|
383
|
-
headerItemRender: (children,
|
|
384
|
-
let id =
|
|
385
|
-
isReq =
|
|
439
|
+
headerItemRender: (children, _ref4) => {
|
|
440
|
+
let id = _ref4.id,
|
|
441
|
+
isReq = _ref4.isReq;
|
|
386
442
|
return /*#__PURE__*/jsxRuntime.jsx(antd.Col, {
|
|
387
443
|
className: classnames({
|
|
388
444
|
[style['is-req']]: isReq
|
|
@@ -397,11 +453,11 @@ const TableList = withLocale(p => {
|
|
|
397
453
|
children: children
|
|
398
454
|
});
|
|
399
455
|
},
|
|
400
|
-
listRender: (children,
|
|
401
|
-
let id =
|
|
402
|
-
width =
|
|
403
|
-
onRemove =
|
|
404
|
-
allowRemove =
|
|
456
|
+
listRender: (children, _ref5) => {
|
|
457
|
+
let id = _ref5.id,
|
|
458
|
+
width = _ref5.width,
|
|
459
|
+
onRemove = _ref5.onRemove,
|
|
460
|
+
allowRemove = _ref5.allowRemove;
|
|
405
461
|
return /*#__PURE__*/jsxRuntime.jsxs(antd.Row, {
|
|
406
462
|
wrap: false,
|
|
407
463
|
align: "top",
|
|
@@ -421,29 +477,67 @@ const TableList = withLocale(p => {
|
|
|
421
477
|
})]
|
|
422
478
|
}, id);
|
|
423
479
|
},
|
|
424
|
-
children: (children,
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
480
|
+
children: (children, controls) => renderPart(/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
481
|
+
className: style['table-list-inner'],
|
|
482
|
+
children: children
|
|
483
|
+
}), controls)
|
|
484
|
+
}));
|
|
485
|
+
const renderMobileList = () => /*#__PURE__*/jsxRuntime.jsx(reactFormPlus.SubList, _extends({}, others, {
|
|
486
|
+
list: list,
|
|
487
|
+
listRender: _ref6 => {
|
|
488
|
+
let id = _ref6.id,
|
|
489
|
+
rowList = _ref6.list,
|
|
490
|
+
groupArgs = _ref6.groupArgs,
|
|
491
|
+
onRemove = _ref6.onRemove,
|
|
492
|
+
allowRemove = _ref6.allowRemove;
|
|
493
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
494
|
+
className: classnames(style['table-list-mobile-card'], 'info-page-table-mobile-card'),
|
|
495
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
496
|
+
className: style['table-list-mobile-card-body'],
|
|
497
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactFormPlus.FieldList, {
|
|
498
|
+
list: rowList,
|
|
499
|
+
groupArgs: groupArgs,
|
|
500
|
+
itemRender: (children, targetProps) => {
|
|
501
|
+
if (targetProps.hidden) {
|
|
502
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
503
|
+
style: {
|
|
504
|
+
display: 'none'
|
|
505
|
+
},
|
|
506
|
+
children: children
|
|
507
|
+
});
|
|
508
|
+
}
|
|
509
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
510
|
+
className: style['table-list-mobile-field'],
|
|
511
|
+
children: children
|
|
512
|
+
});
|
|
513
|
+
}
|
|
438
514
|
})
|
|
439
|
-
}),
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
515
|
+
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
516
|
+
className: style['table-list-mobile-actions'],
|
|
517
|
+
children: /*#__PURE__*/jsxRuntime.jsx(antd.Button, {
|
|
518
|
+
type: "link",
|
|
519
|
+
onClick: onRemove,
|
|
520
|
+
danger: true,
|
|
521
|
+
disabled: !allowRemove,
|
|
522
|
+
icon: removeIcon,
|
|
523
|
+
children: removeText
|
|
524
|
+
})
|
|
525
|
+
})]
|
|
526
|
+
}, id);
|
|
527
|
+
},
|
|
528
|
+
children: (children, controls) => renderPart(/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
529
|
+
className: classnames(style['table-list-mobile-list'], 'info-page-table-mobile-card-list'),
|
|
530
|
+
children: children
|
|
531
|
+
}), controls, style['is-mobile'])
|
|
446
532
|
}));
|
|
533
|
+
return /*#__PURE__*/jsxRuntime.jsx(TableView__default["default"], {
|
|
534
|
+
columns: columns,
|
|
535
|
+
dataSource: [],
|
|
536
|
+
empty: null,
|
|
537
|
+
className: style['table-list-view'],
|
|
538
|
+
renderMobile: useMobileRender ? typeof resolvedRenderMobile === 'function' ? resolvedRenderMobile : () => renderMobileList() : false,
|
|
539
|
+
render: () => renderDesktop()
|
|
540
|
+
});
|
|
447
541
|
});
|
|
448
542
|
|
|
449
543
|
const _excluded$3 = ["className", "children"];
|
|
@@ -3870,6 +3964,7 @@ const FormSteps = p => {
|
|
|
3870
3964
|
onComplete = _Object$assign.onComplete,
|
|
3871
3965
|
children = _Object$assign.children,
|
|
3872
3966
|
stepProps = _objectWithoutPropertiesLoose(_Object$assign, _excluded$1);
|
|
3967
|
+
const isMobile = responsiveUtils.useIsMobile();
|
|
3873
3968
|
const _useControlValue = useControlValue__default["default"](stepProps, {
|
|
3874
3969
|
value: 'current',
|
|
3875
3970
|
defaultValue: 'defaultCurrent'
|
|
@@ -3897,12 +3992,20 @@ const FormSteps = p => {
|
|
|
3897
3992
|
}
|
|
3898
3993
|
return currentItem;
|
|
3899
3994
|
});
|
|
3995
|
+
|
|
3996
|
+
// 移动端强制垂直布局,不允许水平 Steps
|
|
3997
|
+
const stepsDirection = isMobile ? 'vertical' : stepProps.direction || stepProps.orientation;
|
|
3998
|
+
const isVerticalSteps = stepsDirection === 'vertical';
|
|
3900
3999
|
const inner = /*#__PURE__*/jsxRuntime.jsxs(antd.Flex, {
|
|
3901
4000
|
className: className,
|
|
3902
|
-
vertical:
|
|
4001
|
+
vertical: !isVerticalSteps || isMobile,
|
|
3903
4002
|
gap: 24,
|
|
3904
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(antd.Steps, _extends({}, omit_1(stepProps, ['current', 'defaultCurrent', 'onChange']), {
|
|
3905
|
-
|
|
4003
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(antd.Steps, _extends({}, omit_1(stepProps, ['current', 'defaultCurrent', 'onChange', 'direction', 'orientation']), {
|
|
4004
|
+
direction: stepsDirection,
|
|
4005
|
+
orientation: stepsDirection,
|
|
4006
|
+
className: classnames(stepsClassName, style['steps'], {
|
|
4007
|
+
[style['steps-vertical']]: isVerticalSteps
|
|
4008
|
+
}),
|
|
3906
4009
|
items: stepItems,
|
|
3907
4010
|
current: currentStep
|
|
3908
4011
|
})), /*#__PURE__*/jsxRuntime.jsx("div", {
|