@flatbiz/antd 4.5.36 → 4.5.38

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.
@@ -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 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 c}from"ahooks";var d={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var u={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:d,horizontalGap:10,verticalGap:10};var m=a(f);var x=function a(i){var l=i.children,s=i.className,c=i.style;var d=t(m),u=d.defaultGrid,v=d.horizontalGap,p=d.boxBreakpoint;var f=n((function(){return i.span||i[p||"lg"]||(u==null?void 0:u[p||"lg"])||8}),[i,p,u]);return o("div",{className:e(s,"box-grad-col"),style:r({},c,{flex:"0 0 "+f/24*100+"%",maxWidth:f/24*100+"%",padding:"0 "+v/2+"px"}),children:l})};x["domTypeName"]="BoxGridCol";var h=function r(e){var a=c(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,haveWidth:!!t}};var g=function e(a,t){if(a===void 0){a=u}return n((function(){var e;var n;var i=function e(a){if(typeof a==="number"){return a}if(typeof a==="object"){return r({},u,a)[t]}};if(Array.isArray(a)){var l=a,o=l[0],c=l[1];e=i(o);n=i(c)}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?d:n,c=t.children,u=t.className,x=t.style,G=t.gutter,y=t.align,b=t.justify,B=t.onBoxBreakpointChange;var j=i(null);var k=h(j),w=k.boxBreakpoint,z=k.haveWidth;var N=g(G,w),C=N.horizontalGap,W=N.verticalGap;l((function(){B==null?void 0:B(w)}),[w]);return o(m.Provider,{value:r({},f,{defaultGrid:r({},d,s),boxBreakpoint:w,horizontalGap:C,verticalGap:W}),children:o("div",{className:e("box-grad-root",u),ref:j,style:x,children:o("div",{className:"box-grad-row",style:{alignItems:y?v[y]:"normal",justifyContent:b?p[b]:"normal",marginLeft:"-"+C/2+"px",marginRight:"-"+C/2+"px",rowGap:W+"px",opacity:z?1:0},children:c})})})};var y=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 b={Row:G,Col:x,getGridMapByRange:y};export{b as BoxGrid,h as useBoxBreakpoint};
4
+ import{classNames as r}from"@dimjs/utils/cjs/class-names";import{_ as e}from"../_rollupPluginBabelHelpers-a0769acd.js";import{createContext as a,useContext as t,useMemo as n,Children as l,cloneElement as i,useRef as o,useEffect as s}from"react";import{jsx as u}from"react/jsx-runtime";import{isNumber as v}from"@dimjs/lang/cjs/is-number";import{useSize as c}from"ahooks";var d={xs:24,sm:12,md:12,lg:8,xl:8,xxl:6};var p={xs:8,sm:16,md:16,lg:24,xl:24,xxl:32};var f={top:"flex-start",middle:"center",bottom:"flex-end",stretch:"stretch"};var m={start:"flex-start",end:"flex-end",center:"center","space-around":"space-around","space-between":"space-between","space-evenly":"space-evenly"};var x={boxBreakpoint:"lg",defaultGrid:d,horizontalGap:10,verticalGap:10};var h=a(x);var g=function a(o){var s=o.children,v=o.className,c=o.style,d=o.removeWrapper;var p=t(h),f=p.defaultGrid,m=p.horizontalGap,x=p.boxBreakpoint;var g=n((function(){return o.span||o[x||"lg"]||(f==null?void 0:f[x||"lg"])||8}),[o,x,f]);var G=e({},c,{flex:"0 0 "+g/24*100+"%",maxWidth:g/24*100+"%",padding:"0 "+m/2+"px"});if(d&&l.count(s)===1){var y,b;var B=(s==null||(y=s["props"])==null?void 0:y.style)||{};var j=(s==null||(b=s["props"])==null?void 0:b.className)||{};return i(s,e({},s==null?void 0:s["props"],{style:e({},G,B),className:r("box-grad-col",j,v)}))}return u("div",{className:r(v,"box-grad-col"),style:G,children:s})};g["domTypeName"]="BoxGridCol";var G=function r(e){var a=c(e)||{},t=a.width;var l=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:l,isInit:!!t,haveWidth:!!t}};var y=function r(a,t){if(a===void 0){a=p}return n((function(){var r;var n;var l=function r(a){if(typeof a==="number"){return a}if(typeof a==="object"){return e({},p,a)[t]}};if(Array.isArray(a)){var i=a,o=i[0],s=i[1];r=l(o);n=l(s)}else{r=l(a);n=x.verticalGap}return{horizontalGap:v(r)?r:x.horizontalGap,verticalGap:v(n)?n:x.verticalGap}}),[a,t])};var b=function a(t){var n=t.defaultGrid,l=n===void 0?d:n,i=t.children,v=t.className,c=t.style,p=t.gutter,g=t.align,b=t.justify,B=t.onBoxBreakpointChange;var j=o(null);var N=G(j),k=N.boxBreakpoint,w=N.haveWidth;var z=y(p,k),W=z.horizontalGap,C=z.verticalGap;s((function(){B==null?void 0:B(k)}),[k]);return u(h.Provider,{value:e({},x,{defaultGrid:e({},d,l),boxBreakpoint:k,horizontalGap:W,verticalGap:C}),children:u("div",{className:r("box-grad-root",v),ref:j,style:c,children:u("div",{className:"box-grad-row",style:{alignItems:g?f[g]:"normal",justifyContent:b?m[b]:"normal",marginLeft:"-"+W/2+"px",marginRight:"-"+W/2+"px",rowGap:C+"px",opacity:w?1:0},children:i})})})};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 j={Row:b,Col:g,getGridMapByRange:B};export{j 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/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 /**\n * @deprecated\n * 使用 haveWidth 替代\n */\n isInit: !!width,\n /** width为0,或者不存在 */\n haveWidth: !!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, haveWidth } = 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 * fix: boxBreakpoint多次变化,闪一下的问题\n * 子元素拿不到宽度,boxBreakpoint 会快速变化,导致元素闪烁\n * 场景:\n * 1. 使用 Tabs 组件时,任意父级元素disabled,子元素拿不到宽度\n * 2. 初始渲染,拿不到宽度\n */\n opacity: haveWidth ? 1 : 0,\n }}\n >\n {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 * 网格响应式布局,\n * 默认值:\n * { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\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","haveWidth","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","opacity","getGridMapByRange","minSize","getSpan","threshold","result","Math","ceil","find","item","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 { Children, cloneElement, useContext, useMemo, type FC, type ReactElement } 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 * 是否移除 外部包装div\n * ```\n * 1. 如果children 为数组,则此配置不生效\n * 2. 如果移除,会在children中添加style和className(所以children组件必须要有style、className属性)\n * ```\n */\n removeWrapper?: boolean;\n};\n\nexport const Col: FC<BoxColProps & ICommonReact> = (props) => {\n const { children, className, style, removeWrapper } = 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 const styles = {\n ...style,\n flex: `0 0 ${(span / 24) * 100}%`,\n maxWidth: `${(span / 24) * 100}%`,\n padding: `0 ${horizontalGap / 2}px`,\n };\n\n if (removeWrapper && Children.count(children) === 1) {\n const innerStyle = children?.['props']?.style || {};\n const innerClassName = children?.['props']?.className || {};\n return cloneElement(children as ReactElement, {\n ...children?.['props'],\n style: { ...styles, ...innerStyle },\n className: classNames('box-grad-col', innerClassName, className),\n });\n }\n\n return (\n <div className={classNames(className, 'box-grad-col')} style={styles}>\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 /**\n * @deprecated\n * 使用 haveWidth 替代\n */\n isInit: !!width,\n /** width为0,或者不存在 */\n haveWidth: !!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, haveWidth } = 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 * fix: boxBreakpoint多次变化,闪一下的问题\n * 子元素拿不到宽度,boxBreakpoint 会快速变化,导致元素闪烁\n * 场景:\n * 1. 使用 Tabs 组件时,任意父级元素disabled,子元素拿不到宽度\n * 2. 初始渲染,拿不到宽度\n */\n opacity: haveWidth ? 1 : 0,\n }}\n >\n {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 * 网格响应式布局,\n * 默认值:\n * { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\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","removeWrapper","_useContext","useContext","span","useMemo","styles","_extends","flex","maxWidth","padding","Children","count","_children$props","_children$props2","innerStyle","innerClassName","cloneElement","_classNames","_jsx","useBoxBreakpoint","dom","_ref","useSize","width","w","clientWidth","isInit","haveWidth","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","opacity","getGridMapByRange","minSize","getSpan","threshold","result","Math","ceil","find","item","BoxGrid"],"mappings":"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"}
@@ -5,5 +5,5 @@ import './../form-wrapper/index.css';
5
5
  import './../pre-defined-class-name/index.css';
6
6
  import './index.css';
7
7
  /*! @flatjs/forge MIT @flatbiz/antd */
8
- import{classNames as r}from"@dimjs/utils/cjs/class-names";import{a as e,_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isUndefinedOrNull as n,dom as a}from"@flatbiz/utils";import{useMemo as i,useRef as l,Fragment as o,Children as s,cloneElement as m}from"react";import{BoxGrid as u}from"../box-grid/index.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{FormWrapper as d}from"../form-wrapper/index.js";import{preDefinedClassName as p}from"../pre-defined-class-name/index.js";import{jsxs as c,jsx as x}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 v=function r(e){var t=e.type["domTypeName"];var r=e.props["hidden"];return r||t=="FormItemHidden"};var h=function r(e){var t=e.type["domTypeName"];var n=e.props["hidden"];if(t==="FormItemWrapper"){return n||e.props["isClear"]}return n||t=="FormItemHidden"};var y=["column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","formItemGap","isPure","nonuseFormWrapper"];var g=function g(b){var I=f.useResponsivePoint()||"";var j=b.column,F=b.forceColumn,N=b.children,W=b.width,w=b.gridGutter,C=b.labelWidth,G=b.labelItemVertical,A=b.labelAlign,P=b.formItemGap,k=P===void 0?"15":P,T=b.isPure,V=b.nonuseFormWrapper,B=e(b,y);var H=i((function(){if(F){var r=24/F;return{xs:r,sm:r,md:r,lg:r,xl:r,xxl:r}}if(!j){return{xs:24,sm:12,md:12,lg:8,xl:8,xxl:6}}var e={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 e[j]}),[j,F]);var R=function r(){return s.toArray(N).filter(v)};var L=function r(){return s.toArray(N).filter((function(r){return!h(r)})).map((function(r,e){var n=r.type["domTypeName"];if(n==="BoxGridCol")return x(o,{children:r},e);var a=undefined;if(n==="FormItemWrapper"||n==="FormItemText"||n==="FormItemSpan"){a=r.props["span"];if(a){if(I==="xs"){a=24}else if(I==="sm"){a=a>12?a:12}}}if(n==="FormItemSpan"){return m(r,t({},r.props,H,{span:a,key:e}))}return x(u.Col,t({},H,{span:a,children:r}),e)})).filter(Boolean)};var S=i((function(){if(["xs","sm"].includes(I)||!W){return{}}return{width:W}}),[I,W]);var _=n(w)?[15,0]:w;var z=l(null);var E=function r(){try{if(V){return true}if(z.current){var e=a.findParentsElement(z.current,(function(r){var e;return(e=r.classList)==null||e.contains==null?void 0:e.contains("easy-form")}));return e?true:false}return undefined}catch(r){console.log("error",r);return false}};var q=E();var D=i((function(){if(["xs"].includes(I)){return"left"}return A}),[A,I]);var J=i((function(){return p.getFormLayoutClassName({labelWidth:C,labelItemVertical:G,labelAlign:D,formItemGap:k,className:B.className})}),[C,G,D,k,B.className]);return c(o,{children:[x("div",{className:"easy-form-anchor",ref:z}),q===true?x("div",{style:t({},S,B.style),className:r("easy-form",{"easy-form-pure":T},"easy-form-nested",J),children:T?N:c(o,{children:[R(),x(u.Row,{gutter:_,children:L()})]})}):undefined,q===false?x(d,t({},B,{labelWidth:C,labelAlign:D,labelItemVertical:G,formItemGap:k,style:t({},S,B.style),className:r("easy-form",{"easy-form-pure":T},J),autoComplete:"off",children:T?N:c(o,{children:[R(),x(u.Row,{gutter:_,children:L()})]})})):undefined]})};export{g as EasyForm};
8
+ import{classNames as r}from"@dimjs/utils/cjs/class-names";import{a as e,_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isUndefinedOrNull as l,dom as a}from"@flatbiz/utils";import{useMemo as n,useRef as o,Fragment as s,Children as i,cloneElement as m}from"react";import{BoxGrid as u}from"../box-grid/index.js";import{fbaHooks as f}from"../fba-hooks/index.js";import{FormWrapper as d}from"../form-wrapper/index.js";import{preDefinedClassName as c}from"../pre-defined-class-name/index.js";import{jsxs as p,jsx as x}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 v=["column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","formItemGap","isPure","nonuseFormWrapper"];var y=function y(g){var h=f.useResponsivePoint()||"";var b=g.column,j=g.forceColumn,I=g.children,F=g.width,N=g.gridGutter,G=g.labelWidth,W=g.labelItemVertical,w=g.labelAlign,C=g.formItemGap,A=C===void 0?"15":C,P=g.isPure,k=g.nonuseFormWrapper,B=e(g,v);var V=n((function(){if(j){var r=24/j;return{xs:r,sm:r,md:r,lg:r,xl:r,xxl:r}}if(!b){return{xs:24,sm:12,md:12,lg:8,xl:8,xxl:6}}var e={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 e[b]}),[b,j]);var E=function r(){var e=i.toArray(I).filter((function(r){return!!r}));return e.map((function(r,e){var l=r.type["domTypeName"];var a=undefined;if(l==="FormItemText"||l==="FormItemSpan"||l==="FormItemWrapper"||l==="BoxGridCol"||l==="EasyForm"){a=r.props["span"];if(a){if(h==="xs"){a=24}else if(h==="sm"){a=a>12?a:12}}}if(l==="BoxGridCol"||l==="FormItemSpan"){return m(r,t({},r.props,V,{span:a,key:e}))}return x(u.Col,t({},V,{span:a,removeWrapper:true,children:r}),e)})).filter(Boolean)};var R=n((function(){if(["xs","sm"].includes(h)||!F){return{}}return{width:F}}),[h,F]);var T=l(N)?[15,0]:N;var L=o(null);var S=function r(){try{if(k){return true}if(L.current){var e=a.findParentsElement(L.current,(function(r){var e;return(e=r.classList)==null||e.contains==null?void 0:e.contains("easy-form")}));return e?true:false}return undefined}catch(r){console.log("error",r);return false}};var _=S();var z=n((function(){if(["xs"].includes(h)){return"left"}return w}),[w,h]);var H=n((function(){return c.getFormLayoutClassName({labelWidth:G,labelItemVertical:W,labelAlign:z,formItemGap:A,className:B.className})}),[G,W,z,A,B.className]);return p(s,{children:[x("div",{className:"easy-form-anchor",ref:L}),_===true?x("div",{style:t({},R,B.style),className:r("easy-form",{"easy-form-pure":P},"easy-form-nested",H),children:P?I:x(u.Row,{gutter:T,children:E()})}):undefined,_===false?x(d,t({},B,{labelWidth:G,labelAlign:z,labelItemVertical:W,formItemGap:A,style:t({},R,B.style),className:r("easy-form",{"easy-form-pure":P},H),autoComplete:"off",children:P?I:x(u.Row,{gutter:T,children:E()})})):undefined]})};y["domTypeName"]="EasyForm";export{y as EasyForm};
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-form/utils.ts","@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["export const isHidden = (item: any) => {\n const domTypeName = item.type['domTypeName'];\n const isHidden = item.props['hidden'];\n return isHidden || domTypeName == 'FormItemHidden';\n};\n\nexport const isHiddenAndClear = (item: any) => {\n const domTypeName = item.type['domTypeName'];\n const isHidden = item.props['hidden'];\n if (domTypeName === 'FormItemWrapper') {\n return isHidden || item.props['isClear'];\n }\n return isHidden || domTypeName == 'FormItemHidden';\n};\n","import { classNames } from '@dimjs/utils';\nimport { dom, isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { Children, cloneElement, Fragment, ReactNode, useMemo, useRef } from 'react';\nimport { BoxGrid } from '../box-grid';\nimport { BoxRowProps } from '../box-grid/row';\nimport { GutterParams } from '../box-grid/type';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormWrapper, FormWrapperProps } from '../form-wrapper';\nimport { preDefinedClassName } from '../pre-defined-class-name';\nimport './style.less';\nimport { isHidden, isHiddenAndClear } from './utils';\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: ReactNode;\n /**\n * 是否为纯净模式,对EasyForm的子节点不做任何包装处理\n */\n isPure?: boolean;\n /**\n * true: 不使用Antd Form包裹,可在Form、EasyForm、FormWrapper内部使用\n */\n nonuseFormWrapper?: boolean;\n};\n\n/**\n * 简单Form布局,可自定义网格布局\n * ```\n * 1. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * 2. EasyForm的children列表会进行网格化布局,可通过设置 isPure = true设置纯净模式(对EasyForm的子节点不做任何包装处理)\n * 3. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效\n * <EasyForm form={form}>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * </EasyForm>\n * 4. 布局网格以当前组件的宽度来计算的,不是屏幕宽度\n * 5. EasyForm 子节点包含 hidden = true 会被忽略\n * 6. 通过 column 可定义一行显示几列FormItem\n * 7. 通过 labelItemVertical 可定义 formitem 竖直布局\n * 8. 通过 formItemGap 可定义 formItem竖直方向间隙\n * 9. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式\n * 10. 通过 labelWidth 可控制Form内部所有label的宽度(可实现整齐效果)\n * 11. 自定义栅格占位格数,见下方`例如`\n\n * 例如\n * <EasyForm column={3}>\n *\t <FormItemWrapper name=\"field1\" label=\"条件1\">\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <!-- !!自定义栅格占位格数第一种方式:可通过使用 BoxGrid.Col 包裹元素来自定义网格占比 -->\n *\t <BoxGrid.Col span={24}>\n *\t <FormItemWrapper name=\"field5\" label=\"条件5\">\n *\t \t<Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t </BoxGrid.Col>\n *\t <!-- !!自定义栅格占位格数第二种方式:如果为FormItemWrapper组件,可设置span属性 -->\n *\t <FormItemWrapper name=\"field6\" label=\"条件6\" span={24}>\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <FormItemWrapper noStyle span={24}>\n *\t <Button>按钮</Buttone>\n *\t </FormItemWrapper>\n * </EasyForm>\n * ```\n */\nexport const EasyForm = (props: EasyFormProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const {\n column,\n forceColumn,\n children,\n width,\n gridGutter,\n labelWidth,\n labelItemVertical,\n labelAlign,\n formItemGap = '15',\n isPure,\n nonuseFormWrapper,\n ...otherProps\n } = 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 }, [column, forceColumn]);\n\n const getHiddenRowChildren = () => {\n return Children.toArray(children).filter(isHidden);\n };\n\n const getFormRowChildren = () => {\n return Children.toArray(children)\n .filter((item: TAny) => {\n return !isHiddenAndClear(item);\n })\n .map((item: TAny, index) => {\n const domTypeName = item.type['domTypeName'];\n if (domTypeName === 'BoxGridCol') return <Fragment key={index}>{item}</Fragment>;\n let span: number | undefined = undefined;\n if (\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemSpan'\n ) {\n span = item.props['span'] as number;\n if (span) {\n if (screenType === 'xs') {\n span = 24;\n } else if (screenType === 'sm') {\n span = span > 12 ? span : 12;\n }\n }\n }\n if (domTypeName === 'FormItemSpan') {\n return cloneElement(item, {\n ...item.props,\n ...gridSize,\n span,\n key: index,\n });\n }\n return (\n <BoxGrid.Col key={index} {...gridSize} span={span}>\n {item}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType, width]);\n\n const gutter = isUndefinedOrNull(gridGutter) ? ([15, 0] as GutterParams) : gridGutter;\n const anchorRef = useRef<HTMLDivElement>(null);\n\n // 是否嵌套内部EasyForm节点\n const getIsNestedEasyForm = () => {\n try {\n if (nonuseFormWrapper) {\n return true;\n }\n if (anchorRef.current) {\n const target = dom.findParentsElement(anchorRef.current, (node) => {\n return node.classList?.contains?.('easy-form');\n });\n return target ? true : false;\n }\n return undefined;\n } catch (error) {\n console.log('error', error);\n return false;\n }\n };\n\n const isNestedEasyForm = getIsNestedEasyForm();\n\n const labelAlignNew = useMemo(() => {\n if (['xs'].includes(screenType)) {\n return 'left';\n }\n return labelAlign;\n }, [labelAlign, screenType]);\n\n const fromLayoutClassName = useMemo(() => {\n return preDefinedClassName.getFormLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign: labelAlignNew,\n formItemGap,\n className: otherProps.className,\n });\n }, [labelWidth, labelItemVertical, labelAlignNew, formItemGap, otherProps.className]);\n\n return (\n <Fragment>\n <div className=\"easy-form-anchor\" ref={anchorRef}></div>\n {isNestedEasyForm === true ? (\n <div\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(\n 'easy-form',\n { 'easy-form-pure': isPure },\n 'easy-form-nested',\n fromLayoutClassName,\n )}\n >\n {isPure ? (\n children\n ) : (\n <Fragment>\n {getHiddenRowChildren()}\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n </Fragment>\n )}\n </div>\n ) : undefined}\n {isNestedEasyForm === false ? (\n <FormWrapper\n {...otherProps}\n labelWidth={labelWidth}\n labelAlign={labelAlignNew}\n labelItemVertical={labelItemVertical}\n formItemGap={formItemGap}\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames('easy-form', { 'easy-form-pure': isPure }, fromLayoutClassName)}\n autoComplete=\"off\"\n >\n {isPure ? (\n children\n ) : (\n <Fragment>\n {getHiddenRowChildren()}\n <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>\n </Fragment>\n )}\n </FormWrapper>\n ) : undefined}\n </Fragment>\n );\n};\n"],"names":["isHidden","item","domTypeName","type","props","isHiddenAndClear","EasyForm","screenType","fbaHooks","useResponsivePoint","column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","_props$formItemGap","formItemGap","isPure","nonuseFormWrapper","otherProps","_objectWithoutPropertiesLoose","_excluded","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","getHiddenRowChildren","Children","toArray","filter","getFormRowChildren","map","index","_jsx","Fragment","span","undefined","cloneElement","_extends","key","BoxGrid","Col","Boolean","innerStyle","includes","gutter","isUndefinedOrNull","anchorRef","useRef","getIsNestedEasyForm","current","target","dom","findParentsElement","node","_node$classList","classList","contains","error","console","log","isNestedEasyForm","labelAlignNew","fromLayoutClassName","preDefinedClassName","getFormLayoutClassName","className","_jsxs","ref","style","_classNames","Row","FormWrapper","autoComplete"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-form/form.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { dom, isUndefinedOrNull, TAny } from '@flatbiz/utils';\nimport { Children, cloneElement, Fragment, ReactNode, useMemo, useRef } from 'react';\nimport { BoxGrid } from '../box-grid';\nimport { BoxRowProps } from '../box-grid/row';\nimport { GutterParams } from '../box-grid/type';\nimport { fbaHooks } from '../fba-hooks';\nimport { FormWrapper, FormWrapperProps } from '../form-wrapper';\nimport { preDefinedClassName } from '../pre-defined-class-name';\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: ReactNode;\n /**\n * 是否为纯净模式,对EasyForm的子节点不做任何包装处理\n */\n isPure?: boolean;\n /**\n * true: 当前EasyForm组件不使用Antd Form包裹,可在Form、EasyForm、FormWrapper内部使用\n */\n nonuseFormWrapper?: boolean;\n /**\n * 栅格占位格数,最大值:24\n * ```\n * 1. 当前EasyForm处在 EasyForm 直接子节点中有效,即当前EasyForm在EasyForm栅格中的占位格数;\n * 2. 父节点使用属性值,当前节点不使用属性值\n * ```\n */\n span?: number;\n};\n\n/**\n * 简单Form布局,可自定义网格布局\n * ```\n * 1. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * 2. EasyForm的children列表会进行网格化布局\n * 3. 自定义栅格占位格数的4中方式\n * 3.1 设置FormItemWrapper、FormItemText组件span属性;\n * 3.2 使用 EasyFormItemSpan 包裹children item,设置span属性\n * 3.3 使用 <BoxGrid.Col span={24} ></BoxGrid.Col> 包裹,设置响应式属性\n * 3.4 设置 EasyForm isPure = true设置纯净模式,对EasyForm的子节点不做任何包装处理\n * 4. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效\n * <EasyForm form={form}>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * <EasyForm>...</EasyForm>\n * ....\n * </EasyForm>\n * 5. 布局网格以当前组件的宽度来计算的,不是屏幕宽度\n * 6. EasyForm 子节点包含 hidden = true 会被忽略\n * 7. 通过 column 可定义一行显示几列FormItem\n * 8. 通过 labelItemVertical 可定义 formitem 竖直布局\n * 9. 通过 formItemGap 可定义 formItem竖直方向间隙\n * 10. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式\n * 11. 通过 labelWidth 可控制Form内部所有label的宽度(可实现整齐效果)\n * 12. 自定义栅格占位格数,见下方`例如`\n\n * 例如\n * <EasyForm column={3}>\n *\t <FormItemWrapper name=\"field1\" label=\"条件1\">\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <!-- !!自定义栅格占位格数第一种方式:可通过使用 BoxGrid.Col 包裹元素来自定义网格占比 -->\n *\t <BoxGrid.Col span={24}>\n *\t <FormItemWrapper name=\"field5\" label=\"条件5\">\n *\t \t<Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t </BoxGrid.Col>\n *\t <!-- !!自定义栅格占位格数第二种方式:如果为FormItemWrapper组件,可设置span属性 -->\n *\t <FormItemWrapper name=\"field6\" label=\"条件6\" span={24}>\n *\t <Input placeholder=\"请输入\" allowClear={true} />\n *\t </FormItemWrapper>\n *\t <FormItemWrapper noStyle span={24}>\n *\t <Button>按钮</Buttone>\n *\t </FormItemWrapper>\n * </EasyForm>\n * ```\n */\nexport const EasyForm = (props: EasyFormProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n\n const {\n column,\n forceColumn,\n children,\n width,\n gridGutter,\n labelWidth,\n labelItemVertical,\n labelAlign,\n formItemGap = '15',\n isPure,\n nonuseFormWrapper,\n ...otherProps\n } = props;\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 }, [column, forceColumn]);\n\n const getFormRowChildren = () => {\n const childrenList = Children.toArray(children).filter((item: TAny) => {\n return !!item;\n });\n return childrenList\n .map((item: TAny, index) => {\n const domTypeName = item.type['domTypeName'];\n\n let span: number | undefined = undefined;\n if (\n domTypeName === 'FormItemText' ||\n domTypeName === 'FormItemSpan' ||\n domTypeName === 'FormItemWrapper' ||\n domTypeName === 'BoxGridCol' ||\n domTypeName === 'EasyForm'\n ) {\n span = item.props['span'] as number;\n if (span) {\n if (screenType === 'xs') {\n span = 24;\n } else if (screenType === 'sm') {\n span = span > 12 ? span : 12;\n }\n }\n }\n\n if (domTypeName === 'BoxGridCol' || domTypeName === 'FormItemSpan') {\n return cloneElement(item, {\n ...item.props,\n ...gridSize,\n span,\n key: index,\n });\n }\n return (\n <BoxGrid.Col key={index} {...gridSize} span={span} removeWrapper>\n {item}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType, width]);\n\n const gutter = isUndefinedOrNull(gridGutter) ? ([15, 0] as GutterParams) : gridGutter;\n const anchorRef = useRef<HTMLDivElement>(null);\n\n // 是否嵌套内部EasyForm节点\n const getIsNestedEasyForm = () => {\n try {\n if (nonuseFormWrapper) {\n return true;\n }\n if (anchorRef.current) {\n const target = dom.findParentsElement(anchorRef.current, (node) => {\n return node.classList?.contains?.('easy-form');\n });\n return target ? true : false;\n }\n return undefined;\n } catch (error) {\n console.log('error', error);\n return false;\n }\n };\n\n const isNestedEasyForm = getIsNestedEasyForm();\n\n const labelAlignNew = useMemo(() => {\n if (['xs'].includes(screenType)) {\n return 'left';\n }\n return labelAlign;\n }, [labelAlign, screenType]);\n\n const fromLayoutClassName = useMemo(() => {\n return preDefinedClassName.getFormLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign: labelAlignNew,\n formItemGap,\n className: otherProps.className,\n });\n }, [labelWidth, labelItemVertical, labelAlignNew, formItemGap, otherProps.className]);\n\n return (\n <Fragment>\n <div className=\"easy-form-anchor\" ref={anchorRef}></div>\n {isNestedEasyForm === true ? (\n <div\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames(\n 'easy-form',\n { 'easy-form-pure': isPure },\n 'easy-form-nested',\n fromLayoutClassName,\n )}\n >\n {isPure ? children : <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>}\n </div>\n ) : undefined}\n {isNestedEasyForm === false ? (\n <FormWrapper\n {...otherProps}\n labelWidth={labelWidth}\n labelAlign={labelAlignNew}\n labelItemVertical={labelItemVertical}\n formItemGap={formItemGap}\n style={{ ...innerStyle, ...otherProps.style }}\n className={classNames('easy-form', { 'easy-form-pure': isPure }, fromLayoutClassName)}\n autoComplete=\"off\"\n >\n {isPure ? children : <BoxGrid.Row gutter={gutter}>{getFormRowChildren()}</BoxGrid.Row>}\n </FormWrapper>\n ) : undefined}\n </Fragment>\n );\n};\n\nEasyForm['domTypeName'] = 'EasyForm';\n"],"names":["EasyForm","props","screenType","fbaHooks","useResponsivePoint","column","forceColumn","children","width","gridGutter","labelWidth","labelItemVertical","labelAlign","_props$formItemGap","formItemGap","isPure","nonuseFormWrapper","otherProps","_objectWithoutPropertiesLoose","_excluded","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","getFormRowChildren","childrenList","Children","toArray","filter","item","map","index","domTypeName","type","span","undefined","cloneElement","_extends","key","_jsx","BoxGrid","Col","removeWrapper","Boolean","innerStyle","includes","gutter","isUndefinedOrNull","anchorRef","useRef","getIsNestedEasyForm","current","target","dom","findParentsElement","node","_node$classList","classList","contains","error","console","log","isNestedEasyForm","labelAlignNew","fromLayoutClassName","preDefinedClassName","getFormLayoutClassName","className","_jsxs","Fragment","ref","style","_classNames","Row","FormWrapper","autoComplete"],"mappings":"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"}
@@ -16,5 +16,5 @@ import './../form-item-wrapper/index.css';
16
16
  import './../tips-wrapper/index.css';
17
17
  import './index.css';
18
18
  /*! @flatjs/forge MIT @flatbiz/antd */
19
- import e from"@ant-design/icons/es/icons/PlusOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{_ as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as i}from"@wove/react/cjs/hooks";import{toArray as o,isUndefinedOrNull as t}from"@flatbiz/utils";import{Form as a,ConfigProvider as d,Empty as l}from"antd";import{useRef as s,useMemo as m,Fragment as u,createElement as p,isValidElement as c}from"react";import{ButtonWrapper as f}from"../button-wrapper/index.js";import{CardWrapper as v}from"../card-wrapper/index.js";import{DeleteNode as g}from"../delete-node/index.js";import{EasyForm as y}from"../easy-form/index.js";import{fbaUtils as j}from"../fba-utils/index.js";import{FormItemHidden as h}from"../form-item-hidden/index.js";import{FormItemWrapper as x}from"../form-item-wrapper/index.js";import{TipsWrapper as b}from"../tips-wrapper/index.js";import{jsx as F,jsxs as w}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.js";import"antd/es/locale/en_US";import"antd/es/locale/zh_CN";import"dayjs";import"dayjs/locale/en";import"dayjs/locale/zh-cn";import"dayjs/plugin/advancedFormat";import"dayjs/plugin/customParseFormat";import"dayjs/plugin/localeData";import"dayjs/plugin/utc";import"dayjs/plugin/weekday";import"dayjs/plugin/weekOfYear";import"dayjs/plugin/weekYear";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/extend";import"@dimjs/model";import"@ant-design/icons/es/icons/CloseCircleFilled";import"@ant-design/icons/es/icons/DeleteOutlined";import"../icon-wrapper/index.js";import"@dimjs/lang/cjs/is-undefined";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var C=function C(k){var P=a.useFormInstance();var R=o(k.formListName);var I=s();var N=i.useForceUpdate();var E=d.useConfig(),D=E.componentDisabled;var B=k.formListCompleteName||R;var V=i.useCallbackRef((function(e,r){return new Promise((function(n,i){return Promise.resolve(P.validateFields(r.map((function(r){return[].concat(e,o(r))})))).then((function(e){try{return n()}catch(e){return i(e)}}),i)}))}));var _=i.useCallbackRef((function(e){return P.getFieldValue(e)}));var q=i.useCallbackRef((function(e,r){j.setFormFieldsAndTriggerValuesChange(P,r.map((function(r){return{name:[].concat(B,[e],o(r.name)),value:r.value}})));N()}));var L=m((function(){return k.columns.map((function(e){var r;var i=e.title;var a=i;if(e.tips){a=F(b,{tipType:"popover",popoverProps:{content:e.tips},children:i})}var d=e.required;if(!d&&typeof e.formItemProps==="object"&&(r=e.formItemProps.rules)!=null&&r.length){d=!!e.formItemProps.rules.find((function(e){return!!e["required"]}))}var l=o(e["dataIndex"]);return{dataIndex:l,render:function r(i,o,s){var m;var c=P.getFieldValue([].concat(B,[o.name],l));if(t(e.render)){return F(u,{children:c})}var f=[].concat(B,[o.name]);var v=typeof(e==null?void 0:e.editable)==="function"?e==null?void 0:e.editable({index:i,getCurrentRowData:_.bind(null,f)},i):e==null?void 0:e.editable;var g={index:i,editable:v,add:s.add,remove:s.remove,move:s.move,rowFormItemName:o.name,rowFormItemCompleteName:f,setCurrentRowField:q.bind(null,o.name),validateRowFields:V.bind(null,f),getCurrentRowData:_.bind(null,f),forceUpdate:N};if(e.remove!=null&&e.remove(g,i)){return F(u,{})}if(e.hidden!=null&&e.hidden(g,i)){return F(h,{name:[o.name].concat(l)},o.key)}var y=typeof e.formItemProps==="function"?e.formItemProps(g):e.formItemProps;if(!((m=y)!=null&&(m=m.rules)!=null&&m.length)&&d){y=n({},y,{rules:[{required:true,message:""}]})}if(v===true){return p(x,n({},y,{name:[o.name].concat(l),label:a,span:e.gridNumber,key:o.key}),e.render==null?void 0:e.render(g))}return F(x,n({label:a,span:e.gridNumber},y,{children:e.render==null?void 0:e.render(g)}),o.key)}}}))}),[k.columns,P,B,q,V,_,N]);var O=r("editable-card",k.className);return F("div",{className:O,style:k.style,children:F(a.List,{name:R,rules:k.rules,initialValue:k.initialValue,children:function r(i,o,t){var d=t.errors;I.current=o;return w("div",{style:{borderRadius:"6px",border:d!=null&&d.length?"1px solid #ff4d4f":"1px solid transparent"},children:[k.contentBeforeRender==null?void 0:k.contentBeforeRender(o,i.length),i.map((function(e,r){var t;var a=k.onCustomGroupName?k.onCustomGroupName(r):r+1;var d={index:r,fields:i,fieldItem:e,operation:o,required:k.required,key:""+e.key};if(k.onCustomWrapper){var l;return F(u,{children:k.onCustomWrapper(F(y,n({nonuseFormWrapper:true},k.cardEasyFormProps,{style:n({padding:0,margin:0},(l=k.cardEasyFormProps)==null?void 0:l.style),children:L.map((function(n){return n.render(r,e,o)}))})),d)},e.key)}var s=k.cardExtraRender==null?void 0:k.cardExtraRender(d);return F(v,{className:k.cardClassName,title:a,size:"small",style:n({padding:0,margin:"0 0 15px 0"},k.cardStyle),bodyStyle:{paddingBottom:0},extra:c(s)?s:w("div",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[s==null?void 0:s["before"],F(g,{style:{color:"red"},hidden:k.hiddenDeleteBtn||k.required&&i.length===1||D,onDelete:function e(){o.remove(r)}}),s==null?void 0:s["after"]]}),children:F(y,n({nonuseFormWrapper:true},k.cardEasyFormProps,{style:n({padding:0,margin:0},(t=k.cardEasyFormProps)==null?void 0:t.style),children:L.map((function(n){return F(u,{children:n.render(r,e,o)},n.dataIndex.join("_"))}))}))},e.key)})),i.length===0?F("div",{className:"editable-card-empty",children:F(l,{image:l.PRESENTED_IMAGE_SIMPLE})}):null,F(f,{block:true,hidden:k.hiddenFooterBtn||D,type:"dashed",icon:F(e,{}),onClick:function e(){var r=k.addRowDefaultValues==null?void 0:k.addRowDefaultValues();o.add(n({},r))},children:k.addRowBtnName||"新增"}),k.contentAfterRender==null?void 0:k.contentAfterRender(o,i.length),d.length?F(a.ErrorList,{errors:[F("div",{style:{color:"#ff4d4f",padding:"5px"},children:d},"0")]}):null]})}})})};export{C as EditableCard};
19
+ import e from"@ant-design/icons/es/icons/PlusOutlined";import{classNames as r}from"@dimjs/utils/cjs/class-names";import{_ as n}from"../_rollupPluginBabelHelpers-a0769acd.js";import{hooks as i}from"@wove/react/cjs/hooks";import{toArray as o,isUndefinedOrNull as t}from"@flatbiz/utils";import{Form as a,ConfigProvider as l,Empty as d}from"antd";import{useRef as s,Fragment as m,createElement as u,isValidElement as p}from"react";import{ButtonWrapper as c}from"../button-wrapper/index.js";import{CardWrapper as f}from"../card-wrapper/index.js";import{DeleteNode as v}from"../delete-node/index.js";import{EasyForm as g}from"../easy-form/index.js";import{fbaHooks as y}from"../fba-hooks/index.js";import{fbaUtils as j}from"../fba-utils/index.js";import{FormItemHidden as h}from"../form-item-hidden/index.js";import{FormItemWrapper as b}from"../form-item-wrapper/index.js";import{TipsWrapper as x}from"../tips-wrapper/index.js";import{jsx as C,jsxs as k}from"react/jsx-runtime";import"@ant-design/icons/es/icons/LoadingOutlined";import"@dimjs/lang/cjs/is-promise";import"../index-7f4ad045.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";import"@dimjs/lang/cjs/is-array";import"../use-responsive-point-21b8c601.js";import"@dimjs/model";import"@ant-design/icons/es/icons/CloseCircleFilled";import"@ant-design/icons/es/icons/DeleteOutlined";import"../icon-wrapper/index.js";import"@dimjs/lang/cjs/is-undefined";import"../box-grid/index.js";import"@dimjs/lang/cjs/is-number";import"ahooks";import"../form-wrapper/index.js";import"../pre-defined-class-name/index.js";import"@ant-design/icons/es/icons/QuestionCircleOutlined";var F=function F(w){var I=a.useFormInstance();var N=o(w.formListName);var P=s();var R=i.useForceUpdate();var E=l.useConfig(),D=E.componentDisabled;var B=w.formListCompleteName||N;var V=i.useCallbackRef((function(e,r){return new Promise((function(n,i){return Promise.resolve(I.validateFields(r.map((function(r){return[].concat(e,o(r))})))).then((function(e){try{return n()}catch(e){return i(e)}}),i)}))}));var q=i.useCallbackRef((function(e){return I.getFieldValue(e)}));var L=i.useCallbackRef((function(e,r){j.setFormFieldsAndTriggerValuesChange(I,r.map((function(r){return{name:[].concat(B,[e],o(r.name)),value:r.value}})));R()}));var _=y.useMemoCustom((function(){return w.columns.map((function(e){var r;var i=e.title;var a=i;if(e.tips){a=C(x,{tipType:"popover",popoverProps:{content:e.tips},children:i})}var l=e.required;if(!l&&typeof e.formItemProps==="object"&&(r=e.formItemProps.rules)!=null&&r.length){l=!!e.formItemProps.rules.find((function(e){return!!e["required"]}))}var d=o(e["dataIndex"]);return{dataIndex:d,render:function r(i,o,s){var p;var c=I.getFieldValue([].concat(B,[o.name],d));if(t(e.render)){return C(m,{children:c})}var f=[].concat(B,[o.name]);var v=typeof(e==null?void 0:e.editable)==="function"?e==null?void 0:e.editable({index:i,getCurrentRowData:q.bind(null,f)},i):e==null?void 0:e.editable;var g={index:i,editable:v,add:s.add,remove:s.remove,move:s.move,rowFormItemName:o.name,rowFormItemCompleteName:f,setCurrentRowField:L.bind(null,o.name),validateRowFields:V.bind(null,f),getCurrentRowData:q.bind(null,f),forceUpdate:R};if(e.remove!=null&&e.remove(g,i)){return C(m,{})}if(e.hidden!=null&&e.hidden(g,i)){return C(h,{name:[o.name].concat(d)},o.key)}var y=typeof e.formItemProps==="function"?e.formItemProps(g):e.formItemProps;if(!((p=y)!=null&&(p=p.rules)!=null&&p.length)&&l){y=n({},y,{rules:[{required:true,message:""}]})}if(v===true){if(e.formItemContainer){return e.formItemContainer(u(b,n({label:a},y,{name:[o.name].concat(d),span:e.gridNumber,key:o.key}),e.render==null?void 0:e.render(g)))}return u(b,n({label:a},y,{name:[o.name].concat(d),span:e.gridNumber,key:o.key}),e.render==null?void 0:e.render(g))}if(e.formItemContainer){return e.formItemContainer(C(b,n({label:a,span:e.gridNumber},y,{children:e.render==null?void 0:e.render(g)}),o.key))}return C(b,n({label:a,span:e.gridNumber},y,{children:e.render==null?void 0:e.render(g)}),o.key)}}}))}),[w.columns,I,B,L,V,q,R]);var O=r("editable-card",w.className);return C("div",{className:O,style:w.style,children:C(a.List,{name:N,rules:w.rules,initialValue:w.initialValue,children:function r(i,o,t){var l=t.errors;P.current=o;return k("div",{style:{borderRadius:"6px",border:l!=null&&l.length?"1px solid #ff4d4f":"1px solid transparent"},children:[w.contentBeforeRender==null?void 0:w.contentBeforeRender(o,i.length),i.map((function(e,r){var t;var a=w.onCustomGroupName?w.onCustomGroupName(r):r+1;var l={index:r,fields:i,fieldItem:e,operation:o,required:w.required,key:""+e.key};if(w.onCustomWrapper){var d;return C(m,{children:w.onCustomWrapper(C(g,n({nonuseFormWrapper:true},w.cardEasyFormProps,{style:n({padding:0,margin:0},(d=w.cardEasyFormProps)==null?void 0:d.style),children:_.map((function(n){return n.render(r,e,o)}))})),l)},e.key)}var s=w.cardExtraRender==null?void 0:w.cardExtraRender(l);return C(f,{className:w.cardClassName,title:a,size:"small",style:n({padding:0,margin:"0 0 15px 0"},w.cardStyle),bodyStyle:{paddingBottom:0},extra:p(s)?s:k("div",{style:{display:"inline-flex",alignItems:"center",gap:"8px"},children:[s==null?void 0:s["before"],C(v,{style:{color:"red"},hidden:w.hiddenDeleteBtn||w.required&&i.length===1||D,onDelete:function e(){o.remove(r)}}),s==null?void 0:s["after"]]}),children:C(g,n({nonuseFormWrapper:true},w.cardEasyFormProps,{style:n({padding:0,margin:0},(t=w.cardEasyFormProps)==null?void 0:t.style),children:_.map((function(n){return n.render(r,e,o)}))}))},e.key)})),i.length===0?C("div",{className:"editable-card-empty",children:C(d,{image:d.PRESENTED_IMAGE_SIMPLE})}):null,C(c,{block:true,hidden:w.hiddenFooterBtn||D,type:"dashed",icon:C(e,{}),onClick:function e(){var r=w.addRowDefaultValues==null?void 0:w.addRowDefaultValues();o.add(n({},r))},children:w.addRowBtnName||"新增"}),w.contentAfterRender==null?void 0:w.contentAfterRender(o,i.length),l.length?C(a.ErrorList,{errors:[C("div",{style:{color:"#ff4d4f",padding:"5px"},children:l},"0")]}):null]})}})})};export{F as EditableCard};
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/editable-card/editable-card.tsx"],"sourcesContent":["import { PlusOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\n\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ConfigProvider, Empty, Form, FormListFieldData, type FormListOperation } from 'antd';\nimport type { ReactElement } from 'react';\nimport { Fragment, isValidElement, useMemo, useRef } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { CardWrapper } from '../card-wrapper';\nimport { DeleteNode } from '../delete-node';\nimport { EasyForm } from '../easy-form';\nimport { fbaUtils } from '../fba-utils';\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper } from '../form-item-wrapper';\nimport { TipsWrapper } from '../tips-wrapper';\nimport './style.less';\nimport type { EditableCardDataIndex, EditableCardOperation, EditableCardProps } from './type';\n\n/**\n * 使用FormList实现可编辑卡片\n * ```\n * 1. 必须在外部包裹Form组件或者EasyForm组件\n * 2. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowField 方法\n * 3. 可使用DragEditableCard组件实现拖拽排序\n *\n * demo\n * https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * ```\n */\nexport const EditableCard = (props: EditableCardProps) => {\n const form = Form.useFormInstance();\n const formListName = toArray<string | number>(props.formListName);\n const formListOperationRef = useRef<FormListOperation>();\n const forceUpdate = hooks.useForceUpdate();\n const { componentDisabled } = ConfigProvider.useConfig();\n\n const formListCompleteName = props.formListCompleteName || formListName;\n\n const validateRowFields = hooks.useCallbackRef(\n async (formItemPrevName: Array<string | number>, nameList: EditableCardDataIndex[]) => {\n await form.validateFields(\n nameList.map((item) => [...formItemPrevName, ...toArray<string | number>(item)]),\n );\n },\n );\n const getCurrentRowData = hooks.useCallbackRef((formItemPrevName: Array<string | number>) => {\n return form.getFieldValue(formItemPrevName);\n });\n\n const setCurrentRowField = hooks.useCallbackRef(\n (\n formItemPrevName: string | number,\n dataIndexConfigs: {\n name: EditableCardDataIndex;\n value?: TAny;\n }[],\n ) => {\n fbaUtils.setFormFieldsAndTriggerValuesChange(\n form,\n dataIndexConfigs.map((item) => {\n return {\n name: [...formListCompleteName, formItemPrevName, ...toArray<string | number>(item.name)],\n value: item.value,\n };\n }),\n );\n forceUpdate();\n },\n );\n\n const columns = useMemo(() => {\n return props.columns.map((column) => {\n const title = column.title;\n let titleRender: ReactElement | string | undefined = title;\n if (column.tips) {\n titleRender = (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: column.tips }}>\n {title}\n </TipsWrapper>\n );\n }\n\n let required = column.required;\n\n if (!required && typeof column.formItemProps === 'object' && column.formItemProps.rules?.length) {\n required = !!column.formItemProps.rules.find((item) => !!item['required']);\n }\n\n const dataIndex = toArray<string>(column['dataIndex']);\n\n return {\n dataIndex,\n render: (index, fieldData: FormListFieldData, operation: FormListOperation) => {\n const value = form.getFieldValue([...formListCompleteName, fieldData.name, ...dataIndex]);\n if (isUndefinedOrNull(column.render)) {\n return <Fragment>{value}</Fragment>;\n }\n\n const rowFormItemCompleteName = [...formListCompleteName, fieldData.name];\n\n const editable =\n typeof column?.editable === 'function'\n ? column?.editable(\n {\n index,\n getCurrentRowData: getCurrentRowData.bind(null, rowFormItemCompleteName),\n },\n index,\n )\n : column?.editable;\n\n const renderOperationProps: EditableCardOperation = {\n index,\n editable,\n add: operation.add,\n remove: operation.remove,\n move: operation.move,\n rowFormItemName: fieldData.name,\n rowFormItemCompleteName,\n setCurrentRowField: setCurrentRowField.bind(null, fieldData.name),\n validateRowFields: validateRowFields.bind(null, rowFormItemCompleteName),\n getCurrentRowData: getCurrentRowData.bind(null, rowFormItemCompleteName),\n forceUpdate,\n };\n\n if (column.remove?.(renderOperationProps, index)) {\n return <Fragment />;\n }\n\n if (column.hidden?.(renderOperationProps, index)) {\n return <FormItemHidden name={[fieldData.name, ...dataIndex]} key={fieldData.key} />;\n }\n let formItemProps =\n typeof column.formItemProps === 'function'\n ? column.formItemProps(renderOperationProps)\n : column.formItemProps;\n\n if (!formItemProps?.rules?.length && required) {\n formItemProps = {\n ...formItemProps,\n rules: [{ required: true, message: '' }],\n };\n }\n\n if (editable === true) {\n return (\n <FormItemWrapper\n {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n >\n {column.render?.(renderOperationProps) as React.ReactNode}\n </FormItemWrapper>\n );\n }\n return (\n <FormItemWrapper\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n {...formItemProps}\n >\n {column.render?.(renderOperationProps)}\n </FormItemWrapper>\n );\n },\n };\n });\n }, [\n props.columns,\n form,\n formListCompleteName,\n setCurrentRowField,\n validateRowFields,\n getCurrentRowData,\n forceUpdate,\n ]);\n\n const className = classNames('editable-card', props.className);\n\n return (\n <div className={className} style={props.style}>\n <Form.List name={formListName} rules={props.rules} initialValue={props.initialValue}>\n {(fields, formListOperation, { errors }) => {\n formListOperationRef.current = formListOperation;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length ? '1px solid #ff4d4f' : '1px solid transparent',\n }}\n >\n {props.contentBeforeRender?.(formListOperation, fields.length)}\n {fields.map((fieldItem, index) => {\n const title = props.onCustomGroupName ? props.onCustomGroupName(index) : index + 1;\n\n const extraData = {\n index,\n fields,\n fieldItem,\n operation: formListOperation,\n required: props.required,\n key: `${fieldItem.key}`,\n };\n if (props.onCustomWrapper) {\n return (\n <Fragment key={fieldItem.key}>\n {props.onCustomWrapper(\n <EasyForm\n nonuseFormWrapper={true}\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column) => {\n return column.render(index, fieldItem, formListOperation);\n })}\n </EasyForm>,\n extraData,\n )}\n </Fragment>\n );\n }\n\n const cardExtraRenderResult = props.cardExtraRender?.(extraData);\n\n return (\n <CardWrapper\n key={fieldItem.key}\n className={props.cardClassName}\n title={title}\n size=\"small\"\n style={{\n padding: 0,\n margin: '0 0 15px 0',\n ...props.cardStyle,\n }}\n bodyStyle={{ paddingBottom: 0 }}\n // styles={{ body: { paddingBottom: 0 } }}\n extra={\n isValidElement(cardExtraRenderResult) ? (\n cardExtraRenderResult\n ) : (\n <div\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '8px',\n }}\n >\n {cardExtraRenderResult?.['before']}\n <DeleteNode\n style={{ color: 'red' }}\n hidden={\n props.hiddenDeleteBtn ||\n (props.required && fields.length === 1) ||\n componentDisabled\n }\n onDelete={() => {\n formListOperation.remove(index);\n }}\n />\n {cardExtraRenderResult?.['after']}\n </div>\n )\n }\n >\n <EasyForm\n nonuseFormWrapper={true}\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column) => {\n return (\n <Fragment key={column.dataIndex.join('_')}>\n {column.render(index, fieldItem, formListOperation)}\n </Fragment>\n );\n })}\n </EasyForm>\n </CardWrapper>\n );\n })}\n {fields.length === 0 ? (\n <div className=\"editable-card-empty\">\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n ) : null}\n <ButtonWrapper\n block\n hidden={props.hiddenFooterBtn || componentDisabled}\n type=\"dashed\"\n icon={<PlusOutlined />}\n onClick={() => {\n const defaultValues = props.addRowDefaultValues?.();\n formListOperation.add({ ...defaultValues });\n }}\n >\n {props.addRowBtnName || '新增'}\n </ButtonWrapper>\n {props.contentAfterRender?.(formListOperation, fields.length)}\n {errors.length ? (\n <Form.ErrorList\n errors={[\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]}\n />\n ) : null}\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["EditableCard","props","form","Form","useFormInstance","formListName","toArray","formListOperationRef","useRef","forceUpdate","_hooks","useForceUpdate","_ConfigProvider$useCo","ConfigProvider","useConfig","componentDisabled","formListCompleteName","validateRowFields","useCallbackRef","formItemPrevName","nameList","Promise","$return","$error","resolve","validateFields","map","item","concat","then","$await_1","$boundEx","getCurrentRowData","getFieldValue","setCurrentRowField","dataIndexConfigs","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","columns","useMemo","column","_column$formItemProps","title","titleRender","tips","_jsx","TipsWrapper","tipType","popoverProps","content","children","required","formItemProps","rules","length","find","dataIndex","render","index","fieldData","operation","_formItemProps","isUndefinedOrNull","Fragment","rowFormItemCompleteName","editable","bind","renderOperationProps","add","remove","move","rowFormItemName","hidden","FormItemHidden","key","_extends","message","_createElement","FormItemWrapper","label","span","gridNumber","className","_classNames","style","List","initialValue","fields","formListOperation","_ref","errors","current","_jsxs","borderRadius","border","contentBeforeRender","fieldItem","_props$cardEasyFormPr2","onCustomGroupName","extraData","onCustomWrapper","_props$cardEasyFormPr","EasyForm","nonuseFormWrapper","cardEasyFormProps","padding","margin","cardExtraRenderResult","cardExtraRender","CardWrapper","cardClassName","size","cardStyle","bodyStyle","paddingBottom","extra","isValidElement","display","alignItems","gap","DeleteNode","color","hiddenDeleteBtn","onDelete","join","Empty","image","PRESENTED_IMAGE_SIMPLE","ButtonWrapper","block","hiddenFooterBtn","type","icon","_PlusOutlined","onClick","defaultValues","addRowDefaultValues","addRowBtnName","contentAfterRender","ErrorList"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/editable-card/editable-card.tsx"],"sourcesContent":["import { PlusOutlined } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\n\nimport type { TAny } from '@flatbiz/utils';\nimport { isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ConfigProvider, Empty, Form, FormListFieldData, type FormListOperation } from 'antd';\nimport type { ReactElement } from 'react';\nimport { Fragment, isValidElement, useRef } from 'react';\nimport { ButtonWrapper } from '../button-wrapper';\nimport { CardWrapper } from '../card-wrapper';\nimport { DeleteNode } from '../delete-node';\nimport { EasyForm } from '../easy-form';\nimport { fbaHooks } from '../fba-hooks';\nimport { fbaUtils } from '../fba-utils';\nimport { FormItemHidden } from '../form-item-hidden';\nimport { FormItemWrapper } from '../form-item-wrapper';\nimport { TipsWrapper } from '../tips-wrapper';\nimport './style.less';\nimport type { EditableCardDataIndex, EditableCardOperation, EditableCardProps } from './type';\n\n/**\n * 使用FormList实现可编辑卡片\n * ```\n * 1. 必须在外部包裹Form组件或者EasyForm组件\n * 2. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowField 方法\n * 3. 可使用DragEditableCard组件实现拖拽排序\n *\n * demo\n * https://fex.qa.tcshuke.com/docs/admin/main/form/grid\n * ```\n */\nexport const EditableCard = (props: EditableCardProps) => {\n const form = Form.useFormInstance();\n const formListName = toArray<string | number>(props.formListName);\n\n const formListOperationRef = useRef<FormListOperation>();\n const forceUpdate = hooks.useForceUpdate();\n const { componentDisabled } = ConfigProvider.useConfig();\n\n const formListCompleteName = props.formListCompleteName || formListName;\n\n const validateRowFields = hooks.useCallbackRef(\n async (formItemPrevName: Array<string | number>, nameList: EditableCardDataIndex[]) => {\n await form.validateFields(\n nameList.map((item) => [...formItemPrevName, ...toArray<string | number>(item)]),\n );\n },\n );\n const getCurrentRowData = hooks.useCallbackRef((formItemPrevName: Array<string | number>) => {\n return form.getFieldValue(formItemPrevName);\n });\n\n const setCurrentRowField = hooks.useCallbackRef(\n (\n formItemPrevName: string | number,\n dataIndexConfigs: {\n name: EditableCardDataIndex;\n value?: TAny;\n }[],\n ) => {\n fbaUtils.setFormFieldsAndTriggerValuesChange(\n form,\n dataIndexConfigs.map((item) => {\n return {\n name: [...formListCompleteName, formItemPrevName, ...toArray<string | number>(item.name)],\n value: item.value,\n };\n }),\n );\n forceUpdate();\n },\n );\n\n const columns = fbaHooks.useMemoCustom(() => {\n return props.columns.map((column) => {\n const title = column.title;\n let titleRender: ReactElement | string | undefined = title;\n if (column.tips) {\n titleRender = (\n <TipsWrapper tipType=\"popover\" popoverProps={{ content: column.tips }}>\n {title}\n </TipsWrapper>\n );\n }\n\n let required = column.required;\n\n if (!required && typeof column.formItemProps === 'object' && column.formItemProps.rules?.length) {\n required = !!column.formItemProps.rules.find((item) => !!item['required']);\n }\n\n const dataIndex = toArray<string>(column['dataIndex']);\n\n return {\n dataIndex,\n render: (index, fieldData: FormListFieldData, operation: FormListOperation) => {\n const value = form.getFieldValue([...formListCompleteName, fieldData.name, ...dataIndex]);\n if (isUndefinedOrNull(column.render)) {\n return <Fragment>{value}</Fragment>;\n }\n\n const rowFormItemCompleteName = [...formListCompleteName, fieldData.name];\n\n const editable =\n typeof column?.editable === 'function'\n ? column?.editable(\n {\n index,\n getCurrentRowData: getCurrentRowData.bind(null, rowFormItemCompleteName),\n },\n index,\n )\n : column?.editable;\n\n const renderOperationProps: EditableCardOperation = {\n index,\n editable,\n add: operation.add,\n remove: operation.remove,\n move: operation.move,\n rowFormItemName: fieldData.name,\n rowFormItemCompleteName,\n setCurrentRowField: setCurrentRowField.bind(null, fieldData.name),\n validateRowFields: validateRowFields.bind(null, rowFormItemCompleteName),\n getCurrentRowData: getCurrentRowData.bind(null, rowFormItemCompleteName),\n forceUpdate,\n };\n\n if (column.remove?.(renderOperationProps, index)) {\n return <Fragment />;\n }\n\n if (column.hidden?.(renderOperationProps, index)) {\n return <FormItemHidden name={[fieldData.name, ...dataIndex]} key={fieldData.key} />;\n }\n let formItemProps =\n typeof column.formItemProps === 'function'\n ? column.formItemProps(renderOperationProps)\n : column.formItemProps;\n\n if (!formItemProps?.rules?.length && required) {\n formItemProps = {\n ...formItemProps,\n rules: [{ required: true, message: '' }],\n };\n }\n\n if (editable === true) {\n if (column.formItemContainer) {\n return column.formItemContainer(\n <FormItemWrapper\n label={titleRender}\n {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\n span={column.gridNumber}\n key={fieldData.key}\n >\n {column.render?.(renderOperationProps) as React.ReactNode}\n </FormItemWrapper>,\n );\n }\n return (\n <FormItemWrapper\n label={titleRender}\n {...formItemProps}\n name={[fieldData.name, ...dataIndex]}\n span={column.gridNumber}\n key={fieldData.key}\n >\n {column.render?.(renderOperationProps) as React.ReactNode}\n </FormItemWrapper>\n );\n }\n if (column.formItemContainer) {\n return column.formItemContainer(\n <FormItemWrapper\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n {...formItemProps}\n >\n {column.render?.(renderOperationProps)}\n </FormItemWrapper>,\n );\n }\n return (\n <FormItemWrapper\n label={titleRender}\n span={column.gridNumber}\n key={fieldData.key}\n {...formItemProps}\n >\n {column.render?.(renderOperationProps)}\n </FormItemWrapper>\n );\n },\n };\n });\n }, [\n props.columns,\n form,\n formListCompleteName,\n setCurrentRowField,\n validateRowFields,\n getCurrentRowData,\n forceUpdate,\n ]);\n\n const className = classNames('editable-card', props.className);\n\n return (\n <div className={className} style={props.style}>\n <Form.List name={formListName} rules={props.rules} initialValue={props.initialValue}>\n {(fields, formListOperation, { errors }) => {\n formListOperationRef.current = formListOperation;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length ? '1px solid #ff4d4f' : '1px solid transparent',\n }}\n >\n {props.contentBeforeRender?.(formListOperation, fields.length)}\n {fields.map((fieldItem, index) => {\n const title = props.onCustomGroupName ? props.onCustomGroupName(index) : index + 1;\n\n const extraData = {\n index,\n fields,\n fieldItem,\n operation: formListOperation,\n required: props.required,\n key: `${fieldItem.key}`,\n };\n if (props.onCustomWrapper) {\n return (\n <Fragment key={fieldItem.key}>\n {props.onCustomWrapper(\n <EasyForm\n nonuseFormWrapper={true}\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column) => {\n return column.render(index, fieldItem, formListOperation);\n })}\n </EasyForm>,\n extraData,\n )}\n </Fragment>\n );\n }\n\n const cardExtraRenderResult = props.cardExtraRender?.(extraData);\n\n return (\n <CardWrapper\n key={fieldItem.key}\n className={props.cardClassName}\n title={title}\n size=\"small\"\n style={{\n padding: 0,\n margin: '0 0 15px 0',\n ...props.cardStyle,\n }}\n bodyStyle={{ paddingBottom: 0 }}\n // styles={{ body: { paddingBottom: 0 } }}\n extra={\n isValidElement(cardExtraRenderResult) ? (\n cardExtraRenderResult\n ) : (\n <div\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '8px',\n }}\n >\n {cardExtraRenderResult?.['before']}\n <DeleteNode\n style={{ color: 'red' }}\n hidden={\n props.hiddenDeleteBtn ||\n (props.required && fields.length === 1) ||\n componentDisabled\n }\n onDelete={() => {\n formListOperation.remove(index);\n }}\n />\n {cardExtraRenderResult?.['after']}\n </div>\n )\n }\n >\n <EasyForm\n nonuseFormWrapper={true}\n {...props.cardEasyFormProps}\n style={{\n padding: 0,\n margin: 0,\n ...props.cardEasyFormProps?.style,\n }}\n >\n {columns.map((column) => {\n return column.render(index, fieldItem, formListOperation);\n })}\n </EasyForm>\n </CardWrapper>\n );\n })}\n {fields.length === 0 ? (\n <div className=\"editable-card-empty\">\n <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />\n </div>\n ) : null}\n <ButtonWrapper\n block\n hidden={props.hiddenFooterBtn || componentDisabled}\n type=\"dashed\"\n icon={<PlusOutlined />}\n onClick={() => {\n const defaultValues = props.addRowDefaultValues?.();\n formListOperation.add({ ...defaultValues });\n }}\n >\n {props.addRowBtnName || '新增'}\n </ButtonWrapper>\n {props.contentAfterRender?.(formListOperation, fields.length)}\n {errors.length ? (\n <Form.ErrorList\n errors={[\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]}\n />\n ) : null}\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["EditableCard","props","form","Form","useFormInstance","formListName","toArray","formListOperationRef","useRef","forceUpdate","_hooks","useForceUpdate","_ConfigProvider$useCo","ConfigProvider","useConfig","componentDisabled","formListCompleteName","validateRowFields","useCallbackRef","formItemPrevName","nameList","Promise","$return","$error","resolve","validateFields","map","item","concat","then","$await_1","$boundEx","getCurrentRowData","getFieldValue","setCurrentRowField","dataIndexConfigs","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","columns","fbaHooks","useMemoCustom","column","_column$formItemProps","title","titleRender","tips","_jsx","TipsWrapper","tipType","popoverProps","content","children","required","formItemProps","rules","length","find","dataIndex","render","index","fieldData","operation","_formItemProps","isUndefinedOrNull","Fragment","rowFormItemCompleteName","editable","bind","renderOperationProps","add","remove","move","rowFormItemName","hidden","FormItemHidden","key","_extends","message","formItemContainer","_createElement","FormItemWrapper","label","span","gridNumber","className","_classNames","style","List","initialValue","fields","formListOperation","_ref","errors","current","_jsxs","borderRadius","border","contentBeforeRender","fieldItem","_props$cardEasyFormPr2","onCustomGroupName","extraData","onCustomWrapper","_props$cardEasyFormPr","EasyForm","nonuseFormWrapper","cardEasyFormProps","padding","margin","cardExtraRenderResult","cardExtraRender","CardWrapper","cardClassName","size","cardStyle","bodyStyle","paddingBottom","extra","isValidElement","display","alignItems","gap","DeleteNode","color","hiddenDeleteBtn","onDelete","Empty","image","PRESENTED_IMAGE_SIMPLE","ButtonWrapper","block","hiddenFooterBtn","type","icon","_PlusOutlined","onClick","defaultValues","addRowDefaultValues","addRowBtnName","contentAfterRender","ErrorList"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable */
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
- import{Form as e}from"antd";import{jsx as r}from"react/jsx-runtime";var m=function m(n){return r(e.Item,{name:n.name,hidden:true,children:r("span",{})})};m["domTypeName"]="FormItemHidden";export{m as FormItemHidden};
4
+ import{Form as e}from"antd";import{jsx as m}from"react/jsx-runtime";var r=function r(t){return m(e.Item,{name:t.name,hidden:true,className:t.className,style:t.style,children:m("span",{})})};r["domTypeName"]="FormItemHidden";export{r as FormItemHidden};
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-hidden/form-item-hidden.tsx"],"sourcesContent":["import { Form, FormItemProps } from 'antd';\n\nexport type FormItemHiddenProps = {\n name: FormItemProps['name'];\n};\n\nexport const FormItemHidden = (props: FormItemHiddenProps) => {\n return (\n <Form.Item name={props.name} hidden>\n <span></span>\n </Form.Item>\n );\n};\n\nFormItemHidden['domTypeName'] = 'FormItemHidden';\n"],"names":["FormItemHidden","props","_jsx","Form","Item","name","hidden","children"],"mappings":";wEAMaA,EAAiB,SAAjBA,EAAkBC,GAC7B,OACEC,EAACC,EAAKC,KAAI,CAACC,KAAMJ,EAAMI,KAAMC,OAAM,KAAAC,SACjCL,EAAY,OAAA,KAGlB,EAEAF,EAAe,eAAiB"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-hidden/form-item-hidden.tsx"],"sourcesContent":["import type { FormItemProps } from 'antd';\nimport { Form } from 'antd';\nimport type { CSSProperties } from 'react';\n\nexport type FormItemHiddenProps = {\n name: FormItemProps['name'];\n className?: string;\n style?: CSSProperties;\n};\n\nexport const FormItemHidden = (props: FormItemHiddenProps) => {\n return (\n <Form.Item name={props.name} hidden className={props.className} style={props.style}>\n <span></span>\n </Form.Item>\n );\n};\n\nFormItemHidden['domTypeName'] = 'FormItemHidden';\n"],"names":["FormItemHidden","props","_jsx","Form","Item","name","hidden","className","style","children"],"mappings":";wEAUaA,EAAiB,SAAjBA,EAAkBC,GAC7B,OACEC,EAACC,EAAKC,KAAI,CAACC,KAAMJ,EAAMI,KAAMC,OAAM,KAACC,UAAWN,EAAMM,UAAWC,MAAOP,EAAMO,MAAMC,SACjFP,EAAY,OAAA,KAGlB,EAEAF,EAAe,eAAiB"}
@@ -2,5 +2,5 @@
2
2
  import './../box-grid/index.css';
3
3
  import './index.css';
4
4
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{BoxGrid as r}from"../box-grid/index.js";import{jsx as i}from"react/jsx-runtime";import"../_rollupPluginBabelHelpers-a0769acd.js";import"@dimjs/utils/cjs/class-names";import"react";import"@dimjs/lang/cjs/is-number";import"ahooks";var m=function m(o){return i(r.Col,{span:o.span,children:o.children})};m["domTypeName"]="FormItemSpan";export{m as FormItemSpan};
5
+ import{_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{BoxGrid as m}from"../box-grid/index.js";import{jsx as o}from"react/jsx-runtime";import"@dimjs/utils/cjs/class-names";import"react";import"@dimjs/lang/cjs/is-number";import"ahooks";var i=function i(s){return o(m.Col,r({},s))};i["domTypeName"]="FormItemSpan";export{i as FormItemSpan};
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-span/span.tsx"],"sourcesContent":["import { BoxGrid } from '../box-grid';\nexport type FormItemSpanProps = {\n span?: number;\n children?: React.ReactNode;\n};\n\n/**\n * 包裹EasyForm children item元素, 设置自定义栅格占位格数(使用在EasyForm一级子节点下生效)\n * ```\n * EasyForm中自定义栅格占位格数方式\n * 1. 设置 FormItemWrapper、FormItemText 的 span 属性(支持移动端小屏幕span强制转为24逻辑)\n * 2. 使用 <BoxGrid.Col span={24} ></BoxGrid.Col> 包裹,设置 span 属性(不支持移动端小屏幕span强制转为24逻辑)\n * 3. 使用 <FormItemSpan span={24} ></FormItemSpan> 包裹,设置 span 属性(支持移动端小屏幕span强制转为24逻辑)\n * <EasyForm>\n * <FormItemSpan span={24}>\n * <CardLayout title={'基本信息'}>\n * <EasyForm nonuseFormWrapper>\n * <FormItemWrapper></FormItemWrapper>\n * </EasyForm>\n * </CardLayout>\n * </FormItemSpan>\n * <FormItemSpan span={24}>\n * <CardLayout title={'紧急联系人信息'}>\n * <EasyForm nonuseFormWrapper>\n * <FormItemWrapper></FormItemWrapper>\n * </EasyForm>\n * </CardLayout>\n * </FormItemSpan>\n * </EasyForm>\n * ```\n */\nexport const FormItemSpan = (props: FormItemSpanProps) => {\n return <BoxGrid.Col span={props.span}>{props.children}</BoxGrid.Col>;\n};\n\nFormItemSpan['domTypeName'] = 'FormItemSpan';\n"],"names":["FormItemSpan","props","_jsx","BoxGrid","Col","span","children"],"mappings":";gPA+BaA,EAAe,SAAfA,EAAgBC,GAC3B,OAAOC,EAACC,EAAQC,IAAG,CAACC,KAAMJ,EAAMI,KAAKC,SAAEL,EAAMK,UAC/C,EAEAN,EAAa,eAAiB"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-span/span.tsx"],"sourcesContent":["import { BoxGrid } from '../box-grid/index.js';\nexport type FormItemSpanProps = {\n span?: number;\n children?: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n};\n\n/**\n * 包裹EasyForm children item元素, 设置自定义栅格占位格数(使用在EasyForm一级子节点下生效)\n * ```\n * EasyForm中自定义栅格占位格数方式\n * 1. 设置 FormItemWrapper、FormItemText 的 span 属性(支持移动端小屏幕span强制转为24逻辑)\n * 2. 使用 <BoxGrid.Col span={24} ></BoxGrid.Col> 包裹,设置 span 属性(不支持移动端小屏幕span强制转为24逻辑)\n * 3. 使用 <FormItemSpan span={24} ></FormItemSpan> 包裹,设置 span 属性(支持移动端小屏幕span强制转为24逻辑)\n * <EasyForm>\n * <FormItemSpan span={24}>\n * <CardLayout title={'基本信息'}>\n * <EasyForm nonuseFormWrapper>\n * <FormItemWrapper></FormItemWrapper>\n * </EasyForm>\n * </CardLayout>\n * </FormItemSpan>\n * <FormItemSpan span={24}>\n * <CardLayout title={'紧急联系人信息'}>\n * <EasyForm nonuseFormWrapper>\n * <FormItemWrapper></FormItemWrapper>\n * </EasyForm>\n * </CardLayout>\n * </FormItemSpan>\n * </EasyForm>\n * ```\n */\nexport const FormItemSpan = (props: FormItemSpanProps) => {\n return <BoxGrid.Col {...props} />;\n};\n\nFormItemSpan['domTypeName'] = 'FormItemSpan';\n"],"names":["FormItemSpan","props","_jsx","BoxGrid","Col","_extends"],"mappings":";4PAiCaA,EAAe,SAAfA,EAAgBC,GAC3B,OAAOC,EAACC,EAAQC,IAAGC,EAAA,CAAA,EAAKJ,GAC1B,EAEAD,EAAa,eAAiB"}
@@ -1 +1 @@
1
- .form-item-label-70.ant-form-item .ant-form-item-label{width:70px}.form-item-label-80.ant-form-item .ant-form-item-label{width:80px}.form-item-label-90.ant-form-item .ant-form-item-label{width:90px}.form-item-label-100.ant-form-item .ant-form-item-label{width:100px}.form-item-label-110.ant-form-item .ant-form-item-label{width:110px}.form-item-label-120.ant-form-item .ant-form-item-label{width:120px}.form-item-label-130.ant-form-item .ant-form-item-label{width:130px}.form-item-label-140.ant-form-item .ant-form-item-label{width:140px}.form-item-label-150.ant-form-item .ant-form-item-label{width:150px}.form-item-label-160.ant-form-item .ant-form-item-label{width:160px}.form-item-label-170.ant-form-item .ant-form-item-label{width:170px}.form-item-label-180.ant-form-item .ant-form-item-label{width:180px}.form-item-label-190.ant-form-item .ant-form-item-label{width:190px}.form-item-label-200.ant-form-item .ant-form-item-label{width:200px}.form-item-label-auto.ant-form-item .ant-form-item-row{flex-direction:row!important}.form-item-label-auto.ant-form-item .ant-form-item-label{width:auto!important}.form-item-label-auto.ant-form-item .ant-form-item-control{flex:1}.form-item-label-align-left.ant-form-item .ant-form-item-label{text-align:left}.form-item-label-align-right.ant-form-item .ant-form-item-label{text-align:right}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row{flex-direction:column}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-label{text-align:left;width:100%}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-control{flex:initial}.form-label-70 .ant-form-item-label{width:70px}.form-label-80 .ant-form-item-label{width:80px}.form-label-90 .ant-form-item-label{width:90px}.form-label-100 .ant-form-item-label{width:100px}.form-label-110 .ant-form-item-label{width:110px}.form-label-120 .ant-form-item-label{width:120px}.form-label-130 .ant-form-item-label{width:130px}.form-label-140 .ant-form-item-label{width:140px}.form-label-150 .ant-form-item-label{width:150px}.form-label-160 .ant-form-item-label{width:160px}.form-label-170 .ant-form-item-label{width:170px}.form-label-180 .ant-form-item-label{width:180px}.form-label-190 .ant-form-item-label{width:190px}.form-label-200 .ant-form-item-label{width:200px}.form-label-auto .ant-form-item-label{width:auto}.form-label-align-left .ant-form-item-label{text-align:left}.form-label-align-right .ant-form-item-label{text-align:right}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-row{flex-direction:column}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-label{text-align:left;width:100%}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-control{flex:initial}.form-formitem-gap-24{margin-bottom:-24px}.form-formitem-gap-24 .ant-form-item{margin-bottom:24px}.form-formitem-gap-15{margin-bottom:-15px}.form-formitem-gap-15 .ant-form-item{margin-bottom:15px}.form-formitem-gap-8{margin-bottom:-8px}.form-formitem-gap-8 .ant-form-item{margin-bottom:8px}.form-formitem-gap-5{margin-bottom:-5px}.form-formitem-gap-5 .ant-form-item{margin-bottom:5px}.form-formitem-gap-0,.form-formitem-gap-0 .ant-form-item{margin-bottom:0}
1
+ .form-item-label-70.ant-form-item .ant-form-item-label{width:70px}.form-item-label-80.ant-form-item .ant-form-item-label{width:80px}.form-item-label-90.ant-form-item .ant-form-item-label{width:90px}.form-item-label-100.ant-form-item .ant-form-item-label{width:100px}.form-item-label-110.ant-form-item .ant-form-item-label{width:110px}.form-item-label-120.ant-form-item .ant-form-item-label{width:120px}.form-item-label-130.ant-form-item .ant-form-item-label{width:130px}.form-item-label-140.ant-form-item .ant-form-item-label{width:140px}.form-item-label-150.ant-form-item .ant-form-item-label{width:150px}.form-item-label-160.ant-form-item .ant-form-item-label{width:160px}.form-item-label-170.ant-form-item .ant-form-item-label{width:170px}.form-item-label-180.ant-form-item .ant-form-item-label{width:180px}.form-item-label-190.ant-form-item .ant-form-item-label{width:190px}.form-item-label-200.ant-form-item .ant-form-item-label{width:200px}.form-item-label-auto.ant-form-item .ant-form-item-row{flex-direction:row!important}.form-item-label-auto.ant-form-item .ant-form-item-label{width:auto!important}.form-item-label-auto.ant-form-item .ant-form-item-control{flex:1}.form-item-label-align-left.ant-form-item .ant-form-item-label{text-align:left}.form-item-label-align-right.ant-form-item .ant-form-item-label{text-align:right}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row{flex-direction:column}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-label{text-align:left;width:100%}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-control{flex:initial}.form-label-70 .ant-form-item-label{width:70px}.form-label-80 .ant-form-item-label{width:80px}.form-label-90 .ant-form-item-label{width:90px}.form-label-100 .ant-form-item-label{width:100px}.form-label-110 .ant-form-item-label{width:110px}.form-label-120 .ant-form-item-label{width:120px}.form-label-130 .ant-form-item-label{width:130px}.form-label-140 .ant-form-item-label{width:140px}.form-label-150 .ant-form-item-label{width:150px}.form-label-160 .ant-form-item-label{width:160px}.form-label-170 .ant-form-item-label{width:170px}.form-label-180 .ant-form-item-label{width:180px}.form-label-190 .ant-form-item-label{width:190px}.form-label-200 .ant-form-item-label{width:200px}.form-label-auto .ant-form-item-label{width:auto}.form-label-align-left .ant-form-item-label{text-align:left}.form-label-align-right .ant-form-item-label{text-align:right}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-row{flex-direction:column}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-label{text-align:left;width:100%}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-control{flex:initial}.form-formitem-gap-24 .ant-form-item{margin-bottom:24px}.form-formitem-gap-15 .ant-form-item{margin-bottom:15px}.form-formitem-gap-8 .ant-form-item{margin-bottom:8px}.form-formitem-gap-5 .ant-form-item{margin-bottom:5px}.form-formitem-gap-0 .ant-form-item{margin-bottom:0}
@@ -1,6 +1,7 @@
1
1
  /* eslint-disable */
2
+ import './../fba-hooks/index.css';
2
3
  import './../pre-defined-class-name/index.css';
3
4
  import './index.css';
4
5
  /*! @flatjs/forge MIT @flatbiz/antd */
5
- import{a as e,_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{composeProps as a}from"@flatbiz/utils";import{Form as l}from"antd";import{useMemo as i,isValidElement as t,cloneElement as n}from"react";import{preDefinedClassName as m}from"../pre-defined-class-name/index.js";import{jsx as o,jsxs as p}from"react/jsx-runtime";import"@dimjs/utils/cjs/class-names";var s=["wrapper","children","inputNormalize"],u=["wrapper","isClear","labelWidth","labelItemVertical","labelAlign","children","before","after","inputNormalize","outputNormalize","className"];var f=function r(l){var i=l.wrapper,t=l.children,m=l.inputNormalize,u=e(l,s);var f=u.hasOwnProperty("value");if(f&&m){u["value"]=m(u["value"])}var c=n(t,a(t.props,u,true));if(i){return i(c)}if(l.before||l.after){return p("div",{style:{display:"flex",alignItems:"center"},children:[l.before?o("span",{style:{marginRight:10},children:l.before}):null,o("div",{style:{flex:1},children:c}),l.after?o("span",{style:{marginLeft:10},children:l.after}):null]})}return c};var c=function a(n){var p=n.wrapper,s=n.isClear,c=n.labelWidth,d=n.labelItemVertical,b=n.labelAlign,h=n.children,v=n.before,N=n.after,g=n.inputNormalize,z=n.outputNormalize,y=n.className,I=e(n,u);var w=i((function(){return m.getFormItemLayoutClassName({labelWidth:c,labelItemVertical:d,labelAlign:b,className:y})}),[c,d,b,y]);if(s)return null;return o(l.Item,r({normalize:z},I,{className:w,children:t(h)?o(f,{wrapper:p,before:v,after:N,inputNormalize:g,children:h}):h}))};c["domTypeName"]="FormItemWrapper";export{c as FormItemWrapper};
6
+ import{a as e,_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{composeProps as i,isUndefinedOrNull as l}from"@flatbiz/utils";import{Form as a}from"antd";import{useMemo as t,isValidElement as n,cloneElement as o}from"react";import{fbaHooks as s}from"../fba-hooks/index.js";import{preDefinedClassName as u}from"../pre-defined-class-name/index.js";import{jsx as p,jsxs as m}from"react/jsx-runtime";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"@dimjs/utils/cjs/class-names";var f=["wrapper","children","inputNormalize","isClear"],d=["wrapper","isClear","labelWidth","labelItemVertical","labelAlign","children","before","after","inputNormalize","outputNormalize","className","dependencies","hidden"];var c=function r(a){var t=a.wrapper,n=a.children,u=a.inputNormalize,d=a.isClear,c=e(a,f);var h=Object.prototype.hasOwnProperty.call(c,"value");if(h&&u){c["value"]=u(c["value"])}var v=o(n,i(n.props,c,true));s.useEffectCustom((function(){if(d&&!l(a.value)){a.onChange==null?void 0:a.onChange(undefined)}}),[d,a.value]);if(t){return t(v)}if(a.before||a.after){return m("div",{style:{display:"flex",alignItems:"center"},children:[a.before?p("span",{style:{marginRight:10},children:a.before}):null,p("div",{style:{flex:1},children:v}),a.after?p("span",{style:{marginLeft:10},children:a.after}):null]})}return v};var h=function i(l){var o=l.wrapper,s=l.isClear,m=l.labelWidth,f=l.labelItemVertical,h=l.labelAlign,v=l.children,b=l.before,g=l.after,y=l.inputNormalize,N=l.outputNormalize,j=l.className,z=l.dependencies,C=l.hidden,I=e(l,d);var w=a.useFormInstance();var F=t((function(){return u.getFormItemLayoutClassName({labelWidth:m,labelItemVertical:f,labelAlign:h,className:j})}),[m,f,h,j]);if(z&&(z==null?void 0:z.length)>0){return p(a.Item,{dependencies:z,noStyle:true,children:function(e){function r(r){return e.apply(this,arguments)}r.toString=function(){return e.toString()};return r}((function(e){var i=typeof C==="function"?C==null?void 0:C(e.getFieldsValue()):C;var l=typeof s==="function"?s==null?void 0:s(e.getFieldsValue()):s;var t=I.rules;if(l||i){t=[]}return p(a.Item,r({normalize:N},I,{className:F,hidden:l||i,rules:t,children:n(v)?p(c,{wrapper:o,before:b,after:g,inputNormalize:y,isClear:l,children:v}):v}))}))})}var V=typeof C==="function"?C(w.getFieldsValue()):C;var x=typeof s==="function"?s(w.getFieldsValue()):s;return p(a.Item,r({normalize:N},I,{className:F,hidden:V||x,children:n(v)?p(c,{wrapper:o,before:b,after:g,inputNormalize:y,isClear:x,children:v}):v}))};h["domTypeName"]="FormItemWrapper";export{h as FormItemWrapper};
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-wrapper/form-item-wrapper.tsx"],"sourcesContent":["import { composeProps, TAny } from '@flatbiz/utils';\nimport { Form, FormItemProps } from 'antd';\nimport { cloneElement, isValidElement, ReactElement, ReactNode, useMemo } from 'react';\nimport { preDefinedClassName } from '../pre-defined-class-name';\nimport { TFormItemLayoutPreClassNameProps } from '../pre-defined-class-name/form';\n\nexport type FormItemWrapperProps = FormItemProps &\n TFormItemLayoutPreClassNameProps & {\n wrapper?: (children: ReactNode) => ReactElement;\n /** 设置wrapper后,before、after失效 */\n before?: ReactNode;\n /** 设置wrapper后,before、after失效 */\n after?: ReactNode;\n /** value 序列化处理 */\n inputNormalize?: (value?: TAny) => TAny;\n /**\n * onChange 参数序列化处理\n * 如果设置 normalize 属性,outputNormalize将失效\n */\n outputNormalize?: (value?: TAny) => TAny;\n /** 是否清除 Form.Item */\n isClear?: boolean;\n /**\n * 栅格占位格数,最大值:24\n * ```\n * 1. FormItemWrapper 处在 EasyForm 直接子节点中有效,即FormItemWrapper在EasyForm栅格中的占位格数;\n * ```\n */\n span?: number;\n };\n\ntype FormItemWrapperChildrenProps = Pick<\n FormItemWrapperProps,\n 'wrapper' | 'after' | 'before' | 'inputNormalize'\n> & {\n children: ReactElement;\n};\n\nconst FormItemWrapperChildren = (props: FormItemWrapperChildrenProps) => {\n const { wrapper, children, inputNormalize, ...rest } = props;\n // composeProps 合并执行 Form.Item 传的 onChange 以及组件本身的方法\n const hasValue = rest.hasOwnProperty('value');\n if (hasValue && inputNormalize) {\n rest['value'] = inputNormalize(rest['value']);\n }\n const _children = cloneElement(children, composeProps(children.props, rest, true));\n if (wrapper) {\n return wrapper(_children);\n }\n if (props.before || props.after) {\n return (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n {props.before ? <span style={{ marginRight: 10 }}>{props.before}</span> : null}\n <div style={{ flex: 1 }}>{_children}</div>\n {props.after ? <span style={{ marginLeft: 10 }}>{props.after}</span> : null}\n </div>\n );\n }\n return _children;\n};\n\n/**\n * 对 Form.Item 包装处理\n * ```\n * 1. 为 children 增加 before、after\n * 2. 对输入、输出数据进行序列化处理\n * 3. 内置布局样式使用 preDefinedClassName.formItem\n * ```\n */\nexport const FormItemWrapper = (props: FormItemWrapperProps) => {\n const {\n wrapper,\n isClear,\n labelWidth,\n labelItemVertical,\n labelAlign,\n children,\n before,\n after,\n inputNormalize,\n outputNormalize,\n className,\n ...rest\n } = props;\n\n const innerClassName = useMemo(() => {\n return preDefinedClassName.getFormItemLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign,\n className,\n });\n }, [labelWidth, labelItemVertical, labelAlign, className]);\n\n if (isClear) return null;\n\n return (\n <Form.Item normalize={outputNormalize} {...rest} className={innerClassName}>\n {isValidElement(children) ? (\n <FormItemWrapperChildren\n wrapper={wrapper}\n before={before}\n after={after}\n inputNormalize={inputNormalize}\n >\n {children}\n </FormItemWrapperChildren>\n ) : (\n children\n )}\n </Form.Item>\n );\n};\n\nFormItemWrapper['domTypeName'] = 'FormItemWrapper';\n"],"names":["FormItemWrapperChildren","props","wrapper","children","inputNormalize","rest","_objectWithoutPropertiesLoose","_excluded","hasValue","hasOwnProperty","_children","cloneElement","composeProps","before","after","_jsxs","style","display","alignItems","_jsx","marginRight","flex","marginLeft","FormItemWrapper","isClear","labelWidth","labelItemVertical","labelAlign","outputNormalize","className","_excluded2","innerClassName","useMemo","preDefinedClassName","getFormItemLayoutClassName","Form","Item","_extends","normalize","isValidElement"],"mappings":";mjBAsCA,IAAMA,EAA0B,SAA1BA,EAA2BC,GAC/B,IAAQC,EAA+CD,EAA/CC,QAASC,EAAsCF,EAAtCE,SAAUC,EAA4BH,EAA5BG,eAAmBC,EAAIC,EAAKL,EAAKM,GAE5D,IAAMC,EAAWH,EAAKI,eAAe,SACrC,GAAID,GAAYJ,EAAgB,CAC9BC,EAAK,SAAWD,EAAeC,EAAK,SACtC,CACA,IAAMK,EAAYC,EAAaR,EAAUS,EAAaT,EAASF,MAAOI,EAAM,OAC5E,GAAIH,EAAS,CACX,OAAOA,EAAQQ,EACjB,CACA,GAAIT,EAAMY,QAAUZ,EAAMa,MAAO,CAC/B,OACEC,EAAA,MAAA,CAAKC,MAAO,CAAEC,QAAS,OAAQC,WAAY,UAAWf,SACnDF,CAAAA,EAAMY,OAASM,EAAA,OAAA,CAAMH,MAAO,CAAEI,YAAa,IAAKjB,SAAEF,EAAMY,SAAiB,KAC1EM,EAAA,MAAA,CAAKH,MAAO,CAAEK,KAAM,GAAIlB,SAAEO,IACzBT,EAAMa,MAAQK,EAAA,OAAA,CAAMH,MAAO,CAAEM,WAAY,IAAKnB,SAAEF,EAAMa,QAAgB,OAG7E,CACA,OAAOJ,CACT,MAUaa,EAAkB,SAAlBA,EAAmBtB,GAC9B,IACEC,EAYED,EAZFC,QACAsB,EAWEvB,EAXFuB,QACAC,EAUExB,EAVFwB,WACAC,EASEzB,EATFyB,kBACAC,EAQE1B,EARF0B,WACAxB,EAOEF,EAPFE,SACAU,EAMEZ,EANFY,OACAC,EAKEb,EALFa,MACAV,EAIEH,EAJFG,eACAwB,EAGE3B,EAHF2B,gBACAC,EAEE5B,EAFF4B,UACGxB,EAAIC,EACLL,EAAK6B,GAET,IAAMC,EAAiBC,GAAQ,WAC7B,OAAOC,EAAoBC,2BAA2B,CACpDT,WAAAA,EACAC,kBAAAA,EACAC,WAAAA,EACAE,UAAAA,GAEH,GAAE,CAACJ,EAAYC,EAAmBC,EAAYE,IAE/C,GAAIL,EAAS,OAAO,KAEpB,OACEL,EAACgB,EAAKC,KAAIC,EAAA,CAACC,UAAWV,GAAqBvB,EAAI,CAAEwB,UAAWE,EAAe5B,SACxEoC,EAAepC,GACdgB,EAACnB,EAAuB,CACtBE,QAASA,EACTW,OAAQA,EACRC,MAAOA,EACPV,eAAgBA,EAAeD,SAE9BA,IAGHA,IAIR,EAEAoB,EAAgB,eAAiB"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/form-item-wrapper/form-item-wrapper.tsx"],"sourcesContent":["import { composeProps, isUndefinedOrNull, TAny, TPlainObject } from '@flatbiz/utils';\nimport { Form, FormItemProps } from 'antd';\nimport { cloneElement, isValidElement, ReactElement, ReactNode, useMemo } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { preDefinedClassName } from '../pre-defined-class-name';\nimport { TFormItemLayoutPreClassNameProps } from '../pre-defined-class-name/form';\n\nexport type FormItemWrapperProps = Omit<FormItemProps, 'hidden'> &\n TFormItemLayoutPreClassNameProps & {\n wrapper?: (children: ReactNode) => ReactElement;\n /** 设置wrapper后,before、after失效 */\n before?: ReactNode;\n /** 设置wrapper后,before、after失效 */\n after?: ReactNode;\n /** value 序列化处理 */\n inputNormalize?: (value?: TAny) => TAny;\n /**\n * onChange 参数序列化处理\n * 如果设置 normalize 属性,outputNormalize将失效\n */\n outputNormalize?: (value?: TAny) => TAny;\n /**\n * 隐藏 Form.Item,同时清除 Form.Item 值\n * ```\n * 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏\n * ```\n */\n isClear?: boolean | ((formValues: TPlainObject) => boolean);\n /**\n * 隐藏 Form.Item,不会清除值\n * ```\n * 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏\n * ```\n */\n hidden?: boolean | ((formValues: TPlainObject) => boolean);\n /**\n * 栅格占位格数,最大值:24\n * ```\n * 1. 当前FormItemWrapper处在 EasyForm 直接子节点中有效,即FormItemWrapper在EasyForm栅格中的占位格数;\n * 2. 父节点使用属性值,当前节点不使用属性值\n * ```\n */\n span?: number;\n };\n\ntype FormItemWrapperChildrenProps = Pick<\n FormItemWrapperProps,\n 'wrapper' | 'after' | 'before' | 'inputNormalize' | 'isClear'\n> & {\n children: ReactElement;\n value?: any;\n onChange?: (value?: any) => any;\n};\n\nconst FormItemWrapperChildren = (props: FormItemWrapperChildrenProps) => {\n const { wrapper, children, inputNormalize, isClear, ...rest } = props;\n // composeProps 合并执行 Form.Item 传的 onChange 以及组件本身的方法\n const hasValue = Object.prototype.hasOwnProperty.call(rest, 'value');\n if (hasValue && inputNormalize) {\n rest['value'] = inputNormalize(rest['value']);\n }\n const _children = cloneElement(children, composeProps(children.props, rest, true));\n\n fbaHooks.useEffectCustom(() => {\n if (isClear && !isUndefinedOrNull(props.value)) {\n props.onChange?.(undefined);\n }\n }, [isClear, props.value]);\n\n if (wrapper) {\n return wrapper(_children);\n }\n if (props.before || props.after) {\n return (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n {props.before ? <span style={{ marginRight: 10 }}>{props.before}</span> : null}\n <div style={{ flex: 1 }}>{_children}</div>\n {props.after ? <span style={{ marginLeft: 10 }}>{props.after}</span> : null}\n </div>\n );\n }\n return _children;\n};\n\n/**\n * 对 Form.Item 包装处理\n * ```\n * 1. 为 children 增加 before、after\n * 2. 对输入、输出数据进行序列化处理\n * 3. 内置布局样式使用 preDefinedClassName.formItem\n * 4. 设置隐藏域(不清除字段值) 使用hidden,存在依赖逻辑,可与dependencies属性配合使用\n * 5. 设置隐藏域(清除字段值)使用isClear,存在依赖逻辑,可与dependencies属性配合使用\n * ```\n */\nexport const FormItemWrapper = (props: FormItemWrapperProps) => {\n const {\n wrapper,\n isClear,\n labelWidth,\n labelItemVertical,\n labelAlign,\n children,\n before,\n after,\n inputNormalize,\n outputNormalize,\n className,\n dependencies,\n hidden,\n ...rest\n } = props;\n const form = Form.useFormInstance();\n const innerClassName = useMemo(() => {\n return preDefinedClassName.getFormItemLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign,\n className,\n });\n }, [labelWidth, labelItemVertical, labelAlign, className]);\n\n if (dependencies && dependencies?.length > 0) {\n return (\n <Form.Item dependencies={dependencies} noStyle>\n {(innerForm) => {\n const innerHidden = typeof hidden === 'function' ? hidden?.(innerForm.getFieldsValue()) : hidden;\n const innerIsClear =\n typeof isClear === 'function' ? isClear?.(innerForm.getFieldsValue()) : isClear;\n let rules = rest.rules;\n if (innerIsClear || innerHidden) {\n rules = [];\n }\n return (\n <Form.Item\n normalize={outputNormalize}\n {...rest}\n className={innerClassName}\n hidden={innerIsClear || innerHidden}\n rules={rules}\n >\n {isValidElement(children) ? (\n <FormItemWrapperChildren\n wrapper={wrapper}\n before={before}\n after={after}\n inputNormalize={inputNormalize}\n isClear={innerIsClear}\n >\n {children}\n </FormItemWrapperChildren>\n ) : (\n children\n )}\n </Form.Item>\n );\n }}\n </Form.Item>\n );\n }\n\n const innerHidden = typeof hidden === 'function' ? hidden(form.getFieldsValue()) : hidden;\n const innerIsClear = typeof isClear === 'function' ? isClear(form.getFieldsValue()) : isClear;\n\n return (\n <Form.Item\n normalize={outputNormalize}\n {...rest}\n className={innerClassName}\n hidden={innerHidden || innerIsClear}\n >\n {isValidElement(children) ? (\n <FormItemWrapperChildren\n wrapper={wrapper}\n before={before}\n after={after}\n inputNormalize={inputNormalize}\n isClear={innerIsClear}\n >\n {children}\n </FormItemWrapperChildren>\n ) : (\n children\n )}\n </Form.Item>\n );\n};\n\nFormItemWrapper['domTypeName'] = 'FormItemWrapper';\n"],"names":["FormItemWrapperChildren","props","wrapper","children","inputNormalize","isClear","rest","_objectWithoutPropertiesLoose","_excluded","hasValue","Object","prototype","hasOwnProperty","call","_children","cloneElement","composeProps","fbaHooks","useEffectCustom","isUndefinedOrNull","value","onChange","undefined","before","after","_jsxs","style","display","alignItems","_jsx","marginRight","flex","marginLeft","FormItemWrapper","labelWidth","labelItemVertical","labelAlign","outputNormalize","className","dependencies","hidden","_excluded2","form","Form","useFormInstance","innerClassName","useMemo","preDefinedClassName","getFormItemLayoutClassName","length","Item","noStyle","_children2","_x","apply","this","arguments","toString","innerForm","innerHidden","getFieldsValue","innerIsClear","rules","_extends","normalize","isValidElement"],"mappings":"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"}
@@ -1 +1 @@
1
- .form-item-label-70.ant-form-item .ant-form-item-label{width:70px}.form-item-label-80.ant-form-item .ant-form-item-label{width:80px}.form-item-label-90.ant-form-item .ant-form-item-label{width:90px}.form-item-label-100.ant-form-item .ant-form-item-label{width:100px}.form-item-label-110.ant-form-item .ant-form-item-label{width:110px}.form-item-label-120.ant-form-item .ant-form-item-label{width:120px}.form-item-label-130.ant-form-item .ant-form-item-label{width:130px}.form-item-label-140.ant-form-item .ant-form-item-label{width:140px}.form-item-label-150.ant-form-item .ant-form-item-label{width:150px}.form-item-label-160.ant-form-item .ant-form-item-label{width:160px}.form-item-label-170.ant-form-item .ant-form-item-label{width:170px}.form-item-label-180.ant-form-item .ant-form-item-label{width:180px}.form-item-label-190.ant-form-item .ant-form-item-label{width:190px}.form-item-label-200.ant-form-item .ant-form-item-label{width:200px}.form-item-label-auto.ant-form-item .ant-form-item-row{flex-direction:row!important}.form-item-label-auto.ant-form-item .ant-form-item-label{width:auto!important}.form-item-label-auto.ant-form-item .ant-form-item-control{flex:1}.form-item-label-align-left.ant-form-item .ant-form-item-label{text-align:left}.form-item-label-align-right.ant-form-item .ant-form-item-label{text-align:right}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row{flex-direction:column}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-label{text-align:left;width:100%}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-control{flex:initial}.form-label-70 .ant-form-item-label{width:70px}.form-label-80 .ant-form-item-label{width:80px}.form-label-90 .ant-form-item-label{width:90px}.form-label-100 .ant-form-item-label{width:100px}.form-label-110 .ant-form-item-label{width:110px}.form-label-120 .ant-form-item-label{width:120px}.form-label-130 .ant-form-item-label{width:130px}.form-label-140 .ant-form-item-label{width:140px}.form-label-150 .ant-form-item-label{width:150px}.form-label-160 .ant-form-item-label{width:160px}.form-label-170 .ant-form-item-label{width:170px}.form-label-180 .ant-form-item-label{width:180px}.form-label-190 .ant-form-item-label{width:190px}.form-label-200 .ant-form-item-label{width:200px}.form-label-auto .ant-form-item-label{width:auto}.form-label-align-left .ant-form-item-label{text-align:left}.form-label-align-right .ant-form-item-label{text-align:right}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-row{flex-direction:column}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-label{text-align:left;width:100%}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-control{flex:initial}.form-formitem-gap-24{margin-bottom:-24px}.form-formitem-gap-24 .ant-form-item{margin-bottom:24px}.form-formitem-gap-15{margin-bottom:-15px}.form-formitem-gap-15 .ant-form-item{margin-bottom:15px}.form-formitem-gap-8{margin-bottom:-8px}.form-formitem-gap-8 .ant-form-item{margin-bottom:8px}.form-formitem-gap-5{margin-bottom:-5px}.form-formitem-gap-5 .ant-form-item{margin-bottom:5px}.form-formitem-gap-0,.form-formitem-gap-0 .ant-form-item{margin-bottom:0}
1
+ .form-item-label-70.ant-form-item .ant-form-item-label{width:70px}.form-item-label-80.ant-form-item .ant-form-item-label{width:80px}.form-item-label-90.ant-form-item .ant-form-item-label{width:90px}.form-item-label-100.ant-form-item .ant-form-item-label{width:100px}.form-item-label-110.ant-form-item .ant-form-item-label{width:110px}.form-item-label-120.ant-form-item .ant-form-item-label{width:120px}.form-item-label-130.ant-form-item .ant-form-item-label{width:130px}.form-item-label-140.ant-form-item .ant-form-item-label{width:140px}.form-item-label-150.ant-form-item .ant-form-item-label{width:150px}.form-item-label-160.ant-form-item .ant-form-item-label{width:160px}.form-item-label-170.ant-form-item .ant-form-item-label{width:170px}.form-item-label-180.ant-form-item .ant-form-item-label{width:180px}.form-item-label-190.ant-form-item .ant-form-item-label{width:190px}.form-item-label-200.ant-form-item .ant-form-item-label{width:200px}.form-item-label-auto.ant-form-item .ant-form-item-row{flex-direction:row!important}.form-item-label-auto.ant-form-item .ant-form-item-label{width:auto!important}.form-item-label-auto.ant-form-item .ant-form-item-control{flex:1}.form-item-label-align-left.ant-form-item .ant-form-item-label{text-align:left}.form-item-label-align-right.ant-form-item .ant-form-item-label{text-align:right}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row{flex-direction:column}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-label{text-align:left;width:100%}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-control{flex:initial}.form-label-70 .ant-form-item-label{width:70px}.form-label-80 .ant-form-item-label{width:80px}.form-label-90 .ant-form-item-label{width:90px}.form-label-100 .ant-form-item-label{width:100px}.form-label-110 .ant-form-item-label{width:110px}.form-label-120 .ant-form-item-label{width:120px}.form-label-130 .ant-form-item-label{width:130px}.form-label-140 .ant-form-item-label{width:140px}.form-label-150 .ant-form-item-label{width:150px}.form-label-160 .ant-form-item-label{width:160px}.form-label-170 .ant-form-item-label{width:170px}.form-label-180 .ant-form-item-label{width:180px}.form-label-190 .ant-form-item-label{width:190px}.form-label-200 .ant-form-item-label{width:200px}.form-label-auto .ant-form-item-label{width:auto}.form-label-align-left .ant-form-item-label{text-align:left}.form-label-align-right .ant-form-item-label{text-align:right}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-row{flex-direction:column}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-label{text-align:left;width:100%}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-control{flex:initial}.form-formitem-gap-24 .ant-form-item{margin-bottom:24px}.form-formitem-gap-15 .ant-form-item{margin-bottom:15px}.form-formitem-gap-8 .ant-form-item{margin-bottom:8px}.form-formitem-gap-5 .ant-form-item{margin-bottom:5px}.form-formitem-gap-0 .ant-form-item{margin-bottom:0}
package/esm/index.js CHANGED
@@ -46,6 +46,7 @@ import './dialog-alert/index.css';
46
46
  import './dialog-drawer/index.css';
47
47
  import './dialog-drawer-content/index.css';
48
48
  import './dialog-loading/index.css';
49
+ import './dialog-preview-image/index.css';
49
50
  import './drag-collapse/index.css';
50
51
  import './drag-collapse-form-list/index.css';
51
52
  import './drag-editable-card/index.css';
@@ -137,5 +138,5 @@ import './tree-selector-wrapper/index.css';
137
138
  import './x-mind-preview/index.css';
138
139
  import './index.css';
139
140
  /*! @flatjs/forge MIT @flatbiz/antd */
140
- 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{BlockLayout}from"./block-layout/index.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{DeleteNode}from"./delete-node/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{DragEditableCard}from"./drag-editable-card/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragEditableTablePro}from"./drag-editable-table-pro/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{EditableCard}from"./editable-card/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{EditableTablePro}from"./editable-table-pro/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{FileExport}from"./file-export/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{FormItemSpan}from"./form-item-span/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{LabelValueRender}from"./label-value-render/index.js";export{LocalLoading}from"./local-loading/index.js";export{MentionEditor}from"./mention-editor/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{NumberRangeFormItem}from"./number-range-form-item/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{PaginationWrapper}from"./pagination-wrapper/index.js";export{Pdf}from"./pdf/index.js";export{PdfPreview}from"./pdf-preview/index.js";export{PdfPreview2}from"./pdf-preview2/index.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{TabsSticky}from"./tabs-sticky/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListRender}from"./tag-list-render/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{TreeModal}from"./tree-modal/index.js";export{TreeModalSelector}from"./tree-modal-selector/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";export{XMindPreview}from"./x-mind-preview/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"ace-builds/src-noconflict/ext-language_tools";import"ace-builds/src-noconflict/mode-groovy";import"ace-builds/src-noconflict/snippets/groovy";import"react/jsx-runtime";import"ace-builds/src-noconflict/mode-java";import"ace-builds/src-noconflict/snippets/java";import"ace-builds/src-noconflict/mode-json";import"ace-builds/src-noconflict/snippets/json";import"sql-formatter";import"ace-builds/src-noconflict/mode-mysql";import"ace-builds/src-noconflict/snippets/mysql";import"antd";import"xml-formatter";import"ace-builds/src-noconflict/mode-xml";import"ace-builds/src-noconflict/snippets/xml";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"@ant-design/icons/es/icons/CloseCircleFilled";import"@ant-design/icons/es/icons/DeleteOutlined";import"react-dom/client";import"./context-1f2093c6.js";import"./dom-4d04aa64.js";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/PlusOutlined";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-62955871.js";import"@dimjs/lang/cjs/is-boolean";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/QuestionCircleFilled";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";import"simple-mind-map";
141
+ 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{BlockLayout}from"./block-layout/index.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{DeleteNode}from"./delete-node/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{dialogPreviewImage}from"./dialog-preview-image/index.js";export{DragCollapse}from"./drag-collapse/index.js";export{DragCollapseFormList}from"./drag-collapse-form-list/index.js";export{DragEditableCard}from"./drag-editable-card/index.js";export{DragEditableTable}from"./drag-editable-table/index.js";export{DragEditableTablePro}from"./drag-editable-table-pro/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{EditableCard}from"./editable-card/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{EditableTablePro}from"./editable-table-pro/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{FileExport}from"./file-export/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{FormItemSpan}from"./form-item-span/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{LabelValueRender}from"./label-value-render/index.js";export{LocalLoading}from"./local-loading/index.js";export{MentionEditor}from"./mention-editor/index.js";export{MentionsWrapper}from"./mentions-wrapper/index.js";export{ModalAction}from"./modal-action/index.js";export{ModalWrapper}from"./modal-wrapper/index.js";export{NumberRangeFormItem}from"./number-range-form-item/index.js";export{PageFixedFooter}from"./page-fixed-footer/index.js";export{Page404}from"./page404/index.js";export{PaginationWrapper}from"./pagination-wrapper/index.js";export{Pdf}from"./pdf/index.js";export{PdfPreview}from"./pdf-preview/index.js";export{PdfPreview2}from"./pdf-preview2/index.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{TabsSticky}from"./tabs-sticky/index.js";export{TabsWrapper}from"./tabs-wrapper/index.js";export{TagGroup}from"./tag-group/index.js";export{TagListRender}from"./tag-list-render/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{TreeModal}from"./tree-modal/index.js";export{TreeModalSelector}from"./tree-modal-selector/index.js";export{TreeSelectorWrapper}from"./tree-selector-wrapper/index.js";export{TreeWrapper}from"./tree-wrapper/index.js";export{UploadWrapper}from"./upload-wrapper/index.js";export{XMindPreview}from"./x-mind-preview/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"ace-builds/src-noconflict/ext-language_tools";import"ace-builds/src-noconflict/mode-groovy";import"ace-builds/src-noconflict/snippets/groovy";import"react/jsx-runtime";import"ace-builds/src-noconflict/mode-java";import"ace-builds/src-noconflict/snippets/java";import"ace-builds/src-noconflict/mode-json";import"ace-builds/src-noconflict/snippets/json";import"sql-formatter";import"ace-builds/src-noconflict/mode-mysql";import"ace-builds/src-noconflict/snippets/mysql";import"antd";import"xml-formatter";import"ace-builds/src-noconflict/mode-xml";import"ace-builds/src-noconflict/snippets/xml";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"@ant-design/icons/es/icons/CloseCircleFilled";import"@ant-design/icons/es/icons/DeleteOutlined";import"react-dom/client";import"./context-1f2093c6.js";import"./dom-4d04aa64.js";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/PlusOutlined";import"@ant-design/icons/es/icons/CloseOutlined";import"@ant-design/icons/es/icons/CheckOutlined";import"@ant-design/icons/es/icons/EditOutlined";import"./context-62955871.js";import"@dimjs/lang/cjs/is-boolean";import"@wove/react/cjs/editor";import"./use-responsive-point-21b8c601.js";import"@ant-design/icons/es/icons/QuestionCircleFilled";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";import"simple-mind-map";
141
142
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,9 @@
1
1
  /* eslint-disable */
2
2
  import './../form-item-wrapper/index.css';
3
+ import './../fba-hooks/index.css';
3
4
  import './../pre-defined-class-name/index.css';
4
5
  import './../types/index.css';
5
6
  import './index.css';
6
7
  /*! @flatjs/forge MIT @flatbiz/antd */
7
- import{a as e,_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isNotEmptyArray as i,isEmptyArray as n,isUndefinedOrNull as t}from"@flatbiz/utils";import{InputNumber as s}from"antd";import{useMemo as o}from"react";import{FlexLayout as m}from"../flex-layout/index.js";import{FormItemWrapper as u}from"../form-item-wrapper/index.js";import{jsx as a,jsxs as l}from"react/jsx-runtime";import"@dimjs/utils/cjs/class-names";import"../pre-defined-class-name/index.js";var d=["minFormItemName","maxFormItemName","required","requiredRuleMessage","rangeRuleMessage","minInputNumberProps","maxInputNumberProps","isInputEqual"];var f=function f(p){var c=p.minFormItemName,v=p.maxFormItemName,P=p.required,g=p.requiredRuleMessage,x=p.rangeRuleMessage,I=p.minInputNumberProps,h=p.maxInputNumberProps,j=p.isInputEqual,q=e(p,d);var N=o((function(){if(!x)return["最小值输入不能超过最大值","最大值输入不能低于最小值"];if(i(x)){return[x[0],x[1]||x[0]]}return[x,x]}),[x]);var y=o((function(){if(!g||n(g))return[];if(i(g)){return[g[0],g[1]||g[0]]}return[g,g]}),[g]);var b=[{required:P,message:y[0]||""},function(e){var r=e.getFieldValue;return{validator:function e(i,n){if(t(n)){return Promise.resolve()}var s=r(v);if(t(s)){return Promise.resolve()}if(j){if(n<=s){return Promise.resolve()}}else{if(n<s){return Promise.resolve()}}return Promise.reject(new Error(N[0]))}}}];var F=[{required:P,message:y[1]||""},function(e){var r=e.getFieldValue;return{validator:function e(i,n){if(t(n)){return Promise.resolve()}var s=r(c);if(t(s)){return Promise.resolve()}if(j){if(n>=s){return Promise.resolve()}}else{if(n>s){return Promise.resolve()}}return Promise.reject(new Error(N[1]))}}}];return a(u,r({},q,{required:P,children:l(m,{fullIndex:[0,1],direction:"horizontal",gap:10,children:[a(u,{name:c,dependencies:[v],rules:b,style:{margin:0},children:a(s,r({placeholder:"请输入"},I,{style:r({width:"100%"},I==null?void 0:I.style)}))}),a(u,{name:v,dependencies:[c],rules:F,style:{margin:0},children:a(s,r({placeholder:"请输入"},h,{style:r({width:"100%"},h==null?void 0:h.style)}))})]})}))};export{f as NumberRangeFormItem};
8
+ import{a as e,_ as r}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isNotEmptyArray as i,isEmptyArray as n,isUndefinedOrNull as t}from"@flatbiz/utils";import{InputNumber as s}from"antd";import{useMemo as o}from"react";import{FlexLayout as m}from"../flex-layout/index.js";import{FormItemWrapper as u}from"../form-item-wrapper/index.js";import{jsx as a,jsxs as l}from"react/jsx-runtime";import"@dimjs/utils/cjs/class-names";import"../fba-hooks/index.js";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";import"../pre-defined-class-name/index.js";var d=["minFormItemName","maxFormItemName","required","requiredRuleMessage","rangeRuleMessage","minInputNumberProps","maxInputNumberProps","isInputEqual"];var p=function p(f){var c=f.minFormItemName,v=f.maxFormItemName,g=f.required,P=f.requiredRuleMessage,j=f.rangeRuleMessage,x=f.minInputNumberProps,h=f.maxInputNumberProps,I=f.isInputEqual,q=e(f,d);var y=o((function(){if(!j)return["最小值输入不能超过最大值","最大值输入不能低于最小值"];if(i(j)){return[j[0],j[1]||j[0]]}return[j,j]}),[j]);var N=o((function(){if(!P||n(P))return[];if(i(P)){return[P[0],P[1]||P[0]]}return[P,P]}),[P]);var b=[{required:g,message:N[0]||""},function(e){var r=e.getFieldValue;return{validator:function e(i,n){if(t(n)){return Promise.resolve()}var s=r(v);if(t(s)){return Promise.resolve()}if(I){if(n<=s){return Promise.resolve()}}else{if(n<s){return Promise.resolve()}}return Promise.reject(new Error(y[0]))}}}];var w=[{required:g,message:N[1]||""},function(e){var r=e.getFieldValue;return{validator:function e(i,n){if(t(n)){return Promise.resolve()}var s=r(c);if(t(s)){return Promise.resolve()}if(I){if(n>=s){return Promise.resolve()}}else{if(n>s){return Promise.resolve()}}return Promise.reject(new Error(y[1]))}}}];return a(u,r({},q,{required:g,children:l(m,{fullIndex:[0,1],direction:"horizontal",gap:10,children:[a(u,{name:c,dependencies:[v],rules:b,style:{margin:0},children:a(s,r({placeholder:"请输入"},x,{style:r({width:"100%"},x==null?void 0:x.style)}))}),a(u,{name:v,dependencies:[c],rules:w,style:{margin:0},children:a(s,r({placeholder:"请输入"},h,{style:r({width:"100%"},h==null?void 0:h.style)}))})]})}))};export{p as NumberRangeFormItem};
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/number-range-form-item/number-range.tsx"],"sourcesContent":["import { isEmptyArray, isNotEmptyArray, isUndefinedOrNull } from '@flatbiz/utils';\nimport { InputNumber, InputNumberProps } from 'antd';\nimport { useMemo } from 'react';\nimport { FlexLayout } from '../flex-layout/flex-layout';\nimport { FormItemWrapper, type FormItemWrapperProps } from '../form-item-wrapper';\nimport type { FormItemNamePath } from '../types';\n\n// type InputNumberProps = GetProps<typeof InputNumber>;\n\nexport type NumberRangeFormItemProps = Omit<FormItemWrapperProps, 'name' | 'rules'> & {\n minFormItemName: FormItemNamePath;\n maxFormItemName: FormItemNamePath;\n /** 是否必填 */\n required?: boolean;\n /** 必填验证异常文案 */\n requiredRuleMessage?: string | [string, string];\n /** 范围验证异常文案 */\n rangeRuleMessage?: string | [string, string];\n minInputNumberProps?: Omit<InputNumberProps, 'value'>;\n maxInputNumberProps?: Omit<InputNumberProps, 'value'>;\n /** 最小值与最大值输入是否可以相同 */\n isInputEqual?: boolean;\n};\n/**\n * 数字输入范围组件\n */\nexport const NumberRangeFormItem = (props: NumberRangeFormItemProps) => {\n const {\n minFormItemName,\n maxFormItemName,\n required,\n requiredRuleMessage,\n rangeRuleMessage,\n minInputNumberProps,\n maxInputNumberProps,\n isInputEqual,\n ...otherProps\n } = props;\n\n const rangeRuleMessageList = useMemo(() => {\n if (!rangeRuleMessage) return ['最小值输入不能超过最大值', '最大值输入不能低于最小值'];\n if (isNotEmptyArray(rangeRuleMessage)) {\n return [rangeRuleMessage[0], rangeRuleMessage[1] || rangeRuleMessage[0]];\n }\n return [rangeRuleMessage, rangeRuleMessage] as string[];\n }, [rangeRuleMessage]);\n\n const requiredRuleMessageList = useMemo(() => {\n if (!requiredRuleMessage || isEmptyArray(requiredRuleMessage)) return [];\n if (isNotEmptyArray(requiredRuleMessage)) {\n return [requiredRuleMessage[0], requiredRuleMessage[1] || requiredRuleMessage[0]];\n }\n return [requiredRuleMessage, requiredRuleMessage] as string[];\n }, [requiredRuleMessage]);\n\n const minRules = [\n { required: required, message: requiredRuleMessageList[0] || '' },\n ({ getFieldValue }) => ({\n validator(_, value) {\n if (isUndefinedOrNull(value)) {\n return Promise.resolve();\n }\n const maxValue = getFieldValue(maxFormItemName);\n if (isUndefinedOrNull(maxValue)) {\n return Promise.resolve();\n }\n if (isInputEqual) {\n if (value <= maxValue) {\n return Promise.resolve();\n }\n } else {\n if (value < maxValue) {\n return Promise.resolve();\n }\n }\n return Promise.reject(new Error(rangeRuleMessageList[0]));\n },\n }),\n ];\n\n const maxRules = [\n { required: required, message: requiredRuleMessageList[1] || '' },\n ({ getFieldValue }) => ({\n validator(_, value) {\n if (isUndefinedOrNull(value)) {\n return Promise.resolve();\n }\n const minValue = getFieldValue(minFormItemName);\n if (isUndefinedOrNull(minValue)) {\n return Promise.resolve();\n }\n\n if (isInputEqual) {\n if (value >= minValue) {\n return Promise.resolve();\n }\n } else {\n if (value > minValue) {\n return Promise.resolve();\n }\n }\n return Promise.reject(new Error(rangeRuleMessageList[1]));\n },\n }),\n ];\n\n return (\n <FormItemWrapper {...otherProps} required={required}>\n <FlexLayout fullIndex={[0, 1]} direction=\"horizontal\" gap={10}>\n <FormItemWrapper\n name={minFormItemName}\n dependencies={[maxFormItemName]}\n rules={minRules}\n style={{ margin: 0 }}\n >\n <InputNumber\n placeholder=\"请输入\"\n {...minInputNumberProps}\n style={{ width: '100%', ...minInputNumberProps?.style }}\n />\n </FormItemWrapper>\n <FormItemWrapper\n name={maxFormItemName}\n dependencies={[minFormItemName]}\n rules={maxRules}\n style={{ margin: 0 }}\n >\n <InputNumber\n placeholder=\"请输入\"\n {...maxInputNumberProps}\n style={{ width: '100%', ...maxInputNumberProps?.style }}\n />\n </FormItemWrapper>\n </FlexLayout>\n </FormItemWrapper>\n );\n};\n"],"names":["NumberRangeFormItem","props","minFormItemName","maxFormItemName","required","requiredRuleMessage","rangeRuleMessage","minInputNumberProps","maxInputNumberProps","isInputEqual","otherProps","_objectWithoutPropertiesLoose","_excluded","rangeRuleMessageList","useMemo","isNotEmptyArray","requiredRuleMessageList","isEmptyArray","minRules","message","_ref","getFieldValue","validator","_","value","isUndefinedOrNull","Promise","resolve","maxValue","reject","Error","maxRules","_ref2","minValue","_jsx","FormItemWrapper","_extends","children","_jsxs","FlexLayout","fullIndex","direction","gap","name","dependencies","rules","style","margin","InputNumber","placeholder","width"],"mappings":";unBA0BaA,EAAsB,SAAtBA,EAAuBC,GAClC,IACEC,EASED,EATFC,gBACAC,EAQEF,EARFE,gBACAC,EAOEH,EAPFG,SACAC,EAMEJ,EANFI,oBACAC,EAKEL,EALFK,iBACAC,EAIEN,EAJFM,oBACAC,EAGEP,EAHFO,oBACAC,EAEER,EAFFQ,aACGC,EAAUC,EACXV,EAAKW,GAET,IAAMC,EAAuBC,GAAQ,WACnC,IAAKR,EAAkB,MAAO,CAAC,eAAgB,gBAC/C,GAAIS,EAAgBT,GAAmB,CACrC,MAAO,CAACA,EAAiB,GAAIA,EAAiB,IAAMA,EAAiB,GACvE,CACA,MAAO,CAACA,EAAkBA,EAC5B,GAAG,CAACA,IAEJ,IAAMU,EAA0BF,GAAQ,WACtC,IAAKT,GAAuBY,EAAaZ,GAAsB,MAAO,GACtE,GAAIU,EAAgBV,GAAsB,CACxC,MAAO,CAACA,EAAoB,GAAIA,EAAoB,IAAMA,EAAoB,GAChF,CACA,MAAO,CAACA,EAAqBA,EAC/B,GAAG,CAACA,IAEJ,IAAMa,EAAW,CACf,CAAEd,SAAUA,EAAUe,QAASH,EAAwB,IAAM,IAC7D,SAAAI,GAAA,IAAGC,EAAaD,EAAbC,cAAa,MAAQ,CACtBC,UAASA,SAAAA,EAACC,EAAGC,GACX,GAAIC,EAAkBD,GAAQ,CAC5B,OAAOE,QAAQC,SACjB,CACA,IAAMC,EAAWP,EAAclB,GAC/B,GAAIsB,EAAkBG,GAAW,CAC/B,OAAOF,QAAQC,SACjB,CACA,GAAIlB,EAAc,CAChB,GAAIe,GAASI,EAAU,CACrB,OAAOF,QAAQC,SACjB,CACF,KAAO,CACL,GAAIH,EAAQI,EAAU,CACpB,OAAOF,QAAQC,SACjB,CACF,CACA,OAAOD,QAAQG,OAAO,IAAIC,MAAMjB,EAAqB,IACvD,EACD,GAGH,IAAMkB,EAAW,CACf,CAAE3B,SAAUA,EAAUe,QAASH,EAAwB,IAAM,IAC7D,SAAAgB,GAAA,IAAGX,EAAaW,EAAbX,cAAa,MAAQ,CACtBC,UAASA,SAAAA,EAACC,EAAGC,GACX,GAAIC,EAAkBD,GAAQ,CAC5B,OAAOE,QAAQC,SACjB,CACA,IAAMM,EAAWZ,EAAcnB,GAC/B,GAAIuB,EAAkBQ,GAAW,CAC/B,OAAOP,QAAQC,SACjB,CAEA,GAAIlB,EAAc,CAChB,GAAIe,GAASS,EAAU,CACrB,OAAOP,QAAQC,SACjB,CACF,KAAO,CACL,GAAIH,EAAQS,EAAU,CACpB,OAAOP,QAAQC,SACjB,CACF,CACA,OAAOD,QAAQG,OAAO,IAAIC,MAAMjB,EAAqB,IACvD,EACD,GAGH,OACEqB,EAACC,EAAeC,KAAK1B,EAAU,CAAEN,SAAUA,EAASiC,SAClDC,EAACC,EAAU,CAACC,UAAW,CAAC,EAAG,GAAIC,UAAU,aAAaC,IAAK,GAAGL,SAAA,CAC5DH,EAACC,EAAe,CACdQ,KAAMzC,EACN0C,aAAc,CAACzC,GACf0C,MAAO3B,EACP4B,MAAO,CAAEC,OAAQ,GAAIV,SAErBH,EAACc,EAAWZ,EAAA,CACVa,YAAY,OACR1C,EAAmB,CACvBuC,MAAKV,EAAA,CAAIc,MAAO,QAAW3C,GAAmB,UAAA,EAAnBA,EAAqBuC,YAGpDZ,EAACC,EAAe,CACdQ,KAAMxC,EACNyC,aAAc,CAAC1C,GACf2C,MAAOd,EACPe,MAAO,CAAEC,OAAQ,GAAIV,SAErBH,EAACc,EAAWZ,EAAA,CACVa,YAAY,OACRzC,EAAmB,CACvBsC,MAAKV,EAAA,CAAIc,MAAO,QAAW1C,GAAmB,UAAA,EAAnBA,EAAqBsC,iBAM5D"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/number-range-form-item/number-range.tsx"],"sourcesContent":["import { isEmptyArray, isNotEmptyArray, isUndefinedOrNull } from '@flatbiz/utils';\nimport { InputNumber, InputNumberProps } from 'antd';\nimport { useMemo } from 'react';\nimport { FlexLayout } from '../flex-layout/flex-layout';\nimport { FormItemWrapper, type FormItemWrapperProps } from '../form-item-wrapper';\nimport type { FormItemNamePath } from '../types';\n\n// type InputNumberProps = GetProps<typeof InputNumber>;\n\nexport type NumberRangeFormItemProps = Omit<FormItemWrapperProps, 'name' | 'rules'> & {\n minFormItemName: FormItemNamePath;\n maxFormItemName: FormItemNamePath;\n /** 是否必填 */\n required?: boolean;\n /** 必填验证异常文案 */\n requiredRuleMessage?: string | [string, string];\n /** 范围验证异常文案 */\n rangeRuleMessage?: string | [string, string];\n minInputNumberProps?: Omit<InputNumberProps, 'value'>;\n maxInputNumberProps?: Omit<InputNumberProps, 'value'>;\n /** 最小值与最大值输入是否可以相同 */\n isInputEqual?: boolean;\n};\n/**\n * 数字输入范围组件\n */\nexport const NumberRangeFormItem = (props: NumberRangeFormItemProps) => {\n const {\n minFormItemName,\n maxFormItemName,\n required,\n requiredRuleMessage,\n rangeRuleMessage,\n minInputNumberProps,\n maxInputNumberProps,\n isInputEqual,\n ...otherProps\n } = props;\n\n const rangeRuleMessageList = useMemo(() => {\n if (!rangeRuleMessage) return ['最小值输入不能超过最大值', '最大值输入不能低于最小值'];\n if (isNotEmptyArray(rangeRuleMessage)) {\n return [rangeRuleMessage[0], rangeRuleMessage[1] || rangeRuleMessage[0]];\n }\n return [rangeRuleMessage, rangeRuleMessage] as string[];\n }, [rangeRuleMessage]);\n\n const requiredRuleMessageList = useMemo(() => {\n if (!requiredRuleMessage || isEmptyArray(requiredRuleMessage)) return [];\n if (isNotEmptyArray(requiredRuleMessage)) {\n return [requiredRuleMessage[0], requiredRuleMessage[1] || requiredRuleMessage[0]];\n }\n return [requiredRuleMessage, requiredRuleMessage] as string[];\n }, [requiredRuleMessage]);\n\n const minRules = [\n { required: required, message: requiredRuleMessageList[0] || '' },\n ({ getFieldValue }) => ({\n validator(_, value) {\n if (isUndefinedOrNull(value)) {\n return Promise.resolve();\n }\n const maxValue = getFieldValue(maxFormItemName);\n if (isUndefinedOrNull(maxValue)) {\n return Promise.resolve();\n }\n if (isInputEqual) {\n if (value <= maxValue) {\n return Promise.resolve();\n }\n } else {\n if (value < maxValue) {\n return Promise.resolve();\n }\n }\n return Promise.reject(new Error(rangeRuleMessageList[0]));\n },\n }),\n ];\n\n const maxRules = [\n { required: required, message: requiredRuleMessageList[1] || '' },\n ({ getFieldValue }) => ({\n validator(_, value) {\n if (isUndefinedOrNull(value)) {\n return Promise.resolve();\n }\n const minValue = getFieldValue(minFormItemName);\n if (isUndefinedOrNull(minValue)) {\n return Promise.resolve();\n }\n\n if (isInputEqual) {\n if (value >= minValue) {\n return Promise.resolve();\n }\n } else {\n if (value > minValue) {\n return Promise.resolve();\n }\n }\n return Promise.reject(new Error(rangeRuleMessageList[1]));\n },\n }),\n ];\n\n return (\n <FormItemWrapper {...otherProps} required={required}>\n <FlexLayout fullIndex={[0, 1]} direction=\"horizontal\" gap={10}>\n <FormItemWrapper\n name={minFormItemName}\n dependencies={[maxFormItemName]}\n rules={minRules}\n style={{ margin: 0 }}\n >\n <InputNumber\n placeholder=\"请输入\"\n {...minInputNumberProps}\n style={{ width: '100%', ...minInputNumberProps?.style }}\n />\n </FormItemWrapper>\n <FormItemWrapper\n name={maxFormItemName}\n dependencies={[minFormItemName]}\n rules={maxRules}\n style={{ margin: 0 }}\n >\n <InputNumber\n placeholder=\"请输入\"\n {...maxInputNumberProps}\n style={{ width: '100%', ...maxInputNumberProps?.style }}\n />\n </FormItemWrapper>\n </FlexLayout>\n </FormItemWrapper>\n );\n};\n"],"names":["NumberRangeFormItem","props","minFormItemName","maxFormItemName","required","requiredRuleMessage","rangeRuleMessage","minInputNumberProps","maxInputNumberProps","isInputEqual","otherProps","_objectWithoutPropertiesLoose","_excluded","rangeRuleMessageList","useMemo","isNotEmptyArray","requiredRuleMessageList","isEmptyArray","minRules","message","_ref","getFieldValue","validator","_","value","isUndefinedOrNull","Promise","resolve","maxValue","reject","Error","maxRules","_ref2","minValue","_jsx","FormItemWrapper","_extends","children","_jsxs","FlexLayout","fullIndex","direction","gap","name","dependencies","rules","style","margin","InputNumber","placeholder","width"],"mappings":";gwBA0BaA,EAAsB,SAAtBA,EAAuBC,GAClC,IACEC,EASED,EATFC,gBACAC,EAQEF,EARFE,gBACAC,EAOEH,EAPFG,SACAC,EAMEJ,EANFI,oBACAC,EAKEL,EALFK,iBACAC,EAIEN,EAJFM,oBACAC,EAGEP,EAHFO,oBACAC,EAEER,EAFFQ,aACGC,EAAUC,EACXV,EAAKW,GAET,IAAMC,EAAuBC,GAAQ,WACnC,IAAKR,EAAkB,MAAO,CAAC,eAAgB,gBAC/C,GAAIS,EAAgBT,GAAmB,CACrC,MAAO,CAACA,EAAiB,GAAIA,EAAiB,IAAMA,EAAiB,GACvE,CACA,MAAO,CAACA,EAAkBA,EAC5B,GAAG,CAACA,IAEJ,IAAMU,EAA0BF,GAAQ,WACtC,IAAKT,GAAuBY,EAAaZ,GAAsB,MAAO,GACtE,GAAIU,EAAgBV,GAAsB,CACxC,MAAO,CAACA,EAAoB,GAAIA,EAAoB,IAAMA,EAAoB,GAChF,CACA,MAAO,CAACA,EAAqBA,EAC/B,GAAG,CAACA,IAEJ,IAAMa,EAAW,CACf,CAAEd,SAAUA,EAAUe,QAASH,EAAwB,IAAM,IAC7D,SAAAI,GAAA,IAAGC,EAAaD,EAAbC,cAAa,MAAQ,CACtBC,UAASA,SAAAA,EAACC,EAAGC,GACX,GAAIC,EAAkBD,GAAQ,CAC5B,OAAOE,QAAQC,SACjB,CACA,IAAMC,EAAWP,EAAclB,GAC/B,GAAIsB,EAAkBG,GAAW,CAC/B,OAAOF,QAAQC,SACjB,CACA,GAAIlB,EAAc,CAChB,GAAIe,GAASI,EAAU,CACrB,OAAOF,QAAQC,SACjB,CACF,KAAO,CACL,GAAIH,EAAQI,EAAU,CACpB,OAAOF,QAAQC,SACjB,CACF,CACA,OAAOD,QAAQG,OAAO,IAAIC,MAAMjB,EAAqB,IACvD,EACD,GAGH,IAAMkB,EAAW,CACf,CAAE3B,SAAUA,EAAUe,QAASH,EAAwB,IAAM,IAC7D,SAAAgB,GAAA,IAAGX,EAAaW,EAAbX,cAAa,MAAQ,CACtBC,UAASA,SAAAA,EAACC,EAAGC,GACX,GAAIC,EAAkBD,GAAQ,CAC5B,OAAOE,QAAQC,SACjB,CACA,IAAMM,EAAWZ,EAAcnB,GAC/B,GAAIuB,EAAkBQ,GAAW,CAC/B,OAAOP,QAAQC,SACjB,CAEA,GAAIlB,EAAc,CAChB,GAAIe,GAASS,EAAU,CACrB,OAAOP,QAAQC,SACjB,CACF,KAAO,CACL,GAAIH,EAAQS,EAAU,CACpB,OAAOP,QAAQC,SACjB,CACF,CACA,OAAOD,QAAQG,OAAO,IAAIC,MAAMjB,EAAqB,IACvD,EACD,GAGH,OACEqB,EAACC,EAAeC,KAAK1B,EAAU,CAAEN,SAAUA,EAASiC,SAClDC,EAACC,EAAU,CAACC,UAAW,CAAC,EAAG,GAAIC,UAAU,aAAaC,IAAK,GAAGL,SAAA,CAC5DH,EAACC,EAAe,CACdQ,KAAMzC,EACN0C,aAAc,CAACzC,GACf0C,MAAO3B,EACP4B,MAAO,CAAEC,OAAQ,GAAIV,SAErBH,EAACc,EAAWZ,EAAA,CACVa,YAAY,OACR1C,EAAmB,CACvBuC,MAAKV,EAAA,CAAIc,MAAO,QAAW3C,GAAmB,UAAA,EAAnBA,EAAqBuC,YAGpDZ,EAACC,EAAe,CACdQ,KAAMxC,EACNyC,aAAc,CAAC1C,GACf2C,MAAOd,EACPe,MAAO,CAAEC,OAAQ,GAAIV,SAErBH,EAACc,EAAWZ,EAAA,CACVa,YAAY,OACRzC,EAAmB,CACvBsC,MAAKV,EAAA,CAAIc,MAAO,QAAW1C,GAAmB,UAAA,EAAnBA,EAAqBsC,iBAM5D"}
@@ -1 +1 @@
1
- .form-item-label-70.ant-form-item .ant-form-item-label{width:70px}.form-item-label-80.ant-form-item .ant-form-item-label{width:80px}.form-item-label-90.ant-form-item .ant-form-item-label{width:90px}.form-item-label-100.ant-form-item .ant-form-item-label{width:100px}.form-item-label-110.ant-form-item .ant-form-item-label{width:110px}.form-item-label-120.ant-form-item .ant-form-item-label{width:120px}.form-item-label-130.ant-form-item .ant-form-item-label{width:130px}.form-item-label-140.ant-form-item .ant-form-item-label{width:140px}.form-item-label-150.ant-form-item .ant-form-item-label{width:150px}.form-item-label-160.ant-form-item .ant-form-item-label{width:160px}.form-item-label-170.ant-form-item .ant-form-item-label{width:170px}.form-item-label-180.ant-form-item .ant-form-item-label{width:180px}.form-item-label-190.ant-form-item .ant-form-item-label{width:190px}.form-item-label-200.ant-form-item .ant-form-item-label{width:200px}.form-item-label-auto.ant-form-item .ant-form-item-row{flex-direction:row!important}.form-item-label-auto.ant-form-item .ant-form-item-label{width:auto!important}.form-item-label-auto.ant-form-item .ant-form-item-control{flex:1}.form-item-label-align-left.ant-form-item .ant-form-item-label{text-align:left}.form-item-label-align-right.ant-form-item .ant-form-item-label{text-align:right}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row{flex-direction:column}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-label{text-align:left;width:100%}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-control{flex:initial}.form-label-70 .ant-form-item-label{width:70px}.form-label-80 .ant-form-item-label{width:80px}.form-label-90 .ant-form-item-label{width:90px}.form-label-100 .ant-form-item-label{width:100px}.form-label-110 .ant-form-item-label{width:110px}.form-label-120 .ant-form-item-label{width:120px}.form-label-130 .ant-form-item-label{width:130px}.form-label-140 .ant-form-item-label{width:140px}.form-label-150 .ant-form-item-label{width:150px}.form-label-160 .ant-form-item-label{width:160px}.form-label-170 .ant-form-item-label{width:170px}.form-label-180 .ant-form-item-label{width:180px}.form-label-190 .ant-form-item-label{width:190px}.form-label-200 .ant-form-item-label{width:200px}.form-label-auto .ant-form-item-label{width:auto}.form-label-align-left .ant-form-item-label{text-align:left}.form-label-align-right .ant-form-item-label{text-align:right}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-row{flex-direction:column}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-label{text-align:left;width:100%}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-control{flex:initial}.form-formitem-gap-24{margin-bottom:-24px}.form-formitem-gap-24 .ant-form-item{margin-bottom:24px}.form-formitem-gap-15{margin-bottom:-15px}.form-formitem-gap-15 .ant-form-item{margin-bottom:15px}.form-formitem-gap-8{margin-bottom:-8px}.form-formitem-gap-8 .ant-form-item{margin-bottom:8px}.form-formitem-gap-5{margin-bottom:-5px}.form-formitem-gap-5 .ant-form-item{margin-bottom:5px}.form-formitem-gap-0,.form-formitem-gap-0 .ant-form-item{margin-bottom:0}
1
+ .form-item-label-70.ant-form-item .ant-form-item-label{width:70px}.form-item-label-80.ant-form-item .ant-form-item-label{width:80px}.form-item-label-90.ant-form-item .ant-form-item-label{width:90px}.form-item-label-100.ant-form-item .ant-form-item-label{width:100px}.form-item-label-110.ant-form-item .ant-form-item-label{width:110px}.form-item-label-120.ant-form-item .ant-form-item-label{width:120px}.form-item-label-130.ant-form-item .ant-form-item-label{width:130px}.form-item-label-140.ant-form-item .ant-form-item-label{width:140px}.form-item-label-150.ant-form-item .ant-form-item-label{width:150px}.form-item-label-160.ant-form-item .ant-form-item-label{width:160px}.form-item-label-170.ant-form-item .ant-form-item-label{width:170px}.form-item-label-180.ant-form-item .ant-form-item-label{width:180px}.form-item-label-190.ant-form-item .ant-form-item-label{width:190px}.form-item-label-200.ant-form-item .ant-form-item-label{width:200px}.form-item-label-auto.ant-form-item .ant-form-item-row{flex-direction:row!important}.form-item-label-auto.ant-form-item .ant-form-item-label{width:auto!important}.form-item-label-auto.ant-form-item .ant-form-item-control{flex:1}.form-item-label-align-left.ant-form-item .ant-form-item-label{text-align:left}.form-item-label-align-right.ant-form-item .ant-form-item-label{text-align:right}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row{flex-direction:column}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-label{text-align:left;width:100%}.ant-form-item.form-item-label-value-vertical>.ant-form-item-row>.ant-form-item-control{flex:initial}.form-label-70 .ant-form-item-label{width:70px}.form-label-80 .ant-form-item-label{width:80px}.form-label-90 .ant-form-item-label{width:90px}.form-label-100 .ant-form-item-label{width:100px}.form-label-110 .ant-form-item-label{width:110px}.form-label-120 .ant-form-item-label{width:120px}.form-label-130 .ant-form-item-label{width:130px}.form-label-140 .ant-form-item-label{width:140px}.form-label-150 .ant-form-item-label{width:150px}.form-label-160 .ant-form-item-label{width:160px}.form-label-170 .ant-form-item-label{width:170px}.form-label-180 .ant-form-item-label{width:180px}.form-label-190 .ant-form-item-label{width:190px}.form-label-200 .ant-form-item-label{width:200px}.form-label-auto .ant-form-item-label{width:auto}.form-label-align-left .ant-form-item-label{text-align:left}.form-label-align-right .ant-form-item-label{text-align:right}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-row{flex-direction:column}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-label{text-align:left;width:100%}.form-label-value-vertical .ant-form-item:not(.form-item-label-auto) .ant-form-item-control{flex:initial}.form-formitem-gap-24 .ant-form-item{margin-bottom:24px}.form-formitem-gap-15 .ant-form-item{margin-bottom:15px}.form-formitem-gap-8 .ant-form-item{margin-bottom:8px}.form-formitem-gap-5 .ant-form-item{margin-bottom:5px}.form-formitem-gap-0 .ant-form-item{margin-bottom:0}
@@ -3,5 +3,5 @@ import './../request-status/index.css';
3
3
  import './../fba-hooks/index.css';
4
4
  import './index.css';
5
5
  /*! @flatjs/forge MIT @flatbiz/antd */
6
- import e from"@ant-design/icons/es/icons/RedoOutlined";import{isString as r}from"@dimjs/lang/cjs/is-string";import{hooks as n}from"@wove/react/cjs/hooks";import{a as t,_ as o}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isUndefinedOrNull as s,toArray as u,valueIsEqual as i,arrayFind as a}from"@flatbiz/utils";import{Select as l,Button as c}from"antd";import{useState as f,useMemo as v,useRef as d}from"react";import{RequestStatus as h}from"../request-status/index.js";import{isDeepEqual as p}from"@dimjs/lang/cjs/is-deep-equal";import{isArray as m}from"@dimjs/lang/cjs/is-array";import{get as g}from"@dimjs/utils/cjs/get";import{json as C}from"@dimjs/utils/cjs/json";import q from"pubsub-js";import{fbaHooks as w}from"../fba-hooks/index.js";import{isObject as y}from"@dimjs/lang/cjs/is-object";import{jsx as _,jsxs as b}from"react/jsx-runtime";import"@dimjs/utils/cjs/extend";import"../use-responsive-point-21b8c601.js";var j=function e(r){var n=r.cacheKey,t=r.serviceConfig,o=r.hasOuterSelectorList,u=r.outerSelectorList,i=r.onRespDataChange,a=r.onSelectorRequestError,l=r.onChange,c=r.useCache,d=r.fieldNames;var h=t==null?void 0:t.params;var y=(t==null?void 0:t.requiredParamsKeys)||[];var _=h&&Object.keys(h).length>0;var b=f(),j=b[0],R=b[1];var S=f(),L=S[0],O=S[1];var P=f(Date.now()),A=P[0],k=P[1];var x=v((function(){try{if(_){var e=JSON.stringify(C.sort(h));if(e==="{}"){return undefined}return e}}catch(e){}return undefined}),[_,h]);var N=""+x;var E=x+"_status";var D=n+"_"+N;var I=w.usePrevious(x);var K=w.usePrevious(h);var M=function e(r){var n=r;if(t!=null&&t.onRequestResultAdapter){n=t==null?void 0:t.onRequestResultAdapter(r)}else if(d!=null&&d.list){n=g(r,d==null?void 0:d.list)}if(n&&!m(n)){console.warn("待渲染数据为非数组结构",n);return[]}return n||[]};var B=function e(){var r;return(r=window["__selector_wrapper_"])==null?void 0:r[n]};var J=function e(){var r;return(r=B())==null?void 0:r[N]};var T=function e(){var r;return(r=B())==null?void 0:r[E]};var V=function e(r,t){if(!window["__selector_wrapper_"]){window["__selector_wrapper_"]={}}if(!window["__selector_wrapper_"][n]){window["__selector_wrapper_"][n]={}}window["__selector_wrapper_"][n][r]=t};var z=function e(r){V(E,r);O(r)};var F=function e(){return new Promise((function(e,r){var n,o;var s=function(n){try{console.error(n);z("request-error");R(undefined);setTimeout((function(){q.publish(D,{status:"request-error"})}));a==null?void 0:a(n);return e(Promise.reject())}catch(e){return r(e)}};try{z("request-progress");return Promise.resolve(t==null||t.onRequest==null?void 0:t.onRequest(h||{})).then((function(r){try{n=r;o=M(n);V(N,o);z("request-success");setTimeout((function(){q.publish(D,{status:"request-success",respData:o})}));return e(o)}catch(e){return s(e)}}),s)}catch(e){s(e)}}))};w.useEffectCustomAsync((function(){return new Promise((function(e,r){var n,f,v,d,m,g;if(o){O("request-success");R(u);i==null?void 0:i(u);return e()}if(y.length>0){n=h?y.find((function(e){return s(h[e])})):true;if(n){R([]);O("no-dependencies-params");if(I){l==null?void 0:l(undefined)}return e()}if(c===false){if(p(h,K)){return e()}var C=function(){try{return e()}catch(e){return r(e)}};var w=function(e){try{console.error(e);O("request-error");R(undefined);a==null?void 0:a(e);return C()}catch(e){return r(e)}};try{O("request-progress");return Promise.resolve(t==null||t.onRequest==null?void 0:t.onRequest(h||{})).then((function(e){try{f=e;v=M(f);O("request-success");R(v);i==null?void 0:i(v);return C()}catch(e){return w(e)}}),w)}catch(e){w(e)}}return _.call(this)}function _(){d=T();if(d==="request-success"){m=J();R(m);O(d);i==null?void 0:i(m);return e()}if(d==="request-progress"){O(d);q.subscribe(D,(function(e,r){var n=r.status,t=r.respData;if(n==="request-success"){O(n);R(t);i==null?void 0:i(t)}else{O("request-error");R(undefined)}}));return e()}var n=function(){try{return e()}catch(e){return r(e)}};var t=function(e){try{console.error(e);O("request-error");R(undefined);a==null?void 0:a(e);return n()}catch(e){return r(e)}};try{return Promise.resolve(F()).then((function(e){try{g=e;R(g);O("request-success");i==null?void 0:i(g);return n()}catch(e){return t(e)}}),t)}catch(e){t(e)}}return _.call(this)}))}),[JSON.stringify(h),u,A]);var H=function e(){k(Date.now())};return{requestStatus:L,stateSelectorList:j,serviceRequestParamsStringify:x,onRefreshRequest:H}};var R=function e(r,n){var t=u(r);t=t.map((function(e){if(y(e))return e[n];return e}));return t};var S=["serviceConfig","showAllOption","onSelectorListChange","onSelectorListAllChange","onSelectorRequestError","onLabelRenderAdapter","requestMessageConfig","selectorList","modelKey","fieldNames","value","labelInValue","useCache"];var L=function s(f){var p=f.serviceConfig,m=f.showAllOption,g=f.onSelectorListChange,C=f.onSelectorListAllChange,q=f.onSelectorRequestError,w=f.onLabelRenderAdapter,y=f.requestMessageConfig,L=f.selectorList,O=f.modelKey,P=f.fieldNames,A=f.value,k=f.labelInValue,x=f.useCache,N=t(f,S);var E=d(true);var D=f.hasOwnProperty("selectorList");var I=o({label:"label",value:"value",disabled:"disabled"},P);var K=I.label,M=I.value,B=I.disabled;var J=v((function(){var e;if(!m)return null;var r=m===true;return e={},e[K]=r?"全部":m.label,e[M]=r?"":m.value,e}),[K,M,m]);var T=i(f.mode,["multiple"]);var V=j({fieldNames:I,cacheKey:O,hasOuterSelectorList:D,onChange:f.onChange,serviceConfig:p,outerSelectorList:L,onRespDataChange:function e(r){if(E.current){g==null?void 0:g(r||[]);E.current=false}C==null?void 0:C(r||[])},onSelectorRequestError:q,useCache:x===undefined?true:x}),z=V.requestStatus,F=V.stateSelectorList,H=V.onRefreshRequest;var W=n.useCallbackRef((function(e){if(k){if(T){f.onChange==null?void 0:f.onChange(e,e)}else{f.onChange==null?void 0:f.onChange(e[0],e)}}else{var r=e.map((function(e){return e[M]}));if(T){f.onChange==null?void 0:f.onChange(r,e)}else{f.onChange==null?void 0:f.onChange(r[0],e[0])}}}));var G=n.useCallbackRef((function(e,r){if(!r)return f.onChange==null?void 0:f.onChange(undefined);var n=u(r);var t=[];n.forEach((function(e){if(m&&J&&e.value===J[M]){t.push(J)}else{var r=a(F||[],e.value,M);if(r){t.push(r)}}}));W(t)}));var Q=v((function(){if(z!=="request-success")return[];if(!F||F.length===0)return[];if(!J)return F;return[J].concat(F)}),[J,z,F]);var U=z==="request-progress";var X=v((function(){var e=R(A,M);return T?e:e[0]}),[T,M,A]);var Y=n.useCallbackRef((function(e,n){var t=u(n.children);var o="";t.forEach((function(e){if(r(e))o+=e}));return o.toLowerCase().indexOf(e.toLowerCase())>=0}));return _(l,o({showSearch:true,allowClear:true,popupMatchSelectWidth:false,filterOption:Y},N,{style:o({width:"100%"},f.style),value:X,loading:U,onChange:G,fieldNames:undefined,suffixIcon:z==="request-error"?_(e,{spin:U,onClick:H}):N.suffixIcon,notFoundContent:_(h,{status:z,loading:U,messageConfig:o({"request-init":"暂无数据"},y),errorButton:_(c,{type:"primary",onClick:H,children:"重新获取数据"})}),children:Q.map((function(e,r){var n=e[M];var t=e[K];return b(l.Option,{value:n,label:t,disabled:e[B],children:[f.showIcon?_("span",{className:"v-selector-item-icon",children:f.icon==null?void 0:f.icon(e,r)}):null,w?w(e):t]},n+"-"+r)}))}))};export{L as SelectorWrapper};
6
+ import e from"@ant-design/icons/es/icons/RedoOutlined";import{isString as r}from"@dimjs/lang/cjs/is-string";import{hooks as n}from"@wove/react/cjs/hooks";import{a as t,_ as o}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isUndefinedOrNull as u,toArray as s,valueIsEqual as i,arrayFind as a}from"@flatbiz/utils";import{Select as l,Button as c}from"antd";import{useState as f,useMemo as v,useRef as d,isValidElement as h}from"react";import{RequestStatus as p}from"../request-status/index.js";import{isDeepEqual as m}from"@dimjs/lang/cjs/is-deep-equal";import{isArray as g}from"@dimjs/lang/cjs/is-array";import{get as C}from"@dimjs/utils/cjs/get";import{json as q}from"@dimjs/utils/cjs/json";import w from"pubsub-js";import{fbaHooks as b}from"../fba-hooks/index.js";import{isObject as y}from"@dimjs/lang/cjs/is-object";import{jsx as _,jsxs as j}from"react/jsx-runtime";import"@dimjs/utils/cjs/extend";import"../use-responsive-point-21b8c601.js";var R=function e(r){var n=r.cacheKey,t=r.serviceConfig,o=r.hasOuterSelectorList,s=r.outerSelectorList,i=r.onRespDataChange,a=r.onSelectorRequestError,l=r.onChange,c=r.useCache,d=r.fieldNames;var h=t==null?void 0:t.params;var p=(t==null?void 0:t.requiredParamsKeys)||[];var y=h&&Object.keys(h).length>0;var _=f(),j=_[0],R=_[1];var S=f(),L=S[0],O=S[1];var P=f(Date.now()),A=P[0],k=P[1];var x=v((function(){try{if(y){var e=JSON.stringify(q.sort(h));if(e==="{}"){return undefined}return e}}catch(e){}return undefined}),[y,h]);var N=""+x;var E=x+"_status";var D=n+"_"+N;var I=b.usePrevious(x);var K=b.usePrevious(h);var M=function e(r){var n=r;if(t!=null&&t.onRequestResultAdapter){n=t==null?void 0:t.onRequestResultAdapter(r)}else if(d!=null&&d.list){n=C(r,d==null?void 0:d.list)}if(n&&!g(n)){console.warn("待渲染数据为非数组结构",n);return[]}return n||[]};var B=function e(){var r;return(r=window["__selector_wrapper_"])==null?void 0:r[n]};var J=function e(){var r;return(r=B())==null?void 0:r[N]};var T=function e(){var r;return(r=B())==null?void 0:r[E]};var V=function e(r,t){if(!window["__selector_wrapper_"]){window["__selector_wrapper_"]={}}if(!window["__selector_wrapper_"][n]){window["__selector_wrapper_"][n]={}}window["__selector_wrapper_"][n][r]=t};var z=function e(r){V(E,r);O(r)};var F=function e(){return new Promise((function(e,r){var n,o;var u=function(n){try{console.error(n);z("request-error");R(undefined);setTimeout((function(){w.publish(D,{status:"request-error"})}));a==null?void 0:a(n);return e(Promise.reject())}catch(e){return r(e)}};try{z("request-progress");return Promise.resolve(t==null||t.onRequest==null?void 0:t.onRequest(h||{})).then((function(r){try{n=r;o=M(n);V(N,o);z("request-success");setTimeout((function(){w.publish(D,{status:"request-success",respData:o})}));return e(o)}catch(e){return u(e)}}),u)}catch(e){u(e)}}))};b.useEffectCustomAsync((function(){return new Promise((function(e,r){var n,f,v,d,g,C;if(o){O("request-success");R(s);i==null?void 0:i(s);return e()}if(p.length>0){n=h?p.find((function(e){return u(h[e])})):true;if(n){R([]);O("no-dependencies-params");if(I){l==null?void 0:l(undefined)}return e()}if(c===false){if(m(h,K)){return e()}var q=function(){try{return e()}catch(e){return r(e)}};var b=function(e){try{console.error(e);O("request-error");R(undefined);a==null?void 0:a(e);return q()}catch(e){return r(e)}};try{O("request-progress");return Promise.resolve(t==null||t.onRequest==null?void 0:t.onRequest(h||{})).then((function(e){try{f=e;v=M(f);O("request-success");R(v);i==null?void 0:i(v);return q()}catch(e){return b(e)}}),b)}catch(e){b(e)}}return y.call(this)}function y(){d=T();if(d==="request-success"){g=J();R(g);O(d);i==null?void 0:i(g);return e()}if(d==="request-progress"){O(d);w.subscribe(D,(function(e,r){var n=r.status,t=r.respData;if(n==="request-success"){O(n);R(t);i==null?void 0:i(t)}else{O("request-error");R(undefined)}}));return e()}var n=function(){try{return e()}catch(e){return r(e)}};var t=function(e){try{console.error(e);O("request-error");R(undefined);a==null?void 0:a(e);return n()}catch(e){return r(e)}};try{return Promise.resolve(F()).then((function(e){try{C=e;R(C);O("request-success");i==null?void 0:i(C);return n()}catch(e){return t(e)}}),t)}catch(e){t(e)}}return y.call(this)}))}),[JSON.stringify(h),s,A]);var H=function e(){k(Date.now())};return{requestStatus:L,stateSelectorList:j,serviceRequestParamsStringify:x,onRefreshRequest:H}};var S=function e(r,n){var t=s(r);t=t.map((function(e){if(y(e))return e[n];return e}));return t};var L=["serviceConfig","showAllOption","onSelectorListChange","onSelectorListAllChange","onSelectorRequestError","onLabelRenderAdapter","requestMessageConfig","selectorList","modelKey","fieldNames","value","labelInValue","useCache"];var O=function u(f){var m=f.serviceConfig,g=f.showAllOption,C=f.onSelectorListChange,q=f.onSelectorListAllChange,w=f.onSelectorRequestError,b=f.onLabelRenderAdapter,y=f.requestMessageConfig,O=f.selectorList,P=f.modelKey,A=f.fieldNames,k=f.value,x=f.labelInValue,N=f.useCache,E=t(f,L);var D=d(true);var I=f.hasOwnProperty("selectorList");var K=o({label:"label",value:"value",disabled:"disabled"},A);var M=K.label,B=K.value,J=K.disabled;var T=v((function(){var e;if(!g)return null;var r=g===true;return e={},e[M]=r?"全部":g.label,e[B]=r?"":g.value,e}),[M,B,g]);var V=i(f.mode,["multiple"]);var z=R({fieldNames:K,cacheKey:P,hasOuterSelectorList:I,onChange:f.onChange,serviceConfig:m,outerSelectorList:O,onRespDataChange:function e(r){if(D.current){C==null?void 0:C(r||[]);D.current=false}q==null?void 0:q(r||[])},onSelectorRequestError:w,useCache:N===undefined?true:N}),F=z.requestStatus,H=z.stateSelectorList,W=z.onRefreshRequest;var G=n.useCallbackRef((function(e){if(x){if(V){f.onChange==null?void 0:f.onChange(e,e)}else{f.onChange==null?void 0:f.onChange(e[0],e)}}else{var r=e.map((function(e){return e[B]}));if(V){f.onChange==null?void 0:f.onChange(r,e)}else{f.onChange==null?void 0:f.onChange(r[0],e[0])}}}));var Q=n.useCallbackRef((function(e,r){if(!r)return f.onChange==null?void 0:f.onChange(undefined);var n=s(r);var t=[];n.forEach((function(e){if(g&&T&&e.value===T[B]){t.push(T)}else{var r=a(H||[],e.value,B);if(r){t.push(r)}}}));G(t)}));var U=v((function(){if(F!=="request-success")return[];if(!H||H.length===0)return[];if(!T)return H;return[T].concat(H)}),[T,F,H]);var X=F==="request-progress";var Y=v((function(){var e=S(k,B);return V?e:e[0]}),[V,B,k]);var Z=n.useCallbackRef((function(e,n){var t=s(n.children);var o="";var u=t.find((function(e){return h(e)}));if(!u){t.forEach((function(e){if(r(e))o+=e}))}else{o=r(n==null?void 0:n.label)?n.label:undefined}return o.toLowerCase().indexOf(e.toLowerCase())>=0}));return _(l,o({showSearch:true,allowClear:true,popupMatchSelectWidth:false,filterOption:Z},E,{style:o({width:"100%"},f.style),value:Y,loading:X,onChange:Q,fieldNames:undefined,suffixIcon:F==="request-error"?_(e,{spin:X,onClick:W}):E.suffixIcon,notFoundContent:_(p,{status:F,loading:X,messageConfig:o({"request-init":"暂无数据"},y),errorButton:_(c,{type:"primary",onClick:W,children:"重新获取数据"})}),children:U.map((function(e,r){var n=e[B];var t=e[M];return j(l.Option,{value:n,label:t,disabled:e[J],children:[f.showIcon?_("span",{className:"v-selector-item-icon",children:f.icon==null?void 0:f.icon(e,r)}):null,b?b(e):t]},n+"-"+r)}))}))};export{O as SelectorWrapper};
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/selector-wrapper/use-request.ts","@flatbiz/antd/src/selector-wrapper/utils.ts","@flatbiz/antd/src/selector-wrapper/selector-wrapper.tsx"],"sourcesContent":["import { isArray, isDeepEqual } from '@dimjs/lang';\nimport { get, json } from '@dimjs/utils';\nimport { isUndefinedOrNull, type TPlainObject } from '@flatbiz/utils';\nimport pubSub from 'pubsub-js';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { type TRequestStatus } from '../request-status';\nimport { type SelectorServiceConfig, type SelectorWrapperProps } from './types';\n\nexport const useRequest = (options: {\n cacheKey: string;\n serviceConfig?: SelectorServiceConfig;\n hasOuterSelectorList?: boolean;\n onChange?: SelectorWrapperProps['onChange'];\n outerSelectorList?: SelectorWrapperProps['selectorList'];\n onRespDataChange?: (dataList?: TPlainObject[]) => void;\n onSelectorRequestError?: SelectorWrapperProps['onSelectorRequestError'];\n useCache: boolean;\n fieldNames: SelectorWrapperProps['fieldNames'];\n}) => {\n const {\n cacheKey,\n serviceConfig,\n hasOuterSelectorList,\n outerSelectorList,\n onRespDataChange,\n onSelectorRequestError,\n onChange,\n useCache,\n fieldNames,\n } = options;\n const serviceRequestParams = serviceConfig?.params;\n const requiredParamsKeys = serviceConfig?.requiredParamsKeys || [];\n const hasServiceRequestParams = serviceRequestParams && Object.keys(serviceRequestParams).length > 0;\n\n const [stateSelectorList, setStateSelectorList] = useState<TPlainObject[]>();\n const [requestStatus, setRequestStatus] = useState<TRequestStatus>();\n const [refreshKey, setRefreshKey] = useState(Date.now());\n\n const serviceRequestParamsStringify = useMemo(() => {\n try {\n if (hasServiceRequestParams) {\n const sortDataStringify = JSON.stringify(json.sort(serviceRequestParams));\n if (sortDataStringify === '{}') {\n return undefined;\n }\n return sortDataStringify;\n }\n } catch (error) {}\n return undefined;\n }, [hasServiceRequestParams, serviceRequestParams]);\n // 将 undefined => 'undefined'\n const serviceRequestCahceKey = `${serviceRequestParamsStringify}`;\n const serviceRequestCahceStatusKey = `${serviceRequestParamsStringify}_status`;\n const pubSubKey = `${cacheKey}_${serviceRequestCahceKey}`;\n\n // 上一个参数值\n const prevServiceRequestParamsStringify = fbaHooks.usePrevious(serviceRequestParamsStringify);\n const prevParams = fbaHooks.usePrevious(serviceRequestParams);\n\n const serviceRespDataAdapter = (respData) => {\n let result: TPlainObject[] = respData;\n if (serviceConfig?.onRequestResultAdapter) {\n result = serviceConfig?.onRequestResultAdapter(respData as unknown as TPlainObject);\n } else if (fieldNames?.list) {\n result = get(respData, fieldNames?.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const getWindowCacheData = () => {\n return window['__selector_wrapper_']?.[cacheKey];\n };\n const getWindowCacheValue = () => {\n return getWindowCacheData()?.[serviceRequestCahceKey];\n };\n const getWindowCacheStatus = () => {\n return getWindowCacheData()?.[serviceRequestCahceStatusKey];\n };\n\n const setWindowCache = (key, value) => {\n if (!window['__selector_wrapper_']) {\n window['__selector_wrapper_'] = {};\n }\n if (!window['__selector_wrapper_'][cacheKey]) {\n window['__selector_wrapper_'][cacheKey] = {};\n }\n window['__selector_wrapper_'][cacheKey][key] = value;\n };\n\n const onChangeRequestStatus = (status: TRequestStatus) => {\n setWindowCache(serviceRequestCahceStatusKey, status);\n setRequestStatus(status);\n };\n\n const onRequest = async () => {\n try {\n onChangeRequestStatus('request-progress');\n\n const respData = await serviceConfig?.onRequest?.(serviceRequestParams || {});\n const respAdapterData = serviceRespDataAdapter(respData);\n\n setWindowCache(serviceRequestCahceKey, respAdapterData);\n onChangeRequestStatus('request-success');\n setTimeout(() => {\n pubSub.publish(pubSubKey, {\n status: 'request-success',\n respData: respAdapterData,\n });\n });\n\n return respAdapterData;\n } catch (error) {\n console.error(error);\n onChangeRequestStatus('request-error');\n setStateSelectorList(undefined);\n setTimeout(() => {\n pubSub.publish(pubSubKey, {\n status: 'request-error',\n });\n });\n onSelectorRequestError?.(error);\n return Promise.reject();\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (hasOuterSelectorList) {\n setRequestStatus('request-success');\n setStateSelectorList(outerSelectorList);\n onRespDataChange?.(outerSelectorList);\n return;\n }\n if (requiredParamsKeys.length > 0) {\n const isEmpty = serviceRequestParams\n ? requiredParamsKeys.find((key) => isUndefinedOrNull(serviceRequestParams[key]))\n : true;\n if (isEmpty) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setStateSelectorList([]);\n setRequestStatus('no-dependencies-params');\n /**\n * 怎么判断数据是从有到无的\n * 每一次 params 变少,只要 上一次 params 值存在,就应该清空 value 值\n */\n if (prevServiceRequestParamsStringify) {\n onChange?.(undefined);\n }\n return;\n }\n\n // 不使用缓存模式\n if (useCache === false) {\n // 判断参数是否发生变化\n if (isDeepEqual(serviceRequestParams, prevParams)) {\n return;\n }\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig?.onRequest?.(serviceRequestParams || {});\n const respAdapterData = serviceRespDataAdapter(respData);\n setRequestStatus('request-success');\n setStateSelectorList(respAdapterData);\n onRespDataChange?.(respAdapterData);\n } catch (error) {\n console.error(error);\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n onSelectorRequestError?.(error);\n }\n return;\n }\n }\n\n /**\n * 此处无法判断 调用props.onChange?.(undefined);\n * A、B、C\n * 例如:C依赖A、B,当外部只修改了一个元素,理论上应该应该清空C value 值(调用onChange(undefined)),如果此时外部直接回填A、B、C时,C无法回填成功;该场景只能在A、B的onChange事件中,清空C\n */\n // if (prevServiceRequestParamsStringify) {\n // props.onChange?.(undefined);\n // }\n\n const status = getWindowCacheStatus();\n if (status === 'request-success') {\n const dataList = getWindowCacheValue();\n setStateSelectorList(dataList);\n setRequestStatus(status);\n onRespDataChange?.(dataList);\n return;\n }\n if (status === 'request-progress') {\n setRequestStatus(status);\n pubSub.subscribe(pubSubKey, (_msg, { status, respData }) => {\n if (status === 'request-success') {\n setRequestStatus(status);\n setStateSelectorList(respData);\n onRespDataChange?.(respData);\n } else {\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n }\n });\n return;\n }\n try {\n const respAdapterData = await onRequest();\n setStateSelectorList(respAdapterData);\n setRequestStatus('request-success');\n onRespDataChange?.(respAdapterData);\n } catch (error) {\n console.error(error);\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n onSelectorRequestError?.(error);\n }\n }, [JSON.stringify(serviceRequestParams), outerSelectorList, refreshKey]);\n\n const onRefreshRequest = () => {\n setRefreshKey(Date.now());\n };\n\n return {\n requestStatus,\n stateSelectorList,\n serviceRequestParamsStringify,\n onRefreshRequest,\n };\n};\n","import { isObject } from '@dimjs/lang';\nimport { toArray } from '@flatbiz/utils';\n\n/**\n * value存在两种格式\n * 1. string | number;\n * 2. labelInValue 格式\n * @param data\n * @param labelInValueFieldNames\n * @returns\n */\nexport const getVauleList = (data, valueKey: string | number) => {\n let valueList = toArray<string | number>(data);\n valueList = valueList.map((item) => {\n if (isObject(item)) return item[valueKey];\n return item;\n });\n return valueList;\n};\n","import { arrayFind, TAny, toArray, TPlainObject, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select } from 'antd';\nimport { useMemo, useRef } from 'react';\nimport './style.less';\n\nimport { RedoOutlined } from '@ant-design/icons';\nimport { isString } from '@dimjs/lang';\nimport { RequestStatus } from '../request-status';\nimport { SelectorWrapperProps } from './types';\nimport { useRequest } from './use-request';\nimport { getVauleList } from './utils';\nexport * from './types';\n/**\n * 选择器包装组件\n * ```\n * 1. 不支持搜索调用服务模式,可使用组件 SelectorWrapperSearch\n * ```\n */\nexport const SelectorWrapper = (props: SelectorWrapperProps) => {\n const {\n serviceConfig,\n showAllOption,\n onSelectorListChange,\n onSelectorListAllChange,\n onSelectorRequestError,\n onLabelRenderAdapter,\n requestMessageConfig,\n selectorList: outerSelectorList,\n modelKey,\n fieldNames,\n value,\n labelInValue,\n useCache,\n ...otherProps\n } = props;\n\n const firstRenderSelectList = useRef(true);\n\n // props 是否存在 selectorList,selectorList = undefined 也算存在\n const hasOuterSelectorList = props.hasOwnProperty('selectorList');\n const mergeFieldNames = {\n label: 'label',\n value: 'value',\n disabled: 'disabled',\n ...fieldNames,\n };\n\n const {\n label: optionsItemLabelField,\n value: optionsItemValueField,\n disabled: optionsItemDisabledField,\n } = mergeFieldNames;\n\n const allOptionConfig = useMemo(() => {\n if (!showAllOption) return null;\n const isTrue = showAllOption === true;\n return {\n [optionsItemLabelField]: isTrue ? '全部' : showAllOption.label,\n [optionsItemValueField]: isTrue ? '' : showAllOption.value,\n };\n }, [optionsItemLabelField, optionsItemValueField, showAllOption]);\n\n const isMultiple = valueIsEqual(props.mode, ['multiple']);\n\n const { requestStatus, stateSelectorList, onRefreshRequest } = useRequest({\n fieldNames: mergeFieldNames,\n cacheKey: modelKey,\n hasOuterSelectorList,\n onChange: props.onChange,\n serviceConfig,\n outerSelectorList,\n onRespDataChange: (dataList) => {\n if (firstRenderSelectList.current) {\n onSelectorListChange?.(dataList || []);\n firstRenderSelectList.current = false;\n }\n onSelectorListAllChange?.(dataList || []);\n },\n onSelectorRequestError,\n useCache: useCache === undefined ? true : useCache,\n });\n\n const onRespChange = hooks.useCallbackRef((selectedList: TPlainObject[]) => {\n if (labelInValue) {\n if (isMultiple) {\n props.onChange?.(selectedList, selectedList);\n } else {\n props.onChange?.(selectedList[0], selectedList);\n }\n } else {\n const valueList = selectedList.map((item) => item[optionsItemValueField]);\n if (isMultiple) {\n props.onChange?.(valueList, selectedList);\n } else {\n props.onChange?.(valueList[0], selectedList[0]);\n }\n }\n });\n\n const onInnerChange = hooks.useCallbackRef((_value, otherParams) => {\n if (!otherParams) return props.onChange?.(undefined);\n const selectedList = toArray<TAny>(otherParams);\n const targetList = [] as TPlainObject[];\n selectedList.forEach((item) => {\n if (showAllOption && allOptionConfig && item.value === allOptionConfig[optionsItemValueField]) {\n targetList.push(allOptionConfig);\n } else {\n const filterTarget = arrayFind(stateSelectorList || [], item.value, optionsItemValueField);\n if (filterTarget) {\n targetList.push(filterTarget);\n }\n }\n });\n onRespChange(targetList);\n });\n\n const selectorAllList = useMemo(() => {\n if (requestStatus !== 'request-success') return [];\n if (!stateSelectorList || stateSelectorList.length === 0) return [];\n if (!allOptionConfig) return stateSelectorList;\n return [allOptionConfig].concat(stateSelectorList);\n }, [allOptionConfig, requestStatus, stateSelectorList]);\n\n const loading = requestStatus === 'request-progress';\n\n const selectValue = useMemo(() => {\n const targetList = getVauleList(value, optionsItemValueField);\n return isMultiple ? targetList : targetList[0];\n }, [isMultiple, optionsItemValueField, value]);\n\n const filterOption = hooks.useCallbackRef((input: string, option) => {\n const children = toArray(option.children);\n let mergeString = '';\n children.forEach((item) => {\n if (isString(item)) mergeString += item;\n });\n return mergeString.toLowerCase().indexOf(input.toLowerCase()) >= 0;\n });\n\n return (\n <Select\n showSearch={true}\n allowClear={true}\n popupMatchSelectWidth={false}\n filterOption={filterOption}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n value={selectValue}\n loading={loading}\n onChange={onInnerChange}\n fieldNames={undefined}\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onRefreshRequest} />\n ) : (\n otherProps.suffixIcon\n )\n }\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={{\n 'request-init': '暂无数据',\n ...requestMessageConfig,\n }}\n errorButton={\n <Button type=\"primary\" onClick={onRefreshRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {selectorAllList.map((item, index) => {\n const value = item[optionsItemValueField];\n const label = item[optionsItemLabelField];\n return (\n <Select.Option\n value={value}\n label={label}\n key={`${value}-${index}`}\n disabled={item[optionsItemDisabledField]}\n >\n {props.showIcon ? (\n <span className=\"v-selector-item-icon\">{props.icon?.(item, index)}</span>\n ) : null}\n {onLabelRenderAdapter ? onLabelRenderAdapter(item) : label}\n </Select.Option>\n );\n })}\n </Select>\n );\n};\n"],"names":["useRequest","options","cacheKey","serviceConfig","hasOuterSelectorList","outerSelectorList","onRespDataChange","onSelectorRequestError","onChange","useCache","fieldNames","serviceRequestParams","params","requiredParamsKeys","hasServiceRequestParams","Object","keys","length","_useState","useState","stateSelectorList","setStateSelectorList","_useState2","requestStatus","setRequestStatus","_useState3","Date","now","refreshKey","setRefreshKey","serviceRequestParamsStringify","useMemo","sortDataStringify","JSON","stringify","_json","sort","undefined","error","serviceRequestCahceKey","serviceRequestCahceStatusKey","pubSubKey","prevServiceRequestParamsStringify","fbaHooks","usePrevious","prevParams","serviceRespDataAdapter","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","getWindowCacheData","_window$__selector_wr","window","getWindowCacheValue","_getWindowCacheData","getWindowCacheStatus","_getWindowCacheData2","setWindowCache","key","value","onChangeRequestStatus","status","onRequest","Promise","$return","$error","respAdapterData","$Try_2_Catch","setTimeout","pubSub","publish","reject","$boundEx","resolve","then","$await_7","useEffectCustomAsync","isEmpty","_dataList","_respAdapterData","find","isUndefinedOrNull","_isDeepEqual","$Try_3_Post","$Try_3_Catch","$await_8","$If_5","call","this","dataList","subscribe","_msg","_ref","$Try_4_Post","$Try_4_Catch","$await_9","onRefreshRequest","getVauleList","data","valueKey","valueList","toArray","map","item","_isObject","SelectorWrapper","props","showAllOption","onSelectorListChange","onSelectorListAllChange","onLabelRenderAdapter","requestMessageConfig","selectorList","modelKey","labelInValue","otherProps","_objectWithoutPropertiesLoose","_excluded","firstRenderSelectList","useRef","hasOwnProperty","mergeFieldNames","_extends","label","disabled","optionsItemLabelField","optionsItemValueField","optionsItemDisabledField","allOptionConfig","isTrue","isMultiple","valueIsEqual","mode","_useRequest","current","onRespChange","_hooks","useCallbackRef","selectedList","onInnerChange","_value","otherParams","targetList","forEach","push","filterTarget","arrayFind","selectorAllList","concat","loading","selectValue","filterOption","input","option","children","mergeString","_isString","toLowerCase","indexOf","_jsx","Select","showSearch","allowClear","popupMatchSelectWidth","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","messageConfig","errorButton","Button","type","index","_jsxs","Option","showIcon","className","icon"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/selector-wrapper/use-request.ts","@flatbiz/antd/src/selector-wrapper/utils.ts","@flatbiz/antd/src/selector-wrapper/selector-wrapper.tsx"],"sourcesContent":["import { isArray, isDeepEqual } from '@dimjs/lang';\nimport { get, json } from '@dimjs/utils';\nimport { isUndefinedOrNull, type TPlainObject } from '@flatbiz/utils';\nimport pubSub from 'pubsub-js';\nimport { useMemo, useState } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { type TRequestStatus } from '../request-status';\nimport { type SelectorServiceConfig, type SelectorWrapperProps } from './types';\n\nexport const useRequest = (options: {\n cacheKey: string;\n serviceConfig?: SelectorServiceConfig;\n hasOuterSelectorList?: boolean;\n onChange?: SelectorWrapperProps['onChange'];\n outerSelectorList?: SelectorWrapperProps['selectorList'];\n onRespDataChange?: (dataList?: TPlainObject[]) => void;\n onSelectorRequestError?: SelectorWrapperProps['onSelectorRequestError'];\n useCache: boolean;\n fieldNames: SelectorWrapperProps['fieldNames'];\n}) => {\n const {\n cacheKey,\n serviceConfig,\n hasOuterSelectorList,\n outerSelectorList,\n onRespDataChange,\n onSelectorRequestError,\n onChange,\n useCache,\n fieldNames,\n } = options;\n const serviceRequestParams = serviceConfig?.params;\n const requiredParamsKeys = serviceConfig?.requiredParamsKeys || [];\n const hasServiceRequestParams = serviceRequestParams && Object.keys(serviceRequestParams).length > 0;\n\n const [stateSelectorList, setStateSelectorList] = useState<TPlainObject[]>();\n const [requestStatus, setRequestStatus] = useState<TRequestStatus>();\n const [refreshKey, setRefreshKey] = useState(Date.now());\n\n const serviceRequestParamsStringify = useMemo(() => {\n try {\n if (hasServiceRequestParams) {\n const sortDataStringify = JSON.stringify(json.sort(serviceRequestParams));\n if (sortDataStringify === '{}') {\n return undefined;\n }\n return sortDataStringify;\n }\n } catch (error) {}\n return undefined;\n }, [hasServiceRequestParams, serviceRequestParams]);\n // 将 undefined => 'undefined'\n const serviceRequestCahceKey = `${serviceRequestParamsStringify}`;\n const serviceRequestCahceStatusKey = `${serviceRequestParamsStringify}_status`;\n const pubSubKey = `${cacheKey}_${serviceRequestCahceKey}`;\n\n // 上一个参数值\n const prevServiceRequestParamsStringify = fbaHooks.usePrevious(serviceRequestParamsStringify);\n const prevParams = fbaHooks.usePrevious(serviceRequestParams);\n\n const serviceRespDataAdapter = (respData) => {\n let result: TPlainObject[] = respData;\n if (serviceConfig?.onRequestResultAdapter) {\n result = serviceConfig?.onRequestResultAdapter(respData as unknown as TPlainObject);\n } else if (fieldNames?.list) {\n result = get(respData, fieldNames?.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const getWindowCacheData = () => {\n return window['__selector_wrapper_']?.[cacheKey];\n };\n const getWindowCacheValue = () => {\n return getWindowCacheData()?.[serviceRequestCahceKey];\n };\n const getWindowCacheStatus = () => {\n return getWindowCacheData()?.[serviceRequestCahceStatusKey];\n };\n\n const setWindowCache = (key, value) => {\n if (!window['__selector_wrapper_']) {\n window['__selector_wrapper_'] = {};\n }\n if (!window['__selector_wrapper_'][cacheKey]) {\n window['__selector_wrapper_'][cacheKey] = {};\n }\n window['__selector_wrapper_'][cacheKey][key] = value;\n };\n\n const onChangeRequestStatus = (status: TRequestStatus) => {\n setWindowCache(serviceRequestCahceStatusKey, status);\n setRequestStatus(status);\n };\n\n const onRequest = async () => {\n try {\n onChangeRequestStatus('request-progress');\n\n const respData = await serviceConfig?.onRequest?.(serviceRequestParams || {});\n const respAdapterData = serviceRespDataAdapter(respData);\n\n setWindowCache(serviceRequestCahceKey, respAdapterData);\n onChangeRequestStatus('request-success');\n setTimeout(() => {\n pubSub.publish(pubSubKey, {\n status: 'request-success',\n respData: respAdapterData,\n });\n });\n\n return respAdapterData;\n } catch (error) {\n console.error(error);\n onChangeRequestStatus('request-error');\n setStateSelectorList(undefined);\n setTimeout(() => {\n pubSub.publish(pubSubKey, {\n status: 'request-error',\n });\n });\n onSelectorRequestError?.(error);\n return Promise.reject();\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (hasOuterSelectorList) {\n setRequestStatus('request-success');\n setStateSelectorList(outerSelectorList);\n onRespDataChange?.(outerSelectorList);\n return;\n }\n if (requiredParamsKeys.length > 0) {\n const isEmpty = serviceRequestParams\n ? requiredParamsKeys.find((key) => isUndefinedOrNull(serviceRequestParams[key]))\n : true;\n if (isEmpty) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setStateSelectorList([]);\n setRequestStatus('no-dependencies-params');\n /**\n * 怎么判断数据是从有到无的\n * 每一次 params 变少,只要 上一次 params 值存在,就应该清空 value 值\n */\n if (prevServiceRequestParamsStringify) {\n onChange?.(undefined);\n }\n return;\n }\n\n // 不使用缓存模式\n if (useCache === false) {\n // 判断参数是否发生变化\n if (isDeepEqual(serviceRequestParams, prevParams)) {\n return;\n }\n try {\n setRequestStatus('request-progress');\n const respData = await serviceConfig?.onRequest?.(serviceRequestParams || {});\n const respAdapterData = serviceRespDataAdapter(respData);\n setRequestStatus('request-success');\n setStateSelectorList(respAdapterData);\n onRespDataChange?.(respAdapterData);\n } catch (error) {\n console.error(error);\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n onSelectorRequestError?.(error);\n }\n return;\n }\n }\n\n /**\n * 此处无法判断 调用props.onChange?.(undefined);\n * A、B、C\n * 例如:C依赖A、B,当外部只修改了一个元素,理论上应该应该清空C value 值(调用onChange(undefined)),如果此时外部直接回填A、B、C时,C无法回填成功;该场景只能在A、B的onChange事件中,清空C\n */\n // if (prevServiceRequestParamsStringify) {\n // props.onChange?.(undefined);\n // }\n\n const status = getWindowCacheStatus();\n if (status === 'request-success') {\n const dataList = getWindowCacheValue();\n setStateSelectorList(dataList);\n setRequestStatus(status);\n onRespDataChange?.(dataList);\n return;\n }\n if (status === 'request-progress') {\n setRequestStatus(status);\n pubSub.subscribe(pubSubKey, (_msg, { status, respData }) => {\n if (status === 'request-success') {\n setRequestStatus(status);\n setStateSelectorList(respData);\n onRespDataChange?.(respData);\n } else {\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n }\n });\n return;\n }\n try {\n const respAdapterData = await onRequest();\n setStateSelectorList(respAdapterData);\n setRequestStatus('request-success');\n onRespDataChange?.(respAdapterData);\n } catch (error) {\n console.error(error);\n setRequestStatus('request-error');\n setStateSelectorList(undefined);\n onSelectorRequestError?.(error);\n }\n }, [JSON.stringify(serviceRequestParams), outerSelectorList, refreshKey]);\n\n const onRefreshRequest = () => {\n setRefreshKey(Date.now());\n };\n\n return {\n requestStatus,\n stateSelectorList,\n serviceRequestParamsStringify,\n onRefreshRequest,\n };\n};\n","import { isObject } from '@dimjs/lang';\nimport { toArray } from '@flatbiz/utils';\n\n/**\n * value存在两种格式\n * 1. string | number;\n * 2. labelInValue 格式\n * @param data\n * @param labelInValueFieldNames\n * @returns\n */\nexport const getVauleList = (data, valueKey: string | number) => {\n let valueList = toArray<string | number>(data);\n valueList = valueList.map((item) => {\n if (isObject(item)) return item[valueKey];\n return item;\n });\n return valueList;\n};\n","import { arrayFind, TAny, toArray, TPlainObject, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { Button, Select } from 'antd';\nimport { isValidElement, useMemo, useRef } from 'react';\nimport './style.less';\n\nimport { RedoOutlined } from '@ant-design/icons';\nimport { isString } from '@dimjs/lang';\nimport { RequestStatus } from '../request-status';\nimport { SelectorWrapperProps } from './types';\nimport { useRequest } from './use-request';\nimport { getVauleList } from './utils';\nexport * from './types';\n/**\n * 选择器包装组件\n * ```\n * 1. 不支持搜索调用服务模式,可使用组件 SelectorWrapperSearch\n * ```\n */\nexport const SelectorWrapper = (props: SelectorWrapperProps) => {\n const {\n serviceConfig,\n showAllOption,\n onSelectorListChange,\n onSelectorListAllChange,\n onSelectorRequestError,\n onLabelRenderAdapter,\n requestMessageConfig,\n selectorList: outerSelectorList,\n modelKey,\n fieldNames,\n value,\n labelInValue,\n useCache,\n ...otherProps\n } = props;\n\n const firstRenderSelectList = useRef(true);\n\n // props 是否存在 selectorList,selectorList = undefined 也算存在\n const hasOuterSelectorList = props.hasOwnProperty('selectorList');\n const mergeFieldNames = {\n label: 'label',\n value: 'value',\n disabled: 'disabled',\n ...fieldNames,\n };\n\n const {\n label: optionsItemLabelField,\n value: optionsItemValueField,\n disabled: optionsItemDisabledField,\n } = mergeFieldNames;\n\n const allOptionConfig = useMemo(() => {\n if (!showAllOption) return null;\n const isTrue = showAllOption === true;\n return {\n [optionsItemLabelField]: isTrue ? '全部' : showAllOption.label,\n [optionsItemValueField]: isTrue ? '' : showAllOption.value,\n };\n }, [optionsItemLabelField, optionsItemValueField, showAllOption]);\n\n const isMultiple = valueIsEqual(props.mode, ['multiple']);\n\n const { requestStatus, stateSelectorList, onRefreshRequest } = useRequest({\n fieldNames: mergeFieldNames,\n cacheKey: modelKey,\n hasOuterSelectorList,\n onChange: props.onChange,\n serviceConfig,\n outerSelectorList,\n onRespDataChange: (dataList) => {\n if (firstRenderSelectList.current) {\n onSelectorListChange?.(dataList || []);\n firstRenderSelectList.current = false;\n }\n onSelectorListAllChange?.(dataList || []);\n },\n onSelectorRequestError,\n useCache: useCache === undefined ? true : useCache,\n });\n\n const onRespChange = hooks.useCallbackRef((selectedList: TPlainObject[]) => {\n if (labelInValue) {\n if (isMultiple) {\n props.onChange?.(selectedList, selectedList);\n } else {\n props.onChange?.(selectedList[0], selectedList);\n }\n } else {\n const valueList = selectedList.map((item) => item[optionsItemValueField]);\n if (isMultiple) {\n props.onChange?.(valueList, selectedList);\n } else {\n props.onChange?.(valueList[0], selectedList[0]);\n }\n }\n });\n\n const onInnerChange = hooks.useCallbackRef((_value, otherParams) => {\n if (!otherParams) return props.onChange?.(undefined);\n const selectedList = toArray<TAny>(otherParams);\n const targetList = [] as TPlainObject[];\n selectedList.forEach((item) => {\n if (showAllOption && allOptionConfig && item.value === allOptionConfig[optionsItemValueField]) {\n targetList.push(allOptionConfig);\n } else {\n const filterTarget = arrayFind(stateSelectorList || [], item.value, optionsItemValueField);\n if (filterTarget) {\n targetList.push(filterTarget);\n }\n }\n });\n onRespChange(targetList);\n });\n\n const selectorAllList = useMemo(() => {\n if (requestStatus !== 'request-success') return [];\n if (!stateSelectorList || stateSelectorList.length === 0) return [];\n if (!allOptionConfig) return stateSelectorList;\n return [allOptionConfig].concat(stateSelectorList);\n }, [allOptionConfig, requestStatus, stateSelectorList]);\n\n const loading = requestStatus === 'request-progress';\n\n const selectValue = useMemo(() => {\n const targetList = getVauleList(value, optionsItemValueField);\n return isMultiple ? targetList : targetList[0];\n }, [isMultiple, optionsItemValueField, value]);\n\n const filterOption = hooks.useCallbackRef((input: string, option) => {\n const children = toArray(option.children);\n let mergeString = '';\n const hasValidElementItem = children.find((item) => {\n return isValidElement(item);\n });\n if (!hasValidElementItem) {\n children.forEach((item) => {\n if (isString(item)) mergeString += item;\n });\n } else {\n mergeString = isString(option?.label) ? option.label : undefined;\n }\n return mergeString.toLowerCase().indexOf(input.toLowerCase()) >= 0;\n });\n\n return (\n <Select\n showSearch={true}\n allowClear={true}\n popupMatchSelectWidth={false}\n filterOption={filterOption}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n value={selectValue}\n loading={loading}\n onChange={onInnerChange}\n fieldNames={undefined}\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={onRefreshRequest} />\n ) : (\n otherProps.suffixIcon\n )\n }\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={{\n 'request-init': '暂无数据',\n ...requestMessageConfig,\n }}\n errorButton={\n <Button type=\"primary\" onClick={onRefreshRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n >\n {selectorAllList.map((item, index) => {\n const value = item[optionsItemValueField];\n const label = item[optionsItemLabelField];\n return (\n <Select.Option\n value={value}\n label={label}\n key={`${value}-${index}`}\n disabled={item[optionsItemDisabledField]}\n >\n {props.showIcon ? (\n <span className=\"v-selector-item-icon\">{props.icon?.(item, index)}</span>\n ) : null}\n {onLabelRenderAdapter ? onLabelRenderAdapter(item) : label}\n </Select.Option>\n );\n })}\n </Select>\n );\n};\n"],"names":["useRequest","options","cacheKey","serviceConfig","hasOuterSelectorList","outerSelectorList","onRespDataChange","onSelectorRequestError","onChange","useCache","fieldNames","serviceRequestParams","params","requiredParamsKeys","hasServiceRequestParams","Object","keys","length","_useState","useState","stateSelectorList","setStateSelectorList","_useState2","requestStatus","setRequestStatus","_useState3","Date","now","refreshKey","setRefreshKey","serviceRequestParamsStringify","useMemo","sortDataStringify","JSON","stringify","_json","sort","undefined","error","serviceRequestCahceKey","serviceRequestCahceStatusKey","pubSubKey","prevServiceRequestParamsStringify","fbaHooks","usePrevious","prevParams","serviceRespDataAdapter","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","getWindowCacheData","_window$__selector_wr","window","getWindowCacheValue","_getWindowCacheData","getWindowCacheStatus","_getWindowCacheData2","setWindowCache","key","value","onChangeRequestStatus","status","onRequest","Promise","$return","$error","respAdapterData","$Try_2_Catch","setTimeout","pubSub","publish","reject","$boundEx","resolve","then","$await_7","useEffectCustomAsync","isEmpty","_dataList","_respAdapterData","find","isUndefinedOrNull","_isDeepEqual","$Try_3_Post","$Try_3_Catch","$await_8","$If_5","call","this","dataList","subscribe","_msg","_ref","$Try_4_Post","$Try_4_Catch","$await_9","onRefreshRequest","getVauleList","data","valueKey","valueList","toArray","map","item","_isObject","SelectorWrapper","props","showAllOption","onSelectorListChange","onSelectorListAllChange","onLabelRenderAdapter","requestMessageConfig","selectorList","modelKey","labelInValue","otherProps","_objectWithoutPropertiesLoose","_excluded","firstRenderSelectList","useRef","hasOwnProperty","mergeFieldNames","_extends","label","disabled","optionsItemLabelField","optionsItemValueField","optionsItemDisabledField","allOptionConfig","isTrue","isMultiple","valueIsEqual","mode","_useRequest","current","onRespChange","_hooks","useCallbackRef","selectedList","onInnerChange","_value","otherParams","targetList","forEach","push","filterTarget","arrayFind","selectorAllList","concat","loading","selectValue","filterOption","input","option","children","mergeString","hasValidElementItem","isValidElement","_isString","toLowerCase","indexOf","_jsx","Select","showSearch","allowClear","popupMatchSelectWidth","style","width","suffixIcon","_RedoOutlined","spin","onClick","notFoundContent","RequestStatus","messageConfig","errorButton","Button","type","index","_jsxs","Option","showIcon","className","icon"],"mappings":"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"}
@@ -1 +1 @@
1
- .num-ff{font-family:var(--v-font-family-number)}p,ul{margin:0;padding:0}.hide{display:none}.clear-fix:after{clear:both;content:" ";display:block;font-size:0;height:0;visibility:hidden}.ant-btn-variant-dashed:disabled,.ant-btn-variant-link:disabled,.ant-btn-variant-solid:disabled,.ant-checkbox-disabled+span,.ant-input-number-outlined.ant-input-number-disabled,.ant-input[disabled],.ant-radio-wrapper-disabled,.ant-select-multiple.ant-select-disabled .ant-select-selection-item,.ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0,0,0,.8)!important}.ant-radio-disabled .ant-radio-inner:after{background-color:rgba(0,0,0,.5)!important}.ant-checkbox-disabled .ant-checkbox-inner:after{border-color:rgba(0,0,0,.6)!important}
1
+ .num-ff{font-family:var(--v-font-family-number)}p,ul{margin:0;padding:0}.hide{display:none}.clear-fix:after{clear:both;content:" ";display:block;font-size:0;height:0;visibility:hidden}.ant-btn-variant-dashed:disabled,.ant-btn-variant-link:disabled,.ant-btn-variant-solid:disabled,.ant-btn:disabled,.ant-checkbox-disabled+span,.ant-input-number-outlined.ant-input-number-disabled,.ant-input[disabled],.ant-picker-disabled input[disabled],.ant-radio-wrapper-disabled,.ant-select-disabled .ant-select-selector,.ant-select-multiple.ant-select-disabled .ant-select-selection-item,.ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0,0,0,.6)!important}.ant-radio-disabled .ant-radio-inner:after{background-color:rgba(0,0,0,.5)!important}.ant-checkbox-disabled .ant-checkbox-inner:after{border-color:rgba(0,0,0,.6)!important}
package/index.d.ts CHANGED
@@ -378,6 +378,14 @@ export type BoxColProps = {
378
378
  xl?: number;
379
379
  /** 屏幕 ≥ 1600px */
380
380
  xxl?: number;
381
+ /**
382
+ * 是否移除 外部包装div
383
+ * ```
384
+ * 1. 如果children 为数组,则此配置不生效
385
+ * 2. 如果移除,会在children中添加style和className(所以children组件必须要有style、className属性)
386
+ * ```
387
+ */
388
+ removeWrapper?: boolean;
381
389
  };
382
390
  export declare const BoxGrid: {
383
391
  /**
@@ -1049,7 +1057,7 @@ export type TFormItemLayoutPreClassNameProps = {
1049
1057
  */
1050
1058
  className?: string;
1051
1059
  };
1052
- export type FormItemWrapperProps = FormItemProps & TFormItemLayoutPreClassNameProps & {
1060
+ export type FormItemWrapperProps = Omit<FormItemProps, "hidden"> & TFormItemLayoutPreClassNameProps & {
1053
1061
  wrapper?: (children: ReactNode) => ReactElement;
1054
1062
  /** 设置wrapper后,before、after失效 */
1055
1063
  before?: ReactNode;
@@ -1062,12 +1070,25 @@ export type FormItemWrapperProps = FormItemProps & TFormItemLayoutPreClassNamePr
1062
1070
  * 如果设置 normalize 属性,outputNormalize将失效
1063
1071
  */
1064
1072
  outputNormalize?: (value?: TAny) => TAny;
1065
- /** 是否清除 Form.Item */
1066
- isClear?: boolean;
1073
+ /**
1074
+ * 隐藏 Form.Item,同时清除 Form.Item 值
1075
+ * ```
1076
+ * 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏
1077
+ * ```
1078
+ */
1079
+ isClear?: boolean | ((formValues: TPlainObject) => boolean);
1080
+ /**
1081
+ * 隐藏 Form.Item,不会清除值
1082
+ * ```
1083
+ * 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏
1084
+ * ```
1085
+ */
1086
+ hidden?: boolean | ((formValues: TPlainObject) => boolean);
1067
1087
  /**
1068
1088
  * 栅格占位格数,最大值:24
1069
1089
  * ```
1070
- * 1. FormItemWrapper 处在 EasyForm 直接子节点中有效,即FormItemWrapper在EasyForm栅格中的占位格数;
1090
+ * 1. 当前FormItemWrapper处在 EasyForm 直接子节点中有效,即FormItemWrapper在EasyForm栅格中的占位格数;
1091
+ * 2. 父节点使用属性值,当前节点不使用属性值
1071
1092
  * ```
1072
1093
  */
1073
1094
  span?: number;
@@ -1078,10 +1099,12 @@ export type FormItemWrapperProps = FormItemProps & TFormItemLayoutPreClassNamePr
1078
1099
  * 1. 为 children 增加 before、after
1079
1100
  * 2. 对输入、输出数据进行序列化处理
1080
1101
  * 3. 内置布局样式使用 preDefinedClassName.formItem
1102
+ * 4. 设置隐藏域(不清除字段值) 使用hidden,存在依赖逻辑,可与dependencies属性配合使用
1103
+ * 5. 设置隐藏域(清除字段值)使用isClear,存在依赖逻辑,可与dependencies属性配合使用
1081
1104
  * ```
1082
1105
  */
1083
1106
  export declare const FormItemWrapper: {
1084
- (props: FormItemWrapperProps): import("react/jsx-runtime").JSX.Element | null;
1107
+ (props: FormItemWrapperProps): import("react/jsx-runtime").JSX.Element;
1085
1108
  domTypeName: string;
1086
1109
  };
1087
1110
  export type DateRangePickerWrapperFormItemProps = Omit<FormItemWrapperProps, "name"> & {
@@ -1294,6 +1317,16 @@ export declare const dialogLoading: {
1294
1317
  */
1295
1318
  close: () => void;
1296
1319
  };
1320
+ export type DialogPreviewImageProps = {
1321
+ imageUrl: string;
1322
+ };
1323
+ /** 图片预览 */
1324
+ export declare const dialogPreviewImage: {
1325
+ show: (props: DialogPreviewImageProps) => {
1326
+ close: () => void;
1327
+ };
1328
+ hiden: () => void;
1329
+ };
1297
1330
  export type DragCollapseItemKey = number | string;
1298
1331
  export type DragCollapseItem = {
1299
1332
  key: DragCollapseItemKey;
@@ -1446,16 +1479,29 @@ export type EasyFormProps = Omit<FormWrapperProps, "children"> & {
1446
1479
  */
1447
1480
  isPure?: boolean;
1448
1481
  /**
1449
- * true: 不使用Antd Form包裹,可在Form、EasyForm、FormWrapper内部使用
1482
+ * true: 当前EasyForm组件不使用Antd Form包裹,可在Form、EasyForm、FormWrapper内部使用
1450
1483
  */
1451
1484
  nonuseFormWrapper?: boolean;
1485
+ /**
1486
+ * 栅格占位格数,最大值:24
1487
+ * ```
1488
+ * 1. 当前EasyForm处在 EasyForm 直接子节点中有效,即当前EasyForm在EasyForm栅格中的占位格数;
1489
+ * 2. 父节点使用属性值,当前节点不使用属性值
1490
+ * ```
1491
+ */
1492
+ span?: number;
1452
1493
  };
1453
1494
  /**
1454
1495
  * 简单Form布局,可自定义网格布局
1455
1496
  * ```
1456
1497
  * 1. demo:https://fex.qa.tcshuke.com/docs/admin/main/form/grid
1457
- * 2. EasyForm的children列表会进行网格化布局,可通过设置 isPure = true设置纯净模式(对EasyForm的子节点不做任何包装处理)
1458
- * 3. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效
1498
+ * 2. EasyForm的children列表会进行网格化布局
1499
+ * 3. 自定义栅格占位格数的4中方式
1500
+ * 3.1 设置FormItemWrapper、FormItemText组件span属性;
1501
+ * 3.2 使用 EasyFormItemSpan 包裹children item,设置span属性
1502
+ * 3.3 使用 <BoxGrid.Col span={24} ></BoxGrid.Col> 包裹,设置响应式属性
1503
+ * 3.4 设置 EasyForm isPure = true设置纯净模式,对EasyForm的子节点不做任何包装处理
1504
+ * 4. EasyForm可嵌套使用,嵌套内部的<EasyForm />节点Form相关属性失效,例如属性form、initialValues等都失效
1459
1505
  * <EasyForm form={form}>
1460
1506
  * ....
1461
1507
  * <EasyForm>...</EasyForm>
@@ -1463,14 +1509,14 @@ export type EasyFormProps = Omit<FormWrapperProps, "children"> & {
1463
1509
  * <EasyForm>...</EasyForm>
1464
1510
  * ....
1465
1511
  * </EasyForm>
1466
- * 4. 布局网格以当前组件的宽度来计算的,不是屏幕宽度
1467
- * 5. EasyForm 子节点包含 hidden = true 会被忽略
1468
- * 6. 通过 column 可定义一行显示几列FormItem
1469
- * 7. 通过 labelItemVertical 可定义 formitem 竖直布局
1470
- * 8. 通过 formItemGap 可定义 formItem竖直方向间隙
1471
- * 9. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式
1472
- * 10. 通过 labelWidth 可控制Form内部所有label的宽度(可实现整齐效果)
1473
- * 11. 自定义栅格占位格数,见下方`例如`
1512
+ * 5. 布局网格以当前组件的宽度来计算的,不是屏幕宽度
1513
+ * 6. EasyForm 子节点包含 hidden = true 会被忽略
1514
+ * 7. 通过 column 可定义一行显示几列FormItem
1515
+ * 8. 通过 labelItemVertical 可定义 formitem 竖直布局
1516
+ * 9. 通过 formItemGap 可定义 formItem竖直方向间隙
1517
+ * 10. 通过 forceColumn 可强制定义一行显示几列,不考虑响应式
1518
+ * 11. 通过 labelWidth 可控制Form内部所有label的宽度(可实现整齐效果)
1519
+ * 12. 自定义栅格占位格数,见下方`例如`
1474
1520
 
1475
1521
  * 例如
1476
1522
  * <EasyForm column={3}>
@@ -1493,7 +1539,10 @@ export type EasyFormProps = Omit<FormWrapperProps, "children"> & {
1493
1539
  * </EasyForm>
1494
1540
  * ```
1495
1541
  */
1496
- export declare const EasyForm: (props: EasyFormProps) => import("react/jsx-runtime").JSX.Element;
1542
+ export declare const EasyForm: {
1543
+ (props: EasyFormProps): import("react/jsx-runtime").JSX.Element;
1544
+ domTypeName: string;
1545
+ };
1497
1546
  export type EditableCardDataIndex = string | string[];
1498
1547
  export interface EditableCardOperation {
1499
1548
  index: number;
@@ -1604,6 +1653,7 @@ export type EditableCardColumnItem = {
1604
1653
  hidden?: (operation: EditableCardOperation, index: number) => boolean;
1605
1654
  /** 移除设置,优先级高于 hidden */
1606
1655
  remove?: (operation: EditableCardOperation, index: number) => boolean;
1656
+ formItemContainer?: (formItem: ReactElement) => ReactElement | null;
1607
1657
  };
1608
1658
  export type EditableCardProps = {
1609
1659
  className?: string;
@@ -1641,7 +1691,7 @@ export type EditableCardProps = {
1641
1691
  /**`默认新增按钮`新增行默认值,hiddenFooterBtn != true 有效 */
1642
1692
  addRowDefaultValues?: () => TPlainObject;
1643
1693
  /** 自定义新增按钮名称 */
1644
- addRowBtnName?: string;
1694
+ addRowBtnName?: ReactNode;
1645
1695
  /** 隐藏底部`新增`按钮 */
1646
1696
  hiddenFooterBtn?: boolean;
1647
1697
  /** 隐藏默认删除按钮 */
@@ -3699,6 +3749,8 @@ export declare const FormItemGroup: {
3699
3749
  };
3700
3750
  export type FormItemHiddenProps = {
3701
3751
  name: FormItemProps["name"];
3752
+ className?: string;
3753
+ style?: CSSProperties;
3702
3754
  };
3703
3755
  export declare const FormItemHidden: {
3704
3756
  (props: FormItemHiddenProps): import("react/jsx-runtime").JSX.Element;
@@ -3707,6 +3759,8 @@ export declare const FormItemHidden: {
3707
3759
  export type FormItemSpanProps = {
3708
3760
  span?: number;
3709
3761
  children?: React.ReactNode;
3762
+ className?: string;
3763
+ style?: React.CSSProperties;
3710
3764
  };
3711
3765
  /**
3712
3766
  * 包裹EasyForm children item元素, 设置自定义栅格占位格数(使用在EasyForm一级子节点下生效)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "4.5.36",
3
+ "version": "4.5.38",
4
4
  "description": "flat-biz ui components",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
@@ -33,11 +33,11 @@
33
33
  "@dimjs/utils": ">=1.5.1",
34
34
  "@flatbiz/utils": ">=4.0.32",
35
35
  "@wove/react": ">=1.2.23",
36
+ "ahooks": ">=3.7.11",
36
37
  "antd": ">=5.11.0",
37
38
  "dayjs": ">=1.11.9",
38
39
  "react": ">=18.2.0",
39
- "react-dom": ">=18.2.0",
40
- "ahooks": ">=3.7.11"
40
+ "react-dom": ">=18.2.0"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@ant-design/icons": "^4.8.0",
@@ -47,34 +47,34 @@
47
47
  "@dimjs/utils": "^1.5.1",
48
48
  "@flatbiz/utils": "^4.0.32",
49
49
  "@wove/react": "^1.2.23",
50
+ "ace-builds": "^1.32.2",
51
+ "ahooks": "^3.7.11",
50
52
  "antd": "5.11.0",
51
53
  "dayjs": "1.11.9",
52
54
  "dequal": "2.0.3",
53
55
  "react": "18.2.0",
56
+ "react-ace": "^10.1.0",
54
57
  "react-dom": "18.2.0",
55
- "ahooks": "^3.7.11",
56
58
  "react-is": "^18.2.0",
57
- "react-ace": "^10.1.0",
58
- "ace-builds": "^1.32.2",
59
59
  "sql-formatter": "^15.0.2",
60
60
  "xml-formatter": "^3.6.2"
61
61
  },
62
62
  "dependencies": {
63
- "dequal": "2.0.3",
64
- "pubsub-js": "1.9.4",
65
- "@tinymce/tinymce-react": "4.3.0",
66
63
  "@dnd-kit/core": "^6.0.8",
67
64
  "@dnd-kit/modifiers": "^6.0.1",
68
65
  "@dnd-kit/sortable": "^7.0.2",
69
66
  "@dnd-kit/utilities": "^3.2.1",
70
- "use-intl": "3.0.0-rc.6",
71
- "react-split": "2.0.14",
72
- "react-is": "^18.2.0",
73
- "react-ace": "^10.1.0",
67
+ "@tinymce/tinymce-react": "4.3.0",
74
68
  "ace-builds": "^1.32.2",
69
+ "dequal": "2.0.3",
70
+ "pubsub-js": "1.9.4",
71
+ "react-ace": "^10.1.0",
72
+ "react-is": "^18.2.0",
73
+ "react-split": "2.0.14",
74
+ "simple-mind-map": "^0.10.6",
75
75
  "sql-formatter": "^15.0.2",
76
- "xml-formatter": "^3.6.2",
77
- "simple-mind-map": "^0.10.6"
76
+ "use-intl": "3.0.0-rc.6",
77
+ "xml-formatter": "^3.6.2"
78
78
  },
79
79
  "gitHead": "4378d433b73ee28fd7cb4c64bed8571f993eb5a9"
80
- }
80
+ }