UNPKG

1.61 kBJavaScriptView Raw
1"use client";
2
3import * as React from 'react';
4import { createContext, useContext, useMemo } from 'react';
5import { FormProvider as RcFormProvider } from 'rc-field-form';
6import omit from "rc-util/es/omit";
7export const FormContext = /*#__PURE__*/React.createContext({
8 labelAlign: 'right',
9 vertical: false,
10 itemRef: () => {}
11});
12export const NoStyleItemContext = /*#__PURE__*/React.createContext(null);
13export const FormProvider = props => {
14 const providerProps = omit(props, ['prefixCls']);
15 return /*#__PURE__*/React.createElement(RcFormProvider, Object.assign({}, providerProps));
16};
17export const FormItemPrefixContext = /*#__PURE__*/React.createContext({
18 prefixCls: ''
19});
20export const FormItemInputContext = /*#__PURE__*/React.createContext({});
21if (process.env.NODE_ENV !== 'production') {
22 FormItemInputContext.displayName = 'FormItemInputContext';
23}
24export const NoFormStyle = _ref => {
25 let {
26 children,
27 status,
28 override
29 } = _ref;
30 const formItemInputContext = useContext(FormItemInputContext);
31 const newFormItemInputContext = useMemo(() => {
32 const newContext = Object.assign({}, formItemInputContext);
33 if (override) {
34 delete newContext.isFormItemInput;
35 }
36 if (status) {
37 delete newContext.status;
38 delete newContext.hasFeedback;
39 delete newContext.feedbackIcon;
40 }
41 return newContext;
42 }, [status, override, formItemInputContext]);
43 return /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {
44 value: newFormItemInputContext
45 }, children);
46};
47export const VariantContext = /*#__PURE__*/createContext(undefined);
\No newline at end of file