@flatbiz/antd 4.2.85 → 4.2.87
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/esm/button-operate/index.js +2 -1
- package/esm/button-operate/index.js.map +1 -1
- package/esm/button-wrapper/index.js +2 -1
- package/esm/button-wrapper/index.js.map +1 -1
- package/esm/card-wrapper/index.css +1 -0
- package/esm/card-wrapper/index.js +5 -0
- package/esm/card-wrapper/index.js.map +1 -0
- package/esm/config-provider-wrapper/index.js +2 -1
- package/esm/config-provider-wrapper/index.js.map +1 -1
- package/esm/create-drawer-wrapper-model/index.js.map +1 -1
- package/esm/create-modal-wrapper-model/index.js.map +1 -1
- package/esm/dialog-alert/index.js +2 -1
- package/esm/dialog-alert/index.js.map +1 -1
- package/esm/dialog-confirm/index.js +2 -1
- package/esm/dialog-confirm/index.js.map +1 -1
- package/esm/dialog-drawer/index.js +2 -1
- package/esm/dialog-drawer/index.js.map +1 -1
- package/esm/dialog-drawer-content/index.js +2 -1
- package/esm/dialog-drawer-content/index.js.map +1 -1
- package/esm/dialog-loading/index.js.map +1 -1
- package/esm/dialog-modal/index.js +2 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/drawer-wrapper/index.js.map +1 -1
- package/esm/dropdown-menu-wrapper/index.js +2 -1
- package/esm/dropdown-menu-wrapper/index.js.map +1 -1
- package/esm/easy-table/index.js +2 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-table/index.js +10 -1
- package/esm/editable-table/index.js.map +1 -1
- package/esm/fba-app/index.css +1 -1
- package/esm/fba-app/index.js +3 -1
- package/esm/fba-app/index.js.map +1 -1
- package/esm/fba-hooks/index.js +1 -1
- package/esm/fba-hooks/index.js.map +1 -1
- package/esm/flex-layout/index.js.map +1 -1
- package/esm/index-ac189a77.js +3 -0
- package/esm/index-ac189a77.js.map +1 -0
- package/esm/index.js +6 -5
- package/esm/label-value-layout/index.css +1 -1
- package/esm/label-value-layout/index.js +1 -1
- package/esm/label-value-layout/index.js.map +1 -1
- package/esm/local-loading/index.js.map +1 -1
- package/esm/pre-defined-class-name/index.css +1 -1
- package/esm/rich-text-editor/index.js +1 -1
- package/esm/rich-text-editor/index.js.map +1 -1
- package/esm/rule-describe/index.js +1 -1
- package/esm/rule-describe/index.js.map +1 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper/index.js.map +1 -1
- package/esm/simple-layout/index.css +1 -1
- package/esm/simple-layout/index.js.map +1 -1
- package/esm/table-cell-render/index.js +2 -1
- package/esm/table-cell-render/index.js.map +1 -1
- package/esm/tag-list-select/index.js +1 -1
- package/esm/tag-list-select/index.js.map +1 -1
- package/esm/text-css-ellipsis/index.css +1 -1
- package/esm/text-css-ellipsis/index.js +1 -1
- package/esm/text-css-ellipsis/index.js.map +1 -1
- package/esm/text-overflow-render/index.js +2 -1
- package/esm/text-overflow-render/index.js.map +1 -1
- package/esm/tips-title/index.css +1 -1
- package/esm/tree-selector-wrapper/index.js.map +1 -1
- package/esm/tree-wrapper/index.css +1 -1
- package/esm/tree-wrapper/index.js +2 -1
- package/esm/tree-wrapper/index.js.map +1 -1
- package/esm/types/index.js.map +1 -1
- package/index.d.ts +208 -121
- package/package.json +4 -3
|
@@ -2,16 +2,25 @@
|
|
|
2
2
|
import './../button-wrapper/index.css';
|
|
3
3
|
import './../config-provider-wrapper/index.css';
|
|
4
4
|
import './../fba-hooks/index.css';
|
|
5
|
+
import './../types/index.css';
|
|
5
6
|
import './../fba-utils/index.css';
|
|
6
7
|
import './../table-title-tooltip/index.css';
|
|
7
8
|
import './../date-picker-wrapper/index.css';
|
|
8
9
|
import './../date-range-picker-wrapper/index.css';
|
|
9
10
|
import './../selector-wrapper/index.css';
|
|
10
11
|
import './../request-status/index.css';
|
|
12
|
+
import './../switch-wrapper/index.css';
|
|
11
13
|
import './../upload-wrapper/index.css';
|
|
14
|
+
import './../table-cell-render/index.css';
|
|
15
|
+
import './../button-operate/index.css';
|
|
16
|
+
import './../dropdown-menu-wrapper/index.css';
|
|
17
|
+
import './../dialog-confirm/index.css';
|
|
18
|
+
import './../dialog-modal/index.css';
|
|
19
|
+
import './../flex-layout/index.css';
|
|
20
|
+
import './../tag-list-select/index.css';
|
|
12
21
|
import './../input-wrapper/index.css';
|
|
13
22
|
import './../input-text-area-wrapper/index.css';
|
|
14
23
|
import './index.css';
|
|
15
24
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
16
|
-
import e from"@ant-design/icons/es/icons/PlusOutlined";import{_ as n,a as r}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{arrayField2LabelValue as a,toArray as i}from"@flatbiz/utils";import{Form as t,Checkbox as l,Tag as o,InputNumber as d,Radio as u,Space as m,Button as s,Input as f,Table as c}from"antd";import{useMemo as p,useState as v,useEffect as g,Fragment as b,forwardRef as C,useRef as h,useImperativeHandle as I,isValidElement as x}from"react";import{ButtonWrapper as j}from"../button-wrapper/index.js";import{TableTitleTooltip as w}from"../table-title-tooltip/index.js";import{TipsWrapper as R}from"../tips-wrapper/index.js";import{isArray as N}from"@dimjs/lang/cjs/is-array";import{extend as y}from"@dimjs/utils/cjs/extend";import{classNames as P}from"@dimjs/utils/cjs/class-names";import{hooks as k}from"@wove/react/cjs/hooks";import{jsx as F,jsxs as L,Fragment as A}from"react/jsx-runtime";import{DatePickerWrapper as O}from"../date-picker-wrapper/index.js";import{DateRangePickerWrapper as T}from"../date-range-picker-wrapper/index.js";import{InputWrapper as V}from"../input-wrapper/index.js";import{SelectorWrapper as B}from"../selector-wrapper/index.js";import{isBoolean as S}from"@dimjs/lang/cjs/is-boolean";import{isNumber as W}from"@dimjs/lang/cjs/is-number";import{isString as _}from"@dimjs/lang/cjs/is-string";import{InputTextAreaWrapper as D}from"../input-text-area-wrapper/index.js";import{UploadWrapper as G}from"../upload-wrapper/index.js";import z from"@ant-design/icons/es/icons/DeleteOutlined";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../config-provider-wrapper/index.js";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"../fba-hooks/index.js";import"../use-responsive-point-21b8c601.js";import"../fba-utils/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"../time-53b3f55f.js";import"@ant-design/icons/es/icons/RedoOutlined";import"../request-status/index.js";import"@dimjs/lang/cjs/is-deep-equal";import"@dimjs/utils/cjs/get";import"@dimjs/utils/cjs/json";import"pubsub-js";import"@dimjs/lang/cjs/is-object";import"@dimjs/lang/cjs/is-plain-object";import"react-dom";var E=function e(n,r){return typeof n==="boolean"?n:n==null?void 0:n({tableRowIndex:r})};var q=function e(r){var a=r.fieldConfig,i=a.editableConfig,t=a.editable,d=a.render;var u=i.editableComptProps;var m=p((function(){return u.options||[]}),[u.options]);var s=p((function(){if(t)return[];var e=N(r.value)?r.value:[];if(!N(m)||m.length===0){return e.map((function(e){return{label:e,value:e}}))}var n=[];e.forEach((function(e){var r=m.find((function(n){return n.value===e}));n.push(r?r:{label:e,value:e})}));return n}),[t,m,r.value]);var f=k.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);u.onChange==null?void 0:u.onChange(e)}));if(t){return F(l.Group,n({},u,{value:r.value,onChange:f}))}return F("span",{className:"editable-checkbox-group-view",children:d?d(r.value,m):s.map((function(e,n){return F(o,{color:"geekblue",children:e.label},n)}))})};var K=function e(r){var a=r.fieldConfig.formItemProps;return F(t.Item,n({},a,{name:r.name,className:P("editable-checkbox-group-form-item",a==null?void 0:a.className),children:F(q,n({},r))}))};var M=function e(r){var a=r.fieldConfig,i=a.formItemProps,l=a.editableConfig;return F(t.Item,n({},i,{name:r.name,className:P("editable-date-picker-wraper-form-item",i==null?void 0:i.className),children:F(O,n({allowClear:true},l.editableComptProps))}))};var Y=function e(r){var a=r.fieldConfig,i=a.editableConfig,t=a.editable,l=a.render;var o=i.editableComptProps;var d=k.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);o==null||o.onChange==null?void 0:o.onChange(e)}));var u=p((function(){var e=N(r.value)?r.value:[];if(t)return undefined;return e.join("~")}),[t,r.value]);if(t){return F(T,n({allowClear:true},o,{value:r.value,onChange:d}))}return F("span",{className:"editable-date-range-picker-view",children:l?l(r.value):u})};var H=function e(r){var a=r.fieldConfig.formItemProps;return F(t.Item,n({},a,{name:r.name,className:P("editable-date-range-picker-wraper-form-item",a==null?void 0:a.className),children:F(Y,n({},r))}))};var J=function e(r){var a=r.fieldConfig,i=a.formItemProps,l=a.editableConfig;return F(t.Item,n({},i,{name:r.name,children:F(V,n({allowClear:true},l.editableComptProps))}))};var Q=function e(r){var a=r.fieldConfig,i=a.formItemProps,l=a.editableConfig;return F(t.Item,n({},i,{name:r.name,className:P("editable-input-number-form-item",i==null?void 0:i.className),children:F(d,n({},l.editableComptProps))}))};var U=function e(r){var a=r.fieldConfig,i=a.editableConfig,t=a.editable,l=a.render;var d=i.editableComptProps;var m=p((function(){return d.options||[]}),[d.options]);var s=p((function(){if(t)return[];var e=r.value;if(!N(m)||m.length===0){return e}var n=m.find((function(n){return n.value===e}));return(n==null?void 0:n.label)||e}),[t,m,r.value]);var f=k.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e.target.value);d.onChange==null?void 0:d.onChange(e)}));if(t){return F(u.Group,n({},d,{value:r.value,onChange:f}))}return F("span",{className:"editable-radio-group-view",children:l?l(r.value,m):s?F(o,{color:"geekblue",children:s}):null})};var X=function e(r){var a=r.fieldConfig.formItemProps;return F(t.Item,n({},a,{name:r.name,className:P("editable-radio-group-form-item",a==null?void 0:a.className),children:F(U,n({},r))}))};var Z=function e(r){var i=r.fieldConfig,t=i.editableConfig,l=i.editable,d=i.render;var u=t.editableComptProps;var m=v([]),s=m[0],f=m[1];var c=v([]),p=c[0],C=c[1];g((function(){if(!l){var e=N(r.value)?r.value:r.value===undefined?[]:[r.value];if(s.length===0){C(e.map((function(e){return{label:e,value:e}})))}var n=[];e.forEach((function(e){var r=s.find((function(n){return n.value===e}));n.push(r?r:{label:String(e),value:e})}));C(n)}}),[l,u.fieldNames,r.value,s]);var h=k.useCallbackRef((function(e){f(a(e||[],u.fieldNames))}));var I=k.useCallbackRef((function(e,n){r.onChange==null?void 0:r.onChange(e);u.onChange==null?void 0:u.onChange(e,n)}));if(l){return F(B,n({},u,{value:r.value,onChange:I,onSelectorListAllChange:h}))}return L(b,{children:[F("div",{style:{display:"none"},children:F(B,n({},u,{onSelectorListAllChange:h}))}),F("span",{className:"editable-selector-view",children:d?d(r.value,s):p.map((function(e,n){return F(o,{color:"geekblue",children:e.label},n)}))})]})};var $=function e(r){var a=r.fieldConfig.formItemProps;return F(t.Item,n({},a,{name:r.name,className:P("editable-selector-wrapper-form-item",a==null?void 0:a.className),children:F(Z,n({},r))}))};var ee=function e(n){var r,a;var i=p((function(){var e;if((e=n.fieldConfig)!=null&&e.render)return undefined;var r=_(n.value)||W(n.value)||S(n.value)||!n.value;if(!r){console.warn("Form.List name:【"+n.name+"】数据【"+JSON.stringify(n.value)+"】不能渲染在页面中")}return r?n.value:undefined}),[(r=n.fieldConfig)==null?void 0:r.render,n.name,n.value]);var t=((a=n.fieldConfig)==null||a.render==null?void 0:a.render(n.value))||i;return F("span",{children:t})};var ne=function e(n){return F(t.Item,{noStyle:true,name:n.name,children:F(ee,{name:n.name,fieldConfig:n.fieldConfig})})};var re=function e(r){var a=r.fieldConfig,i=a.formItemProps,l=a.editableConfig;return F(t.Item,n({},i,{name:r.name,children:F(D,n({},l.editableComptProps))}))};var ae=["children"];var ie=function e(a){var i=a.fieldConfig,t=i.editableConfig,l=i.render,o=i.editable;var d=t.editableComptProps,u=d.children,m=r(d,ae);if(o){return F(G,n({listType:"text"},m,{value:a.value,onChange:a.onChange,children:u}))}return F("div",{className:"upload-wrapper-selector-view",children:l?l(a.value):F(G,n({listType:"text"},m,{value:a.value,disabled:true}))})};var te=function e(r){var a=r.fieldConfig.formItemProps;return F(t.Item,n({},a,{name:r.name,className:P("editable-upload-wrapper-form-item",a==null?void 0:a.className),children:F(ie,n({},r))}))};var le=function e(r){var a=r.fieldConfig,i=a.editableConfig,t=a.editable;var l=E(t,r.tableRowIndex);var o=y({},r.fieldConfig,{editable:l});var d={name:r.name,fieldConfig:o};if((i==null?void 0:i.type)==="input"&&l){return F(J,n({},d))}else if((i==null?void 0:i.type)==="inputNumber"&&l){return F(Q,n({},d))}else if((i==null?void 0:i.type)==="textArea"&&l){return F(re,n({},d))}else if((i==null?void 0:i.type)==="datePickerWrapper"&&l){return F(M,n({},d))}else if((i==null?void 0:i.type)==="dateRangePickerWrapper"){return F(H,n({},d))}else if((i==null?void 0:i.type)==="selectorWrapper"){return F($,n({},d))}else if((i==null?void 0:i.type)==="checkboxGroup"){return F(K,n({},d))}else if((i==null?void 0:i.type)==="radioGroup"){return F(X,n({},d))}else if((i==null?void 0:i.type)==="uploadWrapper"){return F(te,n({},d))}else if((i==null?void 0:i.type)==="custom"){return i.editableComptProps({name:r.name,editable:l,completeName:r.completeName,tableRowIndex:r.tableRowIndex})}return F(ne,n({},d))};var oe=function e(n){var r=t.useFormInstance();var a=n.formListConfig,i=a.onFormListBeforeRender,l=a.editableConfigList,o=a.onFormListAfterRender,d=a.onFormListItemBeforeRender,u=a.onFormListItemAfterRender,s=a.deleteOperateRender;return F(t.List,{name:n.name,children:function e(a,t){var f=t.add,c=t.remove;return L(A,{children:[i?i({tableRowIndex:n.tableRowIndex,add:f,get value(){return r.getFieldValue(n.completeName)}}):null,a.map((function(e,a){var i=l.find((function(e){return E(e.editable,n.tableRowIndex)}));var t=P("editable-inner-formlist-item","editable-inner-formlist-item-"+n.name[1],{"editable-inner-formlist-item_preview":!i});return L("div",{className:t,children:[d==null?void 0:d({add:f,remove:function e(){c(a)},formListItemIndex:a,tableRowIndex:n.tableRowIndex,get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}}),L(m,{children:[l.map((function(r,a){return F(le,{name:[e.name,r.fieldName],fieldConfig:r,tableRowIndex:n.tableRowIndex,completeName:[].concat(n.completeName,[e.name])},a)})),i?F(de,{deleteOperateRender:s,remove:function e(){c(a)},index:a}):undefined]}),u==null?void 0:u({add:f,formListItemIndex:a,tableRowIndex:n.tableRowIndex,remove:function e(){c(a)},get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}})]},a)})),o?o({tableRowIndex:n.tableRowIndex,add:f,get value(){return r.getFieldValue(n.completeName)}}):null]})}})};var de=function e(n){return F(t.Item,{children:n.deleteOperateRender?n.deleteOperateRender({remove:n.remove,formListItemIndex:n.index}):F(s,{type:"link",danger:true,icon:F(z,{}),onClick:n.remove,children:"删除"})})};var ue=function e(n){if(n.fieldConfig){if(N(n.fieldConfig["editableConfigList"])){var r=n.fieldConfig;return F(oe,{name:n.name,completeName:n.completeName,formListConfig:r,tableRowIndex:n.tableRowIndex})}else{return L(b,{children:[F(le,{name:n.name,fieldConfig:n.fieldConfig,tableRowIndex:n.tableRowIndex,completeName:n.completeName}),n.hiddenField?F(t.Item,{hidden:true,name:n.hiddenField.dataIndex,children:F(f,{})}):null]})}}return F(ne,{name:n.name})};var me=["fieldConfig","renderMiddleware","tableChildrenColumnRender","tooltip","title","tipsWrapperProps"];var se=C((function(a,l){var o;var d=t.useFormInstance();var u=h([]);var m=p((function(){if(!a.columns)return[];return a.columns.map((function(e){var t=e.fieldConfig,l=e.renderMiddleware,o=e.tableChildrenColumnRender,d=e.tooltip,u=e.title,m=e.tipsWrapperProps,s=r(e,me);var f=x(u)||typeof u==="string";var c;if(m&&f){if(typeof m==="string"){c=F(R,{tipType:"popover",popoverProps:{content:m},children:u})}else{c=F(R,n({},m,{children:u}))}}else if(d){c=F(w,{title:u,tooltip:d})}else{c=u}return n({title:c,onCell:function e(){var n;return{valign:((n=a.tableProps)==null?void 0:n.cellVerticalAlign)||"middle"}}},s,{render:function n(r,d,u){if(d["_isChildrenItem"]){if(o){return o(r,d,u)}return r}var m=[].concat(i(a.name),[d.name]);var s=e.dataIndex?[].concat(m,[e.dataIndex]):m;var f=l==null?void 0:l({name:s,tableRowIndex:d.name,operation:d.operation,tableRowName:m,index:u});if(f){return f}var c=typeof t==="function"?t({name:s,tableRowIndex:d.name,tableRowName:m}):t;return F(ue,{name:e.dataIndex?[d.name,e.dataIndex]:[d.name],completeName:s,fieldConfig:c,tableRowIndex:d.name,hiddenField:e.hiddenField})}})}))}),[a.columns,a.name,(o=a.tableProps)==null?void 0:o.cellVerticalAlign]);var s=t.useWatch(a.name,d);I(l,(function(){return{getTableItemDataByFormListItemKey:function e(n){var r=u.current.find((function(e){return e.key===n}));if(r){return d.getFieldValue([].concat(i(a.name),[r.name]))}return undefined}}}));return F("div",{className:"editable-table",children:F(t.List,{name:a.name,rules:a.rules,children:function r(i,t){u.current=i;return L(b,{children:[a.onTableBeforeRender?a.onTableBeforeRender(t,i.length):null,F(c,n({scroll:{x:"max-content"},pagination:false,rowKey:"key"},a.tableProps,{dataSource:i.map((function(e){var r;var a=s==null||(r=s[e.name])==null?void 0:r.children;if(a){a.forEach((function(e){e["_isChildrenItem"]=true}))}return n({},e,{operation:t,children:a})})),columns:m})),a.onTableAfterRender?a.onTableAfterRender(t,i.length):F(j,{type:"dashed",hidden:a.hiddenFooterBtn,onClick:function e(){return t.add(a.getAddRowDefaultValues==null?void 0:a.getAddRowDefaultValues())},block:true,icon:F(e,{}),style:{marginTop:15},children:"新增"})]})}})})}));export{se as EditableTable};
|
|
25
|
+
import e from"@ant-design/icons/es/icons/PlusOutlined";import{_ as n,a as r}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{arrayField2LabelValue as i,toArray as a}from"@flatbiz/utils";import{Form as t,Checkbox as l,InputNumber as o,Radio as d,Tag as m,Space as u,Button as s,Input as c,Table as p}from"antd";import{useMemo as f,useState as v,useEffect as g,Fragment as b,forwardRef as h,useRef as C,useImperativeHandle as x,isValidElement as j}from"react";import{ButtonWrapper as w}from"../button-wrapper/index.js";import{TableTitleTooltip as I}from"../table-title-tooltip/index.js";import{TipsWrapper as R}from"../tips-wrapper/index.js";import{isArray as y}from"@dimjs/lang/cjs/is-array";import{extend as N}from"@dimjs/utils/cjs/extend";import{classNames as k}from"@dimjs/utils/cjs/class-names";import{hooks as P}from"@wove/react/cjs/hooks";import{tableCellRender as F}from"../table-cell-render/index.js";import{jsx as L,jsxs as T,Fragment as O}from"react/jsx-runtime";import{DatePickerWrapper as A}from"../date-picker-wrapper/index.js";import{DateRangePickerWrapper as V}from"../date-range-picker-wrapper/index.js";import{InputWrapper as W}from"../input-wrapper/index.js";import{SelectorWrapper as B}from"../selector-wrapper/index.js";import{SwitchWrapper as S}from"../switch-wrapper/index.js";import{isBoolean as _}from"@dimjs/lang/cjs/is-boolean";import{isNumber as D}from"@dimjs/lang/cjs/is-number";import{isString as G}from"@dimjs/lang/cjs/is-string";import{InputTextAreaWrapper as z}from"../input-text-area-wrapper/index.js";import{UploadWrapper as E}from"../upload-wrapper/index.js";import M from"@ant-design/icons/es/icons/DeleteOutlined";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../config-provider-wrapper/index.js";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"../fba-hooks/index.js";import"../use-responsive-point-21b8c601.js";import"../index-ac189a77.js";import"../fba-utils/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"@dimjs/lang/cjs/is-object";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-empty";import"../button-operate/index.js";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"../dropdown-menu-wrapper/index.js";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm/index.js";import"../dialog-modal/index.js";import"ahooks";import"react-dom/client";import"../flex-layout/index.js";import"../tag-list-select/index.js";import"../time-53b3f55f.js";import"@ant-design/icons/es/icons/RedoOutlined";import"../request-status/index.js";import"@dimjs/lang/cjs/is-deep-equal";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-dom";var q=function e(n,r){return typeof n==="boolean"?n:n==null?void 0:n({tableRowIndex:r})};var K=function e(r){var i=r.fieldConfig,a=i.editableConfig,t=i.editable,o=i.render;var d=a.editableComptProps;var m=f((function(){return d.options||[]}),[d.options]);var u=P.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);d.onChange==null?void 0:d.onChange(e)}));if(t){return L(l.Group,n({},d,{value:r.value,onChange:u}))}return L("span",{className:"editable-checkbox-group-view",children:o?o(r.value,m):F.selectorCell(m)(r.value)})};var Y=function e(r){var i=r.fieldConfig.formItemProps;return L(t.Item,n({},i,{name:r.name,className:k("editable-checkbox-group-form-item",i==null?void 0:i.className),children:L(K,n({},r))}))};var H=function e(r){var i=r.fieldConfig,a=i.formItemProps,l=i.editableConfig;return L(t.Item,n({},a,{name:r.name,className:k("editable-date-picker-wraper-form-item",a==null?void 0:a.className),children:L(A,n({allowClear:true},l.editableComptProps))}))};var J=function e(r){var i=r.fieldConfig,a=i.editableConfig,t=i.editable,l=i.render;var o=a.editableComptProps;var d=P.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);o==null||o.onChange==null?void 0:o.onChange(e)}));var m=f((function(){var e=y(r.value)?r.value:[];if(t)return undefined;return e.join("~")}),[t,r.value]);if(t){return L(V,n({allowClear:true},o,{value:r.value,onChange:d}))}return L("span",{className:"editable-date-range-picker-view",children:l?l(r.value):m})};var Q=function e(r){var i=r.fieldConfig.formItemProps;return L(t.Item,n({},i,{name:r.name,className:k("editable-date-range-picker-wraper-form-item",i==null?void 0:i.className),children:L(J,n({},r))}))};var U=function e(r){var i=r.fieldConfig,a=i.formItemProps,l=i.editableConfig;return L(t.Item,n({},a,{name:r.name,children:L(W,n({allowClear:true},l.editableComptProps))}))};var X=function e(r){var i=r.fieldConfig,a=i.formItemProps,l=i.editableConfig;return L(t.Item,n({},a,{name:r.name,className:k("editable-input-number-form-item",a==null?void 0:a.className),children:L(o,n({},l.editableComptProps))}))};var Z=function e(r){var i=r.fieldConfig,a=i.editableConfig,t=i.editable,l=i.render;var o=a.editableComptProps;var m=f((function(){return o.options||[]}),[o.options]);var u=P.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e.target.value);o.onChange==null?void 0:o.onChange(e)}));if(t){return L(d.Group,n({},o,{value:r.value,onChange:u}))}return L("span",{className:"editable-radio-group-view",children:l?l(r.value,m):F.selectorCell(m)(r.value)})};var $=function e(r){var i=r.fieldConfig.formItemProps;return L(t.Item,n({},i,{name:r.name,className:k("editable-radio-group-form-item",i==null?void 0:i.className),children:L(Z,n({},r))}))};var ee=function e(r){var a=r.fieldConfig,t=a.editableConfig,l=a.editable,o=a.render;var d=t.editableComptProps;var u=v([]),s=u[0],c=u[1];var p=v([]),f=p[0],h=p[1];g((function(){if(!l){var e=y(r.value)?r.value:r.value===undefined?[]:[r.value];if(s.length===0){h(e.map((function(e){return{label:e,value:e}})))}var n=[];e.forEach((function(e){var r=s.find((function(n){return n.value===e}));n.push(r?r:{label:String(e),value:e})}));h(n)}}),[l,d.fieldNames,r.value,s]);var C=P.useCallbackRef((function(e){c(i(e||[],d.fieldNames))}));var x=P.useCallbackRef((function(e,n){r.onChange==null?void 0:r.onChange(e);d.onChange==null?void 0:d.onChange(e,n)}));if(l){return L(B,n({},d,{value:r.value,onChange:x,onSelectorListAllChange:C}))}return T(b,{children:[L("div",{style:{display:"none"},children:L(B,n({},d,{onSelectorListAllChange:C}))}),L("span",{className:"editable-selector-view",children:o?o(r.value,s):f.map((function(e,n){return L(m,{color:"geekblue",children:e.label},n)}))})]})};var ne=function e(r){var i=r.fieldConfig.formItemProps;return L(t.Item,n({},i,{name:r.name,className:k("editable-selector-wrapper-form-item",i==null?void 0:i.className),children:L(ee,n({},r))}))};var re=function e(r){var i=r.fieldConfig,a=i.editableConfig,t=i.editable,l=i.render;var o=a.editableComptProps;var d=P.useCallbackRef((function(e){r.onChange==null?void 0:r.onChange(e);o==null||o.onChange==null?void 0:o.onChange(e)}));var u=f((function(){var e=o.checkedChildren||"是";var n=o.unCheckedChildren||"否";return{checkedText:e,unCheckedText:n}}),[o.checkedChildren,o.unCheckedChildren]);if(t){return L(S,n({},o,{value:r.value,onChange:d}))}if(l){return L("span",{className:"editable-switch-wrapper-view",children:l(r.value)})}return L("span",{className:"editable-switch-wrapper-view",children:o.checkedValue==r.value?L(m,{color:"geekblue",style:{marginRight:0},children:u.checkedText}):L(m,{style:{marginRight:0},children:u.unCheckedText})})};var ie=function e(r){var i=r.fieldConfig.formItemProps;return L(t.Item,n({},i,{name:r.name,className:k("editable-switch-wrapper-form-item",i==null?void 0:i.className),children:L(re,n({},r))}))};var ae=function e(n){var r,i;var a=f((function(){var e;if((e=n.fieldConfig)!=null&&e.render)return undefined;var r=G(n.value)||D(n.value)||_(n.value)||!n.value;if(!r){console.warn("Form.List name:【"+n.name+"】数据【"+JSON.stringify(n.value)+"】不能渲染在页面中")}return r?n.value:undefined}),[(r=n.fieldConfig)==null?void 0:r.render,n.name,n.value]);var t=((i=n.fieldConfig)==null||i.render==null?void 0:i.render(n.value))||a;return L("span",{children:t})};var te=function e(n){return L(t.Item,{noStyle:true,name:n.name,children:L(ae,{name:n.name,fieldConfig:n.fieldConfig})})};var le=function e(r){var i=r.fieldConfig,a=i.formItemProps,l=i.editableConfig;return L(t.Item,n({},a,{name:r.name,children:L(z,n({},l.editableComptProps))}))};var oe=["children"];var de=function e(i){var a=i.fieldConfig,t=a.editableConfig,l=a.render,o=a.editable;var d=t.editableComptProps,m=d.children,u=r(d,oe);if(o){return L(E,n({listType:"text"},u,{value:i.value,onChange:i.onChange,children:m}))}return L("div",{className:"upload-wrapper-selector-view",children:l?l(i.value):L(E,n({listType:"text"},u,{value:i.value,disabled:true}))})};var me=function e(r){var i=r.fieldConfig.formItemProps;return L(t.Item,n({},i,{name:r.name,className:k("editable-upload-wrapper-form-item",i==null?void 0:i.className),children:L(de,n({},r))}))};var ue=function e(r){var i=r.fieldConfig,a=i.editableConfig,t=i.editable;var l=q(t,r.tableRowIndex);var o=N({},r.fieldConfig,{editable:l});var d={name:r.name,fieldConfig:o};if((a==null?void 0:a.type)==="input"&&l){return L(U,n({},d))}else if((a==null?void 0:a.type)==="inputNumber"&&l){return L(X,n({},d))}else if((a==null?void 0:a.type)==="textArea"&&l){return L(le,n({},d))}else if((a==null?void 0:a.type)==="datePickerWrapper"&&l){return L(H,n({},d))}else if((a==null?void 0:a.type)==="dateRangePickerWrapper"){return L(Q,n({},d))}else if((a==null?void 0:a.type)==="selectorWrapper"){return L(ne,n({},d))}else if((a==null?void 0:a.type)==="checkboxGroup"){return L(Y,n({},d))}else if((a==null?void 0:a.type)==="radioGroup"){return L($,n({},d))}else if((a==null?void 0:a.type)==="uploadWrapper"){return L(me,n({},d))}else if((a==null?void 0:a.type)==="switchWrapper"){return L(ie,n({},d))}else if((a==null?void 0:a.type)==="custom"){return a.editableComptProps({name:r.name,editable:l,completeName:r.completeName,tableRowIndex:r.tableRowIndex})}return L(te,n({},d))};var se=function e(n){var r=t.useFormInstance();var i=n.formListConfig,a=i.onFormListBeforeRender,l=i.editableConfigList,o=i.onFormListAfterRender,d=i.onFormListItemBeforeRender,m=i.onFormListItemAfterRender,s=i.deleteOperateRender;return L(t.List,{name:n.name,children:function e(i,t){var c=t.add,p=t.remove;return T(O,{children:[a?a({tableRowIndex:n.tableRowIndex,add:c,get value(){return r.getFieldValue(n.completeName)}}):null,i.map((function(e,i){var a=l.find((function(e){return q(e.editable,n.tableRowIndex)}));var t=k("editable-inner-formlist-item","editable-inner-formlist-item-"+n.name[1],{"editable-inner-formlist-item_preview":!a});return T("div",{className:t,children:[d==null?void 0:d({add:c,remove:function e(){p(i)},formListItemIndex:i,tableRowIndex:n.tableRowIndex,get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}}),T(u,{children:[l.map((function(r,i){return L(ue,{name:[e.name,r.fieldName],fieldConfig:r,tableRowIndex:n.tableRowIndex,completeName:[].concat(n.completeName,[e.name])},i)})),a?L(ce,{deleteOperateRender:s,remove:function e(){p(i)},index:i}):undefined]}),m==null?void 0:m({add:c,formListItemIndex:i,tableRowIndex:n.tableRowIndex,remove:function e(){p(i)},get value(){return r.getFieldValue([].concat(n.completeName,[e.name]))}})]},i)})),o?o({tableRowIndex:n.tableRowIndex,add:c,get value(){return r.getFieldValue(n.completeName)}}):null]})}})};var ce=function e(n){return L(t.Item,{children:n.deleteOperateRender?n.deleteOperateRender({remove:n.remove,formListItemIndex:n.index}):L(s,{type:"link",danger:true,icon:L(M,{}),onClick:n.remove,children:"删除"})})};var pe=function e(n){if(n.fieldConfig){if(y(n.fieldConfig["editableConfigList"])){var r=n.fieldConfig;return L(se,{name:n.name,completeName:n.completeName,formListConfig:r,tableRowIndex:n.tableRowIndex})}else{return T(b,{children:[L(ue,{name:n.name,fieldConfig:n.fieldConfig,tableRowIndex:n.tableRowIndex,completeName:n.completeName}),n.hiddenField?L(t.Item,{hidden:true,name:n.hiddenField.dataIndex,children:L(c,{})}):null]})}}return L(te,{name:n.name})};var fe=["fieldConfig","renderMiddleware","tableChildrenColumnRender","tooltip","title","tipsWrapperProps"];var ve=h((function(i,l){var o;var d=t.useFormInstance();var m=C([]);var u=f((function(){if(!i.columns)return[];return i.columns.map((function(e){var t=e.fieldConfig,l=e.renderMiddleware,o=e.tableChildrenColumnRender,d=e.tooltip,m=e.title,u=e.tipsWrapperProps,s=r(e,fe);var c=j(m)||typeof m==="string";var p;if(u&&c){if(typeof u==="string"){p=L(R,{tipType:"popover",popoverProps:{content:u},children:m})}else{p=L(R,n({},u,{children:m}))}}else if(d){p=L(I,{title:m,tooltip:d})}else{p=m}return n({title:p,onCell:function e(){var n;return{valign:((n=i.tableProps)==null?void 0:n.cellVerticalAlign)||"middle"}}},s,{render:function n(r,d,m){if(d["_isChildrenItem"]){if(o){return o(r,d,m)}return r}var u=[].concat(a(i.name),[d.name]);var s=e.dataIndex?[].concat(u,[e.dataIndex]):u;var c=l==null?void 0:l({name:s,tableRowIndex:d.name,operation:d.operation,tableRowName:u,index:m});if(c){return c}var p=typeof t==="function"?t({name:s,tableRowIndex:d.name,tableRowName:u}):t;return L(pe,{name:e.dataIndex?[d.name,e.dataIndex]:[d.name],completeName:s,fieldConfig:p,tableRowIndex:d.name,hiddenField:e.hiddenField})}})}))}),[i.columns,i.name,(o=i.tableProps)==null?void 0:o.cellVerticalAlign]);var s=t.useWatch(i.name,d);x(l,(function(){return{getTableItemDataByFormListItemKey:function e(n){var r=m.current.find((function(e){return e.key===n}));if(r){return d.getFieldValue([].concat(a(i.name),[r.name]))}return undefined}}}));return L("div",{className:"editable-table",children:L(t.List,{name:i.name,rules:i.rules,children:function r(a,t){m.current=a;return T(b,{children:[i.onTableBeforeRender?i.onTableBeforeRender(t,a.length):null,L(p,n({scroll:{x:"max-content"},pagination:false,rowKey:"key"},i.tableProps,{dataSource:a.map((function(e){var r;var i=s==null||(r=s[e.name])==null?void 0:r.children;if(i){i.forEach((function(e){e["_isChildrenItem"]=true}))}return n({},e,{operation:t,children:i})})),columns:u})),i.onTableAfterRender?i.onTableAfterRender(t,a.length):L(w,{type:"dashed",hidden:i.hiddenFooterBtn,onClick:function e(){return t.add(i.getAddRowDefaultValues==null?void 0:i.getAddRowDefaultValues())},block:true,icon:L(e,{}),style:{marginTop:15},children:"新增"})]})}})})}));export{ve as EditableTable};
|
|
17
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/editable-table/utils.ts","@flatbiz/antd/src/editable-table/form-item/checkbox-group.tsx","@flatbiz/antd/src/editable-table/form-item/date-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/date-range-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/input.tsx","@flatbiz/antd/src/editable-table/form-item/input-number.tsx","@flatbiz/antd/src/editable-table/form-item/radio-group.tsx","@flatbiz/antd/src/editable-table/form-item/selector-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/text.tsx","@flatbiz/antd/src/editable-table/form-item/textarea.tsx","@flatbiz/antd/src/editable-table/form-item/upload-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/index.tsx","@flatbiz/antd/src/editable-table/form-list-item/form-list.tsx","@flatbiz/antd/src/editable-table/form-list-item/index.tsx","@flatbiz/antd/src/editable-table/editable-table.tsx"],"sourcesContent":["import { FieldSingleConfig } from './type';\n\nexport const getEditable = (editable: FieldSingleConfig['editable'], tableRowIndex: number) => {\n return typeof editable === 'boolean' ? editable : editable?.({ tableRowIndex });\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { LabelValueItem, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Checkbox, Form, Tag } from 'antd';\nimport { useMemo } from 'react';\nimport { EditableCheckboxGroupConfig, EditableFormItemProps } from '../type';\n\ntype CheckboxGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst CheckboxGroupFormItemContent = (props: CheckboxGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableCheckboxGroupConfig).editableComptProps;\n const options = useMemo(\n () => (editableComptProps.options || []) as LabelValueItem[],\n [editableComptProps.options],\n );\n const viewLabelList = useMemo(() => {\n if (editable) return [];\n const value = isArray(props.value) ? props.value : ([] as TAny[]);\n if (!isArray(options) || options.length === 0) {\n return value.map((item) => ({ label: item, value: item }));\n }\n const returnList = [] as LabelValueItem[];\n value.forEach((item) => {\n const target = options.find((temp) => temp.value === item);\n returnList.push(target ? target : { label: item, value: item });\n });\n return returnList;\n }, [editable, options, props.value]);\n\n const onChange = hooks.useCallbackRef((value) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value);\n });\n\n if (editable) {\n return <Checkbox.Group {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n return (\n <span className=\"editable-checkbox-group-view\">\n {render\n ? render(props.value, options)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color={'geekblue'}>\n {tag.label}\n </Tag>\n ))}\n </span>\n );\n};\n\nexport const CheckboxGroupFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-checkbox-group-form-item', formItemProps?.className)}\n >\n <CheckboxGroupFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Form } from 'antd';\nimport { DatePickerWrapper } from '../../date-picker-wrapper';\nimport { EditableDatePickerWrapperConfig, EditableFormItemProps } from '../type';\n\nexport const DatePickerWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-date-picker-wraper-form-item', formItemProps?.className)}\n >\n <DatePickerWrapper\n allowClear\n {...(editableConfig as EditableDatePickerWrapperConfig).editableComptProps}\n />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Form } from 'antd';\nimport { useMemo } from 'react';\nimport { DateRangePickerWrapper } from '../../date-range-picker-wrapper';\nimport { EditableDateRangePickerWrapperConfig, EditableFormItemProps } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableDateRangePickerWrapperConfig).editableComptProps;\n\n const onChange = hooks.useCallbackRef((data) => {\n props.onChange?.(data);\n editableComptProps?.onChange?.(data);\n });\n\n const viewLabel = useMemo(() => {\n const value = isArray(props.value) ? props.value : ([] as any[]);\n if (editable) return undefined;\n return value.join('~');\n }, [editable, props.value]);\n\n if (editable) {\n return (\n <DateRangePickerWrapper allowClear {...editableComptProps} value={props.value} onChange={onChange} />\n );\n }\n return <span className=\"editable-date-range-picker-view\">{render ? render(props.value) : viewLabel}</span>;\n};\n\nexport const DateRangePickerWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-date-range-picker-wraper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { Form } from 'antd';\nimport { InputWrapper } from '../../input-wrapper';\nimport { EditableFormItemProps, EditableInputConfig } from '../type';\n\nexport const InputFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n\n return (\n <Form.Item {...formItemProps} name={props.name}>\n <InputWrapper allowClear {...(editableConfig as EditableInputConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Form, InputNumber } from 'antd';\nimport { EditableFormItemProps, EditableInputNumberConfig } from '../type';\n\nexport const InputNumberFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-input-number-form-item', formItemProps?.className)}\n >\n <InputNumber {...(editableConfig as EditableInputNumberConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { LabelValueItem } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Radio, Tag } from 'antd';\nimport { useMemo } from 'react';\nimport { EditableFormItemProps, EditableRadioGroupConfig } from '../type';\n\ntype RadioGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number;\n onChange?: (value: string | number) => void;\n};\n\nconst RadioGroupFormItemContent = (props: RadioGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableRadioGroupConfig).editableComptProps;\n const options = useMemo(\n () => (editableComptProps.options || []) as LabelValueItem<string | number>[],\n [editableComptProps.options],\n );\n\n const viewLabel = useMemo(() => {\n if (editable) return [];\n const value = props.value;\n\n if (!isArray(options) || options.length === 0) {\n return value;\n }\n const target = options.find((item) => item.value === value);\n return target?.label || value;\n }, [editable, options, props.value]);\n\n const onChange = hooks.useCallbackRef((e) => {\n props.onChange?.(e.target.value as string | number);\n editableComptProps.onChange?.(e);\n });\n\n if (editable) {\n return <Radio.Group {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n return (\n <span className=\"editable-radio-group-view\">\n {render ? render(props.value, options) : viewLabel ? <Tag color={'geekblue'}>{viewLabel}</Tag> : null}\n </span>\n );\n};\n\nexport const RadioGroupFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-radio-group-form-item', formItemProps?.className)}\n >\n <RadioGroupFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { arrayField2LabelValue, LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Tag } from 'antd';\nimport { Fragment, useEffect, useState } from 'react';\nimport { SelectorWrapper } from '../../selector-wrapper';\nimport { EditableFormItemProps, EditableSelectWrapperConfig } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number | Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableSelectWrapperConfig).editableComptProps;\n const [selectorList, setSelectorList] = useState<LabelValueItem[]>([]);\n const [viewLabelList, setviewLabelList] = useState<LabelValueItem[]>([]);\n\n useEffect(() => {\n if (!editable) {\n const value = isArray(props.value) ? props.value : props.value === undefined ? [] : [props.value];\n if (selectorList.length === 0) {\n setviewLabelList(value.map((item) => ({ label: item as string, value: item })));\n }\n const returnList = [] as LabelValueItem[];\n value.forEach((item) => {\n const target = selectorList.find((temp) => temp.value === item);\n returnList.push(target ? target : { label: String(item), value: item });\n });\n setviewLabelList(returnList);\n }\n }, [editable, editableComptProps.fieldNames, props.value, selectorList]);\n\n const onSelectorListAllChange = hooks.useCallbackRef((dataList: TPlainObject[]) => {\n setSelectorList(arrayField2LabelValue(dataList || [], editableComptProps.fieldNames));\n });\n\n const onChange = hooks.useCallbackRef((value, selectList) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value, selectList);\n });\n\n if (editable) {\n return (\n <SelectorWrapper\n {...editableComptProps}\n value={props.value}\n onChange={onChange}\n onSelectorListAllChange={onSelectorListAllChange}\n />\n );\n }\n return (\n <Fragment>\n <div style={{ display: 'none' }}>\n <SelectorWrapper {...editableComptProps} onSelectorListAllChange={onSelectorListAllChange} />\n </div>\n <span className=\"editable-selector-view\">\n {render\n ? render(props.value, selectorList)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color={'geekblue'}>\n {tag.label}\n </Tag>\n ))}\n </span>\n </Fragment>\n );\n};\n\nexport const SelectorWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-selector-wrapper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { isBoolean, isNumber, isString } from '@dimjs/lang';\nimport { Form } from 'antd';\nimport { useMemo } from 'react';\nimport { EditableFormItemProps, FieldSingleConfig } from '../type';\n\nconst FormItemTextContent = (props: {\n value?: string | number;\n name: EditableFormItemProps['name'];\n fieldConfig?: FieldSingleConfig;\n}) => {\n const value = useMemo(() => {\n if (props.fieldConfig?.render) return undefined;\n const isBaseData =\n isString(props.value) || isNumber(props.value) || isBoolean(props.value) || !props.value;\n if (!isBaseData) {\n console.warn(`Form.List name:【${props.name}】数据【${JSON.stringify(props.value)}】不能渲染在页面中`);\n }\n return isBaseData ? props.value : undefined;\n }, [props.fieldConfig?.render, props.name, props.value]);\n const viewText = props.fieldConfig?.render?.(props.value) || value;\n return <span>{viewText}</span>;\n};\n\nexport const TextFormItem = (props: { name: Array<number | string>; fieldConfig?: FieldSingleConfig }) => {\n return (\n <Form.Item noStyle name={props.name}>\n <FormItemTextContent name={props.name} fieldConfig={props.fieldConfig} />\n </Form.Item>\n );\n};\n","import { Form } from 'antd';\nimport { InputTextAreaWrapper } from '../../input-text-area-wrapper';\nimport { EditableFormItemProps, EditableTextareaConfig } from '../type';\n\nexport const TextAreaFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item {...formItemProps} name={props.name}>\n <InputTextAreaWrapper {...(editableConfig as EditableTextareaConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { Form } from 'antd';\nimport { UploadWrapper } from '../../upload-wrapper';\nimport { EditableFileUploadConfig, EditableFormItemProps } from '../type';\n\nconst UploadWrapperFormItemContent = (\n props: EditableFormItemProps & { value?: TAny; onChange?: (value?: TAny) => void },\n) => {\n const { editableConfig, render, editable } = props.fieldConfig;\n const { children, ...otherProps } = (editableConfig as EditableFileUploadConfig).editableComptProps;\n if (editable) {\n return (\n <UploadWrapper listType=\"text\" {...otherProps} value={props.value} onChange={props.onChange}>\n {children}\n </UploadWrapper>\n );\n }\n return (\n <div className=\"upload-wrapper-selector-view\">\n {render ? (\n render(props.value)\n ) : (\n <UploadWrapper listType=\"text\" {...otherProps} value={props.value} disabled={true} />\n )}\n </div>\n );\n};\n\nexport const UploadWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-upload-wrapper-form-item', formItemProps?.className)}\n >\n <UploadWrapperFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { extend } from '@dimjs/utils';\nimport { FieldSingleConfig } from '../type';\nimport { getEditable } from '../utils';\nimport { CheckboxGroupFormItem } from './checkbox-group';\nimport { DatePickerWrapperFormItem } from './date-picker-wrapper';\nimport { DateRangePickerWrapperFormItem } from './date-range-picker-wrapper';\nimport { InputFormItem } from './input';\nimport { InputNumberFormItem } from './input-number';\nimport { RadioGroupFormItem } from './radio-group';\nimport { SelectorWrapperFormItem } from './selector-wrapper';\nimport { TextFormItem } from './text';\nimport { TextAreaFormItem } from './textarea';\nimport { UploadWrapperFormItem } from './upload-wrapper';\n\nexport type FormItemAdapterProps = {\n name: Array<number | string>;\n completeName: Array<number | string>;\n fieldConfig: FieldSingleConfig;\n tableRowIndex: number;\n};\n\nexport const FormItemAdapter = (props: FormItemAdapterProps) => {\n const { editableConfig, editable } = props.fieldConfig;\n const newEditable = getEditable(editable, props.tableRowIndex);\n const fieldConfig = extend({}, props.fieldConfig, { editable: newEditable });\n\n const commomProps = {\n name: props.name,\n fieldConfig,\n };\n\n if (editableConfig?.type === 'input' && newEditable) {\n return <InputFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'inputNumber' && newEditable) {\n return <InputNumberFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'textArea' && newEditable) {\n return <TextAreaFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'datePickerWrapper' && newEditable) {\n return <DatePickerWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'dateRangePickerWrapper') {\n return <DateRangePickerWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'selectorWrapper') {\n return <SelectorWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'checkboxGroup') {\n return <CheckboxGroupFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'radioGroup') {\n return <RadioGroupFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'uploadWrapper') {\n return <UploadWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'custom') {\n return editableConfig.editableComptProps({\n name: props.name,\n editable: newEditable,\n completeName: props.completeName,\n tableRowIndex: props.tableRowIndex,\n });\n }\n\n return <TextFormItem {...commomProps} />;\n};\n","import { DeleteOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { Button, Form, Space } from 'antd';\nimport { FormItemAdapter } from '../form-item';\nimport { FormListConfig } from '../type';\nimport { getEditable } from '../utils';\n\nexport type FormListProps = {\n name: Array<number | string>;\n formListConfig: FormListConfig;\n tableRowIndex: number;\n completeName: (string | number)[];\n};\n\nexport const FormList = (props: FormListProps) => {\n const from = Form.useFormInstance();\n const {\n onFormListBeforeRender,\n editableConfigList,\n onFormListAfterRender,\n onFormListItemBeforeRender,\n onFormListItemAfterRender,\n deleteOperateRender,\n } = props.formListConfig;\n return (\n <Form.List name={props.name}>\n {(fields, { add, remove }) => (\n <>\n {onFormListBeforeRender\n ? onFormListBeforeRender({\n tableRowIndex: props.tableRowIndex,\n add,\n get value() {\n return from.getFieldValue(props.completeName);\n },\n })\n : null}\n {fields.map((fieldChild, index) => {\n const hasEditable = editableConfigList.find((item) =>\n getEditable(item.editable, props.tableRowIndex),\n );\n const className = classNames(\n 'editable-inner-formlist-item',\n `editable-inner-formlist-item-${props.name[1]}`,\n { 'editable-inner-formlist-item_preview': !hasEditable },\n );\n return (\n <div key={index} className={className}>\n {onFormListItemBeforeRender?.({\n add,\n remove: () => {\n remove(index);\n },\n formListItemIndex: index,\n tableRowIndex: props.tableRowIndex,\n get value() {\n return from.getFieldValue([...props.completeName, fieldChild.name]);\n },\n })}\n <Space>\n {editableConfigList.map((fieldItem, index) => {\n return (\n <FormItemAdapter\n name={[fieldChild.name, fieldItem.fieldName]}\n fieldConfig={fieldItem}\n key={index}\n tableRowIndex={props.tableRowIndex}\n completeName={[...props.completeName, fieldChild.name]}\n />\n );\n })}\n {hasEditable ? (\n <DeleteFormListItem\n deleteOperateRender={deleteOperateRender}\n remove={() => {\n remove(index);\n }}\n index={index}\n />\n ) : undefined}\n </Space>\n {onFormListItemAfterRender?.({\n add,\n formListItemIndex: index,\n tableRowIndex: props.tableRowIndex,\n remove: () => {\n remove(index);\n },\n get value() {\n return from.getFieldValue([...props.completeName, fieldChild.name]);\n },\n })}\n </div>\n );\n })}\n {onFormListAfterRender\n ? onFormListAfterRender({\n tableRowIndex: props.tableRowIndex,\n add,\n get value() {\n return from.getFieldValue(props.completeName);\n },\n })\n : null}\n </>\n )}\n </Form.List>\n );\n};\n\nconst DeleteFormListItem = (props: {\n deleteOperateRender: FormListConfig['deleteOperateRender'];\n remove: () => void;\n index: number;\n}) => {\n return (\n <Form.Item>\n {props.deleteOperateRender ? (\n props.deleteOperateRender({ remove: props.remove, formListItemIndex: props.index })\n ) : (\n <Button type=\"link\" danger icon={<DeleteOutlined />} onClick={props.remove}>\n 删除\n </Button>\n )}\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { Form, Input } from 'antd';\nimport { Fragment } from 'react';\nimport { FormItemAdapter } from '../form-item';\nimport { TextFormItem } from '../form-item/text';\nimport { FieldSingleConfig, FormListConfig } from '../type';\nimport { FormList } from './form-list';\n\nexport type FormListItemProps = {\n name: Array<number | string>;\n fieldConfig?: FieldSingleConfig | FormListConfig;\n tableRowIndex: number;\n completeName: (string | number)[];\n hiddenField?: { dataIndex: string };\n};\n\nexport const FormListItem = (props: FormListItemProps) => {\n if (props.fieldConfig) {\n if (isArray(props.fieldConfig['editableConfigList'])) {\n const formListConfig = props.fieldConfig as FormListConfig;\n return (\n <FormList\n name={props.name}\n completeName={props.completeName}\n formListConfig={formListConfig}\n tableRowIndex={props.tableRowIndex}\n />\n );\n } else {\n return (\n <Fragment>\n <FormItemAdapter\n name={props.name}\n fieldConfig={props.fieldConfig as FieldSingleConfig}\n tableRowIndex={props.tableRowIndex}\n completeName={props.completeName}\n />\n {props.hiddenField ? (\n <Form.Item hidden={true} name={props.hiddenField.dataIndex}>\n <Input />\n </Form.Item>\n ) : null}\n </Fragment>\n );\n }\n }\n return <TextFormItem name={props.name} />;\n};\n","import { PlusOutlined } from '@ant-design/icons';\nimport { TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { Form, FormListOperation, Table, TableProps } from 'antd';\nimport { FormListFieldData, FormListProps } from 'antd/es/form';\nimport { ColumnsType } from 'antd/lib/table';\nimport {\n forwardRef,\n Fragment,\n isValidElement,\n ReactElement,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { TableTitleTooltip } from '../table-title-tooltip';\nimport { TipsWrapper, TipsWrapperProps } from '../tips-wrapper/tips-wrapper';\nimport { FormListItem } from './form-list-item';\nimport './style.less';\nimport { EditableTableName, EditableTableRecordType, FieldSingleConfig, FormListConfig } from './type';\n\ntype fieldConfigFunctionParams = {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n};\n/**\n * antd 默认render功能此处不能使用\n */\nexport type EditableTableColumn = Omit<ColumnsType['0'], 'render'> & {\n /**\n * @description 请使用 tipsWrapperProps 属性配置\n * ```\n * 会在 title 之后展示一个 icon,hover 之后提示一些信息\n * 1. title为string类型、ReactElement有效\n * 2. hoverArea 默认值:icon\n * ```\n */\n tooltip?: string | { content: string; icon?: ReactElement; hoverArea?: 'icon' | 'all' };\n /**\n * 会在 title 之后展示一个 icon\n * ```\n * 1. title为string类型有效\n * 2. 可为icon添加提示效果\n * 3. 可为icon添加点击事件\n * ```\n */\n tipsWrapperProps?: string | TipsWrapperProps;\n dataIndex?: string;\n fieldConfig?:\n | FieldSingleConfig\n | FormListConfig\n | ((data: fieldConfigFunctionParams) => FieldSingleConfig | FormListConfig);\n /** 隐藏域字段 */\n hiddenField?: {\n dataIndex: string;\n };\n /**\n * 渲染中间件,如果renderMiddleware返回值为ReactElement格式,则会终止后续逻辑,fieldConfig配置将失效\n * ```\n * 1. tableRowIndex: 当前row的索引值\n * 2. name: 当前table单元格的form.item的name值\n * 3. operation Form.List的操作函数\n * 4. 对 table children column渲染无效\n * ```\n */\n renderMiddleware?: (item: {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n operation: FormListOperation;\n index: number;\n }) => ReactElement | null;\n /** table datasource children column 自定义渲染 */\n tableChildrenColumnRender?: (value: TAny, record: TPlainObject, index: number) => ReactElement | null;\n};\n\nexport type EditableTableProps = {\n name: EditableTableName;\n /**\n * ```\n * antd table属性\n * 1. 新增cellVerticalAlign,单元格竖直方向对齐方式,设置table column onCell属性后失效\n * ```\n */\n tableProps?: Omit<TableProps<EditableTableRecordType>, 'dataSource' | 'columns' | 'rowKey'> & {\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n columns: EditableTableColumn[];\n onTableBeforeRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n /**\n * 设置后,将覆盖底部`新增`按钮\n */\n onTableAfterRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n rules?: FormListProps['rules'];\n /** 隐藏底部`新增`按钮,设置 onTableAfterRender后 失效 */\n hiddenFooterBtn?: boolean;\n /** 新增行默认值,自定义onTableAfterRender后失效 */\n getAddRowDefaultValues?: () => TPlainObject;\n};\n\nexport type EditableTableRefApi = {\n /** 可用于表格行选择操作时,获取操作列数据 */\n getTableItemDataByFormListItemKey: (key: number) => TPlainObject;\n};\n\n/**\n * 可编辑表格\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable1\n * @param props\n * ```\n * 1. table children column 不可编辑\n * 2. 当存在折叠children数据时,组件会在children中内置_isChildrenItem字段\n * 3. 可通过tableChildrenColumnRender自定义渲染 table children column 显示\n * 4. 设置 rowSelection 后,rowSelection.onChange 通过 ref 的 getTableItemDataByFormListItemKey获取数据\n * ```\n */\nexport const EditableTable = forwardRef<EditableTableRefApi, EditableTableProps>((props, ref) => {\n const form = Form.useFormInstance();\n\n const formListFieldsRef = useRef<FormListFieldData[]>([]);\n\n const columns = useMemo(() => {\n if (!props.columns) return [];\n return props.columns.map((columnItem) => {\n const {\n fieldConfig,\n renderMiddleware,\n tableChildrenColumnRender,\n tooltip,\n title,\n tipsWrapperProps,\n ...otherColumnItem\n } = columnItem;\n const support = isValidElement(title) || typeof title === 'string';\n let titleRender: ReactElement | string;\n if (tipsWrapperProps && support) {\n if (typeof tipsWrapperProps === 'string') {\n titleRender = (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: tipsWrapperProps }}>\n {title}\n </TipsWrapper>\n );\n } else {\n titleRender = <TipsWrapper {...tipsWrapperProps}>{title}</TipsWrapper>;\n }\n } else if (tooltip) {\n titleRender = <TableTitleTooltip title={title as string} tooltip={tooltip} />;\n } else {\n titleRender = title as string;\n }\n return {\n title: titleRender,\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...otherColumnItem,\n render: (_value, record, index) => {\n if (record['_isChildrenItem']) {\n if (tableChildrenColumnRender) {\n return tableChildrenColumnRender(_value, record, index);\n }\n return _value;\n }\n const tableRowName = [...toArray<string | number>(props.name as TAny), record.name];\n const completeName = columnItem.dataIndex ? [...tableRowName, columnItem.dataIndex] : tableRowName;\n const customRender = renderMiddleware?.({\n name: completeName,\n tableRowIndex: record.name,\n operation: record.operation,\n tableRowName,\n index,\n });\n if (customRender) {\n return customRender;\n }\n\n const fieldConfigActual =\n typeof fieldConfig === 'function'\n ? fieldConfig({\n name: completeName,\n tableRowIndex: record.name,\n tableRowName,\n })\n : fieldConfig;\n return (\n <FormListItem\n name={columnItem.dataIndex ? [record.name, columnItem.dataIndex] : [record.name]}\n completeName={completeName}\n fieldConfig={fieldConfigActual}\n tableRowIndex={record.name}\n hiddenField={columnItem.hiddenField}\n />\n );\n },\n };\n }) as ColumnsType<EditableTableRecordType>;\n }, [props.columns, props.name, props.tableProps?.cellVerticalAlign]);\n\n const formListDataSource = Form.useWatch(props.name, form);\n\n useImperativeHandle(ref, () => {\n return {\n getTableItemDataByFormListItemKey: (key) => {\n const target = formListFieldsRef.current.find((item) => item.key === key);\n if (target) {\n return form.getFieldValue([...toArray<string>(props.name), target.name]);\n }\n return undefined;\n },\n };\n });\n\n return (\n <div className=\"editable-table\">\n <Form.List name={props.name} rules={props.rules}>\n {(fields, formListOperation) => {\n formListFieldsRef.current = fields;\n return (\n <Fragment>\n {props.onTableBeforeRender ? props.onTableBeforeRender(formListOperation, fields.length) : null}\n <Table\n scroll={{ x: 'max-content' }}\n pagination={false}\n rowKey=\"key\"\n {...props.tableProps}\n dataSource={fields.map((item) => {\n const children = formListDataSource?.[item.name]?.children as TPlainObject[] | undefined;\n if (children) {\n children.forEach((item) => {\n item['_isChildrenItem'] = true;\n });\n }\n return {\n ...item,\n operation: formListOperation,\n children,\n };\n })}\n columns={columns}\n />\n {props.onTableAfterRender ? (\n props.onTableAfterRender(formListOperation, fields.length)\n ) : (\n <ButtonWrapper\n type=\"dashed\"\n hidden={props.hiddenFooterBtn}\n onClick={() => formListOperation.add(props.getAddRowDefaultValues?.())}\n block\n icon={<PlusOutlined />}\n style={{ marginTop: 15 }}\n >\n 新增\n </ButtonWrapper>\n )}\n </Fragment>\n );\n }}\n </Form.List>\n </div>\n );\n});\n"],"names":["getEditable","editable","tableRowIndex","CheckboxGroupFormItemContent","props","_props$fieldConfig","fieldConfig","editableConfig","render","editableComptProps","options","useMemo","viewLabelList","value","_isArray","length","map","item","label","returnList","forEach","target","find","temp","push","onChange","_hooks","useCallbackRef","_jsx","Checkbox","Group","_extends","className","children","tag","index","Tag","color","CheckboxGroupFormItem","formItemProps","Form","Item","name","_classNames","DatePickerWrapperFormItem","DatePickerWrapper","allowClear","FormItemContent","data","viewLabel","undefined","join","DateRangePickerWrapper","DateRangePickerWrapperFormItem","InputFormItem","InputWrapper","InputNumberFormItem","InputNumber","RadioGroupFormItemContent","e","Radio","RadioGroupFormItem","_useState","useState","selectorList","setSelectorList","_useState2","setviewLabelList","useEffect","String","fieldNames","onSelectorListAllChange","dataList","arrayField2LabelValue","selectList","SelectorWrapper","_jsxs","Fragment","style","display","SelectorWrapperFormItem","FormItemTextContent","_props$fieldConfig2","_props$fieldConfig3","isBaseData","_isString","_isNumber","_isBoolean","console","warn","JSON","stringify","viewText","TextFormItem","noStyle","TextAreaFormItem","InputTextAreaWrapper","UploadWrapperFormItemContent","_editableComptProps","otherProps","_objectWithoutPropertiesLoose","_excluded","UploadWrapper","listType","disabled","UploadWrapperFormItem","FormItemAdapter","newEditable","_extend","commomProps","type","completeName","FormList","from","useFormInstance","_props$formListConfig","formListConfig","onFormListBeforeRender","editableConfigList","onFormListAfterRender","onFormListItemBeforeRender","onFormListItemAfterRender","deleteOperateRender","List","fields","_ref","add","remove","_Fragment","getFieldValue","fieldChild","hasEditable","formListItemIndex","concat","Space","fieldItem","fieldName","DeleteFormListItem","Button","danger","icon","_DeleteOutlined","onClick","FormListItem","hiddenField","hidden","dataIndex","Input","EditableTable","forwardRef","ref","_props$tableProps2","form","formListFieldsRef","useRef","columns","columnItem","renderMiddleware","tableChildrenColumnRender","tooltip","title","tipsWrapperProps","otherColumnItem","support","isValidElement","titleRender","TipsWrapper","tipType","popoverProps","content","TableTitleTooltip","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","_value","record","tableRowName","toArray","customRender","operation","fieldConfigActual","formListDataSource","useWatch","useImperativeHandle","getTableItemDataByFormListItemKey","key","current","rules","formListOperation","onTableBeforeRender","Table","scroll","x","pagination","rowKey","dataSource","_formListDataSource$i","onTableAfterRender","ButtonWrapper","hiddenFooterBtn","getAddRowDefaultValues","block","_PlusOutlined","marginTop"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/editable-table/utils.ts","@flatbiz/antd/src/editable-table/form-item/checkbox-group.tsx","@flatbiz/antd/src/editable-table/form-item/date-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/date-range-picker-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/input.tsx","@flatbiz/antd/src/editable-table/form-item/input-number.tsx","@flatbiz/antd/src/editable-table/form-item/radio-group.tsx","@flatbiz/antd/src/editable-table/form-item/selector-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/switch-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/text.tsx","@flatbiz/antd/src/editable-table/form-item/textarea.tsx","@flatbiz/antd/src/editable-table/form-item/upload-wrapper.tsx","@flatbiz/antd/src/editable-table/form-item/index.tsx","@flatbiz/antd/src/editable-table/form-list-item/form-list.tsx","@flatbiz/antd/src/editable-table/form-list-item/index.tsx","@flatbiz/antd/src/editable-table/editable-table.tsx"],"sourcesContent":["import { FieldSingleConfig } from './type';\n\nexport const getEditable = (editable: FieldSingleConfig['editable'], tableRowIndex: number) => {\n return typeof editable === 'boolean' ? editable : editable?.({ tableRowIndex });\n};\n","import { classNames } from '@dimjs/utils';\nimport { LabelValueItem, TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Checkbox, Form } from 'antd';\nimport { useMemo } from 'react';\nimport { tableCellRender } from '../../table-cell-render';\nimport { EditableCheckboxGroupConfig, EditableFormItemProps } from '../type';\n\ntype CheckboxGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst CheckboxGroupFormItemContent = (props: CheckboxGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableCheckboxGroupConfig).editableComptProps;\n const options = useMemo(\n () => (editableComptProps.options || []) as LabelValueItem[],\n [editableComptProps.options],\n );\n const onChange = hooks.useCallbackRef((value) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value);\n });\n\n if (editable) {\n return <Checkbox.Group {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n\n return (\n <span className=\"editable-checkbox-group-view\">\n {render ? render(props.value, options) : tableCellRender.selectorCell(options)(props.value)}\n </span>\n );\n};\n\nexport const CheckboxGroupFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-checkbox-group-form-item', formItemProps?.className)}\n >\n <CheckboxGroupFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Form } from 'antd';\nimport { DatePickerWrapper } from '../../date-picker-wrapper';\nimport { EditableDatePickerWrapperConfig, EditableFormItemProps } from '../type';\n\nexport const DatePickerWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-date-picker-wraper-form-item', formItemProps?.className)}\n >\n <DatePickerWrapper\n allowClear\n {...(editableConfig as EditableDatePickerWrapperConfig).editableComptProps}\n />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Form } from 'antd';\nimport { useMemo } from 'react';\nimport { DateRangePickerWrapper } from '../../date-range-picker-wrapper';\nimport { EditableDateRangePickerWrapperConfig, EditableFormItemProps } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: [string, string];\n onChange?: (value?: [string, string]) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableDateRangePickerWrapperConfig).editableComptProps;\n\n const onChange = hooks.useCallbackRef((data) => {\n props.onChange?.(data);\n editableComptProps?.onChange?.(data);\n });\n\n const viewLabel = useMemo(() => {\n const value = isArray(props.value) ? props.value : ([] as any[]);\n if (editable) return undefined;\n return value.join('~');\n }, [editable, props.value]);\n\n if (editable) {\n return (\n <DateRangePickerWrapper allowClear {...editableComptProps} value={props.value} onChange={onChange} />\n );\n }\n return <span className=\"editable-date-range-picker-view\">{render ? render(props.value) : viewLabel}</span>;\n};\n\nexport const DateRangePickerWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-date-range-picker-wraper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { Form } from 'antd';\nimport { InputWrapper } from '../../input-wrapper';\nimport { EditableFormItemProps, EditableInputConfig } from '../type';\n\nexport const InputFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n\n return (\n <Form.Item {...formItemProps} name={props.name}>\n <InputWrapper allowClear {...(editableConfig as EditableInputConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Form, InputNumber } from 'antd';\nimport { EditableFormItemProps, EditableInputNumberConfig } from '../type';\n\nexport const InputNumberFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-input-number-form-item', formItemProps?.className)}\n >\n <InputNumber {...(editableConfig as EditableInputNumberConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { LabelValueItem } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Radio } from 'antd';\nimport { useMemo } from 'react';\nimport { tableCellRender } from '../../table-cell-render';\nimport { EditableFormItemProps, EditableRadioGroupConfig } from '../type';\n\ntype RadioGroupFormItemContent = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number;\n onChange?: (value: string | number) => void;\n};\n\nconst RadioGroupFormItemContent = (props: RadioGroupFormItemContent) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableRadioGroupConfig).editableComptProps;\n const options = useMemo(\n () => (editableComptProps.options || []) as LabelValueItem<string | number>[],\n [editableComptProps.options],\n );\n\n const onChange = hooks.useCallbackRef((e) => {\n props.onChange?.(e.target.value as string | number);\n editableComptProps.onChange?.(e);\n });\n\n if (editable) {\n return <Radio.Group {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n return (\n <span className=\"editable-radio-group-view\">\n {render ? render(props.value, options) : tableCellRender.selectorCell(options)(props.value)}\n </span>\n );\n};\n\nexport const RadioGroupFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-radio-group-form-item', formItemProps?.className)}\n >\n <RadioGroupFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { arrayField2LabelValue, LabelValueItem, TAny, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Tag } from 'antd';\nimport { Fragment, useEffect, useState } from 'react';\nimport { SelectorWrapper } from '../../selector-wrapper';\nimport { EditableFormItemProps, EditableSelectWrapperConfig } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number | Array<string | number>;\n onChange?: (value: TAny) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableSelectWrapperConfig).editableComptProps;\n const [selectorList, setSelectorList] = useState<LabelValueItem[]>([]);\n const [viewLabelList, setviewLabelList] = useState<LabelValueItem[]>([]);\n\n useEffect(() => {\n if (!editable) {\n const value = isArray(props.value) ? props.value : props.value === undefined ? [] : [props.value];\n if (selectorList.length === 0) {\n setviewLabelList(value.map((item) => ({ label: item as string, value: item })));\n }\n const returnList = [] as LabelValueItem[];\n value.forEach((item) => {\n const target = selectorList.find((temp) => temp.value === item);\n returnList.push(target ? target : { label: String(item), value: item });\n });\n setviewLabelList(returnList);\n }\n }, [editable, editableComptProps.fieldNames, props.value, selectorList]);\n\n const onSelectorListAllChange = hooks.useCallbackRef((dataList: TPlainObject[]) => {\n setSelectorList(arrayField2LabelValue(dataList || [], editableComptProps.fieldNames));\n });\n\n const onChange = hooks.useCallbackRef((value, selectList) => {\n props.onChange?.(value);\n editableComptProps.onChange?.(value, selectList);\n });\n\n if (editable) {\n return (\n <SelectorWrapper\n {...editableComptProps}\n value={props.value}\n onChange={onChange}\n onSelectorListAllChange={onSelectorListAllChange}\n />\n );\n }\n return (\n <Fragment>\n <div style={{ display: 'none' }}>\n <SelectorWrapper {...editableComptProps} onSelectorListAllChange={onSelectorListAllChange} />\n </div>\n <span className=\"editable-selector-view\">\n {render\n ? render(props.value, selectorList)\n : viewLabelList.map((tag, index) => (\n <Tag key={index} color={'geekblue'}>\n {tag.label}\n </Tag>\n ))}\n </span>\n </Fragment>\n );\n};\n\nexport const SelectorWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-selector-wrapper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Form, Tag } from 'antd';\nimport { useMemo } from 'react';\nimport { SwitchWrapper } from '../../switch-wrapper';\nimport { EditableFormItemProps, EditableSwitchWrapperConfig } from '../type';\n\ntype FormItemContentProps = Omit<EditableFormItemProps, 'formItemProps'> & {\n value?: string | number | boolean;\n onChange?: (value?: string | number | boolean) => void;\n};\n\nconst FormItemContent = (props: FormItemContentProps) => {\n const { editableConfig, editable, render } = props.fieldConfig;\n const editableComptProps = (editableConfig as EditableSwitchWrapperConfig).editableComptProps;\n const onChange = hooks.useCallbackRef((data) => {\n props.onChange?.(data);\n editableComptProps?.onChange?.(data);\n });\n\n const viewData = useMemo(() => {\n const defaultCheckedText = editableComptProps.checkedChildren || '是';\n const defaultUnCheckedText = editableComptProps.unCheckedChildren || '否';\n\n return {\n checkedText: defaultCheckedText,\n unCheckedText: defaultUnCheckedText,\n };\n }, [editableComptProps.checkedChildren, editableComptProps.unCheckedChildren]);\n\n if (editable) {\n return <SwitchWrapper {...editableComptProps} value={props.value} onChange={onChange} />;\n }\n if (render) {\n return <span className=\"editable-switch-wrapper-view\">{render(props.value)}</span>;\n }\n return (\n <span className=\"editable-switch-wrapper-view\">\n {editableComptProps.checkedValue == props.value ? (\n <Tag color=\"geekblue\" style={{ marginRight: 0 }}>\n {viewData.checkedText}\n </Tag>\n ) : (\n <Tag style={{ marginRight: 0 }}>{viewData.unCheckedText}</Tag>\n )}\n </span>\n );\n};\n\nexport const SwitchWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-switch-wrapper-form-item', formItemProps?.className)}\n >\n <FormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { isBoolean, isNumber, isString } from '@dimjs/lang';\nimport { Form } from 'antd';\nimport { useMemo } from 'react';\nimport { EditableFormItemProps, FieldSingleConfig } from '../type';\n\nconst FormItemTextContent = (props: {\n value?: string | number;\n name: EditableFormItemProps['name'];\n fieldConfig?: FieldSingleConfig;\n}) => {\n const value = useMemo(() => {\n if (props.fieldConfig?.render) return undefined;\n const isBaseData =\n isString(props.value) || isNumber(props.value) || isBoolean(props.value) || !props.value;\n if (!isBaseData) {\n console.warn(`Form.List name:【${props.name}】数据【${JSON.stringify(props.value)}】不能渲染在页面中`);\n }\n return isBaseData ? props.value : undefined;\n }, [props.fieldConfig?.render, props.name, props.value]);\n const viewText = props.fieldConfig?.render?.(props.value) || value;\n return <span>{viewText}</span>;\n};\n\nexport const TextFormItem = (props: { name: Array<number | string>; fieldConfig?: FieldSingleConfig }) => {\n return (\n <Form.Item noStyle name={props.name}>\n <FormItemTextContent name={props.name} fieldConfig={props.fieldConfig} />\n </Form.Item>\n );\n};\n","import { Form } from 'antd';\nimport { InputTextAreaWrapper } from '../../input-text-area-wrapper';\nimport { EditableFormItemProps, EditableTextareaConfig } from '../type';\n\nexport const TextAreaFormItem = (props: EditableFormItemProps) => {\n const { formItemProps, editableConfig } = props.fieldConfig;\n return (\n <Form.Item {...formItemProps} name={props.name}>\n <InputTextAreaWrapper {...(editableConfig as EditableTextareaConfig).editableComptProps} />\n </Form.Item>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { Form } from 'antd';\nimport { UploadWrapper } from '../../upload-wrapper';\nimport { EditableFileUploadConfig, EditableFormItemProps } from '../type';\n\nconst UploadWrapperFormItemContent = (\n props: EditableFormItemProps & { value?: TAny; onChange?: (value?: TAny) => void },\n) => {\n const { editableConfig, render, editable } = props.fieldConfig;\n const { children, ...otherProps } = (editableConfig as EditableFileUploadConfig).editableComptProps;\n if (editable) {\n return (\n <UploadWrapper listType=\"text\" {...otherProps} value={props.value} onChange={props.onChange}>\n {children}\n </UploadWrapper>\n );\n }\n return (\n <div className=\"upload-wrapper-selector-view\">\n {render ? (\n render(props.value)\n ) : (\n <UploadWrapper listType=\"text\" {...otherProps} value={props.value} disabled={true} />\n )}\n </div>\n );\n};\n\nexport const UploadWrapperFormItem = (props: EditableFormItemProps) => {\n const { formItemProps } = props.fieldConfig;\n return (\n <Form.Item\n {...formItemProps}\n name={props.name}\n className={classNames('editable-upload-wrapper-form-item', formItemProps?.className)}\n >\n <UploadWrapperFormItemContent {...props} />\n </Form.Item>\n );\n};\n","import { extend } from '@dimjs/utils';\nimport { FieldSingleConfig } from '../type';\nimport { getEditable } from '../utils';\nimport { CheckboxGroupFormItem } from './checkbox-group';\nimport { DatePickerWrapperFormItem } from './date-picker-wrapper';\nimport { DateRangePickerWrapperFormItem } from './date-range-picker-wrapper';\nimport { InputFormItem } from './input';\nimport { InputNumberFormItem } from './input-number';\nimport { RadioGroupFormItem } from './radio-group';\nimport { SelectorWrapperFormItem } from './selector-wrapper';\nimport { SwitchWrapperFormItem } from './switch-wrapper';\nimport { TextFormItem } from './text';\nimport { TextAreaFormItem } from './textarea';\nimport { UploadWrapperFormItem } from './upload-wrapper';\n\nexport type FormItemAdapterProps = {\n name: Array<number | string>;\n completeName: Array<number | string>;\n fieldConfig: FieldSingleConfig;\n tableRowIndex: number;\n};\n\nexport const FormItemAdapter = (props: FormItemAdapterProps) => {\n const { editableConfig, editable } = props.fieldConfig;\n const newEditable = getEditable(editable, props.tableRowIndex);\n const fieldConfig = extend({}, props.fieldConfig, { editable: newEditable });\n\n const commomProps = {\n name: props.name,\n fieldConfig,\n };\n\n if (editableConfig?.type === 'input' && newEditable) {\n return <InputFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'inputNumber' && newEditable) {\n return <InputNumberFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'textArea' && newEditable) {\n return <TextAreaFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'datePickerWrapper' && newEditable) {\n return <DatePickerWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'dateRangePickerWrapper') {\n return <DateRangePickerWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'selectorWrapper') {\n return <SelectorWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'checkboxGroup') {\n return <CheckboxGroupFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'radioGroup') {\n return <RadioGroupFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'uploadWrapper') {\n return <UploadWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'switchWrapper') {\n return <SwitchWrapperFormItem {...commomProps} />;\n } else if (editableConfig?.type === 'custom') {\n return editableConfig.editableComptProps({\n name: props.name,\n editable: newEditable,\n completeName: props.completeName,\n tableRowIndex: props.tableRowIndex,\n });\n }\n\n return <TextFormItem {...commomProps} />;\n};\n","import { DeleteOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { Button, Form, Space } from 'antd';\nimport { FormItemAdapter } from '../form-item';\nimport { FormListConfig } from '../type';\nimport { getEditable } from '../utils';\n\nexport type FormListProps = {\n name: Array<number | string>;\n formListConfig: FormListConfig;\n tableRowIndex: number;\n completeName: (string | number)[];\n};\n\nexport const FormList = (props: FormListProps) => {\n const from = Form.useFormInstance();\n const {\n onFormListBeforeRender,\n editableConfigList,\n onFormListAfterRender,\n onFormListItemBeforeRender,\n onFormListItemAfterRender,\n deleteOperateRender,\n } = props.formListConfig;\n return (\n <Form.List name={props.name}>\n {(fields, { add, remove }) => (\n <>\n {onFormListBeforeRender\n ? onFormListBeforeRender({\n tableRowIndex: props.tableRowIndex,\n add,\n get value() {\n return from.getFieldValue(props.completeName);\n },\n })\n : null}\n {fields.map((fieldChild, index) => {\n const hasEditable = editableConfigList.find((item) =>\n getEditable(item.editable, props.tableRowIndex),\n );\n const className = classNames(\n 'editable-inner-formlist-item',\n `editable-inner-formlist-item-${props.name[1]}`,\n { 'editable-inner-formlist-item_preview': !hasEditable },\n );\n return (\n <div key={index} className={className}>\n {onFormListItemBeforeRender?.({\n add,\n remove: () => {\n remove(index);\n },\n formListItemIndex: index,\n tableRowIndex: props.tableRowIndex,\n get value() {\n return from.getFieldValue([...props.completeName, fieldChild.name]);\n },\n })}\n <Space>\n {editableConfigList.map((fieldItem, index) => {\n return (\n <FormItemAdapter\n name={[fieldChild.name, fieldItem.fieldName]}\n fieldConfig={fieldItem}\n key={index}\n tableRowIndex={props.tableRowIndex}\n completeName={[...props.completeName, fieldChild.name]}\n />\n );\n })}\n {hasEditable ? (\n <DeleteFormListItem\n deleteOperateRender={deleteOperateRender}\n remove={() => {\n remove(index);\n }}\n index={index}\n />\n ) : undefined}\n </Space>\n {onFormListItemAfterRender?.({\n add,\n formListItemIndex: index,\n tableRowIndex: props.tableRowIndex,\n remove: () => {\n remove(index);\n },\n get value() {\n return from.getFieldValue([...props.completeName, fieldChild.name]);\n },\n })}\n </div>\n );\n })}\n {onFormListAfterRender\n ? onFormListAfterRender({\n tableRowIndex: props.tableRowIndex,\n add,\n get value() {\n return from.getFieldValue(props.completeName);\n },\n })\n : null}\n </>\n )}\n </Form.List>\n );\n};\n\nconst DeleteFormListItem = (props: {\n deleteOperateRender: FormListConfig['deleteOperateRender'];\n remove: () => void;\n index: number;\n}) => {\n return (\n <Form.Item>\n {props.deleteOperateRender ? (\n props.deleteOperateRender({ remove: props.remove, formListItemIndex: props.index })\n ) : (\n <Button type=\"link\" danger icon={<DeleteOutlined />} onClick={props.remove}>\n 删除\n </Button>\n )}\n </Form.Item>\n );\n};\n","import { isArray } from '@dimjs/lang';\nimport { Form, Input } from 'antd';\nimport { Fragment } from 'react';\nimport { FormItemAdapter } from '../form-item';\nimport { TextFormItem } from '../form-item/text';\nimport { FieldSingleConfig, FormListConfig } from '../type';\nimport { FormList } from './form-list';\n\nexport type FormListItemProps = {\n name: Array<number | string>;\n fieldConfig?: FieldSingleConfig | FormListConfig;\n tableRowIndex: number;\n completeName: (string | number)[];\n hiddenField?: { dataIndex: string };\n};\n\nexport const FormListItem = (props: FormListItemProps) => {\n if (props.fieldConfig) {\n if (isArray(props.fieldConfig['editableConfigList'])) {\n const formListConfig = props.fieldConfig as FormListConfig;\n return (\n <FormList\n name={props.name}\n completeName={props.completeName}\n formListConfig={formListConfig}\n tableRowIndex={props.tableRowIndex}\n />\n );\n } else {\n return (\n <Fragment>\n <FormItemAdapter\n name={props.name}\n fieldConfig={props.fieldConfig as FieldSingleConfig}\n tableRowIndex={props.tableRowIndex}\n completeName={props.completeName}\n />\n {props.hiddenField ? (\n <Form.Item hidden={true} name={props.hiddenField.dataIndex}>\n <Input />\n </Form.Item>\n ) : null}\n </Fragment>\n );\n }\n }\n return <TextFormItem name={props.name} />;\n};\n","import { PlusOutlined } from '@ant-design/icons';\nimport { TAny, toArray, TPlainObject } from '@flatbiz/utils';\nimport { Form, FormListOperation, Table, TableProps } from 'antd';\nimport { FormListFieldData, FormListProps } from 'antd/es/form';\nimport { ColumnsType } from 'antd/lib/table';\nimport {\n forwardRef,\n Fragment,\n isValidElement,\n ReactElement,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { TableTitleTooltip } from '../table-title-tooltip';\nimport { TipsWrapper, TipsWrapperProps } from '../tips-wrapper/tips-wrapper';\nimport { FormListItem } from './form-list-item';\nimport './style.less';\nimport { EditableTableName, EditableTableRecordType, FieldSingleConfig, FormListConfig } from './type';\n\ntype fieldConfigFunctionParams = {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n};\n/**\n * antd 默认render功能此处不能使用\n */\nexport type EditableTableColumn = Omit<ColumnsType['0'], 'render'> & {\n /**\n * @description 请使用 tipsWrapperProps 属性配置\n * ```\n * 会在 title 之后展示一个 icon,hover 之后提示一些信息\n * 1. title为string类型、ReactElement有效\n * 2. hoverArea 默认值:icon\n * ```\n */\n tooltip?: string | { content: string; icon?: ReactElement; hoverArea?: 'icon' | 'all' };\n /**\n * 会在 title 之后展示一个 icon\n * ```\n * 1. title为string类型有效\n * 2. 可为icon添加提示效果\n * 3. 可为icon添加点击事件\n * ```\n */\n tipsWrapperProps?: string | TipsWrapperProps;\n dataIndex?: string;\n fieldConfig?:\n | FieldSingleConfig\n | FormListConfig\n | ((data: fieldConfigFunctionParams) => FieldSingleConfig | FormListConfig);\n /** 隐藏域字段 */\n hiddenField?: {\n dataIndex: string;\n };\n /**\n * 渲染中间件,如果renderMiddleware返回值为ReactElement格式,则会终止后续逻辑,fieldConfig配置将失效\n * ```\n * 1. tableRowIndex: 当前row的索引值\n * 2. name: 当前table单元格的form.item的name值\n * 3. operation Form.List的操作函数\n * 4. 对 table children column渲染无效\n * ```\n */\n renderMiddleware?: (item: {\n tableRowIndex: number;\n name: EditableTableName;\n tableRowName: EditableTableName;\n operation: FormListOperation;\n index: number;\n }) => ReactElement | null;\n /** table datasource children column 自定义渲染 */\n tableChildrenColumnRender?: (value: TAny, record: TPlainObject, index: number) => ReactElement | null;\n};\n\nexport type EditableTableProps = {\n name: EditableTableName;\n /**\n * ```\n * antd table属性\n * 1. 新增cellVerticalAlign,单元格竖直方向对齐方式,设置table column onCell属性后失效\n * ```\n */\n tableProps?: Omit<TableProps<EditableTableRecordType>, 'dataSource' | 'columns' | 'rowKey'> & {\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n columns: EditableTableColumn[];\n onTableBeforeRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n /**\n * 设置后,将覆盖底部`新增`按钮\n */\n onTableAfterRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;\n rules?: FormListProps['rules'];\n /** 隐藏底部`新增`按钮,设置 onTableAfterRender后 失效 */\n hiddenFooterBtn?: boolean;\n /** 新增行默认值,自定义onTableAfterRender后失效 */\n getAddRowDefaultValues?: () => TPlainObject;\n};\n\nexport type EditableTableRefApi = {\n /** 可用于表格行选择操作时,获取操作列数据 */\n getTableItemDataByFormListItemKey: (key: number) => TPlainObject;\n};\n\n/**\n * 可编辑表格\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable1\n * @param props\n * ```\n * 1. table children column 不可编辑\n * 2. 当存在折叠children数据时,组件会在children中内置_isChildrenItem字段\n * 3. 可通过tableChildrenColumnRender自定义渲染 table children column 显示\n * 4. 设置 rowSelection 后,rowSelection.onChange 通过 ref 的 getTableItemDataByFormListItemKey获取数据\n * ```\n */\nexport const EditableTable = forwardRef<EditableTableRefApi, EditableTableProps>((props, ref) => {\n const form = Form.useFormInstance();\n\n const formListFieldsRef = useRef<FormListFieldData[]>([]);\n\n const columns = useMemo(() => {\n if (!props.columns) return [];\n return props.columns.map((columnItem) => {\n const {\n fieldConfig,\n renderMiddleware,\n tableChildrenColumnRender,\n tooltip,\n title,\n tipsWrapperProps,\n ...otherColumnItem\n } = columnItem;\n const support = isValidElement(title) || typeof title === 'string';\n let titleRender: ReactElement | string;\n if (tipsWrapperProps && support) {\n if (typeof tipsWrapperProps === 'string') {\n titleRender = (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: tipsWrapperProps }}>\n {title}\n </TipsWrapper>\n );\n } else {\n titleRender = <TipsWrapper {...tipsWrapperProps}>{title}</TipsWrapper>;\n }\n } else if (tooltip) {\n titleRender = <TableTitleTooltip title={title as string} tooltip={tooltip} />;\n } else {\n titleRender = title as string;\n }\n return {\n title: titleRender,\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...otherColumnItem,\n render: (_value, record, index) => {\n if (record['_isChildrenItem']) {\n if (tableChildrenColumnRender) {\n return tableChildrenColumnRender(_value, record, index);\n }\n return _value;\n }\n const tableRowName = [...toArray<string | number>(props.name as TAny), record.name];\n const completeName = columnItem.dataIndex ? [...tableRowName, columnItem.dataIndex] : tableRowName;\n const customRender = renderMiddleware?.({\n name: completeName,\n tableRowIndex: record.name,\n operation: record.operation,\n tableRowName,\n index,\n });\n if (customRender) {\n return customRender;\n }\n\n const fieldConfigActual =\n typeof fieldConfig === 'function'\n ? fieldConfig({\n name: completeName,\n tableRowIndex: record.name,\n tableRowName,\n })\n : fieldConfig;\n return (\n <FormListItem\n name={columnItem.dataIndex ? [record.name, columnItem.dataIndex] : [record.name]}\n completeName={completeName}\n fieldConfig={fieldConfigActual}\n tableRowIndex={record.name}\n hiddenField={columnItem.hiddenField}\n />\n );\n },\n };\n }) as ColumnsType<EditableTableRecordType>;\n }, [props.columns, props.name, props.tableProps?.cellVerticalAlign]);\n\n const formListDataSource = Form.useWatch(props.name, form);\n\n useImperativeHandle(ref, () => {\n return {\n getTableItemDataByFormListItemKey: (key) => {\n const target = formListFieldsRef.current.find((item) => item.key === key);\n if (target) {\n return form.getFieldValue([...toArray<string>(props.name), target.name]);\n }\n return undefined;\n },\n };\n });\n\n return (\n <div className=\"editable-table\">\n <Form.List name={props.name} rules={props.rules}>\n {(fields, formListOperation) => {\n formListFieldsRef.current = fields;\n return (\n <Fragment>\n {props.onTableBeforeRender ? props.onTableBeforeRender(formListOperation, fields.length) : null}\n <Table\n scroll={{ x: 'max-content' }}\n pagination={false}\n rowKey=\"key\"\n {...props.tableProps}\n dataSource={fields.map((item) => {\n const children = formListDataSource?.[item.name]?.children as TPlainObject[] | undefined;\n if (children) {\n children.forEach((item) => {\n item['_isChildrenItem'] = true;\n });\n }\n return {\n ...item,\n operation: formListOperation,\n children,\n };\n })}\n columns={columns}\n />\n {props.onTableAfterRender ? (\n props.onTableAfterRender(formListOperation, fields.length)\n ) : (\n <ButtonWrapper\n type=\"dashed\"\n hidden={props.hiddenFooterBtn}\n onClick={() => formListOperation.add(props.getAddRowDefaultValues?.())}\n block\n icon={<PlusOutlined />}\n style={{ marginTop: 15 }}\n >\n 新增\n </ButtonWrapper>\n )}\n </Fragment>\n );\n }}\n </Form.List>\n </div>\n );\n});\n"],"names":["getEditable","editable","tableRowIndex","CheckboxGroupFormItemContent","props","_props$fieldConfig","fieldConfig","editableConfig","render","editableComptProps","options","useMemo","onChange","_hooks","useCallbackRef","value","_jsx","Checkbox","Group","_extends","className","children","tableCellRender","selectorCell","CheckboxGroupFormItem","formItemProps","Form","Item","name","_classNames","DatePickerWrapperFormItem","DatePickerWrapper","allowClear","FormItemContent","data","viewLabel","_isArray","undefined","join","DateRangePickerWrapper","DateRangePickerWrapperFormItem","InputFormItem","InputWrapper","InputNumberFormItem","InputNumber","RadioGroupFormItemContent","e","target","Radio","RadioGroupFormItem","_useState","useState","selectorList","setSelectorList","_useState2","viewLabelList","setviewLabelList","useEffect","length","map","item","label","returnList","forEach","find","temp","push","String","fieldNames","onSelectorListAllChange","dataList","arrayField2LabelValue","selectList","SelectorWrapper","_jsxs","Fragment","style","display","tag","index","Tag","color","SelectorWrapperFormItem","viewData","defaultCheckedText","checkedChildren","defaultUnCheckedText","unCheckedChildren","checkedText","unCheckedText","SwitchWrapper","checkedValue","marginRight","SwitchWrapperFormItem","FormItemTextContent","_props$fieldConfig2","_props$fieldConfig3","isBaseData","_isString","_isNumber","_isBoolean","console","warn","JSON","stringify","viewText","TextFormItem","noStyle","TextAreaFormItem","InputTextAreaWrapper","UploadWrapperFormItemContent","_editableComptProps","otherProps","_objectWithoutPropertiesLoose","_excluded","UploadWrapper","listType","disabled","UploadWrapperFormItem","FormItemAdapter","newEditable","_extend","commomProps","type","completeName","FormList","from","useFormInstance","_props$formListConfig","formListConfig","onFormListBeforeRender","editableConfigList","onFormListAfterRender","onFormListItemBeforeRender","onFormListItemAfterRender","deleteOperateRender","List","fields","_ref","add","remove","_Fragment","getFieldValue","fieldChild","hasEditable","formListItemIndex","concat","Space","fieldItem","fieldName","DeleteFormListItem","Button","danger","icon","_DeleteOutlined","onClick","FormListItem","hiddenField","hidden","dataIndex","Input","EditableTable","forwardRef","ref","_props$tableProps2","form","formListFieldsRef","useRef","columns","columnItem","renderMiddleware","tableChildrenColumnRender","tooltip","title","tipsWrapperProps","otherColumnItem","support","isValidElement","titleRender","TipsWrapper","tipType","popoverProps","content","TableTitleTooltip","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","_value","record","tableRowName","toArray","customRender","operation","fieldConfigActual","formListDataSource","useWatch","useImperativeHandle","getTableItemDataByFormListItemKey","key","current","rules","formListOperation","onTableBeforeRender","Table","scroll","x","pagination","rowKey","dataSource","_formListDataSource$i","onTableAfterRender","ButtonWrapper","hiddenFooterBtn","getAddRowDefaultValues","block","_PlusOutlined","marginTop"],"mappings":";8/FAEO,IAAMA,EAAc,SAAdA,EAAeC,EAAyCC,GACnE,cAAcD,IAAa,UAAYA,EAAWA,GAAAA,UAAAA,EAAAA,EAAW,CAAEC,cAAAA,GACjE,ECSA,IAAMC,EAA+B,SAA/BA,EAAgCC,GACpC,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAA+CE,mBAC3E,IAAMC,EAAUC,GACd,WAAA,OAAOF,EAAmBC,SAAW,EAAE,GACvC,CAACD,EAAmBC,UAEtB,IAAME,EAAWC,EAAMC,gBAAe,SAACC,GACrCX,EAAMQ,UAANR,UAAAA,EAAAA,EAAMQ,SAAWG,GACjBN,EAAmBG,UAAnBH,UAAAA,EAAAA,EAAmBG,SAAWG,EAChC,IAEA,GAAId,EAAU,CACZ,OAAOe,EAACC,EAASC,MAAKC,KAAKV,EAAkB,CAAEM,MAAOX,EAAMW,MAAOH,SAAUA,IAC/E,CAEA,OACEI,EAAA,OAAA,CAAMI,UAAU,+BAA8BC,SAC3Cb,EAASA,EAAOJ,EAAMW,MAAOL,GAAWY,EAAgBC,aAAab,EAA7BY,CAAsClB,EAAMW,QAG3F,EAEO,IAAMS,EAAwB,SAAxBA,EAAyBpB,GACpC,IAAQqB,EAAkBrB,EAAME,YAAxBmB,cAER,OACET,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,oCAAqCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAErFL,EAACb,EAA4BgB,EAAA,CAAA,EAAKf,MAGxC,EC3CO,IAAM0B,EAA4B,SAA5BA,EAA6B1B,GACxC,IAAAC,EAA0CD,EAAME,YAAxCmB,EAAapB,EAAboB,cAAelB,EAAcF,EAAdE,eACvB,OACES,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,wCAAyCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAEzFL,EAACe,EAAiBZ,EAAA,CAChBa,WAAU,MACLzB,EAAmDE,uBAIhE,ECNA,IAAMwB,EAAkB,SAAlBA,EAAmB7B,GACvB,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAAwDE,mBAEpF,IAAMG,EAAWC,EAAMC,gBAAe,SAACoB,GACrC9B,EAAMQ,UAANR,UAAAA,EAAAA,EAAMQ,SAAWsB,GACjBzB,GAAkB,MAAlBA,EAAoBG,UAAQ,UAAA,EAA5BH,EAAoBG,SAAWsB,EACjC,IAEA,IAAMC,EAAYxB,GAAQ,WACxB,IAAMI,EAAQqB,EAAQhC,EAAMW,OAASX,EAAMW,MAAS,GACpD,GAAId,EAAU,OAAOoC,UACrB,OAAOtB,EAAMuB,KAAK,IACnB,GAAE,CAACrC,EAAUG,EAAMW,QAEpB,GAAId,EAAU,CACZ,OACEe,EAACuB,EAAsBpB,EAAA,CAACa,WAAU,MAAKvB,EAAkB,CAAEM,MAAOX,EAAMW,MAAOH,SAAUA,IAE7F,CACA,OAAOI,EAAA,OAAA,CAAMI,UAAU,kCAAiCC,SAAEb,EAASA,EAAOJ,EAAMW,OAASoB,GAC3F,EAEO,IAAMK,EAAiC,SAAjCA,EAAkCpC,GAC7C,IAAQqB,EAAkBrB,EAAME,YAAxBmB,cACR,OACET,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,8CAA+CJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAE/FL,EAACiB,EAAed,EAAA,CAAA,EAAKf,MAG3B,EC3CO,IAAMqC,EAAgB,SAAhBA,EAAiBrC,GAC5B,IAAAC,EAA0CD,EAAME,YAAxCmB,EAAapB,EAAboB,cAAelB,EAAcF,EAAdE,eAEvB,OACES,EAACU,EAAKC,KAAIR,KAAKM,EAAa,CAAEG,KAAMxB,EAAMwB,KAAKP,SAC7CL,EAAC0B,EAAYvB,EAAA,CAACa,WAAU,MAAMzB,EAAuCE,uBAG3E,ECRO,IAAMkC,EAAsB,SAAtBA,EAAuBvC,GAClC,IAAAC,EAA0CD,EAAME,YAAxCmB,EAAapB,EAAboB,cAAelB,EAAcF,EAAdE,eACvB,OACES,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,kCAAmCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAEnFL,EAAC4B,EAAWzB,EAAMZ,CAAAA,EAAAA,EAA6CE,uBAGrE,ECFA,IAAMoC,EAA4B,SAA5BA,EAA6BzC,GACjC,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAA4CE,mBACxE,IAAMC,EAAUC,GACd,WAAA,OAAOF,EAAmBC,SAAW,EAAE,GACvC,CAACD,EAAmBC,UAGtB,IAAME,EAAWC,EAAMC,gBAAe,SAACgC,GACrC1C,EAAMQ,UAANR,UAAAA,EAAAA,EAAMQ,SAAWkC,EAAEC,OAAOhC,OAC1BN,EAAmBG,UAAnBH,UAAAA,EAAAA,EAAmBG,SAAWkC,EAChC,IAEA,GAAI7C,EAAU,CACZ,OAAOe,EAACgC,EAAM9B,MAAKC,KAAKV,EAAkB,CAAEM,MAAOX,EAAMW,MAAOH,SAAUA,IAC5E,CACA,OACEI,EAAA,OAAA,CAAMI,UAAU,4BAA2BC,SACxCb,EAASA,EAAOJ,EAAMW,MAAOL,GAAWY,EAAgBC,aAAab,EAA7BY,CAAsClB,EAAMW,QAG3F,EAEO,IAAMkC,EAAqB,SAArBA,EAAsB7C,GACjC,IAAQqB,EAAkBrB,EAAME,YAAxBmB,cAER,OACET,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,iCAAkCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAElFL,EAAC6B,EAAyB1B,EAAA,CAAA,EAAKf,MAGrC,EClCA,IAAM6B,GAAkB,SAAlBA,EAAmB7B,GACvB,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAA+CE,mBAC3E,IAAAyC,EAAwCC,EAA2B,IAA5DC,EAAYF,EAAA,GAAEG,EAAeH,EAAA,GACpC,IAAAI,EAA0CH,EAA2B,IAA9DI,EAAaD,EAAA,GAAEE,EAAgBF,EAAA,GAEtCG,GAAU,WACR,IAAKxD,EAAU,CACb,IAAMc,EAAQqB,EAAQhC,EAAMW,OAASX,EAAMW,MAAQX,EAAMW,QAAUsB,UAAY,GAAK,CAACjC,EAAMW,OAC3F,GAAIqC,EAAaM,SAAW,EAAG,CAC7BF,EAAiBzC,EAAM4C,KAAI,SAACC,GAAI,MAAM,CAAEC,MAAOD,EAAgB7C,MAAO6C,EAAO,IAC/E,CACA,IAAME,EAAa,GACnB/C,EAAMgD,SAAQ,SAACH,GACb,IAAMb,EAASK,EAAaY,MAAK,SAACC,GAAI,OAAKA,EAAKlD,QAAU6C,KAC1DE,EAAWI,KAAKnB,EAASA,EAAS,CAAEc,MAAOM,OAAOP,GAAO7C,MAAO6C,GAClE,IACAJ,EAAiBM,EACnB,CACF,GAAG,CAAC7D,EAAUQ,EAAmB2D,WAAYhE,EAAMW,MAAOqC,IAE1D,IAAMiB,EAA0BxD,EAAMC,gBAAe,SAACwD,GACpDjB,EAAgBkB,EAAsBD,GAAY,GAAI7D,EAAmB2D,YAC3E,IAEA,IAAMxD,EAAWC,EAAMC,gBAAe,SAACC,EAAOyD,GAC5CpE,EAAMQ,UAANR,UAAAA,EAAAA,EAAMQ,SAAWG,GACjBN,EAAmBG,UAAQ,UAAA,EAA3BH,EAAmBG,SAAWG,EAAOyD,EACvC,IAEA,GAAIvE,EAAU,CACZ,OACEe,EAACyD,EAAetD,KACVV,EAAkB,CACtBM,MAAOX,EAAMW,MACbH,SAAUA,EACVyD,wBAAyBA,IAG/B,CACA,OACEK,EAACC,EAAQ,CAAAtD,UACPL,EAAA,MAAA,CAAK4D,MAAO,CAAEC,QAAS,QAASxD,SAC9BL,EAACyD,EAAetD,KAAKV,EAAkB,CAAE4D,wBAAyBA,OAEpErD,EAAA,OAAA,CAAMI,UAAU,yBAAwBC,SACrCb,EACGA,EAAOJ,EAAMW,MAAOqC,GACpBG,EAAcI,KAAI,SAACmB,EAAKC,GAAK,OAC3B/D,EAACgE,EAAG,CAAaC,MAAO,WAAW5D,SAChCyD,EAAIjB,OADGkB,UAOxB,EAEO,IAAMG,GAA0B,SAA1BA,EAA2B9E,GACtC,IAAQqB,EAAkBrB,EAAME,YAAxBmB,cAER,OACET,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,sCAAuCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAEvFL,EAACiB,GAAed,EAAA,CAAA,EAAKf,MAG3B,ECxEA,IAAM6B,GAAkB,SAAlBA,EAAmB7B,GACvB,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SAAUO,EAAMH,EAANG,OAClC,IAAMC,EAAsBF,EAA+CE,mBAC3E,IAAMG,EAAWC,EAAMC,gBAAe,SAACoB,GACrC9B,EAAMQ,UAANR,UAAAA,EAAAA,EAAMQ,SAAWsB,GACjBzB,GAAkB,MAAlBA,EAAoBG,UAAQ,UAAA,EAA5BH,EAAoBG,SAAWsB,EACjC,IAEA,IAAMiD,EAAWxE,GAAQ,WACvB,IAAMyE,EAAqB3E,EAAmB4E,iBAAmB,IACjE,IAAMC,EAAuB7E,EAAmB8E,mBAAqB,IAErE,MAAO,CACLC,YAAaJ,EACbK,cAAeH,EAElB,GAAE,CAAC7E,EAAmB4E,gBAAiB5E,EAAmB8E,oBAE3D,GAAItF,EAAU,CACZ,OAAOe,EAAC0E,EAAavE,KAAKV,EAAkB,CAAEM,MAAOX,EAAMW,MAAOH,SAAUA,IAC9E,CACA,GAAIJ,EAAQ,CACV,OAAOQ,EAAA,OAAA,CAAMI,UAAU,+BAA8BC,SAAEb,EAAOJ,EAAMW,QACtE,CACA,OACEC,EAAA,OAAA,CAAMI,UAAU,+BAA8BC,SAC3CZ,EAAmBkF,cAAgBvF,EAAMW,MACxCC,EAACgE,EAAG,CAACC,MAAM,WAAWL,MAAO,CAAEgB,YAAa,GAAIvE,SAC7C8D,EAASK,cAGZxE,EAACgE,EAAG,CAACJ,MAAO,CAAEgB,YAAa,GAAIvE,SAAE8D,EAASM,iBAIlD,EAEO,IAAMI,GAAwB,SAAxBA,EAAyBzF,GACpC,IAAQqB,EAAkBrB,EAAME,YAAxBmB,cACR,OACET,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,oCAAqCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAErFL,EAACiB,GAAed,EAAA,CAAA,EAAKf,MAG3B,ECvDA,IAAM0F,GAAsB,SAAtBA,EAAuB1F,GAIvB,IAAA2F,EAAAC,EACJ,IAAMjF,EAAQJ,GAAQ,WAAM,IAAAN,EAC1B,IAAAA,EAAID,EAAME,cAAND,MAAAA,EAAmBG,OAAQ,OAAO6B,UACtC,IAAM4D,EACJC,EAAS9F,EAAMW,QAAUoF,EAAS/F,EAAMW,QAAUqF,EAAUhG,EAAMW,SAAWX,EAAMW,MACrF,IAAKkF,EAAY,CACfI,QAAQC,KAAI,mBAAoBlG,EAAMwB,KAAW2E,OAAAA,KAAKC,UAAUpG,EAAMW,mBACxE,CACA,OAAOkF,EAAa7F,EAAMW,MAAQsB,SACnC,GAAE,EAAA0D,EAAC3F,EAAME,0BAANyF,EAAmBvF,OAAQJ,EAAMwB,KAAMxB,EAAMW,QACjD,IAAM0F,IAAWT,EAAA5F,EAAME,cAAW,MAAjB0F,EAAmBxF,QAAnBwF,UAAAA,EAAAA,EAAmBxF,OAASJ,EAAMW,SAAUA,EAC7D,OAAOC,EAAA,OAAA,CAAAK,SAAOoF,GAChB,EAEO,IAAMC,GAAe,SAAfA,EAAgBtG,GAC3B,OACEY,EAACU,EAAKC,KAAI,CAACgF,QAAO,KAAC/E,KAAMxB,EAAMwB,KAAKP,SAClCL,EAAC8E,GAAmB,CAAClE,KAAMxB,EAAMwB,KAAMtB,YAAaF,EAAME,eAGhE,ECzBO,IAAMsG,GAAmB,SAAnBA,EAAoBxG,GAC/B,IAAAC,EAA0CD,EAAME,YAAxCmB,EAAapB,EAAboB,cAAelB,EAAcF,EAAdE,eACvB,OACES,EAACU,EAAKC,KAAIR,KAAKM,EAAa,CAAEG,KAAMxB,EAAMwB,KAAKP,SAC7CL,EAAC6F,EAAoB1F,EAAMZ,CAAAA,EAAAA,EAA0CE,uBAG3E,sBCLA,IAAMqG,GAA+B,SAA/BA,EACJ1G,GAEA,IAAAC,EAA6CD,EAAME,YAA3CC,EAAcF,EAAdE,eAAgBC,EAAMH,EAANG,OAAQP,EAAQI,EAARJ,SAChC,IAAA8G,EAAqCxG,EAA4CE,mBAAzEY,EAAQ0F,EAAR1F,SAAa2F,EAAUC,EAAAF,EAAAG,IAC/B,GAAIjH,EAAU,CACZ,OACEe,EAACmG,EAAahG,EAAA,CAACiG,SAAS,QAAWJ,EAAU,CAAEjG,MAAOX,EAAMW,MAAOH,SAAUR,EAAMQ,SAASS,SACzFA,IAGP,CACA,OACEL,EAAA,MAAA,CAAKI,UAAU,+BAA8BC,SAC1Cb,EACCA,EAAOJ,EAAMW,OAEbC,EAACmG,EAAahG,EAAA,CAACiG,SAAS,QAAWJ,EAAU,CAAEjG,MAAOX,EAAMW,MAAOsG,SAAU,SAIrF,EAEO,IAAMC,GAAwB,SAAxBA,EAAyBlH,GACpC,IAAQqB,EAAkBrB,EAAME,YAAxBmB,cACR,OACET,EAACU,EAAKC,KAAIR,KACJM,EAAa,CACjBG,KAAMxB,EAAMwB,KACZR,UAAWS,EAAW,oCAAqCJ,GAAAA,UAAAA,EAAAA,EAAeL,WAAWC,SAErFL,EAAC8F,GAA4B3F,EAAA,CAAA,EAAKf,MAGxC,EClBO,IAAMmH,GAAkB,SAAlBA,EAAmBnH,GAC9B,IAAAC,EAAqCD,EAAME,YAAnCC,EAAcF,EAAdE,eAAgBN,EAAQI,EAARJ,SACxB,IAAMuH,EAAcxH,EAAYC,EAAUG,EAAMF,eAChD,IAAMI,EAAcmH,EAAO,GAAIrH,EAAME,YAAa,CAAEL,SAAUuH,IAE9D,IAAME,EAAc,CAClB9F,KAAMxB,EAAMwB,KACZtB,YAAAA,GAGF,IAAIC,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,SAAWH,EAAa,CACnD,OAAOxG,EAACyB,EAAatB,EAAKuG,CAAAA,EAAAA,GAC5B,MAAO,IAAInH,GAAAA,UAAAA,EAAAA,EAAgBoH,QAAS,eAAiBH,EAAa,CAChE,OAAOxG,EAAC2B,EAAmBxB,EAAKuG,CAAAA,EAAAA,GAClC,MAAO,IAAInH,GAAAA,UAAAA,EAAAA,EAAgBoH,QAAS,YAAcH,EAAa,CAC7D,OAAOxG,EAAC4F,GAAgBzF,EAAKuG,CAAAA,EAAAA,GAC/B,MAAO,IAAInH,GAAAA,UAAAA,EAAAA,EAAgBoH,QAAS,qBAAuBH,EAAa,CACtE,OAAOxG,EAACc,EAAyBX,EAAKuG,CAAAA,EAAAA,SACjC,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,yBAA0B,CAC5D,OAAO3G,EAACwB,EAA8BrB,EAAKuG,CAAAA,EAAAA,SACtC,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,kBAAmB,CACrD,OAAO3G,EAACkE,GAAuB/D,EAAKuG,CAAAA,EAAAA,SAC/B,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,gBAAiB,CACnD,OAAO3G,EAACQ,EAAqBL,EAAKuG,CAAAA,EAAAA,SAC7B,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,aAAc,CAChD,OAAO3G,EAACiC,EAAkB9B,EAAKuG,CAAAA,EAAAA,SAC1B,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,gBAAiB,CACnD,OAAO3G,EAACsG,GAAqBnG,EAAKuG,CAAAA,EAAAA,SAC7B,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,gBAAiB,CACnD,OAAO3G,EAAC6E,GAAqB1E,EAAKuG,CAAAA,EAAAA,SAC7B,IAAInH,GAAc,UAAA,EAAdA,EAAgBoH,QAAS,SAAU,CAC5C,OAAOpH,EAAeE,mBAAmB,CACvCmB,KAAMxB,EAAMwB,KACZ3B,SAAUuH,EACVI,aAAcxH,EAAMwH,aACpB1H,cAAeE,EAAMF,eAEzB,CAEA,OAAOc,EAAC0F,GAAYvF,EAAKuG,CAAAA,EAAAA,GAC3B,EChDO,IAAMG,GAAW,SAAXA,EAAYzH,GACvB,IAAM0H,EAAOpG,EAAKqG,kBAClB,IAAAC,EAOI5H,EAAM6H,eANRC,EAAsBF,EAAtBE,uBACAC,EAAkBH,EAAlBG,mBACAC,EAAqBJ,EAArBI,sBACAC,EAA0BL,EAA1BK,2BACAC,EAAyBN,EAAzBM,0BACAC,EAAmBP,EAAnBO,oBAEF,OACEvH,EAACU,EAAK8G,KAAI,CAAC5G,KAAMxB,EAAMwB,KAAKP,SACzB,SAAAA,EAACoH,EAAMC,GAAA,IAAIC,EAAGD,EAAHC,IAAKC,EAAMF,EAANE,OAAM,OACrBlE,EAAAmE,EAAA,CAAAxH,SACG6G,CAAAA,EACGA,EAAuB,CACrBhI,cAAeE,EAAMF,cACrByI,IAAAA,EACA,SAAI5H,GACF,OAAO+G,EAAKgB,cAAc1I,EAAMwH,aAClC,IAEF,KACHa,EAAO9E,KAAI,SAACoF,EAAYhE,GACvB,IAAMiE,EAAcb,EAAmBnE,MAAK,SAACJ,GAAI,OAC/C5D,EAAY4D,EAAK3D,SAAUG,EAAMF,cAAc,IAEjD,IAAMkB,EAAYS,EAChB,+BAA8B,gCACEzB,EAAMwB,KAAK,GAC3C,CAAE,wCAAyCoH,IAE7C,OACEtE,EAAA,MAAA,CAAiBtD,UAAWA,EAAUC,SACnCgH,CAAAA,GAAAA,UAAAA,EAAAA,EAA6B,CAC5BM,IAAAA,EACAC,OAAQ,SAAAA,IACNA,EAAO7D,EACR,EACDkE,kBAAmBlE,EACnB7E,cAAeE,EAAMF,cACrB,SAAIa,GACF,OAAO+G,EAAKgB,cAAa,GAAAI,OAAK9I,EAAMwH,aAAcmB,CAAAA,EAAWnH,OAC/D,IAEF8C,EAACyE,EAAK,CAAA9H,SAAA,CACH8G,EAAmBxE,KAAI,SAACyF,EAAWrE,GAClC,OACE/D,EAACuG,GAAe,CACd3F,KAAM,CAACmH,EAAWnH,KAAMwH,EAAUC,WAClC/I,YAAa8I,EAEblJ,cAAeE,EAAMF,cACrB0H,aAAY,GAAAsB,OAAM9I,EAAMwH,aAAY,CAAEmB,EAAWnH,QAF5CmD,EAKX,IACCiE,EACChI,EAACsI,GAAkB,CACjBf,oBAAqBA,EACrBK,OAAQ,SAAAA,IACNA,EAAO7D,EACP,EACFA,MAAOA,IAEP1C,aAELiG,GAAyB,UAAA,EAAzBA,EAA4B,CAC3BK,IAAAA,EACAM,kBAAmBlE,EACnB7E,cAAeE,EAAMF,cACrB0I,OAAQ,SAAAA,IACNA,EAAO7D,EACR,EACD,SAAIhE,GACF,OAAO+G,EAAKgB,cAAa,GAAAI,OAAK9I,EAAMwH,aAAcmB,CAAAA,EAAWnH,OAC/D,MA3CMmD,EA+Cd,IACCqD,EACGA,EAAsB,CACpBlI,cAAeE,EAAMF,cACrByI,IAAAA,EACA,SAAI5H,GACF,OAAO+G,EAAKgB,cAAc1I,EAAMwH,aAClC,IAEF,OACH,GAIX,EAEA,IAAM0B,GAAqB,SAArBA,EAAsBlJ,GAK1B,OACEY,EAACU,EAAKC,KAAI,CAAAN,SACPjB,EAAMmI,oBACLnI,EAAMmI,oBAAoB,CAAEK,OAAQxI,EAAMwI,OAAQK,kBAAmB7I,EAAM2E,QAE3E/D,EAACuI,EAAM,CAAC5B,KAAK,OAAO6B,OAAM,KAACC,KAAMzI,EAAA0I,MAAoBC,QAASvJ,EAAMwI,OAAOvH,SAAC,QAMpF,EC9GO,IAAMuI,GAAe,SAAfA,EAAgBxJ,GAC3B,GAAIA,EAAME,YAAa,CACrB,GAAI8B,EAAQhC,EAAME,YAAY,uBAAwB,CACpD,IAAM2H,EAAiB7H,EAAME,YAC7B,OACEU,EAAC6G,GAAQ,CACPjG,KAAMxB,EAAMwB,KACZgG,aAAcxH,EAAMwH,aACpBK,eAAgBA,EAChB/H,cAAeE,EAAMF,eAG3B,KAAO,CACL,OACEwE,EAACC,EAAQ,CAAAtD,SAAA,CACPL,EAACuG,GAAe,CACd3F,KAAMxB,EAAMwB,KACZtB,YAAaF,EAAME,YACnBJ,cAAeE,EAAMF,cACrB0H,aAAcxH,EAAMwH,eAErBxH,EAAMyJ,YACL7I,EAACU,EAAKC,KAAI,CAACmI,OAAQ,KAAMlI,KAAMxB,EAAMyJ,YAAYE,UAAU1I,SACzDL,EAACgJ,EAAO,MAER,OAGV,CACF,CACA,OAAOhJ,EAAC0F,GAAY,CAAC9E,KAAMxB,EAAMwB,MACnC,6GCsEO,IAAMqI,GAAgBC,GAAoD,SAAC9J,EAAO+J,GAAQ,IAAAC,EAC/F,IAAMC,EAAO3I,EAAKqG,kBAElB,IAAMuC,EAAoBC,EAA4B,IAEtD,IAAMC,EAAU7J,GAAQ,WACtB,IAAKP,EAAMoK,QAAS,MAAO,GAC3B,OAAOpK,EAAMoK,QAAQ7G,KAAI,SAAC8G,GACxB,IACEnK,EAOEmK,EAPFnK,YACAoK,EAMED,EANFC,iBACAC,EAKEF,EALFE,0BACAC,EAIEH,EAJFG,QACAC,EAGEJ,EAHFI,MACAC,EAEEL,EAFFK,iBACGC,EAAe9D,EAChBwD,EAAUvD,IACd,IAAM8D,EAAUC,EAAeJ,WAAiBA,IAAU,SAC1D,IAAIK,EACJ,GAAIJ,GAAoBE,EAAS,CAC/B,UAAWF,IAAqB,SAAU,CACxCI,EACElK,EAACmK,EAAW,CAACC,QAAQ,UAAUC,aAAc,CAAEC,QAASR,GAAmBzJ,SACxEwJ,GAGP,KAAO,CACLK,EAAclK,EAACmK,EAAWhK,KAAK2J,EAAgB,CAAAzJ,SAAGwJ,IACpD,CACD,MAAM,GAAID,EAAS,CAClBM,EAAclK,EAACuK,EAAiB,CAACV,MAAOA,EAAiBD,QAASA,GACpE,KAAO,CACLM,EAAcL,CAChB,CACA,OAAA1J,EAAA,CACE0J,MAAOK,EACPM,OAAQ,SAAAA,IAAM,IAAAC,EACZ,MAAO,CACLC,SAAQD,EAAArL,EAAMuL,aAANF,UAAAA,EAAAA,EAAkBG,oBAAqB,SAEnD,GACGb,EAAe,CAClBvK,OAAQ,SAAAA,EAACqL,EAAQC,EAAQ/G,GACvB,GAAI+G,EAAO,mBAAoB,CAC7B,GAAInB,EAA2B,CAC7B,OAAOA,EAA0BkB,EAAQC,EAAQ/G,EACnD,CACA,OAAO8G,CACT,CACA,IAAME,EAAY,GAAA7C,OAAO8C,EAAyB5L,EAAMwB,MAAa,CAAEkK,EAAOlK,OAC9E,IAAMgG,EAAe6C,EAAWV,UAASb,GAAAA,OAAO6C,EAActB,CAAAA,EAAWV,YAAagC,EACtF,IAAME,EAAevB,GAAgB,UAAA,EAAhBA,EAAmB,CACtC9I,KAAMgG,EACN1H,cAAe4L,EAAOlK,KACtBsK,UAAWJ,EAAOI,UAClBH,aAAAA,EACAhH,MAAAA,IAEF,GAAIkH,EAAc,CAChB,OAAOA,CACT,CAEA,IAAME,SACG7L,IAAgB,WACnBA,EAAY,CACVsB,KAAMgG,EACN1H,cAAe4L,EAAOlK,KACtBmK,aAAAA,IAEFzL,EACN,OACEU,EAAC4I,GAAY,CACXhI,KAAM6I,EAAWV,UAAY,CAAC+B,EAAOlK,KAAM6I,EAAWV,WAAa,CAAC+B,EAAOlK,MAC3EgG,aAAcA,EACdtH,YAAa6L,EACbjM,cAAe4L,EAAOlK,KACtBiI,YAAaY,EAAWZ,aAG9B,GAEJ,GACD,GAAE,CAACzJ,EAAMoK,QAASpK,EAAMwB,MAAIwI,EAAEhK,EAAMuL,aAAU,UAAA,EAAhBvB,EAAkBwB,oBAEjD,IAAMQ,EAAqB1K,EAAK2K,SAASjM,EAAMwB,KAAMyI,GAErDiC,EAAoBnC,GAAK,WACvB,MAAO,CACLoC,kCAAmC,SAAAA,EAACC,GAClC,IAAMzJ,EAASuH,EAAkBmC,QAAQzI,MAAK,SAACJ,GAAI,OAAKA,EAAK4I,MAAQA,KACrE,GAAIzJ,EAAQ,CACV,OAAOsH,EAAKvB,cAAaI,GAAAA,OAAK8C,EAAgB5L,EAAMwB,MAAK,CAAEmB,EAAOnB,OACpE,CACA,OAAOS,SACT,EAEJ,IAEA,OACErB,EAAA,MAAA,CAAKI,UAAU,iBAAgBC,SAC7BL,EAACU,EAAK8G,KAAI,CAAC5G,KAAMxB,EAAMwB,KAAM8K,MAAOtM,EAAMsM,MAAMrL,SAC7C,SAAAA,EAACoH,EAAQkE,GACRrC,EAAkBmC,QAAUhE,EAC5B,OACE/D,EAACC,EAAQ,CAAAtD,SAAA,CACNjB,EAAMwM,oBAAsBxM,EAAMwM,oBAAoBD,EAAmBlE,EAAO/E,QAAU,KAC3F1C,EAAC6L,EAAK1L,EAAA,CACJ2L,OAAQ,CAAEC,EAAG,eACbC,WAAY,MACZC,OAAO,OACH7M,EAAMuL,WAAU,CACpBuB,WAAYzE,EAAO9E,KAAI,SAACC,GAAS,IAAAuJ,EAC/B,IAAM9L,EAAW+K,GAAkB,OAAAe,EAAlBf,EAAqBxI,EAAKhC,QAA1BuL,UAAAA,EAAAA,EAAiC9L,SAClD,GAAIA,EAAU,CACZA,EAAS0C,SAAQ,SAACH,GAChBA,EAAK,mBAAqB,IAC5B,GACF,CACA,OAAAzC,KACKyC,EAAI,CACPsI,UAAWS,EACXtL,SAAAA,GAEJ,IACAmJ,QAASA,KAEVpK,EAAMgN,mBACLhN,EAAMgN,mBAAmBT,EAAmBlE,EAAO/E,QAEnD1C,EAACqM,EAAa,CACZ1F,KAAK,SACLmC,OAAQ1J,EAAMkN,gBACd3D,QAAS,SAAAA,IAAA,OAAMgD,EAAkBhE,IAAIvI,EAAMmN,wBAAsB,UAAA,EAA5BnN,EAAMmN,yBAA4B,EACvEC,MAAK,KACL/D,KAAMzI,EAAAyM,MACN7I,MAAO,CAAE8I,UAAW,IAAKrM,SAC1B,SAMT,KAIR"}
|
package/esm/fba-app/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.fba-dialog-modal .ant-modal-body{overflow-x:hidden;overflow-y:auto;padding:10px 24px 20px!important}.fba-dialog-modal .ant-modal-content{padding:20px 0!important}.fba-dialog-modal .ant-modal-footer,.fba-dialog-modal .ant-modal-header{padding:0 24px!important}.fba-dialog-
|
|
1
|
+
.fba-dialog-modal .ant-modal-body{overflow-x:hidden;overflow-y:auto;padding:10px 24px 20px!important}.fba-dialog-modal .ant-modal-content{padding:20px 0!important}.fba-dialog-modal .ant-modal-footer,.fba-dialog-modal .ant-modal-header{padding:0 24px!important}.fba-dialog-modal .ant-modal-footer{margin:0!important}.fba-dialog-modal-title-extra .ant-modal-close{right:5px;top:5px}.fba-dialog-confirm .ant-modal-header{margin:0!important}.fba-dialog-confirm .ant-modal-body{color:rgba(0,0,0,.78)!important;font-size:16px;font-weight:400}.fba-dialog-confirm .ant-modal-footer>button:nth-child(2){margin-left:15px!important}.fba-dialog-loading .ant-modal-content{background-color:transparent!important;box-shadow:none!important;padding:0!important}.fba-dialog-loading .ant-modal-body{text-align:center!important}.fba-dialog-loading-content{background-color:#fff;border-radius:8px;display:inline-block;padding:20px 30px;text-align:center}.fba-dialog-loading-content .loader-inner{animation:dialog-spinner .6s linear infinite;border:2px solid rgba(0,128,227,.08);border-left:2px solid var(--fba-loading-color);border-radius:50%;height:30px;margin:0 auto;text-indent:-12345px;width:30px;z-index:100001}.fba-dialog-loading-content .loader-text{color:#606060;font-size:12px;font-size:16px;font-weight:500;letter-spacing:2px;margin-top:15px;text-align:left}@keyframes dialog-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
|
package/esm/fba-app/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './../fba-utils/index.css';
|
|
3
|
+
import './../flex-layout/index.css';
|
|
4
|
+
import './../types/index.css';
|
|
3
5
|
import './index.css';
|
|
4
6
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{fbaUtils as o}from"../fba-utils/index.js";import{a as e,_ as n}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{createContext as r,useMemo as
|
|
7
|
+
import{fbaUtils as o}from"../fba-utils/index.js";import{a as e,_ as n}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{createContext as r,useMemo as l,useContext as a,useState as t}from"react";import{classNames as i}from"@dimjs/utils/cjs/class-names";import{isPromise as d}from"@dimjs/lang/cjs/is-promise";import{hooks as s}from"@wove/react/cjs/hooks";import{ButtonWrapper as c}from"@flatbiz/antd";import{useSize as u}from"ahooks";import{Form as f,Modal as v,Space as p,Drawer as m,theme as g}from"antd";import{FlexLayout as C}from"../flex-layout/index.js";import{g as h}from"../index-ac189a77.js";import{jsx as k,jsxs as x}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@flatbiz/utils";import"@dimjs/utils/cjs/extend";var b=r({editable:false});var O=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent"];var y=function o(r){var a;var t=r.titleExtra,p=r.title,m=r.onOk,g=r.onCancel,b=r.okButtonProps,y=r.cancelButtonProps,P=r.content,D=r.className,j=r.okHidden,w=r.cancelHidden,T=r.footer,H=r.cancelText,N=r.okText,B=r.bodyHeightPercent,M=e(r,O);var A=f.useForm(),L=A[0];var R=u(document.querySelector("html"));var E=h();var S=s.useCallbackRef((function(){r.onClose==null?void 0:r.onClose()}));var z=s.useCallbackRef((function(o){if(g){var e=g(L,o);if(e&&d(e)){return e.then(S)}}S();return Promise.resolve()}));var F=s.useCallbackRef((function(o){if(m){var e=m(L,o);if(e&&d(e)){return e.then(S)}}S();return Promise.resolve()}));var W=[k(c,n({},y,{onClick:z,hidden:w,children:H||((a=E.FbaDialogModal)==null?void 0:a.cancelText)}),"0"),k(c,n({type:"primary"},b,{onClick:F,hidden:j,children:N||"提交"}),"1")];var _=T||W;var q=l((function(){if(!(R!=null&&R.height)||!B){return"auto"}return(R==null?void 0:R.height)*(B/100)}),[B,R==null?void 0:R.height]);return k(v,n({maskClosable:true,title:t?x(C,{direction:"horizontal",fullIndex:0,children:[k("span",{children:p}),t]}):p,centered:true,onCancel:S,destroyOnClose:true},M,{bodyStyle:n({height:q,maxHeight:R!=null&&R.height?(R==null?void 0:R.height)*.8:"calc(100vh - 200px)"},M.bodyStyle),className:i("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!t},D),open:r.open,footer:_,children:typeof P==="function"?P(L,{onClose:S}):P}))};var P=function o(e){var r=i("fba-dialog-confirm",e.className);return k(y,n({okText:"确定",width:350,cancelText:"取消",maskClosable:true},e,{className:r}))};var D=function o(e){return k(P,n({okText:"确定",cancelHidden:true,maskClosable:false},e,{onOk:function o(n,r){return e.onClick==null?void 0:e.onClick(r)}}))};var j=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var w=function o(r){var l=r.onOk,a=r.onCancel,t=r.content,i=r.okText,u=r.cancelText,v=r.okButtonExtraProps,g=r.cancelButtonExtraProps,C=r.operatePosition,h=C===void 0?"footer":C,b=r.operateRender,O=r.width,y=O===void 0?600:O,P=r.okHidden,D=r.cancelHidden,w=r.extra,T=e(r,j);var H=f.useForm(),N=H[0];var B=s.useCallbackRef((function(o){r.onClose==null?void 0:r.onClose(o)}));var M=s.useCallbackRef((function(o){if(a){var e=a(N,o);if(e&&d(e)){return e.then(B)}}B(o);return Promise.resolve()}));var A=s.useCallbackRef((function(o){if(l){var e=l(N,o);if(e&&d(e)){return e.then(B)}}B(o);return Promise.resolve()}));var L=x(p,{children:[D||g!=null&&g.hidden?null:k(c,n({},g,{onClick:M,children:u||"取消"})),P||v!=null&&v.hidden?null:k(c,n({type:"primary"},v,{onClick:A,children:i||"提交"}))]});var R=function o(){if(b){return b(N)}if(!P||!D){return L}return null};var E=typeof w==="function"?w(N):w;return k(m,n({maskClosable:true,destroyOnClose:true,onClose:B,width:"80%",contentWrapperStyle:{maxWidth:y},footer:h==="footer"?R():null},T,{extra:h==="header"?R():E,open:r.open,children:typeof t==="function"?t(N,{onClose:B}):t}))};var T=function o(e){var n=e.className,r=e.message,l=e.mask;var a=g.useToken(),t=a.token;var d=t.colorPrimary;return k(v,{maskClosable:false,centered:true,destroyOnClose:true,className:i("fba-dialog-loading",n),open:e.open,footer:null,closable:false,style:{"--fba-loading-color":d},mask:l,children:k("div",{className:i("fba-dialog-loading-content"),children:x("div",{className:"loader-wrapper",children:[k("div",{className:"loader-inner"}),k("div",{className:"loader-text",children:r||"处理中"})]})})})};var H=function o(){var e=a(b);var r=function o(){e.dialogDrawerClose==null?void 0:e.dialogDrawerClose()};return{appDialogDrawer:{open:function o(l){e.dialogDrawerOpen==null?void 0:e.dialogDrawerOpen(n({},l,{open:true}));return{onClose:r}},close:r}}};var N=function o(){var e=a(b);var r=function o(){e.dialogModalClose==null?void 0:e.dialogModalClose()};return{appDialogModal:{open:function o(l){e.dialogModalOpen==null?void 0:e.dialogModalOpen(n({},l,{open:true}));return{onClose:r}},close:r}}};var B=function o(){var e=a(b);var r=function o(){e.dialogAlertClose==null?void 0:e.dialogAlertClose()};return{appDialogAlert:{open:function o(l){e.dialogAlertOpen==null?void 0:e.dialogAlertOpen(n({},l,{open:true}));return{onClose:r}},close:r}}};var M=function o(){var e=a(b);var r=function o(){e.dialogConfirmClose==null?void 0:e.dialogConfirmClose()};return{appDialogConfirm:{open:function o(l){e.dialogConfirmOpen==null?void 0:e.dialogConfirmOpen(n({},l,{open:true}));return{onClose:r}},close:r}}};var A=function o(){var e=a(b);var r=function o(){e.dialogLoadingClose==null?void 0:e.dialogLoadingClose()};return{appDialogLoading:{open:function o(l){e.dialogLoadingOpen==null?void 0:e.dialogLoadingOpen(n({},l,{open:true}));return{onClose:r}},close:r}}};var L=function o(e){var r=t({}),l=r[0],a=r[1];var i=t({}),d=i[0],s=i[1];var c=t({}),u=c[0],f=c[1];var v=t({}),p=v[0],m=v[1];var g=t(),C=g[0],h=g[1];var O=function o(e){a(e)};var j=function o(){a(n({},l,{open:false}))};var H=function o(e){s(e)};var N=function o(){s(n({},l,{open:false}))};var B=function o(e){f(e)};var M=function o(){f(n({},l,{open:false}))};var A=function o(e){m(e)};var L=function o(){m(n({},l,{open:false}))};var R=function o(e){h(e)};var E=function o(){h(n({},l,{open:false}))};return x(b.Provider,{value:{editable:true,dialogDrawerOpen:O,dialogDrawerClose:j,dialogModalOpen:H,dialogModalClose:N,dialogAlertOpen:B,dialogAlertClose:M,dialogConfirmOpen:A,dialogConfirmClose:L,dialogLoadingOpen:R,dialogLoadingClose:E},children:[k(w,n({},l,{onClose:j})),k(y,n({},d,{onClose:N})),k(D,n({},u,{onClose:M})),k(P,n({},p,{onClose:L})),k(T,n({},C)),e.children]})};var R=o.attachPropertiesToComponent(L,{useDialogDrawer:H,useDialogModal:N,useDialogConfirm:M,useDialogAlert:B,useDialogLoading:A});export{R as FbaApp};
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
package/esm/fba-app/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/index.tsx","@flatbiz/antd/src/fba-app/dialog-confirm/index.tsx","@flatbiz/antd/src/fba-app/dialog-alert/index.tsx","@flatbiz/antd/src/fba-app/dialog-drawer/index.tsx","@flatbiz/antd/src/fba-app/dialog-loading/index.tsx","@flatbiz/antd/src/fba-app/fba-app.tsx","@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModalProps } from './dialog-modal';\n\nexport type FbaAppContextApi = {\n editable: boolean;\n dialogDrawerOpen?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose?: () => void;\n dialogModalOpen?: (data: FbaAppModalProps) => void;\n dialogModalClose?: () => void;\n\n dialogAlertOpen?: (data: FbaAppAlertProps) => void;\n dialogAlertClose?: () => void;\n\n dialogConfirmOpen?: (data: FbaAppConfirmProps) => void;\n dialogConfirmClose?: () => void;\n\n dialogLoadingOpen?: (data?: FbaAppLoadingProps & { open?: boolean }) => void;\n dialogLoadingClose?: () => void;\n};\n\nexport const FbaAppContext = createContext<FbaAppContextApi>({\n editable: false,\n});\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { ButtonWrapper, ButtonWrapperProps } from '@flatbiz/antd';\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps'\n> & {\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onClose?: () => void;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n};\n\nexport const FbaAppModal = (props: FbaAppModalProps) => {\n const {\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n bodyHeightPercent,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const size = useSize(document.querySelector('html'));\n\n const onClose = hooks.useCallbackRef(() => {\n props.onClose?.();\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || '取消'}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = footer || operateGroup;\n\n const height = useMemo(() => {\n if (!size?.height || !bodyHeightPercent) {\n return 'auto';\n }\n return size?.height * (bodyHeightPercent / 100);\n }, [bodyHeightPercent, size?.height]);\n\n return (\n <Modal\n maskClosable={true}\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n bodyStyle={{\n height,\n maxHeight: size?.height ? size?.height * 0.8 : 'calc(100vh - 200px)',\n ...otherProps.bodyStyle,\n }}\n className={classNames('fba-dialog-modal', className)}\n open={props.open}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { FbaAppModal, FbaAppModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport type FbaAppConfirmProps = FbaAppModalProps;\n\nexport const FbaAppConfirm = (props: FbaAppConfirmProps) => {\n const className = classNames('fba-dialog-confirm', props.className);\n return (\n <FbaAppModal\n okText=\"确定\"\n width={350}\n cancelText=\"取消\"\n maskClosable={true}\n {...props}\n className={className}\n />\n );\n};\n","import { FbaAppConfirm } from '../dialog-confirm';\nimport { FbaAppModalProps } from '../dialog-modal';\n\n// export type DialogAlertProps = Omit<\n// DialogModalProps,\n// 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n// > & {\n// onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n// };\n\n// export const dialogAlert = {\n// open: (props: DialogAlertProps) => {\n// return dialogConfirm.open({\n// okText: '确定',\n// cancelHidden: true,\n// maskClosable: false,\n// ...props,\n// onOk: props.onClick,\n// } as DialogModalProps);\n// },\n// };\n\nexport type FbaAppAlertProps = Omit<\n FbaAppModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const FbaAppAlert = (props: FbaAppAlertProps) => {\n return (\n <FbaAppConfirm\n okText=\"确定\"\n cancelHidden={true}\n maskClosable={false}\n {...props}\n onOk={(_form, e) => {\n return props.onClick?.(e);\n }}\n />\n );\n};\n","import { isPromise } from '@dimjs/lang';\nimport { ButtonWrapper, ButtonWrapperProps } from '@flatbiz/antd';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode } from 'react';\n\nexport type FbaAppDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: DrawerProps['onClose'] }) => ReactElement);\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nexport const FbaAppDrawer = (props: FbaAppDrawerProps) => {\n const {\n onOk,\n onCancel,\n content,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width = 600,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n\n const onClose = hooks.useCallbackRef((e) => {\n props.onClose?.(e);\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n return (\n <Drawer\n maskClosable={true}\n destroyOnClose\n onClose={onClose}\n width={'80%'}\n contentWrapperStyle={{ maxWidth: width }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={props.open}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport './style.less';\n\nexport type FbaAppLoadingProps = {\n className?: string;\n message?: string;\n mask?: boolean;\n};\n\nexport const FbaAppLoading = (props: FbaAppLoadingProps & { open?: boolean }) => {\n const { className, message, mask } = props;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('fba-dialog-loading', className)}\n open={props.open}\n footer={null}\n closable={false}\n style={{ '--fba-loading-color': colorPrimary } as CSSProperties}\n mask={mask}\n >\n <div className={classNames('fba-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{message || '处理中'}</div>\n </div>\n </div>\n </Modal>\n );\n};\n","import { ReactNode, useContext, useState } from 'react';\nimport { FbaAppContext, FbaAppContextApi } from './context';\nimport { FbaAppAlert, FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirm, FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawer, FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\n\nexport const useDialogDrawer = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose?.();\n };\n\n return {\n appDialogDrawer: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const useDialogModal = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose?.();\n };\n\n return {\n appDialogModal: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const useDialogAlert = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogAlertClose?.();\n };\n\n return {\n appDialogAlert: {\n open: (data: FbaAppAlertProps) => {\n ctx.dialogAlertOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\nexport const useDialogConfirm = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogConfirmClose?.();\n };\n\n return {\n appDialogConfirm: {\n open: (data: FbaAppConfirmProps) => {\n ctx.dialogConfirmOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\nexport const useDialogLoading = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogLoadingClose?.();\n };\n\n return {\n appDialogLoading: {\n open: (data?: FbaAppLoadingProps) => {\n ctx.dialogLoadingOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const FbaApp = (props: { children: ReactNode }) => {\n const [drawerProps, setDrawerProps] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [modalProps, setModalProps] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [alertProps, setAlertProps] = useState<FbaAppAlertProps>({} as FbaAppAlertProps);\n const [confirmProps, setConfirmProps] = useState<FbaAppConfirmProps>({} as FbaAppConfirmProps);\n const [loadingProps, setLoadingProps] = useState<FbaAppLoadingProps>();\n\n const dialogDrawerOpen: FbaAppContextApi['dialogDrawerOpen'] = (data) => {\n setDrawerProps(data);\n };\n\n const dialogDrawerClose = () => {\n setDrawerProps({ ...drawerProps, open: false } as FbaAppDrawerProps);\n };\n\n const dialogModalOpen: FbaAppContextApi['dialogModalOpen'] = (data) => {\n setModalProps(data);\n };\n\n const dialogModalClose = () => {\n setModalProps({ ...drawerProps, open: false } as FbaAppModalProps);\n };\n\n const dialogAlertOpen: FbaAppContextApi['dialogAlertOpen'] = (data) => {\n setAlertProps(data);\n };\n\n const dialogAlertClose = () => {\n setAlertProps({ ...drawerProps, open: false } as FbaAppAlertProps);\n };\n\n const dialogConfirmOpen: FbaAppContextApi['dialogConfirmOpen'] = (data) => {\n setConfirmProps(data);\n };\n\n const dialogConfirmClose = () => {\n setConfirmProps({ ...drawerProps, open: false } as FbaAppConfirmProps);\n };\n\n const dialogLoadingOpen: FbaAppContextApi['dialogLoadingOpen'] = (data) => {\n setLoadingProps(data);\n };\n\n const dialogLoadingClose = () => {\n setLoadingProps({ ...drawerProps, open: false } as FbaAppLoadingProps);\n };\n\n return (\n <FbaAppContext.Provider\n value={{\n editable: true,\n dialogDrawerOpen,\n dialogDrawerClose,\n dialogModalOpen,\n dialogModalClose,\n dialogAlertOpen,\n dialogAlertClose,\n dialogConfirmOpen,\n dialogConfirmClose,\n dialogLoadingOpen,\n dialogLoadingClose,\n }}\n >\n <FbaAppDrawer {...drawerProps} onClose={dialogDrawerClose}></FbaAppDrawer>\n <FbaAppModal {...modalProps} onClose={dialogModalClose}></FbaAppModal>\n <FbaAppAlert {...alertProps} onClose={dialogAlertClose}></FbaAppAlert>\n <FbaAppConfirm {...confirmProps} onClose={dialogConfirmClose}></FbaAppConfirm>\n <FbaAppLoading {...loadingProps}></FbaAppLoading>\n {props.children}\n </FbaAppContext.Provider>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport {\n FbaApp as FbaAppInner,\n useDialogAlert,\n useDialogConfirm,\n useDialogDrawer,\n useDialogLoading,\n useDialogModal,\n} from './fba-app';\n\nexport const FbaApp = fbaUtils.attachPropertiesToComponent(FbaAppInner, {\n useDialogDrawer,\n useDialogModal,\n useDialogConfirm,\n useDialogAlert,\n useDialogLoading,\n});\n"],"names":["FbaAppContext","createContext","editable","FbaAppModal","props","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","size","useSize","document","querySelector","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","footerNew","height","useMemo","Modal","maskClosable","centered","destroyOnClose","bodyStyle","maxHeight","_classNames","open","FbaAppConfirm","width","FbaAppAlert","_form","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","_props$width","extra","_jsxs","Space","operateRenderHandle","extraRender","Drawer","contentWrapperStyle","maxWidth","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","data","dialogDrawerOpen","close","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","_useState","useState","drawerProps","setDrawerProps","_useState2","modalProps","setModalProps","_useState3","alertProps","setAlertProps","_useState4","confirmProps","setConfirmProps","_useState5","loadingProps","setLoadingProps","Provider","value","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/index.tsx","@flatbiz/antd/src/fba-app/dialog-confirm/index.tsx","@flatbiz/antd/src/fba-app/dialog-alert/index.tsx","@flatbiz/antd/src/fba-app/dialog-drawer/index.tsx","@flatbiz/antd/src/fba-app/dialog-loading/index.tsx","@flatbiz/antd/src/fba-app/fba-app.tsx","@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModalProps } from './dialog-modal';\n\nexport type FbaAppContextApi = {\n editable: boolean;\n dialogDrawerOpen?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose?: () => void;\n dialogModalOpen?: (data: FbaAppModalProps) => void;\n dialogModalClose?: () => void;\n\n dialogAlertOpen?: (data: FbaAppAlertProps) => void;\n dialogAlertClose?: () => void;\n\n dialogConfirmOpen?: (data: FbaAppConfirmProps) => void;\n dialogConfirmClose?: () => void;\n\n dialogLoadingOpen?: (data?: FbaAppLoadingProps & { open?: boolean }) => void;\n dialogLoadingClose?: () => void;\n};\n\nexport const FbaAppContext = createContext<FbaAppContextApi>({\n editable: false,\n});\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { ButtonWrapper, ButtonWrapperProps } from '@flatbiz/antd';\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps'\n> & {\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onClose?: () => void;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n};\n\nexport const FbaAppModal = (props: FbaAppModalProps) => {\n const {\n titleExtra,\n title,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n bodyHeightPercent,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const size = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n\n const onClose = hooks.useCallbackRef(() => {\n props.onClose?.();\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || localMessage.FbaDialogModal?.cancelText}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = footer || operateGroup;\n\n const height = useMemo(() => {\n if (!size?.height || !bodyHeightPercent) {\n return 'auto';\n }\n return size?.height * (bodyHeightPercent / 100);\n }, [bodyHeightPercent, size?.height]);\n\n return (\n <Modal\n maskClosable={true}\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n bodyStyle={{\n height,\n maxHeight: size?.height ? size?.height * 0.8 : 'calc(100vh - 200px)',\n ...otherProps.bodyStyle,\n }}\n className={classNames('fba-dialog-modal', { 'fba-dialog-modal-title-extra': !!titleExtra }, className)}\n open={props.open}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { FbaAppModal, FbaAppModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport type FbaAppConfirmProps = FbaAppModalProps;\n\nexport const FbaAppConfirm = (props: FbaAppConfirmProps) => {\n const className = classNames('fba-dialog-confirm', props.className);\n return (\n <FbaAppModal\n okText=\"确定\"\n width={350}\n cancelText=\"取消\"\n maskClosable={true}\n {...props}\n className={className}\n />\n );\n};\n","import { FbaAppConfirm } from '../dialog-confirm';\nimport { FbaAppModalProps } from '../dialog-modal';\n\n// export type DialogAlertProps = Omit<\n// DialogModalProps,\n// 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n// > & {\n// onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n// };\n\n// export const dialogAlert = {\n// open: (props: DialogAlertProps) => {\n// return dialogConfirm.open({\n// okText: '确定',\n// cancelHidden: true,\n// maskClosable: false,\n// ...props,\n// onOk: props.onClick,\n// } as DialogModalProps);\n// },\n// };\n\nexport type FbaAppAlertProps = Omit<\n FbaAppModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const FbaAppAlert = (props: FbaAppAlertProps) => {\n return (\n <FbaAppConfirm\n okText=\"确定\"\n cancelHidden={true}\n maskClosable={false}\n {...props}\n onOk={(_form, e) => {\n return props.onClick?.(e);\n }}\n />\n );\n};\n","import { isPromise } from '@dimjs/lang';\nimport { ButtonWrapper, ButtonWrapperProps } from '@flatbiz/antd';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode } from 'react';\n\nexport type FbaAppDrawerProps = Omit<\n DrawerProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'footer' | 'extra'\n> & {\n okText?: string | ReactElement;\n cancelText?: string | ReactElement;\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: DrawerProps['onClose'] }) => ReactElement);\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nexport const FbaAppDrawer = (props: FbaAppDrawerProps) => {\n const {\n onOk,\n onCancel,\n content,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width = 600,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n\n const onClose = hooks.useCallbackRef((e) => {\n props.onClose?.(e);\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n return (\n <Drawer\n maskClosable={true}\n destroyOnClose\n onClose={onClose}\n width={'80%'}\n contentWrapperStyle={{ maxWidth: width }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={props.open}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport './style.less';\n\nexport type FbaAppLoadingProps = {\n className?: string;\n message?: string;\n mask?: boolean;\n};\n\nexport const FbaAppLoading = (props: FbaAppLoadingProps & { open?: boolean }) => {\n const { className, message, mask } = props;\n const { token } = theme.useToken();\n const colorPrimary = token.colorPrimary;\n\n return (\n <Modal\n maskClosable={false}\n centered={true}\n destroyOnClose\n className={classNames('fba-dialog-loading', className)}\n open={props.open}\n footer={null}\n closable={false}\n style={{ '--fba-loading-color': colorPrimary } as CSSProperties}\n mask={mask}\n >\n <div className={classNames('fba-dialog-loading-content')}>\n <div className=\"loader-wrapper\">\n <div className=\"loader-inner\" />\n <div className=\"loader-text\">{message || '处理中'}</div>\n </div>\n </div>\n </Modal>\n );\n};\n","import { ReactNode, useContext, useState } from 'react';\nimport { FbaAppContext, FbaAppContextApi } from './context';\nimport { FbaAppAlert, FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirm, FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawer, FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\n\nexport const useDialogDrawer = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose?.();\n };\n\n return {\n appDialogDrawer: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const useDialogModal = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose?.();\n };\n\n return {\n appDialogModal: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const useDialogAlert = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogAlertClose?.();\n };\n\n return {\n appDialogAlert: {\n open: (data: FbaAppAlertProps) => {\n ctx.dialogAlertOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\nexport const useDialogConfirm = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogConfirmClose?.();\n };\n\n return {\n appDialogConfirm: {\n open: (data: FbaAppConfirmProps) => {\n ctx.dialogConfirmOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\nexport const useDialogLoading = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogLoadingClose?.();\n };\n\n return {\n appDialogLoading: {\n open: (data?: FbaAppLoadingProps) => {\n ctx.dialogLoadingOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const FbaApp = (props: { children: ReactNode }) => {\n const [drawerProps, setDrawerProps] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [modalProps, setModalProps] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [alertProps, setAlertProps] = useState<FbaAppAlertProps>({} as FbaAppAlertProps);\n const [confirmProps, setConfirmProps] = useState<FbaAppConfirmProps>({} as FbaAppConfirmProps);\n const [loadingProps, setLoadingProps] = useState<FbaAppLoadingProps>();\n\n const dialogDrawerOpen: FbaAppContextApi['dialogDrawerOpen'] = (data) => {\n setDrawerProps(data);\n };\n\n const dialogDrawerClose = () => {\n setDrawerProps({ ...drawerProps, open: false } as FbaAppDrawerProps);\n };\n\n const dialogModalOpen: FbaAppContextApi['dialogModalOpen'] = (data) => {\n setModalProps(data);\n };\n\n const dialogModalClose = () => {\n setModalProps({ ...drawerProps, open: false } as FbaAppModalProps);\n };\n\n const dialogAlertOpen: FbaAppContextApi['dialogAlertOpen'] = (data) => {\n setAlertProps(data);\n };\n\n const dialogAlertClose = () => {\n setAlertProps({ ...drawerProps, open: false } as FbaAppAlertProps);\n };\n\n const dialogConfirmOpen: FbaAppContextApi['dialogConfirmOpen'] = (data) => {\n setConfirmProps(data);\n };\n\n const dialogConfirmClose = () => {\n setConfirmProps({ ...drawerProps, open: false } as FbaAppConfirmProps);\n };\n\n const dialogLoadingOpen: FbaAppContextApi['dialogLoadingOpen'] = (data) => {\n setLoadingProps(data);\n };\n\n const dialogLoadingClose = () => {\n setLoadingProps({ ...drawerProps, open: false } as FbaAppLoadingProps);\n };\n\n return (\n <FbaAppContext.Provider\n value={{\n editable: true,\n dialogDrawerOpen,\n dialogDrawerClose,\n dialogModalOpen,\n dialogModalClose,\n dialogAlertOpen,\n dialogAlertClose,\n dialogConfirmOpen,\n dialogConfirmClose,\n dialogLoadingOpen,\n dialogLoadingClose,\n }}\n >\n <FbaAppDrawer {...drawerProps} onClose={dialogDrawerClose}></FbaAppDrawer>\n <FbaAppModal {...modalProps} onClose={dialogModalClose}></FbaAppModal>\n <FbaAppAlert {...alertProps} onClose={dialogAlertClose}></FbaAppAlert>\n <FbaAppConfirm {...confirmProps} onClose={dialogConfirmClose}></FbaAppConfirm>\n <FbaAppLoading {...loadingProps}></FbaAppLoading>\n {props.children}\n </FbaAppContext.Provider>\n );\n};\n","import { fbaUtils } from '../fba-utils';\nimport {\n FbaApp as FbaAppInner,\n useDialogAlert,\n useDialogConfirm,\n useDialogDrawer,\n useDialogLoading,\n useDialogModal,\n} from './fba-app';\n\nexport const FbaApp = fbaUtils.attachPropertiesToComponent(FbaAppInner, {\n useDialogDrawer,\n useDialogModal,\n useDialogConfirm,\n useDialogAlert,\n useDialogLoading,\n});\n"],"names":["FbaAppContext","createContext","editable","FbaAppModal","props","_localMessage$FbaDial","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","size","useSize","document","querySelector","localMessage","getFbaLocaleMessage","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","footerNew","height","useMemo","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","bodyStyle","maxHeight","_classNames","open","FbaAppConfirm","width","FbaAppAlert","_form","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","_props$width","extra","Space","operateRenderHandle","extraRender","Drawer","contentWrapperStyle","maxWidth","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","data","dialogDrawerOpen","close","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","_useState","useState","drawerProps","setDrawerProps","_useState2","modalProps","setModalProps","_useState3","alertProps","setAlertProps","_useState4","confirmProps","setConfirmProps","_useState5","loadingProps","setLoadingProps","Provider","value","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":"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"}
|
package/esm/fba-hooks/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
import './index.css';
|
|
3
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
|
-
import{_ as r}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{isArray as e}from"@dimjs/lang/cjs/is-array";import{hooks as n}from"@wove/react/cjs/hooks";import{useRef as t,useEffect as u,useState as c}from"react";import{u as
|
|
4
|
+
import{_ as r}from"../_rollupPluginBabelHelpers-fc015ef2.js";import{isArray as e}from"@dimjs/lang/cjs/is-array";import{hooks as n}from"@wove/react/cjs/hooks";import{useRef as t,useEffect as u,useMemo as o,useState as c}from"react";import{u as a}from"../use-responsive-point-21b8c601.js";import{theme as i}from"antd";var s=function u(o,c){if(c===void 0){c=true}var a=t(o);var i=n.useForceUpdate();var s={add:n.useCallbackRef((function(r,n){if(n){var t=e(r)?r:[r];a.current=[].concat(t,a.current)}else{a.current=a.current.concat(r)}c&&i()})),update:n.useCallbackRef((function(e,n){var t=a.current[e];if(t){a.current[e]=r({},t,n)}c&&i()})),delete:n.useCallbackRef((function(r){var e=a.current.splice(r,1);c&&i();return e})),resetList:n.useCallbackRef((function(r){a.current=r;c&&i()})),getList:n.useCallbackRef((function(){return a.current}))};return[a.current,s]};var f=function r(e,n){return u(e,n)};var v=function r(e,n){u((function(){function r(){return new Promise((function(r,n){return Promise.resolve(e()).then((function(e){try{return r()}catch(r){return n(r)}}),n)}))}void r()}),n)};var l=function r(e,n){return o(e,n)};var m=function r(e,n){return!Object.is(e,n)};function p(r,e){if(e===void 0){e=m}var n=t();var u=t();if(e(u.current,r)){n.current=u.current;u.current=r}return n.current}var d=function r(e){var t=c(e),u=t[0],o=t[1];var a=n.useIsMounted();return[u,function(r){if(a.current){return o(r)}}]};var k=function r(){var e=i.useToken(),n=e.token;return n};var C={useEffectCustom:f,useEffectCustomAsync:v,useThemeToken:k,useArrayChange:s,usePrevious:p,useResponsivePoint:a,useSafeState:d,useMemoCustom:l};export{C as fbaHooks};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|