shineout
Version:
Shein 前端组件库
35 lines • 1.55 kB
JavaScript
import { compose } from '../utils/func';
import Datum from '../Datum';
import { consumer as cardConsumer } from '../Card/context';
import inputable from './inputable';
import Form from './Form';
import Item from './Item';
import Field from './Field';
import Flow from './Flow';
import FieldSet from './FieldSet';
import formButton from './formButton';
import { formProvider, formConsumer } from './formContext';
import useMode from './mode';
var formCardConsumerKey = ['setFormStatus'];
var formDatumKey = ['removeUndefined', 'error'];
var formItemWithFormConsumerKeys = ['formDatum', 'labelWidth', 'labelAlign', 'labelVerticalAlign', 'keepErrorHeight'];
var formFlowWithFormConsumerKeys = ['formDatum'];
var exportForm = compose(Datum.hoc({
type: 'form',
bindProps: formDatumKey
}), formProvider)(cardConsumer(Form, formCardConsumerKey));
exportForm.Item = formConsumer(formItemWithFormConsumerKeys)(Item);
exportForm.Field = inputable(Field);
exportForm.Flow = formConsumer(formFlowWithFormConsumerKeys)(Flow);
exportForm.FieldSet = formConsumer(['formDatum'])(FieldSet);
exportForm.Submit = formButton('submit');
exportForm.Reset = formButton('reset');
exportForm.Button = formButton('button');
exportForm.formConsumer = formConsumer;
exportForm.useMode = useMode;
exportForm.displayName = 'ShineoutForm';
exportForm.Item.displayName = 'ShineoutFormItem';
exportForm.Field.displayName = 'ShineoutFormField';
exportForm.Flow.displayName = 'ShineoutFormFlow';
exportForm.FieldSet.displayName = 'ShineoutFormFieldSet';
export default exportForm;