@flatbiz/antd 4.4.7 → 4.4.9

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.
@@ -8,5 +8,5 @@ import './../button-wrapper/index.css';
8
8
  import './../flex-layout/index.css';
9
9
  import './index.css';
10
10
  /*! @flatjs/forge MIT @flatbiz/antd */
11
- import{_ as o}from"../_rollupPluginBabelHelpers-a0769acd.js";import{get as r}from"@dimjs/utils/cjs/get";import{theme as i,App as e}from"antd";import{C as t}from"../index-7f4ad045.js";import{FbaApp as s}from"../fba-app/index.js";import{fbaHooks as a}from"../fba-hooks/index.js";import{jsx as l}from"react/jsx-runtime";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";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@flatbiz/utils";import"@wove/react/cjs/hooks";import"react";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-promise";import"ahooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../flex-layout/index.js";import"../index-1f45bfd5.js";import"../use-responsive-point-21b8c601.js";var m=function m(d){var n;a.useEffectCustom((function(){var o=document.body.style.cssText;var i={};if(o){var e=/(.+?):\s*(.+?);/g;var t;while(t=e.exec(o)){var s=t[1].trim();var a=t[2];i[s]=a}}if(d.dark){i["--bg-color"]=r(d,"bgColorConfig.dark.bgColor","#1b1a1a");i["--block-bg-color"]=r(d,"bgColorConfig.dark.blockBgColor","#000")}else{i["--bg-color"]=r(d,"bgColorConfig.light.bgColor","#f9f9f9");i["--block-bg-color"]=r(d,"bgColorConfig.light.blockBgColor","#FFF")}var l="";Object.keys(i).forEach((function(o){if(i[o]){l=l+(o+":"+i[o]+";")}}));document.body.style.cssText=l;if(d.dark){document.body.classList.add("dark-theme")}else{document.body.classList.add("light-theme")}}),[d.bgColorConfig,d.dark]);var p=a.useThemeToken();return l(t,o({locale:d.locale,componentSize:"middle",space:{size:"middle"}},d.configProviderProps,{theme:o({},(n=d.configProviderProps)==null?void 0:n.theme,{algorithm:d.dark?i.darkAlgorithm:undefined}),children:l(e,{style:{"--color-primary":p.colorPrimary},className:"bootstrap-app",children:l(s,{children:d.children})})}))};export{m as Bootstrap};
11
+ import{_ as o}from"../_rollupPluginBabelHelpers-a0769acd.js";import{get as r}from"@dimjs/utils/cjs/get";import{theme as i,App as e}from"antd";import{C as t}from"../index-7f4ad045.js";import{FbaApp as s}from"../fba-app/index.js";import{fbaHooks as a}from"../fba-hooks/index.js";import{jsx as l}from"react/jsx-runtime";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";import"../fba-utils/index.js";import"@dimjs/lang/cjs/is-array";import"@flatbiz/utils";import"@wove/react/cjs/hooks";import"react";import"@dimjs/utils/cjs/class-names";import"@dimjs/lang/cjs/is-null";import"@dimjs/lang/cjs/is-promise";import"ahooks";import"../button-wrapper/index.js";import"@ant-design/icons/es/icons/LoadingOutlined";import"../flex-layout/index.js";import"../index-1f45bfd5.js";import"../use-responsive-point-21b8c601.js";var m=function m(d){var n;a.useEffectCustom((function(){var o=document.body.style.cssText;var i={};if(o){var e=/(.+?):\s*(.+?);/g;var t;while(t=e.exec(o)){var s=t[1].trim();var a=t[2];i[s]=a}}if(d.dark){i["--bg-color"]=r(d,"bgColorConfig.dark.bgColor","#1b1a1a");i["--block-bg-color"]=r(d,"bgColorConfig.dark.blockBgColor","#000")}else{i["--bg-color"]=r(d,"bgColorConfig.light.bgColor","#f9f9f9");i["--block-bg-color"]=r(d,"bgColorConfig.light.blockBgColor","#FFF")}var l="";Object.keys(i).forEach((function(o){if(i[o]){l=l+(o+":"+i[o]+";")}}));document.body.style.cssText=l;if(d.dark){document.body.classList.add("dark-theme")}else{document.body.classList.add("light-theme")}}),[d.bgColorConfig,d.dark]);var p=a.useThemeToken();return l(t,o({locale:d.locale,componentSize:"middle",space:{size:"middle"}},d.configProviderProps,{theme:o({},(n=d.configProviderProps)==null?void 0:n.theme,{algorithm:d.dark?i.darkAlgorithm:undefined}),children:l(e,{style:{"--color-primary":p.colorPrimary},className:"bootstrap-app",children:l(s,{children:d.children})})}))};export{m as Bootstrap};
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/bootstrap/bootstrap.tsx"],"sourcesContent":["import { get } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { App, theme } from 'antd';\nimport { CSSProperties, ReactNode } from 'react';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { FbaApp } from '../fba-app';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type BootstrapProps = {\n dark?: boolean;\n children: ReactNode;\n configProviderProps?: ConfigProviderWrapperProps;\n /** @default zhCN */\n locale?: 'en' | 'zh-cn';\n /**\n * 背景颜色配置\n * ```\n * 默认值:\n * dark: { bgColor: '#1b1a1a', blockBgColor: '#000' }\n * light: { bgColor: '#f9f9f9', blockBgColor: '#FFF' }\n * ```\n */\n bgColorConfig?: {\n dark?: {\n bgColor?: string;\n blockBgColor?: string;\n };\n light?: {\n bgColor?: string;\n blockBgColor?: string;\n };\n };\n};\n/**\n * 如果当前项目入口不使用@flatbiz/pro-layout,必须使用 Bootstrap 组件包装\n * ```\n * Bootstrap 内部\n * 1. 封装 antd App组件\n * 2. 封装 @flatbiz/antd FbaApp组件\n * 3. 适配 light/dark模式\n * 4. 封装 antd ConfigProvider 可配置主题\n * ```\n */\nexport const Bootstrap = (props: BootstrapProps) => {\n fbaHooks.useEffectCustom(() => {\n const bodyStyle = document.body.style.cssText;\n const keyValuePairs = {};\n if (bodyStyle) {\n const regex = /(.+?):\\s*(.+?);/g;\n\n let match;\n while ((match = regex.exec(bodyStyle))) {\n const key = match[1].trim();\n const value = match[2];\n keyValuePairs[key] = value;\n }\n }\n if (props.dark) {\n keyValuePairs['--bg-color'] = get(props, 'bgColorConfig.dark.bgColor', '#1b1a1a');\n keyValuePairs['--block-bg-color'] = get(props, 'bgColorConfig.dark.blockBgColor', '#000');\n } else {\n keyValuePairs['--bg-color'] = get(props, 'bgColorConfig.light.bgColor', '#f9f9f9');\n keyValuePairs['--block-bg-color'] = get(props, 'bgColorConfig.light.blockBgColor', '#FFF');\n }\n let varStyleText = '';\n Object.keys(keyValuePairs).forEach((key) => {\n if (keyValuePairs[key]) {\n varStyleText = varStyleText + `${key}:${keyValuePairs[key]};`;\n }\n });\n document.body.style.cssText = varStyleText;\n\n if (props.dark) {\n document.body.classList.add('dark-theme');\n } else {\n document.body.classList.add('light-theme');\n }\n }, [props.bgColorConfig, props.dark]);\n\n const innerTheme = fbaHooks.useThemeToken();\n\n return (\n <ConfigProviderWrapper\n locale={props.locale as TAny}\n componentSize={'middle'}\n space={{ size: 'middle' }}\n {...props.configProviderProps}\n theme={{\n ...props.configProviderProps?.theme,\n algorithm: props.dark ? theme.darkAlgorithm : undefined,\n }}\n >\n <App style={{ '--color-primary': innerTheme.colorPrimary } as CSSProperties} className=\"bootstrap-app\">\n <FbaApp>{props.children}</FbaApp>\n </App>\n </ConfigProviderWrapper>\n );\n};\n"],"names":["Bootstrap","props","_props$configProvider","fbaHooks","useEffectCustom","bodyStyle","document","body","style","cssText","keyValuePairs","regex","match","exec","key","trim","value","dark","_get","varStyleText","Object","keys","forEach","classList","add","bgColorConfig","innerTheme","useThemeToken","_jsx","ConfigProviderWrapper","_extends","locale","componentSize","space","size","configProviderProps","theme","algorithm","darkAlgorithm","undefined","children","App","colorPrimary","className","FbaApp"],"mappings":";mlCA4CaA,EAAY,SAAZA,EAAaC,GAA0B,IAAAC,EAClDC,EAASC,iBAAgB,WACvB,IAAMC,EAAYC,SAASC,KAAKC,MAAMC,QACtC,IAAMC,EAAgB,CAAA,EACtB,GAAIL,EAAW,CACb,IAAMM,EAAQ,mBAEd,IAAIC,EACJ,MAAQA,EAAQD,EAAME,KAAKR,GAAa,CACtC,IAAMS,EAAMF,EAAM,GAAGG,OACrB,IAAMC,EAAQJ,EAAM,GACpBF,EAAcI,GAAOE,CACvB,CACF,CACA,GAAIf,EAAMgB,KAAM,CACdP,EAAc,cAAgBQ,EAAIjB,EAAO,6BAA8B,WACvES,EAAc,oBAAsBQ,EAAIjB,EAAO,kCAAmC,OACpF,KAAO,CACLS,EAAc,cAAgBQ,EAAIjB,EAAO,8BAA+B,WACxES,EAAc,oBAAsBQ,EAAIjB,EAAO,mCAAoC,OACrF,CACA,IAAIkB,EAAe,GACnBC,OAAOC,KAAKX,GAAeY,SAAQ,SAACR,GAClC,GAAIJ,EAAcI,GAAM,CACtBK,EAAeA,GAAkBL,MAAOJ,EAAcI,GAAO,IAC/D,CACF,IACAR,SAASC,KAAKC,MAAMC,QAAUU,EAE9B,GAAIlB,EAAMgB,KAAM,CACdX,SAASC,KAAKgB,UAAUC,IAAI,aAC9B,KAAO,CACLlB,SAASC,KAAKgB,UAAUC,IAAI,cAC9B,CACD,GAAE,CAACvB,EAAMwB,cAAexB,EAAMgB,OAE/B,IAAMS,EAAavB,EAASwB,gBAE5B,OACEC,EAACC,EAAqBC,EAAA,CACpBC,OAAQ9B,EAAM8B,OACdC,cAAe,SACfC,MAAO,CAAEC,KAAM,WACXjC,EAAMkC,oBAAmB,CAC7BC,MAAKN,EAAA,IAAA5B,EACAD,EAAMkC,sBAAmB,UAAA,EAAzBjC,EAA2BkC,MAAK,CACnCC,UAAWpC,EAAMgB,KAAOmB,EAAME,cAAgBC,YAC9CC,SAEFZ,EAACa,EAAG,CAACjC,MAAO,CAAE,kBAAmBkB,EAAWgB,cAAiCC,UAAU,gBAAeH,SACpGZ,EAACgB,EAAM,CAAAJ,SAAEvC,EAAMuC,eAIvB"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/bootstrap/bootstrap.tsx"],"sourcesContent":["import { get } from '@dimjs/utils';\nimport { TAny } from '@flatbiz/utils';\nimport { App, theme } from 'antd';\nimport { CSSProperties, ReactNode } from 'react';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { FbaApp } from '../fba-app';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\n\nexport type BootstrapProps = {\n dark?: boolean;\n children: ReactNode;\n configProviderProps?: ConfigProviderWrapperProps;\n /** @default zhCN */\n locale?: 'en' | 'zh-cn';\n /**\n * 背景颜色配置\n * ```\n * 默认值:\n * dark: { bgColor: '#1b1a1a', blockBgColor: '#000' }\n * light: { bgColor: '#f9f9f9', blockBgColor: '#FFF' }\n * ```\n */\n bgColorConfig?: {\n dark?: {\n bgColor?: string;\n blockBgColor?: string;\n };\n light?: {\n bgColor?: string;\n blockBgColor?: string;\n };\n };\n};\n/**\n * 如果当前项目入口不使用@flatbiz/pro-layout,必须使用 Bootstrap 组件包装\n * ```\n * Bootstrap 内部\n * 1. 封装 antd App组件\n * 2. 封装 @flatbiz/antd FbaApp组件\n * 3. 适配 light/dark模式\n * 4. 封装 antd ConfigProvider 可配置主题\n * ```\n */\nexport const Bootstrap = (props: BootstrapProps) => {\n fbaHooks.useEffectCustom(() => {\n const bodyStyle = document.body.style.cssText;\n const keyValuePairs = {};\n if (bodyStyle) {\n const regex = /(.+?):\\s*(.+?);/g;\n\n let match;\n while ((match = regex.exec(bodyStyle))) {\n const key = match[1].trim();\n const value = match[2];\n keyValuePairs[key] = value;\n }\n }\n if (props.dark) {\n keyValuePairs['--bg-color'] = get(props, 'bgColorConfig.dark.bgColor', '#1b1a1a');\n keyValuePairs['--block-bg-color'] = get(props, 'bgColorConfig.dark.blockBgColor', '#000');\n } else {\n keyValuePairs['--bg-color'] = get(props, 'bgColorConfig.light.bgColor', '#f9f9f9');\n keyValuePairs['--block-bg-color'] = get(props, 'bgColorConfig.light.blockBgColor', '#FFF');\n }\n let varStyleText = '';\n Object.keys(keyValuePairs).forEach((key) => {\n if (keyValuePairs[key]) {\n varStyleText = varStyleText + `${key}:${keyValuePairs[key]};`;\n }\n });\n document.body.style.cssText = varStyleText;\n\n if (props.dark) {\n document.body.classList.add('dark-theme');\n } else {\n document.body.classList.add('light-theme');\n }\n }, [props.bgColorConfig, props.dark]);\n\n const innerTheme = fbaHooks.useThemeToken();\n\n return (\n <ConfigProviderWrapper\n locale={props.locale as TAny}\n componentSize={'middle'}\n space={{ size: 'middle' }}\n {...props.configProviderProps}\n theme={{\n ...props.configProviderProps?.theme,\n algorithm: props.dark ? theme.darkAlgorithm : undefined,\n }}\n >\n <App style={{ '--color-primary': innerTheme.colorPrimary } as CSSProperties} className=\"bootstrap-app\">\n <FbaApp>{props.children}</FbaApp>\n </App>\n </ConfigProviderWrapper>\n );\n};\n"],"names":["Bootstrap","props","_props$configProvider","fbaHooks","useEffectCustom","bodyStyle","document","body","style","cssText","keyValuePairs","regex","match","exec","key","trim","value","dark","_get","varStyleText","Object","keys","forEach","classList","add","bgColorConfig","innerTheme","useThemeToken","_jsx","ConfigProviderWrapper","_extends","locale","componentSize","space","size","configProviderProps","theme","algorithm","darkAlgorithm","undefined","children","App","colorPrimary","className","FbaApp"],"mappings":";mnCA4CaA,EAAY,SAAZA,EAAaC,GAA0B,IAAAC,EAClDC,EAASC,iBAAgB,WACvB,IAAMC,EAAYC,SAASC,KAAKC,MAAMC,QACtC,IAAMC,EAAgB,CAAA,EACtB,GAAIL,EAAW,CACb,IAAMM,EAAQ,mBAEd,IAAIC,EACJ,MAAQA,EAAQD,EAAME,KAAKR,GAAa,CACtC,IAAMS,EAAMF,EAAM,GAAGG,OACrB,IAAMC,EAAQJ,EAAM,GACpBF,EAAcI,GAAOE,CACvB,CACF,CACA,GAAIf,EAAMgB,KAAM,CACdP,EAAc,cAAgBQ,EAAIjB,EAAO,6BAA8B,WACvES,EAAc,oBAAsBQ,EAAIjB,EAAO,kCAAmC,OACpF,KAAO,CACLS,EAAc,cAAgBQ,EAAIjB,EAAO,8BAA+B,WACxES,EAAc,oBAAsBQ,EAAIjB,EAAO,mCAAoC,OACrF,CACA,IAAIkB,EAAe,GACnBC,OAAOC,KAAKX,GAAeY,SAAQ,SAACR,GAClC,GAAIJ,EAAcI,GAAM,CACtBK,EAAeA,GAAkBL,MAAOJ,EAAcI,GAAO,IAC/D,CACF,IACAR,SAASC,KAAKC,MAAMC,QAAUU,EAE9B,GAAIlB,EAAMgB,KAAM,CACdX,SAASC,KAAKgB,UAAUC,IAAI,aAC9B,KAAO,CACLlB,SAASC,KAAKgB,UAAUC,IAAI,cAC9B,CACD,GAAE,CAACvB,EAAMwB,cAAexB,EAAMgB,OAE/B,IAAMS,EAAavB,EAASwB,gBAE5B,OACEC,EAACC,EAAqBC,EAAA,CACpBC,OAAQ9B,EAAM8B,OACdC,cAAe,SACfC,MAAO,CAAEC,KAAM,WACXjC,EAAMkC,oBAAmB,CAC7BC,MAAKN,EAAA,IAAA5B,EACAD,EAAMkC,sBAAmB,UAAA,EAAzBjC,EAA2BkC,MAAK,CACnCC,UAAWpC,EAAMgB,KAAOmB,EAAME,cAAgBC,YAC9CC,SAEFZ,EAACa,EAAG,CAACjC,MAAO,CAAE,kBAAmBkB,EAAWgB,cAAiCC,UAAU,gBAAeH,SACpGZ,EAACgB,EAAM,CAAAJ,SAAEvC,EAAMuC,eAIvB"}
@@ -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-a0769acd.js";import{classNames as e}from"@dimjs/utils/cjs/class-names";import{createContext as a,useContext as t,useMemo as i,useRef as n}from"react";import{jsx as l}from"react/jsx-runtime";import{isNumber as o}from"@dimjs/lang/cjs/is-number";import{useSize as s}from"ahooks";var c={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var d={xs:8,sm:16,md:16,lg:24,xl:24,xxl:32};var p={top:"flex-start",middle:"center",bottom:"flex-end",stretch:"stretch"};var u={start:"flex-start",end:"flex-end",center:"center","space-around":"space-around","space-between":"space-between","space-evenly":"space-evenly"};var v={boxBreakpoint:"lg",defaultGrid:c,horizontalGap:10,verticalGap:10};var f=a(v);var m=function a(n){var o=n.children,s=n.className,c=n.style;var d=t(f),p=d.defaultGrid,u=d.horizontalGap,v=d.boxBreakpoint;var m=i((function(){return n.span||n[v||"lg"]||(p==null?void 0:p[v||"lg"])||8}),[n,v,p]);return l("div",{className:e(s,"box-grad-col"),style:r({},c,{flex:"0 0 "+m/24*100+"%",maxWidth:m/24*100+"%",padding:"0 "+u/2+"px"}),children:o})};var x=function r(e){var a=s(e)||{},t=a.width;var n=i((function(){var r=t||(e==null?void 0:e.clientWidth);if(!r){return"lg"}if(r>=1600){return"xxl"}else if(r>=1200){return"xl"}else if(r>=992){return"lg"}else if(r>=768){return"md"}else if(r>=576){return"sm"}else{return"xs"}}),[t]);return{boxBreakpoint:n,isInit:!!t}};var g=function e(a,t){if(a===void 0){a=d}return i((function(){var e;var i;var n=function e(a){if(typeof a==="number"){return a}if(typeof a==="object"){return r({},d,a)[t]}};if(Array.isArray(a)){var l=a,s=l[0],c=l[1];e=n(s);i=n(c)}else{e=n(a);i=v.verticalGap}return{horizontalGap:o(e)?e:v.horizontalGap,verticalGap:o(i)?i:v.verticalGap}}),[a,t])};var h=function a(t){var i=t.defaultGrid,o=i===void 0?c:i,s=t.children,d=t.className,m=t.style,h=t.gutter,G=t.align,b=t.justify;var y=n(null);var j=x(y),k=j.boxBreakpoint,w=j.isInit;var z=g(h,k),B=z.horizontalGap,N=z.verticalGap;return l(f.Provider,{value:r({},v,{defaultGrid:r({},c,o),boxBreakpoint:k,horizontalGap:B,verticalGap:N}),children:l("div",{className:e("box-grad-root",d),ref:y,style:m,children:l("div",{className:"box-grad-row",style:{alignItems:G?p[G]:"normal",justifyContent:b?u[b]:"normal",marginLeft:"-"+B/2+"px",marginRight:"-"+B/2+"px",rowGap:N+"px"},children:w&&s})})})};var G={Row:h,Col:m};export{G as BoxGrid};
4
+ import{_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{classNames as e}from"@dimjs/utils/cjs/class-names";import{createContext as a,useContext as t,useMemo as n,useRef as i,useEffect as l}from"react";import{jsx as o}from"react/jsx-runtime";import{isNumber as s}from"@dimjs/lang/cjs/is-number";import{useSize as u}from"ahooks";var c={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var d={xs:8,sm:16,md:16,lg:24,xl:24,xxl:32};var v={top:"flex-start",middle:"center",bottom:"flex-end",stretch:"stretch"};var p={start:"flex-start",end:"flex-end",center:"center","space-around":"space-around","space-between":"space-between","space-evenly":"space-evenly"};var f={boxBreakpoint:"lg",defaultGrid:c,horizontalGap:10,verticalGap:10};var m=a(f);var x=function a(i){var l=i.children,s=i.className,u=i.style;var c=t(m),d=c.defaultGrid,v=c.horizontalGap,p=c.boxBreakpoint;var f=n((function(){return i.span||i[p||"lg"]||(d==null?void 0:d[p||"lg"])||8}),[i,p,d]);return o("div",{className:e(s,"box-grad-col"),style:r({},u,{flex:"0 0 "+f/24*100+"%",maxWidth:f/24*100+"%",padding:"0 "+v/2+"px"}),children:l})};x["domTypeName"]="BoxGridCol";var g=function r(e){var a=u(e)||{},t=a.width;var i=n((function(){var r=t||(e==null?void 0:e.clientWidth);if(!r){return"lg"}if(r>=1600){return"xxl"}else if(r>=1200){return"xl"}else if(r>=992){return"lg"}else if(r>=768){return"md"}else if(r>=576){return"sm"}else{return"xs"}}),[t]);return{boxBreakpoint:i,isInit:!!t}};var h=function e(a,t){if(a===void 0){a=d}return n((function(){var e;var n;var i=function e(a){if(typeof a==="number"){return a}if(typeof a==="object"){return r({},d,a)[t]}};if(Array.isArray(a)){var l=a,o=l[0],u=l[1];e=i(o);n=i(u)}else{e=i(a);n=f.verticalGap}return{horizontalGap:s(e)?e:f.horizontalGap,verticalGap:s(n)?n:f.verticalGap}}),[a,t])};var G=function a(t){var n=t.defaultGrid,s=n===void 0?c:n,u=t.children,d=t.className,x=t.style,G=t.gutter,b=t.align,y=t.justify,B=t.onBoxBreakpointChange;var j=i(null);var k=g(j),w=k.boxBreakpoint,z=k.isInit;var N=h(G,w),C=N.horizontalGap,I=N.verticalGap;l((function(){B==null?void 0:B(w)}),[w]);return o(m.Provider,{value:r({},f,{defaultGrid:r({},c,s),boxBreakpoint:w,horizontalGap:C,verticalGap:I}),children:o("div",{className:e("box-grad-root",d),ref:j,style:x,children:o("div",{className:"box-grad-row",style:{alignItems:b?v[b]:"normal",justifyContent:y?p[y]:"normal",marginLeft:"-"+C/2+"px",marginRight:"-"+C/2+"px",rowGap:I+"px"},children:z&&u})})})};var b=function r(e){var a=function r(a){var t=Math.ceil(e*24/a);return[1,2,3,4,6,8,12,24].find((function(r){return r>=t}))||24};return{xxl:a(1600),xl:a(1200),lg:a(992),md:a(768),sm:a(576),xs:a(200)}};var y={Row:G,Col:x,getGridMapByRange:b};export{y as BoxGrid,g as useBoxBreakpoint};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/box-grid/constant.tsx","@flatbiz/antd/src/box-grid/ctx.ts","@flatbiz/antd/src/box-grid/col.tsx","@flatbiz/antd/src/box-grid/hooks.ts","@flatbiz/antd/src/box-grid/row.tsx","@flatbiz/antd/src/box-grid/index.ts"],"sourcesContent":["export const PresetDefaultGrid = {\n xs: 24,\n sm: 12,\n md: 12,\n lg: 8,\n xl: 8,\n xxl: 6,\n};\n\nexport const DefaultGutter = { xs: 8, sm: 16, md: 16, lg: 24, xl: 24, xxl: 32 };\n\nexport const RowAligns = ['top', 'middle', 'bottom', 'stretch'] as const;\nexport const RowJustify = [\n 'start',\n 'end',\n 'center',\n 'space-around',\n 'space-between',\n 'space-evenly',\n] as const;\n\nexport const alignPropsMap: Record<(typeof RowAligns)[number], string> = {\n top: 'flex-start',\n middle: 'center',\n bottom: 'flex-end',\n stretch: 'stretch',\n};\n\nexport const justifyPropsMap: Record<(typeof RowJustify)[number], string> = {\n start: 'flex-start',\n end: 'flex-end',\n center: 'center',\n 'space-around': 'space-around',\n 'space-between': 'space-between',\n 'space-evenly': 'space-evenly',\n};\n","import { createContext } from 'react';\nimport { PresetDefaultGrid } from './constant';\nimport { type TBoxBreakpoint } from './type';\n\nexport type BoxGridProviderContextType = {\n horizontalGap: number;\n verticalGap: number;\n boxBreakpoint: TBoxBreakpoint;\n defaultGrid: {\n xs: number;\n sm: number;\n md: number;\n lg: number;\n xl: number;\n xxl: number;\n };\n};\n\nexport const defaultCtx: BoxGridProviderContextType = {\n boxBreakpoint: 'lg',\n defaultGrid: PresetDefaultGrid,\n horizontalGap: 10,\n verticalGap: 10,\n};\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const BoxGridProviderCtx = createContext<BoxGridProviderContextType>(defaultCtx);\n","import { classNames } from '@dimjs/utils';\nimport { useContext, useMemo, type FC } from 'react';\nimport { BoxGridProviderCtx } from './ctx';\nimport { type ICommonReact } from './type';\n\nexport type BoxColProps = {\n /** 栅格占位格数,固定分数,为0相当于隐藏 */\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n};\n\nexport const Col: FC<BoxColProps & ICommonReact> = (props) => {\n const { children, className, style } = props;\n const { defaultGrid, horizontalGap, boxBreakpoint } = useContext(BoxGridProviderCtx);\n\n const span = useMemo(() => {\n return props.span || props[boxBreakpoint || 'lg'] || defaultGrid?.[boxBreakpoint || 'lg'] || 8;\n }, [props, boxBreakpoint, defaultGrid]);\n\n return (\n <div\n className={classNames(className, 'box-grad-col')}\n style={{\n ...style,\n flex: `0 0 ${(span / 24) * 100}%`,\n maxWidth: `${(span / 24) * 100}%`,\n padding: `0 ${horizontalGap / 2}px`,\n }}\n >\n {children}\n </div>\n );\n};\n","import { isNumber } from '@dimjs/lang';\nimport { useSize } from 'ahooks';\nimport { useMemo } from 'react';\nimport { DefaultGutter } from './constant';\nimport { defaultCtx } from './ctx';\nimport { type GutterParams, type TBoxBreakpoint } from './type';\n\n/**\n * 监听盒子大小变化,返回当前的断点\n * @param dom\n * @returns\n */\nexport const useBoxBreakpoint = (dom) => {\n const { width } = useSize(dom) || {};\n\n const boxBreakpoint = useMemo<TBoxBreakpoint>(() => {\n const w = width || dom?.clientWidth;\n if (!w) {\n return 'lg';\n }\n\n if (w >= 1600) {\n return 'xxl';\n } else if (w >= 1200) {\n return 'xl';\n } else if (w >= 992) {\n return 'lg';\n } else if (w >= 768) {\n return 'md';\n } else if (w >= 576) {\n return 'sm';\n } else {\n return 'xs';\n }\n }, [width]);\n\n return {\n boxBreakpoint,\n isInit: !!width,\n };\n};\n\n/**\n * 处理间距\n * @param gutter\n * @param boxBreakpoint\n * @returns\n */\nexport const useGutter = (gutter: GutterParams = DefaultGutter, boxBreakpoint: TBoxBreakpoint) => {\n return useMemo(() => {\n let horizontalGap: number;\n let verticalGap: number;\n\n const getCommonGutter = (gutter) => {\n if (typeof gutter === 'number') {\n return gutter;\n }\n if (typeof gutter === 'object') {\n return { ...DefaultGutter, ...gutter }[boxBreakpoint];\n }\n };\n\n if (Array.isArray(gutter)) {\n const [h, v] = gutter;\n horizontalGap = getCommonGutter(h);\n verticalGap = getCommonGutter(v);\n } else {\n horizontalGap = getCommonGutter(gutter);\n verticalGap = defaultCtx.verticalGap;\n }\n\n return {\n horizontalGap: isNumber(horizontalGap) ? horizontalGap : defaultCtx.horizontalGap,\n verticalGap: isNumber(verticalGap) ? verticalGap : defaultCtx.verticalGap,\n };\n }, [gutter, boxBreakpoint]);\n};\n","import { classNames } from '@dimjs/utils';\nimport { useRef, type FC } from 'react';\nimport { alignPropsMap, justifyPropsMap, PresetDefaultGrid } from './constant';\nimport { BoxGridProviderCtx, defaultCtx } from './ctx';\nimport { useBoxBreakpoint, useGutter } from './hooks';\nimport { type GutterParams, type ICommonReact } from './type';\n\nexport interface BoxRowProps {\n /**\n * 默认的栅格配置\n */\n defaultGrid?: Partial<typeof PresetDefaultGrid>;\n /** 间距 */\n gutter?: GutterParams;\n /** flex 布局的垂直对齐方式 */\n align?: 'top' | 'middle' | 'bottom' | 'stretch';\n /** flex 布局的水平排列方式 */\n justify?: 'start' | 'end' | 'center' | 'space-around' | 'space-between' | 'space-evenly';\n}\n\nexport const Row: FC<BoxRowProps & ICommonReact> = (props) => {\n const { defaultGrid = PresetDefaultGrid, children, className, style, gutter, align, justify } = props;\n const domRef = useRef<HTMLDivElement>(null);\n const { boxBreakpoint, isInit } = useBoxBreakpoint(domRef);\n const { horizontalGap, verticalGap } = useGutter(gutter, boxBreakpoint);\n\n return (\n <BoxGridProviderCtx.Provider\n value={{\n ...defaultCtx,\n defaultGrid: {\n ...PresetDefaultGrid,\n ...defaultGrid,\n },\n boxBreakpoint,\n horizontalGap,\n verticalGap,\n }}\n >\n <div className={classNames('box-grad-root', className)} ref={domRef} style={style}>\n <div\n className=\"box-grad-row\"\n style={{\n alignItems: align ? alignPropsMap[align] : 'normal',\n justifyContent: justify ? justifyPropsMap[justify] : 'normal',\n marginLeft: `-${horizontalGap / 2}px`,\n marginRight: `-${horizontalGap / 2}px`,\n rowGap: `${verticalGap}px`,\n }}\n >\n {/* 是否初始化,计算尺寸初始会闪一下,这里初始时不渲染 */}\n {isInit && children}\n </div>\n </div>\n </BoxGridProviderCtx.Provider>\n );\n};\n","import { Col } from './col';\nimport './index.less';\nimport { Row } from './row';\n\nexport const BoxGrid = {\n Row,\n Col,\n};\n"],"names":["PresetDefaultGrid","xs","sm","md","lg","xl","xxl","DefaultGutter","alignPropsMap","top","middle","bottom","stretch","justifyPropsMap","start","end","center","defaultCtx","boxBreakpoint","defaultGrid","horizontalGap","verticalGap","BoxGridProviderCtx","createContext","Col","props","children","className","style","_useContext","useContext","span","useMemo","_jsx","_classNames","_extends","flex","maxWidth","padding","useBoxBreakpoint","dom","_ref","useSize","width","w","clientWidth","isInit","useGutter","gutter","getCommonGutter","Array","isArray","_gutter","h","v","_isNumber","Row","_props$defaultGrid","align","justify","domRef","useRef","_useBoxBreakpoint","_useGutter","Provider","value","ref","alignItems","justifyContent","marginLeft","marginRight","rowGap","BoxGrid"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/box-grid/constant.tsx","@flatbiz/antd/src/box-grid/ctx.ts","@flatbiz/antd/src/box-grid/col.tsx","@flatbiz/antd/src/box-grid/hooks.ts","@flatbiz/antd/src/box-grid/row.tsx","@flatbiz/antd/src/box-grid/utils.ts","@flatbiz/antd/src/box-grid/index.ts"],"sourcesContent":["export const PresetDefaultGrid = {\n xs: 24,\n sm: 12,\n md: 12,\n lg: 8,\n xl: 8,\n xxl: 6,\n};\n\nexport const DefaultGutter = { xs: 8, sm: 16, md: 16, lg: 24, xl: 24, xxl: 32 };\n\nexport const RowAligns = ['top', 'middle', 'bottom', 'stretch'] as const;\nexport const RowJustify = [\n 'start',\n 'end',\n 'center',\n 'space-around',\n 'space-between',\n 'space-evenly',\n] as const;\n\nexport const alignPropsMap: Record<(typeof RowAligns)[number], string> = {\n top: 'flex-start',\n middle: 'center',\n bottom: 'flex-end',\n stretch: 'stretch',\n};\n\nexport const justifyPropsMap: Record<(typeof RowJustify)[number], string> = {\n start: 'flex-start',\n end: 'flex-end',\n center: 'center',\n 'space-around': 'space-around',\n 'space-between': 'space-between',\n 'space-evenly': 'space-evenly',\n};\n","import { createContext } from 'react';\nimport { PresetDefaultGrid } from './constant';\nimport { type TBoxBreakpoint } from './type';\n\nexport type BoxGridProviderContextType = {\n horizontalGap: number;\n verticalGap: number;\n boxBreakpoint: TBoxBreakpoint;\n defaultGrid: {\n xs: number;\n sm: number;\n md: number;\n lg: number;\n xl: number;\n xxl: number;\n };\n};\n\nexport const defaultCtx: BoxGridProviderContextType = {\n boxBreakpoint: 'lg',\n defaultGrid: PresetDefaultGrid,\n horizontalGap: 10,\n verticalGap: 10,\n};\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const BoxGridProviderCtx = createContext<BoxGridProviderContextType>(defaultCtx);\n","import { classNames } from '@dimjs/utils';\nimport { useContext, useMemo, type FC } from 'react';\nimport { BoxGridProviderCtx } from './ctx';\nimport { type ICommonReact } from './type';\n\nexport type BoxColProps = {\n /**\n * 栅格占位格数\n * span 优先级最高:配置了span后,其他的响应式配置将失效;\n * 范围 0 ~ 24\n * 为 0 相当于隐藏\n * 为 24 相当于独占一行\n */\n span?: number;\n /** 屏幕 < 576px */\n xs?: number;\n /** 屏幕 ≥ 576px */\n sm?: number;\n /** 屏幕 ≥ 768px */\n md?: number;\n /** 屏幕 ≥ 992px */\n lg?: number;\n /** 屏幕 ≥ 1200px */\n xl?: number;\n /** 屏幕 ≥ 1600px */\n xxl?: number;\n};\n\nexport const Col: FC<BoxColProps & ICommonReact> = (props) => {\n const { children, className, style } = props;\n const { defaultGrid, horizontalGap, boxBreakpoint } = useContext(BoxGridProviderCtx);\n\n const span = useMemo(() => {\n return props.span || props[boxBreakpoint || 'lg'] || defaultGrid?.[boxBreakpoint || 'lg'] || 8;\n }, [props, boxBreakpoint, defaultGrid]);\n\n return (\n <div\n className={classNames(className, 'box-grad-col')}\n style={{\n ...style,\n flex: `0 0 ${(span / 24) * 100}%`,\n maxWidth: `${(span / 24) * 100}%`,\n padding: `0 ${horizontalGap / 2}px`,\n }}\n >\n {children}\n </div>\n );\n};\n\nCol['domTypeName'] = 'BoxGridCol';\n","import { isNumber } from '@dimjs/lang';\nimport { useSize } from 'ahooks';\nimport { useMemo } from 'react';\nimport { DefaultGutter } from './constant';\nimport { defaultCtx } from './ctx';\nimport { type GutterParams, type TBoxBreakpoint } from './type';\n\n/**\n * 监听盒子大小变化,返回当前的断点\n * @param dom\n * @returns\n */\nexport const useBoxBreakpoint = (dom) => {\n const { width } = useSize(dom) || {};\n\n const boxBreakpoint = useMemo<TBoxBreakpoint>(() => {\n const w = width || dom?.clientWidth;\n if (!w) {\n return 'lg';\n }\n\n if (w >= 1600) {\n return 'xxl';\n } else if (w >= 1200) {\n return 'xl';\n } else if (w >= 992) {\n return 'lg';\n } else if (w >= 768) {\n return 'md';\n } else if (w >= 576) {\n return 'sm';\n } else {\n return 'xs';\n }\n }, [width]);\n\n return {\n boxBreakpoint,\n isInit: !!width,\n };\n};\n\n/**\n * 处理间距\n * @param gutter\n * @param boxBreakpoint\n * @returns\n */\nexport const useGutter = (gutter: GutterParams = DefaultGutter, boxBreakpoint: TBoxBreakpoint) => {\n return useMemo(() => {\n let horizontalGap: number;\n let verticalGap: number;\n\n const getCommonGutter = (gutter) => {\n if (typeof gutter === 'number') {\n return gutter;\n }\n if (typeof gutter === 'object') {\n return { ...DefaultGutter, ...gutter }[boxBreakpoint];\n }\n };\n\n if (Array.isArray(gutter)) {\n const [h, v] = gutter;\n horizontalGap = getCommonGutter(h);\n verticalGap = getCommonGutter(v);\n } else {\n horizontalGap = getCommonGutter(gutter);\n verticalGap = defaultCtx.verticalGap;\n }\n\n return {\n horizontalGap: isNumber(horizontalGap) ? horizontalGap : defaultCtx.horizontalGap,\n verticalGap: isNumber(verticalGap) ? verticalGap : defaultCtx.verticalGap,\n };\n }, [gutter, boxBreakpoint]);\n};\n","import { classNames } from '@dimjs/utils';\nimport { FC, useEffect, useRef } from 'react';\nimport { alignPropsMap, justifyPropsMap, PresetDefaultGrid } from './constant';\nimport { BoxGridProviderCtx, defaultCtx } from './ctx';\nimport { useBoxBreakpoint, useGutter } from './hooks';\nimport { TBoxBreakpoint, type GutterParams, type ICommonReact } from './type';\n\nexport interface BoxRowProps {\n /**\n * 在不同响应尺寸下的元素占位格数\n * 应用到所有Col子元素上\n */\n defaultGrid?: Partial<typeof PresetDefaultGrid>;\n /** 间距 */\n gutter?: GutterParams;\n /** flex 布局的垂直对齐方式 */\n align?: 'top' | 'middle' | 'bottom' | 'stretch';\n /** flex 布局的水平排列方式 */\n justify?: 'start' | 'end' | 'center' | 'space-around' | 'space-between' | 'space-evenly';\n /** 尺寸变化回调 */\n onBoxBreakpointChange?: (breakpoint: TBoxBreakpoint) => void;\n}\n\nexport const Row: FC<BoxRowProps & ICommonReact> = (props) => {\n const {\n defaultGrid = PresetDefaultGrid,\n children,\n className,\n style,\n gutter,\n align,\n justify,\n onBoxBreakpointChange,\n } = props;\n const comRef = useRef<HTMLDivElement>(null);\n const { boxBreakpoint, isInit } = useBoxBreakpoint(comRef);\n const { horizontalGap, verticalGap } = useGutter(gutter, boxBreakpoint);\n\n useEffect(() => {\n onBoxBreakpointChange?.(boxBreakpoint);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boxBreakpoint]);\n\n return (\n <BoxGridProviderCtx.Provider\n value={{\n ...defaultCtx,\n defaultGrid: {\n ...PresetDefaultGrid,\n ...defaultGrid,\n },\n boxBreakpoint,\n horizontalGap,\n verticalGap,\n }}\n >\n <div className={classNames('box-grad-root', className)} ref={comRef} style={style}>\n <div\n className=\"box-grad-row\"\n style={{\n alignItems: align ? alignPropsMap[align] : 'normal',\n justifyContent: justify ? justifyPropsMap[justify] : 'normal',\n marginLeft: `-${horizontalGap / 2}px`,\n marginRight: `-${horizontalGap / 2}px`,\n rowGap: `${verticalGap}px`,\n }}\n >\n {/* 是否初始化,计算尺寸初始会闪一下,这里初始时不渲染 */}\n {isInit && children}\n </div>\n </div>\n </BoxGridProviderCtx.Provider>\n );\n};\n","import { type TBoxBreakpoint } from './type';\n\n/**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns\n */\nexport const getGridMapByRange = (minSize: number): Record<TBoxBreakpoint, number> => {\n const getSpan = (threshold: number) => {\n const result = Math.ceil((minSize * 24) / threshold);\n return [1, 2, 3, 4, 6, 8, 12, 24].find((item) => item >= result) || 24;\n };\n\n return {\n xxl: getSpan(1600),\n xl: getSpan(1200),\n lg: getSpan(992),\n md: getSpan(768),\n sm: getSpan(576),\n xs: getSpan(200),\n };\n};\n","import { Col } from './col';\nimport './index.less';\nimport { Row } from './row';\nimport { getGridMapByRange } from './utils';\n\nexport { useBoxBreakpoint } from './hooks';\n\nexport const BoxGrid = {\n /**\n * 网格响应式布局\n *```\n * 1. 应用场景:根据盒子大小决定内部元素的布局\n * 2. 子元素只能是 BoxGrid.Col\n */\n Row,\n /**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,0 ~ 24\n * 2. grid 自定义响应式网格布局\n * xs: 容器尺寸 < 576px\n * sm: 容器尺寸 ≥ 576px\n * md: 容器尺寸 ≥ 768px\n * lg: 容器尺寸 ≥ 992px\n * xl: 容器尺寸 ≥ 1200px\n * xxl: 容器尺寸 ≥ 1600px\n * ```\n */\n Col,\n /**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num }\n */\n getGridMapByRange,\n};\n"],"names":["PresetDefaultGrid","xs","sm","md","lg","xl","xxl","DefaultGutter","alignPropsMap","top","middle","bottom","stretch","justifyPropsMap","start","end","center","defaultCtx","boxBreakpoint","defaultGrid","horizontalGap","verticalGap","BoxGridProviderCtx","createContext","Col","props","children","className","style","_useContext","useContext","span","useMemo","_jsx","_classNames","_extends","flex","maxWidth","padding","useBoxBreakpoint","dom","_ref","useSize","width","w","clientWidth","isInit","useGutter","gutter","getCommonGutter","Array","isArray","_gutter","h","v","_isNumber","Row","_props$defaultGrid","align","justify","onBoxBreakpointChange","comRef","useRef","_useBoxBreakpoint","_useGutter","useEffect","Provider","value","ref","alignItems","justifyContent","marginLeft","marginRight","rowGap","getGridMapByRange","minSize","getSpan","threshold","result","Math","ceil","find","item","BoxGrid"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { isNull, isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { BodyAppendDivElementProps, dom, TNoopDefine } 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 { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { FlexLayout } from '../flex-layout';\nimport './style.less';\n\nexport type DialogModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n titleExtra?: ReactElement;\n /** null则隐藏footer */\n footer?: null | ReactElement;\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogModalProps) => {\n const {\n title,\n titleExtra,\n divElement,\n elementId,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n configProviderProps,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n bodyHeightPercent,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [form] = Form.useForm();\n const size = useSize(document.querySelector('html'));\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\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 return onClose();\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 return onClose();\n });\n\n const onAfterClose = hooks.useCallbackRef(() => {\n dom.removeBodyChild(`#${elementId}`);\n props.afterClose?.();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || '取消'}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = isNull(footer) ? null : operateGroup;\n\n const height = useMemo(() => {\n if (!size?.height || !bodyHeightPercent) {\n return 'auto';\n }\n return size?.height * (bodyHeightPercent / 100);\n }, [bodyHeightPercent, size?.height]);\n\n return (\n <ConfigProviderWrapper {...configProviderProps}>\n <Modal\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n maskClosable={true}\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n styles={{\n ...otherProps.styles,\n body: {\n height,\n maxHeight: size?.height ? size?.height * 0.8 : 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNames('v-dialog-modal', { 'v-dialog-modal-title-extra': !!titleExtra }, className)}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n </ConfigProviderWrapper>\n );\n};\n\n/**\n * 居中弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogModal.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogModal } = FbaApp.useDialogModal();\n * appDialogModal.open({})\n * ```\n */\nexport const dialogModal = {\n open: (props: DialogModalProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_modal_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_modal_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_otherProps$styles","title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","size","useSize","document","querySelector","onClose","_hooks","useCallbackRef","window","error","fbaHooks","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","dom","removeBodyChild","afterClose","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","footerNew","_isNull","height","useMemo","ConfigProviderWrapper","Modal","_jsxs","FlexLayout","direction","fullIndex","maskClosable","centered","destroyOnClose","styles","body","maxHeight","_classNames","getContainer","dialogModal","_dom$bodyAppendDivEle","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/dialog-modal/dialog-modal.tsx"],"sourcesContent":["import { isNull, isPromise, isString } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { BodyAppendDivElementProps, dom, TNoopDefine } 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 { createRoot } from 'react-dom/client';\nimport { ButtonWrapper, ButtonWrapperProps } from '../button-wrapper';\nimport { ConfigProviderWrapper, ConfigProviderWrapperProps } from '../config-provider-wrapper';\nimport { fbaHooks } from '../fba-hooks';\nimport { FlexLayout } from '../flex-layout';\nimport './style.less';\n\nexport type DialogModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'open' | 'open' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n configProviderProps?: ConfigProviderWrapperProps;\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n titleExtra?: ReactElement;\n /** null则隐藏footer */\n footer?: null | ReactElement | ReactElement[];\n};\n\nconst ModalRender = (props: BodyAppendDivElementProps & DialogModalProps) => {\n const {\n title,\n titleExtra,\n divElement,\n elementId,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n configProviderProps,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n bodyHeightPercent,\n ...otherProps\n } = props;\n const [open, setOpen] = useState(true);\n const [form] = Form.useForm();\n const size = useSize(document.querySelector('html'));\n\n const onClose = hooks.useCallbackRef(() => {\n try {\n delete window[elementId];\n } catch (error) {\n //\n }\n setOpen(false);\n });\n\n fbaHooks.useEffectCustom(() => {\n window[elementId] = onClose;\n }, [onClose]);\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 return onClose();\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 return onClose();\n });\n\n const onAfterClose = hooks.useCallbackRef(() => {\n dom.removeBodyChild(`#${elementId}`);\n props.afterClose?.();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || '取消'}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = isNull(footer) ? null : operateGroup;\n\n const height = useMemo(() => {\n if (!size?.height || !bodyHeightPercent) {\n return 'auto';\n }\n return size?.height * (bodyHeightPercent / 100);\n }, [bodyHeightPercent, size?.height]);\n\n return (\n <ConfigProviderWrapper {...configProviderProps}>\n <Modal\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n maskClosable={true}\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n styles={{\n ...otherProps.styles,\n body: {\n height,\n maxHeight: size?.height ? size?.height * 0.8 : 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNames('v-dialog-modal', { 'v-dialog-modal-title-extra': !!titleExtra }, className)}\n open={open}\n afterClose={onAfterClose}\n getContainer={divElement}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n </ConfigProviderWrapper>\n );\n};\n\n/**\n * 居中弹框\n * ```\n * 1. 可嵌套使用\n * 2. 为什么不推荐使用\n * dialogModal.open 打开的内容无法适配兼容自定义主题、无法适配兼容旧版浏览器、无法兼容国际化\n * 适配兼容旧版浏览器(https://ant-design.antgroup.com/docs/react/compatible-style-cn)\n * 3. 需要修改默认主题风格的场景,请使用\n * const { appDialogModal } = FbaApp.useDialogModal();\n * appDialogModal.open({})\n * ```\n */\nexport const dialogModal = {\n open: (props: DialogModalProps) => {\n const { divElement, elementId } = dom.bodyAppendDivElement();\n window['__dialog_modal_elementId'] = elementId;\n const root = createRoot(divElement);\n root.render(<ModalRender {...props} divElement={divElement} elementId={elementId} />);\n return {\n close: () => {\n window[elementId]?.();\n },\n };\n },\n /**\n * ```\n * 1. 关闭最新弹框,如果有多个弹框只能关闭最后一个\n * 2. 多个弹框主动关闭,只能使用 dialogModal.open()返回值中的close\n * ```\n */\n close: () => {\n try {\n const elementId = window['__dialog_modal_elementId'] as string;\n if (isString(elementId)) window[elementId]?.();\n } catch (error) {\n //\n }\n },\n};\n"],"names":["ModalRender","props","_otherProps$styles","title","titleExtra","divElement","elementId","onOk","onCancel","okButtonProps","cancelButtonProps","content","configProviderProps","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent","otherProps","_objectWithoutPropertiesLoose","_excluded","_useState","useState","open","setOpen","_Form$useForm","Form","useForm","form","size","useSize","document","querySelector","onClose","_hooks","useCallbackRef","window","error","fbaHooks","useEffectCustom","onCancelHandle","e","response","_isPromise","then","onOkHandle","onAfterClose","dom","removeBodyChild","afterClose","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","type","footerNew","_isNull","height","useMemo","ConfigProviderWrapper","Modal","_jsxs","FlexLayout","direction","fullIndex","maskClosable","centered","destroyOnClose","styles","body","maxHeight","_classNames","getContainer","dialogModal","_dom$bodyAppendDivEle","bodyAppendDivElement","root","createRoot","render","close","_window$elementId","_window","call","_window$elementId2","_window2","_isString"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /* eslint-disable */
2
- import './../form-grid/index.css';
2
+ import './../box-grid/index.css';
3
+ import './../fba-hooks/index.css';
3
4
  import './../form-wrapper/index.css';
4
5
  import './index.css';
5
6
  /*! @flatjs/forge MIT @flatbiz/antd */
6
- import{classNames as r}from"@dimjs/utils/cjs/class-names";import{a as l,_ as m}from"../_rollupPluginBabelHelpers-a0769acd.js";import{useMemo as o,Children as e}from"react";import{FormGrid as t}from"../form-grid/index.js";import{FormWrapper as i}from"../form-wrapper/index.js";import{jsx as s}from"react/jsx-runtime";import"antd";import"@flatbiz/utils";import"../use-responsive-point-21b8c601.js";var n=["column","children"];var a=function a(x){var p=x.column,u=x.children,f=l(x,n);var d=o((function(){if(!p){return{xs:24,sm:12,md:12,lg:8,xl:8,xxl:6}}var r={1:{xs:24,sm:24,md:24,lg:24,xl:24,xxl:24},2:{xs:24,sm:12,md:12,lg:12,xl:12,xxl:12},3:{xs:24,sm:12,md:12,lg:8,xl:8,xxl:8},4:{xs:24,sm:12,md:12,lg:6,xl:6,xxl:6}};return r[p]}),[]);var c=function r(){return e.toArray(u).map((function(r,l){if(r.props["hidden"])return null;if(r.type["domTypeName"]==="FormCol")return r;return s(t.Col,m({},d,{children:r}),l)})).filter(Boolean)};return s(i,m({},f,{className:r(f.className,"easy-form"),autoComplete:"off",children:s(t.Row,{gutter:[15,0],children:c()})}))};export{a as EasyForm};
7
+ import{classNames as r}from"@dimjs/utils/cjs/class-names";import{a as o,_ as i}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isUndefinedOrNull as e}from"@flatbiz/utils";import{useMemo as t,Children as s,Fragment as m}from"react";import{BoxGrid as l}from"../box-grid/index.js";import{fbaHooks as n}from"../fba-hooks/index.js";import{FormWrapper as a}from"../form-wrapper/index.js";import{jsx as u}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"antd";var x=["column","forceColumn","children","width","gridGutter"];var d=function d(p){var f=p.column,c=p.forceColumn,g=p.children,h=p.width,j=p.gridGutter,v=o(p,x);var y=t((function(){if(c){var r=24/c;return{xs:r,sm:r,md:r,lg:r,xl:r,xxl:r}}if(!f){return{xs:24,sm:12,md:12,lg:8,xl:8,xxl:6}}var o={1:{xs:24,sm:24,md:24,lg:24,xl:24,xxl:24},2:{xs:24,sm:12,md:12,lg:12,xl:12,xxl:12},3:{xs:24,sm:12,md:12,lg:8,xl:8,xxl:8},4:{xs:24,sm:12,md:12,lg:6,xl:6,xxl:6}};return o[f]}),[]);var b=function r(){return s.toArray(g).map((function(r,o){if(r.props["hidden"])return null;if(r.type["domTypeName"]==="BoxGridCol")return u(m,{children:r},o);return u(l.Col,i({},y,{children:r}),o)})).filter(Boolean)};var w=n.useResponsivePoint()||"";var C=t((function(){if(["xs","sm"].includes(w||"")||!h){return{}}return{width:h}}),[w]);var k=e(j)?[15,0]:j;return u(a,i({},v,{style:i({},C,v.style),className:r(v.className,"easy-form"),autoComplete:"off",children:u(l.Row,{gutter:k,children:b()})}))};export{d as EasyForm};
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { Children, ReactElement, useMemo } from 'react';\nimport { FormGrid } from '../form-grid';\nimport { FormWrapper, FormWrapperProps } from '../form-wrapper';\nimport './style.less';\n\nexport type EasyFormProps = Omit<FormWrapperProps, 'children'> & {\n children: ReactElement | ReactElement[];\n /** 一行显示几列,定义FormItem网格占比 */\n column?: 1 | 2 | 3 | 4;\n};\n\n/**\n * 简单Form布局,可自定义网格布局\n * ```\n * 1. EasyForm 子节点包含 hidden = true 会被忽略\n * 2. 通过 column 可修改一行显示几列FormItem\n * 3. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/label\n * <EasyForm column={3}>\n <Form.Item name=\"field1\" label=\"条件1\">\n <Input placeholder=\"请输入\" allowClear={true} />\n </Form.Item>\n <Form.Item name=\"field2\" label=\"条件2\">\n <Input placeholder=\"请输入\" allowClear={true} />\n </Form.Item>\n <!-- !!!可通过使用 FormGrid.Col 包裹元素来自定义网格占比 !!! -->\n <FormGrid.Col span={24}>\n <Form.Item name=\"field5\" label=\"条件5\">\n <Input placeholder=\"请输入\" allowClear={true} />\n </Form.Item>\n </FormGrid.Col>\n <Form.Item name=\"field6\" label=\"条件6\">\n <Input placeholder=\"请输入\" allowClear={true} />\n </Form.Item>\n </EasyForm>\n * ```\n */\nexport const EasyForm = (props: EasyFormProps) => {\n const { column, children, ...otherProps } = props;\n\n const gridSize = useMemo(() => {\n if (!column) {\n return { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n };\n return columnMap[column];\n }, []);\n\n const getFormRowChildren = () => {\n return Children.toArray(children)\n .map((item: any, index) => {\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return (\n <FormGrid.Col key={index} {...gridSize}>\n {item}\n </FormGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n return (\n <FormWrapper {...otherProps} className={classNames(otherProps.className, 'easy-form')} autoComplete=\"off\">\n <FormGrid.Row gutter={[15, 0]}>{getFormRowChildren()}</FormGrid.Row>\n </FormWrapper>\n );\n};\n"],"names":["EasyForm","props","column","children","otherProps","_objectWithoutPropertiesLoose","_excluded","gridSize","useMemo","xs","sm","md","lg","xl","xxl","columnMap","getFormRowChildren","Children","toArray","map","item","index","type","_jsx","FormGrid","Col","_extends","filter","Boolean","FormWrapper","className","_classNames","autoComplete","Row","gutter"],"mappings":";4aAqCaA,EAAW,SAAXA,EAAYC,GACvB,IAAQC,EAAoCD,EAApCC,OAAQC,EAA4BF,EAA5BE,SAAaC,EAAUC,EAAKJ,EAAKK,GAEjD,IAAMC,EAAWC,GAAQ,WACvB,IAAKN,EAAQ,CACX,MAAO,CAAEO,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,IAAK,EACtD,CACA,IAAMC,EAAY,CAChB,EAAG,CAAEN,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,IAAK,IAClD,EAAG,CAAEL,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,IAAK,IAClD,EAAG,CAAEL,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,IAAK,GAChD,EAAG,CAAEL,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,IAAK,IAElD,OAAOC,EAAUb,EAClB,GAAE,IAEH,IAAMc,EAAqB,SAArBA,IACJ,OAAOC,EAASC,QAAQf,GACrBgB,KAAI,SAACC,EAAWC,GACf,GAAID,EAAKnB,MAAM,UAAW,OAAO,KACjC,GAAImB,EAAKE,KAAK,iBAAmB,UAAW,OAAOF,EACnD,OACEG,EAACC,EAASC,IAAGC,KAAiBnB,EAAQ,CAAAJ,SACnCiB,IADgBC,EAIvB,IACCM,OAAOC,UAGZ,OACEL,EAACM,EAAWH,KAAKtB,EAAU,CAAE0B,UAAWC,EAAW3B,EAAW0B,UAAW,aAAcE,aAAa,MAAK7B,SACvGoB,EAACC,EAASS,IAAG,CAACC,OAAQ,CAAC,GAAI,GAAG/B,SAAEa,QAGtC"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { Children, Fragment, ReactElement, useMemo } from 'react';\nimport { BoxGrid } from '../box-grid';\nimport { BoxRowProps } from '../box-grid/row';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormWrapper, FormWrapperProps } from '../form-wrapper';\nimport './style.less';\n\nexport type EasyFormProps = Omit<FormWrapperProps, 'children'> & {\n /**\n * 定义一行显示几列(当外层宽度尺寸大于 992px(lg) 时,一行显示几列), 默认值:3\n * ```\n * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响(column=1除外)\n * 2. 宽度尺寸定义\n * xs: 宽度 < 576px\n * sm: 宽度 ≥ 576px\n * md: 宽度 ≥ 768px\n * lg: 宽度 ≥ 992px\n * xl: 宽度 ≥ 1200px\n * xxl: 宽度 ≥ 1600px\n * 3. 列数尺寸定义\n * {\n * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n * };\n * ```\n */\n column?: 1 | 2 | 3 | 4;\n /**\n * 强制定义一行显示几列,不考虑响应式\n * ```\n * 1. 优先级大于column\n * 2. 建议优先使用column配置\n * ```\n */\n forceColumn?: 1 | 2 | 3 | 4;\n /**\n * Form显示宽度,可数值、可百分比;在小屏幕尺寸(xs、sm)上无效\n */\n width?: number | string;\n /** 网格间距 */\n gridGutter?: BoxRowProps['gutter'];\n children: ReactElement | ReactElement[];\n};\n\n/**\n * 简单Form布局,可自定义网格布局\n * ```\n * 1. 布局网格以当前节点的宽度来计算的,不是屏幕宽度\n * 2. EasyForm 子节点包含 hidden = true 会被忽略\n * 3. 通过 column 可定义一行显示几列FormItem\n * 4. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/label\n * 5. 通过 labelItemVertical 可定义 formitem 竖直布局\n * 6. 通过 formItemGap 可定义 formItem竖直方向间隙\n * 7. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式\n * \n * 例如\n * <EasyForm column={3}>\n <Form.Item name=\"field1\" label=\"条件1\">\n <Input placeholder=\"请输入\" allowClear={true} />\n </Form.Item>\n <Form.Item name=\"field2\" label=\"条件2\">\n <Input placeholder=\"请输入\" allowClear={true} />\n </Form.Item>\n <!-- !!!可通过使用 BoxGrid.Col 包裹元素来自定义网格占比 !!! -->\n <BoxGrid.Col span={24}>\n <Form.Item name=\"field5\" label=\"条件5\">\n <Input placeholder=\"请输入\" allowClear={true} />\n </Form.Item>\n </BoxGrid.Col>\n <Form.Item name=\"field6\" label=\"条件6\">\n <Input placeholder=\"请输入\" allowClear={true} />\n </Form.Item>\n </EasyForm>\n * ```\n */\nexport const EasyForm = (props: EasyFormProps) => {\n const { column, forceColumn, children, width, gridGutter, ...otherProps } = props;\n\n const gridSize = useMemo(() => {\n if (forceColumn) {\n const num = 24 / forceColumn;\n return { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num };\n }\n if (!column) {\n return { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n }\n const columnMap = {\n 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },\n 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },\n 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },\n 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },\n };\n return columnMap[column];\n }, []);\n\n const getFormRowChildren = () => {\n return Children.toArray(children)\n .map((item: any, index) => {\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'BoxGridCol') return <Fragment key={index}>{item}</Fragment>;\n return (\n <BoxGrid.Col key={index} {...gridSize}>\n {item}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const screenType = fbaHooks.useResponsivePoint() || '';\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType || '') || !width) {\n return {};\n }\n return { width };\n }, [screenType]);\n\n const gutter = (isUndefinedOrNull(gridGutter) ? [15, 0] : gridGutter) as BoxRowProps['gutter'];\n\n return (\n <FormWrapper\n {...otherProps}\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(otherProps.className, 'easy-form')}\n autoComplete=\"off\"\n >\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n </FormWrapper>\n );\n};\n"],"names":["EasyForm","props","column","forceColumn","children","width","gridGutter","otherProps","_objectWithoutPropertiesLoose","_excluded","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","getFormRowChildren","Children","toArray","map","item","index","type","_jsx","Fragment","BoxGrid","Col","_extends","filter","Boolean","screenType","fbaHooks","useResponsivePoint","innerStyle","includes","gutter","isUndefinedOrNull","FormWrapper","style","className","_classNames","autoComplete","Row"],"mappings":";wpBA+EaA,EAAW,SAAXA,EAAYC,GACvB,IAAQC,EAAoED,EAApEC,OAAQC,EAA4DF,EAA5DE,YAAaC,EAA+CH,EAA/CG,SAAUC,EAAqCJ,EAArCI,MAAOC,EAA8BL,EAA9BK,WAAeC,EAAUC,EAAKP,EAAKQ,GAEjF,IAAMC,EAAWC,GAAQ,WACvB,GAAIR,EAAa,CACf,IAAMS,EAAM,GAAKT,EACjB,MAAO,CAAEU,GAAID,EAAKE,GAAIF,EAAKG,GAAIH,EAAKI,GAAIJ,EAAKK,GAAIL,EAAKM,IAAKN,EAC7D,CACA,IAAKV,EAAQ,CACX,MAAO,CAAEW,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,IAAK,EACtD,CACA,IAAMC,EAAY,CAChB,EAAG,CAAEN,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,IAAK,IAClD,EAAG,CAAEL,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,IAAK,IAClD,EAAG,CAAEL,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,IAAK,GAChD,EAAG,CAAEL,GAAI,GAAIC,GAAI,GAAIC,GAAI,GAAIC,GAAI,EAAGC,GAAI,EAAGC,IAAK,IAElD,OAAOC,EAAUjB,EAClB,GAAE,IAEH,IAAMkB,EAAqB,SAArBA,IACJ,OAAOC,EAASC,QAAQlB,GACrBmB,KAAI,SAACC,EAAWC,GACf,GAAID,EAAKvB,MAAM,UAAW,OAAO,KACjC,GAAIuB,EAAKE,KAAK,iBAAmB,aAAc,OAAOC,EAACC,EAAQ,CAAAxB,SAAcoB,GAARC,GACrE,OACEE,EAACE,EAAQC,IAAGC,KAAiBrB,EAAQ,CAAAN,SAClCoB,IADeC,EAItB,IACCO,OAAOC,UAGZ,IAAMC,EAAaC,EAASC,sBAAwB,GACpD,IAAMC,EAAa1B,GAAQ,WAEzB,GAAI,CAAC,KAAM,MAAM2B,SAASJ,GAAc,MAAQ7B,EAAO,CACrD,MAAO,EACT,CACA,MAAO,CAAEA,MAAAA,EACX,GAAG,CAAC6B,IAEJ,IAAMK,EAAUC,EAAkBlC,GAAc,CAAC,GAAI,GAAKA,EAE1D,OACEqB,EAACc,EAAWV,KACNxB,EAAU,CACdmC,MAAKX,EAAOM,CAAAA,EAAAA,EAAe9B,EAAWmC,OACtCC,UAAWC,EAAWrC,EAAWoC,UAAW,aAC5CE,aAAa,MAAKzC,SAElBuB,EAACE,EAAQiB,IAAG,CAACP,OAAQA,EAAOnC,SAAEgB,QAGpC"}
@@ -7,5 +7,5 @@ import './../types/index.css';
7
7
  import './../flex-layout/index.css';
8
8
  import './index.css';
9
9
  /*! @flatjs/forge MIT @flatbiz/antd */
10
- import{fbaUtils as o}from"../fba-utils/index.js";import{hooks as e}from"@wove/react/cjs/hooks";import{a as n,_ as l}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getUuid as a}from"@flatbiz/utils";import{createContext as r,useMemo as i,useContext as t,useState as s,createElement as u}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 C,theme as g}from"antd";import{ButtonWrapper as k}from"../button-wrapper/index.js";import{FlexLayout as h}from"../flex-layout/index.js";import{g as b}from"../index-7f4ad045.js";import{jsx as y,jsxs as x}from"react/jsx-runtime";import{B as D}from"../index-1f45bfd5.js";import"@dimjs/lang/cjs/is-array";import"@ant-design/icons/es/icons/LoadingOutlined";import"../fba-hooks/index.js";import"../use-responsive-point-21b8c601.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";var O=r({});var j=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent"];var w=function o(a){var r,t;var s=a.titleExtra,u=a.title,m=a.onOk,C=a.onCancel,g=a.okButtonProps,D=a.cancelButtonProps,O=a.content,w=a.className,R=a.okHidden,P=a.cancelHidden,T=a.footer,M=a.cancelText,N=a.okText,H=a.bodyHeightPercent,B=n(a,j);var L=p.useForm(),A=L[0];var E=f(document.querySelector("html"));var F=b();var z=e.useCallbackRef((function(){a.onClose==null?void 0:a.onClose()}));var _=e.useCallbackRef((function(o){if(C){var e=C(A,o);if(e&&c(e)){return e.then(z)}}z();return Promise.resolve()}));var S=e.useCallbackRef((function(o){if(m){var e=m(A,o);if(e&&c(e)){return e.then(z)}}z();return Promise.resolve()}));var W=[y(k,l({},D,{onClick:_,hidden:P,children:M||((r=F.FbaDialogModal)==null?void 0:r.cancelText)}),"0"),y(k,l({type:"primary"},g,{onClick:S,hidden:R,children:N||"提交"}),"1")];var Y=T||W;var q=i((function(){if(!(E!=null&&E.height)||!H){return"auto"}return(E==null?void 0:E.height)*(H/100)}),[H,E==null?void 0:E.height]);return y(v,l({maskClosable:true,title:s?x(h,{direction:"horizontal",fullIndex:0,children:[y("span",{children:u}),s]}):u,centered:true,onCancel:z,destroyOnClose:true},B,{styles:{body:l({height:q,maxHeight:E!=null&&E.height?(E==null?void 0:E.height)*.8:"calc(100vh - 200px)"},(t=B.styles)==null?void 0:t.body)},className:d("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!s},w),open:a.open,footer:Y,children:typeof O==="function"?O(A,{onClose:z}):O}))};var R=function o(e){var n=d("fba-dialog-confirm",e.className);return y(w,l({okText:"确定",width:350,cancelText:"取消",maskClosable:true},e,{className:n}))};var P=function o(e){return y(R,l({okText:"确定",cancelHidden:true,maskClosable:false},e,{onOk:function o(n,l){return e.onClick==null?void 0:e.onClick(l)}}))};var T=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var M=function o(a){var r=a.onOk,i=a.onCancel,t=a.content,s=a.okText,u=a.cancelText,f=a.okButtonExtraProps,v=a.cancelButtonExtraProps,g=a.operatePosition,h=g===void 0?"footer":g,b=a.operateRender,D=a.width,O=D===void 0?600:D,j=a.okHidden,w=a.cancelHidden,R=a.extra,P=n(a,T);var M=p.useForm(),N=M[0];var H=e.useCallbackRef((function(o){a.onClose==null?void 0:a.onClose(o)}));var B=e.useCallbackRef((function(o){if(i){var e=i(N,o);if(e&&c(e)){return e.then(H)}}H(o);return Promise.resolve()}));var L=e.useCallbackRef((function(o){if(r){var e=r(N,o);if(e&&c(e)){return e.then(H)}}H(o);return Promise.resolve()}));var A=x(m,{children:[w||v!=null&&v.hidden?null:y(k,l({},v,{onClick:B,children:u||"取消"})),j||f!=null&&f.hidden?null:y(k,l({type:"primary"},f,{onClick:L,children:s||"提交"}))]});var E=function o(){if(b){return b(N)}if(!j||!w){return A}return null};var F=typeof R==="function"?R(N):R;return y(C,l({maskClosable:true,destroyOnClose:true,width:O,contentWrapperStyle:{maxWidth:"95%"},footer:h==="footer"?E():null},P,{className:d("app-dialog-drawer",P.className),extra:h==="header"?E():F,open:a.open,onClose:H,children:typeof t==="function"?t(N,{onClose:H}):t}))};var N=function o(e){var n=e.className,l=e.message,a=e.mask;var r=g.useToken(),i=r.token;var t=i.colorPrimary;return y(v,{maskClosable:false,centered:true,destroyOnClose:true,className:d("fba-dialog-loading",n),open:e.open,footer:null,closable:false,style:{"--fba-loading-color":t},mask:a,children:y(D,{className:d("fba-dialog-loading-content"),children:x("div",{className:"loader-wrapper",children:[y("div",{className:"loader-inner"}),y("div",{className:"loader-text",children:l||"处理中"})]})})})};var H=function o(){var e=t(O);var n=function o(){e.dialogDrawerClose==null?void 0:e.dialogDrawerClose()};return{appDialogDrawer:{open:function o(a){e.dialogDrawerOpen==null?void 0:e.dialogDrawerOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var B=function o(){var e=t(O);var n=function o(){e.dialogDrawerClose2==null?void 0:e.dialogDrawerClose2()};return{appDialogDrawer2:{open:function o(a){e.dialogDrawerOpen2==null?void 0:e.dialogDrawerOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var L=function o(){var e=t(O);var n=function o(){e.dialogModalClose==null?void 0:e.dialogModalClose()};return{appDialogModal:{open:function o(a){e.dialogModalOpen==null?void 0:e.dialogModalOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var A=function o(){var e=t(O);var n=function o(){e.dialogModalClose2==null?void 0:e.dialogModalClose2()};return{appDialogModal2:{open:function o(a){e.dialogModalOpen2==null?void 0:e.dialogModalOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var E=function o(){var e=t(O);var n=function o(){e.dialogAlertClose==null?void 0:e.dialogAlertClose()};return{appDialogAlert:{open:function o(a){e.dialogAlertOpen==null?void 0:e.dialogAlertOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var F=function o(){var e=t(O);var n=function o(){e.dialogConfirmClose==null?void 0:e.dialogConfirmClose()};return{appDialogConfirm:{open:function o(a){e.dialogConfirmOpen==null?void 0:e.dialogConfirmOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var z=function o(){var e=t(O);var n=function o(){e.dialogLoadingClose==null?void 0:e.dialogLoadingClose()};return{appDialogLoading:{open:function o(a){e.dialogLoadingOpen==null?void 0:e.dialogLoadingOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var _=function o(n){var r=s({}),i=r[0],t=r[1];var d=s(a()),c=d[0],f=d[1];var p=s({}),v=p[0],m=p[1];var C=s(a()),g=C[0],k=C[1];var h=s({}),b=h[0],y=h[1];var D=s(a()),j=D[0],T=D[1];var H=s({}),B=H[0],L=H[1];var A=s(a()),E=A[0],F=A[1];var z=s({}),_=z[0],S=z[1];var W=s({}),Y=W[0],q=W[1];var I=s(),U=I[0],G=I[1];var J=s(a()),K=J[0],Q=J[1];var V=s(a()),X=V[0],Z=V[1];var $=s(a()),oo=$[0],eo=$[1];var no=e.useCallbackRef((function(o){t(o)}));var lo=e.useCallbackRef((function(o){t(l({},i,{open:false}));i.onClose==null?void 0:i.onClose(o);setTimeout((function(){f(a())}),200)}));var ao=e.useCallbackRef((function(o){m(o)}));var ro=e.useCallbackRef((function(o){m(l({},v,{open:false}));v.onClose==null?void 0:v.onClose(o);setTimeout((function(){k(a())}),200)}));var io=e.useCallbackRef((function(o){y(o)}));var to=e.useCallbackRef((function(){y(l({},b,{open:false}));b.onClose==null?void 0:b.onClose();setTimeout((function(){T(a())}),200)}));var so=e.useCallbackRef((function(o){L(o)}));var uo=e.useCallbackRef((function(){L(l({},B,{open:false}));B.onClose==null?void 0:B.onClose();setTimeout((function(){F(a())}),200)}));var co=e.useCallbackRef((function(o){S(o)}));var fo=e.useCallbackRef((function(){S(l({},_,{open:false}));_.onClose==null?void 0:_.onClose();setTimeout((function(){Q(a())}),200)}));var po=e.useCallbackRef((function(o){q(o)}));var vo=e.useCallbackRef((function(){q(l({},Y,{open:false}));Y.onClose==null?void 0:Y.onClose();setTimeout((function(){Z(a())}),200)}));var mo=e.useCallbackRef((function(o){G(o)}));var Co=e.useCallbackRef((function(){G(l({},U,{open:false}));setTimeout((function(){eo(a())}),200)}));return x(O.Provider,{value:{dialogDrawerOpen:no,dialogDrawerClose:lo,dialogDrawerOpen2:ao,dialogDrawerClose2:ro,dialogModalOpen:io,dialogModalClose:to,dialogModalOpen2:so,dialogModalClose2:uo,dialogAlertOpen:co,dialogAlertClose:fo,dialogConfirmOpen:po,dialogConfirmClose:vo,dialogLoadingOpen:mo,dialogLoadingClose:Co},children:[u(M,l({},i,{onClose:lo,key:c})),u(M,l({},v,{onClose:ro,key:g})),u(w,l({},b,{onClose:to,key:j})),u(w,l({},B,{onClose:uo,key:E})),u(P,l({},_,{onClose:fo,key:K})),u(R,l({},Y,{onClose:vo,key:X})),u(N,l({},U,{key:oo})),n.children]})};var S=o.attachPropertiesToComponent(_,{useDialogDrawer:H,useDialogDrawer2:B,useDialogModal:L,useDialogModal2:A,useDialogConfirm:F,useDialogAlert:E,useDialogLoading:z});export{S as FbaApp};
10
+ import{fbaUtils as o}from"../fba-utils/index.js";import{hooks as e}from"@wove/react/cjs/hooks";import{a as n,_ as l}from"../_rollupPluginBabelHelpers-a0769acd.js";import{getUuid as a}from"@flatbiz/utils";import{createContext as r,useMemo as i,useContext as t,useState as s,createElement as u}from"react";import{classNames as d}from"@dimjs/utils/cjs/class-names";import{isNull as c}from"@dimjs/lang/cjs/is-null";import{isPromise as f}from"@dimjs/lang/cjs/is-promise";import{useSize as p}from"ahooks";import{Form as v,Modal as m,Space as C,Drawer as g,theme as k}from"antd";import{ButtonWrapper as h}from"../button-wrapper/index.js";import{FlexLayout as b}from"../flex-layout/index.js";import{g as y}from"../index-7f4ad045.js";import{jsx as x,jsxs as D}from"react/jsx-runtime";import{B as O}from"../index-1f45bfd5.js";import"@dimjs/lang/cjs/is-array";import"@ant-design/icons/es/icons/LoadingOutlined";import"../fba-hooks/index.js";import"../use-responsive-point-21b8c601.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"@dimjs/utils/cjs/extend";var j=r({});var w=["titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent"];var R=function o(a){var r,t;var s=a.titleExtra,u=a.title,C=a.onOk,g=a.onCancel,k=a.okButtonProps,O=a.cancelButtonProps,j=a.content,R=a.className,P=a.okHidden,T=a.cancelHidden,M=a.footer,N=a.cancelText,H=a.okText,B=a.bodyHeightPercent,L=n(a,w);var A=v.useForm(),E=A[0];var F=p(document.querySelector("html"));var z=y();var _=e.useCallbackRef((function(){a.onClose==null?void 0:a.onClose()}));var S=e.useCallbackRef((function(o){if(g){var e=g(E,o);if(e&&f(e)){return e.then(_)}}_();return Promise.resolve()}));var W=e.useCallbackRef((function(o){if(C){var e=C(E,o);if(e&&f(e)){return e.then(_)}}_();return Promise.resolve()}));var Y=[x(h,l({},O,{onClick:S,hidden:T,children:N||((r=z.FbaDialogModal)==null?void 0:r.cancelText)}),"0"),x(h,l({type:"primary"},k,{onClick:W,hidden:P,children:H||"提交"}),"1")];var q=c(M)?null:Y;var I=i((function(){if(!(F!=null&&F.height)||!B){return"auto"}return(F==null?void 0:F.height)*(B/100)}),[B,F==null?void 0:F.height]);return x(m,l({maskClosable:true,title:s?D(b,{direction:"horizontal",fullIndex:0,children:[x("span",{children:u}),s]}):u,centered:true,onCancel:_,destroyOnClose:true},L,{styles:{body:l({height:I,maxHeight:F!=null&&F.height?(F==null?void 0:F.height)*.8:"calc(100vh - 200px)"},(t=L.styles)==null?void 0:t.body)},className:d("fba-dialog-modal",{"fba-dialog-modal-title-extra":!!s},R),open:a.open,footer:q,children:typeof j==="function"?j(E,{onClose:_}):j}))};var P=function o(e){var n=d("fba-dialog-confirm",e.className);return x(R,l({okText:"确定",width:350,cancelText:"取消",maskClosable:true},e,{className:n}))};var T=function o(e){return x(P,l({okText:"确定",cancelHidden:true,maskClosable:false},e,{onOk:function o(n,l){return e.onClick==null?void 0:e.onClick(l)}}))};var M=["onOk","onCancel","content","okText","cancelText","okButtonExtraProps","cancelButtonExtraProps","operatePosition","operateRender","width","okHidden","cancelHidden","extra"];var N=function o(a){var r=a.onOk,i=a.onCancel,t=a.content,s=a.okText,u=a.cancelText,c=a.okButtonExtraProps,p=a.cancelButtonExtraProps,m=a.operatePosition,k=m===void 0?"footer":m,b=a.operateRender,y=a.width,O=y===void 0?600:y,j=a.okHidden,w=a.cancelHidden,R=a.extra,P=n(a,M);var T=v.useForm(),N=T[0];var H=e.useCallbackRef((function(o){a.onClose==null?void 0:a.onClose(o)}));var B=e.useCallbackRef((function(o){if(i){var e=i(N,o);if(e&&f(e)){return e.then(H)}}H(o);return Promise.resolve()}));var L=e.useCallbackRef((function(o){if(r){var e=r(N,o);if(e&&f(e)){return e.then(H)}}H(o);return Promise.resolve()}));var A=D(C,{children:[w||p!=null&&p.hidden?null:x(h,l({},p,{onClick:B,children:u||"取消"})),j||c!=null&&c.hidden?null:x(h,l({type:"primary"},c,{onClick:L,children:s||"提交"}))]});var E=function o(){if(b){return b(N)}if(!j||!w){return A}return null};var F=typeof R==="function"?R(N):R;return x(g,l({maskClosable:true,destroyOnClose:true,width:O,contentWrapperStyle:{maxWidth:"95%"},footer:k==="footer"?E():null},P,{className:d("app-dialog-drawer",P.className),extra:k==="header"?E():F,open:a.open,onClose:H,children:typeof t==="function"?t(N,{onClose:H}):t}))};var H=function o(e){var n=e.className,l=e.message,a=e.mask;var r=k.useToken(),i=r.token;var t=i.colorPrimary;return x(m,{maskClosable:false,centered:true,destroyOnClose:true,className:d("fba-dialog-loading",n),open:e.open,footer:null,closable:false,style:{"--fba-loading-color":t},mask:a,children:x(O,{className:d("fba-dialog-loading-content"),children:D("div",{className:"loader-wrapper",children:[x("div",{className:"loader-inner"}),x("div",{className:"loader-text",children:l||"处理中"})]})})})};var B=function o(){var e=t(j);var n=function o(){e.dialogDrawerClose==null?void 0:e.dialogDrawerClose()};return{appDialogDrawer:{open:function o(a){e.dialogDrawerOpen==null?void 0:e.dialogDrawerOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var L=function o(){var e=t(j);var n=function o(){e.dialogDrawerClose2==null?void 0:e.dialogDrawerClose2()};return{appDialogDrawer2:{open:function o(a){e.dialogDrawerOpen2==null?void 0:e.dialogDrawerOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var A=function o(){var e=t(j);var n=function o(){e.dialogModalClose==null?void 0:e.dialogModalClose()};return{appDialogModal:{open:function o(a){e.dialogModalOpen==null?void 0:e.dialogModalOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var E=function o(){var e=t(j);var n=function o(){e.dialogModalClose2==null?void 0:e.dialogModalClose2()};return{appDialogModal2:{open:function o(a){e.dialogModalOpen2==null?void 0:e.dialogModalOpen2(l({},a,{open:true}));return{onClose:n}},close:n}}};var F=function o(){var e=t(j);var n=function o(){e.dialogAlertClose==null?void 0:e.dialogAlertClose()};return{appDialogAlert:{open:function o(a){e.dialogAlertOpen==null?void 0:e.dialogAlertOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var z=function o(){var e=t(j);var n=function o(){e.dialogConfirmClose==null?void 0:e.dialogConfirmClose()};return{appDialogConfirm:{open:function o(a){e.dialogConfirmOpen==null?void 0:e.dialogConfirmOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var _=function o(){var e=t(j);var n=function o(){e.dialogLoadingClose==null?void 0:e.dialogLoadingClose()};return{appDialogLoading:{open:function o(a){e.dialogLoadingOpen==null?void 0:e.dialogLoadingOpen(l({},a,{open:true}));return{onClose:n}},close:n}}};var S=function o(n){var r=s({}),i=r[0],t=r[1];var d=s(a()),c=d[0],f=d[1];var p=s({}),v=p[0],m=p[1];var C=s(a()),g=C[0],k=C[1];var h=s({}),b=h[0],y=h[1];var x=s(a()),O=x[0],w=x[1];var M=s({}),B=M[0],L=M[1];var A=s(a()),E=A[0],F=A[1];var z=s({}),_=z[0],S=z[1];var W=s({}),Y=W[0],q=W[1];var I=s(),U=I[0],G=I[1];var J=s(a()),K=J[0],Q=J[1];var V=s(a()),X=V[0],Z=V[1];var $=s(a()),oo=$[0],eo=$[1];var no=e.useCallbackRef((function(o){t(o)}));var lo=e.useCallbackRef((function(o){t(l({},i,{open:false}));i.onClose==null?void 0:i.onClose(o);setTimeout((function(){f(a())}),200)}));var ao=e.useCallbackRef((function(o){m(o)}));var ro=e.useCallbackRef((function(o){m(l({},v,{open:false}));v.onClose==null?void 0:v.onClose(o);setTimeout((function(){k(a())}),200)}));var io=e.useCallbackRef((function(o){y(o)}));var to=e.useCallbackRef((function(){y(l({},b,{open:false}));b.onClose==null?void 0:b.onClose();setTimeout((function(){w(a())}),200)}));var so=e.useCallbackRef((function(o){L(o)}));var uo=e.useCallbackRef((function(){L(l({},B,{open:false}));B.onClose==null?void 0:B.onClose();setTimeout((function(){F(a())}),200)}));var co=e.useCallbackRef((function(o){S(o)}));var fo=e.useCallbackRef((function(){S(l({},_,{open:false}));_.onClose==null?void 0:_.onClose();setTimeout((function(){Q(a())}),200)}));var po=e.useCallbackRef((function(o){q(o)}));var vo=e.useCallbackRef((function(){q(l({},Y,{open:false}));Y.onClose==null?void 0:Y.onClose();setTimeout((function(){Z(a())}),200)}));var mo=e.useCallbackRef((function(o){G(o)}));var Co=e.useCallbackRef((function(){G(l({},U,{open:false}));setTimeout((function(){eo(a())}),200)}));return D(j.Provider,{value:{dialogDrawerOpen:no,dialogDrawerClose:lo,dialogDrawerOpen2:ao,dialogDrawerClose2:ro,dialogModalOpen:io,dialogModalClose:to,dialogModalOpen2:so,dialogModalClose2:uo,dialogAlertOpen:co,dialogAlertClose:fo,dialogConfirmOpen:po,dialogConfirmClose:vo,dialogLoadingOpen:mo,dialogLoadingClose:Co},children:[u(N,l({},i,{onClose:lo,key:c})),u(N,l({},v,{onClose:ro,key:g})),u(R,l({},b,{onClose:to,key:O})),u(R,l({},B,{onClose:uo,key:E})),u(T,l({},_,{onClose:fo,key:K})),u(P,l({},Y,{onClose:vo,key:X})),u(H,l({},U,{key:oo})),n.children]})};var W=o.attachPropertiesToComponent(S,{useDialogDrawer:B,useDialogDrawer2:L,useDialogModal:A,useDialogModal2:E,useDialogConfirm:z,useDialogAlert:F,useDialogLoading:_});export{W as FbaApp};
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/index.tsx","@flatbiz/antd/src/fba-app/dialog-confirm/index.tsx","@flatbiz/antd/src/fba-app/dialog-alert/index.tsx","@flatbiz/antd/src/fba-app/dialog-drawer/index.tsx","@flatbiz/antd/src/fba-app/dialog-loading/index.tsx","@flatbiz/antd/src/fba-app/fba-app.tsx","@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModalProps } from './dialog-modal';\n\nexport type FbaAppContextApi = {\n 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 { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps'\n> & {\n onOk?: (\n form: FormInstance,\n e: React.MouseEvent<HTMLElement>\n ) => void | Promise<void>;\n onCancel?: (\n form: FormInstance,\n e: React.MouseEvent<HTMLElement>\n ) => void | Promise<void>;\n onClose?: () => void;\n content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<\n ButtonWrapperProps,\n 'hidden' | 'children' | 'onClick'\n >;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n};\n\nexport const FbaAppModal = (props: FbaAppModalProps) => {\n const {\n titleExtra,\n title,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n bodyHeightPercent,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const size = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n\n const onClose = hooks.useCallbackRef(() => {\n props.onClose?.();\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const operateGroup = [\n <ButtonWrapper\n key=\"0\"\n {...cancelButtonProps}\n onClick={onCancelHandle}\n hidden={cancelHidden}\n >\n {cancelText || localMessage.FbaDialogModal?.cancelText}\n </ButtonWrapper>,\n <ButtonWrapper\n key=\"1\"\n type=\"primary\"\n {...okButtonProps}\n onClick={onOkHandle}\n hidden={okHidden}\n >\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = footer || operateGroup;\n\n const height = useMemo(() => {\n if (!size?.height || !bodyHeightPercent) {\n return 'auto';\n }\n return size?.height * (bodyHeightPercent / 100);\n }, [bodyHeightPercent, size?.height]);\n\n return (\n <Modal\n maskClosable={true}\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n styles={{\n body: {\n height,\n maxHeight: size?.height ? size?.height * 0.8 : 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNames(\n 'fba-dialog-modal',\n { 'fba-dialog-modal-title-extra': !!titleExtra },\n className\n )}\n open={props.open}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { FbaAppModal, FbaAppModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport type FbaAppConfirmProps = FbaAppModalProps;\n\nexport const FbaAppConfirm = (props: FbaAppConfirmProps) => {\n const className = classNames('fba-dialog-confirm', props.className);\n return (\n <FbaAppModal\n okText=\"确定\"\n width={350}\n cancelText=\"取消\"\n maskClosable={true}\n {...props}\n className={className}\n />\n );\n};\n","import { FbaAppConfirm } from '../dialog-confirm';\nimport { FbaAppModalProps } from '../dialog-modal';\n\n// export type DialogAlertProps = Omit<\n// DialogModalProps,\n// 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n// > & {\n// onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n// };\n\n// export const dialogAlert = {\n// open: (props: DialogAlertProps) => {\n// return dialogConfirm.open({\n// okText: '确定',\n// cancelHidden: true,\n// maskClosable: false,\n// ...props,\n// onOk: props.onClick,\n// } as DialogModalProps);\n// },\n// };\n\nexport type FbaAppAlertProps = Omit<\n FbaAppModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const FbaAppAlert = (props: FbaAppAlertProps) => {\n return (\n <FbaAppConfirm\n okText=\"确定\"\n cancelHidden={true}\n maskClosable={false}\n {...props}\n onOk={(_form, e) => {\n return props.onClick?.(e);\n }}\n />\n );\n};\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\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 content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: DrawerProps['onClose'] }) => ReactElement);\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nexport const FbaAppDrawer = (props: FbaAppDrawerProps) => {\n const {\n onOk,\n onCancel,\n content,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width = 600,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n\n const onClose = hooks.useCallbackRef((e) => {\n props.onClose?.(e);\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n return (\n <Drawer\n maskClosable={true}\n destroyOnClose\n width={width}\n contentWrapperStyle={{ maxWidth: '95%' }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n className={classNames('app-dialog-drawer', otherProps.className)}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={props.open}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport { 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 } 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 { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n * @returns\n */\nexport const useDialogDrawer = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose?.();\n };\n\n return {\n appDialogDrawer: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const 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};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogModal2\n * @returns\n */\nexport const useDialogModal = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose?.();\n };\n\n return {\n appDialogModal: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\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 };\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","FbaAppModal","props","_localMessage$FbaDial","_otherProps$styles","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","size","useSize","document","querySelector","localMessage","getFbaLocaleMessage","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","footerNew","height","useMemo","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","styles","body","maxHeight","_classNames","open","FbaAppConfirm","width","FbaAppAlert","_form","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","_props$width","extra","Space","operateRenderHandle","extraRender","Drawer","contentWrapperStyle","maxWidth","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","BlockLayout","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","data","dialogDrawerOpen","close","useDialogDrawer2","dialogDrawerClose2","appDialogDrawer2","dialogDrawerOpen2","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useDialogModal2","dialogModalClose2","appDialogModal2","dialogModalOpen2","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","_useState","useState","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","value","_createElement","key","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":";uxCA8BO,IAAMA,EAAgBC,EAAgC,0LCmBtD,IAAMC,EAAc,SAAdA,EAAeC,GAA4B,IAAAC,EAAAC,EACtD,IACEC,EAeEH,EAfFG,WACAC,EAcEJ,EAdFI,MACAC,EAaEL,EAbFK,KACAC,EAYEN,EAZFM,SACAC,EAWEP,EAXFO,cACAC,EAUER,EAVFQ,kBACAC,EASET,EATFS,QACAC,EAQEV,EARFU,UACAC,EAOEX,EAPFW,SACAC,EAMEZ,EANFY,aACAC,EAKEb,EALFa,OACAC,EAIEd,EAJFc,WACAC,EAGEf,EAHFe,OACAC,EAEEhB,EAFFgB,kBACGC,EAAUC,EACXlB,EAAKmB,GACT,IAAAC,EAAeC,EAAKC,UAAbC,EAAIH,EAAA,GACX,IAAMI,EAAOC,EAAQC,SAASC,cAAc,SAC5C,IAAMC,EAAeC,IAErB,IAAMC,EAAUC,EAAMC,gBAAe,WACnChC,EAAM8B,SAAO,UAAA,EAAb9B,EAAM8B,SACR,IAEA,IAAMG,EAAiBF,EAAMC,gBAAe,SAACE,GAC3C,GAAI5B,EAAU,CACZ,IAAM6B,EAAW7B,EAASiB,EAAMW,GAChC,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKP,EACvB,CACF,CACAA,IACA,OAAOQ,QAAQC,SACjB,IAEA,IAAMC,EAAaT,EAAMC,gBAAe,SAACE,GACvC,GAAI7B,EAAM,CACR,IAAM8B,EAAW9B,EAAKkB,EAAMW,GAC5B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKP,EACvB,CACF,CACAA,IACA,OAAOQ,QAAQC,SACjB,IAEA,IAAME,EAAe,CACnBC,EAACC,EAAaC,EAAA,CAAA,EAERpC,EAAiB,CACrBqC,QAASZ,EACTa,OAAQlC,EAAamC,SAEpBjC,KAAUb,EAAI2B,EAAaoB,iBAAc,UAAA,EAA3B/C,EAA6Ba,cALxC,KAON4B,EAACC,EAAaC,EAAA,CAEZK,KAAK,WACD1C,EAAa,CACjBsC,QAASL,EACTM,OAAQnC,EAASoC,SAEhBhC,GAAU,OANP,MAUR,IAAMmC,EAAYrC,GAAU4B,EAE5B,IAAMU,EAASC,GAAQ,WACrB,KAAK5B,GAAAA,MAAAA,EAAM2B,UAAWnC,EAAmB,CACvC,MAAO,MACT,CACA,OAAOQ,GAAI,UAAA,EAAJA,EAAM2B,SAAUnC,EAAoB,OAC1C,CAACA,EAAmBQ,eAAAA,EAAM2B,SAE7B,OACET,EAACW,EAAKT,EAAA,CACJU,aAAc,KACdlD,MACED,EACEoD,EAACC,EAAU,CAACC,UAAU,aAAaC,UAAW,EAAEX,UAC9CL,EAAA,OAAA,CAAAK,SAAO3C,IACND,KAGHC,EAGJuD,SAAU,KACVrD,SAAUwB,EACV8B,eAAc,MACV3C,EAAU,CACd4C,OAAQ,CACNC,KAAIlB,EAAA,CACFO,OAAAA,EACAY,UAAWvC,GAAAA,MAAAA,EAAM2B,QAAS3B,eAAAA,EAAM2B,QAAS,GAAM,wBAAqBjD,EACjEe,EAAW4C,SAAX3D,UAAAA,EAAAA,EAAmB4D,OAG1BpD,UAAWsD,EACT,mBACA,CAAE,iCAAkC7D,GACpCO,GAEFuD,KAAMjE,EAAMiE,KACZpD,OAAQqC,EAAUH,gBAEVtC,IAAY,WAAaA,EAAQc,EAAM,CAAEO,QAAAA,IAAarB,IAGpE,EC3JO,IAAMyD,EAAgB,SAAhBA,EAAiBlE,GAC5B,IAAMU,EAAYsD,EAAW,qBAAsBhE,EAAMU,WACzD,OACEgC,EAAC3C,EAAW6C,EAAA,CACV7B,OAAO,KACPoD,MAAO,IACPrD,WAAW,KACXwC,aAAc,MACVtD,EAAK,CACTU,UAAWA,IAGjB,ECWO,IAAM0D,EAAc,SAAdA,EAAepE,GAC1B,OACE0C,EAACwB,EAAatB,EAAA,CACZ7B,OAAO,KACPH,aAAc,KACd0C,aAAc,OACVtD,EAAK,CACTK,KAAM,SAAAA,EAACgE,EAAOnC,GACZ,OAAOlC,EAAM6C,SAAO,UAAA,EAAb7C,EAAM6C,QAAUX,EACzB,IAGN,sLCZO,IAAMoC,EAAe,SAAfA,EAAgBtE,GAC3B,IACEK,EAcEL,EAdFK,KACAC,EAaEN,EAbFM,SACAG,EAYET,EAZFS,QACAM,EAWEf,EAXFe,OACAD,EAUEd,EAVFc,WACAyD,EASEvE,EATFuE,mBACAC,EAQExE,EARFwE,uBAAsBC,EAQpBzE,EAPF0E,gBAAAA,EAAeD,SAAG,EAAA,SAAQA,EAC1BE,EAME3E,EANF2E,cAAaC,EAMX5E,EALFmE,MAAAA,EAAKS,SAAG,EAAA,IAAGA,EACXjE,EAIEX,EAJFW,SACAC,EAGEZ,EAHFY,aACAiE,EAEE7E,EAFF6E,MACG5D,EAAUC,EACXlB,EAAKmB,GACT,IAAAC,EAAeC,EAAKC,UAAbC,EAAIH,EAAA,GAEX,IAAMU,EAAUC,EAAMC,gBAAe,SAACE,GACpClC,EAAM8B,SAAN9B,UAAAA,EAAAA,EAAM8B,QAAUI,EAClB,IAEA,IAAMD,EAAiBF,EAAMC,gBAAe,SAACE,GAC3C,GAAI5B,EAAU,CACZ,IAAM6B,EAAW7B,EAASiB,EAAMW,GAChC,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKP,EACvB,CACF,CACAA,EAAQI,GACR,OAAOI,QAAQC,SACjB,IAEA,IAAMC,EAAaT,EAAMC,gBAAe,SAACE,GACvC,GAAI7B,EAAM,CACR,IAAM8B,EAAW9B,EAAKkB,EAAMW,GAC5B,GAAIC,GAAYC,EAAUD,GAAW,CACnC,OAAOA,EAASE,KAAKP,EACvB,CACF,CACAA,EAAQI,GACR,OAAOI,QAAQC,SACjB,IAEA,IAAME,EACJc,EAACuB,EAAK,CAAA/B,UACHnC,GAAgB4D,GAAsB,MAAtBA,EAAwB1B,OAAS,KAChDJ,EAACC,EAAaC,KAAK4B,EAAsB,CAAE3B,QAASZ,EAAec,SAChEjC,GAAc,QAGlBH,GAAY4D,SAAAA,EAAoBzB,OAAS,KACxCJ,EAACC,EAAaC,EAAA,CAACK,KAAK,WAAcsB,EAAkB,CAAE1B,QAASL,EAAWO,SACvEhC,GAAU,WAMnB,IAAMgE,EAAsB,SAAtBA,IACJ,GAAIJ,EAAe,CACjB,OAAOA,EAAcpD,EACvB,CACA,IAAKZ,IAAaC,EAAc,CAC9B,OAAO6B,CACT,CACA,OAAO,MAGT,IAAMuC,SAAqBH,IAAU,WAAaA,EAAMtD,GAAQsD,EAChE,OACEnC,EAACuC,EAAMrC,EAAA,CACLU,aAAc,KACdM,eAAc,KACdO,MAAOA,EACPe,oBAAqB,CAAEC,SAAU,OACjCtE,OAAQ6D,IAAoB,SAAWK,IAAwB,MAC3D9D,EAAU,CACdP,UAAWsD,EAAW,oBAAqB/C,EAAWP,WACtDmE,MAAOH,IAAoB,SAAWK,IAAwBC,EAC9Df,KAAMjE,EAAMiE,KACZnC,QAASA,EAAQiB,gBAETtC,IAAY,WAAaA,EAAQc,EAAM,CAAEO,QAAAA,IAAarB,IAGpE,ECxGO,IAAM2E,EAAgB,SAAhBA,EAAiBpF,GAC5B,IAAQU,EAA6BV,EAA7BU,UAAW2E,EAAkBrF,EAAlBqF,QAASC,EAAStF,EAATsF,KAC5B,IAAAC,EAAkBC,EAAMC,WAAhBC,EAAKH,EAALG,MACR,IAAMC,EAAeD,EAAMC,aAE3B,OACEjD,EAACW,EAAK,CACJC,aAAc,MACdK,SAAU,KACVC,eAAc,KACdlD,UAAWsD,EAAW,qBAAsBtD,GAC5CuD,KAAMjE,EAAMiE,KACZpD,OAAQ,KACR+E,SAAU,MACVC,MAAO,CAAE,sBAAuBF,GAChCL,KAAMA,EAAKvC,SAEXL,EAACoD,EAAW,CAACpF,UAAWsD,EAAW,8BAA8BjB,SAC/DQ,EAAA,MAAA,CAAK7C,UAAU,iBAAgBqC,UAC7BL,EAAA,MAAA,CAAKhC,UAAU,iBACfgC,EAAA,MAAA,CAAKhC,UAAU,cAAaqC,SAAEsC,GAAW,cAKnD,ECvBO,IAAMU,EAAkB,SAAlBA,IACX,IAAMC,EAAMC,EAAWpG,GAEvB,IAAMiC,EAAU,SAAVA,IACJkE,EAAIE,mBAAiB,UAAA,EAArBF,EAAIE,qBAGN,MAAO,CACLC,gBAAiB,CACflC,KAAM,SAAAA,EAACmC,GACLJ,EAAIK,kBAAJL,UAAAA,EAAAA,EAAIK,iBAAgBzD,EAAA,CAAA,EAAQwD,EAAI,CAAEnC,KAAM,QACxC,MAAO,CAAEnC,QAAAA,EACV,EACDwE,MAAOxE,GAGb,EAEO,IAAMyE,EAAmB,SAAnBA,IACX,IAAMP,EAAMC,EAAWpG,GAEvB,IAAMiC,EAAU,SAAVA,IACJkE,EAAIQ,oBAAkB,UAAA,EAAtBR,EAAIQ,sBAGN,MAAO,CACLC,iBAAkB,CAChBxC,KAAM,SAAAA,EAACmC,GACLJ,EAAIU,mBAAJV,UAAAA,EAAAA,EAAIU,kBAAiB9D,EAAA,CAAA,EAAQwD,EAAI,CAAEnC,KAAM,QACzC,MAAO,CAAEnC,QAAAA,EACV,EACDwE,MAAOxE,GAGb,EAMO,IAAM6E,EAAiB,SAAjBA,IACX,IAAMX,EAAMC,EAAWpG,GAEvB,IAAMiC,EAAU,SAAVA,IACJkE,EAAIY,kBAAgB,UAAA,EAApBZ,EAAIY,oBAGN,MAAO,CACLC,eAAgB,CACd5C,KAAM,SAAAA,EAACmC,GACLJ,EAAIc,iBAAJd,UAAAA,EAAAA,EAAIc,gBAAelE,EAAA,CAAA,EAAQwD,EAAI,CAAEnC,KAAM,QACvC,MAAO,CAAEnC,QAAAA,EACV,EACDwE,MAAOxE,GAGb,EAMO,IAAMiF,EAAkB,SAAlBA,IACX,IAAMf,EAAMC,EAAWpG,GAEvB,IAAMiC,EAAU,SAAVA,IACJkE,EAAIgB,mBAAiB,UAAA,EAArBhB,EAAIgB,qBAGN,MAAO,CACLC,gBAAiB,CACfhD,KAAM,SAAAA,EAACmC,GACLJ,EAAIkB,kBAAJlB,UAAAA,EAAAA,EAAIkB,iBAAgBtE,EAAA,CAAA,EAAQwD,EAAI,CAAEnC,KAAM,QACxC,MAAO,CAAEnC,QAAAA,EACV,EACDwE,MAAOxE,GAGb,EAMO,IAAMqF,EAAiB,SAAjBA,IACX,IAAMnB,EAAMC,EAAWpG,GAEvB,IAAMiC,EAAU,SAAVA,IACJkE,EAAIoB,kBAAgB,UAAA,EAApBpB,EAAIoB,oBAGN,MAAO,CACLC,eAAgB,CACdpD,KAAM,SAAAA,EAACmC,GACLJ,EAAIsB,iBAAJtB,UAAAA,EAAAA,EAAIsB,gBAAe1E,EAAA,CAAA,EAAQwD,EAAI,CAAEnC,KAAM,QACvC,MAAO,CAAEnC,QAAAA,EACV,EACDwE,MAAOxE,GAGb,EAKO,IAAMyF,EAAmB,SAAnBA,IACX,IAAMvB,EAAMC,EAAWpG,GAEvB,IAAMiC,EAAU,SAAVA,IACJkE,EAAIwB,oBAAkB,UAAA,EAAtBxB,EAAIwB,sBAGN,MAAO,CACLC,iBAAkB,CAChBxD,KAAM,SAAAA,EAACmC,GACLJ,EAAI0B,mBAAJ1B,UAAAA,EAAAA,EAAI0B,kBAAiB9E,EAAA,CAAA,EAAQwD,EAAI,CAAEnC,KAAM,QACzC,MAAO,CAAEnC,QAAAA,EACV,EACDwE,MAAOxE,GAGb,EAKO,IAAM6F,EAAmB,SAAnBA,IACX,IAAM3B,EAAMC,EAAWpG,GAEvB,IAAMiC,EAAU,SAAVA,IACJkE,EAAI4B,oBAAkB,UAAA,EAAtB5B,EAAI4B,sBAGN,MAAO,CACLC,iBAAkB,CAChB5D,KAAM,SAAAA,EAACmC,GACLJ,EAAI8B,mBAAJ9B,UAAAA,EAAAA,EAAI8B,kBAAiBlF,EAAA,CAAA,EAAQwD,EAAI,CAAEnC,KAAM,QACzC,MAAO,CAAEnC,QAAAA,EACV,EACDwE,MAAOxE,GAGb,EAEO,IAAMiG,EAAS,SAATA,EAAU/H,GACrB,IAAAgI,EAAsCC,EAA4B,IAA3DC,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAClC,IAAAI,EAAkCH,EAASI,KAApCC,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAE9B,IAAAI,EAAwCP,EAA4B,IAA7DQ,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpC,IAAAG,EAAoCV,EAASI,KAAtCO,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAEhC,IAAAG,EAAoCb,EAA2B,IAAxDc,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAAG,EAAgChB,EAASI,KAAlCa,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAE5B,IAAAG,EAAsCnB,EAA2B,IAA1DoB,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAClC,IAAAG,EAAkCtB,EAASI,KAApCmB,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9B,IAAAG,EAAoCzB,EAA2B,IAAxD0B,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAAG,EAAwC5B,EAA6B,IAA9D6B,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpC,IAAAG,EAAwC/B,IAAjCgC,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GAEpC,IAAAG,EAAgClC,EAASI,KAAlC+B,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC5B,IAAAG,EAAoCrC,EAASI,KAAtCkC,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChC,IAAAG,EAAoCxC,EAASI,KAAtCqC,GAAUD,EAAA,GAAEE,GAAaF,EAAA,GAEhC,IAAMpE,GAAyDtE,EAAMC,gBAAe,SAACoE,GACnF+B,EAAe/B,EACjB,IACA,IAAMF,GAAoBnE,EAAMC,gBAAe,SAACE,GAC9CiG,EAAcvF,EAAA,CAAA,EAAMsF,EAAW,CAAEjE,KAAM,SACvCiE,EAAYpG,SAAZoG,UAAAA,EAAAA,EAAYpG,QAAUI,GACtB0I,YAAW,WACTrC,EAAaF,IACd,GAAE,IACL,IAEA,IAAM3B,GAA2D3E,EAAMC,gBAAe,SAACoE,GACrFsC,EAAgBtC,EAClB,IAEA,IAAMI,GAAqBzE,EAAMC,gBAAe,SAACE,GAC/CwG,EAAe9F,EAAA,CAAA,EAAM6F,EAAY,CAAExE,KAAM,SACzCwE,EAAa3G,SAAb2G,UAAAA,EAAAA,EAAa3G,QAAUI,GACvB0I,YAAW,WACT/B,EAAcR,IACf,GAAE,IACL,IAEA,IAAMvB,GAAuD/E,EAAMC,gBAAe,SAACoE,GACjF4C,EAAc5C,EAChB,IAEA,IAAMQ,GAAmB7E,EAAMC,gBAAe,WAC5CgH,EAAapG,EAAA,CAAA,EAAMmG,EAAU,CAAE9E,KAAM,SACrC8E,EAAWjH,SAAO,UAAA,EAAlBiH,EAAWjH,UACX8I,YAAW,WACTzB,EAAYd,IACb,GAAE,IACL,IAEA,IAAMnB,GAAyDnF,EAAMC,gBAAe,SAACoE,GACnFkD,EAAelD,EACjB,IAEA,IAAMY,GAAoBjF,EAAMC,gBAAe,WAC7CsH,EAAc1G,EAAA,CAAA,EAAMyG,EAAW,CAAEpF,KAAM,SACvCoF,EAAYvH,SAAO,UAAA,EAAnBuH,EAAYvH,UACZ8I,YAAW,WACTnB,EAAapB,IACd,GAAE,IACL,IAEA,IAAMf,GAAuDvF,EAAMC,gBAAe,SAACoE,GACjFwD,EAAcxD,EAChB,IAEA,IAAMgB,GAAmBrF,EAAMC,gBAAe,WAC5C4H,EAAahH,EAAA,CAAA,EAAM+G,EAAU,CAAE1F,KAAM,SACrC0F,EAAW7H,SAAO,UAAA,EAAlB6H,EAAW7H,UACX8I,YAAW,WACTP,EAAYhC,IACb,GAAE,IACL,IAEA,IAAMX,GAA2D3F,EAAMC,gBAAe,SAACoE,GACrF2D,EAAgB3D,EAClB,IAEA,IAAMoB,GAAqBzF,EAAMC,gBAAe,WAC9C+H,EAAenH,EAAA,CAAA,EAAMkH,EAAY,CAAE7F,KAAM,SACzC6F,EAAahI,SAAO,UAAA,EAApBgI,EAAahI,UACb8I,YAAW,WACTJ,EAAcnC,IACf,GAAE,IACL,IAEA,IAAMP,GAA2D/F,EAAMC,gBAAe,SAACoE,GACrF8D,EAAgB9D,EAClB,IAEA,IAAMwB,GAAqB7F,EAAMC,gBAAe,WAC9CkI,EAAetH,EAAA,CAAA,EAAMqH,EAAY,CAAEhG,KAAM,SACzC2G,YAAW,WACTD,GAActC,IACf,GAAE,IACL,IAEA,OACE9E,EAAC1D,EAAcgL,SAAQ,CACrBC,MAAO,CACLzE,iBAAAA,GACAH,kBAAAA,GACAQ,kBAAAA,GACAF,mBAAAA,GACAM,gBAAAA,GACAF,iBAAAA,GACAM,iBAAAA,GACAF,kBAAAA,GACAM,gBAAAA,GACAF,iBAAAA,GACAM,kBAAAA,GACAF,mBAAAA,GACAM,kBAAAA,GACAF,mBAAAA,IACA7E,UAEFgI,EAACzG,EAAY1B,KAAKsF,EAAW,CAAEpG,QAASoE,GAAmB8E,IAAK1C,KAChEyC,EAACzG,EAAY1B,KAAK6F,EAAY,CAAE3G,QAAS0E,GAAoBwE,IAAKpC,KAClEmC,EAAChL,EAAW6C,KAAKmG,EAAU,CAAEjH,QAAS8E,GAAkBoE,IAAK9B,KAC7D6B,EAAChL,EAAW6C,KAAKyG,EAAW,CAAEvH,QAASkF,GAAmBgE,IAAKxB,KAC/DuB,EAAC3G,EAAWxB,KAAK+G,EAAU,CAAE7H,QAASsF,GAAkB4D,IAAKZ,KAC7DW,EAAC7G,EAAatB,KAAKkH,EAAY,CAAEhI,QAAS0F,GAAoBwD,IAAKT,KACnEQ,EAAC3F,EAAaxC,KAAKqH,EAAY,CAAEe,IAAKN,MACrC1K,EAAM+C,WAGb,ECtRO,IAAMgF,EAASkD,EAASC,4BAA4BC,EAAa,CAEtEpF,gBAAAA,EACAQ,iBAAAA,EAEAI,eAAAA,EACAI,gBAAAA,EAEAQ,iBAAAA,EAEAJ,eAAAA,EAEAQ,iBAAAA"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/fba-app/context.ts","@flatbiz/antd/src/fba-app/dialog-modal/index.tsx","@flatbiz/antd/src/fba-app/dialog-confirm/index.tsx","@flatbiz/antd/src/fba-app/dialog-alert/index.tsx","@flatbiz/antd/src/fba-app/dialog-drawer/index.tsx","@flatbiz/antd/src/fba-app/dialog-loading/index.tsx","@flatbiz/antd/src/fba-app/fba-app.tsx","@flatbiz/antd/src/fba-app/index.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { FbaAppAlertProps } from './dialog-alert';\nimport { FbaAppConfirmProps } from './dialog-confirm';\nimport { FbaAppDrawerProps } from './dialog-drawer';\nimport { FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModalProps } from './dialog-modal';\n\nexport type FbaAppContextApi = {\n 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 { isNull, isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\n\nimport { TNoopDefine } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { useSize } from 'ahooks';\nimport { Form, FormInstance, Modal, ModalProps } from 'antd';\nimport { ReactElement, useMemo } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\nimport { FlexLayout } from '../../flex-layout';\nimport { getFbaLocaleMessage } from '../../_utils/i18n';\nimport './style.less';\n\nexport type FbaAppModalProps = Omit<\n ModalProps,\n 'onOk' | 'onCancel' | 'getContainer' | 'okButtonProps' | 'cancelButtonProps' | 'footer'\n> & {\n onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n onClose?: () => void;\n content: string | ReactElement | ((form: FormInstance, operate: { onClose: TNoopDefine }) => ReactElement);\n okHidden?: boolean;\n cancelHidden?: boolean;\n okButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n cancelButtonProps?: Omit<ButtonWrapperProps, 'hidden' | 'children' | 'onClick'>;\n /**\n * 设置modal body height 为当前窗口height的百分比,例如:30\n * ```\n * 1. 最大值:80\n * 1. 设置bodyStyle.height 后,bodyHeightPercent失效\n * ```\n */\n bodyHeightPercent?: number;\n\n titleExtra?: ReactElement;\n /** null则隐藏footer */\n footer?: null | ReactElement | ReactElement[];\n};\n\nexport const FbaAppModal = (props: FbaAppModalProps) => {\n const {\n titleExtra,\n title,\n onOk,\n onCancel,\n okButtonProps,\n cancelButtonProps,\n content,\n className,\n okHidden,\n cancelHidden,\n footer,\n cancelText,\n okText,\n bodyHeightPercent,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n const size = useSize(document.querySelector('html'));\n const localMessage = getFbaLocaleMessage();\n\n const onClose = hooks.useCallbackRef(() => {\n props.onClose?.();\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose();\n return Promise.resolve();\n });\n\n const operateGroup = [\n <ButtonWrapper key=\"0\" {...cancelButtonProps} onClick={onCancelHandle} hidden={cancelHidden}>\n {cancelText || localMessage.FbaDialogModal?.cancelText}\n </ButtonWrapper>,\n <ButtonWrapper key=\"1\" type=\"primary\" {...okButtonProps} onClick={onOkHandle} hidden={okHidden}>\n {okText || '提交'}\n </ButtonWrapper>,\n ];\n\n const footerNew = isNull(footer) ? null : operateGroup;\n\n const height = useMemo(() => {\n if (!size?.height || !bodyHeightPercent) {\n return 'auto';\n }\n return size?.height * (bodyHeightPercent / 100);\n }, [bodyHeightPercent, size?.height]);\n\n return (\n <Modal\n maskClosable={true}\n title={\n titleExtra ? (\n <FlexLayout direction=\"horizontal\" fullIndex={0}>\n <span>{title}</span>\n {titleExtra}\n </FlexLayout>\n ) : (\n title\n )\n }\n centered={true}\n onCancel={onClose}\n destroyOnClose\n {...otherProps}\n styles={{\n body: {\n height,\n maxHeight: size?.height ? size?.height * 0.8 : 'calc(100vh - 200px)',\n ...otherProps.styles?.body,\n },\n }}\n className={classNames('fba-dialog-modal', { 'fba-dialog-modal-title-extra': !!titleExtra }, className)}\n open={props.open}\n footer={footerNew}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Modal>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { FbaAppModal, FbaAppModalProps } from '../dialog-modal';\nimport './style.less';\n\nexport type FbaAppConfirmProps = FbaAppModalProps;\n\nexport const FbaAppConfirm = (props: FbaAppConfirmProps) => {\n const className = classNames('fba-dialog-confirm', props.className);\n return (\n <FbaAppModal\n okText=\"确定\"\n width={350}\n cancelText=\"取消\"\n maskClosable={true}\n {...props}\n className={className}\n />\n );\n};\n","import { FbaAppConfirm } from '../dialog-confirm';\nimport { FbaAppModalProps } from '../dialog-modal';\n\n// export type DialogAlertProps = Omit<\n// DialogModalProps,\n// 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n// > & {\n// onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n// };\n\n// export const dialogAlert = {\n// open: (props: DialogAlertProps) => {\n// return dialogConfirm.open({\n// okText: '确定',\n// cancelHidden: true,\n// maskClosable: false,\n// ...props,\n// onOk: props.onClick,\n// } as DialogModalProps);\n// },\n// };\n\nexport type FbaAppAlertProps = Omit<\n FbaAppModalProps,\n 'onOk' | 'cancelHidden' | 'cancelButtonProps' | 'onCancel' | 'onClick'\n> & {\n onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n};\n\nexport const FbaAppAlert = (props: FbaAppAlertProps) => {\n return (\n <FbaAppConfirm\n okText=\"确定\"\n cancelHidden={true}\n maskClosable={false}\n {...props}\n onOk={(_form, e) => {\n return props.onClick?.(e);\n }}\n />\n );\n};\n","import { isPromise } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { Drawer, DrawerProps, Form, FormInstance, Space } from 'antd';\nimport { ReactElement, ReactNode } from 'react';\nimport { ButtonWrapper, ButtonWrapperProps } from '../../button-wrapper';\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 content:\n | string\n | ReactElement\n | ((form: FormInstance, operate: { onClose: DrawerProps['onClose'] }) => ReactElement);\n okButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children' | 'loading'>;\n cancelButtonExtraProps?: Omit<ButtonWrapperProps, 'onClick' | 'children'>;\n operatePosition?: 'header' | 'footer';\n operateRender?: (form: FormInstance) => ReactElement;\n okHidden?: boolean;\n cancelHidden?: boolean;\n extra?: ReactNode | ((form: FormInstance) => ReactElement);\n};\n\nexport const FbaAppDrawer = (props: FbaAppDrawerProps) => {\n const {\n onOk,\n onCancel,\n content,\n okText,\n cancelText,\n okButtonExtraProps,\n cancelButtonExtraProps,\n operatePosition = 'footer',\n operateRender,\n width = 600,\n okHidden,\n cancelHidden,\n extra,\n ...otherProps\n } = props;\n const [form] = Form.useForm();\n\n const onClose = hooks.useCallbackRef((e) => {\n props.onClose?.(e);\n });\n\n const onCancelHandle = hooks.useCallbackRef((e) => {\n if (onCancel) {\n const response = onCancel(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const onOkHandle = hooks.useCallbackRef((e) => {\n if (onOk) {\n const response = onOk(form, e);\n if (response && isPromise(response)) {\n return response.then(onClose);\n }\n }\n onClose(e);\n return Promise.resolve();\n });\n\n const operateGroup = (\n <Space>\n {cancelHidden || cancelButtonExtraProps?.hidden ? null : (\n <ButtonWrapper {...cancelButtonExtraProps} onClick={onCancelHandle}>\n {cancelText || '取消'}\n </ButtonWrapper>\n )}\n {okHidden || okButtonExtraProps?.hidden ? null : (\n <ButtonWrapper type=\"primary\" {...okButtonExtraProps} onClick={onOkHandle}>\n {okText || '提交'}\n </ButtonWrapper>\n )}\n </Space>\n );\n\n const operateRenderHandle = () => {\n if (operateRender) {\n return operateRender(form);\n }\n if (!okHidden || !cancelHidden) {\n return operateGroup;\n }\n return null;\n };\n\n const extraRender = typeof extra === 'function' ? extra(form) : extra;\n return (\n <Drawer\n maskClosable={true}\n destroyOnClose\n width={width}\n contentWrapperStyle={{ maxWidth: '95%' }}\n footer={operatePosition === 'footer' ? operateRenderHandle() : null}\n {...otherProps}\n className={classNames('app-dialog-drawer', otherProps.className)}\n extra={operatePosition === 'header' ? operateRenderHandle() : extraRender}\n open={props.open}\n onClose={onClose}\n >\n {typeof content === 'function' ? content(form, { onClose }) : content}\n </Drawer>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { Modal, theme } from 'antd';\nimport { CSSProperties } from 'react';\nimport { 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 } 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 { FbaAppLoading, FbaAppLoadingProps } from './dialog-loading';\nimport { FbaAppModal, FbaAppModalProps } from './dialog-modal';\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogDrawer2\n * @returns\n */\nexport const useDialogDrawer = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogDrawerClose?.();\n };\n\n return {\n appDialogDrawer: {\n open: (data: FbaAppDrawerProps) => {\n ctx.dialogDrawerOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\nexport const 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};\n\n/**\n * 不支持多个弹框,第二个弹框可使用useDialogModal2\n * @returns\n */\nexport const useDialogModal = () => {\n const ctx = useContext(FbaAppContext);\n\n const onClose = () => {\n ctx.dialogModalClose?.();\n };\n\n return {\n appDialogModal: {\n open: (data: FbaAppModalProps) => {\n ctx.dialogModalOpen?.({ ...data, open: true });\n return { onClose };\n },\n close: onClose,\n },\n };\n};\n\n/**\n * 不支持多个弹框\n * @returns\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 };\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","FbaAppModal","props","_localMessage$FbaDial","_otherProps$styles","titleExtra","title","onOk","onCancel","okButtonProps","cancelButtonProps","content","className","okHidden","cancelHidden","footer","cancelText","okText","bodyHeightPercent","otherProps","_objectWithoutPropertiesLoose","_excluded","_Form$useForm","Form","useForm","form","size","useSize","document","querySelector","localMessage","getFbaLocaleMessage","onClose","_hooks","useCallbackRef","onCancelHandle","e","response","_isPromise","then","Promise","resolve","onOkHandle","operateGroup","_jsx","ButtonWrapper","_extends","onClick","hidden","children","FbaDialogModal","type","footerNew","_isNull","height","useMemo","Modal","maskClosable","_jsxs","FlexLayout","direction","fullIndex","centered","destroyOnClose","styles","body","maxHeight","_classNames","open","FbaAppConfirm","width","FbaAppAlert","_form","FbaAppDrawer","okButtonExtraProps","cancelButtonExtraProps","_props$operatePositio","operatePosition","operateRender","_props$width","extra","Space","operateRenderHandle","extraRender","Drawer","contentWrapperStyle","maxWidth","FbaAppLoading","message","mask","_theme$useToken","theme","useToken","token","colorPrimary","closable","style","BlockLayout","useDialogDrawer","ctx","useContext","dialogDrawerClose","appDialogDrawer","data","dialogDrawerOpen","close","useDialogDrawer2","dialogDrawerClose2","appDialogDrawer2","dialogDrawerOpen2","useDialogModal","dialogModalClose","appDialogModal","dialogModalOpen","useDialogModal2","dialogModalClose2","appDialogModal2","dialogModalOpen2","useDialogAlert","dialogAlertClose","appDialogAlert","dialogAlertOpen","useDialogConfirm","dialogConfirmClose","appDialogConfirm","dialogConfirmOpen","useDialogLoading","dialogLoadingClose","appDialogLoading","dialogLoadingOpen","FbaApp","_useState","useState","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","value","_createElement","key","fbaUtils","attachPropertiesToComponent","FbaAppInner"],"mappings":"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"}
package/esm/index.js CHANGED
@@ -60,11 +60,11 @@ import './drag-table/index.css';
60
60
  import './drawer-wrapper/index.css';
61
61
  import './dynamic-node/index.css';
62
62
  import './easy-form/index.css';
63
- import './form-grid/index.css';
64
63
  import './form-wrapper/index.css';
65
64
  import './easy-table/index.css';
66
65
  import './pagination-wrapper/index.css';
67
66
  import './tips-wrapper/index.css';
67
+ import './form-grid/index.css';
68
68
  import './pre-defined-class-name/index.css';
69
69
  import './table-scrollbar/index.css';
70
70
  import './editable-field/index.css';
@@ -118,5 +118,5 @@ import './tree-selector-wrapper/index.css';
118
118
  import './tree-wrapper/index.css';
119
119
  import './index.css';
120
120
  /*! @flatjs/forge MIT @flatbiz/antd */
121
- export{AceEditorGroovy}from"./ace-editor-groovy/index.js";export{AceEditorJava}from"./ace-editor-java/index.js";export{AceEditorJson}from"./ace-editor-json/index.js";export{AceEditorMysql}from"./ace-editor-mysql/index.js";export{AceEditorXml}from"./ace-editor-xml/index.js";export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{B as BlockLayout}from"./index-1f45bfd5.js";export{Bootstrap}from"./bootstrap/index.js";export{BoxGrid}from"./box-grid/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-7f4ad045.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyForm}from"./easy-form/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{FormWrapper}from"./form-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"@dimjs/lang/cjs/is-object";import"@flatbiz/utils";import"react";import"react-ace";import"./ext-language_tools-0c27f877.js";import"react/jsx-runtime";import"./mode-json-062fdb24.js";import"sql-formatter";import"antd";import"xml-formatter";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";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"./time-53b3f55f.js";import"react-dom/client";import"./dom-4d04aa64.js";import"./context-1f2093c6.js";import"@dimjs/lang/cjs/is-null";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
121
+ export{AceEditorGroovy}from"./ace-editor-groovy/index.js";export{AceEditorJava}from"./ace-editor-java/index.js";export{AceEditorJson}from"./ace-editor-json/index.js";export{AceEditorMysql}from"./ace-editor-mysql/index.js";export{AceEditorXml}from"./ace-editor-xml/index.js";export{AlertWrapper}from"./alert-wrapper/index.js";export{AmountFenInput}from"./amount-fen-input/index.js";export{AmountFenInputFormItem}from"./amount-fen-input-form-item/index.js";export{AnchorSteps}from"./anchor-steps/index.js";export{B as BlockLayout}from"./index-1f45bfd5.js";export{Bootstrap}from"./bootstrap/index.js";export{BoxGrid,useBoxBreakpoint}from"./box-grid/index.js";export{ButtonOperate,ButtonOperateItemContent}from"./button-operate/index.js";export{ButtonWrapper}from"./button-wrapper/index.js";export{CardLayout}from"./card-layout/index.js";export{CardWrapper}from"./card-wrapper/index.js";export{CascaderWrapper}from"./cascader-wrapper/index.js";export{CheckList}from"./check-list/index.js";export{CheckboxWrapper}from"./checkbox-wrapper/index.js";export{ColorPickerWrapper}from"./color-picker-wrapper/index.js";export{C as ConfigProviderWrapper}from"./index-7f4ad045.js";export{createDrawerWrapperModel}from"./create-drawer-wrapper-model/index.js";export{createModalWrapperModel}from"./create-modal-wrapper-model/index.js";export{CssNodeHover}from"./css-node-hover/index.js";export{DataRender}from"./data-render/index.js";export{DatePickerWrapper}from"./date-picker-wrapper/index.js";export{DateRangePickerWrapper}from"./date-range-picker-wrapper/index.js";export{DateRangePickerWrapperFormItem}from"./date-range-picker-wrapper-form-item/index.js";export{dialogAlert}from"./dialog-alert/index.js";export{dialogConfirm}from"./dialog-confirm/index.js";export{dialogDrawer}from"./dialog-drawer/index.js";export{DialogDrawerContent}from"./dialog-drawer-content/index.js";export{dialogLoading}from"./dialog-loading/index.js";export{dialogModal}from"./dialog-modal/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragFormList}from"./drag-form-list/index.js";export{DragTable}from"./drag-table/index.js";export{DrawerWrapper}from"./drawer-wrapper/index.js";export{DropdownMenuWrapper}from"./dropdown-menu-wrapper/index.js";export{dynamicNode}from"./dynamic-node/index.js";export{EasyForm}from"./easy-form/index.js";export{EasyTable}from"./easy-table/index.js";export{EditableField}from"./editable-field/index.js";export{EditableFieldProvider}from"./editable-field-provider/index.js";export{EditableTable}from"./editable-table/index.js";export{EditorWrapper}from"./editor-wrapper/index.js";export{ErrorBoundaryWrapper}from"./error-boundary-wrapper/index.js";export{FbaApp}from"./fba-app/index.js";export{fbaHooks}from"./fba-hooks/index.js";export{fbaUtils}from"./fba-utils/index.js";export{FileImport}from"./file-import/index.js";export{FileSelect}from"./file-select/index.js";export{FlexLayout}from"./flex-layout/index.js";export{FormGrid}from"./form-grid/index.js";export{FormItemGroup}from"./form-item-group/index.js";export{FormItemHidden}from"./form-item-hidden/index.js";export{FormItemText}from"./form-item-text/index.js";export{FormItemWrapper}from"./form-item-wrapper/index.js";export{FormListWrapper}from"./form-list-wrapper/index.js";export{FormWrapper}from"./form-wrapper/index.js";export{Gap}from"./gap/index.js";export{IconWrapper}from"./icon-wrapper/index.js";export{InputSearchWrapper}from"./input-search-wrapper/index.js";export{InputTextAreaWrapper}from"./input-text-area-wrapper/index.js";export{InputWrapper}from"./input-wrapper/index.js";export{JsonEditor}from"./json-editor/index.js";export{LabelValueLayout}from"./label-value-layout/index.js";export{LocalLoading}from"./local-loading/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{P as PaginationWrapper}from"./index-6677fbfc.js";export{Permission}from"./permission/index.js";export{preDefinedClassName}from"./pre-defined-class-name/index.js";export{RadioGroupWrapper}from"./radio-group-wrapper/index.js";export{RelationTree}from"./relation-tree/index.js";export{RequestStatus}from"./request-status/index.js";export{RichTextEditor}from"./rich-text-editor/index.js";export{RichTextViewer}from"./rich-text-viewer/index.js";export{RollLocationCenter}from"./roll-location-center/index.js";export{RollLocationInView}from"./roll-location-in-view/index.js";export{RuleDescribe}from"./rule-describe/index.js";export{SearchForm}from"./search-form/index.js";export{SearchMenu}from"./search-menu/index.js";export{SelectorWrapper}from"./selector-wrapper/index.js";export{SelectorWrapperSearch}from"./selector-wrapper-search/index.js";export{SelectorWrapperSimple}from"./selector-wrapper-simple/index.js";export{SimpleLayout}from"./simple-layout/index.js";export{SmsCountDown}from"./sms-count-down/index.js";export{SplitWrapper}from"./split-wrapper/index.js";export{styles}from"./styles/index.js";export{SvgHttpView}from"./svg-http-view/index.js";export{SwitchConfirmWrapper}from"./switch-confirm-wrapper/index.js";export{SwitchWrapper}from"./switch-wrapper/index.js";export{tableCellRender}from"./table-cell-render/index.js";export{TableScrollbar}from"./table-scrollbar/index.js";export{TableTitleTooltip}from"./table-title-tooltip/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListSelect}from"./tag-list-select/index.js";export{TagWrapper}from"./tag-wrapper/index.js";export{TextCssEllipsis}from"./text-css-ellipsis/index.js";export{TextOverflow}from"./text-overflow/index.js";export{TextOverflowRender}from"./text-overflow-render/index.js";export{TextSymbolWrapper}from"./text-symbol-wrapper/index.js";export{TimePickerWrapper}from"./time-picker-wrapper/index.js";export{TimeRangePickerWrapper}from"./time-range-picker-wrapper/index.js";export{TimeRangePickerWrapperFormItem}from"./time-range-picker-wrapper-form-item/index.js";export{TipsTitle}from"./tips-title/index.js";export{TipsWrapper}from"./tips-wrapper/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";import"./_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"@wove/react/cjs/hooks";import"@dimjs/lang/cjs/is-object";import"@flatbiz/utils";import"react";import"react-ace";import"./ext-language_tools-0c27f877.js";import"react/jsx-runtime";import"./mode-json-062fdb24.js";import"sql-formatter";import"antd";import"xml-formatter";import"@dimjs/utils/cjs/get";import"@dimjs/lang/cjs/is-number";import"ahooks";import"@ant-design/icons/es/icons/MoreOutlined";import"@dimjs/lang/cjs/is-undefined";import"@dimjs/lang/cjs/is-plain-object";import"@dimjs/lang/cjs/is-string";import"@dimjs/lang/cjs/is-promise";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-array";import"@dimjs/utils/cjs/extend";import"@ant-design/icons/es/icons/RedoOutlined";import"@dimjs/model";import"@dimjs/model-react";import"@wove/react/cjs/create-ctx";import"@ant-design/icons/es/icons/CloseCircleOutlined";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"./time-53b3f55f.js";import"react-dom/client";import"./dom-4d04aa64.js";import"./context-1f2093c6.js";import"@dimjs/lang/cjs/is-null";import"@dimjs/utils/cjs/array";import"@dnd-kit/core";import"@dnd-kit/sortable";import"@ant-design/icons/es/icons/DragOutlined";import"@dnd-kit/utilities";import"@dnd-kit/modifiers";import"@ant-design/icons/es/icons/SaveOutlined";import"@ant-design/icons/es/icons/ExclamationCircleFilled";import"@ant-design/icons/es/icons/DownOutlined";import"@ant-design/icons/es/icons/UpOutlined";import"react-is";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-25d0b686.js";import"@ant-design/icons/es/icons/PlusOutlined";import"@dimjs/lang/cjs/is-boolean";import"@ant-design/icons/es/icons/DeleteOutlined";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@dimjs/lang/cjs/is-deep-equal";import"@tinymce/tinymce-react";import"@ant-design/icons/es/icons/PlusCircleOutlined";import"@ant-design/icons/es/icons/FullscreenOutlined";import"@dimjs/utils/cjs/json";import"pubsub-js";import"react-split";import"@dimjs/lang/cjs/is-empty";import"@ant-design/icons/es/icons/QuestionCircleOutlined";import"dayjs/plugin/isSameOrAfter";import"dayjs/plugin/isSameOrBefore";import"@ant-design/icons/es/icons/CaretDownFilled";import"dequal";import"@dimjs/utils/cjs/tree";import"react-dom";
122
122
  //# sourceMappingURL=index.js.map
package/index.d.ts CHANGED
@@ -301,14 +301,6 @@ export type BootstrapProps = {
301
301
  * ```
302
302
  */
303
303
  export declare const Bootstrap: (props: BootstrapProps) => import("react/jsx-runtime").JSX.Element;
304
- declare const PresetDefaultGrid: {
305
- xs: number;
306
- sm: number;
307
- md: number;
308
- lg: number;
309
- xl: number;
310
- xxl: number;
311
- };
312
304
  export type TBoxBreakpoint = "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
313
305
  export interface ICommonReact {
314
306
  children?: ReactNode;
@@ -320,9 +312,27 @@ export type GutterParams = Gutter | [
320
312
  Gutter,
321
313
  Gutter
322
314
  ];
315
+ /**
316
+ * 监听盒子大小变化,返回当前的断点
317
+ * @param dom
318
+ * @returns
319
+ */
320
+ export declare const useBoxBreakpoint: (dom: any) => {
321
+ boxBreakpoint: TBoxBreakpoint;
322
+ isInit: boolean;
323
+ };
324
+ declare const PresetDefaultGrid: {
325
+ xs: number;
326
+ sm: number;
327
+ md: number;
328
+ lg: number;
329
+ xl: number;
330
+ xxl: number;
331
+ };
323
332
  export interface BoxRowProps {
324
333
  /**
325
- * 默认的栅格配置
334
+ * 在不同响应尺寸下的元素占位格数
335
+ * 应用到所有Col子元素上
326
336
  */
327
337
  defaultGrid?: Partial<typeof PresetDefaultGrid>;
328
338
  /** 间距 */
@@ -331,9 +341,17 @@ export interface BoxRowProps {
331
341
  align?: "top" | "middle" | "bottom" | "stretch";
332
342
  /** flex 布局的水平排列方式 */
333
343
  justify?: "start" | "end" | "center" | "space-around" | "space-between" | "space-evenly";
344
+ /** 尺寸变化回调 */
345
+ onBoxBreakpointChange?: (breakpoint: TBoxBreakpoint) => void;
334
346
  }
335
347
  export type BoxColProps = {
336
- /** 栅格占位格数,固定分数,为0相当于隐藏 */
348
+ /**
349
+ * 栅格占位格数
350
+ * span 优先级最高:配置了span后,其他的响应式配置将失效;
351
+ * 范围 0 ~ 24
352
+ * 为 0 相当于隐藏
353
+ * 为 24 相当于独占一行
354
+ */
337
355
  span?: number;
338
356
  /** 屏幕 < 576px */
339
357
  xs?: number;
@@ -349,8 +367,33 @@ export type BoxColProps = {
349
367
  xxl?: number;
350
368
  };
351
369
  export declare const BoxGrid: {
370
+ /**
371
+ * 网格响应式布局
372
+ *```
373
+ * 1. 应用场景:根据盒子大小决定内部元素的布局
374
+ * 2. 子元素只能是 BoxGrid.Col
375
+ */
352
376
  Row: import("react").FC<BoxRowProps & ICommonReact>;
377
+ /**
378
+ * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }
379
+ *```
380
+ * 1. 设置 span 栅格占位格数,0 ~ 24
381
+ * 2. grid 自定义响应式网格布局
382
+ * xs: 容器尺寸 < 576px
383
+ * sm: 容器尺寸 ≥ 576px
384
+ * md: 容器尺寸 ≥ 768px
385
+ * lg: 容器尺寸 ≥ 992px
386
+ * xl: 容器尺寸 ≥ 1200px
387
+ * xxl: 容器尺寸 ≥ 1600px
388
+ * ```
389
+ */
353
390
  Col: import("react").FC<BoxColProps & ICommonReact>;
391
+ /**
392
+ * 获取栅格响应式布局的配置
393
+ * @param minSize 元素的最小可接受宽度
394
+ * @returns { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num }
395
+ */
396
+ getGridMapByRange: (minSize: number) => Record<TBoxBreakpoint, number>;
354
397
  };
355
398
  export type ButtonWrapperProps = Omit<ButtonProps, "onClick"> & {
356
399
  /** 当返回 Promise 时,按钮自动loading */
@@ -395,7 +438,7 @@ export type DialogModalProps = Omit<ModalProps, "onOk" | "onCancel" | "getContai
395
438
  bodyHeightPercent?: number;
396
439
  titleExtra?: ReactElement;
397
440
  /** null则隐藏footer */
398
- footer?: null | ReactElement;
441
+ footer?: null | ReactElement | ReactElement[];
399
442
  };
400
443
  /**
401
444
  * 居中弹框
@@ -1878,16 +1921,55 @@ export type FormWrapperProps<Values = any> = FormProps<Values> & {
1878
1921
  */
1879
1922
  export declare const FormWrapper: (props: FormWrapperProps) => import("react/jsx-runtime").JSX.Element;
1880
1923
  export type EasyFormProps = Omit<FormWrapperProps, "children"> & {
1881
- children: ReactElement | ReactElement[];
1882
- /** 一行显示几列,定义FormItem网格占比 */
1924
+ /**
1925
+ * 定义一行显示几列(当外层宽度尺寸大于 992px(lg) 时,一行显示几列), 默认值:3
1926
+ * ```
1927
+ * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响(column=1除外)
1928
+ * 2. 宽度尺寸定义
1929
+ * xs: 宽度 < 576px
1930
+ * sm: 宽度 ≥ 576px
1931
+ * md: 宽度 ≥ 768px
1932
+ * lg: 宽度 ≥ 992px
1933
+ * xl: 宽度 ≥ 1200px
1934
+ * xxl: 宽度 ≥ 1600px
1935
+ * 3. 列数尺寸定义
1936
+ * {
1937
+ * 1: { xs: 24, sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 },
1938
+ * 2: { xs: 24, sm: 12, md: 12, lg: 12, xl: 12, xxl: 12 },
1939
+ * 3: { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 8 },
1940
+ * 4: { xs: 24, sm: 12, md: 12, lg: 6, xl: 6, xxl: 6 },
1941
+ * };
1942
+ * ```
1943
+ */
1883
1944
  column?: 1 | 2 | 3 | 4;
1945
+ /**
1946
+ * 强制定义一行显示几列,不考虑响应式
1947
+ * ```
1948
+ * 1. 优先级大于column
1949
+ * 2. 建议优先使用column配置
1950
+ * ```
1951
+ */
1952
+ forceColumn?: 1 | 2 | 3 | 4;
1953
+ /**
1954
+ * Form显示宽度,可数值、可百分比;在小屏幕尺寸(xs、sm)上无效
1955
+ */
1956
+ width?: number | string;
1957
+ /** 网格间距 */
1958
+ gridGutter?: BoxRowProps["gutter"];
1959
+ children: ReactElement | ReactElement[];
1884
1960
  };
1885
1961
  /**
1886
1962
  * 简单Form布局,可自定义网格布局
1887
1963
  * ```
1888
- * 1. EasyForm 子节点包含 hidden = true 会被忽略
1889
- * 2. 通过 column 可修改一行显示几列FormItem
1890
- * 3. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/label
1964
+ * 1. 布局网格以当前节点的宽度来计算的,不是屏幕宽度
1965
+ * 2. EasyForm 子节点包含 hidden = true 会被忽略
1966
+ * 3. 通过 column 可定义一行显示几列FormItem
1967
+ * 4. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/label
1968
+ * 5. 通过 labelItemVertical 可定义 formitem 竖直布局
1969
+ * 6. 通过 formItemGap 可定义 formItem竖直方向间隙
1970
+ * 7. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式
1971
+ *
1972
+ * 例如
1891
1973
  * <EasyForm column={3}>
1892
1974
  <Form.Item name="field1" label="条件1">
1893
1975
  <Input placeholder="请输入" allowClear={true} />
@@ -1895,12 +1977,12 @@ export type EasyFormProps = Omit<FormWrapperProps, "children"> & {
1895
1977
  <Form.Item name="field2" label="条件2">
1896
1978
  <Input placeholder="请输入" allowClear={true} />
1897
1979
  </Form.Item>
1898
- <!-- !!!可通过使用 FormGrid.Col 包裹元素来自定义网格占比 !!! -->
1899
- <FormGrid.Col span={24}>
1980
+ <!-- !!!可通过使用 BoxGrid.Col 包裹元素来自定义网格占比 !!! -->
1981
+ <BoxGrid.Col span={24}>
1900
1982
  <Form.Item name="field5" label="条件5">
1901
1983
  <Input placeholder="请输入" allowClear={true} />
1902
1984
  </Form.Item>
1903
- </FormGrid.Col>
1985
+ </BoxGrid.Col>
1904
1986
  <Form.Item name="field6" label="条件6">
1905
1987
  <Input placeholder="请输入" allowClear={true} />
1906
1988
  </Form.Item>
@@ -2359,7 +2441,7 @@ export type FbaAppDrawerProps = Omit<DrawerProps, "onOk" | "onCancel" | "getCont
2359
2441
  cancelHidden?: boolean;
2360
2442
  extra?: ReactNode | ((form: FormInstance) => ReactElement);
2361
2443
  };
2362
- export type FbaAppModalProps = Omit<ModalProps, "onOk" | "onCancel" | "getContainer" | "okButtonProps" | "cancelButtonProps"> & {
2444
+ export type FbaAppModalProps = Omit<ModalProps, "onOk" | "onCancel" | "getContainer" | "okButtonProps" | "cancelButtonProps" | "footer"> & {
2363
2445
  onOk?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;
2364
2446
  onCancel?: (form: FormInstance, e: React.MouseEvent<HTMLElement>) => void | Promise<void>;
2365
2447
  onClose?: () => void;
@@ -2379,6 +2461,8 @@ export type FbaAppModalProps = Omit<ModalProps, "onOk" | "onCancel" | "getContai
2379
2461
  */
2380
2462
  bodyHeightPercent?: number;
2381
2463
  titleExtra?: ReactElement;
2464
+ /** null则隐藏footer */
2465
+ footer?: null | ReactElement | ReactElement[];
2382
2466
  };
2383
2467
  export type FbaAppAlertProps = Omit<FbaAppModalProps, "onOk" | "cancelHidden" | "cancelButtonProps" | "onCancel" | "onClick"> & {
2384
2468
  onClick?: (e: React.MouseEvent<HTMLElement>) => void | Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.4.7",
3
+ "version": "4.4.9",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",