@flatbiz/antd 5.0.10 → 5.0.11

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.
@@ -80,7 +80,10 @@ export declare const BoxGrid: {
80
80
  */
81
81
  Row: import("react").FC<BoxRowProps & ICommonReact>;
82
82
  /**
83
- * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }
83
+ * 网格响应式布局,
84
+ * 默认值:
85
+ * { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }
86
+ * xs={24} sm={12} md={12} lg={8} xl={8} xxl={6}
84
87
  *```
85
88
  * 1. 设置 span 栅格占位格数,0 ~ 24
86
89
  * 2. grid 自定义响应式网格布局
@@ -232,7 +232,10 @@ var BoxGrid = {
232
232
  */
233
233
  Row: Row,
234
234
  /**
235
- * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }
235
+ * 网格响应式布局,
236
+ * 默认值:
237
+ * { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }
238
+ * xs={24} sm={12} md={12} lg={8} xl={8} xxl={6}
236
239
  *```
237
240
  * 1. 设置 span 栅格占位格数,0 ~ 24
238
241
  * 2. grid 自定义响应式网格布局
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/box-grid/constant.ts","@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.js';\nimport { type TBoxBreakpoint } from './type.js';\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\nexport const BoxGridProviderCtx =\n createContext<BoxGridProviderContextType>(defaultCtx);\n","import { type FC, useContext, useMemo } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { BoxGridProviderCtx } from './ctx.js';\nimport { type ICommonReact } from './type.js';\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 } =\n useContext(BoxGridProviderCtx);\n\n const span = useMemo(() => {\n return (\n props.span ||\n props[boxBreakpoint || 'lg'] ||\n defaultGrid?.[boxBreakpoint || 'lg'] ||\n 8\n );\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 { useMemo } from 'react';\nimport { useSize } from 'ahooks';\nimport { isNumber } from '@dimjs/lang';\nimport { DefaultGutter } from './constant.js';\nimport { defaultCtx } from './ctx.js';\nimport { type GutterParams, type TBoxBreakpoint } from './type.js';\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 = (\n gutter: GutterParams = DefaultGutter,\n boxBreakpoint: TBoxBreakpoint\n) => {\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)\n ? horizontalGap\n : defaultCtx.horizontalGap,\n verticalGap: isNumber(verticalGap) ? verticalGap : defaultCtx.verticalGap,\n };\n }, [gutter, boxBreakpoint]);\n};\n","import type { FC } from 'react';\nimport { useEffect, useRef } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport {\n alignPropsMap,\n justifyPropsMap,\n PresetDefaultGrid,\n} from './constant.js';\nimport { BoxGridProviderCtx, defaultCtx } from './ctx.js';\nimport { useBoxBreakpoint, useGutter } from './hooks.js';\nimport type { TBoxBreakpoint } from './type.js';\nimport { type GutterParams, type ICommonReact } from './type.js';\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?:\n | 'start'\n | 'end'\n | 'center'\n | 'space-around'\n | 'space-between'\n | '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 }, [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\n className={classNames('box-grad-root', className)}\n ref={comRef}\n style={style}\n >\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.js';\n\n/**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns\n */\nexport const getGridMapByRange = (\n minSize: number\n): 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.jsx';\nimport { Row } from './row.jsx';\nimport { getGridMapByRange } from './utils.js';\nimport './index.less';\n\nexport { useBoxBreakpoint } from './hooks.js';\n\nexport const BoxGrid = {\n /**\n * 网格响应式布局\n *```\n * 1. 应用场景:根据盒子大小决定内部元素的布局\n * 2. 子元素只能是 BoxGrid.Col\n */\n Row,\n /**\n * 网格响应式布局,默认值:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n *```\n * 1. 设置 span 栅格占位格数,0 ~ 24\n * 2. grid 自定义响应式网格布局\n * xs: 容器尺寸 < 576px\n * sm: 容器尺寸 ≥ 576px\n * md: 容器尺寸 ≥ 768px\n * lg: 容器尺寸 ≥ 992px\n * xl: 容器尺寸 ≥ 1200px\n * xxl: 容器尺寸 ≥ 1600px\n * ```\n */\n Col,\n /**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns { xs: num, sm: num, md: num, lg: num, xl: num, xxl: num }\n */\n getGridMapByRange,\n};\n"],"names":["PresetDefaultGrid","xs","sm","md","lg","xl","xxl","DefaultGutter","alignPropsMap","top","middle","bottom","stretch","justifyPropsMap","start","end","center","defaultCtx","boxBreakpoint","defaultGrid","horizontalGap","verticalGap","BoxGridProviderCtx","createContext","Col","props","children","className","style","_useContext","useContext","span","useMemo","_jsx","_classNames","_objectSpread","flex","concat","maxWidth","padding","useBoxBreakpoint","dom","_ref","useSize","width","w","clientWidth","isInit","haveWidth","useGutter","gutter","arguments","length","undefined","getCommonGutter","Array","isArray","_gutter","_slicedToArray","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.ts","@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.js';\nimport { type TBoxBreakpoint } from './type.js';\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\nexport const BoxGridProviderCtx =\n createContext<BoxGridProviderContextType>(defaultCtx);\n","import { type FC, useContext, useMemo } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { BoxGridProviderCtx } from './ctx.js';\nimport { type ICommonReact } from './type.js';\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 } =\n useContext(BoxGridProviderCtx);\n\n const span = useMemo(() => {\n return (\n props.span ||\n props[boxBreakpoint || 'lg'] ||\n defaultGrid?.[boxBreakpoint || 'lg'] ||\n 8\n );\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 { useMemo } from 'react';\nimport { useSize } from 'ahooks';\nimport { isNumber } from '@dimjs/lang';\nimport { DefaultGutter } from './constant.js';\nimport { defaultCtx } from './ctx.js';\nimport { type GutterParams, type TBoxBreakpoint } from './type.js';\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 = (\n gutter: GutterParams = DefaultGutter,\n boxBreakpoint: TBoxBreakpoint\n) => {\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)\n ? horizontalGap\n : defaultCtx.horizontalGap,\n verticalGap: isNumber(verticalGap) ? verticalGap : defaultCtx.verticalGap,\n };\n }, [gutter, boxBreakpoint]);\n};\n","import type { FC } from 'react';\nimport { useEffect, useRef } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport {\n alignPropsMap,\n justifyPropsMap,\n PresetDefaultGrid,\n} from './constant.js';\nimport { BoxGridProviderCtx, defaultCtx } from './ctx.js';\nimport { useBoxBreakpoint, useGutter } from './hooks.js';\nimport type { TBoxBreakpoint } from './type.js';\nimport { type GutterParams, type ICommonReact } from './type.js';\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?:\n | 'start'\n | 'end'\n | 'center'\n | 'space-around'\n | 'space-between'\n | '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 }, [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\n className={classNames('box-grad-root', className)}\n ref={comRef}\n style={style}\n >\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.js';\n\n/**\n * 获取栅格响应式布局的配置\n * @param minSize 元素的最小可接受宽度\n * @returns\n */\nexport const getGridMapByRange = (\n minSize: number\n): 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.jsx';\nimport { Row } from './row.jsx';\nimport { getGridMapByRange } from './utils.js';\nimport './index.less';\n\nexport { useBoxBreakpoint } from './hooks.js';\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","_objectSpread","flex","concat","maxWidth","padding","useBoxBreakpoint","dom","_ref","useSize","width","w","clientWidth","isInit","haveWidth","useGutter","gutter","arguments","length","undefined","getCommonGutter","Array","isArray","_gutter","_slicedToArray","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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"}
@@ -80,7 +80,7 @@ export interface DropdownMenuItem extends Omit<ButtonProps, "color"> {
80
80
  onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;
81
81
  permission?: string;
82
82
  needConfirm?: boolean;
83
- confirmMessage?: string;
83
+ confirmMessage?: ReactNode;
84
84
  hidden?: boolean;
85
85
  confirmModalProps?: DialogModalProps;
86
86
  stopPropagation?: boolean;
@@ -102,7 +102,7 @@ export interface ButtonOperateItem extends ButtonWrapperProps {
102
102
  /** 是否需要二次弹框确认 */
103
103
  needConfirm?: boolean;
104
104
  /** 二次弹框确认文案 */
105
- confirmMessage?: string;
105
+ confirmMessage?: ReactNode;
106
106
  popconfirmProps?: Pick<PopconfirmProps, "placement" | "okText" | "cancelText" | "trigger">;
107
107
  /** 是否折叠合拢 */
108
108
  isFold?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"button-operate-BRkW26Up.js","sources":["@flatbiz/antd/src/button-operate/button-operate.tsx"],"sourcesContent":["import type { CSSProperties, FC, ReactElement, ReactNode } from 'react';\nimport { Fragment, isValidElement, useMemo, useState } from 'react';\nimport type { PopconfirmProps, SpaceProps } from 'antd';\nimport { Button, Divider, Popconfirm, Popover, Space, Tooltip } from 'antd';\nimport { MoreOutlined } from '@ant-design/icons';\nimport { isPlainObject, isPromise, isString, isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport type { ButtonWrapperProps } from '../button-wrapper/button-wrapper.jsx';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport type { DialogModalProps } from '../dialog-modal/dialog-modal.jsx';\nimport type { DropdownMenuWrapperProps } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { fbaUtils } from '../fba-utils/index.js';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字,isFold=true无效 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n /** 按钮文案 */\n text?: string | ReactElement;\n /** 自定义按钮颜色 */\n color?: string;\n /** 是否需要二次弹框确认 */\n needConfirm?: boolean;\n /** 二次弹框确认文案 */\n confirmMessage?: string;\n /* isFold=false & needConfirm=true 有效 */\n popconfirmProps?: Pick<\n PopconfirmProps,\n 'placement' | 'okText' | 'cancelText' | 'trigger'\n >;\n /** 是否折叠合拢 */\n isFold?: boolean;\n /* isFold=true & needConfirm=true 有效 */\n confirmModalProps?: DialogModalProps;\n}\n\nexport interface ButtonOperateProps {\n className?: string;\n style?: CSSProperties;\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n /** 是否换行,默认true */\n wrap?: boolean;\n /** 隐藏图标Icon */\n foldIcon?: ReactElement;\n /** 按钮之间是否添加分隔符 */\n split?: boolean;\n /** 多个按钮的包装组件Space属性 */\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n /** 折叠合拢属性 */\n dropdownMenuProps?: Omit<DropdownMenuWrapperProps, 'menuList'>;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & {\n content: ReactNode;\n }\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Tooltip>\n );\n }\n if (isValidElement(props.content)) {\n return <Fragment>{props.content}</Fragment>;\n }\n // ButtonOperate item 内部 span 包文案会有动态效果\n return <span>{props.content}</span>;\n};\n\n/**\n * 按钮组合处理组件\n * ```\n * @flatbiz/antd@4.2.49\n * 1. 替换 Fold 中 needConfirm交互,有 Popconfirm 改为 dialogConfirm组件实现二次弹框确认功能\n * 2. 修改原因:升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框组合使用存在问题\n * ```\n */\nexport const ButtonOperate: FC<ButtonOperateProps> = (props) => {\n const [loading, setLoading] = useState(false);\n\n const onConfirm = hooks.useCallbackRef((item: ButtonOperateItem, event) => {\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n setLoading(true);\n return result.finally(() => {\n setLoading(false);\n });\n }\n return;\n });\n\n const operateList = props.operateList.filter((item) => {\n if (!item) return false;\n if (isValidElement(item)) {\n if (item.props?.['hidden'] === true) return false;\n const permission = item.props?.['v-permission'];\n if (isString(permission)) {\n return fbaUtils.hasPermission(permission);\n }\n return true;\n }\n if (isPlainObject(item)) {\n if (!fbaUtils.hasPermission(item['permission'])) {\n return false;\n }\n return !item['hidden'];\n }\n return false;\n }) as Array<ButtonOperateItem | ReactElement>;\n\n const viewList = useMemo(() => {\n return operateList.filter((item) => {\n if (isValidElement(item)) {\n return true;\n }\n return !item['isFold'];\n }) as ButtonOperateItem[];\n }, [operateList]);\n\n const foldList = useMemo(() => {\n const filterList = operateList.filter((item) => {\n if (isValidElement(item)) {\n return false;\n }\n return item['isFold'];\n }) as ButtonOperateItem[];\n const result = [] as ButtonOperateItem[];\n filterList.forEach((item) => {\n const target = { ...item };\n // 多余字段渲染到react dom上,出现警告\n delete target.isFold;\n result.push(target);\n });\n return result;\n }, [operateList]);\n\n const gap = props.gap === undefined ? 10 : props.gap;\n const size = !props.split ? gap : 0;\n\n return (\n <div\n className={classNames('table-operate', props.className)}\n style={props.style}\n >\n <Space\n split={props.split ? <Divider type=\"vertical\" /> : null}\n size={size}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n {...props.spaceProps}\n >\n {viewList.map((item, index) => {\n if (item && isValidElement(item)) {\n return (\n <ButtonOperateItemContent\n content={item}\n hoverTips={item.hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n );\n }\n const {\n text,\n onClick,\n needConfirm,\n confirmMessage,\n popconfirmProps,\n hoverTips,\n ...otherProps\n } = item;\n const type = item.type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = item.color ? false : true;\n return (\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n placement=\"topRight\"\n arrow={true}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item)}\n key={index}\n okButtonProps={{\n loading,\n }}\n onOpenChange={(_open) => {\n if (!_open) {\n setLoading(false);\n }\n }}\n onCancel={(event) => {\n event?.stopPropagation();\n }}\n >\n <ButtonWrapper\n danger={danger}\n {...otherProps}\n onClick={(event) => {\n event.stopPropagation();\n }}\n type={type}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n </ButtonWrapper>\n </Popconfirm>\n );\n }\n return (\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={type}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n key={index}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={item.tipsType}\n />\n </ButtonWrapper>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper\n menuList={foldList}\n placement=\"bottomCenter\"\n {...props.dropdownMenuProps}\n >\n <Button\n type=\"link\"\n className=\"fold-more-button\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n {props.foldIcon ? props.foldIcon : <MoreOutlined />}\n </Button>\n </DropdownMenuWrapper>\n ) : null}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n split: true,\n};\n"],"names":["ButtonOperateItemContent","props","hoverTips","tipsType","_jsx","Popover","content","zIndex","children","Tooltip","title","isValidElement","Fragment","ButtonOperate","_useState","useState","_useState2","_slicedToArray","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","_item$onClick","result","onClick","call","_isPromise","finally","operateList","filter","_item$props","_item$props2","permission","_isString","fbaUtils","hasPermission","_isPlainObject","viewList","useMemo","foldList","filterList","forEach","target","_objectSpread","isFold","push","gap","undefined","size","split","className","_classNames","style","_jsxs","Space","Divider","type","wrap","_isUndefined","spaceProps","map","index","text","needConfirm","confirmMessage","popconfirmProps","otherProps","_objectWithoutProperties","_excluded","disabled","danger","color","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","onCancel","stopPropagation","ButtonWrapper","loadingPosition","length","DropdownMenuWrapper","menuList","dropdownMenuProps","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"button-operate-BRkW26Up.js","sources":["@flatbiz/antd/src/button-operate/button-operate.tsx"],"sourcesContent":["import type { CSSProperties, FC, ReactElement, ReactNode } from 'react';\nimport { Fragment, isValidElement, useMemo, useState } from 'react';\nimport type { PopconfirmProps, SpaceProps } from 'antd';\nimport { Button, Divider, Popconfirm, Popover, Space, Tooltip } from 'antd';\nimport { MoreOutlined } from '@ant-design/icons';\nimport { isPlainObject, isPromise, isString, isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport type { ButtonWrapperProps } from '../button-wrapper/button-wrapper.jsx';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport type { DialogModalProps } from '../dialog-modal/dialog-modal.jsx';\nimport type { DropdownMenuWrapperProps } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { DropdownMenuWrapper } from '../dropdown-menu-wrapper/dropdown-menu-wrapper.jsx';\nimport { fbaUtils } from '../fba-utils/index.js';\nimport './style.less';\n\nexport interface ButtonOperateItem extends ButtonWrapperProps {\n /** hover 提示文字,isFold=true无效 */\n hoverTips?: string | React.ReactElement;\n /** hover 提示类型 默认:'tooltip' */\n tipsType?: 'popover' | 'tooltip';\n /** 按钮文案 */\n text?: string | ReactElement;\n /** 自定义按钮颜色 */\n color?: string;\n /** 是否需要二次弹框确认 */\n needConfirm?: boolean;\n /** 二次弹框确认文案 */\n confirmMessage?: ReactNode;\n /* isFold=false & needConfirm=true 有效 */\n popconfirmProps?: Pick<\n PopconfirmProps,\n 'placement' | 'okText' | 'cancelText' | 'trigger'\n >;\n /** 是否折叠合拢 */\n isFold?: boolean;\n /* isFold=true & needConfirm=true 有效 */\n confirmModalProps?: DialogModalProps;\n}\n\nexport interface ButtonOperateProps {\n className?: string;\n style?: CSSProperties;\n /**\n * 如果数组中元素为ReactElement类型\n * 1. 一般为antd Button组件,如果组件存在属性hidden=true,则会隐藏\n * 2. 可配置 v-permission 权限值,例如 v-permission=\"add\"\n * 3. 任何confirm、disabled等状态在外部控制\n * 3. 不支持fold效果\n */\n operateList: Array<ButtonOperateItem | null | ReactElement>;\n /** 是否换行,默认true */\n wrap?: boolean;\n /** 隐藏图标Icon */\n foldIcon?: ReactElement;\n /** 按钮之间是否添加分隔符 */\n split?: boolean;\n /** 多个按钮的包装组件Space属性 */\n spaceProps?: SpaceProps;\n /** 间距,默认:10;split=true配置下无效(可通过spaceProps设置间距) */\n gap?: number;\n /** 折叠合拢属性 */\n dropdownMenuProps?: Omit<DropdownMenuWrapperProps, 'menuList'>;\n}\n\nexport const ButtonOperateItemContent = (\n props: Pick<ButtonOperateItem, 'hoverTips' | 'tipsType'> & {\n content: ReactNode;\n }\n) => {\n if (props.hoverTips) {\n if (props.tipsType === 'popover') {\n return (\n <Popover content={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Popover>\n );\n }\n return (\n <Tooltip title={props.hoverTips} zIndex={1000}>\n <span>{props.content}</span>\n </Tooltip>\n );\n }\n if (isValidElement(props.content)) {\n return <Fragment>{props.content}</Fragment>;\n }\n // ButtonOperate item 内部 span 包文案会有动态效果\n return <span>{props.content}</span>;\n};\n\n/**\n * 按钮组合处理组件\n * ```\n * @flatbiz/antd@4.2.49\n * 1. 替换 Fold 中 needConfirm交互,有 Popconfirm 改为 dialogConfirm组件实现二次弹框确认功能\n * 2. 修改原因:升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框组合使用存在问题\n * ```\n */\nexport const ButtonOperate: FC<ButtonOperateProps> = (props) => {\n const [loading, setLoading] = useState(false);\n\n const onConfirm = hooks.useCallbackRef((item: ButtonOperateItem, event) => {\n const result = item.onClick?.(event);\n if (result && isPromise(result)) {\n setLoading(true);\n return result.finally(() => {\n setLoading(false);\n });\n }\n return;\n });\n\n const operateList = props.operateList.filter((item) => {\n if (!item) return false;\n if (isValidElement(item)) {\n if (item.props?.['hidden'] === true) return false;\n const permission = item.props?.['v-permission'];\n if (isString(permission)) {\n return fbaUtils.hasPermission(permission);\n }\n return true;\n }\n if (isPlainObject(item)) {\n if (!fbaUtils.hasPermission(item['permission'])) {\n return false;\n }\n return !item['hidden'];\n }\n return false;\n }) as Array<ButtonOperateItem | ReactElement>;\n\n const viewList = useMemo(() => {\n return operateList.filter((item) => {\n if (isValidElement(item)) {\n return true;\n }\n return !item['isFold'];\n }) as ButtonOperateItem[];\n }, [operateList]);\n\n const foldList = useMemo(() => {\n const filterList = operateList.filter((item) => {\n if (isValidElement(item)) {\n return false;\n }\n return item['isFold'];\n }) as ButtonOperateItem[];\n const result = [] as ButtonOperateItem[];\n filterList.forEach((item) => {\n const target = { ...item };\n // 多余字段渲染到react dom上,出现警告\n delete target.isFold;\n result.push(target);\n });\n return result;\n }, [operateList]);\n\n const gap = props.gap === undefined ? 10 : props.gap;\n const size = !props.split ? gap : 0;\n\n return (\n <div\n className={classNames('table-operate', props.className)}\n style={props.style}\n >\n <Space\n split={props.split ? <Divider type=\"vertical\" /> : null}\n size={size}\n wrap={isUndefined(props.wrap) ? true : props.wrap}\n {...props.spaceProps}\n >\n {viewList.map((item, index) => {\n if (item && isValidElement(item)) {\n return (\n <ButtonOperateItemContent\n content={item}\n hoverTips={item.hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n );\n }\n const {\n text,\n onClick,\n needConfirm,\n confirmMessage,\n popconfirmProps,\n hoverTips,\n ...otherProps\n } = item;\n const type = item.type || 'link';\n if (needConfirm && !otherProps.disabled) {\n const danger = item.color ? false : true;\n return (\n <Popconfirm\n okText=\"确定\"\n cancelText=\"取消\"\n trigger={['click']}\n placement=\"topRight\"\n arrow={true}\n destroyTooltipOnHide={true}\n {...popconfirmProps}\n title={confirmMessage}\n onConfirm={onConfirm.bind(null, item)}\n key={index}\n okButtonProps={{\n loading,\n }}\n onOpenChange={(_open) => {\n if (!_open) {\n setLoading(false);\n }\n }}\n onCancel={(event) => {\n event?.stopPropagation();\n }}\n >\n <ButtonWrapper\n danger={danger}\n {...otherProps}\n onClick={(event) => {\n event.stopPropagation();\n }}\n type={type}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={item.tipsType}\n key={index}\n />\n </ButtonWrapper>\n </Popconfirm>\n );\n }\n return (\n <ButtonWrapper\n loadingPosition=\"center\"\n {...otherProps}\n type={type}\n onClick={(event) => {\n event.stopPropagation();\n return onClick?.(event);\n }}\n key={index}\n >\n <ButtonOperateItemContent\n content={text}\n hoverTips={hoverTips}\n tipsType={item.tipsType}\n />\n </ButtonWrapper>\n );\n })}\n {foldList.length > 0 ? (\n <DropdownMenuWrapper\n menuList={foldList}\n placement=\"bottomCenter\"\n {...props.dropdownMenuProps}\n >\n <Button\n type=\"link\"\n className=\"fold-more-button\"\n onClick={(event) => {\n event.stopPropagation();\n }}\n >\n {props.foldIcon ? props.foldIcon : <MoreOutlined />}\n </Button>\n </DropdownMenuWrapper>\n ) : null}\n </Space>\n </div>\n );\n};\n\nButtonOperate.defaultProps = {\n split: true,\n};\n"],"names":["ButtonOperateItemContent","props","hoverTips","tipsType","_jsx","Popover","content","zIndex","children","Tooltip","title","isValidElement","Fragment","ButtonOperate","_useState","useState","_useState2","_slicedToArray","loading","setLoading","onConfirm","_hooks","useCallbackRef","item","event","_item$onClick","result","onClick","call","_isPromise","finally","operateList","filter","_item$props","_item$props2","permission","_isString","fbaUtils","hasPermission","_isPlainObject","viewList","useMemo","foldList","filterList","forEach","target","_objectSpread","isFold","push","gap","undefined","size","split","className","_classNames","style","_jsxs","Space","Divider","type","wrap","_isUndefined","spaceProps","map","index","text","needConfirm","confirmMessage","popconfirmProps","otherProps","_objectWithoutProperties","_excluded","disabled","danger","color","_createElement","Popconfirm","okText","cancelText","trigger","placement","arrow","destroyTooltipOnHide","bind","key","okButtonProps","onOpenChange","_open","onCancel","stopPropagation","ButtonWrapper","loadingPosition","length","DropdownMenuWrapper","menuList","dropdownMenuProps","Button","foldIcon","_MoreOutlined","defaultProps"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { TAny, TNoopDefine, TPlainObject } from '@flatbiz/utils';
2
2
  import { ButtonProps, DropdownProps, FormInstance, ModalProps } from 'antd';
3
3
  import { ConfigProviderProps } from 'antd/es/config-provider';
4
- import { ReactElement } from 'react';
4
+ import { ReactElement, ReactNode } from 'react';
5
5
 
6
6
  export type ButtonWrapperProps = Omit<ButtonProps, "onClick" | "color"> & {
7
7
  /** 当返回 Promise 时,按钮自动loading */
@@ -80,7 +80,7 @@ export interface DropdownMenuItem extends Omit<ButtonProps, "color"> {
80
80
  onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;
81
81
  permission?: string;
82
82
  needConfirm?: boolean;
83
- confirmMessage?: string;
83
+ confirmMessage?: ReactNode;
84
84
  hidden?: boolean;
85
85
  confirmModalProps?: DialogModalProps;
86
86
  stopPropagation?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu-wrapper-CSzVvlcO.js","sources":["@flatbiz/antd/src/dropdown-menu-wrapper/utils.ts","@flatbiz/antd/src/dropdown-menu-wrapper/dropdown-menu-wrapper.tsx"],"sourcesContent":["export function parentsHasSticky(node: Element) {\n let condition = true;\n let result = false;\n while (condition) {\n if (node.tagName === 'HTML' || node.tagName === 'BODY') {\n condition = false;\n result = false;\n } else {\n const { position } = window.getComputedStyle(node);\n if (position === 'sticky') {\n result = true;\n condition = false;\n } else {\n if (!node || !node.parentNode) {\n condition = false;\n } else {\n node = node.parentNode as Element;\n }\n }\n }\n }\n return result;\n}\n","import type { ReactElement } from 'react';\nimport { Fragment, useMemo } from 'react';\nimport type { ButtonProps, DropdownProps } from 'antd';\nimport { Dropdown } from 'antd';\nimport { type ItemType } from 'antd/es/menu/interface.js';\nimport { ExclamationCircleFilled } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { dialogConfirm } from '../dialog-confirm/index.js';\nimport type { DialogModalProps } from '../dialog-modal/index.js';\nimport { fbaUtils } from '../fba-utils/index.js';\nimport { FlexLayout } from '../flex-layout/flex-layout.jsx';\nimport { parentsHasSticky } from './utils.js';\nimport './style.less';\n\nexport interface DropdownMenuItem extends Omit<ButtonProps, 'color'> {\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: string;\n hidden?: boolean;\n confirmModalProps?: DialogModalProps;\n stopPropagation?: boolean;\n}\n\nexport interface DropdownMenuWrapperProps extends Omit<DropdownProps, 'menu'> {\n menuList: Array<DropdownMenuItem | null>;\n /** dropdown 设置弹框根节点在body下 */\n isFixed?: boolean;\n}\n\n/**\n * DropdownMenuWrapper\n * 升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框使用存在问题,所以在 @flatbiz/antd@4.2.49版本修改为使用dialogConfirm组件实现二次弹框确认功能\n * @param props\n * @returns\n * ```\n * 1. Dropdown默认弹框根节点在组件内部,通过isFixed=true可设置弹框根节点在body下\n * ```\n */\nexport const DropdownMenuWrapper = (props: DropdownMenuWrapperProps) => {\n const { menuList, ...dropdownOtherProps } = props;\n const clsName = hooks.useId(undefined, 'DropdownMenuWrapper');\n\n const onClick = hooks.useCallbackRef((item: DropdownMenuItem, event) => {\n if (item.needConfirm) {\n dialogConfirm.open({\n title: (\n <FlexLayout direction=\"horizontal\" fullIndex={1} gap={8}>\n <ExclamationCircleFilled style={{ color: '#faad14' }} />\n <span>{item.title}</span>\n </FlexLayout>\n ),\n content: <Fragment>{item.confirmMessage}</Fragment>,\n onOk: item.onClick?.bind(null, event),\n okButtonProps: {\n loadingPosition: 'center',\n },\n ...item.confirmModalProps,\n });\n return Promise.resolve();\n }\n event.stopPropagation();\n return item.onClick?.(event);\n });\n\n const target = document.querySelector(`.${clsName}`);\n const container = useMemo(() => {\n if (props.isFixed || (target && parentsHasSticky(target))) {\n return undefined;\n }\n return target;\n }, [props.isFixed, target]);\n\n const menuItems = useMemo(() => {\n const menuItemsNew: ItemType[] = [];\n menuList.filter(Boolean).forEach((item, index) => {\n if (!item) return;\n const {\n text,\n permission,\n needConfirm,\n confirmMessage,\n hidden,\n type,\n confirmModalProps,\n ...otherProps\n } = item;\n if (hidden) return;\n if (permission && !fbaUtils.hasPermission(permission)) return;\n const buttonType = type || 'link';\n const danger = otherProps.color ? false : needConfirm;\n menuItemsNew.push({\n key: index,\n label: (\n <ButtonWrapper\n loadingPosition=\"center\"\n size=\"small\"\n danger={danger}\n {...otherProps}\n style={{ ...otherProps.style }}\n className={classNames('dmw-item-button', otherProps.className)}\n type={buttonType}\n key={index}\n onClick={onClick.bind(null, {\n ...item,\n needConfirm,\n confirmMessage,\n confirmModalProps,\n })}\n >\n {text}\n </ButtonWrapper>\n ),\n });\n });\n return menuItemsNew;\n }, [menuList, onClick]);\n\n return (\n <div\n className={classNames('dropdown-menu-wrapper', clsName)}\n style={{ position: 'relative' }}\n >\n <Dropdown\n trigger={dropdownOtherProps?.trigger || ['hover']}\n getPopupContainer={container ? () => target as HTMLElement : undefined}\n arrow={{ pointAtCenter: true }}\n {...dropdownOtherProps}\n overlayStyle={{ zIndex: 9, ...dropdownOtherProps.overlayStyle }}\n menu={{ items: menuItems }}\n rootClassName=\"dropdown-menu-wrapper-popup\"\n >\n {props.children}\n </Dropdown>\n </div>\n );\n};\n"],"names":["parentsHasSticky","node","condition","result","tagName","_window$getComputedSt","window","getComputedStyle","position","parentNode","DropdownMenuWrapper","props","menuList","dropdownOtherProps","_objectWithoutProperties","_excluded","clsName","_hooks","useId","undefined","onClick","useCallbackRef","item","event","_item$onClick2","needConfirm","_item$onClick","dialogConfirm","open","_objectSpread","title","_jsxs","FlexLayout","direction","fullIndex","gap","children","_jsx","_ExclamationCircleFilled","style","color","content","Fragment","confirmMessage","onOk","bind","okButtonProps","loadingPosition","confirmModalProps","Promise","resolve","stopPropagation","call","target","document","querySelector","concat","container","useMemo","isFixed","menuItems","menuItemsNew","filter","Boolean","forEach","index","text","permission","hidden","type","otherProps","_excluded2","fbaUtils","hasPermission","buttonType","danger","push","key","label","_createElement","ButtonWrapper","size","className","_classNames","Dropdown","trigger","getPopupContainer","arrow","pointAtCenter","overlayStyle","zIndex","menu","items","rootClassName"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu-wrapper-CSzVvlcO.js","sources":["@flatbiz/antd/src/dropdown-menu-wrapper/utils.ts","@flatbiz/antd/src/dropdown-menu-wrapper/dropdown-menu-wrapper.tsx"],"sourcesContent":["export function parentsHasSticky(node: Element) {\n let condition = true;\n let result = false;\n while (condition) {\n if (node.tagName === 'HTML' || node.tagName === 'BODY') {\n condition = false;\n result = false;\n } else {\n const { position } = window.getComputedStyle(node);\n if (position === 'sticky') {\n result = true;\n condition = false;\n } else {\n if (!node || !node.parentNode) {\n condition = false;\n } else {\n node = node.parentNode as Element;\n }\n }\n }\n }\n return result;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Fragment, useMemo } from 'react';\nimport type { ButtonProps, DropdownProps } from 'antd';\nimport { Dropdown } from 'antd';\nimport { type ItemType } from 'antd/es/menu/interface.js';\nimport { ExclamationCircleFilled } from '@ant-design/icons';\nimport { classNames } from '@dimjs/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { dialogConfirm } from '../dialog-confirm/index.js';\nimport type { DialogModalProps } from '../dialog-modal/index.js';\nimport { fbaUtils } from '../fba-utils/index.js';\nimport { FlexLayout } from '../flex-layout/flex-layout.jsx';\nimport { parentsHasSticky } from './utils.js';\nimport './style.less';\n\nexport interface DropdownMenuItem extends Omit<ButtonProps, 'color'> {\n text?: string | ReactElement;\n color?: string;\n onClick?: (event: React.MouseEvent<HTMLElement>) => void | Promise<void>;\n permission?: string;\n needConfirm?: boolean;\n confirmMessage?: ReactNode;\n hidden?: boolean;\n confirmModalProps?: DialogModalProps;\n stopPropagation?: boolean;\n}\n\nexport interface DropdownMenuWrapperProps extends Omit<DropdownProps, 'menu'> {\n menuList: Array<DropdownMenuItem | null>;\n /** dropdown 设置弹框根节点在body下 */\n isFixed?: boolean;\n}\n\n/**\n * DropdownMenuWrapper\n * 升级 antd 5.5.1 后,Dropdown 中 Popconfirm弹框使用存在问题,所以在 @flatbiz/antd@4.2.49版本修改为使用dialogConfirm组件实现二次弹框确认功能\n * @param props\n * @returns\n * ```\n * 1. Dropdown默认弹框根节点在组件内部,通过isFixed=true可设置弹框根节点在body下\n * ```\n */\nexport const DropdownMenuWrapper = (props: DropdownMenuWrapperProps) => {\n const { menuList, ...dropdownOtherProps } = props;\n const clsName = hooks.useId(undefined, 'DropdownMenuWrapper');\n\n const onClick = hooks.useCallbackRef((item: DropdownMenuItem, event) => {\n if (item.needConfirm) {\n dialogConfirm.open({\n title: (\n <FlexLayout direction=\"horizontal\" fullIndex={1} gap={8}>\n <ExclamationCircleFilled style={{ color: '#faad14' }} />\n <span>{item.title}</span>\n </FlexLayout>\n ),\n content: <Fragment>{item.confirmMessage}</Fragment>,\n onOk: item.onClick?.bind(null, event),\n okButtonProps: {\n loadingPosition: 'center',\n },\n ...item.confirmModalProps,\n });\n return Promise.resolve();\n }\n event.stopPropagation();\n return item.onClick?.(event);\n });\n\n const target = document.querySelector(`.${clsName}`);\n const container = useMemo(() => {\n if (props.isFixed || (target && parentsHasSticky(target))) {\n return undefined;\n }\n return target;\n }, [props.isFixed, target]);\n\n const menuItems = useMemo(() => {\n const menuItemsNew: ItemType[] = [];\n menuList.filter(Boolean).forEach((item, index) => {\n if (!item) return;\n const {\n text,\n permission,\n needConfirm,\n confirmMessage,\n hidden,\n type,\n confirmModalProps,\n ...otherProps\n } = item;\n if (hidden) return;\n if (permission && !fbaUtils.hasPermission(permission)) return;\n const buttonType = type || 'link';\n const danger = otherProps.color ? false : needConfirm;\n menuItemsNew.push({\n key: index,\n label: (\n <ButtonWrapper\n loadingPosition=\"center\"\n size=\"small\"\n danger={danger}\n {...otherProps}\n style={{ ...otherProps.style }}\n className={classNames('dmw-item-button', otherProps.className)}\n type={buttonType}\n key={index}\n onClick={onClick.bind(null, {\n ...item,\n needConfirm,\n confirmMessage,\n confirmModalProps,\n })}\n >\n {text}\n </ButtonWrapper>\n ),\n });\n });\n return menuItemsNew;\n }, [menuList, onClick]);\n\n return (\n <div\n className={classNames('dropdown-menu-wrapper', clsName)}\n style={{ position: 'relative' }}\n >\n <Dropdown\n trigger={dropdownOtherProps?.trigger || ['hover']}\n getPopupContainer={container ? () => target as HTMLElement : undefined}\n arrow={{ pointAtCenter: true }}\n {...dropdownOtherProps}\n overlayStyle={{ zIndex: 9, ...dropdownOtherProps.overlayStyle }}\n menu={{ items: menuItems }}\n rootClassName=\"dropdown-menu-wrapper-popup\"\n >\n {props.children}\n </Dropdown>\n </div>\n );\n};\n"],"names":["parentsHasSticky","node","condition","result","tagName","_window$getComputedSt","window","getComputedStyle","position","parentNode","DropdownMenuWrapper","props","menuList","dropdownOtherProps","_objectWithoutProperties","_excluded","clsName","_hooks","useId","undefined","onClick","useCallbackRef","item","event","_item$onClick2","needConfirm","_item$onClick","dialogConfirm","open","_objectSpread","title","_jsxs","FlexLayout","direction","fullIndex","gap","children","_jsx","_ExclamationCircleFilled","style","color","content","Fragment","confirmMessage","onOk","bind","okButtonProps","loadingPosition","confirmModalProps","Promise","resolve","stopPropagation","call","target","document","querySelector","concat","container","useMemo","isFixed","menuItems","menuItemsNew","filter","Boolean","forEach","index","text","permission","hidden","type","otherProps","_excluded2","fbaUtils","hasPermission","buttonType","danger","push","key","label","_createElement","ButtonWrapper","size","className","_classNames","Dropdown","trigger","getPopupContainer","arrow","pointAtCenter","overlayStyle","zIndex","menu","items","rootClassName"],"mappings":"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"}
@@ -60,6 +60,8 @@ export type TEasyTableTableColumn<T> = ColumnsType<T>[0] & {
60
60
  * ```
61
61
  */
62
62
  asyncRender?: (value: TAny, record: T, index: number, respData?: TAny) => ReactNode;
63
+ /** 设置默认值,当数据为undefined、null时显示;自定义render后失效 */
64
+ defaultValue?: string;
63
65
  };
64
66
  export type EasyTableServiceConfig = {
65
67
  /** 接口配置 */
@@ -11,7 +11,7 @@ import { f as fbaUtils } from '../fba-utils-Dfbczn1S.js';
11
11
  import { isArray } from '@dimjs/lang/is-array';
12
12
  import { isObject } from '@dimjs/lang/is-object';
13
13
  import { b as _objectSpread2, a as _slicedToArray, i as _defineProperty, c as _toConsumableArray, _ as _objectWithoutProperties } from '../_rollupPluginBabelHelpers-BYm17lo8.js';
14
- import { sessionStorageCache, localStorageCache, noop, getUuid, isUndefinedOrNull, isMacEnv } from '@flatbiz/utils';
14
+ import { sessionStorageCache, localStorageCache, noop, getUuid, isUndefinedOrNull, getValueOrDefault, isMacEnv } from '@flatbiz/utils';
15
15
  import { classNames } from '@dimjs/utils/class-names/class-names';
16
16
  import { isUndefined } from '@dimjs/lang/is-undefined';
17
17
  import { get } from '@dimjs/utils/get/get';
@@ -546,7 +546,10 @@ var EasyTable$1 = /*#__PURE__*/forwardRef(function (props, ref) {
546
546
  }) : /*#__PURE__*/jsx("div", {
547
547
  className: wrapperClassName,
548
548
  style: props.style,
549
- children: children
549
+ children: /*#__PURE__*/jsx("div", {
550
+ className: className,
551
+ children: children
552
+ })
550
553
  })
551
554
  });
552
555
  });
@@ -1109,6 +1112,16 @@ var EasyTableTable = function EasyTableTable(props) {
1109
1112
  }
1110
1113
  return tableDataSource;
1111
1114
  }, [tableDataSource, rowKey]);
1115
+ columnsNew = useMemo(function () {
1116
+ return columnsNew.map(function (item) {
1117
+ if (!!item.defaultValue && !item.render) {
1118
+ item.render = function (value) {
1119
+ return getValueOrDefault(value, '-');
1120
+ };
1121
+ }
1122
+ return item;
1123
+ });
1124
+ }, [columnsNew]);
1112
1125
  var tableRender = function tableRender() {
1113
1126
  if (isSync && !dataSource) {
1114
1127
  return /*#__PURE__*/jsxs(Fragment, {