@flatbiz/antd 4.2.62 → 4.2.63

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.
Files changed (34) hide show
  1. package/esm/button-operate/index.js +1 -1
  2. package/esm/{button-operate-d3b2e543.js → button-operate-d00df6c9.js} +2 -2
  3. package/esm/{button-operate-d3b2e543.js.map → button-operate-d00df6c9.js.map} +1 -1
  4. package/esm/{cell-render-0b27a14b.js → cell-render-4934a7de.js} +2 -2
  5. package/esm/{cell-render-0b27a14b.js.map → cell-render-4934a7de.js.map} +1 -1
  6. package/esm/create-drawer-wrapper-model/index.js.map +1 -1
  7. package/esm/create-modal-wrapper-model/index.js.map +1 -1
  8. package/esm/dropdown-menu-wrapper/index.js +1 -1
  9. package/esm/{dropdown-menu-wrapper-2b4fc43d.js → dropdown-menu-wrapper-3a565fd8.js} +2 -2
  10. package/esm/dropdown-menu-wrapper-3a565fd8.js.map +1 -0
  11. package/esm/easy-table/index.js +1 -1
  12. package/esm/easy-table/index.js.map +1 -1
  13. package/esm/editable-table/index.js +1 -1
  14. package/esm/{editable-table-c17d96ed.js → editable-table-db8a14a4.js} +2 -2
  15. package/esm/{editable-table-c17d96ed.js.map → editable-table-db8a14a4.js.map} +1 -1
  16. package/esm/index.js +1 -1
  17. package/esm/input-wrapper/index.js +1 -1
  18. package/esm/input-wrapper-43f801ff.js +3 -0
  19. package/esm/input-wrapper-43f801ff.js.map +1 -0
  20. package/esm/pagination-0e66a3b5.js.map +1 -1
  21. package/esm/rich-text-editor/index.js +1 -1
  22. package/esm/{rich-text-editor-c8bac6d2.js → rich-text-editor-213daa34.js} +2 -2
  23. package/esm/rich-text-editor-213daa34.js.map +1 -0
  24. package/esm/rich-text-viewer/index.js +1 -1
  25. package/esm/{rich-text-viewer-239491ee.js → rich-text-viewer-4a859351.js} +2 -2
  26. package/esm/{rich-text-viewer-239491ee.js.map → rich-text-viewer-4a859351.js.map} +1 -1
  27. package/esm/table-cell-render/index.js +1 -1
  28. package/esm/tree-wrapper/index.js +1 -1
  29. package/index.d.ts +10 -15
  30. package/package.json +1 -1
  31. package/esm/dropdown-menu-wrapper-2b4fc43d.js.map +0 -1
  32. package/esm/input-wrapper-b378eb5a.js +0 -3
  33. package/esm/input-wrapper-b378eb5a.js.map +0 -1
  34. package/esm/rich-text-editor-c8bac6d2.js.map +0 -1
@@ -12,5 +12,5 @@ import './../flex-layout/index.css';
12
12
  import './../input-search-wrapper/index.css';
13
13
  import './index.css';
14
14
  /*! @flatjs/forge MIT @flatbiz/antd */
15
- import{f as e}from"../fba-utils-f9e11d02.js";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{Model as t}from"@dimjs/model-react";import{treeToArray as n,treeToTiledArray as a,treeLeafParentsArray as i,isUndefinedOrNull as l,treeFilter as s}from"@flatbiz/utils";import o from"@ant-design/icons/es/icons/CaretDownFilled";import u from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as c}from"@dimjs/utils/cjs/class-names";import{extend as d}from"@dimjs/utils/cjs/extend";import{hooks as v}from"@wove/react/cjs/hooks";import{_ as f,a as p}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as m}from"@dimjs/model";import{Spin as h,Tree as g,Button as b,message as y}from"antd";import{forwardRef as L,useState as j,useMemo as w,useRef as C,useImperativeHandle as R,Fragment as N,isValidElement as q}from"react";import{a as k}from"../button-operate-d3b2e543.js";import{D as S}from"../dropdown-menu-wrapper-2b4fc43d.js";import{fbaHooks as T}from"../fba-hooks/index.js";import{I as P}from"../input-search-wrapper-10d4a9b9.js";import{R as D}from"../request-status-03fc60e2.js";import{tree as x}from"@dimjs/utils/cjs/tree";import{isObject as E}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as A,jsx as I}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"../button-wrapper-125fce50.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper-dfe8f592.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"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm-74fc9337.js";import"../dialog-modal-4a0c72c5.js";import"ahooks";import"react-dom/client";import"../flex-layout-8d2b668b.js";import"../use-responsive-point-21b8c601.js";var _={treeList:[],treeTiledArray:[],queryIsEmpty:false};var O={actions:{setTreeList:function e(r){return function(e){e.treeList=r.treeList||[];e.treeTiledArray=n(e.treeList,r.childrenName);e.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r;if(r==="request-error"){e.treeList=[]}}},treeListAppendChildren:function e(t){return function(e){var a=n(e.treeList,t.childrenName);var i=a.find((function(e){return e[t.valueName]===t.value}));if(i){if(r(t.appendList)&&t.appendList.length>0){i[t.childrenName]=t.appendList}else{i.isLeaf=true}}e.treeTiledArray=n(e.treeList,t.childrenName)}}},state:_};var V={};var F=function e(r){if(!V[r]){V[r]=t(O)}return V[r]};var K=function e(r){var t=F(r).getState();return t.treeList};var M=function e(r,t,n){var l=a(t,n);return i(r,l,true,{value:"value",parentValue:"parentValue"})};var U=function e(t,n){var a=l(t)?[]:t;a=r(a)?a:[a];a=a.map((function(e){if(E(e))return e[n.value];return e}));return a};var z=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var s=n.dropPosition-Number(l[l.length-1]);var o=t.value;var u=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][o]===t){return n(r[a],a,r)}if(r[a][u]){e(r[a][u],t,n)}}};var d=m(r);var v;c(d,i,(function(e,r,t){t.splice(r,1);v=e}));if(!n.dropToGap){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(v)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(v)}))}else{var f=[];var p;c(d,a,(function(e,r,t){f=t;p=r}));if(s===-1){f.splice(p,0,v)}else{f.splice(p+1,0,v)}}return{dataList:d,dragNodeData:B(i,d,t)}};var B=function e(r,t,a){var i;var l=a.value;var s=a.children;x.walkThroughTree((i={},i[l]=undefined,i[s]=t,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var o=n(t,s);var u=o.find((function(e){return e[l]===r}));return{parentId:u==null?void 0:u["__parentId"],id:u==null?void 0:u[l],index:u==null?void 0:u["__index"]}};var H=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className","defaultExpandAll","menus"];var Y=L((function(e,t){var i=e.style,L=e.serviceConfig,x=e.effectDependencyList,E=e.selectorTreeList,_=e.value,O=e.onChange,V=e.modelKey,K=e.checkableResponseParentNode,B=K===void 0?true:K,Y=e.checkable,G=e.onSelectorTreeListChange,W=e.onRequestResponseChange,J=e.treeItemDataAdapter,Q=e.searchValue,X=e.showSearch,Z=e.searchPlaceholder,$=e.requestMessageConfig,ee=e.labelInValueFieldNames,re=e.labelInValue,te=e.disabledCanUse,ne=e.menuLayoutType,ae=e.menuTriggerType,ie=e.initRootExpand,le=e.searchResultType,se=e.onDropNodeHandle,oe=e.onDropPrev,ue=e.labelRender,ce=e.searchStyle,de=e.className,ve=e.defaultExpandAll,fe=e.menus,pe=f(e,H);var me=e.hasOwnProperty("selectorTreeList");var he=L||{};var ge=x||[];var be=j([]),ye=be[0],Le=be[1];var je=F(V).useStore(),we=je[0],Ce=je[1];var Re=T.useSafeState(false),Ne=Re[0],qe=Re[1];var ke="request-progress-"+e.modelKey;var Se=w((function(){return p({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Te=ne===undefined?"fold":ne;var Pe=ae===undefined?"click":ae;var De=C(true);var xe=w((function(){return p({label:"label",value:"value"},ee)}),[ee]);var Ee=j(),Ae=Ee[0],Ie=Ee[1];var _e=C();var Oe=w((function(){var e=U(_,xe);return e}),[xe,_]);T.useEffectCustom((function(){if(we.treeList.length>0){if(De.current){De.current=false;if(ve){var e=n(we.treeList,Se.children).map((function(e){return e[Se.value]}));Le(e);return}else if(ie&&we.treeList.length){Le([we.treeList[0][Se.value]]);return}}if(!l(_)){var r=Ue(Oe,true);Le(Array.from(new Set(ye==null?void 0:ye.concat(r))))}}}),[_,we.treeList,Oe]);var Ve=function e(r){return r===""||l(r)};var Fe=function e(r){var t=he.onRequestResultAdapter?he.onRequestResultAdapter(r):r;return t};T.useEffectCustom((function(){Ie(Q)}),[Q]);var Ke=v.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l,s;var o=function(){try{return e()}catch(e){return r(e)}};var u=function(e){try{De.current=false;qe(false);void y.error(e.message||"数据查询异常...");return o()}catch(e){return r(e)}};try{if(!he.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=he.requiredParamsKeys;n=d({},he.params);if(t){a=t.find((function(e){return Ve(n[e])}));if(a){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return o()}catch(e){return u(e)}};var v=function(e){try{window[ke]=false;qe(false);void Ce.changeRequestStatus("request-error");return c()}catch(e){return u(e)}};try{qe(true);return Promise.resolve(Ce.changeRequestStatus("request-progress")).then((function(e){try{window[ke]=true;return Promise.resolve(he.onRequest==null?void 0:he.onRequest(n)).then((function(e){try{i=e;W==null?void 0:W(i);l=Fe(i);s=l||[];if(s.length===0){De.current=false}Me(s);qe(false);window[ke]=false;return c()}catch(e){return v(e)}}),v)}catch(e){return v(e)}}),v)}catch(e){v(e)}}catch(e){u(e)}}))}));T.useEffectCustom((function(){if(me)return;if(Boolean(ge.length)){void Ke();return}var e=F(V).getState();if(e.requestStatus==="request-success"){G==null?void 0:G(e.treeList);return}if(!window[ke]){void Ke()}else{G==null?void 0:G(e.treeList)}}),ge);T.useEffectCustom((function(){if(me){Me(E||[])}}),[E]);var Me=v.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&we.treeList.length===0){void Ce.changeRequestStatus("request-success");return}void Ce.setTreeList({treeList:e||[],childrenName:Se.children});G==null?void 0:G(e)}));var Ue=function e(r,t){var n=[];r.forEach((function(e){if(!t&&ye!=null&&ye.includes(e))return;var r=M(e,we.treeList,Se);n=n.concat(r.map((function(e){return e.value})))}));return n};v.useUpdateEffect((function(){if(Ae){var e=a(we.treeList||[],Se);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(Ae||"")}));Le((function(e){var t=Ue(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{Le([])}}),[Ae]);R(t,(function(){return{onClearSelectorList:function e(){void Ce.resetTreeList()},getTreeDataList:function e(){return we.treeList}}}));var ze=v.useCallbackRef((function(e){Le(e)}));var Be=v.useCallbackRef((function(e,t,n){_e.current=e;var a=l(t)?[]:r(t)?t:[t];if(l(e)){O==null?void 0:O(e,t,n);return}if(re){var i=xe.label;var s=xe.value;var o=a.map((function(e){var r;return r={},r[i]=e[Se.label],r[s]=e[Se.value],r}));if(r(e)){O==null?void 0:O(o,a,n)}else{O==null?void 0:O(o[0],a[0],n)}}else{if(r(e)){O==null?void 0:O(e,a,n)}else{O==null?void 0:O(e,a[0],n)}}}));var He=v.useCallbackRef((function(t,n){var a=e.checkStrictly?t.checked:t;a=l(t)?[]:t;a=r(a)?a:[a];var i=[];var s=[];var o=[];var u=[];a.forEach((function(e){var t=we.treeTiledArray.find((function(r){return r[Se.value]===e}));if(!t)return;var n=t==null?void 0:t[Se.children];if(!r(n)||n.length===0){i.push(t);s.push(t[Se.value])}o.push(t);u.push(t[Se.value])}));if(Y){Le((function(e){var r=Ue(s).concat(e||[]);return Array.from(new Set(r))}));if(!B&&!e.checkStrictly){Be(s,i,o)}else{Be(u,o,o)}}else{if(a[0]){var c=o.find((function(e){return e[Se.value]===a[0]}));Be(a[0],c,[c])}else{var d=n.node[Se.value];var v=we.treeTiledArray.find((function(e){return e[Se.value]===d}));Be(undefined,v,[v])}}}));var Ye=v.useCallbackRef((function(e){return J==null?void 0:J(e)}));var Ge=w((function(){var e=m(we.treeList||[]);if(Ae&&le!=="highlight"){return s(m(we.treeList||[]),(function(e){var r;var t=(r=e[Se.label])==null?void 0:r.toLowerCase();return t.indexOf(Ae.toLowerCase())>=0}),{childrenName:Se.children})}return e}),[Se.children,Se.label,le,we.treeList,Ae]);var We=w((function(){var e=function e(t){return t==null?void 0:t.map((function(t){var n;var a=(Ye==null?void 0:Ye(t))||t;var i=te?undefined:a.disabled;var l=a[Se.label];var s;if(Ae){var o=l.indexOf(Ae);var u=l.substring(0,o);var d=l.slice(o+Ae.length);s=o>-1?A("span",{className:c({"v-tree-item-disabled":a.disabled}),children:[u,I("span",{className:"site-tree-search-value",children:Ae}),d]}):null}if(!s){s=I("span",{className:c({"v-tree-item-disabled":a.disabled}),children:l})}var v=a[Se.children];return p({},a,(n={disabled:i},n[Se.label]=s,n._treeItemName=l,n._disabled=a.disabled,n[Se.children]=r(v)&&v.length>0?e(v):undefined,n))}))};return e(Ge)}),[Ge,Ye,te,Se.label,Se.children,Ae]);var Je=v.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,o,u;if(r[Se.children]){t();return a()}var c=function(){try{return a()}catch(e){return i(e)}};var d=function(e){try{void y.error(e.message||"数据加载异常...");n();return c()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null?void 0:l.onRequest==null?void 0:l.onRequest((s=e.loadDataServiceConfig)==null?void 0:s.getParams==null?void 0:s.getParams(r))).then((function(e){try{o=e;u=he.onRequestResultAdapter?he.onRequestResultAdapter(o):o;void Ce.treeListAppendChildren({value:r[Se.value],appendList:u,childrenName:Se.children,valueName:Se.value}).then((function(e){Me(e.treeList);t()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var Qe=v.useCallbackRef((function(r){var t=r==null?void 0:r[Se.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var Xe=v.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[Se.label];var l=fe==null?void 0:fe(p({},r,(t={},t[Se.label]=i,t)));if(l){return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[Se.label])}),I(k,p({gap:5},l,{dropdownMenuProps:p({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:c("tree-item-title-operate",l.className)}))]})}if(Te==="fold"){var s;var o=[];if((s=e.menuOptions)!=null&&s.fold){var d,v,f;o=((d=e.menuOptions)==null?void 0:(v=d[Te])==null?void 0:v.call(d,p({},r,(f={},f[Se.label]=i,f))))||[]}else{var m;o=(e.getMenuOptions==null?void 0:e.getMenuOptions(p({},r,(m={},m[Se.label]=i,m))))||[]}return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[Se.label])}),o.length>0&&I(S,{menuList:o,placement:"bottomRight",children:I(u,{})})]})}var h=(n=e.menuOptions)==null?void 0:n.tile==null?void 0:n.tile(p({},r,(a={},a[Se.label]=i,a)));return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[Se.label])}),h?I(k,p({gap:5},h,{className:c("tree-item-title-operate",h.className)})):null]})}));var Ze=v.useDebounceCallback((function(r){Ie(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var $e=v.useCallbackRef((function(e){Ze(e.target.value)}));var er=v.useCallbackRef((function(r){if(!e.icon)return null;if(q(e.icon))return e.icon;var t=Qe(r.data);return e.icon(p({},r,{isParent:!t,isLeaf:t}))}));var rr=w((function(){return{title:Se.label,key:Se.value,children:Se.children}}),[Se]);var tr=We.length>0&&we.requestStatus!=="request-error";var nr=p({showLine:{showLeafIcon:false},titleRender:Xe,blockNode:true,switcherIcon:I(o,{}),onDrop:function e(r){if(oe){var t=oe(r);if(!t)return}var n=z(Ge,Se,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);Me(a)},expandedKeys:ye},pe,{fieldNames:rr,treeData:We,onExpand:ze,loadData:e.loadDataFlag?Je:undefined,style:{width:"100%"},icon:er});var ar={onCheck:He,checkable:Y,checkedKeys:Oe};var ir={onSelect:He,multiple:false,selectedKeys:Oe};var lr=Y?ar:ir;var sr=c("v-tree-wrapper","v-tree-wrapper-menu-"+Pe,de);var or=we.treeList.length>0&&!tr&&Ae;return A("div",{className:sr,style:i,children:[!!X&&A("div",{className:"v-tree-wrapper-search-area",style:ce,children:[I(P,{className:"v-tree-wrapper-search",placeholder:Z,onChange:$e,value:Q,allowClear:true}),!!e.searchExtraElement&&I("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),tr?A("div",{className:"v-tree-wrapper-tree-wrapper",children:[I(h,{spinning:we.requestStatus==="request-progress"}),I(g,p({},lr,nr,{className:"v-tree-wrapper-tree"}))]}):I(D,{status:we.requestStatus,loading:Ne,messageConfig:p({"request-success":or?"搜索结果为空":"暂无数据"},$),errorButton:I(b,{type:"primary",onClick:Ke,children:"重新获取数据"})})]})}));Y.defaultProps={disabledCanUse:true};var G=e.attachPropertiesToComponent(Y,{getTreeDataList:K});export{G as TreeWrapper};
15
+ import{f as e}from"../fba-utils-f9e11d02.js";import{isArray as r}from"@dimjs/lang/cjs/is-array";import{Model as t}from"@dimjs/model-react";import{treeToArray as n,treeToTiledArray as a,treeLeafParentsArray as i,isUndefinedOrNull as l,treeFilter as s}from"@flatbiz/utils";import o from"@ant-design/icons/es/icons/CaretDownFilled";import u from"@ant-design/icons/es/icons/MoreOutlined";import{classNames as c}from"@dimjs/utils/cjs/class-names";import{extend as d}from"@dimjs/utils/cjs/extend";import{hooks as v}from"@wove/react/cjs/hooks";import{_ as f,a as p}from"../_rollupPluginBabelHelpers-1f4d8910.js";import{cloneState as m}from"@dimjs/model";import{Spin as h,Tree as g,Button as b,message as y}from"antd";import{forwardRef as L,useState as j,useMemo as w,useRef as C,useImperativeHandle as R,Fragment as N,isValidElement as q}from"react";import{a as k}from"../button-operate-d00df6c9.js";import{D as S}from"../dropdown-menu-wrapper-3a565fd8.js";import{fbaHooks as T}from"../fba-hooks/index.js";import{I as P}from"../input-search-wrapper-10d4a9b9.js";import{R as D}from"../request-status-03fc60e2.js";import{tree as x}from"@dimjs/utils/cjs/tree";import{isObject as E}from"@dimjs/lang/cjs/is-object";import"dequal";import{jsxs as A,jsx as I}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"../button-wrapper-125fce50.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../config-provider-wrapper-dfe8f592.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"@ant-design/icons/es/icons/ExclamationCircleFilled";import"../dialog-confirm-74fc9337.js";import"../dialog-modal-4a0c72c5.js";import"ahooks";import"react-dom/client";import"../flex-layout-8d2b668b.js";import"../use-responsive-point-21b8c601.js";var _={treeList:[],treeTiledArray:[],queryIsEmpty:false};var O={actions:{setTreeList:function e(r){return function(e){e.treeList=r.treeList||[];e.treeTiledArray=n(e.treeList,r.childrenName);e.requestStatus="request-success"}},resetTreeList:function e(){return function(e){e.treeList=[]}},changeRequestStatus:function e(r){return function(e){e.requestStatus=r;if(r==="request-error"){e.treeList=[]}}},treeListAppendChildren:function e(t){return function(e){var a=n(e.treeList,t.childrenName);var i=a.find((function(e){return e[t.valueName]===t.value}));if(i){if(r(t.appendList)&&t.appendList.length>0){i[t.childrenName]=t.appendList}else{i.isLeaf=true}}e.treeTiledArray=n(e.treeList,t.childrenName)}}},state:_};var V={};var F=function e(r){if(!V[r]){V[r]=t(O)}return V[r]};var K=function e(r){var t=F(r).getState();return t.treeList};var M=function e(r,t,n){var l=a(t,n);return i(r,l,true,{value:"value",parentValue:"parentValue"})};var U=function e(t,n){var a=l(t)?[]:t;a=r(a)?a:[a];a=a.map((function(e){if(E(e))return e[n.value];return e}));return a};var z=function e(r,t,n){var a=n.node.key;var i=n.dragNode.key;var l=n.node.pos.split("-");var s=n.dropPosition-Number(l[l.length-1]);var o=t.value;var u=t.children;var c=function e(r,t,n){for(var a=0;a<r.length;a++){if(r[a][o]===t){return n(r[a],a,r)}if(r[a][u]){e(r[a][u],t,n)}}};var d=m(r);var v;c(d,i,(function(e,r,t){t.splice(r,1);v=e}));if(!n.dropToGap){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(v)}))}else if((n.node.props.children||[]).length>0&&n.node.props.expanded&&s===1){c(d,a,(function(e){e[u]=e[u]||[];e[u].unshift(v)}))}else{var f=[];var p;c(d,a,(function(e,r,t){f=t;p=r}));if(s===-1){f.splice(p,0,v)}else{f.splice(p+1,0,v)}}return{dataList:d,dragNodeData:B(i,d,t)}};var B=function e(r,t,a){var i;var l=a.value;var s=a.children;x.walkThroughTree((i={},i[l]=undefined,i[s]=t,i),(function(e,r,t){e["__index"]=r;e["__parentId"]=t==null?void 0:t[l]}),s);var o=n(t,s);var u=o.find((function(e){return e[l]===r}));return{parentId:u==null?void 0:u["__parentId"],id:u==null?void 0:u[l],index:u==null?void 0:u["__index"]}};var H=["style","serviceConfig","effectDependencyList","selectorTreeList","value","onChange","modelKey","checkableResponseParentNode","checkable","onSelectorTreeListChange","onRequestResponseChange","treeItemDataAdapter","searchValue","showSearch","searchPlaceholder","requestMessageConfig","labelInValueFieldNames","labelInValue","disabledCanUse","menuLayoutType","menuTriggerType","initRootExpand","searchResultType","onDropNodeHandle","onDropPrev","labelRender","searchStyle","className","defaultExpandAll","menus"];var Y=L((function(e,t){var i=e.style,L=e.serviceConfig,x=e.effectDependencyList,E=e.selectorTreeList,_=e.value,O=e.onChange,V=e.modelKey,K=e.checkableResponseParentNode,B=K===void 0?true:K,Y=e.checkable,G=e.onSelectorTreeListChange,W=e.onRequestResponseChange,J=e.treeItemDataAdapter,Q=e.searchValue,X=e.showSearch,Z=e.searchPlaceholder,$=e.requestMessageConfig,ee=e.labelInValueFieldNames,re=e.labelInValue,te=e.disabledCanUse,ne=e.menuLayoutType,ae=e.menuTriggerType,ie=e.initRootExpand,le=e.searchResultType,se=e.onDropNodeHandle,oe=e.onDropPrev,ue=e.labelRender,ce=e.searchStyle,de=e.className,ve=e.defaultExpandAll,fe=e.menus,pe=f(e,H);var me=e.hasOwnProperty("selectorTreeList");var he=L||{};var ge=x||[];var be=j([]),ye=be[0],Le=be[1];var je=F(V).useStore(),we=je[0],Ce=je[1];var Re=T.useSafeState(false),Ne=Re[0],qe=Re[1];var ke="request-progress-"+e.modelKey;var Se=w((function(){return p({label:"label",value:"value",children:"children"},e.fieldNames)}),[e.fieldNames]);var Te=ne===undefined?"fold":ne;var Pe=ae===undefined?"click":ae;var De=C(true);var xe=w((function(){return p({label:"label",value:"value"},ee)}),[ee]);var Ee=j(),Ae=Ee[0],Ie=Ee[1];var _e=C();var Oe=w((function(){var e=U(_,xe);return e}),[xe,_]);T.useEffectCustom((function(){if(we.treeList.length>0){if(De.current){De.current=false;if(ve){var e=n(we.treeList,Se.children).map((function(e){return e[Se.value]}));Le(e);return}else if(ie&&we.treeList.length){Le([we.treeList[0][Se.value]]);return}}if(!l(_)){var r=Ue(Oe,true);Le(Array.from(new Set(ye==null?void 0:ye.concat(r))))}}}),[_,we.treeList,Oe]);var Ve=function e(r){return r===""||l(r)};var Fe=function e(r){var t=he.onRequestResultAdapter?he.onRequestResultAdapter(r):r;return t};T.useEffectCustom((function(){Ie(Q)}),[Q]);var Ke=v.useCallbackRef((function(){return new Promise((function(e,r){var t,n,a,i,l,s;var o=function(){try{return e()}catch(e){return r(e)}};var u=function(e){try{De.current=false;qe(false);void y.error(e.message||"数据查询异常...");return o()}catch(e){return r(e)}};try{if(!he.onRequest){throw new Error("onRequest 调用接口服务不能为空")}t=he.requiredParamsKeys;n=d({},he.params);if(t){a=t.find((function(e){return Ve(n[e])}));if(a){console.warn("TreeWrapper组件:参数:"+t.join("、")+"不能为空");return e()}}var c=function(){try{return o()}catch(e){return u(e)}};var v=function(e){try{window[ke]=false;qe(false);void Ce.changeRequestStatus("request-error");return c()}catch(e){return u(e)}};try{qe(true);return Promise.resolve(Ce.changeRequestStatus("request-progress")).then((function(e){try{window[ke]=true;return Promise.resolve(he.onRequest==null?void 0:he.onRequest(n)).then((function(e){try{i=e;W==null?void 0:W(i);l=Fe(i);s=l||[];if(s.length===0){De.current=false}Me(s);qe(false);window[ke]=false;return c()}catch(e){return v(e)}}),v)}catch(e){return v(e)}}),v)}catch(e){v(e)}}catch(e){u(e)}}))}));T.useEffectCustom((function(){if(me)return;if(Boolean(ge.length)){void Ke();return}var e=F(V).getState();if(e.requestStatus==="request-success"){G==null?void 0:G(e.treeList);return}if(!window[ke]){void Ke()}else{G==null?void 0:G(e.treeList)}}),ge);T.useEffectCustom((function(){if(me){Me(E||[])}}),[E]);var Me=v.useCallbackRef((function(e){if((e==null?void 0:e.length)===0&&we.treeList.length===0){void Ce.changeRequestStatus("request-success");return}void Ce.setTreeList({treeList:e||[],childrenName:Se.children});G==null?void 0:G(e)}));var Ue=function e(r,t){var n=[];r.forEach((function(e){if(!t&&ye!=null&&ye.includes(e))return;var r=M(e,we.treeList,Se);n=n.concat(r.map((function(e){return e.value})))}));return n};v.useUpdateEffect((function(){if(Ae){var e=a(we.treeList||[],Se);var r=e.filter((function(e){var r;return(r=e.label)==null?void 0:r.includes(Ae||"")}));Le((function(e){var t=Ue(r.map((function(e){return e.value}))).concat(e||[]);return Array.from(new Set(t))}))}else{Le([])}}),[Ae]);R(t,(function(){return{onClearSelectorList:function e(){void Ce.resetTreeList()},getTreeDataList:function e(){return we.treeList}}}));var ze=v.useCallbackRef((function(e){Le(e)}));var Be=v.useCallbackRef((function(e,t,n){_e.current=e;var a=l(t)?[]:r(t)?t:[t];if(l(e)){O==null?void 0:O(e,t,n);return}if(re){var i=xe.label;var s=xe.value;var o=a.map((function(e){var r;return r={},r[i]=e[Se.label],r[s]=e[Se.value],r}));if(r(e)){O==null?void 0:O(o,a,n)}else{O==null?void 0:O(o[0],a[0],n)}}else{if(r(e)){O==null?void 0:O(e,a,n)}else{O==null?void 0:O(e,a[0],n)}}}));var He=v.useCallbackRef((function(t,n){var a=e.checkStrictly?t.checked:t;a=l(t)?[]:t;a=r(a)?a:[a];var i=[];var s=[];var o=[];var u=[];a.forEach((function(e){var t=we.treeTiledArray.find((function(r){return r[Se.value]===e}));if(!t)return;var n=t==null?void 0:t[Se.children];if(!r(n)||n.length===0){i.push(t);s.push(t[Se.value])}o.push(t);u.push(t[Se.value])}));if(Y){Le((function(e){var r=Ue(s).concat(e||[]);return Array.from(new Set(r))}));if(!B&&!e.checkStrictly){Be(s,i,o)}else{Be(u,o,o)}}else{if(a[0]){var c=o.find((function(e){return e[Se.value]===a[0]}));Be(a[0],c,[c])}else{var d=n.node[Se.value];var v=we.treeTiledArray.find((function(e){return e[Se.value]===d}));Be(undefined,v,[v])}}}));var Ye=v.useCallbackRef((function(e){return J==null?void 0:J(e)}));var Ge=w((function(){var e=m(we.treeList||[]);if(Ae&&le!=="highlight"){return s(m(we.treeList||[]),(function(e){var r;var t=(r=e[Se.label])==null?void 0:r.toLowerCase();return t.indexOf(Ae.toLowerCase())>=0}),{childrenName:Se.children})}return e}),[Se.children,Se.label,le,we.treeList,Ae]);var We=w((function(){var e=function e(t){return t==null?void 0:t.map((function(t){var n;var a=(Ye==null?void 0:Ye(t))||t;var i=te?undefined:a.disabled;var l=a[Se.label];var s;if(Ae){var o=l.indexOf(Ae);var u=l.substring(0,o);var d=l.slice(o+Ae.length);s=o>-1?A("span",{className:c({"v-tree-item-disabled":a.disabled}),children:[u,I("span",{className:"site-tree-search-value",children:Ae}),d]}):null}if(!s){s=I("span",{className:c({"v-tree-item-disabled":a.disabled}),children:l})}var v=a[Se.children];return p({},a,(n={disabled:i},n[Se.label]=s,n._treeItemName=l,n._disabled=a.disabled,n[Se.children]=r(v)&&v.length>0?e(v):undefined,n))}))};return e(Ge)}),[Ge,Ye,te,Se.label,Se.children,Ae]);var Je=v.useCallbackRef((function(r){return new Promise((function(t,n){return new Promise((function(a,i){var l,s,o,u;if(r[Se.children]){t();return a()}var c=function(){try{return a()}catch(e){return i(e)}};var d=function(e){try{void y.error(e.message||"数据加载异常...");n();return c()}catch(e){return i(e)}};try{return Promise.resolve((l=e.loadDataServiceConfig)==null?void 0:l.onRequest==null?void 0:l.onRequest((s=e.loadDataServiceConfig)==null?void 0:s.getParams==null?void 0:s.getParams(r))).then((function(e){try{o=e;u=he.onRequestResultAdapter?he.onRequestResultAdapter(o):o;void Ce.treeListAppendChildren({value:r[Se.value],appendList:u,childrenName:Se.children,valueName:Se.value}).then((function(e){Me(e.treeList);t()}));return c()}catch(e){return d(e)}}),d)}catch(e){d(e)}}))}))}));var Qe=v.useCallbackRef((function(r){var t=r==null?void 0:r[Se.children];var n=e.loadDataFlag;var a=n?!r.isLeaf:false;var i=t&&t.length>0||a;return!i}));var Xe=v.useCallbackRef((function(r){var t,n,a;var i=r._treeItemName||r[Se.label];var l=fe==null?void 0:fe(p({},r,(t={},t[Se.label]=i,t)));if(l){return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[Se.label])}),I(k,p({gap:5},l,{dropdownMenuProps:p({placement:"bottomRight",isFixed:true},l==null?void 0:l.dropdownMenuProps),className:c("tree-item-title-operate",l.className)}))]})}if(Te==="fold"){var s;var o=[];if((s=e.menuOptions)!=null&&s.fold){var d,v,f;o=((d=e.menuOptions)==null?void 0:(v=d[Te])==null?void 0:v.call(d,p({},r,(f={},f[Se.label]=i,f))))||[]}else{var m;o=(e.getMenuOptions==null?void 0:e.getMenuOptions(p({},r,(m={},m[Se.label]=i,m))))||[]}return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[Se.label])}),o.length>0&&I(S,{menuList:o,placement:"bottomRight",children:I(u,{})})]})}var h=(n=e.menuOptions)==null?void 0:n.tile==null?void 0:n.tile(p({},r,(a={},a[Se.label]=i,a)));return A(N,{children:[I("span",{className:"tree-item-title",children:(ue==null?void 0:ue(r))||(r==null?void 0:r[Se.label])}),h?I(k,p({gap:5},h,{className:c("tree-item-title-operate",h.className)})):null]})}));var Ze=v.useDebounceCallback((function(r){Ie(r);e.onSearchValueChange==null?void 0:e.onSearchValueChange(r)}),300);var $e=v.useCallbackRef((function(e){Ze(e.target.value)}));var er=v.useCallbackRef((function(r){if(!e.icon)return null;if(q(e.icon))return e.icon;var t=Qe(r.data);return e.icon(p({},r,{isParent:!t,isLeaf:t}))}));var rr=w((function(){return{title:Se.label,key:Se.value,children:Se.children}}),[Se]);var tr=We.length>0&&we.requestStatus!=="request-error";var nr=p({showLine:{showLeafIcon:false},titleRender:Xe,blockNode:true,switcherIcon:I(o,{}),onDrop:function e(r){if(oe){var t=oe(r);if(!t)return}var n=z(Ge,Se,r),a=n.dataList,i=n.dragNodeData;se==null?void 0:se(i);Me(a)},expandedKeys:ye},pe,{fieldNames:rr,treeData:We,onExpand:ze,loadData:e.loadDataFlag?Je:undefined,style:{width:"100%"},icon:er});var ar={onCheck:He,checkable:Y,checkedKeys:Oe};var ir={onSelect:He,multiple:false,selectedKeys:Oe};var lr=Y?ar:ir;var sr=c("v-tree-wrapper","v-tree-wrapper-menu-"+Pe,de);var or=we.treeList.length>0&&!tr&&Ae;return A("div",{className:sr,style:i,children:[!!X&&A("div",{className:"v-tree-wrapper-search-area",style:ce,children:[I(P,{className:"v-tree-wrapper-search",placeholder:Z,onChange:$e,value:Q,allowClear:true}),!!e.searchExtraElement&&I("span",{className:"v-tree-wrapper-search-extra",children:e.searchExtraElement})]}),tr?A("div",{className:"v-tree-wrapper-tree-wrapper",children:[I(h,{spinning:we.requestStatus==="request-progress"}),I(g,p({},lr,nr,{className:"v-tree-wrapper-tree"}))]}):I(D,{status:we.requestStatus,loading:Ne,messageConfig:p({"request-success":or?"搜索结果为空":"暂无数据"},$),errorButton:I(b,{type:"primary",onClick:Ke,children:"重新获取数据"})})]})}));Y.defaultProps={disabledCanUse:true};var G=e.attachPropertiesToComponent(Y,{getTreeDataList:K});export{G as TreeWrapper};
16
16
  //# sourceMappingURL=index.js.map
package/index.d.ts CHANGED
@@ -124,6 +124,7 @@ export interface DropdownMenuItem extends ButtonProps {
124
124
  confirmMessage?: string;
125
125
  hidden?: boolean;
126
126
  confirmModalProps?: DialogModalProps;
127
+ stopPropagation?: boolean;
127
128
  }
128
129
  export interface DropdownMenuWrapperProps extends Omit<DropdownProps, "menu"> {
129
130
  menuList: Array<DropdownMenuItem | null>;
@@ -332,12 +333,7 @@ export interface DrawerActionsParamType {
332
333
  * drawer弹窗模型
333
334
  * @param key 唯一值必传
334
335
  * @returns
335
- * @deprecated 废弃 DrawerWrapper 4.3.0版本移除
336
- *
337
- * ```
338
- * 使用方式
339
- * const [drawerState, drawerActions] = createDrawerWrapperModel('key值').useStore();
340
- * ```
336
+ * @deprecated 废弃 DrawerWrapper 4.3.0版本移除, 请使用 dialogDrawer
341
337
  */
342
338
  export declare const createDrawerWrapperModel: (key: string) => API<ModelType<DrawerStateType, DrawerActionsParamType, any>>;
343
339
  export interface ModalStateType {
@@ -361,12 +357,7 @@ export interface ModalActionsParamType {
361
357
  /**
362
358
  * modal弹窗模型
363
359
  * @param key 唯一值必传
364
- * @deprecated 废弃 ModalWrapper 4.3.0版本移除
365
- *
366
- * ```
367
- * 使用方式
368
- * const [modalState, modalActions] = createModalWrapperModel('key值').useStore();
369
- * ```
360
+ * @deprecated 废弃 ModalWrapper 4.3.0版本移除,请使用 dialogModal
370
361
  */
371
362
  export declare const createModalWrapperModel: (key: string) => API<ModelType<ModalStateType, ModalActionsParamType, any>>;
372
363
  export type CssHoverProps = {
@@ -811,6 +802,8 @@ export type EasyTableServiceConfig = {
811
802
  requestResultAdapter?: (params: TAny) => TPlainObject;
812
803
  };
813
804
  export type EasyTableProps = {
805
+ className?: string;
806
+ style?: CSSProperties;
814
807
  children: ReactElement | ReactElement[] | ((dataSource?: TAny) => ReactElement);
815
808
  /** EasyTable唯一值,可用于缓存查询条件 */
816
809
  modelKey: string;
@@ -1651,7 +1644,9 @@ export type InputTextAreaWrapperProps = Omit<TextAreaProps, "defaultValue">;
1651
1644
  * ```
1652
1645
  */
1653
1646
  export declare const InputTextAreaWrapper: (props: InputTextAreaWrapperProps) => JSX.Element;
1654
- export type InputWrapperProps = Omit<InputProps, "defaultValue">;
1647
+ export type InputWrapperProps = Omit<InputProps, "defaultValue"> & {
1648
+ debounceDuration?: number;
1649
+ };
1655
1650
  /**
1656
1651
  * ```
1657
1652
  * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法
@@ -1801,7 +1796,7 @@ export type Page404Props = {
1801
1796
  };
1802
1797
  export declare const Page404: (props: Page404Props) => JSX.Element;
1803
1798
  /**
1804
- * 由于 antd 5.3.x 分页Pagination组件,存在点击分页选择框框时,一直朝下
1799
+ * 由于 antd 5.3.x 分页Pagination组件,存在点击分页选择框时,一直朝下
1805
1800
  * issues:https://github.com/ant-design/ant-design/issues/36866
1806
1801
  * 为了兼容,在 Pagination 中添加了 selectComponentClass 属性,后期antd 官方优化了bug,可取消 配置selectComponentClass
1807
1802
  * @param props
@@ -1946,7 +1941,7 @@ export interface RichTextEditorProps extends Omit<IAllProps, "onChange" | "init"
1946
1941
  init?: IAllProps["init"] & {
1947
1942
  /**
1948
1943
  * 通过粘贴图片创建的img标签,显示压缩比例,此处min、max是和指图片宽度
1949
- * 1. 默认值值:[{ min: 0, max: 1000, ratio: 0.5 }, { min: 1000, ratio: 0.3 }]
1944
+ * 1. 默认值:[{ min: 0, max: 1000, ratio: 0.5 }, { min: 1000, ratio: 0.3 }]
1950
1945
  */
1951
1946
  img_ratio?: {
1952
1947
  min: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.2.62",
3
+ "version": "4.2.63",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-menu-wrapper-2b4fc43d.js","sources":["@flatbiz/antd/src/dropdown-menu-wrapper/utils.ts","@flatbiz/antd/src/dropdown-menu-wrapper/dropdown-menu-wrapper.tsx"],"sourcesContent":["export function parentsHasSticky(node: Element) {\n let condition = true;\n let result = false;\n while (condition) {\n if (node.tagName === 'HTML' || node.tagName === 'BODY') {\n condition = false;\n result = false;\n } else {\n const { position } = window.getComputedStyle(node);\n if (position === 'sticky') {\n result = true;\n condition = false;\n } else {\n if (!node || !node.parentNode) {\n condition = false;\n } else {\n node = node.parentNode as Element;\n }\n }\n }\n }\n return result;\n}\n","import { ExclamationCircleFilled } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonProps, Dropdown, DropdownProps } from 'antd';\nimport { ItemType } from 'antd/lib/menu/hooks/useItems';\nimport { Fragment, ReactElement, useMemo } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { dialogConfirm } from '../dialog-confirm';\nimport { DialogModalProps } from '../dialog-modal';\nimport { fbaUtils } from '../fba-utils';\nimport { FlexLayout } from '../flex-layout';\nimport './style.less';\nimport { parentsHasSticky } from './utils';\n\nexport interface DropdownMenuItem extends ButtonProps {\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n confirmModalProps?: DialogModalProps;\n}\n\nexport interface DropdownMenuWrapperProps extends Omit<DropdownProps, 'menu'> {\n menuList: Array<DropdownMenuItem | null>;\n /** dropdown 设置弹框根节点在body下 */\n isFixed?: boolean;\n}\n\n/**\n * DropdownMenuWrapper\n * 升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框使用存在问题,所以在 @flatbiz/antd@4.2.49版本修改为使用dialogConfirm组件实现二次弹框确认功能\n * @param props\n * @returns\n * ```\n * 1. Dropdown默认弹框根节点在组件内部,通过isFixed=true可设置弹框根节点在body下\n * ```\n */\nexport const DropdownMenuWrapper = (props: DropdownMenuWrapperProps) => {\n const { menuList, ...dropdownOtherProps } = props;\n const clsName = hooks.useId(undefined, 'DropdownMenuWrapper');\n\n const onClick = hooks.useCallbackRef((item: DropdownMenuItem, event) => {\n event.stopPropagation();\n if (item.needConfirm) {\n dialogConfirm.open({\n title: (\n <FlexLayout direction=\"horizontal\" fullIndex={1} gap={8}>\n <ExclamationCircleFilled style={{ color: '#faad14' }} />\n <span>{item.text}</span>\n </FlexLayout>\n ),\n content: <Fragment>{item.confirmMessage}</Fragment>,\n onOk: item.onClick?.bind(null, event),\n okButtonProps: {\n loadingPosition: 'center',\n },\n ...item.confirmModalProps,\n });\n return Promise.resolve();\n }\n return item.onClick?.(event);\n });\n\n const target = document.querySelector(`.${clsName}`);\n const container = useMemo(() => {\n if (props.isFixed || (target && parentsHasSticky(target))) {\n return undefined;\n }\n return target;\n }, [props.isFixed, target]);\n\n const menuItems = useMemo(() => {\n const menuItemsNew: ItemType[] = [];\n menuList.filter(Boolean).forEach((item, index) => {\n if (!item) return;\n const {\n text,\n permission,\n needConfirm,\n confirmMessage,\n hidden,\n type,\n confirmModalProps,\n ...otherProps\n } = item;\n if (hidden) return;\n if (permission && !fbaUtils.hasPermission(permission)) return;\n const buttonType = type || 'link';\n const danger = otherProps.color ? false : needConfirm;\n menuItemsNew.push({\n key: index,\n label: (\n <ButtonWrapper\n loadingPosition=\"center\"\n size=\"small\"\n danger={danger}\n {...otherProps}\n style={{ padding: 0, ...otherProps.style }}\n className={classNames('dmw-item-button', otherProps.className)}\n type={buttonType}\n key={index}\n onClick={onClick.bind(null, {\n ...item,\n needConfirm,\n confirmMessage,\n confirmModalProps,\n })}\n >\n {text}\n </ButtonWrapper>\n ),\n });\n });\n return menuItemsNew;\n }, [menuList, onClick]);\n\n return (\n <div className={classNames('dropdown-menu-wrapper', clsName)} style={{ position: 'relative' }}>\n <Dropdown\n trigger={dropdownOtherProps?.trigger || ['hover']}\n getPopupContainer={container ? () => target as HTMLElement : undefined}\n arrow={{ pointAtCenter: true }}\n {...dropdownOtherProps}\n overlayStyle={{ zIndex: 9, ...dropdownOtherProps.overlayStyle }}\n menu={{ items: menuItems }}\n >\n {props.children}\n </Dropdown>\n </div>\n );\n};\n"],"names":["parentsHasSticky","node","condition","result","tagName","_window$getComputedSt","window","getComputedStyle","position","parentNode","DropdownMenuWrapper","props","menuList","dropdownOtherProps","_objectWithoutPropertiesLoose","_excluded","clsName","_hooks","useId","undefined","onClick","useCallbackRef","item","event","stopPropagation","needConfirm","_item$onClick","dialogConfirm","open","_extends","title","_jsxs","FlexLayout","direction","fullIndex","gap","children","_jsx","_ExclamationCircleFilled","style","color","text","content","Fragment","confirmMessage","onOk","bind","okButtonProps","loadingPosition","confirmModalProps","Promise","resolve","target","document","querySelector","container","useMemo","isFixed","menuItems","menuItemsNew","filter","Boolean","forEach","index","permission","hidden","type","otherProps","_excluded2","fbaUtils","hasPermission","buttonType","danger","push","key","label","_createElement","ButtonWrapper","size","padding","className","_classNames","Dropdown","trigger","getPopupContainer","arrow","pointAtCenter","overlayStyle","zIndex","menu","items"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- /*! @flatjs/forge MIT @flatbiz/antd */
2
- import{_ as r,a as e}from"./_rollupPluginBabelHelpers-1f4d8910.js";import{hooks as t}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as o}from"@flatbiz/utils";import{Input as n}from"antd";import{useRef as a,useState as u,createElement as i}from"react";import{fbaHooks as f}from"./fba-hooks/index.js";var l=["value"];var s=function s(m){var v=m.value,c=r(m,l);var p=a();var C=a(true);var b=u(0),d=b[0],g=b[1];f.useEffectCustom((function(){if(o(v)&&C.current)return;C.current=false;if(v===p.current&&!o(v))return;g(Date.now())}),[v]);var h=t.useCallbackRef((function(r){if(r.nativeEvent["inputType"]==="insertCompositionText"){return}p.current=r.target.value;m.onChange==null?void 0:m.onChange(r)}));var k=t.useCallbackRef((function(r){h(r)}));return i(n,e({},c,{key:d,onCompositionEnd:k,onChange:h,defaultValue:v}))};export{s as I};
3
- //# sourceMappingURL=input-wrapper-b378eb5a.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-wrapper-b378eb5a.js","sources":["@flatbiz/antd/src/input-wrapper/input-wrapper.tsx"],"sourcesContent":["import { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Input, InputProps } from 'antd';\nimport { useRef, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\n\nexport type InputWrapperProps = Omit<InputProps, 'defaultValue'>;\n\n/**\n * ```\n * 1. 在输入框内输入拼音的时候,在拼音尚未输入完成时,字母会触发Input的onChange事件;导致以上效果的原因是input事件没办法知道我们在使用中文输入法\n * 2. 此处封装可以解决此问题,在输入拼音未完成时不会触达onChange,选择拼音结果触发onChange\n *\n * 3. 设置value时,内部可将受控操作转为非受控操作(具体实现逻辑,自行查看源码)\n * 4. 适用场景:需要通过onChange事件处理业务逻辑,例如:在onChange中调用接口数据\n * 5. defaultValue不可使用\n *\n * ```\n */\nexport const InputWrapper = (props: InputWrapperProps) => {\n const { value, ...otherProps } = props;\n const inputValueRef = useRef<string>();\n const isFirstUseValueRef = useRef(true);\n const [inputKey, setInputKey] = useState(0);\n\n fbaHooks.useEffectCustom(() => {\n if (isUndefinedOrNull(value) && isFirstUseValueRef.current) return;\n isFirstUseValueRef.current = false;\n if (value === inputValueRef.current && !isUndefinedOrNull(value)) return;\n setInputKey(Date.now());\n }, [value]);\n\n const onChange = hooks.useCallbackRef((event) => {\n if (event.nativeEvent['inputType'] === 'insertCompositionText') {\n return;\n }\n inputValueRef.current = event.target.value;\n props.onChange?.(event);\n });\n\n const onCompositionEnd = hooks.useCallbackRef((event) => {\n onChange(event);\n });\n\n return (\n <Input\n {...otherProps}\n key={inputKey}\n onCompositionEnd={onCompositionEnd}\n onChange={onChange}\n defaultValue={value}\n />\n );\n};\n"],"names":["InputWrapper","props","value","otherProps","_objectWithoutPropertiesLoose","_excluded","inputValueRef","useRef","isFirstUseValueRef","_useState","useState","inputKey","setInputKey","fbaHooks","useEffectCustom","isUndefinedOrNull","current","Date","now","onChange","_hooks","useCallbackRef","event","nativeEvent","target","onCompositionEnd","_createElement","Input","_extends","key","defaultValue"],"mappings":";qUAmBaA,EAAe,SAAfA,EAAgBC,GAC3B,IAAQC,EAAyBD,EAAzBC,MAAUC,EAAUC,EAAKH,EAAKI,GACtC,IAAMC,EAAgBC,IACtB,IAAMC,EAAqBD,EAAO,MAClC,IAAAE,EAAgCC,EAAS,GAAlCC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAE5BI,EAASC,iBAAgB,WACvB,GAAIC,EAAkBb,IAAUM,EAAmBQ,QAAS,OAC5DR,EAAmBQ,QAAU,MAC7B,GAAId,IAAUI,EAAcU,UAAYD,EAAkBb,GAAQ,OAClEU,EAAYK,KAAKC,MACnB,GAAG,CAAChB,IAEJ,IAAMiB,EAAWC,EAAMC,gBAAe,SAACC,GACrC,GAAIA,EAAMC,YAAY,eAAiB,wBAAyB,CAC9D,MACF,CACAjB,EAAcU,QAAUM,EAAME,OAAOtB,MACrCD,EAAMkB,UAANlB,UAAAA,EAAAA,EAAMkB,SAAWG,EACnB,IAEA,IAAMG,EAAmBL,EAAMC,gBAAe,SAACC,GAC7CH,EAASG,EACX,IAEA,OACEI,EAACC,EAAKC,KACAzB,EAAU,CACd0B,IAAKlB,EACLc,iBAAkBA,EAClBN,SAAUA,EACVW,aAAc5B,IAGpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rich-text-editor-c8bac6d2.js","sources":["@flatbiz/antd/src/rich-text-editor/preview/preview.tsx","@flatbiz/antd/src/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["import { PlusCircleOutlined } from '@ant-design/icons';\nimport { Image } from 'antd';\nimport { Fragment } from 'react';\nimport { dynamicNode } from '../../dynamic-node';\nimport { fbaHooks } from '../../fba-hooks';\nimport './preview.less';\n\nexport const Preview = (props) => {\n const { visible, url } = props;\n\n fbaHooks.useEffectCustom(() => {\n if (visible) {\n dynamicNode.append({\n content: (\n <PlusCircleOutlined\n onClick={props.close}\n className=\"preview-image-popup-close\"\n twoToneColor=\"#1890ff\"\n />\n ),\n });\n } else {\n dynamicNode.remove();\n }\n }, [visible]);\n\n if (!url) return <></>;\n\n return (\n <Fragment>\n <Image\n key={url}\n style={{ left: '100px' }}\n preview={{\n className: 'preview-image-popup',\n maskStyle: { backgroundColor: 'rgba(0,0,0,0.85)' },\n visible,\n src: url,\n onVisibleChange: () => {\n props.close();\n },\n }}\n />\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { Editor, IAllProps } from '@tinymce/tinymce-react';\nimport { hooks } from '@wove/react';\nimport { useKeyPress } from 'ahooks';\nimport { useRef, useState } from 'react';\nimport { Editor as TinyMCEEditor } from 'tinymce';\nimport { Preview } from './preview';\nimport './style.less';\n\nexport interface RichTextEditorProps extends Omit<IAllProps, 'onChange' | 'init'> {\n onChange?: (data?: string) => void;\n // value?: string;\n /** 上传图片服务 */\n onUploadImage?: (file: File) => Promise<string>;\n className?: string;\n /** 图片点击预览 */\n imgPreview?: boolean;\n init?: IAllProps['init'] & {\n /**\n * 通过粘贴图片创建的img标签,显示压缩比例,此处min、max是和指图片宽度\n * 1. 默认值值:[{ min: 0, max: 1000, ratio: 0.5 }, { min: 1000, ratio: 0.3 }]\n */\n img_ratio?: { min: number; max?: number; ratio: number }[];\n /** 插件添加;自定义plugins后失效 */\n plugins_append?: string;\n /** 工具栏添加;自定义toolbar后失效 */\n toolbar_append?: string;\n };\n}\n\n/**\n * 富文本编辑器,配置参考tinymce https://www.tiny.cloud/docs/tinymce/6\n * @param props\n * @returns\n * ```\n * 1. 如果需要粘贴上传图片服务,需要提供 onUploadImage 上传图片接口\n * 2. 获取富文本实例,通过onInit(_, editor)函数获取\n * 3. 预览富文本数据,使用 RichTextViewer 组件\n * 4. 添加其他插件使用方式,配置 init.plugins_append、init.toolbar_append\n * <RichTextEditor init={{ plugins_append: 'codesample', toolbar_append: 'codesample' }} />\n * 5. 可通过设置 init.plugins、init.toolbar 完全自定义插件、工具栏\n * 6. 其他插件\n * emoticons 表情插件\n * 7. 可通过设置 init.img_ratio 设置通过粘贴上传的图片压缩显示比例\n * 默认比例:[{ min: 0, max: 1000, ratio: 0.5 }, { min: 1000, ratio: 0.3 }]\n * ```\n */\nexport const RichTextEditor = (props: RichTextEditorProps) => {\n const { onUploadImage, onChange, className, ...otherProps } = props;\n\n const editorRef = useRef<TAny>(null);\n const [previewUrl, setPreviewUrl] = useState('');\n const imgRatio = props.init?.img_ratio || [\n { min: 0, max: 1000, ratio: 0.5 },\n { min: 1000, ratio: 0.3 },\n ];\n\n // const varStyleString = useMemo(() => {\n // const merge = { ...defaultVarStyle, ...props.varStyle };\n // let varStyleString = '';\n // Object.keys(merge).map((key) => {\n // varStyleString += `${key}:${merge[key]};`;\n // });\n // return varStyleString;\n // }, [props.varStyle]);\n\n // const images_upload_handler = hooks.useCallbackRef(async (blobInfo: BlobInfo, progress: ProgressFn) => {\n // try {\n // const respData = await props.onUploadImage?.(blobInfo.blob());\n // success(respData);\n // } catch (error) {\n // failure(error.message);\n // }\n // });\n\n useKeyPress(\n () => true,\n (event) => {\n try {\n if (event.type === 'keyup' && event.key === 'Escape') {\n const isFull = editorRef.current?.editorContainer.classList.contains('tox-fullscreen');\n if (isFull) {\n editorRef.current?.editorCommands.execCommand('mceFullScreen');\n }\n }\n } catch (error) {\n // 异常不处理\n }\n },\n {\n events: ['keydown', 'keyup'],\n },\n );\n\n const onKeyDown = hooks.useCallbackRef((event, editor: TinyMCEEditor) => {\n try {\n if (event.keyCode == 27) {\n const isFull = editorRef.current?.editorContainer.classList.contains('tox-fullscreen');\n if (isFull) {\n editorRef.current?.editorCommands.execCommand('mceFullScreen');\n }\n }\n } catch (error) {\n // 异常不处理\n }\n props.onKeyDown?.(event, editor);\n });\n\n const onInit = hooks.useCallbackRef((_, editor: TinyMCEEditor) => {\n editorRef.current = editor;\n try {\n editor.iframeElement?.contentDocument?.addEventListener(\n 'click',\n (event) => {\n if (props.imgPreview && event.target?.['tagName'] === 'IMG') {\n setPreviewUrl(event.target['src']);\n }\n },\n true,\n );\n } catch (error) {\n //\n }\n otherProps.onInit?.(_, editor);\n });\n\n const onEditorChange = hooks.useCallbackRef((a: string, editor: TinyMCEEditor) => {\n editorRef.current = editor;\n otherProps.onEditorChange?.(a, editor);\n onChange?.(a);\n });\n\n const tinymceBaseUrl = 'https://file.40017.cn/tcsk/tinymce@6.4.1';\n\n const getImgRatio = (width: number) => {\n if (imgRatio.length === 0) return 1;\n for (let index = 0; index < imgRatio.length; index++) {\n const element = imgRatio[index];\n if (element.max) {\n if (width >= element.min && width <= element.max) return element.ratio;\n } else {\n if (width >= element.min) return element.ratio;\n }\n }\n return 1;\n };\n\n const paste_postprocess = hooks.useCallbackRef((editor, args) => {\n try {\n const nodes = (args.node.children || []) as unknown as HTMLElement[];\n if (nodes.length === 1 && nodes[0].nodeName === 'IMG') {\n nodes[0].setAttribute('style', `display:none`);\n const img = document.createElement('img');\n img.src = nodes[0].getAttribute('src') as string;\n console.log('img.src', img.src);\n img.onload = () => {\n const ratio = getImgRatio(img.width);\n editor.execCommand(\n 'mceInsertContent',\n true,\n `<img src=\"${img.src}\" width=\"${img.width * ratio}\" height=\"${img.height * ratio}\" />`,\n );\n };\n }\n } catch (error) {}\n });\n\n return (\n <div className={classNames('v-editor-wrapper', className)}>\n <Editor\n // apiKey=\"ds6j8so4g3d2cycidbhgkds36q0phy1uqd9jd8bot91sfe5l\"\n tinymceScriptSrc={`${tinymceBaseUrl}/tinymce.min.js`}\n {...otherProps}\n onInit={onInit}\n onKeyDown={onKeyDown}\n onEditorChange={onEditorChange}\n init={{\n promotion: false,\n language: 'zh-Hans',\n height: 500,\n paste_data_images: onUploadImage ? true : false,\n paste_postprocess,\n autosave_ask_before_unload: false,\n base_url: tinymceBaseUrl,\n autoresize_bottom_margin: 0,\n images_upload_handler: async (blobInfo) => {\n try {\n const blob = blobInfo.blob();\n const file = new File([blob], blob.name, { type: blob.type });\n const respData = await onUploadImage?.(file);\n return Promise.resolve(respData as string);\n } catch (error) {\n return Promise.reject(error?.message || '图片上传异常');\n }\n },\n\n plugins:\n 'lists link image advlist charmap preview fullscreen code table help codesample ' +\n (props.init?.plugins_append || ''),\n toolbar:\n 'undo redo fullscreen preview | bold italic underline strikethrough |' +\n 'fontsize blocks |' +\n 'forecolor backcolor removeformat |' +\n 'numlist bullist advlist |' +\n 'alignleft aligncenter alignright alignjustify |' +\n 'outdent indent |' +\n 'hr image link code codesample |' +\n (props.init?.toolbar_append || ''),\n font_size_formats: '8px 10px 12px 14px 16px 18px 24px 36px 48px',\n ...props.init,\n content_style: `img {max-width:100%;} table{width:100%} ${props.init?.content_style}`,\n }}\n />\n <Preview\n visible={!!previewUrl}\n url={previewUrl}\n close={() => {\n setPreviewUrl('');\n }}\n />\n </div>\n );\n};\n\n/**\n * undo redo\n * codesample\n * fontselect fontsizeselect formatselect\n * image media link anchor\n * preview save print\n * emoticons(表情)\n */\n"],"names":["Preview","props","visible","url","fbaHooks","useEffectCustom","dynamicNode","append","content","_jsx","_PlusCircleOutlined","onClick","close","className","twoToneColor","remove","_Fragment","Fragment","children","Image","style","left","preview","maskStyle","backgroundColor","src","onVisibleChange","RichTextEditor","_props$init","_props$init2","_props$init3","_props$init4","onUploadImage","onChange","otherProps","_objectWithoutPropertiesLoose","_excluded","editorRef","useRef","_useState","useState","previewUrl","setPreviewUrl","imgRatio","init","img_ratio","min","max","ratio","useKeyPress","event","type","key","_editorRef$current","isFull","current","editorContainer","classList","contains","_editorRef$current2","editorCommands","execCommand","error","events","onKeyDown","_hooks","useCallbackRef","editor","keyCode","_editorRef$current3","_editorRef$current4","onInit","_","_editor$iframeElement","_editor$iframeElement2","iframeElement","contentDocument","addEventListener","_event$target","imgPreview","target","onEditorChange","a","tinymceBaseUrl","getImgRatio","width","length","index","element","paste_postprocess","args","nodes","node","nodeName","setAttribute","img","document","createElement","getAttribute","console","log","onload","height","_jsxs","_classNames","Editor","_extends","tinymceScriptSrc","promotion","language","paste_data_images","autosave_ask_before_unload","base_url","autoresize_bottom_margin","images_upload_handler","blobInfo","Promise","$return","$error","blob","_file","respData","$Try_5_Catch","reject","message","$boundEx","file","File","name","resolve","then","$await_6","plugins","plugins_append","toolbar","toolbar_append","font_size_formats","content_style"],"mappings":";ojBAOO,IAAMA,EAAU,SAAVA,EAAWC,GACtB,IAAQC,EAAiBD,EAAjBC,QAASC,EAAQF,EAARE,IAEjBC,EAASC,iBAAgB,WACvB,GAAIH,EAAS,CACXI,EAAYC,OAAO,CACjBC,QACEC,EAAAC,EAAA,CACEC,QAASV,EAAMW,MACfC,UAAU,4BACVC,aAAa,aAIrB,KAAO,CACLR,EAAYS,QACd,CACF,GAAG,CAACb,IAEJ,IAAKC,EAAK,OAAOM,EAAAO,EAAK,CAAA,GAEtB,OACEP,EAACQ,EAAQ,CAAAC,SACPT,EAACU,EAAK,CAEJC,MAAO,CAAEC,KAAM,SACfC,QAAS,CACPT,UAAW,sBACXU,UAAW,CAAEC,gBAAiB,oBAC9BtB,QAAAA,EACAuB,IAAKtB,EACLuB,gBAAiB,SAAAA,IACfzB,EAAMW,OACR,IATGT,IAcb,qDCGawB,EAAiB,SAAjBA,EAAkB1B,GAA+B,IAAA2B,EAAAC,EAAAC,EAAAC,EAC5D,IAAQC,EAAsD/B,EAAtD+B,cAAeC,EAAuChC,EAAvCgC,SAAUpB,EAA6BZ,EAA7BY,UAAcqB,EAAUC,EAAKlC,EAAKmC,GAEnE,IAAMC,EAAYC,EAAa,MAC/B,IAAAC,EAAoCC,EAAS,IAAtCC,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAChC,IAAMI,IAAWf,EAAA3B,EAAM2C,OAANhB,UAAAA,EAAAA,EAAYiB,YAAa,CACxC,CAAEC,IAAK,EAAGC,IAAK,IAAMC,MAAO,IAC5B,CAAEF,IAAK,IAAME,MAAO,KAqBtBC,GACE,WAAA,OAAM,IACN,IAAA,SAACC,GACC,IACE,GAAIA,EAAMC,OAAS,SAAWD,EAAME,MAAQ,SAAU,CAAA,IAAAC,EACpD,IAAMC,GAAMD,EAAGhB,EAAUkB,UAAO,UAAA,EAAjBF,EAAmBG,gBAAgBC,UAAUC,SAAS,kBACrE,GAAIJ,EAAQ,CAAA,IAAAK,GACVA,EAAAtB,EAAUkB,UAAO,UAAA,EAAjBI,EAAmBC,eAAeC,YAAY,gBAChD,CACF,CACD,CAAC,MAAOC,GACP,CAEJ,GACA,CACEC,OAAQ,CAAC,UAAW,WAIxB,IAAMC,EAAYC,EAAMC,gBAAe,SAAChB,EAAOiB,GAC7C,IACE,GAAIjB,EAAMkB,SAAW,GAAI,CAAA,IAAAC,EACvB,IAAMf,GAAMe,EAAGhC,EAAUkB,UAAO,UAAA,EAAjBc,EAAmBb,gBAAgBC,UAAUC,SAAS,kBACrE,GAAIJ,EAAQ,CAAA,IAAAgB,GACVA,EAAAjC,EAAUkB,UAAO,UAAA,EAAjBe,EAAmBV,eAAeC,YAAY,gBAChD,CACF,CACD,CAAC,MAAOC,GACP,CAEF7D,EAAM+D,WAAS,UAAA,EAAf/D,EAAM+D,UAAYd,EAAOiB,EAC3B,IAEA,IAAMI,EAASN,EAAMC,gBAAe,SAACM,EAAGL,GACtC9B,EAAUkB,QAAUY,EACpB,IAAI,IAAAM,EAAAC,GACFD,EAAAN,EAAOQ,gBAAaD,UAAAA,GAAAA,EAApBD,EAAsBG,kBAAtBF,UAAAA,EAAAA,EAAuCG,iBACrC,SACA,SAAC3B,GAAU,IAAA4B,EACT,GAAI7E,EAAM8E,cAAcD,EAAA5B,EAAM8B,qBAANF,EAAe,cAAe,MAAO,CAC3DpC,EAAcQ,EAAM8B,OAAO,OAC7B,CACD,GACD,KAEH,CAAC,MAAOlB,GACP,CAEF5B,EAAWqC,QAAM,UAAA,EAAjBrC,EAAWqC,OAASC,EAAGL,EACzB,IAEA,IAAMc,EAAiBhB,EAAMC,gBAAe,SAACgB,EAAWf,GACtD9B,EAAUkB,QAAUY,EACpBjC,EAAW+C,gBAAc,UAAA,EAAzB/C,EAAW+C,eAAiBC,EAAGf,GAC/BlC,GAAAA,UAAAA,EAAAA,EAAWiD,EACb,IAEA,IAAMC,EAAiB,2CAEvB,IAAMC,EAAc,SAAdA,EAAeC,GACnB,GAAI1C,EAAS2C,SAAW,EAAG,OAAO,EAClC,IAAK,IAAIC,EAAQ,EAAGA,EAAQ5C,EAAS2C,OAAQC,IAAS,CACpD,IAAMC,EAAU7C,EAAS4C,GACzB,GAAIC,EAAQzC,IAAK,CACf,GAAIsC,GAASG,EAAQ1C,KAAOuC,GAASG,EAAQzC,IAAK,OAAOyC,EAAQxC,KACnE,KAAO,CACL,GAAIqC,GAASG,EAAQ1C,IAAK,OAAO0C,EAAQxC,KAC3C,CACF,CACA,OAAO,GAGT,IAAMyC,EAAoBxB,EAAMC,gBAAe,SAACC,EAAQuB,GACtD,IACE,IAAMC,EAASD,EAAKE,KAAK1E,UAAY,GACrC,GAAIyE,EAAML,SAAW,GAAKK,EAAM,GAAGE,WAAa,MAAO,CACrDF,EAAM,GAAGG,aAAa,QAAwB,gBAC9C,IAAMC,EAAMC,SAASC,cAAc,OACnCF,EAAItE,IAAMkE,EAAM,GAAGO,aAAa,OAChCC,QAAQC,IAAI,UAAWL,EAAItE,KAC3BsE,EAAIM,OAAS,WACX,IAAMrD,EAAQoC,EAAYW,EAAIV,OAC9BlB,EAAON,YACL,mBACA,KAAI,aACSkC,EAAItE,IAAG,YAAYsE,EAAIV,MAAQrC,EAAK,aAAa+C,EAAIO,OAAStD,EAC5E,QAEL,CACF,CAAE,MAAOc,GAAQ,CACnB,IAEA,OACEyC,EAAA,MAAA,CAAK1F,UAAW2F,EAAW,mBAAoB3F,GAAWK,SAAA,CACxDT,EAACgG,EACCC,EAAA,CACAC,iBAAqBxB,EAAc,mBAC/BjD,EAAU,CACdqC,OAAQA,EACRP,UAAWA,EACXiB,eAAgBA,EAChBrC,KAAI8D,EAAA,CACFE,UAAW,MACXC,SAAU,UACVP,OAAQ,IACRQ,kBAAmB9E,EAAgB,KAAO,MAC1CyD,kBAAAA,EACAsB,2BAA4B,MAC5BC,SAAU7B,EACV8B,yBAA0B,EAC1BC,sBAAuB,SAAAA,EAAOC,GAAP,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GAAA,IAEbC,EACAC,EACAC,EA9LpB,IAAIC,EAAA,SAgMiB5D,GAhMrB,IAiMc,OAAAuD,EAAOD,QAAQO,QAAO7D,GAAK,UAAA,EAALA,EAAO8D,UAAW,UAjM7C,CAAC,MAAAC,GAAW,OAAOP,EAAAO,EAAM,GA2LtB,IACQN,EAAOJ,EAASI,OAChBO,EAAO,IAAIC,KAAK,CAACR,GAAOA,EAAKS,KAAM,CAAE7E,KAAMoE,EAAKpE,OACrC,OAAAiE,QAAAa,QAAMjG,GAAa,UAAA,EAAbA,EAAgB8F,IAAtBI,eAA2BC,GA9L1D,IA8LoBV,EAAWU,EACjB,OAAAd,EAAOD,QAAQa,QAAQR,GA/L5B,CAAC,MAAAI,GAAW,OAAOH,EAAAG,EAAM,CAAC,GAAAH,EAgMtB,CAAC,MAAO5D,GAAO4D,EAAP5D,EAET,CAAC,GACF,EAEDsE,QACE,qFACCvG,EAAA5B,EAAM2C,mBAANf,EAAYwG,iBAAkB,IACjCC,QACE,uEACA,oBACA,qCACA,4BACA,kDACA,mBACA,qCACCxG,EAAA7B,EAAM2C,OAANd,UAAAA,EAAAA,EAAYyG,iBAAkB,IACjCC,kBAAmB,+CAChBvI,EAAM2C,KAAI,CACb6F,cAAa,6CAAA1G,EAA6C9B,EAAM2C,OAAI,UAAA,EAAVb,EAAY0G,oBAG1EhI,EAACT,EAAO,CACNE,UAAWuC,EACXtC,IAAKsC,EACL7B,MAAO,SAAAA,IACL8B,EAAc,GAChB,MAIR"}