@flatbiz/antd 4.5.54 → 4.5.56
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/ace-editor-groovy/index.js +1 -1
- package/esm/ace-editor-groovy/index.js.map +1 -1
- package/esm/ace-editor-java/index.js +1 -1
- package/esm/ace-editor-java/index.js.map +1 -1
- package/esm/ace-editor-json/index.js +1 -1
- package/esm/ace-editor-json/index.js.map +1 -1
- package/esm/ace-editor-mysql/index.js +1 -1
- package/esm/ace-editor-mysql/index.js.map +1 -1
- package/esm/ace-editor-xml/index.js +1 -1
- package/esm/ace-editor-xml/index.js.map +1 -1
- package/esm/anchor-steps/index.js +1 -1
- package/esm/anchor-steps/index.js.map +1 -1
- package/esm/bootstrap/index.js +1 -1
- package/esm/bootstrap/index.js.map +1 -1
- package/esm/box-grid/index.js +1 -1
- package/esm/box-grid/index.js.map +1 -1
- package/esm/button-operate/index.js +1 -1
- package/esm/button-operate/index.js.map +1 -1
- package/esm/button-wrapper/index.js +1 -1
- package/esm/button-wrapper/index.js.map +1 -1
- package/esm/card-layout/index.js +1 -1
- package/esm/card-layout/index.js.map +1 -1
- package/esm/cascader-wrapper/index.css +1 -1
- package/esm/cascader-wrapper/index.js +1 -1
- package/esm/cascader-wrapper/index.js.map +1 -1
- package/esm/check-list/index.js +1 -1
- package/esm/check-list/index.js.map +1 -1
- package/esm/checkbox-wrapper/index.js +1 -1
- package/esm/checkbox-wrapper/index.js.map +1 -1
- package/esm/code-render/index.css +1 -0
- package/esm/code-render/index.js +5 -0
- package/esm/code-render/index.js.map +1 -0
- package/esm/color-picker-wrapper/index.css +1 -1
- package/esm/color-picker-wrapper/index.js +1 -1
- package/esm/color-picker-wrapper/index.js.map +1 -1
- package/esm/config-provider-wrapper/index.js +1 -1
- package/esm/copy-wrapper/index.js +1 -1
- package/esm/copy-wrapper/index.js.map +1 -1
- package/esm/date-picker-wrapper/index.js +1 -1
- package/esm/date-picker-wrapper/index.js.map +1 -1
- package/esm/date-range-picker-wrapper/index.js +1 -1
- package/esm/date-range-picker-wrapper/index.js.map +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/date-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/delete-node/index.js +1 -1
- package/esm/delete-node/index.js.map +1 -1
- package/esm/dialog-alert/index.js +1 -1
- package/esm/dialog-confirm/index.js +1 -1
- package/esm/dialog-drag-modal/index.js +1 -1
- package/esm/dialog-drag-modal/index.js.map +1 -1
- package/esm/dialog-drawer/index.js +1 -1
- package/esm/dialog-drawer/index.js.map +1 -1
- package/esm/dialog-drawer-content/index.js +1 -1
- package/esm/dialog-drawer-content/index.js.map +1 -1
- package/esm/dialog-loading/index.js +1 -1
- package/esm/dialog-loading/index.js.map +1 -1
- package/esm/dialog-modal/index.js +1 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/dialog-preview-image/index.js +1 -1
- package/esm/dialog-preview-image/index.js.map +1 -1
- package/esm/drag-collapse/index.js +1 -1
- package/esm/drag-collapse/index.js.map +1 -1
- package/esm/drag-collapse-form-list/index.js +1 -1
- package/esm/drag-collapse-form-list/index.js.map +1 -1
- package/esm/drag-editable-card/index.js +1 -1
- package/esm/drag-editable-card/index.js.map +1 -1
- package/esm/drag-editable-table/index.js +1 -1
- package/esm/drag-editable-table/index.js.map +1 -1
- package/esm/drag-editable-table-pro/index.js +1 -1
- package/esm/drag-editable-table-pro/index.js.map +1 -1
- package/esm/drag-form-list/index.js +1 -1
- package/esm/drag-form-list/index.js.map +1 -1
- package/esm/drag-table/index.js +1 -1
- package/esm/drag-table/index.js.map +1 -1
- package/esm/drawer-wrapper/index.js +1 -1
- package/esm/drawer-wrapper/index.js.map +1 -1
- package/esm/dropdown-menu-wrapper/index.js +1 -1
- package/esm/dropdown-menu-wrapper/index.js.map +1 -1
- package/esm/easy-form/index.js +1 -1
- package/esm/easy-form/index.js.map +1 -1
- package/esm/easy-table/index.js +1 -1
- package/esm/easy-table/index.js.map +1 -1
- package/esm/editable-card/index.js +1 -1
- package/esm/editable-card/index.js.map +1 -1
- package/esm/editable-field/index.js +1 -1
- package/esm/editable-field/index.js.map +1 -1
- package/esm/editable-table/index.js +1 -1
- package/esm/editable-table/index.js.map +1 -1
- package/esm/editable-table-pro/index.js +1 -1
- package/esm/editable-table-pro/index.js.map +1 -1
- package/esm/editor-wrapper/index.js +1 -1
- package/esm/editor-wrapper/index.js.map +1 -1
- package/esm/fba-app/index.js +1 -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/fba-utils/index.js +1 -1
- package/esm/fba-utils/index.js.map +1 -1
- package/esm/file-export/index.js +1 -1
- package/esm/file-export/index.js.map +1 -1
- package/esm/file-import/index.js +1 -1
- package/esm/file-import/index.js.map +1 -1
- package/esm/file-select/index.js +1 -1
- package/esm/file-select/index.js.map +1 -1
- package/esm/flex-layout/index.js +1 -1
- package/esm/flex-layout/index.js.map +1 -1
- package/esm/form-grid/index.js +1 -1
- package/esm/form-grid/index.js.map +1 -1
- package/esm/form-item-group/index.js +1 -1
- package/esm/form-item-group/index.js.map +1 -1
- package/esm/form-item-text/index.js +1 -1
- package/esm/form-item-text/index.js.map +1 -1
- package/esm/form-item-wrapper/index.js +1 -1
- package/esm/form-item-wrapper/index.js.map +1 -1
- package/esm/form-list-wrapper/index.js +1 -1
- package/esm/form-list-wrapper/index.js.map +1 -1
- package/esm/form-wrapper/index.js +1 -1
- package/esm/form-wrapper/index.js.map +1 -1
- package/esm/full-screen/index.js +1 -1
- package/esm/full-screen/index.js.map +1 -1
- package/esm/icon-wrapper/index.js +1 -1
- package/esm/icon-wrapper/index.js.map +1 -1
- package/esm/index-636a568e.js +8 -0
- package/esm/index-636a568e.js.map +1 -0
- package/esm/{index-83bede1b.js → index-853b36e6.js} +2 -2
- package/esm/{index-83bede1b.js.map → index-853b36e6.js.map} +1 -1
- package/esm/index.js +2 -2
- package/esm/input-search-wrapper/index.js +1 -1
- package/esm/input-search-wrapper/index.js.map +1 -1
- package/esm/input-text-area-wrapper/index.js +1 -1
- package/esm/input-text-area-wrapper/index.js.map +1 -1
- package/esm/input-wrapper/index.js +1 -1
- package/esm/input-wrapper/index.js.map +1 -1
- package/esm/json-editor/index.js +1 -1
- package/esm/json-editor/index.js.map +1 -1
- package/esm/label-value-layout/index.js +1 -1
- package/esm/label-value-layout/index.js.map +1 -1
- package/esm/label-value-render/index.js +1 -1
- package/esm/label-value-render/index.js.map +1 -1
- package/esm/local-loading/index.js +1 -1
- package/esm/local-loading/index.js.map +1 -1
- package/esm/mention-editor/index.js +1 -1
- package/esm/mention-editor/index.js.map +1 -1
- package/esm/mentions-wrapper/index.js +1 -1
- package/esm/mentions-wrapper/index.js.map +1 -1
- package/esm/modal-action/index.js +1 -1
- package/esm/modal-action/index.js.map +1 -1
- package/esm/modal-wrapper/index.js +1 -1
- package/esm/modal-wrapper/index.js.map +1 -1
- package/esm/number-range-form-item/index.js +1 -1
- package/esm/number-range-form-item/index.js.map +1 -1
- package/esm/pdf/index.js +1 -1
- package/esm/pdf/index.js.map +1 -1
- package/esm/pdf-preview/index.js +1 -1
- package/esm/pdf-preview/index.js.map +1 -1
- package/esm/radio-group-wrapper/index.js +1 -1
- package/esm/radio-group-wrapper/index.js.map +1 -1
- package/esm/relation-tree/index.js +1 -1
- package/esm/relation-tree/index.js.map +1 -1
- package/esm/request-status/index.css +1 -1
- package/esm/request-status/index.js +2 -1
- package/esm/request-status/index.js.map +1 -1
- package/esm/resizable-drawer/index.js +1 -6
- package/esm/resizable-drawer/index.js.map +1 -1
- package/esm/rich-text-editor/index.js +1 -1
- package/esm/rich-text-editor/index.js.map +1 -1
- package/esm/rich-text-viewer/index.js +1 -1
- package/esm/rich-text-viewer/index.js.map +1 -1
- package/esm/roll-location-center/index.js +1 -1
- package/esm/roll-location-center/index.js.map +1 -1
- package/esm/roll-location-in-view/index.js +1 -1
- package/esm/roll-location-in-view/index.js.map +1 -1
- package/esm/rule-describe/index.js +1 -1
- package/esm/rule-describe/index.js.map +1 -1
- package/esm/search-form/index.js +1 -1
- package/esm/search-form/index.js.map +1 -1
- package/esm/search-menu/index.js +1 -1
- package/esm/search-menu/index.js.map +1 -1
- package/esm/selector-wrapper/index.css +1 -1
- package/esm/selector-wrapper/index.js +1 -1
- package/esm/selector-wrapper/index.js.map +1 -1
- package/esm/selector-wrapper-search/index.js +1 -1
- package/esm/selector-wrapper-search/index.js.map +1 -1
- package/esm/selector-wrapper-simple/index.js +1 -1
- package/esm/selector-wrapper-simple/index.js.map +1 -1
- package/esm/simple-layout/index.js +1 -1
- package/esm/simple-layout/index.js.map +1 -1
- package/esm/sms-count-down/index.js +1 -1
- package/esm/sms-count-down/index.js.map +1 -1
- package/esm/split-wrapper/index.js +1 -1
- package/esm/split-wrapper/index.js.map +1 -1
- package/esm/styles/index.css +1 -1
- package/esm/svg-http-view/index.js +1 -1
- package/esm/svg-http-view/index.js.map +1 -1
- package/esm/switch-confirm-wrapper/index.js +1 -1
- package/esm/switch-confirm-wrapper/index.js.map +1 -1
- package/esm/switch-wrapper/index.js +1 -1
- package/esm/switch-wrapper/index.js.map +1 -1
- package/esm/table-cell-render/index.js +1 -1
- package/esm/table-cell-render/index.js.map +1 -1
- package/esm/table-scrollbar/index.js +1 -1
- package/esm/table-scrollbar/index.js.map +1 -1
- package/esm/tabs-sticky/index.js +1 -1
- package/esm/tabs-sticky/index.js.map +1 -1
- package/esm/tabs-wrapper/index.js +1 -1
- package/esm/tabs-wrapper/index.js.map +1 -1
- package/esm/tag-group/index.js +1 -1
- package/esm/tag-group/index.js.map +1 -1
- package/esm/tag-list-render/index.js +1 -1
- package/esm/tag-list-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/tag-wrapper/index.js +1 -1
- package/esm/tag-wrapper/index.js.map +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/index.js +1 -1
- package/esm/text-overflow/index.js.map +1 -1
- package/esm/text-overflow-render/index.js +1 -1
- package/esm/text-symbol-wrapper/index.js +1 -1
- package/esm/text-symbol-wrapper/index.js.map +1 -1
- package/esm/time-ea73b2fb.js +3 -0
- package/esm/{time-53b3f55f.js.map → time-ea73b2fb.js.map} +1 -1
- package/esm/time-picker-wrapper/index.js +1 -1
- package/esm/time-picker-wrapper/index.js.map +1 -1
- package/esm/time-range-picker-wrapper/index.js +1 -1
- package/esm/time-range-picker-wrapper/index.js.map +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js +1 -1
- package/esm/time-range-picker-wrapper-form-item/index.js.map +1 -1
- package/esm/tree-modal/index.js +1 -1
- package/esm/tree-modal/index.js.map +1 -1
- package/esm/tree-modal-selector/index.js +1 -1
- package/esm/tree-modal-selector/index.js.map +1 -1
- package/esm/tree-selector-wrapper/index.js +1 -1
- package/esm/tree-selector-wrapper/index.js.map +1 -1
- package/esm/tree-wrapper/index.js +2 -2
- package/esm/tree-wrapper/index.js.map +1 -1
- package/esm/upload-wrapper/index.js +1 -1
- package/esm/upload-wrapper/index.js.map +1 -1
- package/esm/use-responsive-point-1e6d93d9.js +3 -0
- package/esm/{use-responsive-point-21b8c601.js.map → use-responsive-point-1e6d93d9.js.map} +1 -1
- package/esm/x-mind-preview/index.js +1 -1
- package/esm/x-mind-preview/index.js.map +1 -1
- package/index.d.ts +51 -28
- package/package.json +4 -5
- package/esm/ai-search/index.css +0 -0
- package/esm/ai-search/index.js +0 -11
- package/esm/ai-search/index.js.map +0 -1
- package/esm/time-53b3f55f.js +0 -3
- package/esm/use-responsive-point-21b8c601.js +0 -3
package/esm/fba-app/index.js
CHANGED
|
@@ -8,5 +8,5 @@ import './../flex-layout/index.css';
|
|
|
8
8
|
import './../block-layout/index.css';
|
|
9
9
|
import './index.css';
|
|
10
10
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
11
|
-
import{fbaUtils as e}from"../fba-utils/index.js";import{hooks as o}from"@wove/react/cjs/hooks";import{a as n,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{getUuid as l}from"@flatbiz/utils";import{createContext as a,useState as t,useMemo as i,useContext as u,createElement as s}from"react";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{isPromise as c}from"@dimjs/lang/cjs/is-promise";import{useSize as f}from"ahooks";import{Form as p,Modal as v,Space as m,Drawer as g,theme as C}from"antd";import{ButtonWrapper as h}from"../button-wrapper/index.js";import{fbaHooks as k}from"../fba-hooks/index.js";import{FlexLayout as y}from"../flex-layout/index.js";import{g as x}from"../index-83bede1b.js";import{createCtx as b}from"@wove/react/cjs/create-ctx";import{jsx as w,jsxs as D}from"react/jsx-runtime";import{BlockLayout as j}from"../block-layout/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"@ant-design/icons/es/icons/LoadingOutlined";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/uuid";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"@dimjs/utils/cjs/extend";var O=a({});var R=b(),M=R[0],P=R[1];var T=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight"];var F=function e(l){var a,u;var s=l.titleExtra,m=l.title,g=l.onOk,C=l.onCancel,b=l.okButtonProps,j=l.cancelButtonProps,O=l.content,R=l.className,M=l.okHidden,F=l.cancelHidden,N=l.footer,H=l.cancelText,A=l.okText,B=l.size,L=l.bodyHeight,z=n(l,T);var E=p.useForm(),W=E[0];var _=f(document.querySelector("html"));var S=x();var Y=k.useResponsivePoint()||"";var q=t({}),I=q[0],U=q[1];var G=o.useCallbackRef((function(){l.onClose==null||l.onClose()}));var J=o.useCallbackRef((function(e){if(C){var o=C(W,e);if(o&&c(o)){return o.then(G)}}G();return Promise.resolve()}));var K=o.useCallbackRef((function(e){if(g){var o=g(W,e);if(o&&c(o)){return o.then(G)}}G();return Promise.resolve()}));var Q=k.useMemoCustom((function(){var e;if(N){return typeof N==="function"?N(W,I):N}if(F&&M||N===null){return null}return[w(h,r({},j,{onClick:J,hidden:F,children:H||((e=S.FbaDialogModal)==null?void 0:e.cancelText)}),"0"),w(h,r({type:"primary"},b,{onClick:K,hidden:M,children:A||"提交"}),"1")].filter(Boolean)}),[I,l.open]);var V=i((function(){if(!(_!=null&&_.height)||!Y)return undefined;var e=["xs","sm"].includes(Y);if(e){return{width:"90%"}}if(B=="large"){return{height:(_==null?void 0:_.height)*.7,width:e?"90%":_.width*.6}}if(B=="small"){var o=_.width*.3;return{height:(_==null?void 0:_.height)*.4,width:e?"90%":o<470?470:o}}if(B=="middle"){return{height:(_==null?void 0:_.height)*.4,width:e?"90%":_.width*.5}}return undefined}),[_==null?void 0:_.height,_==null?void 0:_.width,Y,B]);var X=d("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!s},{"fba-dialog-modal-footer-empty":!Q},R);var Z=function e(o){U(o)};var $=((a=z.styles)==null||(a=a.body)==null?void 0:a.height)||L;var ee=i((function(){return typeof O==="function"?O(W,{onClose:G}):O}),[l.open]);return w(P,{value:{rerenderFooter:Z},children:w(v,r({maskClosable:true,title:s?D(y,{direction:"horizontal",fullIndex:0,children:[w("span",{children:m}),s]}):m,centered:true,onCancel:G,destroyOnClose:true,width:V==null?void 0:V.width},z,{footer:Q,styles:r({},z.styles,{body:r({height:$||(V==null?void 0:V.height),maxHeight:"calc(100vh - 200px)"},(u=z.styles)==null?void 0:u.body)}),className:X,open:l.open,children:ee}))})};var N=function e(o){var n=d("fba-dialog-confirm",o.className);return w(F,r({okText:"确定",size:null,width:350,cancelText:"取消",maskClosable:true},o,{className:n}))};var H=function e(o){return w(N,r({okText:"确定",cancelHidden:true,maskClosable:false},o,{onOk:function e(n,r){return o.onClick==null?void 0:o.onClick(r)}}))};var A=b(),B=A[0],L=A[1];var z=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var E=function e(l){var a=l.onOk,u=l.onCancel,s=l.content,f=l.okText,v=l.cancelText,C=l.okButtonExtraProps,y=l.cancelButtonExtraProps,x=l.operatePosition,b=x===void 0?"footer":x,j=l.operateRender,O=l.width,R=l.okHidden,M=l.cancelHidden,P=l.extra,T=n(l,z);var F=p.useForm(),N=F[0];var H=k.useResponsivePoint()||"";var A=t({}),B=A[0],E=A[1];var W=o.useCallbackRef((function(e){l.onClose==null||l.onClose(e)}));var _=o.useCallbackRef((function(e){if(u){var o=u(N,e);if(o&&c(o)){return o.then(W)}}W(e);return Promise.resolve()}));var S=o.useCallbackRef((function(e){if(a){var o=a(N,e);if(o&&c(o)){return o.then(W)}}W(e);return Promise.resolve()}));var Y=k.useMemoCustom((function(){if(j){return j(N,B)}var e=R||(C==null?void 0:C.hidden);var o=R||(C==null?void 0:C.hidden);var n=D(m,{children:[o?null:w(h,r({},y,{onClick:_,children:v||"取消"})),e?null:w(h,r({type:"primary"},C,{onClick:S,children:f||"提交"}))]});if(!R||!M){return n}return null}),[B,l.open]);var q=i((function(){if(!H)return undefined;if(["xs","sm"].includes(H)){return{width:"90%",maxWidth:"90%"}}if(O){return{width:O,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}}),[H,O]);var I=typeof P==="function"?P(N):P;var U=function e(o){E(o)};var G=i((function(){return typeof s==="function"?s(N,{onClose:W}):s}),[l.open]);return w(L,{value:{rerenderFooter:U},children:w(g,r({maskClosable:true,destroyOnClose:true,contentWrapperStyle:{maxWidth:q==null?void 0:q.maxWidth},footer:b==="footer"?Y:null},T,{width:q==null?void 0:q.width,styles:r({},T.styles),className:d("app-dialog-drawer",T.className),extra:b==="header"?Y:I,open:l.open,onClose:W,children:G}))})};var W=function e(o){var n=o.className,r=o.message,l=o.mask;var a=C.useToken(),t=a.token;var i=t.colorPrimary;return w(v,{maskClosable:false,centered:true,destroyOnClose:true,className:d("fba-dialog-loading",n),open:o.open,footer:null,closable:false,style:{"--fba-loading-color":i},mask:l,children:w(j,{className:d("fba-dialog-loading-content"),children:D("div",{className:"loader-wrapper",children:[w("div",{className:"loader-inner"}),w("div",{className:"loader-text",children:r||"处理中"})]})})})};var _=function e(){var o=u(O);var n=function e(){o.dialogDrawerClose==null||o.dialogDrawerClose()};return{appDialogDrawer:{open:function e(l){o.dialogDrawerOpen==null||o.dialogDrawerOpen(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogDrawer:function e(){var o=B();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var S=function e(){var o=u(O);var n=function e(){o.dialogDrawerClose2==null||o.dialogDrawerClose2()};return{appDialogDrawer2:{open:function e(l){o.dialogDrawerOpen2==null||o.dialogDrawerOpen2(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogDrawer:function e(){var o=B();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var Y=function e(){var o=u(O);var n=function e(){o.dialogModalClose==null||o.dialogModalClose()};return{appDialogModal:{open:function e(l){o.dialogModalOpen==null||o.dialogModalOpen(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogModal:function e(){var o=M();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var q=function e(){var o=u(O);var n=function e(){o.dialogModalClose2==null||o.dialogModalClose2()};return{appDialogModal2:{open:function e(l){o.dialogModalOpen2==null||o.dialogModalOpen2(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogModal:function e(){var o=M();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var I=function e(){var o=u(O);var n=function e(){o.dialogAlertClose==null||o.dialogAlertClose()};return{appDialogAlert:{open:function e(l){o.dialogAlertOpen==null||o.dialogAlertOpen(r({},l,{open:true}));return{onClose:n}},close:n}}};var U=function e(){var o=u(O);var n=function e(){o.dialogConfirmClose==null||o.dialogConfirmClose()};return{appDialogConfirm:{open:function e(l){o.dialogConfirmOpen==null||o.dialogConfirmOpen(r({},l,{open:true}));return{onClose:n}},close:n}}};var G=function e(){var o=u(O);var n=function e(){o.dialogLoadingClose==null||o.dialogLoadingClose()};return{appDialogLoading:{open:function e(l){o.dialogLoadingOpen==null||o.dialogLoadingOpen(r({},l,{open:true}));return{onClose:n}},close:n}}};var J=function e(n){var a=t({}),i=a[0],u=a[1];var d=t(l()),c=d[0],f=d[1];var p=t({}),v=p[0],m=p[1];var g=t(l()),C=g[0],h=g[1];var k=t({}),y=k[0],x=k[1];var b=t(l()),w=b[0],j=b[1];var R=t({}),M=R[0],P=R[1];var T=t(l()),A=T[0],B=T[1];var L=t({}),z=L[0],_=L[1];var S=t({}),Y=S[0],q=S[1];var I=t(),U=I[0],G=I[1];var J=t(l()),K=J[0],Q=J[1];var V=t(l()),X=V[0],Z=V[1];var $=t(l()),ee=$[0],oe=$[1];var ne=o.useCallbackRef((function(e){u(e)}));var re=o.useCallbackRef((function(e){u(r({},i,{open:false}));i.onClose==null||i.onClose(e);setTimeout((function(){f(l())}),200)}));var le=o.useCallbackRef((function(e){m(e)}));var ae=o.useCallbackRef((function(e){m(r({},v,{open:false}));v.onClose==null||v.onClose(e);setTimeout((function(){h(l())}),200)}));var te=o.useCallbackRef((function(e){x(e)}));var ie=o.useCallbackRef((function(){x(r({},y,{open:false}));y.onClose==null||y.onClose();setTimeout((function(){j(l())}),200)}));var ue=o.useCallbackRef((function(e){P(e)}));var se=o.useCallbackRef((function(){P(r({},M,{open:false}));M.onClose==null||M.onClose();setTimeout((function(){B(l())}),200)}));var de=o.useCallbackRef((function(e){_(e)}));var ce=o.useCallbackRef((function(){_(r({},z,{open:false}));z.onClose==null||z.onClose();setTimeout((function(){Q(l())}),200)}));var fe=o.useCallbackRef((function(e){q(e)}));var pe=o.useCallbackRef((function(){q(r({},Y,{open:false}));Y.onClose==null||Y.onClose();setTimeout((function(){Z(l())}),200)}));var ve=o.useCallbackRef((function(e){G(e)}));var me=o.useCallbackRef((function(){G(r({},U,{open:false}));setTimeout((function(){oe(l())}),200)}));return D(O.Provider,{value:{dialogDrawerOpen:ne,dialogDrawerClose:re,dialogDrawerOpen2:le,dialogDrawerClose2:ae,dialogModalOpen:te,dialogModalClose:ie,dialogModalOpen2:ue,dialogModalClose2:se,dialogAlertOpen:de,dialogAlertClose:ce,dialogConfirmOpen:fe,dialogConfirmClose:pe,dialogLoadingOpen:ve,dialogLoadingClose:me},children:[s(E,r({},i,{onClose:re,key:c})),s(E,r({},v,{onClose:ae,key:C})),s(F,r({},y,{onClose:ie,key:w})),s(F,r({},M,{onClose:se,key:A})),s(H,r({},z,{onClose:ce,key:K})),s(N,r({},Y,{onClose:pe,key:X})),s(W,r({},U,{key:ee})),n.children]})};var K=e.attachPropertiesToComponent(J,{useDialogDrawer:_,useDialogDrawer2:S,useDialogModal:Y,useDialogModal2:q,useDialogConfirm:U,useDialogAlert:I,useDialogLoading:G});export{K as FbaApp};
|
|
11
|
+
import{fbaUtils as e}from"../fba-utils/index.js";import{hooks as o}from"@wove/react/cjs/hooks";import{a as n,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{getUuid as l}from"@flatbiz/utils";import{createContext as a,useState as t,useMemo as i,useContext as u,createElement as s}from"react";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{isPromise as c}from"@dimjs/lang/cjs/is-promise";import{useSize as f}from"ahooks";import{Form as p,Modal as v,Space as m,Drawer as g,theme as C}from"antd";import{ButtonWrapper as h}from"../button-wrapper/index.js";import{fbaHooks as k}from"../fba-hooks/index.js";import{FlexLayout as y}from"../flex-layout/index.js";import{g as x}from"../index-853b36e6.js";import{createCtx as b}from"@wove/react/cjs/create-ctx";import{jsx as w,jsxs as D}from"react/jsx-runtime";import{BlockLayout as j}from"../block-layout/index.js";import"@dimjs/lang/cjs/is-array";import"@dimjs/model";import"@ant-design/icons/es/icons/LoadingOutlined";import"../use-responsive-point-1e6d93d9.js";import"@dimjs/utils/cjs/uuid";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"@dimjs/utils/cjs/extend";var O=a({});var R=b(),M=R[0],P=R[1];var T=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight"];var F=function e(l){var a,u;var s=l.titleExtra,m=l.title,g=l.onOk,C=l.onCancel,b=l.okButtonProps,j=l.cancelButtonProps,O=l.content,R=l.className,M=l.okHidden,F=l.cancelHidden,N=l.footer,H=l.cancelText,A=l.okText,B=l.size,L=l.bodyHeight,z=n(l,T);var E=p.useForm(),W=E[0];var _=f(document.querySelector("html"));var S=x();var Y=k.useResponsivePoint()||"";var q=t({}),I=q[0],U=q[1];var G=o.useCallbackRef(function(){l.onClose==null||l.onClose()});var J=o.useCallbackRef(function(e){if(C){var o=C(W,e);if(o&&c(o)){return o.then(G)}}G();return Promise.resolve()});var K=o.useCallbackRef(function(e){if(g){var o=g(W,e);if(o&&c(o)){return o.then(G)}}G();return Promise.resolve()});var Q=k.useMemoCustom(function(){var e;if(N){return typeof N==="function"?N(W,I):N}if(F&&M||N===null){return null}return[w(h,r({},j,{onClick:J,hidden:F,children:H||((e=S.FbaDialogModal)==null?void 0:e.cancelText)}),"0"),w(h,r({type:"primary"},b,{onClick:K,hidden:M,children:A||"提交"}),"1")].filter(Boolean)},[I,l.open]);var V=i(function(){if(!(_!=null&&_.height)||!Y)return undefined;var e=["xs","sm"].includes(Y);if(e){return{width:"90%"}}if(B=="large"){return{height:(_==null?void 0:_.height)*.7,width:e?"90%":_.width*.6}}if(B=="small"){var o=_.width*.3;return{height:(_==null?void 0:_.height)*.4,width:e?"90%":o<470?470:o}}if(B=="middle"){return{height:(_==null?void 0:_.height)*.4,width:e?"90%":_.width*.5}}return undefined},[_==null?void 0:_.height,_==null?void 0:_.width,Y,B]);var X=d("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!s},{"fba-dialog-modal-footer-empty":!Q},R);var Z=function e(o){U(o)};var $=((a=z.styles)==null||(a=a.body)==null?void 0:a.height)||L;var ee=i(function(){return typeof O==="function"?O(W,{onClose:G}):O},[l.open]);return w(P,{value:{rerenderFooter:Z},children:w(v,r({maskClosable:true,title:s?D(y,{direction:"horizontal",fullIndex:0,children:[w("span",{children:m}),s]}):m,centered:true,onCancel:G,destroyOnClose:true,width:V==null?void 0:V.width},z,{footer:Q,styles:r({},z.styles,{body:r({height:$||(V==null?void 0:V.height),maxHeight:"calc(100vh - 200px)"},(u=z.styles)==null?void 0:u.body)}),className:X,open:l.open,children:ee}))})};var N=function e(o){var n=d("fba-dialog-confirm",o.className);return w(F,r({okText:"确定",size:null,width:350,cancelText:"取消",maskClosable:true},o,{className:n}))};var H=function e(o){return w(N,r({okText:"确定",cancelHidden:true,maskClosable:false},o,{onOk:function e(n,r){return o.onClick==null?void 0:o.onClick(r)}}))};var A=b(),B=A[0],L=A[1];var z=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var E=function e(l){var a=l.onOk,u=l.onCancel,s=l.content,f=l.okText,v=l.cancelText,C=l.okButtonExtraProps,y=l.cancelButtonExtraProps,x=l.operatePosition,b=x===void 0?"footer":x,j=l.operateRender,O=l.width,R=l.okHidden,M=l.cancelHidden,P=l.extra,T=n(l,z);var F=p.useForm(),N=F[0];var H=k.useResponsivePoint()||"";var A=t({}),B=A[0],E=A[1];var W=o.useCallbackRef(function(e){l.onClose==null||l.onClose(e)});var _=o.useCallbackRef(function(e){if(u){var o=u(N,e);if(o&&c(o)){return o.then(W)}}W(e);return Promise.resolve()});var S=o.useCallbackRef(function(e){if(a){var o=a(N,e);if(o&&c(o)){return o.then(W)}}W(e);return Promise.resolve()});var Y=k.useMemoCustom(function(){if(j){return j(N,B)}var e=R||(C==null?void 0:C.hidden);var o=R||(C==null?void 0:C.hidden);var n=D(m,{children:[o?null:w(h,r({},y,{onClick:_,children:v||"取消"})),e?null:w(h,r({type:"primary"},C,{onClick:S,children:f||"提交"}))]});if(!R||!M){return n}return null},[B,l.open]);var q=i(function(){if(!H)return undefined;if(["xs","sm"].includes(H)){return{width:"90%",maxWidth:"90%"}}if(O){return{width:O,maxWidth:"calc(100% - 200px)"}}return{width:"40%",maxWidth:"calc(100% - 200px)"}},[H,O]);var I=typeof P==="function"?P(N):P;var U=function e(o){E(o)};var G=i(function(){return typeof s==="function"?s(N,{onClose:W}):s},[l.open]);return w(L,{value:{rerenderFooter:U},children:w(g,r({maskClosable:true,destroyOnClose:true,contentWrapperStyle:{maxWidth:q==null?void 0:q.maxWidth},footer:b==="footer"?Y:null},T,{width:q==null?void 0:q.width,styles:r({},T.styles),className:d("app-dialog-drawer",T.className),extra:b==="header"?Y:I,open:l.open,onClose:W,children:G}))})};var W=function e(o){var n=o.className,r=o.message,l=o.mask;var a=C.useToken(),t=a.token;var i=t.colorPrimary;return w(v,{maskClosable:false,centered:true,destroyOnClose:true,className:d("fba-dialog-loading",n),open:o.open,footer:null,closable:false,style:{"--fba-loading-color":i},mask:l,children:w(j,{className:d("fba-dialog-loading-content"),children:D("div",{className:"loader-wrapper",children:[w("div",{className:"loader-inner"}),w("div",{className:"loader-text",children:r||"处理中"})]})})})};var _=function e(){var o=u(O);var n=function e(){o.dialogDrawerClose==null||o.dialogDrawerClose()};return{appDialogDrawer:{open:function e(l){o.dialogDrawerOpen==null||o.dialogDrawerOpen(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogDrawer:function e(){var o=B();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var S=function e(){var o=u(O);var n=function e(){o.dialogDrawerClose2==null||o.dialogDrawerClose2()};return{appDialogDrawer2:{open:function e(l){o.dialogDrawerOpen2==null||o.dialogDrawerOpen2(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogDrawer:function e(){var o=B();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var Y=function e(){var o=u(O);var n=function e(){o.dialogModalClose==null||o.dialogModalClose()};return{appDialogModal:{open:function e(l){o.dialogModalOpen==null||o.dialogModalOpen(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogModal:function e(){var o=M();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var q=function e(){var o=u(O);var n=function e(){o.dialogModalClose2==null||o.dialogModalClose2()};return{appDialogModal2:{open:function e(l){o.dialogModalOpen2==null||o.dialogModalOpen2(r({},l,{open:true}));return{onClose:n}},close:n,useAppDialogModal:function e(){var o=M();return{rerenderFooter:function e(n){o.rerenderFooter(n)}}}}}};var I=function e(){var o=u(O);var n=function e(){o.dialogAlertClose==null||o.dialogAlertClose()};return{appDialogAlert:{open:function e(l){o.dialogAlertOpen==null||o.dialogAlertOpen(r({},l,{open:true}));return{onClose:n}},close:n}}};var U=function e(){var o=u(O);var n=function e(){o.dialogConfirmClose==null||o.dialogConfirmClose()};return{appDialogConfirm:{open:function e(l){o.dialogConfirmOpen==null||o.dialogConfirmOpen(r({},l,{open:true}));return{onClose:n}},close:n}}};var G=function e(){var o=u(O);var n=function e(){o.dialogLoadingClose==null||o.dialogLoadingClose()};return{appDialogLoading:{open:function e(l){o.dialogLoadingOpen==null||o.dialogLoadingOpen(r({},l,{open:true}));return{onClose:n}},close:n}}};var J=function e(n){var a=t({}),i=a[0],u=a[1];var d=t(l()),c=d[0],f=d[1];var p=t({}),v=p[0],m=p[1];var g=t(l()),C=g[0],h=g[1];var k=t({}),y=k[0],x=k[1];var b=t(l()),w=b[0],j=b[1];var R=t({}),M=R[0],P=R[1];var T=t(l()),A=T[0],B=T[1];var L=t({}),z=L[0],_=L[1];var S=t({}),Y=S[0],q=S[1];var I=t(),U=I[0],G=I[1];var J=t(l()),K=J[0],Q=J[1];var V=t(l()),X=V[0],Z=V[1];var $=t(l()),ee=$[0],oe=$[1];var ne=o.useCallbackRef(function(e){u(e)});var re=o.useCallbackRef(function(e){u(r({},i,{open:false}));i.onClose==null||i.onClose(e);setTimeout(function(){f(l())},200)});var le=o.useCallbackRef(function(e){m(e)});var ae=o.useCallbackRef(function(e){m(r({},v,{open:false}));v.onClose==null||v.onClose(e);setTimeout(function(){h(l())},200)});var te=o.useCallbackRef(function(e){x(e)});var ie=o.useCallbackRef(function(){x(r({},y,{open:false}));y.onClose==null||y.onClose();setTimeout(function(){j(l())},200)});var ue=o.useCallbackRef(function(e){P(e)});var se=o.useCallbackRef(function(){P(r({},M,{open:false}));M.onClose==null||M.onClose();setTimeout(function(){B(l())},200)});var de=o.useCallbackRef(function(e){_(e)});var ce=o.useCallbackRef(function(){_(r({},z,{open:false}));z.onClose==null||z.onClose();setTimeout(function(){Q(l())},200)});var fe=o.useCallbackRef(function(e){q(e)});var pe=o.useCallbackRef(function(){q(r({},Y,{open:false}));Y.onClose==null||Y.onClose();setTimeout(function(){Z(l())},200)});var ve=o.useCallbackRef(function(e){G(e)});var me=o.useCallbackRef(function(){G(r({},U,{open:false}));setTimeout(function(){oe(l())},200)});return D(O.Provider,{value:{dialogDrawerOpen:ne,dialogDrawerClose:re,dialogDrawerOpen2:le,dialogDrawerClose2:ae,dialogModalOpen:te,dialogModalClose:ie,dialogModalOpen2:ue,dialogModalClose2:se,dialogAlertOpen:de,dialogAlertClose:ce,dialogConfirmOpen:fe,dialogConfirmClose:pe,dialogLoadingOpen:ve,dialogLoadingClose:me},children:[s(E,r({},i,{onClose:re,key:c})),s(E,r({},v,{onClose:ae,key:C})),s(F,r({},y,{onClose:ie,key:w})),s(F,r({},M,{onClose:se,key:A})),s(H,r({},z,{onClose:ce,key:K})),s(N,r({},Y,{onClose:pe,key:X})),s(W,r({},U,{key:ee})),n.children]})};var K=e.attachPropertiesToComponent(J,{useDialogDrawer:_,useDialogDrawer2:S,useDialogModal:Y,useDialogModal2:q,useDialogConfirm:U,useDialogAlert:I,useDialogLoading:G});export{K as FbaApp};
|
|
12
12
|
//# 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/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/context.ts","@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 dialogDrawerOpen?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose?: (e?) => void;\n\n dialogDrawerOpen2?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose2?: (e?) => void;\n\n dialogModalOpen?: (data: FbaAppModalProps) => void;\n dialogModalClose?: () => void;\n\n dialogModalOpen2?: (data: FbaAppModalProps) => void;\n dialogModalClose2?: () => 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","import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useFbaAppDialogModalCtx, CtxProvider] = createCtx<{\n /** 重新渲染footer */\n rerenderFooter: (data?: TPlainObject) => void;\n}>();\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { TNoopDefine, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { fbaHooks } from '../../fba-hooks';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport { CtxProvider } from './context';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n /**\n * 内置尺寸,根据比例固定高度、宽度\n * ```\n * 1. 如果自定义了width、bodyHeight属性,size中的height、width将对应失效\n * 2. 不传、传null值可取消内置尺寸\n * ```\n */\n size?: 'small' | 'middle' | 'large' | null;\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 /**\n * content只在第一次弹起时,执行一次\n */\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 * @deprecated 已失效,可通过size属性设置\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n /**\n * null则隐藏footer\n * ```\n * extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n footer?:\n | null\n | ReactElement\n | ReactElement[]\n | ((form: FormInstance, extraData?: TPlainObject) => ReactElement);\n /** 内容高度,为styles.body.height快捷配置,优先级低于styles.body.height */\n bodyHeight?: number;\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 size,\n bodyHeight,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const htmlSize = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\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 footerNew = fbaHooks.useMemoCustom(() => {\n if (footer) {\n return typeof footer === 'function' ? footer(form, footerExtraData) : footer;\n }\n if ((cancelHidden && okHidden) || footer === null) {\n return null;\n }\n return [\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 ].filter(Boolean);\n }, [footerExtraData, props.open]);\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n const isXsSm = ['xs', 'sm'].includes(screenType);\n if (isXsSm) {\n return { width: '90%' };\n }\n if (size == 'large') {\n return {\n height: htmlSize?.height * 0.7,\n width: isXsSm ? '90%' : htmlSize.width * 0.6,\n };\n }\n if (size == 'small') {\n const width = htmlSize.width * 0.3;\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : width < 470 ? 470 : width,\n };\n }\n\n if (size == 'middle') {\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : htmlSize.width * 0.5,\n };\n }\n\n return undefined;\n }, [htmlSize?.height, htmlSize?.width, screenType, size]);\n\n const classNameNew = classNames(\n 'fba-dialog-modal',\n { 'fba-dialog-modal-title-extra': !!titleExtra },\n { 'fba-dialog-modal-footer-empty': !footerNew },\n className,\n );\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n const bodyHeightNew = otherProps.styles?.body?.height || bodyHeight;\n\n // content 只会在第一次渲染\n const contentFt = useMemo(() => {\n return typeof content === 'function' ? content(form, { onClose }) : content;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.open]);\n\n return (\n <CtxProvider value={{ rerenderFooter }}>\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 width={customSize?.width}\n {...otherProps}\n footer={footerNew}\n styles={{\n ...otherProps.styles,\n body: {\n height: bodyHeightNew || customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNameNew}\n open={props.open}\n >\n {contentFt}\n </Modal>\n </CtxProvider>\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 size={null}\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 { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useFbaAppDialogDrawerCtx, CtxProvider] = createCtx<{\n /** 重新渲染footer */\n rerenderFooter: (data?: TPlainObject) => void;\n}>();\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode, useMemo, useState } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { fbaHooks } from '../../fba-hooks';\nimport { CtxProvider } from './context';\nimport './style.less';\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 /**\n * content只在第一次弹起时,执行一次\n */\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 okHidden?: boolean;\n cancelHidden?: boolean;\n\n /** 设置操作区域位置 */\n operatePosition?: 'header' | 'footer';\n /** 右上角自定义内容,如果operatePosition=header,此设置无效 */\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n /**\n * ```\n * 1. 自定义弹框操作区域,通过 operatePosition 配置可以自定义位置\n * 2. extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n operateRender?: (form: FormInstance, extraData?: TPlainObject) => 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,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\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 newOperateRender = fbaHooks.useMemoCustom(() => {\n if (operateRender) {\n return operateRender(form, footerExtraData);\n }\n\n const okHiddenNew = okHidden || okButtonExtraProps?.hidden;\n const cancelHiddenNew = okHidden || okButtonExtraProps?.hidden;\n\n const operateGroup = (\n <Space>\n {cancelHiddenNew ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHiddenNew ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n }, [footerExtraData, props.open]);\n\n const customSize = useMemo(() => {\n if (!screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n width: '90%',\n maxWidth: '90%',\n };\n }\n if (width) {\n return { width: width, maxWidth: 'calc(100% - 200px)' };\n }\n return { width: '40%', maxWidth: 'calc(100% - 200px)' };\n }, [screenType, width]);\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n // content 只会在第一次渲染\n const contentFt = useMemo(() => {\n return typeof content === 'function' ? content(form, { onClose }) : content;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.open]);\n\n return (\n <CtxProvider value={{ rerenderFooter }}>\n <Drawer\n maskClosable={true}\n destroyOnClose\n // 5.13.0 新增 styles.wrapper,并废弃 contentWrapperStyle drawerStyle maskStyle 属性\n contentWrapperStyle={{ maxWidth: customSize?.maxWidth }}\n footer={operatePosition === 'footer' ? newOperateRender : null}\n {...otherProps}\n width={customSize?.width}\n styles={{\n ...otherProps.styles,\n // wrapper: {\n // maxWidth: customSize?.maxWidth,\n // ...otherProps.styles?.wrapper,\n // },\n }}\n className={classNames('app-dialog-drawer', otherProps.className)}\n extra={operatePosition === 'header' ? newOperateRender : extraRender}\n open={props.open}\n onClose={onClose}\n >\n {contentFt}\n </Drawer>\n </CtxProvider>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport { BlockLayout } from '../../block-layout';\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 <BlockLayout 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 </BlockLayout>\n </Modal>\n );\n};\n","import { getUuid, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { 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 { useFbaAppDialogDrawerCtx } from './dialog-drawer/context';\nimport { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\nimport { useFbaAppDialogModalCtx } from './dialog-modal/context';\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\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 * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useAppDialogDrawer: () => {\n const ctx = useFbaAppDialogDrawerCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n */\nexport const useDialogDrawer2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose2?.();\n };\n\n return {\n appDialogDrawer2: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n /**\n * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useAppDialogDrawer: () => {\n const ctx = useFbaAppDialogDrawerCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogModal2\n * ```\n * 1. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\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 * rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n */\n useAppDialogModal: () => {\n const ctx = useFbaAppDialogModalCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * ```\n * 1. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const useDialogModal2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose2?.();\n };\n\n return {\n appDialogModal2: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n /**\n * rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n */\n useAppDialogModal: () => {\n const ctx = useFbaAppDialogModalCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\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};\n/**\n * 不支持多个弹框\n * @returns\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};\n/**\n * 不支持多个弹框\n * @returns\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 [drawerKey, setDrawerKey] = useState(getUuid());\n\n const [drawerProps2, setDrawerProps2] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey2, setDrawerKey2] = useState(getUuid());\n\n const [modalProps, setModalProps] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey, setModalKey] = useState(getUuid());\n\n const [modalProps2, setModalProps2] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey2, setModalKey2] = useState(getUuid());\n\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 [alertKey, setAlertKey] = useState(getUuid());\n const [confirmKey, setConfirmKey] = useState(getUuid());\n const [loadingKey, setLoadingKey] = useState(getUuid());\n\n const dialogDrawerOpen: FbaAppContextApi['dialogDrawerOpen'] = hooks.useCallbackRef((data) => {\n setDrawerProps(data);\n });\n const dialogDrawerClose = hooks.useCallbackRef((e) => {\n setDrawerProps({ ...drawerProps, open: false } as FbaAppDrawerProps);\n drawerProps.onClose?.(e);\n setTimeout(() => {\n setDrawerKey(getUuid());\n }, 200);\n });\n\n const dialogDrawerOpen2: FbaAppContextApi['dialogDrawerOpen2'] = hooks.useCallbackRef((data) => {\n setDrawerProps2(data);\n });\n\n const dialogDrawerClose2 = hooks.useCallbackRef((e) => {\n setDrawerProps2({ ...drawerProps2, open: false } as FbaAppDrawerProps);\n drawerProps2.onClose?.(e);\n setTimeout(() => {\n setDrawerKey2(getUuid());\n }, 200);\n });\n\n const dialogModalOpen: FbaAppContextApi['dialogModalOpen'] = hooks.useCallbackRef((data) => {\n setModalProps(data);\n });\n\n const dialogModalClose = hooks.useCallbackRef(() => {\n setModalProps({ ...modalProps, open: false } as FbaAppModalProps);\n modalProps.onClose?.();\n setTimeout(() => {\n setModalKey(getUuid());\n }, 200);\n });\n\n const dialogModalOpen2: FbaAppContextApi['dialogModalOpen2'] = hooks.useCallbackRef((data) => {\n setModalProps2(data);\n });\n\n const dialogModalClose2 = hooks.useCallbackRef(() => {\n setModalProps2({ ...modalProps2, open: false } as FbaAppModalProps);\n modalProps2.onClose?.();\n setTimeout(() => {\n setModalKey2(getUuid());\n }, 200);\n });\n\n const dialogAlertOpen: FbaAppContextApi['dialogAlertOpen'] = hooks.useCallbackRef((data) => {\n setAlertProps(data);\n });\n\n const dialogAlertClose = hooks.useCallbackRef(() => {\n setAlertProps({ ...alertProps, open: false } as FbaAppAlertProps);\n alertProps.onClose?.();\n setTimeout(() => {\n setAlertKey(getUuid());\n }, 200);\n });\n\n const dialogConfirmOpen: FbaAppContextApi['dialogConfirmOpen'] = hooks.useCallbackRef((data) => {\n setConfirmProps(data);\n });\n\n const dialogConfirmClose = hooks.useCallbackRef(() => {\n setConfirmProps({ ...confirmProps, open: false } as FbaAppConfirmProps);\n confirmProps.onClose?.();\n setTimeout(() => {\n setConfirmKey(getUuid());\n }, 200);\n });\n\n const dialogLoadingOpen: FbaAppContextApi['dialogLoadingOpen'] = hooks.useCallbackRef((data) => {\n setLoadingProps(data);\n });\n\n const dialogLoadingClose = hooks.useCallbackRef(() => {\n setLoadingProps({ ...loadingProps, open: false } as FbaAppLoadingProps);\n setTimeout(() => {\n setLoadingKey(getUuid());\n }, 200);\n });\n\n return (\n <FbaAppContext.Provider\n value={{\n dialogDrawerOpen,\n dialogDrawerClose,\n dialogDrawerOpen2,\n dialogDrawerClose2,\n dialogModalOpen,\n dialogModalClose,\n dialogModalOpen2,\n dialogModalClose2,\n dialogAlertOpen,\n dialogAlertClose,\n dialogConfirmOpen,\n dialogConfirmClose,\n dialogLoadingOpen,\n dialogLoadingClose,\n }}\n >\n <FbaAppDrawer {...drawerProps} onClose={dialogDrawerClose} key={drawerKey}></FbaAppDrawer>\n <FbaAppDrawer {...drawerProps2} onClose={dialogDrawerClose2} key={drawerKey2}></FbaAppDrawer>\n <FbaAppModal {...modalProps} onClose={dialogModalClose} key={modalKey}></FbaAppModal>\n <FbaAppModal {...modalProps2} onClose={dialogModalClose2} key={modalKey2}></FbaAppModal>\n <FbaAppAlert {...alertProps} onClose={dialogAlertClose} key={alertKey}></FbaAppAlert>\n <FbaAppConfirm {...confirmProps} onClose={dialogConfirmClose} key={confirmKey}></FbaAppConfirm>\n <FbaAppLoading {...loadingProps} key={loadingKey}></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 useDialogDrawer2,\n useDialogLoading,\n useDialogModal,\n useDialogModal2,\n} from './fba-app';\n\nexport const FbaApp = fbaUtils.attachPropertiesToComponent(FbaAppInner, {\n /** 不支持多次弹框,第二个弹框可使用useDialogDrawer2 */\n useDialogDrawer,\n useDialogDrawer2,\n /** 不支持多次弹框,第二个弹框可使用useDialogModal2 */\n useDialogModal,\n useDialogModal2,\n /** 不支持多次弹框 */\n useDialogConfirm,\n /** 不支持多次弹框 */\n useDialogAlert,\n /** 不支持多次弹框 */\n useDialogLoading,\n});\n"],"names":["FbaAppContext","createContext","_createCtx","_createCtx2","useFbaAppDialogModalCtx","CtxProvider","FbaAppModal","props","_otherProps$styles","_otherProps$styles2","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","htmlSize","useSize","document","querySelector","localMessage","getFbaLocaleMessage","screenType","fbaHooks","useResponsivePoint","_useState","useState","footerExtraData","setFooterExtraData","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","footerNew","useMemoCustom","_localMessage$FbaDial","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","filter","Boolean","open","customSize","useMemo","height","undefined","isXsSm","includes","width","classNameNew","_classNames","rerenderFooter","data","bodyHeightNew","styles","body","contentFt","value","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","maxHeight","FbaAppConfirm","FbaAppAlert","_form","useFbaAppDialogDrawerCtx","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","extra","newOperateRender","okHiddenNew","cancelHiddenNew","operateGroup","Space","maxWidth","extraRender","Drawer","contentWrapperStyle","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","BlockLayout","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","dialogDrawerOpen","close","useAppDialogDrawer","useDialogDrawer2","dialogDrawerClose2","appDialogDrawer2","dialogDrawerOpen2","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useAppDialogModal","useDialogModal2","dialogModalClose2","appDialogModal2","dialogModalOpen2","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","drawerProps","setDrawerProps","_useState2","getUuid","drawerKey","setDrawerKey","_useState3","drawerProps2","setDrawerProps2","_useState4","drawerKey2","setDrawerKey2","_useState5","modalProps","setModalProps","_useState6","modalKey","setModalKey","_useState7","modalProps2","setModalProps2","_useState8","modalKey2","setModalKey2","_useState9","alertProps","setAlertProps","_useState10","confirmProps","setConfirmProps","_useState11","loadingProps","setLoadingProps","_useState12","alertKey","setAlertKey","_useState13","confirmKey","setConfirmKey","_useState14","loadingKey","setLoadingKey","setTimeout","Provider","_createElement","key","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/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/context.ts","@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 dialogDrawerOpen?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose?: (e?) => void;\n\n dialogDrawerOpen2?: (data: FbaAppDrawerProps) => void;\n dialogDrawerClose2?: (e?) => void;\n\n dialogModalOpen?: (data: FbaAppModalProps) => void;\n dialogModalClose?: () => void;\n\n dialogModalOpen2?: (data: FbaAppModalProps) => void;\n dialogModalClose2?: () => 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","import { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useFbaAppDialogModalCtx, CtxProvider] = createCtx<{\n /** 重新渲染footer */\n rerenderFooter: (data?: TPlainObject) => void;\n}>();\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { TNoopDefine, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo, useState } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { fbaHooks } from '../../fba-hooks';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport { CtxProvider } from './context';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n /**\n * 内置尺寸,根据比例固定高度、宽度\n * ```\n * 1. 如果自定义了width、bodyHeight属性,size中的height、width将对应失效\n * 2. 不传、传null值可取消内置尺寸\n * ```\n */\n size?: 'small' | 'middle' | 'large' | null;\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 /**\n * content只在第一次弹起时,执行一次\n */\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 * @deprecated 已失效,可通过size属性设置\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n /**\n * null则隐藏footer\n * ```\n * extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n footer?:\n | null\n | ReactElement\n | ReactElement[]\n | ((form: FormInstance, extraData?: TPlainObject) => ReactElement);\n /** 内容高度,为styles.body.height快捷配置,优先级低于styles.body.height */\n bodyHeight?: number;\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 size,\n bodyHeight,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const htmlSize = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\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 footerNew = fbaHooks.useMemoCustom(() => {\n if (footer) {\n return typeof footer === 'function' ? footer(form, footerExtraData) : footer;\n }\n if ((cancelHidden && okHidden) || footer === null) {\n return null;\n }\n return [\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 ].filter(Boolean);\n }, [footerExtraData, props.open]);\n\n const customSize = useMemo(() => {\n if (!htmlSize?.height || !screenType) return undefined;\n const isXsSm = ['xs', 'sm'].includes(screenType);\n if (isXsSm) {\n return { width: '90%' };\n }\n if (size == 'large') {\n return {\n height: htmlSize?.height * 0.7,\n width: isXsSm ? '90%' : htmlSize.width * 0.6,\n };\n }\n if (size == 'small') {\n const width = htmlSize.width * 0.3;\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : width < 470 ? 470 : width,\n };\n }\n\n if (size == 'middle') {\n return {\n height: htmlSize?.height * 0.4,\n width: isXsSm ? '90%' : htmlSize.width * 0.5,\n };\n }\n\n return undefined;\n }, [htmlSize?.height, htmlSize?.width, screenType, size]);\n\n const classNameNew = classNames(\n 'fba-dialog-modal',\n { 'fba-dialog-modal-title-extra': !!titleExtra },\n { 'fba-dialog-modal-footer-empty': !footerNew },\n className,\n );\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n const bodyHeightNew = otherProps.styles?.body?.height || bodyHeight;\n\n // content 只会在第一次渲染\n const contentFt = useMemo(() => {\n return typeof content === 'function' ? content(form, { onClose }) : content;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.open]);\n\n return (\n <CtxProvider value={{ rerenderFooter }}>\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 width={customSize?.width}\n {...otherProps}\n footer={footerNew}\n styles={{\n ...otherProps.styles,\n body: {\n height: bodyHeightNew || customSize?.height,\n maxHeight: 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNameNew}\n open={props.open}\n >\n {contentFt}\n </Modal>\n </CtxProvider>\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 size={null}\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 { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useFbaAppDialogDrawerCtx, CtxProvider] = createCtx<{\n /** 重新渲染footer */\n rerenderFooter: (data?: TPlainObject) => void;\n}>();\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode, useMemo, useState } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { fbaHooks } from '../../fba-hooks';\nimport { CtxProvider } from './context';\nimport './style.less';\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 /**\n * content只在第一次弹起时,执行一次\n */\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 okHidden?: boolean;\n cancelHidden?: boolean;\n\n /** 设置操作区域位置 */\n operatePosition?: 'header' | 'footer';\n /** 右上角自定义内容,如果operatePosition=header,此设置无效 */\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n /**\n * ```\n * 1. 自定义弹框操作区域,通过 operatePosition 配置可以自定义位置\n * 2. extraData 为外部通过 useDialogModal.rerenderFooter 重新渲染footer携带的数据\n * ```\n */\n operateRender?: (form: FormInstance, extraData?: TPlainObject) => 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,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [footerExtraData, setFooterExtraData] = useState<TPlainObject>({});\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 newOperateRender = fbaHooks.useMemoCustom(() => {\n if (operateRender) {\n return operateRender(form, footerExtraData);\n }\n\n const okHiddenNew = okHidden || okButtonExtraProps?.hidden;\n const cancelHiddenNew = okHidden || okButtonExtraProps?.hidden;\n\n const operateGroup = (\n <Space>\n {cancelHiddenNew ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHiddenNew ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n }, [footerExtraData, props.open]);\n\n const customSize = useMemo(() => {\n if (!screenType) return undefined;\n if (['xs', 'sm'].includes(screenType)) {\n return {\n width: '90%',\n maxWidth: '90%',\n };\n }\n if (width) {\n return { width: width, maxWidth: 'calc(100% - 200px)' };\n }\n return { width: '40%', maxWidth: 'calc(100% - 200px)' };\n }, [screenType, width]);\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n\n const rerenderFooter = (data) => {\n setFooterExtraData(data);\n };\n\n // content 只会在第一次渲染\n const contentFt = useMemo(() => {\n return typeof content === 'function' ? content(form, { onClose }) : content;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.open]);\n\n return (\n <CtxProvider value={{ rerenderFooter }}>\n <Drawer\n maskClosable={true}\n destroyOnClose\n // 5.13.0 新增 styles.wrapper,并废弃 contentWrapperStyle drawerStyle maskStyle 属性\n contentWrapperStyle={{ maxWidth: customSize?.maxWidth }}\n footer={operatePosition === 'footer' ? newOperateRender : null}\n {...otherProps}\n width={customSize?.width}\n styles={{\n ...otherProps.styles,\n // wrapper: {\n // maxWidth: customSize?.maxWidth,\n // ...otherProps.styles?.wrapper,\n // },\n }}\n className={classNames('app-dialog-drawer', otherProps.className)}\n extra={operatePosition === 'header' ? newOperateRender : extraRender}\n open={props.open}\n onClose={onClose}\n >\n {contentFt}\n </Drawer>\n </CtxProvider>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport { BlockLayout } from '../../block-layout';\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 <BlockLayout 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 </BlockLayout>\n </Modal>\n );\n};\n","import { getUuid, TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { 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 { useFbaAppDialogDrawerCtx } from './dialog-drawer/context';\nimport { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\nimport { useFbaAppDialogModalCtx } from './dialog-modal/context';\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\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 * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useAppDialogDrawer: () => {\n const ctx = useFbaAppDialogDrawerCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n */\nexport const useDialogDrawer2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose2?.();\n };\n\n return {\n appDialogDrawer2: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n /**\n * ```\n * 1. rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n * ```\n */\n useAppDialogDrawer: () => {\n const ctx = useFbaAppDialogDrawerCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogModal2\n * ```\n * 1. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\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 * rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n */\n useAppDialogModal: () => {\n const ctx = useFbaAppDialogModalCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * ```\n * 1. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null\n * ```\n */\nexport const useDialogModal2 = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose2?.();\n };\n\n return {\n appDialogModal2: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen2?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n /**\n * rerenderFooter 携带指定数据重新渲染 footer,可用于切换footer中的按钮状态\n */\n useAppDialogModal: () => {\n const ctx = useFbaAppDialogModalCtx();\n return {\n /** 重新渲染 footer, data为携带的数据,是footer的第二个参数 */\n rerenderFooter: (data?: TPlainObject) => {\n ctx.rerenderFooter(data);\n },\n };\n },\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\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};\n/**\n * 不支持多个弹框\n * @returns\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};\n/**\n * 不支持多个弹框\n * @returns\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 [drawerKey, setDrawerKey] = useState(getUuid());\n\n const [drawerProps2, setDrawerProps2] = useState<FbaAppDrawerProps>({} as FbaAppDrawerProps);\n const [drawerKey2, setDrawerKey2] = useState(getUuid());\n\n const [modalProps, setModalProps] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey, setModalKey] = useState(getUuid());\n\n const [modalProps2, setModalProps2] = useState<FbaAppModalProps>({} as FbaAppModalProps);\n const [modalKey2, setModalKey2] = useState(getUuid());\n\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 [alertKey, setAlertKey] = useState(getUuid());\n const [confirmKey, setConfirmKey] = useState(getUuid());\n const [loadingKey, setLoadingKey] = useState(getUuid());\n\n const dialogDrawerOpen: FbaAppContextApi['dialogDrawerOpen'] = hooks.useCallbackRef((data) => {\n setDrawerProps(data);\n });\n const dialogDrawerClose = hooks.useCallbackRef((e) => {\n setDrawerProps({ ...drawerProps, open: false } as FbaAppDrawerProps);\n drawerProps.onClose?.(e);\n setTimeout(() => {\n setDrawerKey(getUuid());\n }, 200);\n });\n\n const dialogDrawerOpen2: FbaAppContextApi['dialogDrawerOpen2'] = hooks.useCallbackRef((data) => {\n setDrawerProps2(data);\n });\n\n const dialogDrawerClose2 = hooks.useCallbackRef((e) => {\n setDrawerProps2({ ...drawerProps2, open: false } as FbaAppDrawerProps);\n drawerProps2.onClose?.(e);\n setTimeout(() => {\n setDrawerKey2(getUuid());\n }, 200);\n });\n\n const dialogModalOpen: FbaAppContextApi['dialogModalOpen'] = hooks.useCallbackRef((data) => {\n setModalProps(data);\n });\n\n const dialogModalClose = hooks.useCallbackRef(() => {\n setModalProps({ ...modalProps, open: false } as FbaAppModalProps);\n modalProps.onClose?.();\n setTimeout(() => {\n setModalKey(getUuid());\n }, 200);\n });\n\n const dialogModalOpen2: FbaAppContextApi['dialogModalOpen2'] = hooks.useCallbackRef((data) => {\n setModalProps2(data);\n });\n\n const dialogModalClose2 = hooks.useCallbackRef(() => {\n setModalProps2({ ...modalProps2, open: false } as FbaAppModalProps);\n modalProps2.onClose?.();\n setTimeout(() => {\n setModalKey2(getUuid());\n }, 200);\n });\n\n const dialogAlertOpen: FbaAppContextApi['dialogAlertOpen'] = hooks.useCallbackRef((data) => {\n setAlertProps(data);\n });\n\n const dialogAlertClose = hooks.useCallbackRef(() => {\n setAlertProps({ ...alertProps, open: false } as FbaAppAlertProps);\n alertProps.onClose?.();\n setTimeout(() => {\n setAlertKey(getUuid());\n }, 200);\n });\n\n const dialogConfirmOpen: FbaAppContextApi['dialogConfirmOpen'] = hooks.useCallbackRef((data) => {\n setConfirmProps(data);\n });\n\n const dialogConfirmClose = hooks.useCallbackRef(() => {\n setConfirmProps({ ...confirmProps, open: false } as FbaAppConfirmProps);\n confirmProps.onClose?.();\n setTimeout(() => {\n setConfirmKey(getUuid());\n }, 200);\n });\n\n const dialogLoadingOpen: FbaAppContextApi['dialogLoadingOpen'] = hooks.useCallbackRef((data) => {\n setLoadingProps(data);\n });\n\n const dialogLoadingClose = hooks.useCallbackRef(() => {\n setLoadingProps({ ...loadingProps, open: false } as FbaAppLoadingProps);\n setTimeout(() => {\n setLoadingKey(getUuid());\n }, 200);\n });\n\n return (\n <FbaAppContext.Provider\n value={{\n dialogDrawerOpen,\n dialogDrawerClose,\n dialogDrawerOpen2,\n dialogDrawerClose2,\n dialogModalOpen,\n dialogModalClose,\n dialogModalOpen2,\n dialogModalClose2,\n dialogAlertOpen,\n dialogAlertClose,\n dialogConfirmOpen,\n dialogConfirmClose,\n dialogLoadingOpen,\n dialogLoadingClose,\n }}\n >\n <FbaAppDrawer {...drawerProps} onClose={dialogDrawerClose} key={drawerKey}></FbaAppDrawer>\n <FbaAppDrawer {...drawerProps2} onClose={dialogDrawerClose2} key={drawerKey2}></FbaAppDrawer>\n <FbaAppModal {...modalProps} onClose={dialogModalClose} key={modalKey}></FbaAppModal>\n <FbaAppModal {...modalProps2} onClose={dialogModalClose2} key={modalKey2}></FbaAppModal>\n <FbaAppAlert {...alertProps} onClose={dialogAlertClose} key={alertKey}></FbaAppAlert>\n <FbaAppConfirm {...confirmProps} onClose={dialogConfirmClose} key={confirmKey}></FbaAppConfirm>\n <FbaAppLoading {...loadingProps} key={loadingKey}></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 useDialogDrawer2,\n useDialogLoading,\n useDialogModal,\n useDialogModal2,\n} from './fba-app';\n\nexport const FbaApp = fbaUtils.attachPropertiesToComponent(FbaAppInner, {\n /** 不支持多次弹框,第二个弹框可使用useDialogDrawer2 */\n useDialogDrawer,\n useDialogDrawer2,\n /** 不支持多次弹框,第二个弹框可使用useDialogModal2 */\n useDialogModal,\n useDialogModal2,\n /** 不支持多次弹框 */\n useDialogConfirm,\n /** 不支持多次弹框 */\n useDialogAlert,\n /** 不支持多次弹框 */\n useDialogLoading,\n});\n"],"names":["FbaAppContext","createContext","_createCtx","_createCtx2","useFbaAppDialogModalCtx","CtxProvider","FbaAppModal","props","_otherProps$styles","_otherProps$styles2","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","size","bodyHeight","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","htmlSize","useSize","document","querySelector","localMessage","getFbaLocaleMessage","screenType","fbaHooks","useResponsivePoint","_useState","useState","footerExtraData","setFooterExtraData","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","footerNew","useMemoCustom","_localMessage$FbaDial","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","filter","Boolean","open","customSize","useMemo","height","undefined","isXsSm","includes","width","classNameNew","_classNames","rerenderFooter","data","bodyHeightNew","styles","body","contentFt","value","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","maxHeight","FbaAppConfirm","FbaAppAlert","_form","useFbaAppDialogDrawerCtx","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","extra","newOperateRender","okHiddenNew","cancelHiddenNew","operateGroup","Space","maxWidth","extraRender","Drawer","contentWrapperStyle","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","BlockLayout","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","dialogDrawerOpen","close","useAppDialogDrawer","useDialogDrawer2","dialogDrawerClose2","appDialogDrawer2","dialogDrawerOpen2","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useAppDialogModal","useDialogModal2","dialogModalClose2","appDialogModal2","dialogModalOpen2","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","drawerProps","setDrawerProps","_useState2","getUuid","drawerKey","setDrawerKey","_useState3","drawerProps2","setDrawerProps2","_useState4","drawerKey2","setDrawerKey2","_useState5","modalProps","setModalProps","_useState6","modalKey","setModalKey","_useState7","modalProps2","setModalProps2","_useState8","modalKey2","setModalKey2","_useState9","alertProps","setAlertProps","_useState0","confirmProps","setConfirmProps","_useState1","loadingProps","setLoadingProps","_useState10","alertKey","setAlertKey","_useState11","confirmKey","setConfirmKey","_useState12","loadingKey","setLoadingKey","setTimeout","Provider","_createElement","key","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":";k6CA8BO,IAAMA,EAAgBC,EAAgC,IC3BtD,IAAAC,EAA+CC,IAAxCC,EAAuBF,EAAA,GAAEG,EAAWH,EAAA,yLC6D3C,IAAMI,EAAc,SAAdA,EAAeC,GAA4B,IAAAC,EAAAC,EACtD,IACEC,EAgBEH,EAhBFG,WACAC,EAeEJ,EAfFI,MACAC,EAcEL,EAdFK,KACAC,EAaEN,EAbFM,SACAC,EAYEP,EAZFO,cACAC,EAWER,EAXFQ,kBACAC,EAUET,EAVFS,QACAC,EASEV,EATFU,UACAC,EAQEX,EARFW,SACAC,EAOEZ,EAPFY,aACAC,EAMEb,EANFa,OACAC,EAKEd,EALFc,WACAC,EAIEf,EAJFe,OACAC,EAGEhB,EAHFgB,KACAC,EAEEjB,EAFFiB,WACGC,EAAUC,EACXnB,EAAKoB,GACT,IAAAC,EAAeC,EAAKC,UAAbC,EAAIH,EAAA,GACX,IAAMI,EAAWC,EAAQC,SAASC,cAAc,SAChD,IAAMC,EAAeC,IACrB,IAAMC,EAAaC,EAASC,sBAAwB,GAEpD,IAAAC,EAA8CC,EAAuB,IAA9DC,EAAeF,EAAA,GAAEG,EAAkBH,EAAA,GAE1C,IAAMI,EAAUC,EAAMC,eAAe,WACnCxC,EAAMsC,SAAO,MAAbtC,EAAMsC,SACR,GAEA,IAAMG,EAAiBF,EAAMC,eAAe,SAACE,GAC3C,GAAIpC,EAAU,CACZ,IAAMqC,EAAWrC,EAASkB,EAAMkB,GAChC,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKP,EACvB,CACF,CACAA,IACA,OAAOQ,QAAQC,SACjB,GAEA,IAAMC,EAAaT,EAAMC,eAAe,SAACE,GACvC,GAAIrC,EAAM,CACR,IAAMsC,EAAWtC,EAAKmB,EAAMkB,GAC5B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKP,EACvB,CACF,CACAA,IACA,OAAOQ,QAAQC,SACjB,GAEA,IAAME,EAAYjB,EAASkB,cAAc,WAAM,IAAAC,EAC7C,GAAItC,EAAQ,CACV,cAAcA,IAAW,WAAaA,EAAOW,EAAMY,GAAmBvB,CACxE,CACA,GAAKD,GAAgBD,GAAaE,IAAW,KAAM,CACjD,OAAO,IACT,CACA,MAAO,CACLuC,EAACC,EAAaC,KAAa9C,EAAiB,CAAE+C,QAASd,EAAgBe,OAAQ5C,EAAa6C,SACzF3C,KAAUqC,EAAItB,EAAa6B,iBAAc,UAAA,EAA3BP,EAA6BrC,cAD3B,KAGnBsC,EAACC,EAAaC,EAAA,CAASK,KAAK,WAAcpD,EAAa,CAAEgD,QAASP,EAAYQ,OAAQ7C,EAAS8C,SAC5F1C,GAAU,OADM,MAGnB6C,OAAOC,QACV,EAAE,CAACzB,EAAiBpC,EAAM8D,OAE3B,IAAMC,EAAaC,EAAQ,WACzB,KAAKvC,GAAQ,MAARA,EAAUwC,UAAWlC,EAAY,OAAOmC,UAC7C,IAAMC,EAAS,CAAC,KAAM,MAAMC,SAASrC,GACrC,GAAIoC,EAAQ,CACV,MAAO,CAAEE,MAAO,MAClB,CACA,GAAIrD,GAAQ,QAAS,CACnB,MAAO,CACLiD,QAAQxC,GAAQ,UAAA,EAARA,EAAUwC,QAAS,GAC3BI,MAAOF,EAAS,MAAQ1C,EAAS4C,MAAQ,GAE7C,CACA,GAAIrD,GAAQ,QAAS,CACnB,IAAMqD,EAAQ5C,EAAS4C,MAAQ,GAC/B,MAAO,CACLJ,QAAQxC,GAAQ,UAAA,EAARA,EAAUwC,QAAS,GAC3BI,MAAOF,EAAS,MAAQE,EAAQ,IAAM,IAAMA,EAEhD,CAEA,GAAIrD,GAAQ,SAAU,CACpB,MAAO,CACLiD,QAAQxC,GAAQ,UAAA,EAARA,EAAUwC,QAAS,GAC3BI,MAAOF,EAAS,MAAQ1C,EAAS4C,MAAQ,GAE7C,CAEA,OAAOH,SACT,EAAG,CAACzC,eAAAA,EAAUwC,OAAQxC,GAAAA,UAAAA,EAAAA,EAAU4C,MAAOtC,EAAYf,IAEnD,IAAMsD,EAAeC,EACnB,mBACA,CAAE,iCAAkCpE,GACpC,CAAE,iCAAkC8C,GACpCvC,GAGF,IAAM8D,EAAiB,SAAjBA,EAAkBC,GACtBpC,EAAmBoC,IAGrB,IAAMC,IAAgBzE,EAAAiB,EAAWyD,SAAM,OAAA1E,EAAjBA,EAAmB2E,OAAI,UAAA,EAAvB3E,EAAyBgE,SAAUhD,EAGzD,IAAM4D,GAAYb,EAAQ,WACxB,cAAcvD,IAAY,WAAaA,EAAQe,EAAM,CAAEc,QAAAA,IAAa7B,CAEtE,EAAG,CAACT,EAAM8D,OAEV,OACEV,EAACtD,EAAW,CAACgF,MAAO,CAAEN,eAAAA,GAAiBf,SACrCL,EAAC2B,EAAKzB,EAAA,CACJ0B,aAAc,KACd5E,MACED,EACE8E,EAACC,EAAU,CAACC,UAAU,aAAaC,UAAW,EAAE3B,UAC9CL,EAAA,OAAA,CAAAK,SAAOrD,IACND,KAGHC,EAGJiF,SAAU,KACV/E,SAAUgC,EACVgD,eAAc,KACdjB,MAAON,GAAAA,UAAAA,EAAAA,EAAYM,OACfnD,EAAU,CACdL,OAAQoC,EACR0B,OAAMrB,EACDpC,GAAAA,EAAWyD,OAAM,CACpBC,KAAItB,EAAA,CACFW,OAAQS,IAAiBX,GAAAA,UAAAA,EAAAA,EAAYE,QACrCsB,UAAW,wBAAqBrF,EAC7BgB,EAAWyD,SAAXzE,UAAAA,EAAAA,EAAmB0E,QAG1BlE,UAAW4D,EACXR,KAAM9D,EAAM8D,KAAKL,SAEhBoB,OAIT,ECnNO,IAAMW,EAAgB,SAAhBA,EAAiBxF,GAC5B,IAAMU,EAAY6D,EAAW,qBAAsBvE,EAAMU,WACzD,OACE0C,EAACrD,EAAWuD,EAAA,CACVvC,OAAO,KACPC,KAAM,KACNqD,MAAO,IACPvD,WAAW,KACXkE,aAAc,MACVhF,EAAK,CACTU,UAAWA,IAGjB,ECUO,IAAM+E,EAAc,SAAdA,EAAezF,GAC1B,OACEoD,EAACoC,EAAalC,EAAA,CACZvC,OAAO,KACPH,aAAc,KACdoE,aAAc,OACVhF,EAAK,CACTK,KAAM,SAANA,EAAOqF,EAAOhD,GACZ,OAAO1C,EAAMuD,SAAO,UAAA,EAAbvD,EAAMuD,QAAUb,EACzB,IAGN,ECtCO,IAAA/C,EAAgDC,IAAzC+F,EAAwBhG,EAAA,GAAEG,EAAWH,EAAA,uLCyC5C,IAAMiG,EAAe,SAAfA,EAAgB5F,GAC3B,IACEK,EAcEL,EAdFK,KACAC,EAaEN,EAbFM,SACAG,EAYET,EAZFS,QACAM,EAWEf,EAXFe,OACAD,EAUEd,EAVFc,WACA+E,EASE7F,EATF6F,mBACAC,EAQE9F,EARF8F,uBAAsBC,EAQpB/F,EAPFgG,gBAAAA,EAAeD,SAAG,EAAA,SAAQA,EAC1BE,EAMEjG,EANFiG,cACA5B,EAKErE,EALFqE,MACA1D,EAIEX,EAJFW,SACAC,EAGEZ,EAHFY,aACAsF,EAEElG,EAFFkG,MACGhF,EAAUC,EACXnB,EAAKoB,GACT,IAAAC,EAAeC,EAAKC,UAAbC,EAAIH,EAAA,GACX,IAAMU,EAAaC,EAASC,sBAAwB,GACpD,IAAAC,EAA8CC,EAAuB,IAA9DC,EAAeF,EAAA,GAAEG,EAAkBH,EAAA,GAE1C,IAAMI,EAAUC,EAAMC,eAAe,SAACE,GACpC1C,EAAMsC,SAANtC,MAAAA,EAAMsC,QAAUI,EAClB,GAEA,IAAMD,EAAiBF,EAAMC,eAAe,SAACE,GAC3C,GAAIpC,EAAU,CACZ,IAAMqC,EAAWrC,EAASkB,EAAMkB,GAChC,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKP,EACvB,CACF,CACAA,EAAQI,GACR,OAAOI,QAAQC,SACjB,GAEA,IAAMC,EAAaT,EAAMC,eAAe,SAACE,GACvC,GAAIrC,EAAM,CACR,IAAMsC,EAAWtC,EAAKmB,EAAMkB,GAC5B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKP,EACvB,CACF,CACAA,EAAQI,GACR,OAAOI,QAAQC,SACjB,GAEA,IAAMoD,EAAmBnE,EAASkB,cAAc,WAC9C,GAAI+C,EAAe,CACjB,OAAOA,EAAczE,EAAMY,EAC7B,CAEA,IAAMgE,EAAczF,IAAYkF,GAAAA,UAAAA,EAAAA,EAAoBrC,QACpD,IAAM6C,EAAkB1F,IAAYkF,GAAAA,UAAAA,EAAAA,EAAoBrC,QAExD,IAAM8C,EACJrB,EAACsB,EAAK,CAAA9C,SAAA,CACH4C,EAAkB,KACjBjD,EAACC,EAAaC,EAAA,CAAA,EAAKwC,EAAsB,CAAEvC,QAASd,EAAegB,SAChE3C,GAAc,QAGlBsF,EAAc,KACbhD,EAACC,EAAaC,EAAA,CAACK,KAAK,WAAckC,EAAkB,CAAEtC,QAASP,EAAWS,SACvE1C,GAAU,WAKnB,IAAKJ,IAAaC,EAAc,CAC9B,OAAO0F,CACT,CACA,OAAO,IACR,EAAE,CAAClE,EAAiBpC,EAAM8D,OAE3B,IAAMC,EAAaC,EAAQ,WACzB,IAAKjC,EAAY,OAAOmC,UACxB,GAAI,CAAC,KAAM,MAAME,SAASrC,GAAa,CACrC,MAAO,CACLsC,MAAO,MACPmC,SAAU,MAEd,CACA,GAAInC,EAAO,CACT,MAAO,CAAEA,MAAOA,EAAOmC,SAAU,qBACnC,CACA,MAAO,CAAEnC,MAAO,MAAOmC,SAAU,qBACnC,EAAG,CAACzE,EAAYsC,IAEhB,IAAMoC,SAAqBP,IAAU,WAAaA,EAAM1E,GAAQ0E,EAEhE,IAAM1B,EAAiB,SAAjBA,EAAkBC,GACtBpC,EAAmBoC,IAIrB,IAAMI,EAAYb,EAAQ,WACxB,cAAcvD,IAAY,WAAaA,EAAQe,EAAM,CAAEc,QAAAA,IAAa7B,CAEtE,EAAG,CAACT,EAAM8D,OAEV,OACEV,EAACtD,EAAW,CAACgF,MAAO,CAAEN,eAAAA,GAAiBf,SACrCL,EAACsD,EAAMpD,EAAA,CACL0B,aAAc,KACdM,eAAc,KAEdqB,oBAAqB,CAAEH,SAAUzC,GAAAA,UAAAA,EAAAA,EAAYyC,UAC7C3F,OAAQmF,IAAoB,SAAWG,EAAmB,MACtDjF,EAAU,CACdmD,MAAON,GAAAA,UAAAA,EAAAA,EAAYM,MACnBM,OAAMrB,EAAA,GACDpC,EAAWyD,QAMhBjE,UAAW6D,EAAW,oBAAqBrD,EAAWR,WACtDwF,MAAOF,IAAoB,SAAWG,EAAmBM,EACzD3C,KAAM9D,EAAM8D,KACZxB,QAASA,EAAQmB,SAEhBoB,MAIT,EC/JO,IAAM+B,EAAgB,SAAhBA,EAAiB5G,GAC5B,IAAQU,EAA6BV,EAA7BU,UAAWmG,EAAkB7G,EAAlB6G,QAASC,EAAS9G,EAAT8G,KAC5B,IAAAC,EAAkBC,EAAMC,WAAhBC,EAAKH,EAALG,MACR,IAAMC,EAAeD,EAAMC,aAE3B,OACE/D,EAAC2B,EAAK,CACJC,aAAc,MACdK,SAAU,KACVC,eAAc,KACd5E,UAAW6D,EAAW,qBAAsB7D,GAC5CoD,KAAM9D,EAAM8D,KACZjD,OAAQ,KACRuG,SAAU,MACVC,MAAO,CAAE,sBAAuBF,GAChCL,KAAMA,EAAKrD,SAEXL,EAACkE,EAAW,CAAC5G,UAAW6D,EAAW,8BAA8Bd,SAC/DwB,EAAA,MAAA,CAAKvE,UAAU,iBAAgB+C,UAC7BL,EAAA,MAAA,CAAK1C,UAAU,iBACf0C,EAAA,MAAA,CAAK1C,UAAU,cAAa+C,SAAEoD,GAAW,cAKnD,ECtBO,IAAMU,EAAkB,SAAlBA,IACX,IAAMC,EAAMC,EAAWhI,GAEvB,IAAM6C,EAAU,SAAVA,IACJkF,EAAIE,mBAAiB,MAArBF,EAAIE,qBAGN,MAAO,CACLC,gBAAiB,CACf7D,KAAM,SAANA,EAAOW,GACL+C,EAAII,kBAAJJ,MAAAA,EAAII,iBAAgBtE,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACxC,MAAO,CAAExB,QAAAA,EACV,EACDuF,MAAOvF,EAMPwF,mBAAoB,SAApBA,IACE,IAAMN,EAAM7B,IACZ,MAAO,CAELnB,eAAgB,SAAhBA,EAAiBC,GACf+C,EAAIhD,eAAeC,EACrB,EAEJ,GAGN,EAKO,IAAMsD,EAAmB,SAAnBA,IACX,IAAMP,EAAMC,EAAWhI,GAEvB,IAAM6C,EAAU,SAAVA,IACJkF,EAAIQ,oBAAkB,MAAtBR,EAAIQ,sBAGN,MAAO,CACLC,iBAAkB,CAChBnE,KAAM,SAANA,EAAOW,GACL+C,EAAIU,mBAAJV,MAAAA,EAAIU,kBAAiB5E,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACzC,MAAO,CAAExB,QAAAA,EACV,EACDuF,MAAOvF,EAMPwF,mBAAoB,SAApBA,IACE,IAAMN,EAAM7B,IACZ,MAAO,CAELnB,eAAgB,SAAhBA,EAAiBC,GACf+C,EAAIhD,eAAeC,EACrB,EAEJ,GAGN,EAQO,IAAM0D,EAAiB,SAAjBA,IACX,IAAMX,EAAMC,EAAWhI,GAEvB,IAAM6C,EAAU,SAAVA,IACJkF,EAAIY,kBAAgB,MAApBZ,EAAIY,oBAGN,MAAO,CACLC,eAAgB,CACdvE,KAAM,SAANA,EAAOW,GACL+C,EAAIc,iBAAJd,MAAAA,EAAIc,gBAAehF,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACvC,MAAO,CAAExB,QAAAA,EACV,EACDuF,MAAOvF,EAIPiG,kBAAmB,SAAnBA,IACE,IAAMf,EAAM3H,IACZ,MAAO,CAEL2E,eAAgB,SAAhBA,EAAiBC,GACf+C,EAAIhD,eAAeC,EACrB,EAEJ,GAGN,EAQO,IAAM+D,EAAkB,SAAlBA,IACX,IAAMhB,EAAMC,EAAWhI,GAEvB,IAAM6C,EAAU,SAAVA,IACJkF,EAAIiB,mBAAiB,MAArBjB,EAAIiB,qBAGN,MAAO,CACLC,gBAAiB,CACf5E,KAAM,SAANA,EAAOW,GACL+C,EAAImB,kBAAJnB,MAAAA,EAAImB,iBAAgBrF,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACxC,MAAO,CAAExB,QAAAA,EACV,EACDuF,MAAOvF,EAIPiG,kBAAmB,SAAnBA,IACE,IAAMf,EAAM3H,IACZ,MAAO,CAEL2E,eAAgB,SAAhBA,EAAiBC,GACf+C,EAAIhD,eAAeC,EACrB,EAEJ,GAGN,EAMO,IAAMmE,EAAiB,SAAjBA,IACX,IAAMpB,EAAMC,EAAWhI,GAEvB,IAAM6C,EAAU,SAAVA,IACJkF,EAAIqB,kBAAgB,MAApBrB,EAAIqB,oBAGN,MAAO,CACLC,eAAgB,CACdhF,KAAM,SAANA,EAAOW,GACL+C,EAAIuB,iBAAJvB,MAAAA,EAAIuB,gBAAezF,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACvC,MAAO,CAAExB,QAAAA,EACV,EACDuF,MAAOvF,GAGb,EAKO,IAAM0G,EAAmB,SAAnBA,IACX,IAAMxB,EAAMC,EAAWhI,GAEvB,IAAM6C,EAAU,SAAVA,IACJkF,EAAIyB,oBAAkB,MAAtBzB,EAAIyB,sBAGN,MAAO,CACLC,iBAAkB,CAChBpF,KAAM,SAANA,EAAOW,GACL+C,EAAI2B,mBAAJ3B,MAAAA,EAAI2B,kBAAiB7F,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACzC,MAAO,CAAExB,QAAAA,EACV,EACDuF,MAAOvF,GAGb,EAKO,IAAM8G,EAAmB,SAAnBA,IACX,IAAM5B,EAAMC,EAAWhI,GAEvB,IAAM6C,EAAU,SAAVA,IACJkF,EAAI6B,oBAAkB,MAAtB7B,EAAI6B,sBAGN,MAAO,CACLC,iBAAkB,CAChBxF,KAAM,SAANA,EAAOW,GACL+C,EAAI+B,mBAAJ/B,MAAAA,EAAI+B,kBAAiBjG,EAAA,CAAA,EAAQmB,EAAI,CAAEX,KAAM,QACzC,MAAO,CAAExB,QAAAA,EACV,EACDuF,MAAOvF,GAGb,EAEO,IAAMkH,EAAS,SAATA,EAAUxJ,GACrB,IAAAkC,EAAsCC,EAA4B,IAA3DsH,EAAWvH,EAAA,GAAEwH,EAAcxH,EAAA,GAClC,IAAAyH,EAAkCxH,EAASyH,KAApCC,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAE9B,IAAAI,EAAwC5H,EAA4B,IAA7D6H,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpC,IAAAG,EAAoC/H,EAASyH,KAAtCO,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAEhC,IAAAG,EAAoClI,EAA2B,IAAxDmI,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAAG,EAAgCrI,EAASyH,KAAlCa,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAE5B,IAAAG,EAAsCxI,EAA2B,IAA1DyI,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAClC,IAAAG,EAAkC3I,EAASyH,KAApCmB,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9B,IAAAG,EAAoC9I,EAA2B,IAAxD+I,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAAG,EAAwCjJ,EAA6B,IAA9DkJ,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpC,IAAAG,EAAwCpJ,IAAjCqJ,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GAEpC,IAAAG,EAAgCvJ,EAASyH,KAAlC+B,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC5B,IAAAG,EAAoC1J,EAASyH,KAAtCkC,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAAG,EAAoC7J,EAASyH,KAAtCqC,GAAUD,EAAA,GAAEE,GAAaF,EAAA,GAEhC,IAAMpE,GAAyDrF,EAAMC,eAAe,SAACiC,GACnFiF,EAAejF,EACjB,GACA,IAAMiD,GAAoBnF,EAAMC,eAAe,SAACE,GAC9CgH,EAAcpG,EAAA,CAAA,EAAMmG,EAAW,CAAE3F,KAAM,SACvC2F,EAAYnH,SAAZmH,MAAAA,EAAYnH,QAAUI,GACtByJ,WAAW,WACTrC,EAAaF,IACd,EAAE,IACL,GAEA,IAAM1B,GAA2D3F,EAAMC,eAAe,SAACiC,GACrFwF,EAAgBxF,EAClB,GAEA,IAAMuD,GAAqBzF,EAAMC,eAAe,SAACE,GAC/CuH,EAAe3G,EAAA,CAAA,EAAM0G,EAAY,CAAElG,KAAM,SACzCkG,EAAa1H,SAAb0H,MAAAA,EAAa1H,QAAUI,GACvByJ,WAAW,WACT/B,EAAcR,IACf,EAAE,IACL,GAEA,IAAMtB,GAAuD/F,EAAMC,eAAe,SAACiC,GACjF8F,EAAc9F,EAChB,GAEA,IAAM2D,GAAmB7F,EAAMC,eAAe,WAC5C+H,EAAajH,EAAA,CAAA,EAAMgH,EAAU,CAAExG,KAAM,SACrCwG,EAAWhI,SAAO,MAAlBgI,EAAWhI,UACX6J,WAAW,WACTzB,EAAYd,IACb,EAAE,IACL,GAEA,IAAMjB,GAAyDpG,EAAMC,eAAe,SAACiC,GACnFoG,EAAepG,EACjB,GAEA,IAAMgE,GAAoBlG,EAAMC,eAAe,WAC7CqI,EAAcvH,EAAA,CAAA,EAAMsH,EAAW,CAAE9G,KAAM,SACvC8G,EAAYtI,SAAO,MAAnBsI,EAAYtI,UACZ6J,WAAW,WACTnB,EAAapB,IACd,EAAE,IACL,GAEA,IAAMb,GAAuDxG,EAAMC,eAAe,SAACiC,GACjF0G,EAAc1G,EAChB,GAEA,IAAMoE,GAAmBtG,EAAMC,eAAe,WAC5C2I,EAAa7H,EAAA,CAAA,EAAM4H,EAAU,CAAEpH,KAAM,SACrCoH,EAAW5I,SAAO,MAAlB4I,EAAW5I,UACX6J,WAAW,WACTP,EAAYhC,IACb,EAAE,IACL,GAEA,IAAMT,GAA2D5G,EAAMC,eAAe,SAACiC,GACrF6G,EAAgB7G,EAClB,GAEA,IAAMwE,GAAqB1G,EAAMC,eAAe,WAC9C8I,EAAehI,EAAA,CAAA,EAAM+H,EAAY,CAAEvH,KAAM,SACzCuH,EAAa/I,SAAO,MAApB+I,EAAa/I,UACb6J,WAAW,WACTJ,EAAcnC,IACf,EAAE,IACL,GAEA,IAAML,GAA2DhH,EAAMC,eAAe,SAACiC,GACrFgH,EAAgBhH,EAClB,GAEA,IAAM4E,GAAqB9G,EAAMC,eAAe,WAC9CiJ,EAAenI,EAAA,CAAA,EAAMkI,EAAY,CAAE1H,KAAM,SACzCqI,WAAW,WACTD,GAActC,IACf,EAAE,IACL,GAEA,OACE3E,EAACxF,EAAc2M,SAAQ,CACrBtH,MAAO,CACL8C,iBAAAA,GACAF,kBAAAA,GACAQ,kBAAAA,GACAF,mBAAAA,GACAM,gBAAAA,GACAF,iBAAAA,GACAO,iBAAAA,GACAF,kBAAAA,GACAM,gBAAAA,GACAF,iBAAAA,GACAM,kBAAAA,GACAF,mBAAAA,GACAM,kBAAAA,GACAF,mBAAAA,IACA5F,UAEF4I,EAACzG,EAAYtC,KAAKmG,EAAW,CAAEnH,QAASoF,GAAmB4E,IAAKzC,KAChEwC,EAACzG,EAAYtC,KAAK0G,EAAY,CAAE1H,QAAS0F,GAAoBsE,IAAKnC,KAClEkC,EAACtM,EAAWuD,KAAKgH,EAAU,CAAEhI,QAAS8F,GAAkBkE,IAAK7B,KAC7D4B,EAACtM,EAAWuD,KAAKsH,EAAW,CAAEtI,QAASmG,GAAmB6D,IAAKvB,KAC/DsB,EAAC5G,EAAWnC,KAAK4H,EAAU,CAAE5I,QAASuG,GAAkByD,IAAKX,KAC7DU,EAAC7G,EAAalC,KAAK+H,EAAY,CAAE/I,QAAS2G,GAAoBqD,IAAKR,KACnEO,EAACzF,EAAatD,KAAKkI,EAAY,CAAEc,IAAKL,MACrCjM,EAAMyD,WAGb,EClVO,IAAM+F,EAAS+C,EAASC,4BAA4BC,EAAa,CAEtElF,gBAAAA,EACAQ,iBAAAA,EAEAI,eAAAA,EACAK,gBAAAA,EAEAQ,iBAAAA,EAEAJ,eAAAA,EAEAQ,iBAAAA"}
|
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-c0dbec57.js";import{isArray as e}from"@dimjs/lang/cjs/is-array";import{hooks as t}from"@wove/react/cjs/hooks";import{useRef as n,useEffect as u,useMemo as o,useState as a}from"react";import{trim as i}from"@flatbiz/utils";import{u as c}from"../use-responsive-point-
|
|
4
|
+
import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{isArray as e}from"@dimjs/lang/cjs/is-array";import{hooks as t}from"@wove/react/cjs/hooks";import{useRef as n,useEffect as u,useMemo as o,useState as a}from"react";import{trim as i}from"@flatbiz/utils";import{u as c}from"../use-responsive-point-1e6d93d9.js";import{theme as s}from"antd";import{uuid as f}from"@dimjs/utils/cjs/uuid";var v=function u(o,a){if(a===void 0){a=true}var i=n(o);var c=t.useForceUpdate();var s={add:t.useCallbackRef(function(r,t){if(t){var n=e(r)?r:[r];i.current=[].concat(n,i.current)}else{i.current=i.current.concat(r)}a&&c()}),update:t.useCallbackRef(function(e,t){var n=i.current[e];if(n){i.current[e]=r({},n,t)}a&&c()}),delete:t.useCallbackRef(function(r){var e=i.current.splice(r,1);a&&c();return e}),resetList:t.useCallbackRef(function(r){i.current=r;a&&c()}),getList:t.useCallbackRef(function(){return i.current})};return[i.current,s]};var l=function r(e,t){return u(e,t)};var m=["ace_editor","tox-tinymce","cancel-flatbiz-antd-copy"];var d=function r(e){var t=m.concat((e==null?void 0:e.ignoreClass)||[]);var n=(e==null||e.target==null?void 0:e.target())||window.document;l(function(){var r=function r(e){try{var n=e.target;var u=false;while(n!=null){var o=t.find(function(r){var e;return(e=n.classList)==null?void 0:e.contains(r)});if(o){u=true;break}n=n.parentNode}if(u)return;var a="";var c=window;try{a=window["document"]["selection"].createRange().text}catch(r){a=c.getSelection().toString()}var s=c.clipboardData;if(!s){s=e["clipboardData"]}var f=i(a,true);s.setData("Text",f);e.preventDefault();if(f!==a){console.log("useCopyRemoveSpace 已操作移除复制文本中前后空格")}}catch(r){console.warn(r==null?void 0:r.message)}};n.addEventListener("copy",r);return function(){n.removeEventListener("copy",r)}},[JSON.stringify(t)])};var p=function r(e,t){u(function(){function r(){return new Promise(function(r,t){return Promise.resolve(e()).then(function(e){try{return r()}catch(r){return t(r)}},t)})}void r()},t)};var g=function r(e,t){return o(e,t)};var y=function r(e,t){return!Object.is(e,t)};function b(r,e){if(e===void 0){e=y}var t=n();var u=n();if(e(u.current,r)){t.current=u.current;u.current=r}return t.current}var C=function r(e){var n=a(e),u=n[0],o=n[1];var i=t.useIsMounted();return[u,function(r){if(i.current){return o(r)}}]};var k=function r(){var e=s.useToken(),t=e.token;return t};var w=function r(){var e=o(function(){return f()},[]);return e};var R={useEffectCustom:l,useEffectCustomAsync:p,useThemeToken:k,useArrayChange:v,usePrevious:b,useResponsivePoint:c,useSafeState:C,useMemoCustom:g,useCopyRemoveSpace:d,useUuid:w};export{R as fbaHooks};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-hooks/use-array-change.ts","@flatbiz/antd/src/fba-hooks/use-effect-custom.ts","@flatbiz/antd/src/fba-hooks/use-copy-remove-space.ts","@flatbiz/antd/src/fba-hooks/use-effect-custom-async.ts","@flatbiz/antd/src/fba-hooks/use-memo-custom.ts","@flatbiz/antd/src/fba-hooks/use-previous.ts","@flatbiz/antd/src/fba-hooks/use-safe-state.ts","@flatbiz/antd/src/fba-hooks/use-theme.ts","@flatbiz/antd/src/fba-hooks/use-uuid.ts","@flatbiz/antd/src/fba-hooks/index.ts"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { useRef } from 'react';\n\nexport const useArrayChange = <T>(defautDataList: Array<T>, forceUpdate = true) => {\n const changeListRef = useRef<Array<T>>(defautDataList);\n const update = hooks.useForceUpdate();\n const arrayOperate = {\n add: hooks.useCallbackRef((dataItem: T | Array<T>, isUnshift?: boolean) => {\n if (isUnshift) {\n const targetList = isArray(dataItem) ? dataItem : [dataItem];\n changeListRef.current = [...targetList, ...changeListRef.current];\n } else {\n changeListRef.current = changeListRef.current.concat(dataItem);\n }\n forceUpdate && update();\n }),\n update: hooks.useCallbackRef((index: number, dataItem: T) => {\n const target = changeListRef.current[index];\n if (target) {\n changeListRef.current[index] = { ...target, ...dataItem };\n }\n forceUpdate && update();\n }),\n delete: hooks.useCallbackRef((index: number) => {\n const deleteItem = changeListRef.current.splice(index, 1);\n forceUpdate && update();\n return deleteItem;\n }),\n resetList: hooks.useCallbackRef((dataList: Array<T>) => {\n changeListRef.current = dataList;\n forceUpdate && update();\n }),\n getList: hooks.useCallbackRef(() => {\n return changeListRef.current;\n }),\n };\n return [changeListRef.current, arrayOperate] as const;\n};\n","import { type DependencyList, type EffectCallback, useEffect } from 'react';\n\nexport const useEffectCustom = (fn: EffectCallback, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useEffect(fn, deps);\n};\n","import { TAny, trim } from '@flatbiz/utils';\nimport { useEffectCustom } from './use-effect-custom';\n\nconst innerIgnoreClass = ['ace_editor', 'tox-tinymce', 'cancel-flatbiz-antd-copy'];\n\nexport type CopyRemoveSpaceProps = {\n /** 设置监听复制范围,如果不设置则监听全局 */\n target?: () => Element;\n /**\n * 忽略的class配置(不参与copy逻辑处理的class),例如:['ace_editor']\n * ```\n * 1. 某些控件(例如:ace编辑器、富文本等)内部自定义处理copy逻辑,此处不能进行拦截,通过配置class属性来忽略\n * 2. ignoreClass可配置操作目标class、以及层层父节点class,通过目标节点以及层层父节点的class与ignoreClass匹配成功后,取消后续copy文案处理逻辑\n * ```\n */\n ignoreClass?: string[];\n};\n/**\n * 移除复制文本中前后空格\n * ```\n * 1. target 设置监听复制范围,如果不设置则监听全局,例如\n * export const Demo = () => {\n * const ref = useRef<any>();\n * useCopyRemoveSpace({\n * target: () => ref.current,\n * });\n * return (\n * <div ref={ref}>\n * <QueryTable />\n * </div>\n * );\n * };\n * 2. 某些控件(例如:ace编辑器、富文本等)内部自定义处理copy逻辑,此处不能进行拦截,通过配置class属性来忽略\n * 3. ignoreClass包括操作目标class、以及层层父节点class,通过目标节点层层父节点的class匹配成功后,取消后续copy文案处理逻辑\n * 3. ignoreClass 内置有 ['ace_editor', 'tox-tinymce', 'cancel-flatbiz-antd-copy']\n * ```\n */\nexport const useCopyRemoveSpace = (props?: CopyRemoveSpaceProps) => {\n const ignoreClass = innerIgnoreClass.concat(props?.ignoreClass || []);\n const target = props?.target?.() || window.document;\n\n useEffectCustom(() => {\n const handle = (oEvent) => {\n try {\n let parentNode = oEvent.target as HTMLElement;\n let isIgnore = false;\n while (parentNode != null) {\n const target = ignoreClass.find((item) => parentNode.classList?.contains(item));\n if (target) {\n isIgnore = true;\n break;\n }\n parentNode = parentNode.parentNode as HTMLElement;\n }\n if (isIgnore) return;\n let copyInfo = '';\n // 获取复制信息\n const _window = window as TAny;\n try {\n copyInfo = window['document']['selection'].createRange().text;\n } catch (ex) {\n copyInfo = _window.getSelection().toString();\n }\n let clipboardData = _window.clipboardData; // for IE\n if (!clipboardData) {\n clipboardData = oEvent['clipboardData'];\n }\n const nextValue = trim(copyInfo, true);\n // 修改剪贴板中的内容\n clipboardData.setData('Text', nextValue);\n // 必须禁用原copy方法才能生效\n oEvent.preventDefault();\n if (nextValue !== copyInfo) {\n console.log('useCopyRemoveSpace 已操作移除复制文本中前后空格');\n }\n } catch (error: TAny) {\n console.warn(error?.message);\n }\n };\n target.addEventListener('copy', handle);\n return () => {\n target.removeEventListener('copy', handle);\n };\n }, [JSON.stringify(ignoreClass)]);\n};\n","import { DependencyList, useEffect } from 'react';\n\nexport const useEffectCustomAsync = (fn: () => Promise<void>, deps: DependencyList) => {\n useEffect(() => {\n async function asyncFunction() {\n await fn();\n }\n void asyncFunction();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n","import { type DependencyList, useMemo } from 'react';\n/**\n * 自定义控制 useMemo 依赖\n */\nexport const useMemoCustom = <T>(fn: () => T, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useMemo<T>(fn, deps);\n};\n","import { useRef } from 'react';\n\nexport type ShouldUpdateFunc<T> = (prev: T | undefined, next: T) => boolean;\n\nconst defaultShouldUpdate = <T>(a?: T, b?: T) => !Object.is(a, b);\n\nexport function usePrevious<T>(\n state: T,\n shouldUpdate: ShouldUpdateFunc<T> = defaultShouldUpdate,\n): T | undefined {\n const prevRef = useRef<T>();\n const curRef = useRef<T>();\n\n if (shouldUpdate(curRef.current, state)) {\n prevRef.current = curRef.current;\n curRef.current = state;\n }\n\n return prevRef.current;\n}\n","import { hooks } from '@wove/react';\nimport { Dispatch, SetStateAction, useState } from 'react';\n\nexport const useSafeState = <S extends undefined | unknown>(\n initialState?: S | (() => S),\n): [S, Dispatch<SetStateAction<S>>] => {\n const [state, setState] = useState(initialState as S);\n const isMounted = hooks.useIsMounted();\n\n return [\n state,\n (value) => {\n if (isMounted.current) {\n return setState(value);\n }\n },\n ];\n};\n","import { theme } from 'antd';\n\nexport const useThemeToken = () => {\n const { token } = theme.useToken();\n return token;\n};\n","import { uuid } from '@dimjs/utils';\nimport { useMemo } from 'react';\n\nexport const useUuid = () => {\n const id = useMemo(() => {\n return uuid();\n }, []);\n return id;\n};\n","import { useArrayChange } from './use-array-change';\nimport { useCopyRemoveSpace } from './use-copy-remove-space';\nimport { useEffectCustom } from './use-effect-custom';\nimport { useEffectCustomAsync } from './use-effect-custom-async';\nimport { useMemoCustom } from './use-memo-custom';\nimport { usePrevious } from './use-previous';\nimport { useResponsivePoint } from './use-responsive-point';\nimport { useSafeState } from './use-safe-state';\nimport { useThemeToken } from './use-theme';\nimport { useUuid } from './use-uuid';\n\nexport const fbaHooks = {\n useEffectCustom: useEffectCustom,\n useEffectCustomAsync: useEffectCustomAsync,\n useThemeToken: useThemeToken,\n useArrayChange: useArrayChange,\n usePrevious: usePrevious,\n useResponsivePoint: useResponsivePoint,\n useSafeState: useSafeState,\n useMemoCustom: useMemoCustom,\n useCopyRemoveSpace: useCopyRemoveSpace,\n useUuid: useUuid,\n};\n"],"names":["useArrayChange","defautDataList","forceUpdate","changeListRef","useRef","update","_hooks","useForceUpdate","arrayOperate","add","useCallbackRef","dataItem","isUnshift","targetList","_isArray","current","concat","index","target","_extends","delete","deleteItem","splice","resetList","dataList","getList","useEffectCustom","fn","deps","useEffect","innerIgnoreClass","useCopyRemoveSpace","props","ignoreClass","window","document","handle","oEvent","parentNode","isIgnore","find","item","_parentNode$classList","classList","contains","copyInfo","_window","createRange","text","ex","getSelection","toString","clipboardData","nextValue","trim","setData","preventDefault","console","log","error","warn","message","addEventListener","removeEventListener","JSON","stringify","useEffectCustomAsync","asyncFunction","Promise","$return","$error","resolve","then","$await_1","$boundEx","useMemoCustom","useMemo","defaultShouldUpdate","a","b","Object","is","usePrevious","state","shouldUpdate","prevRef","curRef","useSafeState","initialState","_useState","useState","setState","isMounted","useIsMounted","value","useThemeToken","_theme$useToken","theme","useToken","token","useUuid","id","_uuid","fbaHooks","useResponsivePoint"],"mappings":";+YAIO,IAAMA,EAAiB,SAAjBA,EAAqBC,EAA0BC,GAAuB,GAAvBA,SAAW,EAAA,CAAXA,EAAc,IAAI,CAC5E,IAAMC,EAAgBC,EAAiBH,GACvC,IAAMI,EAASC,EAAMC,iBACrB,IAAMC,EAAe,CACnBC,IAAKH,EAAMI,gBAAe,SAACC,EAAwBC,GACjD,GAAIA,EAAW,CACb,IAAMC,EAAaC,EAAQH,GAAYA,EAAW,CAACA,GACnDR,EAAcY,QAAO,GAAAC,OAAOH,EAAeV,EAAcY,QAC3D,KAAO,CACLZ,EAAcY,QAAUZ,EAAcY,QAAQC,OAAOL,EACvD,CACAT,GAAeG,GACjB,IACAA,OAAQC,EAAMI,gBAAe,SAACO,EAAeN,GAC3C,IAAMO,EAASf,EAAcY,QAAQE,GACrC,GAAIC,EAAQ,CACVf,EAAcY,QAAQE,GAAME,EAAQD,GAAAA,EAAWP,EACjD,CACAT,GAAeG,GACjB,IACAe,OAAQd,EAAMI,gBAAe,SAACO,GAC5B,IAAMI,EAAalB,EAAcY,QAAQO,OAAOL,EAAO,GACvDf,GAAeG,IACf,OAAOgB,CACT,IACAE,UAAWjB,EAAMI,gBAAe,SAACc,GAC/BrB,EAAcY,QAAUS,EACxBtB,GAAeG,GACjB,IACAoB,QAASnB,EAAMI,gBAAe,WAC5B,OAAOP,EAAcY,YAGzB,MAAO,CAACZ,EAAcY,QAASP,EACjC,ECpCO,IAAMkB,EAAkB,SAAlBA,EAAmBC,EAAoBC,GAElD,OAAOC,EAAUF,EAAIC,EACvB,ECFA,IAAME,EAAmB,CAAC,aAAc,cAAe,4BAkChD,IAAMC,EAAqB,SAArBA,EAAsBC,GACjC,IAAMC,EAAcH,EAAiBd,QAAOgB,GAAK,UAAA,EAALA,EAAOC,cAAe,IAClE,IAAMf,GAASc,GAAK,MAALA,EAAOd,QAAPc,UAAAA,EAAAA,EAAOd,WAAcgB,OAAOC,SAE3CT,GAAgB,WACd,IAAMU,EAAS,SAATA,EAAUC,GACd,IACE,IAAIC,EAAaD,EAAOnB,OACxB,IAAIqB,EAAW,MACf,MAAOD,GAAc,KAAM,CACzB,IAAMpB,EAASe,EAAYO,MAAK,SAACC,GAAI,IAAAC,EAAA,OAAAA,EAAKJ,EAAWK,YAAXD,UAAAA,EAAAA,EAAsBE,SAASH,MACzE,GAAIvB,EAAQ,CACVqB,EAAW,KACX,KACF,CACAD,EAAaA,EAAWA,UAC1B,CACA,GAAIC,EAAU,OACd,IAAIM,EAAW,GAEf,IAAMC,EAAUZ,OAChB,IACEW,EAAWX,OAAO,YAAY,aAAaa,cAAcC,IAC1D,CAAC,MAAOC,GACPJ,EAAWC,EAAQI,eAAeC,UACpC,CACA,IAAIC,EAAgBN,EAAQM,cAC5B,IAAKA,EAAe,CAClBA,EAAgBf,EAAO,gBACzB,CACA,IAAMgB,EAAYC,EAAKT,EAAU,MAEjCO,EAAcG,QAAQ,OAAQF,GAE9BhB,EAAOmB,iBACP,GAAIH,IAAcR,EAAU,CAC1BY,QAAQC,IAAI,oCACd,CACD,CAAC,MAAOC,GACPF,QAAQG,KAAKD,eAAAA,EAAOE,QACtB,GAEF3C,EAAO4C,iBAAiB,OAAQ1B,GAChC,OAAO,WACLlB,EAAO6C,oBAAoB,OAAQ3B,GAEtC,GAAE,CAAC4B,KAAKC,UAAUhC,IACrB,EClFO,IAAMiC,EAAuB,SAAvBA,EAAwBvC,EAAyBC,GAC5DC,GAAU,WACR,SAAesC,IAAf,OAAA,IAAAC,SAAA,SAAAC,EAAAC,GACE,OAAAF,QAAAG,QAAM5C,KAAN6C,MAAU,SAAAC,GALhB,IAAI,OAAAJ,GAAK,CAAC,MAAAK,GAAW,OAAOJ,EAAAI,EAAM,CAAC,GAAAJ,EAKnB,GACX,MACIH,GAEN,GAAEvC,EACL,ECNO,IAAM+C,EAAgB,SAAhBA,EAAoBhD,EAAaC,GAE5C,OAAOgD,EAAWjD,EAAIC,EACxB,ECHA,IAAMiD,EAAsB,SAAtBA,EAA0BC,EAAOC,GAAK,OAAMC,OAAOC,GAAGH,EAAGC,EAAE,EAE1D,SAASG,EACdC,EACAC,GACe,GADfA,SAAiC,EAAA,CAAjCA,EAAoCP,CAAmB,CAEvD,IAAMQ,EAAUjF,IAChB,IAAMkF,EAASlF,IAEf,GAAIgF,EAAaE,EAAOvE,QAASoE,GAAQ,CACvCE,EAAQtE,QAAUuE,EAAOvE,QACzBuE,EAAOvE,QAAUoE,CACnB,CAEA,OAAOE,EAAQtE,OACjB,CChBO,IAAMwE,EAAe,SAAfA,EACXC,GAEA,IAAAC,EAA0BC,EAASF,GAA5BL,EAAKM,EAAA,GAAEE,EAAQF,EAAA,GACtB,IAAMG,EAAYtF,EAAMuF,eAExB,MAAO,CACLV,EACA,SAACW,GACC,GAAIF,EAAU7E,QAAS,CACrB,OAAO4E,EAASG,EAClB,CACF,EAEJ,ECfO,IAAMC,EAAgB,SAAhBA,IACX,IAAAC,EAAkBC,EAAMC,WAAhBC,EAAKH,EAALG,MACR,OAAOA,CACT,ECFO,IAAMC,EAAU,SAAVA,IACX,IAAMC,EAAKzB,GAAQ,WACjB,OAAO0B,GACR,GAAE,IACH,OAAOD,CACT,ECGO,IAAME,EAAW,CACtB7E,gBAAiBA,EACjBwC,qBAAsBA,EACtB6B,cAAeA,EACf/F,eAAgBA,EAChBkF,YAAaA,EACbsB,mBAAoBA,EACpBjB,aAAcA,EACdZ,cAAeA,EACf5C,mBAAoBA,EACpBqE,QAASA"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-hooks/use-array-change.ts","@flatbiz/antd/src/fba-hooks/use-effect-custom.ts","@flatbiz/antd/src/fba-hooks/use-copy-remove-space.ts","@flatbiz/antd/src/fba-hooks/use-effect-custom-async.ts","@flatbiz/antd/src/fba-hooks/use-memo-custom.ts","@flatbiz/antd/src/fba-hooks/use-previous.ts","@flatbiz/antd/src/fba-hooks/use-safe-state.ts","@flatbiz/antd/src/fba-hooks/use-theme.ts","@flatbiz/antd/src/fba-hooks/use-uuid.ts","@flatbiz/antd/src/fba-hooks/index.ts"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { hooks } from '@wove/react';\nimport { useRef } from 'react';\n\nexport const useArrayChange = <T>(defautDataList: Array<T>, forceUpdate = true) => {\n const changeListRef = useRef<Array<T>>(defautDataList);\n const update = hooks.useForceUpdate();\n const arrayOperate = {\n add: hooks.useCallbackRef((dataItem: T | Array<T>, isUnshift?: boolean) => {\n if (isUnshift) {\n const targetList = isArray(dataItem) ? dataItem : [dataItem];\n changeListRef.current = [...targetList, ...changeListRef.current];\n } else {\n changeListRef.current = changeListRef.current.concat(dataItem);\n }\n forceUpdate && update();\n }),\n update: hooks.useCallbackRef((index: number, dataItem: T) => {\n const target = changeListRef.current[index];\n if (target) {\n changeListRef.current[index] = { ...target, ...dataItem };\n }\n forceUpdate && update();\n }),\n delete: hooks.useCallbackRef((index: number) => {\n const deleteItem = changeListRef.current.splice(index, 1);\n forceUpdate && update();\n return deleteItem;\n }),\n resetList: hooks.useCallbackRef((dataList: Array<T>) => {\n changeListRef.current = dataList;\n forceUpdate && update();\n }),\n getList: hooks.useCallbackRef(() => {\n return changeListRef.current;\n }),\n };\n return [changeListRef.current, arrayOperate] as const;\n};\n","import { type DependencyList, type EffectCallback, useEffect } from 'react';\n\nexport const useEffectCustom = (fn: EffectCallback, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useEffect(fn, deps);\n};\n","import { TAny, trim } from '@flatbiz/utils';\nimport { useEffectCustom } from './use-effect-custom';\n\nconst innerIgnoreClass = ['ace_editor', 'tox-tinymce', 'cancel-flatbiz-antd-copy'];\n\nexport type CopyRemoveSpaceProps = {\n /** 设置监听复制范围,如果不设置则监听全局 */\n target?: () => Element;\n /**\n * 忽略的class配置(不参与copy逻辑处理的class),例如:['ace_editor']\n * ```\n * 1. 某些控件(例如:ace编辑器、富文本等)内部自定义处理copy逻辑,此处不能进行拦截,通过配置class属性来忽略\n * 2. ignoreClass可配置操作目标class、以及层层父节点class,通过目标节点以及层层父节点的class与ignoreClass匹配成功后,取消后续copy文案处理逻辑\n * ```\n */\n ignoreClass?: string[];\n};\n/**\n * 移除复制文本中前后空格\n * ```\n * 1. target 设置监听复制范围,如果不设置则监听全局,例如\n * export const Demo = () => {\n * const ref = useRef<any>();\n * useCopyRemoveSpace({\n * target: () => ref.current,\n * });\n * return (\n * <div ref={ref}>\n * <QueryTable />\n * </div>\n * );\n * };\n * 2. 某些控件(例如:ace编辑器、富文本等)内部自定义处理copy逻辑,此处不能进行拦截,通过配置class属性来忽略\n * 3. ignoreClass包括操作目标class、以及层层父节点class,通过目标节点层层父节点的class匹配成功后,取消后续copy文案处理逻辑\n * 3. ignoreClass 内置有 ['ace_editor', 'tox-tinymce', 'cancel-flatbiz-antd-copy']\n * ```\n */\nexport const useCopyRemoveSpace = (props?: CopyRemoveSpaceProps) => {\n const ignoreClass = innerIgnoreClass.concat(props?.ignoreClass || []);\n const target = props?.target?.() || window.document;\n\n useEffectCustom(() => {\n const handle = (oEvent) => {\n try {\n let parentNode = oEvent.target as HTMLElement;\n let isIgnore = false;\n while (parentNode != null) {\n const target = ignoreClass.find((item) => parentNode.classList?.contains(item));\n if (target) {\n isIgnore = true;\n break;\n }\n parentNode = parentNode.parentNode as HTMLElement;\n }\n if (isIgnore) return;\n let copyInfo = '';\n // 获取复制信息\n const _window = window as TAny;\n try {\n copyInfo = window['document']['selection'].createRange().text;\n } catch (ex) {\n copyInfo = _window.getSelection().toString();\n }\n let clipboardData = _window.clipboardData; // for IE\n if (!clipboardData) {\n clipboardData = oEvent['clipboardData'];\n }\n const nextValue = trim(copyInfo, true);\n // 修改剪贴板中的内容\n clipboardData.setData('Text', nextValue);\n // 必须禁用原copy方法才能生效\n oEvent.preventDefault();\n if (nextValue !== copyInfo) {\n console.log('useCopyRemoveSpace 已操作移除复制文本中前后空格');\n }\n } catch (error: TAny) {\n console.warn(error?.message);\n }\n };\n target.addEventListener('copy', handle);\n return () => {\n target.removeEventListener('copy', handle);\n };\n }, [JSON.stringify(ignoreClass)]);\n};\n","import { DependencyList, useEffect } from 'react';\n\nexport const useEffectCustomAsync = (fn: () => Promise<void>, deps: DependencyList) => {\n useEffect(() => {\n async function asyncFunction() {\n await fn();\n }\n void asyncFunction();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n};\n","import { type DependencyList, useMemo } from 'react';\n/**\n * 自定义控制 useMemo 依赖\n */\nexport const useMemoCustom = <T>(fn: () => T, deps: DependencyList) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useMemo<T>(fn, deps);\n};\n","import { useRef } from 'react';\n\nexport type ShouldUpdateFunc<T> = (prev: T | undefined, next: T) => boolean;\n\nconst defaultShouldUpdate = <T>(a?: T, b?: T) => !Object.is(a, b);\n\nexport function usePrevious<T>(\n state: T,\n shouldUpdate: ShouldUpdateFunc<T> = defaultShouldUpdate,\n): T | undefined {\n const prevRef = useRef<T>();\n const curRef = useRef<T>();\n\n if (shouldUpdate(curRef.current, state)) {\n prevRef.current = curRef.current;\n curRef.current = state;\n }\n\n return prevRef.current;\n}\n","import { hooks } from '@wove/react';\nimport { Dispatch, SetStateAction, useState } from 'react';\n\nexport const useSafeState = <S extends undefined | unknown>(\n initialState?: S | (() => S),\n): [S, Dispatch<SetStateAction<S>>] => {\n const [state, setState] = useState(initialState as S);\n const isMounted = hooks.useIsMounted();\n\n return [\n state,\n (value) => {\n if (isMounted.current) {\n return setState(value);\n }\n },\n ];\n};\n","import { theme } from 'antd';\n\nexport const useThemeToken = () => {\n const { token } = theme.useToken();\n return token;\n};\n","import { uuid } from '@dimjs/utils';\nimport { useMemo } from 'react';\n\nexport const useUuid = () => {\n const id = useMemo(() => {\n return uuid();\n }, []);\n return id;\n};\n","import { useArrayChange } from './use-array-change';\nimport { useCopyRemoveSpace } from './use-copy-remove-space';\nimport { useEffectCustom } from './use-effect-custom';\nimport { useEffectCustomAsync } from './use-effect-custom-async';\nimport { useMemoCustom } from './use-memo-custom';\nimport { usePrevious } from './use-previous';\nimport { useResponsivePoint } from './use-responsive-point';\nimport { useSafeState } from './use-safe-state';\nimport { useThemeToken } from './use-theme';\nimport { useUuid } from './use-uuid';\n\nexport const fbaHooks = {\n useEffectCustom: useEffectCustom,\n useEffectCustomAsync: useEffectCustomAsync,\n useThemeToken: useThemeToken,\n useArrayChange: useArrayChange,\n usePrevious: usePrevious,\n useResponsivePoint: useResponsivePoint,\n useSafeState: useSafeState,\n useMemoCustom: useMemoCustom,\n useCopyRemoveSpace: useCopyRemoveSpace,\n useUuid: useUuid,\n};\n"],"names":["useArrayChange","defautDataList","forceUpdate","changeListRef","useRef","update","_hooks","useForceUpdate","arrayOperate","add","useCallbackRef","dataItem","isUnshift","targetList","_isArray","current","concat","index","target","_extends","delete","deleteItem","splice","resetList","dataList","getList","useEffectCustom","fn","deps","useEffect","innerIgnoreClass","useCopyRemoveSpace","props","ignoreClass","window","document","handle","oEvent","parentNode","isIgnore","find","item","_parentNode$classList","classList","contains","copyInfo","_window","createRange","text","ex","getSelection","toString","clipboardData","nextValue","trim","setData","preventDefault","console","log","error","warn","message","addEventListener","removeEventListener","JSON","stringify","useEffectCustomAsync","asyncFunction","Promise","$return","$error","resolve","then","$await_1","$boundEx","useMemoCustom","useMemo","defaultShouldUpdate","a","b","Object","is","usePrevious","state","shouldUpdate","prevRef","curRef","useSafeState","initialState","_useState","useState","setState","isMounted","useIsMounted","value","useThemeToken","_theme$useToken","theme","useToken","token","useUuid","id","_uuid","fbaHooks","useResponsivePoint"],"mappings":"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"}
|
package/esm/fba-utils/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{isArray as e}from"@dimjs/lang/cjs/is-array";import{cloneState as r}from"@dimjs/model";import{getGlobalData as n,getUuid as a}from"@flatbiz/utils";var t=function r(){var a=n(),t=a.elemAclLimits;var i=e(t)?t:[];return i};var i=function e(r){if(!r)return true;var n=t();if(n.includes(r)){return true}return false};function o(e,r){var n=e;for(var a in r){if(r.hasOwnProperty(a)){n[a]=r[a]}}return n}var u=function e(){return a()};var s=function e(r,n){var a=r.getInternalHooks("RC_FORM_INTERNAL_HOOKS").dispatch;n.forEach(
|
|
4
|
+
import{isArray as e}from"@dimjs/lang/cjs/is-array";import{cloneState as r}from"@dimjs/model";import{getGlobalData as n,getUuid as a}from"@flatbiz/utils";var t=function r(){var a=n(),t=a.elemAclLimits;var i=e(t)?t:[];return i};var i=function e(r){if(!r)return true;var n=t();if(n.includes(r)){return true}return false};function o(e,r){var n=e;for(var a in r){if(r.hasOwnProperty(a)){n[a]=r[a]}}return n}var u=function e(){return a()};var s=function e(r,n){var a=r.getInternalHooks("RC_FORM_INTERNAL_HOOKS").dispatch;n.forEach(function(e){a({type:"updateValue",namePath:e.name,value:e.value})})};var l=function e(r,n){var a=n.map(function(e){return{name:e.name,value:e.value}});r.setFields(a);s(r,a)};var f=function e(n){if(!n)return undefined;var a=r(n);Object.keys(a).forEach(function(e){if(e.includes("__#invalid_")){delete a[e]}});return a};var m={hasPermission:i,getPermissionList:t,attachPropertiesToComponent:o,getModelKey:u,triggerFormValuesChange:s,setFormFieldsAndTriggerValuesChange:l,removeFormValuesInvalidField:f};export{m as fbaUtils};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-utils/fba-utils.ts"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { getGlobalData, getUuid, TAny, TPlainObject } from '@flatbiz/utils';\nimport { FormInstance } from 'antd';\n\nconst getPermissionList = () => {\n const { elemAclLimits } = getGlobalData<{ elemAclLimits: string[] }>();\n const permissionList: string[] = isArray(elemAclLimits) ? elemAclLimits : [];\n return permissionList;\n};\n\nconst hasPermission = (name?: string) => {\n if (!name) return true;\n const permissionList = getPermissionList();\n if (permissionList.includes(name)) {\n return true;\n }\n return false;\n};\n\nfunction attachPropertiesToComponent<C, P extends Record<string, unknown>>(\n component: C,\n properties: P,\n): C & P {\n const ret = component as Record<string, unknown>;\n for (const key in properties) {\n if (properties.hasOwnProperty(key)) {\n ret[key] = properties[key];\n }\n }\n return ret as C & P;\n}\n\nconst getModelKey = () => {\n return getUuid();\n};\n\nconst triggerFormValuesChange = (\n form: FormInstance,\n changeList: { name: string | number | Array<string | number>; value: TAny }[],\n) => {\n const formDispatch = (form as TAny).getInternalHooks('RC_FORM_INTERNAL_HOOKS').dispatch;\n changeList.forEach((item) => {\n formDispatch({\n type: 'updateValue',\n namePath: item.name,\n value: item.value,\n });\n });\n};\n\nconst setFormFieldsAndTriggerValuesChange = (\n form: FormInstance,\n changeList: { name: string | number | Array<string | number>; value: TAny }[],\n) => {\n const paramList = changeList.map((item) => {\n return {\n name: item.name,\n value: item.value,\n };\n });\n\n form.setFields(paramList);\n\n triggerFormValuesChange(form, paramList);\n};\n\nconst removeFormValuesInvalidField = (params?: TPlainObject) => {\n if (!params) return undefined;\n const paramsNew = cloneState(params);\n Object.keys(paramsNew).forEach((key) => {\n if (key.includes('__#invalid_')) {\n delete paramsNew[key];\n }\n });\n return paramsNew as TPlainObject;\n};\n\nexport const fbaUtils = {\n hasPermission,\n getPermissionList,\n attachPropertiesToComponent,\n getModelKey,\n /**\n * 手动触发Antd Form 的 onValuesChange\n * ```\n * 1. 正常在通过 form.setFieldsValue 不会触发onValuesChange\n * 2. 需要触发可调用此方法\n * ```\n */\n triggerFormValuesChange,\n /**\n * 操作Antd Form\n * ```\n * 1. 通过 form.setFields 修改属性值\n * 2. 触发 Form 的 onValuesChange\n * ```\n */\n setFormFieldsAndTriggerValuesChange: setFormFieldsAndTriggerValuesChange,\n /**\n * 移除Form Values中无效字段\n * ```\n * 1. 在使用 DateRangePickerWrapperFormItem、TimeRangePickerWrapperFormItem 会产生 `__#invalid_xxxx` 无效字段\n * ```\n */\n removeFormValuesInvalidField: removeFormValuesInvalidField,\n};\n"],"names":["getPermissionList","_getGlobalData","getGlobalData","elemAclLimits","permissionList","_isArray","hasPermission","name","includes","attachPropertiesToComponent","component","properties","ret","key","hasOwnProperty","getModelKey","getUuid","triggerFormValuesChange","form","changeList","formDispatch","getInternalHooks","dispatch","forEach","item","type","namePath","value","setFormFieldsAndTriggerValuesChange","paramList","map","setFields","removeFormValuesInvalidField","params","undefined","paramsNew","cloneState","Object","keys","fbaUtils"],"mappings":";yJAKA,IAAMA,EAAoB,SAApBA,IACJ,IAAAC,EAA0BC,IAAlBC,EAAaF,EAAbE,cACR,IAAMC,EAA2BC,EAAQF,GAAiBA,EAAgB,GAC1E,OAAOC,CACT,EAEA,IAAME,EAAgB,SAAhBA,EAAiBC,GACrB,IAAKA,EAAM,OAAO,KAClB,IAAMH,EAAiBJ,IACvB,GAAII,EAAeI,SAASD,GAAO,CACjC,OAAO,IACT,CACA,OAAO,KACT,EAEA,SAASE,EACPC,EACAC,GAEA,IAAMC,EAAMF,EACZ,IAAK,IAAMG,KAAOF,EAAY,CAC5B,GAAIA,EAAWG,eAAeD,GAAM,CAClCD,EAAIC,GAAOF,EAAWE,EACxB,CACF,CACA,OAAOD,CACT,CAEA,IAAMG,EAAc,SAAdA,IACJ,OAAOC,GACT,EAEA,IAAMC,EAA0B,SAA1BA,EACJC,EACAC,GAEA,IAAMC,EAAgBF,EAAcG,iBAAiB,0BAA0BC,SAC/EH,EAAWI,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-utils/fba-utils.ts"],"sourcesContent":["import { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { getGlobalData, getUuid, TAny, TPlainObject } from '@flatbiz/utils';\nimport { FormInstance } from 'antd';\n\nconst getPermissionList = () => {\n const { elemAclLimits } = getGlobalData<{ elemAclLimits: string[] }>();\n const permissionList: string[] = isArray(elemAclLimits) ? elemAclLimits : [];\n return permissionList;\n};\n\nconst hasPermission = (name?: string) => {\n if (!name) return true;\n const permissionList = getPermissionList();\n if (permissionList.includes(name)) {\n return true;\n }\n return false;\n};\n\nfunction attachPropertiesToComponent<C, P extends Record<string, unknown>>(\n component: C,\n properties: P,\n): C & P {\n const ret = component as Record<string, unknown>;\n for (const key in properties) {\n if (properties.hasOwnProperty(key)) {\n ret[key] = properties[key];\n }\n }\n return ret as C & P;\n}\n\nconst getModelKey = () => {\n return getUuid();\n};\n\nconst triggerFormValuesChange = (\n form: FormInstance,\n changeList: { name: string | number | Array<string | number>; value: TAny }[],\n) => {\n const formDispatch = (form as TAny).getInternalHooks('RC_FORM_INTERNAL_HOOKS').dispatch;\n changeList.forEach((item) => {\n formDispatch({\n type: 'updateValue',\n namePath: item.name,\n value: item.value,\n });\n });\n};\n\nconst setFormFieldsAndTriggerValuesChange = (\n form: FormInstance,\n changeList: { name: string | number | Array<string | number>; value: TAny }[],\n) => {\n const paramList = changeList.map((item) => {\n return {\n name: item.name,\n value: item.value,\n };\n });\n\n form.setFields(paramList);\n\n triggerFormValuesChange(form, paramList);\n};\n\nconst removeFormValuesInvalidField = (params?: TPlainObject) => {\n if (!params) return undefined;\n const paramsNew = cloneState(params);\n Object.keys(paramsNew).forEach((key) => {\n if (key.includes('__#invalid_')) {\n delete paramsNew[key];\n }\n });\n return paramsNew as TPlainObject;\n};\n\nexport const fbaUtils = {\n hasPermission,\n getPermissionList,\n attachPropertiesToComponent,\n getModelKey,\n /**\n * 手动触发Antd Form 的 onValuesChange\n * ```\n * 1. 正常在通过 form.setFieldsValue 不会触发onValuesChange\n * 2. 需要触发可调用此方法\n * ```\n */\n triggerFormValuesChange,\n /**\n * 操作Antd Form\n * ```\n * 1. 通过 form.setFields 修改属性值\n * 2. 触发 Form 的 onValuesChange\n * ```\n */\n setFormFieldsAndTriggerValuesChange: setFormFieldsAndTriggerValuesChange,\n /**\n * 移除Form Values中无效字段\n * ```\n * 1. 在使用 DateRangePickerWrapperFormItem、TimeRangePickerWrapperFormItem 会产生 `__#invalid_xxxx` 无效字段\n * ```\n */\n removeFormValuesInvalidField: removeFormValuesInvalidField,\n};\n"],"names":["getPermissionList","_getGlobalData","getGlobalData","elemAclLimits","permissionList","_isArray","hasPermission","name","includes","attachPropertiesToComponent","component","properties","ret","key","hasOwnProperty","getModelKey","getUuid","triggerFormValuesChange","form","changeList","formDispatch","getInternalHooks","dispatch","forEach","item","type","namePath","value","setFormFieldsAndTriggerValuesChange","paramList","map","setFields","removeFormValuesInvalidField","params","undefined","paramsNew","cloneState","Object","keys","fbaUtils"],"mappings":";yJAKA,IAAMA,EAAoB,SAApBA,IACJ,IAAAC,EAA0BC,IAAlBC,EAAaF,EAAbE,cACR,IAAMC,EAA2BC,EAAQF,GAAiBA,EAAgB,GAC1E,OAAOC,CACT,EAEA,IAAME,EAAgB,SAAhBA,EAAiBC,GACrB,IAAKA,EAAM,OAAO,KAClB,IAAMH,EAAiBJ,IACvB,GAAII,EAAeI,SAASD,GAAO,CACjC,OAAO,IACT,CACA,OAAO,KACT,EAEA,SAASE,EACPC,EACAC,GAEA,IAAMC,EAAMF,EACZ,IAAK,IAAMG,KAAOF,EAAY,CAC5B,GAAIA,EAAWG,eAAeD,GAAM,CAClCD,EAAIC,GAAOF,EAAWE,EACxB,CACF,CACA,OAAOD,CACT,CAEA,IAAMG,EAAc,SAAdA,IACJ,OAAOC,GACT,EAEA,IAAMC,EAA0B,SAA1BA,EACJC,EACAC,GAEA,IAAMC,EAAgBF,EAAcG,iBAAiB,0BAA0BC,SAC/EH,EAAWI,QAAQ,SAACC,GAClBJ,EAAa,CACXK,KAAM,cACNC,SAAUF,EAAKjB,KACfoB,MAAOH,EAAKG,OAEhB,EACF,EAEA,IAAMC,EAAsC,SAAtCA,EACJV,EACAC,GAEA,IAAMU,EAAYV,EAAWW,IAAI,SAACN,GAChC,MAAO,CACLjB,KAAMiB,EAAKjB,KACXoB,MAAOH,EAAKG,MAEhB,GAEAT,EAAKa,UAAUF,GAEfZ,EAAwBC,EAAMW,EAChC,EAEA,IAAMG,EAA+B,SAA/BA,EAAgCC,GACpC,IAAKA,EAAQ,OAAOC,UACpB,IAAMC,EAAYC,EAAWH,GAC7BI,OAAOC,KAAKH,GAAWZ,QAAQ,SAACV,GAC9B,GAAIA,EAAIL,SAAS,eAAgB,QACxB2B,EAAUtB,EACnB,CACF,GACA,OAAOsB,CACT,EAEO,IAAMI,EAAW,CACtBjC,cAAAA,EACAN,kBAAAA,EACAS,4BAAAA,EACAM,YAAAA,EAQAE,wBAAAA,EAQAW,oCAAqCA,EAOrCI,6BAA8BA"}
|
package/esm/file-export/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-c0dbec57.js";import{message as t}from"antd";import{Fragment as e,isValidElement as o}from"react";import{jsx as n}from"react/jsx-runtime";var c=function c(i){var u=i.action;var a=function r(){return new Promise(
|
|
4
|
+
import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{message as t}from"antd";import{Fragment as e,isValidElement as o}from"react";import{jsx as n}from"react/jsx-runtime";var c=function c(i){var u=i.action;var a=function r(){return new Promise(function(r,e){var o,n,c;var u=function(){try{return r()}catch(r){return e(r)}};var a=function(r){try{if(i.onExportError){i.onExportError(r)}else{t.error((r==null?void 0:r.message)||"文件导出失败...")}return u()}catch(r){return e(r)}};try{i.onExportPre==null||i.onExportPre();return Promise.resolve(i.onRequest()).then(function(r){try{o=r;n=document.createElement("a");c=window.URL.createObjectURL(o.data);n.style.display="none";n.href=c;n.setAttribute("download",o.fileName);document.body.appendChild(n);n.click();document.body.removeChild(n);i.onExportNext==null||i.onExportNext();return u()}catch(r){return a(r)}},a)}catch(r){a(r)}})};return n(e,{children:o(u)?n(u.type,r({},u.props,{onClick:a})):u==null?void 0:u({onClick:a})})};export{c as FileExport};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/file-export/file-export.tsx"],"sourcesContent":["import { message } from 'antd';\nimport { Fragment, isValidElement, ReactElement } from 'react';\n\nexport type FileExportProps = {\n /** 触发节点 */\n action: (ReactElement & { onClick?: (e) => void }) | ((data: { onClick: (e) => void }) => ReactElement);\n /**\n * 获取文件流数据\n * ```\n * 1. fileName 文件名称\n * 2. data 文件流\n * ```\n */\n onRequest: () => Promise<{ fileName: string; data: Blob }>;\n /** 导出操作前 */\n onExportPre?: () => void;\n /** 导出操作后 */\n onExportNext?: () => void;\n /** 导出操作失败,隐藏默认失败效果 */\n onExportError?: (error?: any) => void;\n};\n\n/**\n * 文件导出\n * ```\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/widget?key=file-export\n * 例如:\n <FileExport\n action={<Button>下载</Button>}\n onRequest={() => {\n return serviceHandle.fileExport('/export/file', {});\n }}\n onExportNext={() => {\n message.success('导出成功...');\n }}\n />\n * ```\n */\nexport const FileExport = (props: FileExportProps) => {\n const Action = props.action;\n\n const handleOnClick = async () => {\n try {\n props.onExportPre?.();\n const respData = await props.onRequest();\n const link = document.createElement('a');\n const url = window.URL.createObjectURL(respData.data);\n link.style.display = 'none';\n link.href = url;\n link.setAttribute('download', respData.fileName);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n props.onExportNext?.();\n } catch (error: any) {\n if (props.onExportError) {\n props.onExportError(error);\n } else {\n message.error(error?.message || '文件导出失败...');\n }\n }\n };\n\n return (\n <Fragment>\n {isValidElement(Action) ? (\n <Action.type {...Action.props} onClick={handleOnClick} />\n ) : (\n Action?.({ onClick: handleOnClick })\n )}\n </Fragment>\n );\n};\n"],"names":["FileExport","props","Action","action","handleOnClick","Promise","$return","$error","respData","link","url","$Try_1_Post","$boundEx","$Try_1_Catch","error","onExportError","message","onExportPre","resolve","onRequest","then","$await_2","document","createElement","window","URL","createObjectURL","data","style","display","href","setAttribute","fileName","body","appendChild","click","removeChild","onExportNext","_jsx","Fragment","children","isValidElement","type","_extends","onClick"],"mappings":";6LAsCaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,EAASD,EAAME,OAErB,IAAMC,EAAgB,SAAhBA,IAAgB,OAAA,IAAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/file-export/file-export.tsx"],"sourcesContent":["import { message } from 'antd';\nimport { Fragment, isValidElement, ReactElement } from 'react';\n\nexport type FileExportProps = {\n /** 触发节点 */\n action: (ReactElement & { onClick?: (e) => void }) | ((data: { onClick: (e) => void }) => ReactElement);\n /**\n * 获取文件流数据\n * ```\n * 1. fileName 文件名称\n * 2. data 文件流\n * ```\n */\n onRequest: () => Promise<{ fileName: string; data: Blob }>;\n /** 导出操作前 */\n onExportPre?: () => void;\n /** 导出操作后 */\n onExportNext?: () => void;\n /** 导出操作失败,隐藏默认失败效果 */\n onExportError?: (error?: any) => void;\n};\n\n/**\n * 文件导出\n * ```\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/widget?key=file-export\n * 例如:\n <FileExport\n action={<Button>下载</Button>}\n onRequest={() => {\n return serviceHandle.fileExport('/export/file', {});\n }}\n onExportNext={() => {\n message.success('导出成功...');\n }}\n />\n * ```\n */\nexport const FileExport = (props: FileExportProps) => {\n const Action = props.action;\n\n const handleOnClick = async () => {\n try {\n props.onExportPre?.();\n const respData = await props.onRequest();\n const link = document.createElement('a');\n const url = window.URL.createObjectURL(respData.data);\n link.style.display = 'none';\n link.href = url;\n link.setAttribute('download', respData.fileName);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n props.onExportNext?.();\n } catch (error: any) {\n if (props.onExportError) {\n props.onExportError(error);\n } else {\n message.error(error?.message || '文件导出失败...');\n }\n }\n };\n\n return (\n <Fragment>\n {isValidElement(Action) ? (\n <Action.type {...Action.props} onClick={handleOnClick} />\n ) : (\n Action?.({ onClick: handleOnClick })\n )}\n </Fragment>\n );\n};\n"],"names":["FileExport","props","Action","action","handleOnClick","Promise","$return","$error","respData","link","url","$Try_1_Post","$boundEx","$Try_1_Catch","error","onExportError","message","onExportPre","resolve","onRequest","then","$await_2","document","createElement","window","URL","createObjectURL","data","style","display","href","setAttribute","fileName","body","appendChild","click","removeChild","onExportNext","_jsx","Fragment","children","isValidElement","type","_extends","onClick"],"mappings":";6LAsCaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,EAASD,EAAME,OAErB,IAAMC,EAAgB,SAAhBA,IAAgB,OAAA,IAAAC,QAAA,SAAAC,EAAAC,GAAA,IAGZC,EACAC,EACAC,EA9CZ,IAAIC,aAAJ,IAAI,OAAAL,GAAK,CAAC,MAAAM,GAAW,OAAOL,EAAAK,EAAM,GAAlC,IAAIC,EAAA,SAsDSC,GAtDb,IAuDM,GAAIb,EAAMc,cAAe,CACvBd,EAAMc,cAAcD,EACtB,KAAO,CACLE,EAAQF,OAAMA,GAAAA,UAAAA,EAAAA,EAAOE,UAAW,YAClC,CA3DN,OAAOL,GAAE,CAAC,MAAAC,GAAW,OAAOL,EAAAK,EAAM,GA0C9B,IACEX,EAAMgB,aAAW,MAAjBhB,EAAMgB,cACW,OAAAZ,QAAAa,QAAMjB,EAAMkB,aAAZC,KAAuB,SAAAC,GA5C9C,IA4CYb,EAAWa,EACXZ,EAAOa,SAASC,cAAc,KAC9Bb,EAAMc,OAAOC,IAAIC,gBAAgBlB,EAASmB,MAChDlB,EAAKmB,MAAMC,QAAU,OACrBpB,EAAKqB,KAAOpB,EACZD,EAAKsB,aAAa,WAAYvB,EAASwB,UACvCV,SAASW,KAAKC,YAAYzB,GAC1BA,EAAK0B,QACLb,SAASW,KAAKG,YAAY3B,GAC1BR,EAAMoC,cAAY,MAAlBpC,EAAMoC,eArDZ,OAAO1B,GAAE,CAAC,MAAAC,GAAW,OAAOC,EAAAD,EAAM,CAAC,EAAAC,EAsD9B,CAAC,MAAOC,GAAYD,EAAZC,EAMT,CAAC,EACF,EAED,OACEwB,EAACC,EAAQ,CAAAC,SACNC,EAAevC,GACdoC,EAACpC,EAAOwC,KAAIC,EAAKzC,CAAAA,EAAAA,EAAOD,MAAK,CAAE2C,QAASxC,KAExCF,GAAM,UAAA,EAANA,EAAS,CAAE0C,QAASxC,KAI5B"}
|
package/esm/file-import/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{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as o}from"@wove/react/cjs/hooks";import{message as a,Upload as i,Button as t}from"antd";import{useState as n,isValidElement as l}from"react";import{jsx as s}from"react/jsx-runtime";var f=["onImportFinish","buttonName"];var m=function m(c){var d=c.onImportFinish,p=c.buttonName,u=e(c,f);var h=n(false),v=h[0],g=h[1];var x=o.useCallbackRef(
|
|
4
|
+
import{a as e,_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{hooks as o}from"@wove/react/cjs/hooks";import{message as a,Upload as i,Button as t}from"antd";import{useState as n,isValidElement as l}from"react";import{jsx as s}from"react/jsx-runtime";var f=["onImportFinish","buttonName"];var m=function m(c){var d=c.onImportFinish,p=c.buttonName,u=e(c,f);var h=n(false),v=h[0],g=h[1];var x=o.useCallbackRef(function(e){if(e.file.status==="uploading"){g(true)}else if(e.file.status==="done"){g(false);var r=e.file.response;if(r.code==="0000"){d(r.data)}else{void a.error(r.message||"文件导入异常...")}}});return s(i,r({showUploadList:false,maxCount:1},u,{onChange:x,children:typeof c.children==="function"?c.children==null?void 0:c.children({loading:v}):l(c.children)?c.children:s(t,{type:"primary",ghost:true,loading:v,children:p||"选择文件"})}))};m.defaultProps={name:"file",accept:".xlsx,.xls"};export{m as FileImport};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/file-import/file-import.tsx"],"sourcesContent":["import { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, message, Upload, UploadProps } from 'antd';\nimport { isValidElement, ReactElement, useState } from 'react';\n\nexport type FileImportProps = {\n /** 上传文件接口返回处理 */\n onImportFinish: (data?: TAny) => void;\n buttonName?: string | ReactElement;\n children?: React.ReactNode | ((data: { loading: boolean }) => React.ReactNode);\n} & Omit<\n UploadProps,\n | 'fileList'\n | 'showUploadList'\n | 'itemRender'\n | 'listType'\n | 'multiple'\n | 'previewFile'\n | 'progress'\n | 'onChange'\n | 'onDownload'\n | 'onRemove'\n | 'onPreview'\n | 'directory'\n | 'customRequest'\n | 'defaultFileList'\n | 'iconRender'\n>;\n\n/**\n * 文件导入\n * ```\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/widget?key=file-export\n * 1. accept默认值 '.xlsx,.xls',\n * 2. formData 上传key默认值 file\n * \n * 例如:\n <FileImport\n action={'https://xxx/xxx/xx'}\n onImportFinish={(data) => {\n console.log('上传接口响应数据', data);\n }}\n >\n <Button>文件上传</Button>\n </FileImport>\n * ```\n */\nexport const FileImport = (props: FileImportProps) => {\n const { onImportFinish, buttonName, ...otherProps } = props;\n\n const [loading, setLoading] = useState(false);\n\n const onChange = hooks.useCallbackRef((info) => {\n if (info.file.status === 'uploading') {\n setLoading(true);\n } else if (info.file.status === 'done') {\n setLoading(false);\n const respData = info.file.response;\n if (respData.code === '0000') {\n onImportFinish(respData.data);\n } else {\n void message.error((respData.message as string) || '文件导入异常...');\n }\n }\n });\n\n return (\n <Upload showUploadList={false} maxCount={1} {...otherProps} onChange={onChange}>\n {typeof props.children === 'function' ? (\n props.children?.({ loading })\n ) : isValidElement(props.children) ? (\n props.children\n ) : (\n <Button type=\"primary\" ghost loading={loading}>\n {buttonName || '选择文件'}\n </Button>\n )}\n </Upload>\n );\n};\n\nFileImport.defaultProps = {\n name: 'file',\n accept: '.xlsx,.xls',\n};\n"],"names":["FileImport","props","onImportFinish","buttonName","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","loading","setLoading","onChange","_hooks","useCallbackRef","info","file","status","respData","response","code","data","message","error","_jsx","Upload","_extends","showUploadList","maxCount","children","isValidElement","Button","type","ghost","defaultProps","name","accept"],"mappings":";gTA+CaA,EAAa,SAAbA,EAAcC,GACzB,IAAQC,EAA8CD,EAA9CC,eAAgBC,EAA8BF,EAA9BE,WAAeC,EAAUC,EAAKJ,EAAKK,GAE3D,IAAAC,EAA8BC,EAAS,OAAhCC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAE1B,IAAMI,EAAWC,EAAMC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/file-import/file-import.tsx"],"sourcesContent":["import { TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, message, Upload, UploadProps } from 'antd';\nimport { isValidElement, ReactElement, useState } from 'react';\n\nexport type FileImportProps = {\n /** 上传文件接口返回处理 */\n onImportFinish: (data?: TAny) => void;\n buttonName?: string | ReactElement;\n children?: React.ReactNode | ((data: { loading: boolean }) => React.ReactNode);\n} & Omit<\n UploadProps,\n | 'fileList'\n | 'showUploadList'\n | 'itemRender'\n | 'listType'\n | 'multiple'\n | 'previewFile'\n | 'progress'\n | 'onChange'\n | 'onDownload'\n | 'onRemove'\n | 'onPreview'\n | 'directory'\n | 'customRequest'\n | 'defaultFileList'\n | 'iconRender'\n>;\n\n/**\n * 文件导入\n * ```\n * demo:https://fex.qa.tcshuke.com/docs/admin/main/widget?key=file-export\n * 1. accept默认值 '.xlsx,.xls',\n * 2. formData 上传key默认值 file\n * \n * 例如:\n <FileImport\n action={'https://xxx/xxx/xx'}\n onImportFinish={(data) => {\n console.log('上传接口响应数据', data);\n }}\n >\n <Button>文件上传</Button>\n </FileImport>\n * ```\n */\nexport const FileImport = (props: FileImportProps) => {\n const { onImportFinish, buttonName, ...otherProps } = props;\n\n const [loading, setLoading] = useState(false);\n\n const onChange = hooks.useCallbackRef((info) => {\n if (info.file.status === 'uploading') {\n setLoading(true);\n } else if (info.file.status === 'done') {\n setLoading(false);\n const respData = info.file.response;\n if (respData.code === '0000') {\n onImportFinish(respData.data);\n } else {\n void message.error((respData.message as string) || '文件导入异常...');\n }\n }\n });\n\n return (\n <Upload showUploadList={false} maxCount={1} {...otherProps} onChange={onChange}>\n {typeof props.children === 'function' ? (\n props.children?.({ loading })\n ) : isValidElement(props.children) ? (\n props.children\n ) : (\n <Button type=\"primary\" ghost loading={loading}>\n {buttonName || '选择文件'}\n </Button>\n )}\n </Upload>\n );\n};\n\nFileImport.defaultProps = {\n name: 'file',\n accept: '.xlsx,.xls',\n};\n"],"names":["FileImport","props","onImportFinish","buttonName","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","loading","setLoading","onChange","_hooks","useCallbackRef","info","file","status","respData","response","code","data","message","error","_jsx","Upload","_extends","showUploadList","maxCount","children","isValidElement","Button","type","ghost","defaultProps","name","accept"],"mappings":";gTA+CaA,EAAa,SAAbA,EAAcC,GACzB,IAAQC,EAA8CD,EAA9CC,eAAgBC,EAA8BF,EAA9BE,WAAeC,EAAUC,EAAKJ,EAAKK,GAE3D,IAAAC,EAA8BC,EAAS,OAAhCC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAE1B,IAAMI,EAAWC,EAAMC,eAAe,SAACC,GACrC,GAAIA,EAAKC,KAAKC,SAAW,YAAa,CACpCN,EAAW,KACZ,MAAM,GAAII,EAAKC,KAAKC,SAAW,OAAQ,CACtCN,EAAW,OACX,IAAMO,EAAWH,EAAKC,KAAKG,SAC3B,GAAID,EAASE,OAAS,OAAQ,CAC5BjB,EAAee,EAASG,KAC1B,KAAO,MACAC,EAAQC,MAAOL,EAASI,SAAsB,YACrD,CACF,CACF,GAEA,OACEE,EAACC,EAAMC,EAAA,CAACC,eAAgB,MAAOC,SAAU,GAAOvB,EAAU,CAAEO,SAAUA,EAASiB,gBACrE3B,EAAM2B,WAAa,WACzB3B,EAAM2B,UAAQ,UAAA,EAAd3B,EAAM2B,SAAW,CAAEnB,QAAAA,IACjBoB,EAAe5B,EAAM2B,UACvB3B,EAAM2B,SAENL,EAACO,EAAM,CAACC,KAAK,UAAUC,MAAK,KAACvB,QAASA,EAAQmB,SAC3CzB,GAAc,WAKzB,EAEAH,EAAWiC,aAAe,CACxBC,KAAM,OACNC,OAAQ"}
|
package/esm/file-select/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{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as o}from"@flatbiz/utils";import{Upload as t,Button as a}from"antd";import{useState as l}from"react";import{jsx as n}from"react/jsx-runtime";var i=function i(s){var c=s.buttonName;var m=l([]),f=m[0],u=m[1];var h=o(s.direction)?"horizontal":s.direction;var p=r.useCallbackRef(
|
|
4
|
+
import{classNames as e}from"@dimjs/utils/cjs/class-names";import{hooks as r}from"@wove/react/cjs/hooks";import{isUndefinedOrNull as o}from"@flatbiz/utils";import{Upload as t,Button as a}from"antd";import{useState as l}from"react";import{jsx as n}from"react/jsx-runtime";var i=function i(s){var c=s.buttonName;var m=l([]),f=m[0],u=m[1];var h=o(s.direction)?"horizontal":s.direction;var p=r.useCallbackRef(function(e){u([e]);s.onChange==null||s.onChange(e);return false});var d=r.useCallbackRef(function(e){var r;if((e==null||(r=e.file)==null?void 0:r.status)==="removed"){u([]);s.onChange==null||s.onChange()}});return n(t,{showUploadList:true,onChange:d,maxCount:1,beforeUpload:p,fileList:f,accept:s.accept||".xlsx,.xls",className:e("file-select",{"file-select-horizontal":h==="horizontal"},s.className),children:s.children?s.children:n(a,{type:"primary",ghost:true,children:c||"选择文件"})})};export{i as FileSelect};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/file-select/file-select.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Upload } from 'antd';\nimport { RcFile } from 'antd/es/upload';\nimport { ReactElement, useState } from 'react';\nimport './style.less';\n\nexport type FileSelectProps = {\n buttonName?: string | ReactElement;\n children?: React.ReactNode;\n /** 上传按钮与文件排版 默认:horizontal */\n direction?: 'horizontal' | 'hertical';\n /** 可选择文件格式,默认:.xlsx,.xls */\n accept?: string;\n onChange?: (file?: RcFile) => void;\n className?: string;\n};\n\n/**\n * 文件选择,内部不调用服务上传\n * ```\n * 默认选择文件格式:.xlsx,.xls\n * ```\n */\nexport const FileSelect = (props: FileSelectProps) => {\n const { buttonName } = props;\n const [fileList, setFileList] = useState<RcFile[]>([]);\n const direction = isUndefinedOrNull(props.direction) ? 'horizontal' : props.direction;\n\n const beforeUpload = hooks.useCallbackRef((file) => {\n setFileList([file]);\n props.onChange?.(file);\n return false;\n });\n\n const onChange = hooks.useCallbackRef((info) => {\n if (info?.file?.status === 'removed') {\n setFileList([]);\n props.onChange?.();\n }\n });\n\n return (\n <Upload\n showUploadList={true}\n onChange={onChange}\n maxCount={1}\n beforeUpload={beforeUpload}\n fileList={fileList}\n accept={props.accept || '.xlsx,.xls'}\n className={classNames(\n 'file-select',\n { 'file-select-horizontal': direction === 'horizontal' },\n props.className,\n )}\n >\n {props.children ? (\n props.children\n ) : (\n <Button type=\"primary\" ghost>\n {buttonName || '选择文件'}\n </Button>\n )}\n </Upload>\n );\n};\n"],"names":["FileSelect","props","buttonName","_useState","useState","fileList","setFileList","direction","isUndefinedOrNull","beforeUpload","_hooks","useCallbackRef","file","onChange","info","_info$file","status","_jsx","Upload","showUploadList","maxCount","accept","className","_classNames","children","Button","type","ghost"],"mappings":";kRAyBaA,EAAa,SAAbA,EAAcC,GACzB,IAAQC,EAAeD,EAAfC,WACR,IAAAC,EAAgCC,EAAmB,IAA5CC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAC5B,IAAMI,EAAYC,EAAkBP,EAAMM,WAAa,aAAeN,EAAMM,UAE5E,IAAME,EAAeC,EAAMC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/file-select/file-select.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Upload } from 'antd';\nimport { RcFile } from 'antd/es/upload';\nimport { ReactElement, useState } from 'react';\nimport './style.less';\n\nexport type FileSelectProps = {\n buttonName?: string | ReactElement;\n children?: React.ReactNode;\n /** 上传按钮与文件排版 默认:horizontal */\n direction?: 'horizontal' | 'hertical';\n /** 可选择文件格式,默认:.xlsx,.xls */\n accept?: string;\n onChange?: (file?: RcFile) => void;\n className?: string;\n};\n\n/**\n * 文件选择,内部不调用服务上传\n * ```\n * 默认选择文件格式:.xlsx,.xls\n * ```\n */\nexport const FileSelect = (props: FileSelectProps) => {\n const { buttonName } = props;\n const [fileList, setFileList] = useState<RcFile[]>([]);\n const direction = isUndefinedOrNull(props.direction) ? 'horizontal' : props.direction;\n\n const beforeUpload = hooks.useCallbackRef((file) => {\n setFileList([file]);\n props.onChange?.(file);\n return false;\n });\n\n const onChange = hooks.useCallbackRef((info) => {\n if (info?.file?.status === 'removed') {\n setFileList([]);\n props.onChange?.();\n }\n });\n\n return (\n <Upload\n showUploadList={true}\n onChange={onChange}\n maxCount={1}\n beforeUpload={beforeUpload}\n fileList={fileList}\n accept={props.accept || '.xlsx,.xls'}\n className={classNames(\n 'file-select',\n { 'file-select-horizontal': direction === 'horizontal' },\n props.className,\n )}\n >\n {props.children ? (\n props.children\n ) : (\n <Button type=\"primary\" ghost>\n {buttonName || '选择文件'}\n </Button>\n )}\n </Upload>\n );\n};\n"],"names":["FileSelect","props","buttonName","_useState","useState","fileList","setFileList","direction","isUndefinedOrNull","beforeUpload","_hooks","useCallbackRef","file","onChange","info","_info$file","status","_jsx","Upload","showUploadList","maxCount","accept","className","_classNames","children","Button","type","ghost"],"mappings":";kRAyBaA,EAAa,SAAbA,EAAcC,GACzB,IAAQC,EAAeD,EAAfC,WACR,IAAAC,EAAgCC,EAAmB,IAA5CC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAC5B,IAAMI,EAAYC,EAAkBP,EAAMM,WAAa,aAAeN,EAAMM,UAE5E,IAAME,EAAeC,EAAMC,eAAe,SAACC,GACzCN,EAAY,CAACM,IACbX,EAAMY,UAANZ,MAAAA,EAAMY,SAAWD,GACjB,OAAO,KACT,GAEA,IAAMC,EAAWH,EAAMC,eAAe,SAACG,GAAS,IAAAC,EAC9C,IAAID,GAAIC,OAAAA,EAAJD,EAAMF,OAAI,UAAA,EAAVG,EAAYC,UAAW,UAAW,CACpCV,EAAY,IACZL,EAAMY,UAAQ,MAAdZ,EAAMY,UACR,CACF,GAEA,OACEI,EAACC,EAAM,CACLC,eAAgB,KAChBN,SAAUA,EACVO,SAAU,EACVX,aAAcA,EACdJ,SAAUA,EACVgB,OAAQpB,EAAMoB,QAAU,aACxBC,UAAWC,EACT,cACA,CAAE,yBAA0BhB,IAAc,cAC1CN,EAAMqB,WACNE,SAEDvB,EAAMuB,SACLvB,EAAMuB,SAENP,EAACQ,EAAM,CAACC,KAAK,UAAUC,MAAK,KAAAH,SACzBtB,GAAc,UAKzB"}
|
package/esm/flex-layout/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-c0dbec57.js";import{classNames as l}from"@dimjs/utils/cjs/class-names";import{toArray as e}from"@flatbiz/utils";import{Children as a,cloneElement as i}from"react";import{jsx as t}from"react/jsx-runtime";var o=function o(s){var n=a.toArray(s.children);var m=s.direction||"vertical";var c=s.gap?s.gap:0;var p=e(s.fullIndex);return t("div",{className:l("v-flex-layout","v-flex-"+m,s.className),style:r({},s.style,{gap:c}),onClick:s.onClick,children:n.map(
|
|
4
|
+
import{_ as r}from"../_rollupPluginBabelHelpers-c0dbec57.js";import{classNames as l}from"@dimjs/utils/cjs/class-names";import{toArray as e}from"@flatbiz/utils";import{Children as a,cloneElement as i}from"react";import{jsx as t}from"react/jsx-runtime";var o=function o(s){var n=a.toArray(s.children);var m=s.direction||"vertical";var c=s.gap?s.gap:0;var p=e(s.fullIndex);return t("div",{className:l("v-flex-layout","v-flex-"+m,s.className),style:r({},s.style,{gap:c}),onClick:s.onClick,children:n.map(function(l,e){var a;var t=((a=l.props)==null?void 0:a.style)||{};var o=p.includes(e)?r({flex:1},t):r({flexShrink:0},t);return i(l,{style:o,key:e})})})};export{o as FlexLayout};
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/flex-layout/flex-layout.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { toArray } from '@flatbiz/utils';\nimport { Children, cloneElement, CSSProperties, ReactElement, ReactNode } from 'react';\nimport './style.less';\n\nexport type FlexLayoutProps = {\n className?: string;\n /** 子组件铺满的索引值,从0开始 */\n fullIndex: number | number[];\n /**方向,默认值vertical */\n direction?: 'vertical' | 'horizontal';\n onClick?: () => void;\n style?: CSSProperties;\n /** 间隙尺寸 */\n gap?: number;\n children?: ReactNode | null | Array<ReactNode | null>;\n};\n/**\n * flex布局,主要用于Flex结构性布局\n * ```\n * 4.2.87版本中将fullIndex改为了必填属性,如果在升级中遇到问题,不确定怎么写,可设置 fullIndex=[] 保持原样\n * ```\n */\nexport const FlexLayout = (props: FlexLayoutProps) => {\n const childrens = Children.toArray(props.children) as ReactElement[];\n const direction = props.direction || 'vertical';\n const gap = props.gap ? props.gap : 0;\n const fullIndexList = toArray<number>(props.fullIndex);\n\n return (\n <div\n className={classNames('v-flex-layout', `v-flex-${direction}`, props.className)}\n style={{\n ...props.style,\n gap,\n }}\n onClick={props.onClick}\n >\n {childrens.map((children, index) => {\n const childrenStyle = children.props?.style || {};\n const style = fullIndexList.includes(index)\n ? { flex: 1, ...childrenStyle }\n : { flexShrink: 0, ...childrenStyle };\n // if (index < childrens.length - 1 && gap > 0) {\n // if (direction === 'horizontal') {\n // style.marginRight = gap;\n // } else {\n // style.marginBottom = gap;\n // }\n // }\n return cloneElement(children, { style, key: index });\n })}\n </div>\n );\n};\n"],"names":["FlexLayout","props","childrens","Children","toArray","children","direction","gap","fullIndexList","fullIndex","_jsx","className","_classNames","style","_extends","onClick","map","index","_children$props","childrenStyle","includes","flex","flexShrink","cloneElement","key"],"mappings":";+PAuBaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,EAAYC,EAASC,QAAQH,EAAMI,UACzC,IAAMC,EAAYL,EAAMK,WAAa,WACrC,IAAMC,EAAMN,EAAMM,IAAMN,EAAMM,IAAM,EACpC,IAAMC,EAAgBJ,EAAgBH,EAAMQ,WAE5C,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAW,gBAAe,UAAYN,EAAaL,EAAMU,WACpEE,MAAKC,EACAb,GAAAA,EAAMY,MAAK,CACdN,IAAAA,IAEFQ,QAASd,EAAMc,QAAQV,SAEtBH,EAAUc,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/flex-layout/flex-layout.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { toArray } from '@flatbiz/utils';\nimport { Children, cloneElement, CSSProperties, ReactElement, ReactNode } from 'react';\nimport './style.less';\n\nexport type FlexLayoutProps = {\n className?: string;\n /** 子组件铺满的索引值,从0开始 */\n fullIndex: number | number[];\n /**方向,默认值vertical */\n direction?: 'vertical' | 'horizontal';\n onClick?: () => void;\n style?: CSSProperties;\n /** 间隙尺寸 */\n gap?: number;\n children?: ReactNode | null | Array<ReactNode | null>;\n};\n/**\n * flex布局,主要用于Flex结构性布局\n * ```\n * 4.2.87版本中将fullIndex改为了必填属性,如果在升级中遇到问题,不确定怎么写,可设置 fullIndex=[] 保持原样\n * ```\n */\nexport const FlexLayout = (props: FlexLayoutProps) => {\n const childrens = Children.toArray(props.children) as ReactElement[];\n const direction = props.direction || 'vertical';\n const gap = props.gap ? props.gap : 0;\n const fullIndexList = toArray<number>(props.fullIndex);\n\n return (\n <div\n className={classNames('v-flex-layout', `v-flex-${direction}`, props.className)}\n style={{\n ...props.style,\n gap,\n }}\n onClick={props.onClick}\n >\n {childrens.map((children, index) => {\n const childrenStyle = children.props?.style || {};\n const style = fullIndexList.includes(index)\n ? { flex: 1, ...childrenStyle }\n : { flexShrink: 0, ...childrenStyle };\n // if (index < childrens.length - 1 && gap > 0) {\n // if (direction === 'horizontal') {\n // style.marginRight = gap;\n // } else {\n // style.marginBottom = gap;\n // }\n // }\n return cloneElement(children, { style, key: index });\n })}\n </div>\n );\n};\n"],"names":["FlexLayout","props","childrens","Children","toArray","children","direction","gap","fullIndexList","fullIndex","_jsx","className","_classNames","style","_extends","onClick","map","index","_children$props","childrenStyle","includes","flex","flexShrink","cloneElement","key"],"mappings":";+PAuBaA,EAAa,SAAbA,EAAcC,GACzB,IAAMC,EAAYC,EAASC,QAAQH,EAAMI,UACzC,IAAMC,EAAYL,EAAMK,WAAa,WACrC,IAAMC,EAAMN,EAAMM,IAAMN,EAAMM,IAAM,EACpC,IAAMC,EAAgBJ,EAAgBH,EAAMQ,WAE5C,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAW,gBAAe,UAAYN,EAAaL,EAAMU,WACpEE,MAAKC,EACAb,GAAAA,EAAMY,MAAK,CACdN,IAAAA,IAEFQ,QAASd,EAAMc,QAAQV,SAEtBH,EAAUc,IAAI,SAACX,EAAUY,GAAU,IAAAC,EAClC,IAAMC,IAAgBD,EAAAb,EAASJ,QAAK,UAAA,EAAdiB,EAAgBL,QAAS,CAAA,EAC/C,IAAMA,EAAQL,EAAcY,SAASH,GAAMH,EAAA,CACrCO,KAAM,GAAMF,GAAaL,EAAA,CACzBQ,WAAY,GAAMH,GAQxB,OAAOI,EAAalB,EAAU,CAAEQ,MAAAA,EAAOW,IAAKP,OAIpD"}
|