@flatbiz/antd 4.2.95 → 4.2.96
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
.form-item-text-content{color:rgba(0,0,0,.88);display:inline-flex;font-size:14px;padding:4px
|
|
1
|
+
.form-item-text-content{color:rgba(0,0,0,.88);display:inline-flex;font-size:14px;padding:4px 0;width:100%}.form-item-text{overflow:hidden}.fitc-loading .ant-spin-dot{margin-left:0!important}
|
|
@@ -5,5 +5,5 @@ import './../form-item-wrapper/index.css';
|
|
|
5
5
|
import './../form-item-hidden/index.css';
|
|
6
6
|
import './index.css';
|
|
7
7
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
8
|
-
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{_ as r,a as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useState as a,useMemo as i,Fragment as t}from"react";import{isUndefinedOrNull as l,toArray as o}from"@flatbiz/utils";import{Spin as s,Form as u,message as m}from"antd";import{TextCssEllipsis as d}from"../text-css-ellipsis/index.js";import{jsx as c,jsxs as f}from"react/jsx-runtime";import{FormItemWrapper as v}from"../form-item-wrapper/index.js";import{isDeepEqual as p}from"@dimjs/lang/cjs/is-deep-equal";import{fbaHooks as h}from"../fba-hooks/index.js";import{FormItemHidden as g}from"../form-item-hidden/index.js";import"ahooks";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var y=function e(r){var n=function(){if(l(r.value))return r.placeholderValue;return typeof r.value==="string"?r.value:JSON.stringify(r.value)}();var a=r.wrap?n:c(d,{text:n||""});if(r.loading){return c("span",{className:"form-item-text-content fitc-loading",style:r.style,children:c(s,{spinning:r.loading,size:"small",children:c("span",{style:{textIndent:"-9999px",display:"inline-block"},children:"Loading"})})})}return c("span",{className:"form-item-text-content",style:r.style,children:r.render?r.render(r.value):a})};var j=function e(n){var t=n.serviceConfig;var s=a(false),d=s[0],c=s[1];var f=a(),v=f[0],g=f[1];var y=h.usePrevious(t==null?void 0:t.params);var j=a("init"),x=j[0],w=j[1];var P=u.useFormInstance();var V=i((function(){var e;if(!(t!=null&&t.params)||o(t==null?void 0:t.invalidParamKey).length===0){return t==null?void 0:t.params}var n=r({},t==null?void 0:t.params);t==null||(e=t.invalidParamKey)==null?void 0:e.forEach((function(e){n[e]=undefined}));return n}),[t==null?void 0:t.invalidParamKey,t==null?void 0:t.params]);var
|
|
8
|
+
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{_ as r,a as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useState as a,useMemo as i,Fragment as t}from"react";import{isUndefinedOrNull as l,toArray as o}from"@flatbiz/utils";import{Spin as s,Form as u,message as m}from"antd";import{TextCssEllipsis as d}from"../text-css-ellipsis/index.js";import{jsx as c,jsxs as f}from"react/jsx-runtime";import{FormItemWrapper as v}from"../form-item-wrapper/index.js";import{isDeepEqual as p}from"@dimjs/lang/cjs/is-deep-equal";import{fbaHooks as h}from"../fba-hooks/index.js";import{FormItemHidden as g}from"../form-item-hidden/index.js";import"ahooks";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var y=function e(r){var n=function(){if(l(r.value))return r.placeholderValue;return typeof r.value==="string"?r.value:JSON.stringify(r.value)}();var a=r.wrap?n:c(d,{text:n||""});if(r.loading){return c("span",{className:"form-item-text-content fitc-loading",style:r.style,children:c(s,{spinning:r.loading,size:"small",children:c("span",{style:{textIndent:"-9999px",display:"inline-block"},children:"Loading"})})})}return c("span",{className:"form-item-text-content",style:r.style,children:r.render?r.render(r.value):a})};var j=function e(n){var t=n.serviceConfig;var s=a(false),d=s[0],c=s[1];var f=a(),v=f[0],g=f[1];var y=h.usePrevious(t==null?void 0:t.params);var j=a("init"),x=j[0],w=j[1];var P=u.useFormInstance();var V=i((function(){var e;if(!(t!=null&&t.params)||o(t==null?void 0:t.invalidParamKey).length===0){return t==null?void 0:t.params}var n=r({},t==null?void 0:t.params);t==null||(e=t.invalidParamKey)==null?void 0:e.forEach((function(e){n[e]=undefined}));return n}),[t==null?void 0:t.invalidParamKey,t==null?void 0:t.params]);var C=function e(a){return new Promise((function(e,i){var o=function(e){return function(r){try{c(false);return e&&e.call(this,r)}catch(e){return i(e)}}.bind(this)}.bind(this);var s,u,f,v,p,h;if(!t)return e();u=r({},V,a);if(t!=null&&(s=t.requiredParamsKeys)!=null&&s.length){f=t==null?void 0:t.requiredParamsKeys.find((function(e){return l(u[e])}));if(f){console.warn("FormItemText组件:参数:"+(t==null?void 0:t.requiredParamsKeys.join("、"))+"不能为空");return e()}}var y=function(){try{return e()}catch(e){return i(e)}};var j=function(e){try{console.error(e);w("error");void m.error((e==null?void 0:e.message)||"接口调用异常");return o(y)()}catch(e){return o(i)(e)}};try{if(!d)c(true);return Promise.resolve(t.onRequest(u)).then((function(e){try{v=e;p=n.name?P.getFieldValue(n.name):undefined;h=t.onResponseAdapter?t.onResponseAdapter(v,p):v;g(h);w("success");return o(y)()}catch(e){return j(e)}}),j)}catch(e){j(e)}}))};h.useEffectCustomAsync(C,[]);h.useEffectCustom((function(){if(!t)return;if(y){if(!p(t.params,y)){void C()}}}),[y,t==null?void 0:t.params]);if(!t){return undefined}return{loading:d,status:x,viewValue:v}};var x=["wrap","render","placeholderValue","serviceConfig"];var w=function a(i){var t=i.wrap,l=i.render,o=i.placeholderValue,s=i.serviceConfig,u=n(i,x);var m=j({serviceConfig:s,name:i.name});return c(v,r({},u,{name:undefined,className:e("form-item-text",i.className),children:c(y,{loading:m==null?void 0:m.loading,wrap:t,render:l,placeholderValue:o,value:m==null?void 0:m.viewValue})}))};var P=["wrap","render","placeholderValue"];var V=function a(i){var l=i.wrap,o=i.render,s=i.placeholderValue,u=n(i,P);if(i.serviceConfig){return f(t,{children:[c(g,{name:i.name}),c(w,r({},i))]})}return c(v,r({},u,{className:e("form-item-text",i.className),children:c(y,{wrap:l,render:o,placeholderValue:s})}))};export{V as FormItemText};
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-text/content.tsx","@flatbiz/antd/src/form-item-text/use-request.tsx","@flatbiz/antd/src/form-item-text/request-text.tsx","@flatbiz/antd/src/form-item-text/form-item-text.tsx"],"sourcesContent":["import { isUndefinedOrNull } from '@flatbiz/utils';\nimport { Spin } from 'antd';\nimport { type CSSProperties } from 'react';\nimport { TextCssEllipsis } from '../text-css-ellipsis';\nimport { type FormItemTextProps } from './types';\n\nexport const FormItemTextContent = (\n props: Pick<FormItemTextProps, 'render' | 'wrap' | 'placeholderValue'> & {\n value?: string;\n style?: CSSProperties;\n loading?: boolean;\n },\n) => {\n const originalValue = (function () {\n if (isUndefinedOrNull(props.value)) return props.placeholderValue;\n return typeof props.value === 'string' ? props.value : JSON.stringify(props.value);\n })();\n const valueFt = props.wrap ? originalValue : <TextCssEllipsis text={originalValue || ''} />;\n if (props.loading) {\n return (\n <span className=\"form-item-text-content fitc-loading\" style={props.style}>\n <Spin spinning={props.loading} size=\"small\">\n <span style={{ textIndent: '-9999px', display: 'inline-block' }}>Loading</span>\n </Spin>\n </span>\n );\n }\n return (\n <span className=\"form-item-text-content\" style={props.style}>\n {props.render ? props.render(props.value) : valueFt}\n </span>\n );\n};\n","import { isDeepEqual } from '@dimjs/lang';\nimport { isUndefinedOrNull, toArray, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Form, message } from 'antd';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormItemWrapperProps } from '../form-item-wrapper';\nimport { type FormItemTextServiceConfig } from './types';\n\nexport const useRequestFormItemText = (props: {\n serviceConfig?: FormItemTextServiceConfig;\n name?: FormItemWrapperProps['name'];\n}) => {\n const serviceConfig = props.serviceConfig;\n const [loading, setLoading] = useState(false);\n const [respData, setRespData] = useState<TAny>();\n const prevParams = fbaHooks.usePrevious(serviceConfig?.params);\n const [status, setStatus] = useState<'success' | 'error' | 'init'>('init');\n const form = Form.useFormInstance();\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (!serviceConfig?.params || toArray(serviceConfig?.invalidParamKey).length === 0) {\n return serviceConfig?.params;\n }\n const newParams = { ...serviceConfig?.params };\n serviceConfig?.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig?.invalidParamKey, serviceConfig?.params]);\n\n const onInnerRequest = async (params?: TPlainObject) => {\n if (!serviceConfig) return;\n const mergeProps = { ...serviceParams, ...params };\n if (serviceConfig?.requiredParamsKeys?.length) {\n const target = serviceConfig?.requiredParamsKeys.find((item) => {\n return isUndefinedOrNull(mergeProps[item]);\n });\n if (target) {\n console.warn(`FormItemText组件:参数:${serviceConfig?.requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n }\n try {\n if (!loading) setLoading(true);\n const respData = await serviceConfig.onRequest(mergeProps);\n const value = props.name ? form.getFieldValue(props.name) : undefined;\n const respDataFt = serviceConfig.onResponseAdapter\n ? serviceConfig.onResponseAdapter(respData, value)\n : respData;\n setRespData(respDataFt);\n setStatus('success');\n } catch (error: TAny) {\n console.error(error);\n setStatus('error');\n void message.error(error?.message || '接口调用异常');\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(onInnerRequest, []);\n\n fbaHooks.useEffectCustom(() => {\n if (!serviceConfig) return;\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n void onInnerRequest();\n }\n }\n }, [prevParams, serviceConfig?.params]);\n\n if (!serviceConfig) {\n return undefined;\n }\n\n return { loading, status, viewValue: respData };\n};\n","import { classNames } from '@dimjs/utils';\n\nimport { FormItemWrapper } from '../form-item-wrapper';\nimport { FormItemTextContent } from './content';\nimport { type FormItemTextProps } from './types';\nimport { useRequestFormItemText } from './use-request';\n\n/**\n * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)\n * @param props\n * @returns\n */\nexport const RequestText = (props: FormItemTextProps) => {\n const { wrap, render, placeholderValue, ...otherProps } = props;\n\n const requestResult = useRequestFormItemText({\n serviceConfig: props.serviceConfig,\n name: props.name,\n });\n\n return (\n <FormItemWrapper\n {...otherProps}\n name={undefined}\n className={classNames('form-item-text', props.className)}\n >\n <FormItemTextContent\n loading={requestResult?.loading}\n wrap={wrap}\n render={render}\n placeholderValue={placeholderValue}\n value={requestResult?.viewValue}\n />\n </FormItemWrapper>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Fragment } from 'react';\n\nimport { FormItemTextContent } from './content';\nimport { RequestText } from './request-text';\nimport { type FormItemTextProps } from './types';\n\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper } from '../form-item-wrapper';\nimport './style.less';\n/**\n * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)\n * ```\n * 可通过配置 serviceConfig 通过接口获取数据,一般用于 Select 数据显示\n *\n * 例如:\n * 1. 基本数据渲染\n * <FormItemText name=\"xxx\" label=\"xxx\" />\n * 2. 对象数据渲染\n * <FormItemText\n * name=\"xxx\"\n * label=\"xxx\"\n * render={(value) => {\n * const target = [].find(\n * (item) => item.value === value,\n * );\n * return target ? (\n * <Tag color={target['color']}>{target.label}</Tag>\n * ) : null;\n * }}\n * />\n * 3. 接口数据渲染\n * <FormItemText\n * name=\"xxx\"\n * label=\"xxx\"\n * serviceConfig={{\n * onRequest: () => {\n * return serviceHandle.request('/random/api9468', {}, 'post');\n * },\n * onResponseAdapter: (dataList: TPlainObject[], value) => {\n * return dataList?.find((item) => item.value === value);\n * },\n * }}\n * render={(dataItem) => {\n * return dataItem ? (\n * <Tag style={{ margin: 0 }} color={dataItem['color']}>\n * {dataItem.label}\n * </Tag>\n * ) : null;\n * }}\n * />\n * ```\n */\nexport const FormItemText = (props: FormItemTextProps) => {\n const { wrap, render, placeholderValue, ...otherProps } = props;\n\n if (props.serviceConfig) {\n return (\n <Fragment>\n <FormItemHidden name={props.name} />\n <RequestText {...props} />\n </Fragment>\n );\n }\n\n return (\n <FormItemWrapper {...otherProps} className={classNames('form-item-text', props.className)}>\n <FormItemTextContent wrap={wrap} render={render} placeholderValue={placeholderValue} />\n </FormItemWrapper>\n );\n};\n"],"names":["FormItemTextContent","props","originalValue","isUndefinedOrNull","value","placeholderValue","JSON","stringify","valueFt","wrap","_jsx","TextCssEllipsis","text","loading","className","style","children","Spin","spinning","size","textIndent","display","render","useRequestFormItemText","serviceConfig","_useState","useState","setLoading","_useState2","respData","setRespData","prevParams","fbaHooks","usePrevious","params","_useState3","status","setStatus","form","Form","useFormInstance","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_extends","forEach","key","undefined","onInnerRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","this","$boundEx","bind","_serviceConfig$requir","mergeProps","target","_respData","respDataFt","requiredParamsKeys","find","item","console","warn","join","$Try_1_Post","$Try_1_Catch","error","message","resolve","onRequest","then","$await_2","name","getFieldValue","onResponseAdapter","useEffectCustomAsync","useEffectCustom","_isDeepEqual","viewValue","RequestText","otherProps","_objectWithoutPropertiesLoose","_excluded","requestResult","FormItemWrapper","_classNames","FormItemText","_jsxs","Fragment","FormItemHidden"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-text/content.tsx","@flatbiz/antd/src/form-item-text/use-request.tsx","@flatbiz/antd/src/form-item-text/request-text.tsx","@flatbiz/antd/src/form-item-text/form-item-text.tsx"],"sourcesContent":["import { isUndefinedOrNull } from '@flatbiz/utils';\nimport { Spin } from 'antd';\nimport { type CSSProperties } from 'react';\nimport { TextCssEllipsis } from '../text-css-ellipsis';\nimport { type FormItemTextProps } from './types';\n\nexport const FormItemTextContent = (\n props: Pick<FormItemTextProps, 'render' | 'wrap' | 'placeholderValue'> & {\n value?: string;\n style?: CSSProperties;\n loading?: boolean;\n },\n) => {\n const originalValue = (function () {\n if (isUndefinedOrNull(props.value)) return props.placeholderValue;\n return typeof props.value === 'string' ? props.value : JSON.stringify(props.value);\n })();\n const valueFt = props.wrap ? originalValue : <TextCssEllipsis text={originalValue || ''} />;\n if (props.loading) {\n return (\n <span className=\"form-item-text-content fitc-loading\" style={props.style}>\n <Spin spinning={props.loading} size=\"small\">\n <span style={{ textIndent: '-9999px', display: 'inline-block' }}>Loading</span>\n </Spin>\n </span>\n );\n }\n return (\n <span className=\"form-item-text-content\" style={props.style}>\n {props.render ? props.render(props.value) : valueFt}\n </span>\n );\n};\n","import { isDeepEqual } from '@dimjs/lang';\nimport { isUndefinedOrNull, toArray, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { Form, message } from 'antd';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormItemWrapperProps } from '../form-item-wrapper';\nimport { type FormItemTextServiceConfig } from './types';\n\nexport const useRequestFormItemText = (props: {\n serviceConfig?: FormItemTextServiceConfig;\n name?: FormItemWrapperProps['name'];\n}) => {\n const serviceConfig = props.serviceConfig;\n const [loading, setLoading] = useState(false);\n const [respData, setRespData] = useState<TAny>();\n const prevParams = fbaHooks.usePrevious(serviceConfig?.params);\n const [status, setStatus] = useState<'success' | 'error' | 'init'>('init');\n const form = Form.useFormInstance();\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (!serviceConfig?.params || toArray(serviceConfig?.invalidParamKey).length === 0) {\n return serviceConfig?.params;\n }\n const newParams = { ...serviceConfig?.params };\n serviceConfig?.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig?.invalidParamKey, serviceConfig?.params]);\n\n const onInnerRequest = async (params?: TPlainObject) => {\n if (!serviceConfig) return;\n const mergeProps = { ...serviceParams, ...params };\n if (serviceConfig?.requiredParamsKeys?.length) {\n const target = serviceConfig?.requiredParamsKeys.find((item) => {\n return isUndefinedOrNull(mergeProps[item]);\n });\n if (target) {\n console.warn(`FormItemText组件:参数:${serviceConfig?.requiredParamsKeys.join('、')}不能为空`);\n return;\n }\n }\n try {\n if (!loading) setLoading(true);\n const respData = await serviceConfig.onRequest(mergeProps);\n const value = props.name ? form.getFieldValue(props.name) : undefined;\n const respDataFt = serviceConfig.onResponseAdapter\n ? serviceConfig.onResponseAdapter(respData, value)\n : respData;\n setRespData(respDataFt);\n setStatus('success');\n } catch (error: TAny) {\n console.error(error);\n setStatus('error');\n void message.error(error?.message || '接口调用异常');\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(onInnerRequest, []);\n\n fbaHooks.useEffectCustom(() => {\n if (!serviceConfig) return;\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n void onInnerRequest();\n }\n }\n }, [prevParams, serviceConfig?.params]);\n\n if (!serviceConfig) {\n return undefined;\n }\n\n return { loading, status, viewValue: respData };\n};\n","import { classNames } from '@dimjs/utils';\n\nimport { FormItemWrapper } from '../form-item-wrapper';\nimport { FormItemTextContent } from './content';\nimport { type FormItemTextProps } from './types';\nimport { useRequestFormItemText } from './use-request';\n\n/**\n * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)\n * @param props\n * @returns\n */\nexport const RequestText = (props: FormItemTextProps) => {\n const { wrap, render, placeholderValue, serviceConfig, ...otherProps } = props;\n\n const requestResult = useRequestFormItemText({\n serviceConfig,\n name: props.name,\n });\n\n return (\n <FormItemWrapper\n {...otherProps}\n name={undefined}\n className={classNames('form-item-text', props.className)}\n >\n <FormItemTextContent\n loading={requestResult?.loading}\n wrap={wrap}\n render={render}\n placeholderValue={placeholderValue}\n value={requestResult?.viewValue}\n />\n </FormItemWrapper>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Fragment } from 'react';\n\nimport { FormItemTextContent } from './content';\nimport { RequestText } from './request-text';\nimport { type FormItemTextProps } from './types';\n\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper } from '../form-item-wrapper';\nimport './style.less';\n/**\n * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)\n * ```\n * 可通过配置 serviceConfig 通过接口获取数据,一般用于 Select 数据显示\n *\n * 例如:\n * 1. 基本数据渲染\n * <FormItemText name=\"xxx\" label=\"xxx\" />\n * 2. 对象数据渲染\n * <FormItemText\n * name=\"xxx\"\n * label=\"xxx\"\n * render={(value) => {\n * const target = [].find(\n * (item) => item.value === value,\n * );\n * return target ? (\n * <Tag color={target['color']}>{target.label}</Tag>\n * ) : null;\n * }}\n * />\n * 3. 接口数据渲染\n * <FormItemText\n * name=\"xxx\"\n * label=\"xxx\"\n * serviceConfig={{\n * onRequest: () => {\n * return serviceHandle.request('/random/api9468', {}, 'post');\n * },\n * onResponseAdapter: (dataList: TPlainObject[], value) => {\n * return dataList?.find((item) => item.value === value);\n * },\n * }}\n * render={(dataItem) => {\n * return dataItem ? (\n * <Tag style={{ margin: 0 }} color={dataItem['color']}>\n * {dataItem.label}\n * </Tag>\n * ) : null;\n * }}\n * />\n * ```\n */\nexport const FormItemText = (props: FormItemTextProps) => {\n const { wrap, render, placeholderValue, ...otherProps } = props;\n\n if (props.serviceConfig) {\n return (\n <Fragment>\n <FormItemHidden name={props.name} />\n <RequestText {...props} />\n </Fragment>\n );\n }\n\n return (\n <FormItemWrapper {...otherProps} className={classNames('form-item-text', props.className)}>\n <FormItemTextContent wrap={wrap} render={render} placeholderValue={placeholderValue} />\n </FormItemWrapper>\n );\n};\n"],"names":["FormItemTextContent","props","originalValue","isUndefinedOrNull","value","placeholderValue","JSON","stringify","valueFt","wrap","_jsx","TextCssEllipsis","text","loading","className","style","children","Spin","spinning","size","textIndent","display","render","useRequestFormItemText","serviceConfig","_useState","useState","setLoading","_useState2","respData","setRespData","prevParams","fbaHooks","usePrevious","params","_useState3","status","setStatus","form","Form","useFormInstance","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_extends","forEach","key","undefined","onInnerRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","this","$boundEx","bind","_serviceConfig$requir","mergeProps","target","_respData","respDataFt","requiredParamsKeys","find","item","console","warn","join","$Try_1_Post","$Try_1_Catch","error","message","resolve","onRequest","then","$await_2","name","getFieldValue","onResponseAdapter","useEffectCustomAsync","useEffectCustom","_isDeepEqual","viewValue","RequestText","otherProps","_objectWithoutPropertiesLoose","_excluded","requestResult","FormItemWrapper","_classNames","FormItemText","_jsxs","Fragment","FormItemHidden"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flatbiz/antd",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.96",
|
|
4
4
|
"description": "flat-biz ui components",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"typings": "index.d.ts",
|
|
@@ -63,7 +63,8 @@
|
|
|
63
63
|
"@dnd-kit/modifiers": "^6.0.1",
|
|
64
64
|
"@dnd-kit/sortable": "^7.0.2",
|
|
65
65
|
"@dnd-kit/utilities": "^3.2.1",
|
|
66
|
-
"use-intl": "3.0.0-rc.6"
|
|
66
|
+
"use-intl": "3.0.0-rc.6",
|
|
67
|
+
"react-split": "2.0.14"
|
|
67
68
|
},
|
|
68
69
|
"gitHead": "4378d433b73ee28fd7cb4c64bed8571f993eb5a9"
|
|
69
70
|
}
|