@flatbiz/antd 4.2.92 → 4.2.94

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.
@@ -0,0 +1 @@
1
+ .form-item-text-content{color:rgba(0,0,0,.88);display:inline-flex;font-size:14px;padding:4px 11px;width:100%}.form-item-text{overflow:hidden}.form-item-text .ant-input{border:none}
@@ -0,0 +1,5 @@
1
+ /* eslint-disable */
2
+ import './index.css';
3
+ /*! @flatjs/forge MIT @flatbiz/antd */
4
+ import{a as r,_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as a}from"@dimjs/utils/cjs/class-names";import{TextCssEllipsis as t}from"@flatbiz/antd";import{Form as l}from"antd";import{jsx as n}from"react/jsx-runtime";var o=["wrap","render","placeholderValue"];var m=function r(e){var a=typeof e.value==="string"?e.value:JSON.stringify(e.value);var l=(e.render?e.render(e.value):a)||e.placeholderValue;return n("span",{className:"form-item-text-content",children:e.wrap?l:n(t,{text:l||""})})};var s=function t(s){var i=s.wrap,p=s.render,u=s.placeholderValue,c=r(s,o);return n(l.Item,e({},c,{className:a("form-item-text",s.className),children:n(m,{wrap:i,render:p,placeholderValue:u})}))};export{s as FormItemText};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-text/form-item-text.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { TextCssEllipsis } from '@flatbiz/antd';\nimport { type TAny } from '@flatbiz/utils';\nimport { Form, type FormItemProps } from 'antd';\nimport './style.less';\n\ntype FormItemTextProps = FormItemProps & {\n /** 是否换行,默认不换行,超出省略(鼠标悬浮可显示) */\n wrap?: boolean;\n /** 自定义数据显示 */\n render?: (value?: TAny) => string;\n /** 占位值,当 value 为 ''、undefined、null时显示 */\n placeholderValue?: string;\n};\n\nconst FormItemTextContent = (\n props: Pick<FormItemTextProps, 'render' | 'wrap' | 'placeholderValue'> & { value?: string },\n) => {\n const originalValue = typeof props.value === 'string' ? props.value : JSON.stringify(props.value);\n const value = (props.render ? props.render(props.value) : originalValue) || props.placeholderValue;\n\n return (\n <span className=\"form-item-text-content\">\n {props.wrap ? value : <TextCssEllipsis text={value || ''} />}\n </span>\n );\n};\n\n/**\n * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)\n * @param props\n * @returns\n */\nexport const FormItemText = (props: FormItemTextProps) => {\n const { wrap, render, placeholderValue, ...otherProps } = props;\n\n return (\n <Form.Item {...otherProps} className={classNames('form-item-text', props.className)}>\n <FormItemTextContent wrap={wrap} render={render} placeholderValue={placeholderValue} />\n </Form.Item>\n );\n};\n"],"names":["FormItemTextContent","props","originalValue","value","JSON","stringify","render","placeholderValue","_jsx","className","children","wrap","TextCssEllipsis","text","FormItemText","otherProps","_objectWithoutPropertiesLoose","_excluded","Form","Item","_extends","_classNames"],"mappings":";6RAeA,IAAMA,EAAsB,SAAtBA,EACJC,GAEA,IAAMC,SAAuBD,EAAME,QAAU,SAAWF,EAAME,MAAQC,KAAKC,UAAUJ,EAAME,OAC3F,IAAMA,GAASF,EAAMK,OAASL,EAAMK,OAAOL,EAAME,OAASD,IAAkBD,EAAMM,iBAElF,OACEC,EAAA,OAAA,CAAMC,UAAU,yBAAwBC,SACrCT,EAAMU,KAAOR,EAAQK,EAACI,EAAe,CAACC,KAAMV,GAAS,MAG5D,MAOaW,EAAe,SAAfA,EAAgBb,GAC3B,IAAQU,EAAkDV,EAAlDU,KAAML,EAA4CL,EAA5CK,OAAQC,EAAoCN,EAApCM,iBAAqBQ,EAAUC,EAAKf,EAAKgB,GAE/D,OACET,EAACU,EAAKC,KAAIC,KAAKL,EAAU,CAAEN,UAAWY,EAAW,iBAAkBpB,EAAMQ,WAAWC,SAClFF,EAACR,EAAmB,CAACW,KAAMA,EAAML,OAAQA,EAAQC,iBAAkBA,MAGzE"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{ButtonWrapper as t}from"@flatbiz/antd";import{toArray as n,getUuid as a}from"@flatbiz/utils";import{Form as i,Empty as o}from"antd";import{useRef as l,Fragment as m}from"react";import{jsxs as d,jsx as u}from"react/jsx-runtime";var c=function e(r){if(r.wrapper)return r.wrapper({children:r.children});return r.children};var s=function s(p){var f=[].concat(p.prevCompleteName,n(p.name));var h=i.useFormInstance();var v=l([]);var g=p.uidFieldName||"uid";var w=i.useWatch(f,h);return d("div",{className:r("form-list-wrapper",p.className),style:p.style,children:[!p.hiddenEmptyRender&&!(w!=null&&w.length)?u(o,{image:o.PRESENTED_IMAGE_SIMPLE,style:{margin:"15px 0"}}):null,u(i.List,{name:p.name,children:function r(n,i){v.current=n;return u(c,{wrapper:p.formListChildrenWrapper,children:d(m,{children:[n.map((function(e,r){var t=[].concat(f,[e.name]);return u(m,{children:p.children({formListFieldData:e,operation:i,formStageCompleteName:t,prevCompleteName:f,index:r,getInsideFormItemName:function r(t){return[e.name,t]},getInsideFormItemData:function e(){return h.getFieldValue(t)},uidKey:g})},e.key)})),p.onCustomAddRowButton?p.onCustomAddRowButton(i):u(t,{hidden:p.hiddenAddRowButton,type:"dashed",block:true,onClick:function r(){var t;return i.add(e((t={},t[g]=a(),t),p.getAddRowDefaultValues==null?void 0:p.getAddRowDefaultValues()))},children:"添加"})]})})}})]})};export{s as FormListWrapper};
4
+ import{_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{ButtonWrapper as t}from"@flatbiz/antd";import{toArray as n,getUuid as a}from"@flatbiz/utils";import{Form as i,Empty as o}from"antd";import{useRef as l,Fragment as m}from"react";import{jsxs as d,jsx as u}from"react/jsx-runtime";var s=function e(r){if(r.wrapper)return r.wrapper({children:r.children});return r.children};var c=function c(p){var f=[].concat(p.prevCompleteName,n(p.name));var h=i.useFormInstance();var v=l([]);var g=p.uidFieldName||"uid";var w=i.useWatch(f,h);return d("div",{className:r("form-list-wrapper",p.className),style:p.style,children:[!p.hiddenEmptyRender&&!(w!=null&&w.length)?u(o,{image:o.PRESENTED_IMAGE_SIMPLE,style:{margin:"15px 0"}}):null,u(i.List,{name:p.name,rules:p.rules,children:function r(n,i){v.current=n;return u(s,{wrapper:p.formListChildrenWrapper,children:d(m,{children:[n.map((function(e,r){var t=[].concat(f,[e.name]);return u(m,{children:p.children({formListFieldData:e,operation:i,formStageCompleteName:t,prevCompleteName:f,index:r,getInsideFormItemName:function r(t){return[e.name,t]},getInsideFormItemData:function e(){return h.getFieldValue(t)},uidKey:g})},e.key)})),p.onCustomAddRowButton?p.onCustomAddRowButton(i):u(t,{hidden:p.hiddenAddRowButton,type:"dashed",block:true,onClick:function r(){var t;return i.add(e((t={},t[g]=a(),t),p.getAddRowDefaultValues==null?void 0:p.getAddRowDefaultValues()))},children:"添加"})]})})}})]})};export{c as FormListWrapper};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-list-wrapper/form-list-wrapper.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { ButtonWrapper } from '@flatbiz/antd';\nimport { getUuid, toArray } from '@flatbiz/utils';\nimport { Empty, Form, type FormListFieldData } from 'antd';\nimport { Fragment, useRef, type ReactElement } from 'react';\nimport './style.less';\nimport { type FormListWrapperProps } from './types';\ntype FormListChildrenWrapperProps = {\n wrapper?: FormListWrapperProps['formListChildrenWrapper'];\n children: ReactElement;\n};\nconst FormListChildrenWrapper = (props: FormListChildrenWrapperProps) => {\n if (props.wrapper) return props.wrapper({ children: props.children });\n return props.children;\n};\n\n/**\n * FormList\n * ```\n * 1. FormList数组中必须要有唯一值字段,默认值字段名称uid,可通过uidFieldName自定义设置\n * 2. Demo: https://fex.qa.tcshuke.com/docs/admin/main/form/list\n * ```\n */\nexport const FormListWrapper = (props: FormListWrapperProps) => {\n const stageCompleteName = [...props.prevCompleteName, ...toArray(props.name)] as Array<string | number>;\n const form = Form.useFormInstance();\n const formListOperationRef = useRef<FormListFieldData[]>([]);\n const uidFieldName = props.uidFieldName || 'uid';\n const formListValue = Form.useWatch(stageCompleteName, form);\n\n return (\n <div className={classNames('form-list-wrapper', props.className)} style={props.style}>\n {!props.hiddenEmptyRender && !formListValue?.length ? (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} style={{ margin: '15px 0' }} />\n ) : null}\n <Form.List name={props.name}>\n {(fields, operation) => {\n formListOperationRef.current = fields;\n return (\n <FormListChildrenWrapper wrapper={props.formListChildrenWrapper}>\n <Fragment>\n {fields.map((field, index) => {\n const formStageCompleteName = [...stageCompleteName, field.name];\n return (\n <Fragment key={field.key}>\n {props.children({\n formListFieldData: field,\n operation: operation,\n formStageCompleteName,\n prevCompleteName: stageCompleteName,\n index,\n getInsideFormItemName: (key: string) => {\n return [field.name, key];\n },\n getInsideFormItemData: () => {\n return form.getFieldValue(formStageCompleteName);\n },\n uidKey: uidFieldName,\n })}\n </Fragment>\n );\n })}\n {props.onCustomAddRowButton ? (\n props.onCustomAddRowButton(operation)\n ) : (\n <ButtonWrapper\n hidden={props.hiddenAddRowButton}\n type=\"dashed\"\n block\n onClick={() =>\n operation.add({ [uidFieldName]: getUuid(), ...props.getAddRowDefaultValues?.() })\n }\n >\n 添加\n </ButtonWrapper>\n )}\n </Fragment>\n </FormListChildrenWrapper>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["FormListChildrenWrapper","props","wrapper","children","FormListWrapper","stageCompleteName","concat","prevCompleteName","toArray","name","form","Form","useFormInstance","formListOperationRef","useRef","uidFieldName","formListValue","useWatch","_jsxs","className","_classNames","style","hiddenEmptyRender","length","_jsx","Empty","image","PRESENTED_IMAGE_SIMPLE","margin","List","fields","operation","current","formListChildrenWrapper","Fragment","map","field","index","formStageCompleteName","formListFieldData","getInsideFormItemName","key","getInsideFormItemData","getFieldValue","uidKey","onCustomAddRowButton","ButtonWrapper","hidden","hiddenAddRowButton","type","block","onClick","_extends2","add","_extends","getUuid","getAddRowDefaultValues"],"mappings":";iWAWA,IAAMA,EAA0B,SAA1BA,EAA2BC,GAC/B,GAAIA,EAAMC,QAAS,OAAOD,EAAMC,QAAQ,CAAEC,SAAUF,EAAME,WAC1D,OAAOF,EAAME,QACf,MASaC,EAAkB,SAAlBA,EAAmBH,GAC9B,IAAMI,EAAiB,GAAAC,OAAOL,EAAMM,iBAAqBC,EAAQP,EAAMQ,OACvE,IAAMC,EAAOC,EAAKC,kBAClB,IAAMC,EAAuBC,EAA4B,IACzD,IAAMC,EAAed,EAAMc,cAAgB,MAC3C,IAAMC,EAAgBL,EAAKM,SAASZ,EAAmBK,GAEvD,OACEQ,EAAA,MAAA,CAAKC,UAAWC,EAAW,oBAAqBnB,EAAMkB,WAAYE,MAAOpB,EAAMoB,MAAMlB,SAClF,EAACF,EAAMqB,qBAAsBN,GAAa,MAAbA,EAAeO,QAC3CC,EAACC,EAAK,CAACC,MAAOD,EAAME,uBAAwBN,MAAO,CAAEO,OAAQ,YAC3D,KACJJ,EAACb,EAAKkB,KAAI,CAACpB,KAAMR,EAAMQ,KAAKN,SACzB,SAAAA,EAAC2B,EAAQC,GACRlB,EAAqBmB,QAAUF,EAC/B,OACEN,EAACxB,EAAuB,CAACE,QAASD,EAAMgC,wBAAwB9B,SAC9De,EAACgB,EAAQ,CAAA/B,SAAA,CACN2B,EAAOK,KAAI,SAACC,EAAOC,GAClB,IAAMC,KAAqBhC,OAAOD,EAAmB+B,CAAAA,EAAM3B,OAC3D,OACEe,EAACU,EAAQ,CAAA/B,SACNF,EAAME,SAAS,CACdoC,kBAAmBH,EACnBL,UAAWA,EACXO,sBAAAA,EACA/B,iBAAkBF,EAClBgC,MAAAA,EACAG,sBAAuB,SAAAA,EAACC,GACtB,MAAO,CAACL,EAAM3B,KAAMgC,EACrB,EACDC,sBAAuB,SAAAA,IACrB,OAAOhC,EAAKiC,cAAcL,EAC3B,EACDM,OAAQ7B,KAbGqB,EAAMK,IAiBzB,IACCxC,EAAM4C,qBACL5C,EAAM4C,qBAAqBd,GAE3BP,EAACsB,EAAa,CACZC,OAAQ9C,EAAM+C,mBACdC,KAAK,SACLC,MAAK,KACLC,QAAS,SAAAA,IAAA,IAAAC,EAAA,OACPrB,EAAUsB,IAAGC,GAAAF,EAAA,CAAA,EAAAA,EAAIrC,GAAewC,IAASH,GAAKnD,EAAMuD,wBAAsB,UAAA,EAA5BvD,EAAMuD,0BACrD,EAAArD,SACF,WAOX,MAIR"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-list-wrapper/form-list-wrapper.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { ButtonWrapper } from '@flatbiz/antd';\nimport { getUuid, toArray } from '@flatbiz/utils';\nimport { Empty, Form, type FormListFieldData } from 'antd';\nimport { Fragment, useRef, type ReactElement } from 'react';\nimport './style.less';\nimport { type FormListWrapperProps } from './types';\ntype FormListChildrenWrapperProps = {\n wrapper?: FormListWrapperProps['formListChildrenWrapper'];\n children: ReactElement;\n};\nconst FormListChildrenWrapper = (props: FormListChildrenWrapperProps) => {\n if (props.wrapper) return props.wrapper({ children: props.children });\n return props.children;\n};\n\n/**\n * FormList\n * ```\n * 1. FormList数组中必须要有唯一值字段,默认值字段名称uid,可通过uidFieldName自定义设置\n * 2. Demo: https://fex.qa.tcshuke.com/docs/admin/main/form/list\n * ```\n */\nexport const FormListWrapper = (props: FormListWrapperProps) => {\n const stageCompleteName = [...props.prevCompleteName, ...toArray(props.name)] as Array<string | number>;\n const form = Form.useFormInstance();\n const formListOperationRef = useRef<FormListFieldData[]>([]);\n const uidFieldName = props.uidFieldName || 'uid';\n const formListValue = Form.useWatch(stageCompleteName, form);\n\n return (\n <div className={classNames('form-list-wrapper', props.className)} style={props.style}>\n {!props.hiddenEmptyRender && !formListValue?.length ? (\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} style={{ margin: '15px 0' }} />\n ) : null}\n <Form.List name={props.name} rules={props.rules}>\n {(fields, operation) => {\n formListOperationRef.current = fields;\n return (\n <FormListChildrenWrapper wrapper={props.formListChildrenWrapper}>\n <Fragment>\n {fields.map((field, index) => {\n const formStageCompleteName = [...stageCompleteName, field.name];\n return (\n <Fragment key={field.key}>\n {props.children({\n formListFieldData: field,\n operation: operation,\n formStageCompleteName,\n prevCompleteName: stageCompleteName,\n index,\n getInsideFormItemName: (key: string) => {\n return [field.name, key];\n },\n getInsideFormItemData: () => {\n return form.getFieldValue(formStageCompleteName);\n },\n uidKey: uidFieldName,\n })}\n </Fragment>\n );\n })}\n {props.onCustomAddRowButton ? (\n props.onCustomAddRowButton(operation)\n ) : (\n <ButtonWrapper\n hidden={props.hiddenAddRowButton}\n type=\"dashed\"\n block\n onClick={() =>\n operation.add({ [uidFieldName]: getUuid(), ...props.getAddRowDefaultValues?.() })\n }\n >\n 添加\n </ButtonWrapper>\n )}\n </Fragment>\n </FormListChildrenWrapper>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["FormListChildrenWrapper","props","wrapper","children","FormListWrapper","stageCompleteName","concat","prevCompleteName","toArray","name","form","Form","useFormInstance","formListOperationRef","useRef","uidFieldName","formListValue","useWatch","_jsxs","className","_classNames","style","hiddenEmptyRender","length","_jsx","Empty","image","PRESENTED_IMAGE_SIMPLE","margin","List","rules","fields","operation","current","formListChildrenWrapper","Fragment","map","field","index","formStageCompleteName","formListFieldData","getInsideFormItemName","key","getInsideFormItemData","getFieldValue","uidKey","onCustomAddRowButton","ButtonWrapper","hidden","hiddenAddRowButton","type","block","onClick","_extends2","add","_extends","getUuid","getAddRowDefaultValues"],"mappings":";iWAWA,IAAMA,EAA0B,SAA1BA,EAA2BC,GAC/B,GAAIA,EAAMC,QAAS,OAAOD,EAAMC,QAAQ,CAAEC,SAAUF,EAAME,WAC1D,OAAOF,EAAME,QACf,MASaC,EAAkB,SAAlBA,EAAmBH,GAC9B,IAAMI,EAAiB,GAAAC,OAAOL,EAAMM,iBAAqBC,EAAQP,EAAMQ,OACvE,IAAMC,EAAOC,EAAKC,kBAClB,IAAMC,EAAuBC,EAA4B,IACzD,IAAMC,EAAed,EAAMc,cAAgB,MAC3C,IAAMC,EAAgBL,EAAKM,SAASZ,EAAmBK,GAEvD,OACEQ,EAAA,MAAA,CAAKC,UAAWC,EAAW,oBAAqBnB,EAAMkB,WAAYE,MAAOpB,EAAMoB,MAAMlB,SAClF,EAACF,EAAMqB,qBAAsBN,GAAa,MAAbA,EAAeO,QAC3CC,EAACC,EAAK,CAACC,MAAOD,EAAME,uBAAwBN,MAAO,CAAEO,OAAQ,YAC3D,KACJJ,EAACb,EAAKkB,KAAI,CAACpB,KAAMR,EAAMQ,KAAMqB,MAAO7B,EAAM6B,MAAM3B,SAC7C,SAAAA,EAAC4B,EAAQC,GACRnB,EAAqBoB,QAAUF,EAC/B,OACEP,EAACxB,EAAuB,CAACE,QAASD,EAAMiC,wBAAwB/B,SAC9De,EAACiB,EAAQ,CAAAhC,SAAA,CACN4B,EAAOK,KAAI,SAACC,EAAOC,GAClB,IAAMC,KAAqBjC,OAAOD,EAAmBgC,CAAAA,EAAM5B,OAC3D,OACEe,EAACW,EAAQ,CAAAhC,SACNF,EAAME,SAAS,CACdqC,kBAAmBH,EACnBL,UAAWA,EACXO,sBAAAA,EACAhC,iBAAkBF,EAClBiC,MAAAA,EACAG,sBAAuB,SAAAA,EAACC,GACtB,MAAO,CAACL,EAAM5B,KAAMiC,EACrB,EACDC,sBAAuB,SAAAA,IACrB,OAAOjC,EAAKkC,cAAcL,EAC3B,EACDM,OAAQ9B,KAbGsB,EAAMK,IAiBzB,IACCzC,EAAM6C,qBACL7C,EAAM6C,qBAAqBd,GAE3BR,EAACuB,EAAa,CACZC,OAAQ/C,EAAMgD,mBACdC,KAAK,SACLC,MAAK,KACLC,QAAS,SAAAA,IAAA,IAAAC,EAAA,OACPrB,EAAUsB,IAAGC,GAAAF,EAAA,CAAA,EAAAA,EAAItC,GAAeyC,IAASH,GAAKpD,EAAMwD,wBAAsB,UAAA,EAA5BxD,EAAMwD,0BACrD,EAAAtD,SACF,WAOX,MAIR"}
package/esm/index.js CHANGED
@@ -62,6 +62,7 @@ import './file-import/index.css';
62
62
  import './file-select/index.css';
63
63
  import './form-item-group/index.css';
64
64
  import './form-item-hidden/index.css';
65
+ import './form-item-text/index.css';
65
66
  import './form-item-wrapper/index.css';
66
67
  import './form-list-wrapper/index.css';
67
68
  import './input-search-wrapper/index.css';
@@ -84,6 +85,7 @@ import './search-menu/index.css';
84
85
  import './selector-wrapper-search/index.css';
85
86
  import './selector-wrapper-simple/index.css';
86
87
  import './sms-count-down/index.css';
88
+ import './split-wrapper/index.css';
87
89
  import './styles/index.css';
88
90
  import './switch-confirm-wrapper/index.css';
89
91
  import './tabs-wrapper/index.css';
@@ -99,5 +101,5 @@ import './tree-selector-wrapper/index.css';
99
101
  import './tree-wrapper/index.css';
100
102
  import './index.css';
101
103
  /*! @flatjs/forge MIT @flatbiz/antd */
102
- export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{ConfigProviderWrapper}from"./config-provider-wrapper/index.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{styles}from"./styles/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@flatbiz/utils";import"antd";import"react/jsx-runtime";import"react";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"@flatbiz/antd";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./index-ac189a77.js";import"./time-53b3f55f.js";import"react-dom/client";import"./dom-4d04aa64.js";import"./context-1f2093c6.js";import"ahooks";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@dimjs/lang/cjs/is-number";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
104
+ export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{ConfigProviderWrapper}from"./config-provider-wrapper/index.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@flatbiz/utils";import"antd";import"react/jsx-runtime";import"react";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@wove/react/cjs/hooks";import"@ant-design/icons/es/icons/LoadingOutlined";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";import"@flatbiz/antd";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"./index-ac189a77.js";import"./time-53b3f55f.js";import"react-dom/client";import"./dom-4d04aa64.js";import"./context-1f2093c6.js";import"ahooks";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@dimjs/lang/cjs/is-number";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
103
105
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ .split-warpper-horizontal{display:flex;height:100%;overflow:hidden}.split-warpper-vertical{display:flex;flex-direction:column;height:100%}.split-warpper-panel{background-color:#fff;height:100%;overflow:auto;position:relative}.split-warpper .gutter-horizontal{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==");background-position:50%;background-repeat:no-repeat}.split-warpper .gutter-vertical{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=");background-position:50%;background-repeat:no-repeat;cursor:row-resize}
@@ -0,0 +1,5 @@
1
+ /* eslint-disable */
2
+ import './index.css';
3
+ /*! @flatjs/forge MIT @flatbiz/antd */
4
+ import{_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{Children as a,useState as i}from"react";import o from"react-split";import{jsx as s}from"react/jsx-runtime";var p=function p(l){var n=a.toArray(l.children);var c=i(Date.now()),m=c[0],f=c[1];t.useUpdateEffect((function(){f(Date.now())}),[l.direction]);return s(o,r({gutterSize:10},l,{className:e("split-warpper","split-warpper-"+l.direction,l.className),children:n.map((function(r,e){return s("div",{className:"split-warpper-panel",style:l.panelStyle,children:r},e)}))}),m)};export{p as SplitWrapper};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/split-wrapper/split.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Children, useState, type CSSProperties } from 'react';\nimport Split, { type SplitProps } from 'react-split';\nimport './style.less';\ntype SplitWrapperProps = SplitProps & {\n panelStyle?: CSSProperties;\n};\n/**\n * 分屏可拖动组件\n * ```\n * <SplitWrapper\n sizes={[25, 75]}\n minSize={[300, 300]}\n direction={'vertical'}\n >{...}</SplitWrapper>\n 1. 通过 sizes 来初始化设置面板分屏尺寸\n 2. 通过 minSize 来设置面板最小尺寸\n 3. 通过 direction 设置方向\n * ```\n */\nexport const SplitWrapper = (props: SplitWrapperProps) => {\n const childrenList = Children.toArray(props.children);\n const [key, setKey] = useState(Date.now());\n\n hooks.useUpdateEffect(() => {\n setKey(Date.now());\n }, [props.direction]);\n\n return (\n <Split\n key={key}\n gutterSize={10}\n {...props}\n className={classNames('split-warpper', `split-warpper-${props.direction}`, props.className)}\n >\n {childrenList.map((item, index) => {\n return (\n <div className=\"split-warpper-panel\" key={index} style={props.panelStyle}>\n {item}\n </div>\n );\n })}\n </Split>\n );\n};\n"],"names":["SplitWrapper","props","childrenList","Children","toArray","children","_useState","useState","Date","now","key","setKey","_hooks","useUpdateEffect","direction","_jsx","Split","_extends","gutterSize","className","_classNames","map","item","index","style","panelStyle"],"mappings":";2RAqBaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAMC,EAAeC,EAASC,QAAQH,EAAMI,UAC5C,IAAAC,EAAsBC,EAASC,KAAKC,OAA7BC,EAAGJ,EAAA,GAAEK,EAAML,EAAA,GAElBM,EAAMC,iBAAgB,WACpBF,EAAOH,KAAKC,MACd,GAAG,CAACR,EAAMa,YAEV,OACEC,EAACC,EAAKC,EAAA,CAEJC,WAAY,IACRjB,EAAK,CACTkB,UAAWC,EAAW,gBAAkCnB,iBAAAA,EAAMa,UAAab,EAAMkB,WAAWd,SAE3FH,EAAamB,KAAI,SAACC,EAAMC,GACvB,OACER,EAAA,MAAA,CAAKI,UAAU,sBAAkCK,MAAOvB,EAAMwB,WAAWpB,SACtEiB,GADuCC,QAPzCb,EAcX"}
@@ -2,5 +2,5 @@
2
2
  import './../fba-hooks/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import r from"@ant-design/icons/es/icons/PlusOutlined";import{a as e,_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as n}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{isPlainObject as a}from"@dimjs/lang/cjs/is-plain-object";import{extend as s}from"@dimjs/utils/cjs/extend";import{message as o,Upload as u,Button as l}from"antd";import{useState as d,useMemo as f,Fragment as m}from"react";import{flushSync as c}from"react-dom";import{fbaHooks as p}from"../fba-hooks/index.js";import{jsx as v,jsxs as g}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";var h=["onChange","onUploadError","value","triggerText","limitHidden"];var x=function r(l){var m=l.onChange,g=l.onUploadError,x=l.value,C=l.triggerText,T=l.limitHidden,y=e(l,h);var b=d(),O=b[0],R=b[1];var E=s({uid:"uid",name:"name",url:"url"},l.fieldNames);p.useEffectCustom((function(){var r=(O==null?void 0:O.filter((function(r){return r["status"]==="error"})))||[];var e=(x==null?void 0:x.map((function(r){return{uid:r[E.uid],name:r[E.name],url:r[E.url],status:"done",isOriginal:true,responseData:r["responseData"]}})))||[];if(r.length>0){var i=r.map((function(r){return{uid:r.uid,name:r.name,status:"error",isOriginal:true,response:r["response"]}}));e=e.concat(i)}R(e)}),[E.name,E.uid,E.url,x]);var U=function r(e){var i=[];var n=false;e.forEach((function(r){if(r["isOriginal"]){if(r["status"]!=="error"){var e;i.push((e={},e[E.uid]=r.uid,e[E.name]=r.name,e[E.url]=r.url,e))}}else if(a(r.response)){if(r.response.code==="0000"){var t;var s=r.response.data;var o=(l.onRequestResultAdapter==null?void 0:l.onRequestResultAdapter(s))||s;i.push((t={},t[E.uid]=o[E.uid]||r.uid,t[E.name]=o[E.name]||r.name,t[E.url]=o[E.url],t.responseData=s,t))}else{n=true;r.status="error";r.response=r.response.message||"上传失败"}}}));if(n){R([].concat(e))}m==null?void 0:m(i)};var k=t.useCallbackRef((function(r){var e=r.fileList;if(r.file.status==="done"){var i=[].concat(r.fileList);var n=i.filter((function(r){return r.status==="done"||r["isOriginal"]}));var t=n.length===i.length;if(t){U(i)}c((function(){return R(i)}));return}else if(r.file.status==="removed"){var a=r.file.uid;var s=x!==undefined?[].concat(x):[];var u=s.findIndex((function(r){var e=r[E.uid];return e===a}));if(u>=0){s.splice(u,1)}m==null?void 0:m(s)}else if(r.file.status==="error"){if(g){g()}else{void o.error("上传操作失败...")}}R([].concat(e));l.onUploadChange==null?void 0:l.onUploadChange(r)}));var D=f((function(){if(y.maxCount===undefined||!T)return false;if(y.maxCount===0)return true;if(O&&O.length>=y.maxCount)return true;return false}),[T,y.maxCount,O]);return v(u,i({},y,{onChange:k,fileList:O,className:n("v-upload-wrapper",y.className),children:y.disabled||D?null:v(j,{triggerText:C,listType:y.listType,children:l.children})}))};var j=function e(i){if(i.children)return v(m,{children:i.children});if(i.listType==="picture-card"){return g("div",{children:[v(r,{}),v("div",{style:{marginTop:8},children:i.triggerText||"上传图片"})]})}if(i.listType==="picture"){return v(l,{type:"primary",ghost:true,children:i.triggerText||"选择图片上传"})}return v(l,{type:"primary",ghost:true,children:i.triggerText||"选择文件上传"})};export{x as UploadWrapper};
5
+ import r from"@ant-design/icons/es/icons/PlusOutlined";import{a as e,_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as n}from"@dimjs/utils/cjs/class-names";import{hooks as t}from"@wove/react/cjs/hooks";import{isPlainObject as a}from"@dimjs/lang/cjs/is-plain-object";import{extend as s}from"@dimjs/utils/cjs/extend";import{isUndefinedOrNull as o,toArray as u}from"@flatbiz/utils";import{message as l,Upload as d,Button as f}from"antd";import{useState as m,useMemo as c,Fragment as p}from"react";import{flushSync as v}from"react-dom";import{fbaHooks as g}from"../fba-hooks/index.js";import{jsx as h,jsxs as x}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";var j=["onChange","onUploadError","value","triggerText","limitHidden"];var C=function r(f){var p=f.onChange,x=f.onUploadError,C=f.value,y=f.triggerText,b=f.limitHidden,O=e(f,j);var R=o(C)?undefined:u(C);var E=m(),U=E[0],k=E[1];var D=s({uid:"uid",name:"name",url:"url"},f.fieldNames);g.useEffectCustom((function(){var r=(U==null?void 0:U.filter((function(r){return r["status"]==="error"})))||[];var e=(R==null?void 0:R.map((function(r){return{uid:r[D.uid],name:r[D.name],url:r[D.url],status:"done",isOriginal:true,responseData:r["responseData"]}})))||[];if(r.length>0){var i=r.map((function(r){return{uid:r.uid,name:r.name,status:"error",isOriginal:true,response:r["response"]}}));e=e.concat(i)}k(e)}),[D.name,D.uid,D.url,R]);var H=function r(e){var i=[];var n=false;e.forEach((function(r){if(r["isOriginal"]){if(r["status"]!=="error"){var e;i.push((e={},e[D.uid]=r.uid,e[D.name]=r.name,e[D.url]=r.url,e))}}else if(a(r.response)){if(r.response.code==="0000"){var t;var s=r.response.data;var o=(f.onRequestResultAdapter==null?void 0:f.onRequestResultAdapter(s))||s;i.push((t={},t[D.uid]=o[D.uid]||r.uid,t[D.name]=o[D.name]||r.name,t[D.url]=o[D.url],t.responseData=s,t))}else{n=true;r.status="error";r.response=r.response.message||"上传失败"}}}));if(n){k([].concat(e))}p==null?void 0:p(i)};var L=t.useCallbackRef((function(r){var e=r.fileList;if(r.file.status==="done"){var i=[].concat(r.fileList);var n=i.filter((function(r){return r.status==="done"||r["isOriginal"]}));var t=n.length===i.length;if(t){H(i)}v((function(){return k(i)}));return}else if(r.file.status==="removed"){var a=r.file.uid;var s=R!==undefined?[].concat(R):[];var o=s.findIndex((function(r){var e=r[D.uid];return e===a}));if(o>=0){s.splice(o,1)}p==null?void 0:p(R)}else if(r.file.status==="error"){if(x){x()}else{void l.error("上传操作失败...")}}k([].concat(e));f.onUploadChange==null?void 0:f.onUploadChange(r)}));var N=c((function(){if(O.maxCount===undefined||!b)return false;if(O.maxCount===0)return true;if(U&&U.length>=O.maxCount)return true;return false}),[b,O.maxCount,U]);return h(d,i({},O,{onChange:L,fileList:U,className:n("v-upload-wrapper",O.className),children:O.disabled||N?null:h(T,{triggerText:y,listType:O.listType,children:f.children})}))};var T=function e(i){if(i.children)return h(p,{children:i.children});if(i.listType==="picture-card"){return x("div",{children:[h(r,{}),h("div",{style:{marginTop:8},children:i.triggerText||"上传图片"})]})}if(i.listType==="picture"){return h(f,{type:"primary",ghost:true,children:i.triggerText||"选择图片上传"})}return h(f,{type:"primary",ghost:true,children:i.triggerText||"选择文件上传"})};export{C as UploadWrapper};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/upload-wrapper/upload-wrapper.tsx"],"sourcesContent":["import { PlusOutlined } from '@ant-design/icons';\nimport { isPlainObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, message, Upload, UploadProps } from 'antd';\nimport { UploadChangeParam } from 'antd/lib/upload';\nimport { UploadFile, UploadListType } from 'antd/lib/upload/interface';\nimport { Fragment, ReactNode, useMemo, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type UploadWrapperFileItem = {\n uid: string;\n name: string;\n url?: string;\n};\n\nexport type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {\n value?: T[];\n onChange?: (value?: T[]) => void;\n onUploadError?: (message?: string) => void;\n onUploadChange?: (info: UploadChangeParam<UploadFile>) => void;\n /**\n * 属性映射\n */\n fieldNames?: {\n uid: string;\n name?: string;\n url?: string;\n };\n /**\n * 接口响应数据适配器,如果配置了fieldNames,适配器返回值会再进过fieldNames转换\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject;\n /** 操作触发显示文本 */\n triggerText?: string;\n /** 超过maxCount 隐藏上传入口 */\n limitHidden?: boolean;\n} & Omit<UploadProps, 'onChange' | 'fileList'>;\n\n/**\n * 文件上传\n * ```\n * 1. 可通过配置children替换默认上传触发布局\n * 2. 接口返回结构:\n * formData上传接口返回值\n * {\n * code: '0000',\n * data: {\n * uid: '唯一值,可使用fileKey值'\n * name: '文件名称'\n * url: '预览地址'\n * }\n * }\n * 3. 如果接口返回的不是上面的字段名称,可通过fieldNames配置接口返回字段名称映射\n *\n * 4. 最佳使用方式,与Form结合使用\n * <Form.Item name=\"attachmentList\" label=\"附件\">\n * <UploadWrapper action={uploadUrl} />\n * </Form.Item>\n * ```\n *\n */\nexport const UploadWrapper = (props: UploadWrapperProps) => {\n const { onChange, onUploadError, value, triggerText, limitHidden, ...otherProps } = props;\n const [uploadList, setUploadList] = useState<UploadWrapperFileItem[]>();\n const fieldNames = extend(\n {\n uid: 'uid',\n name: 'name',\n url: 'url',\n },\n props.fieldNames,\n ) as Required<UploadWrapperFileItem>;\n\n fbaHooks.useEffectCustom(() => {\n const errorList = uploadList?.filter((item) => item['status'] === 'error') || [];\n let newList =\n value?.map((item) => {\n return {\n uid: item[fieldNames.uid],\n name: item[fieldNames.name],\n url: item[fieldNames.url],\n status: 'done',\n isOriginal: true,\n responseData: item['responseData'],\n };\n }) || [];\n if (errorList.length > 0) {\n const newErrorList = errorList.map((item) => {\n return {\n uid: item.uid,\n name: item.name,\n status: 'error',\n isOriginal: true,\n response: item['response'],\n };\n }) as TAny[];\n newList = newList.concat(newErrorList);\n }\n setUploadList(newList);\n }, [fieldNames.name, fieldNames.uid, fieldNames.url, value]);\n\n const handleResponse = (fileList: UploadFile<TAny>[]) => {\n const newFileList: TAny[] = [];\n let hasError = false;\n fileList.forEach((item) => {\n if (item['isOriginal']) {\n if (item['status'] !== 'error') {\n newFileList.push({\n [fieldNames.uid]: item.uid,\n [fieldNames.name]: item.name,\n [fieldNames.url]: item.url,\n });\n }\n } else if (isPlainObject(item.response)) {\n if (item.response.code === '0000') {\n const respData = item.response.data;\n const result = (props.onRequestResultAdapter?.(respData) || respData) as TPlainObject;\n newFileList.push({\n [fieldNames.uid]: result[fieldNames.uid] || item.uid,\n [fieldNames.name]: result[fieldNames.name] || item.name,\n [fieldNames.url]: result[fieldNames.url],\n responseData: respData,\n });\n } else {\n hasError = true;\n item.status = 'error';\n item.response = item.response.message || '上传失败';\n }\n }\n });\n if (hasError) {\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n }\n onChange?.(newFileList);\n };\n\n const onUploadChange = hooks.useCallbackRef((info) => {\n const fileList = info.fileList as TPlainObject[];\n if (info.file.status === 'done') {\n const newFileList = [...info.fileList];\n const donwList = newFileList.filter((item) => item.status === 'done' || item['isOriginal']);\n\n const allDone = donwList.length === newFileList.length;\n if (allDone) {\n handleResponse(newFileList);\n }\n flushSync(() => setUploadList(newFileList));\n return;\n } else if (info.file.status === 'removed') {\n const uid = info.file.uid;\n const targetList = value !== undefined ? [...value] : [];\n const targetIndex = targetList.findIndex((item) => {\n const tempUid = item[fieldNames.uid];\n return tempUid === uid;\n });\n if (targetIndex >= 0) {\n targetList.splice(targetIndex, 1);\n }\n onChange?.(targetList);\n } else if (info.file.status === 'error') {\n if (onUploadError) {\n onUploadError();\n } else {\n void message.error('上传操作失败...');\n }\n }\n // https://github.com/ant-design/ant-design/issues/2423\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n props.onUploadChange?.(info);\n });\n\n const hiddenEmtry = useMemo(() => {\n if (otherProps.maxCount === undefined || !limitHidden) return false;\n if (otherProps.maxCount === 0) return true;\n if (uploadList && uploadList.length >= otherProps.maxCount) return true;\n return false;\n }, [limitHidden, otherProps.maxCount, uploadList]);\n\n return (\n <Upload\n {...otherProps}\n onChange={onUploadChange}\n fileList={uploadList}\n className={classNames('v-upload-wrapper', otherProps.className)}\n >\n {otherProps.disabled || hiddenEmtry ? null : (\n <UploadTrigger triggerText={triggerText} listType={otherProps.listType}>\n {props.children}\n </UploadTrigger>\n )}\n </Upload>\n );\n};\n\nconst UploadTrigger = (props: {\n listType?: UploadListType;\n children?: ReactNode | ReactNode[];\n triggerText?: string;\n}) => {\n if (props.children) return <Fragment>{props.children}</Fragment>;\n if (props.listType === 'picture-card') {\n return (\n <div>\n <PlusOutlined />\n <div style={{ marginTop: 8 }}>{props.triggerText || '上传图片'}</div>\n </div>\n );\n }\n if (props.listType === 'picture') {\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择图片上传'}\n </Button>\n );\n }\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择文件上传'}\n </Button>\n );\n};\n"],"names":["UploadWrapper","props","onChange","onUploadError","value","triggerText","limitHidden","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","uploadList","setUploadList","fieldNames","_extend","uid","name","url","fbaHooks","useEffectCustom","errorList","filter","item","newList","map","status","isOriginal","responseData","length","newErrorList","response","concat","handleResponse","fileList","newFileList","hasError","forEach","_newFileList$push","push","_isPlainObject","code","_newFileList$push2","respData","data","result","onRequestResultAdapter","message","onUploadChange","_hooks","useCallbackRef","info","file","donwList","allDone","flushSync","targetList","undefined","targetIndex","findIndex","tempUid","splice","error","hiddenEmtry","useMemo","maxCount","_jsx","Upload","_extends","className","_classNames","children","disabled","UploadTrigger","listType","Fragment","_jsxs","_PlusOutlined","style","marginTop","Button","type","ghost"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/upload-wrapper/upload-wrapper.tsx"],"sourcesContent":["import { PlusOutlined } from '@ant-design/icons';\nimport { isPlainObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport { isUndefinedOrNull, TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, message, Upload, UploadProps } from 'antd';\nimport { UploadChangeParam } from 'antd/lib/upload';\nimport { UploadFile, UploadListType } from 'antd/lib/upload/interface';\nimport { Fragment, ReactNode, useMemo, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type UploadWrapperFileItem = {\n uid: string;\n name: string;\n url?: string;\n};\n\nexport type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {\n value?: T[] | T;\n onChange?: (value?: T[]) => void;\n onUploadError?: (message?: string) => void;\n onUploadChange?: (info: UploadChangeParam<UploadFile>) => void;\n /**\n * 属性映射\n */\n fieldNames?: {\n uid: string;\n name?: string;\n url?: string;\n };\n /**\n * 接口响应数据适配器,如果配置了fieldNames,适配器返回值会再进过fieldNames转换\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject;\n /** 操作触发显示文本 */\n triggerText?: string;\n /** 超过maxCount 隐藏上传入口 */\n limitHidden?: boolean;\n} & Omit<UploadProps, 'onChange' | 'fileList'>;\n\n/**\n * 文件上传\n * ```\n * 1. 可通过配置children替换默认上传触发布局\n * 2. 接口返回结构:\n * formData上传接口返回值\n * {\n * code: '0000',\n * data: {\n * uid: '唯一值,可使用fileKey值'\n * name: '文件名称'\n * url: '预览地址'\n * }\n * }\n * 3. 如果接口返回的不是上面的字段名称,可通过fieldNames配置接口返回字段名称映射\n *\n * 4. 最佳使用方式,与Form结合使用\n * <Form.Item name=\"attachmentList\" label=\"附件\">\n * <UploadWrapper action={uploadUrl} />\n * </Form.Item>\n * ```\n *\n */\nexport const UploadWrapper = (props: UploadWrapperProps) => {\n const { onChange, onUploadError, value, triggerText, limitHidden, ...otherProps } = props;\n const valueList = isUndefinedOrNull(value) ? undefined : toArray<TPlainObject>(value);\n const [uploadList, setUploadList] = useState<UploadWrapperFileItem[]>();\n const fieldNames = extend(\n {\n uid: 'uid',\n name: 'name',\n url: 'url',\n },\n props.fieldNames,\n ) as Required<UploadWrapperFileItem>;\n\n fbaHooks.useEffectCustom(() => {\n const errorList = uploadList?.filter((item) => item['status'] === 'error') || [];\n let newList =\n valueList?.map((item) => {\n return {\n uid: item[fieldNames.uid],\n name: item[fieldNames.name],\n url: item[fieldNames.url],\n status: 'done',\n isOriginal: true,\n responseData: item['responseData'],\n };\n }) || [];\n if (errorList.length > 0) {\n const newErrorList = errorList.map((item) => {\n return {\n uid: item.uid,\n name: item.name,\n status: 'error',\n isOriginal: true,\n response: item['response'],\n };\n }) as TAny[];\n newList = newList.concat(newErrorList);\n }\n setUploadList(newList);\n }, [fieldNames.name, fieldNames.uid, fieldNames.url, valueList]);\n\n const handleResponse = (fileList: UploadFile<TAny>[]) => {\n const newFileList: TAny[] = [];\n let hasError = false;\n fileList.forEach((item) => {\n if (item['isOriginal']) {\n if (item['status'] !== 'error') {\n newFileList.push({\n [fieldNames.uid]: item.uid,\n [fieldNames.name]: item.name,\n [fieldNames.url]: item.url,\n });\n }\n } else if (isPlainObject(item.response)) {\n if (item.response.code === '0000') {\n const respData = item.response.data;\n const result = (props.onRequestResultAdapter?.(respData) || respData) as TPlainObject;\n newFileList.push({\n [fieldNames.uid]: result[fieldNames.uid] || item.uid,\n [fieldNames.name]: result[fieldNames.name] || item.name,\n [fieldNames.url]: result[fieldNames.url],\n responseData: respData,\n });\n } else {\n hasError = true;\n item.status = 'error';\n item.response = item.response.message || '上传失败';\n }\n }\n });\n if (hasError) {\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n }\n onChange?.(newFileList);\n };\n\n const onUploadChange = hooks.useCallbackRef((info) => {\n const fileList = info.fileList as TPlainObject[];\n if (info.file.status === 'done') {\n const newFileList = [...info.fileList];\n const donwList = newFileList.filter((item) => item.status === 'done' || item['isOriginal']);\n\n const allDone = donwList.length === newFileList.length;\n if (allDone) {\n handleResponse(newFileList);\n }\n flushSync(() => setUploadList(newFileList));\n return;\n } else if (info.file.status === 'removed') {\n const uid = info.file.uid;\n const targetList = valueList !== undefined ? [...valueList] : [];\n const targetIndex = targetList.findIndex((item) => {\n const tempUid = item[fieldNames.uid];\n return tempUid === uid;\n });\n if (targetIndex >= 0) {\n targetList.splice(targetIndex, 1);\n }\n onChange?.(valueList);\n } else if (info.file.status === 'error') {\n if (onUploadError) {\n onUploadError();\n } else {\n void message.error('上传操作失败...');\n }\n }\n // https://github.com/ant-design/ant-design/issues/2423\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n props.onUploadChange?.(info);\n });\n\n const hiddenEmtry = useMemo(() => {\n if (otherProps.maxCount === undefined || !limitHidden) return false;\n if (otherProps.maxCount === 0) return true;\n if (uploadList && uploadList.length >= otherProps.maxCount) return true;\n return false;\n }, [limitHidden, otherProps.maxCount, uploadList]);\n\n return (\n <Upload\n {...otherProps}\n onChange={onUploadChange}\n fileList={uploadList}\n className={classNames('v-upload-wrapper', otherProps.className)}\n >\n {otherProps.disabled || hiddenEmtry ? null : (\n <UploadTrigger triggerText={triggerText} listType={otherProps.listType}>\n {props.children}\n </UploadTrigger>\n )}\n </Upload>\n );\n};\n\nconst UploadTrigger = (props: {\n listType?: UploadListType;\n children?: ReactNode | ReactNode[];\n triggerText?: string;\n}) => {\n if (props.children) return <Fragment>{props.children}</Fragment>;\n if (props.listType === 'picture-card') {\n return (\n <div>\n <PlusOutlined />\n <div style={{ marginTop: 8 }}>{props.triggerText || '上传图片'}</div>\n </div>\n );\n }\n if (props.listType === 'picture') {\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择图片上传'}\n </Button>\n );\n }\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择文件上传'}\n </Button>\n );\n};\n"],"names":["UploadWrapper","props","onChange","onUploadError","value","triggerText","limitHidden","otherProps","_objectWithoutPropertiesLoose","_excluded","valueList","isUndefinedOrNull","undefined","toArray","_useState","useState","uploadList","setUploadList","fieldNames","_extend","uid","name","url","fbaHooks","useEffectCustom","errorList","filter","item","newList","map","status","isOriginal","responseData","length","newErrorList","response","concat","handleResponse","fileList","newFileList","hasError","forEach","_newFileList$push","push","_isPlainObject","code","_newFileList$push2","respData","data","result","onRequestResultAdapter","message","onUploadChange","_hooks","useCallbackRef","info","file","donwList","allDone","flushSync","targetList","targetIndex","findIndex","tempUid","splice","error","hiddenEmtry","useMemo","maxCount","_jsx","Upload","_extends","className","_classNames","children","disabled","UploadTrigger","listType","Fragment","_jsxs","_PlusOutlined","style","marginTop","Button","type","ghost"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -18,6 +18,7 @@ import { UploadChangeParam } from 'antd/lib/upload';
18
18
  import { UploadFile } from 'antd/lib/upload/interface';
19
19
  import * as React from 'react';
20
20
  import { CSSProperties, DependencyList, FC, ReactElement, ReactNode } from 'react';
21
+ import { SplitProps } from 'react-split';
21
22
  import { Editor as TinyMCEEditor } from 'tinymce';
22
23
 
23
24
  export type AlertWrapperProps = AlertProps & {
@@ -1473,7 +1474,7 @@ export type UploadWrapperFileItem = {
1473
1474
  url?: string;
1474
1475
  };
1475
1476
  export type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {
1476
- value?: T[];
1477
+ value?: T[] | T;
1477
1478
  onChange?: (value?: T[]) => void;
1478
1479
  onUploadError?: (message?: string) => void;
1479
1480
  onUploadChange?: (info: UploadChangeParam<UploadFile>) => void;
@@ -2078,6 +2079,20 @@ export type FormItemHiddenProps = {
2078
2079
  name: string | Array<string | number>;
2079
2080
  };
2080
2081
  export declare const FormItemHidden: (props: FormItemHiddenProps) => import("react/jsx-runtime").JSX.Element;
2082
+ export type FormItemTextProps = FormItemProps & {
2083
+ /** 是否换行,默认不换行,超出省略(鼠标悬浮可显示) */
2084
+ wrap?: boolean;
2085
+ /** 自定义数据显示 */
2086
+ render?: (value?: TAny) => string;
2087
+ /** 占位值,当 value 为 ''、undefined、null时显示 */
2088
+ placeholderValue?: string;
2089
+ };
2090
+ /**
2091
+ * FormItem 文本显示,默认不换行,超出省略(鼠标悬浮可显示)
2092
+ * @param props
2093
+ * @returns
2094
+ */
2095
+ export declare const FormItemText: (props: FormItemTextProps) => import("react/jsx-runtime").JSX.Element;
2081
2096
  export interface FormItemWrapperProps extends FormItemProps {
2082
2097
  wrapper?: (children: ReactNode) => ReactElement;
2083
2098
  /** 设置wrapper后,before、after失效 */
@@ -2160,6 +2175,8 @@ export type FormListWrapperProps = {
2160
2175
  formListChildrenWrapper?: (props: {
2161
2176
  children: ReactElement;
2162
2177
  }) => ReactElement;
2178
+ /** FormList rules */
2179
+ rules?: FormListProps["rules"];
2163
2180
  };
2164
2181
  /**
2165
2182
  * FormList
@@ -2824,6 +2841,23 @@ export interface SmsCountDownProps {
2824
2841
  className?: string;
2825
2842
  }
2826
2843
  export declare const SmsCountDown: FC<SmsCountDownProps>;
2844
+ export type SplitWrapperProps = SplitProps & {
2845
+ panelStyle?: CSSProperties;
2846
+ };
2847
+ /**
2848
+ * 分屏可拖动组件
2849
+ * ```
2850
+ * <SplitWrapper
2851
+ sizes={[25, 75]}
2852
+ minSize={[300, 300]}
2853
+ direction={'vertical'}
2854
+ >{...}</SplitWrapper>
2855
+ 1. 通过 sizes 来初始化设置面板分屏尺寸
2856
+ 2. 通过 minSize 来设置面板最小尺寸
2857
+ 3. 通过 direction 设置方向
2858
+ * ```
2859
+ */
2860
+ export declare const SplitWrapper: (props: SplitWrapperProps) => import("react/jsx-runtime").JSX.Element;
2827
2861
  export declare const styles: () => void;
2828
2862
  export type SwitchConfirmWrapperValue = string | number | boolean;
2829
2863
  export type SwitchConfirmWrapperProps = Omit<SwitchProps, "defaultChecked" | "onChange"> & {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.2.92",
3
+ "version": "4.2.94",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",