@flatbiz/antd 4.4.22 → 4.4.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/dialog-drawer/index.js.map +1 -1
- package/esm/dialog-modal/index.js.map +1 -1
- package/esm/drag-editable-table/index.js +2 -1
- package/esm/drag-editable-table/index.js.map +1 -1
- package/esm/easy-form/index.js +1 -1
- package/esm/easy-form/index.js.map +1 -1
- package/esm/editable-table/index.js +2 -1
- package/esm/editable-table/index.js.map +1 -1
- package/esm/fba-app/index.js.map +1 -1
- package/esm/form-item-wrapper/index.css +1 -1
- package/esm/form-wrapper/index.css +1 -1
- package/esm/index.js +1 -1
- package/esm/label-value-render/index.js +1 -1
- package/esm/label-value-render/index.js.map +1 -1
- package/esm/pre-defined-class-name/index.css +1 -1
- package/esm/pre-defined-class-name/index.js.map +1 -1
- package/esm/text-overflow/index.js +1 -1
- package/esm/text-overflow/index.js.map +1 -1
- package/index.d.ts +47 -5
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/label-value-render/utils.ts","@flatbiz/antd/src/label-value-render/label-value.tsx"],"sourcesContent":["import { arrayTotal } from '@flatbiz/utils';\nimport { TLabelValueRenderItem } from './types';\n\nexport const getRenderGrid = (dataList: TLabelValueRenderItem[]) => {\n let results: TLabelValueRenderItem[][] = [];\n\n let currentSum = 0;\n let currentArr: TLabelValueRenderItem[] = [];\n for (let i = 0; i < dataList.length; i++) {\n const item = dataList[i];\n const grid = item.grid as number;\n const temp = {\n ...item,\n grid: grid,\n } as TLabelValueRenderItem;\n if (currentSum + grid <= 24 && grid > 0) {\n currentSum += grid;\n currentArr.push(temp);\n } else {\n results.push(currentArr);\n currentSum = grid;\n currentArr = [temp];\n }\n }\n\n if (currentArr.length > 0) {\n results.push(currentArr);\n }\n if (results.length > 0) {\n results = results.map((item, index) => {\n if (item.length === 1) {\n item[0].grid = 24;\n } else {\n const total = arrayTotal(item, 'grid');\n const lastItem = item[item.length - 1];\n if (total < 24) {\n lastItem.grid = 24 - total + lastItem.grid;\n }\n }\n if (index === results.length - 1) {\n return item.map((temp) => {\n temp.isLast = true;\n return temp;\n });\n }\n return item;\n });\n }\n\n let resultsFt: TLabelValueRenderItem[] = [];\n results.forEach((item) => {\n resultsFt = resultsFt.concat(item);\n });\n console.log('resultsFt', resultsFt);\n return resultsFt;\n};\n","import { CSSProperties, Fragment, ReactElement, useMemo, useState } from 'react';\n\nimport { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BoxGrid } from '../box-grid';\nimport { TBoxBreakpoint } from '../box-grid/type';\nimport { fbaHooks } from '../fba-hooks';\nimport { TextOverflow } from '../text-overflow';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper';\nimport { TipsWrapper } from '../tips-wrapper';\nimport './style.less';\nimport { TLabelValueItem, TLabelValueRenderItem } from './types';\nimport { getRenderGrid } from './utils';\n\nexport type LabelValueRenderProps = {\n className?: string;\n style?: CSSProperties;\n /**\n * 定义一行显示几列, 默认值:4\n * ```\n * 1. 当外层宽度尺寸大于 992px(lg) 时,一行显示几列\n * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响,响应式布局\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 options: TLabelValueItem[];\n /**\n * 超过宽度将自动省略,默认值:true\n */\n ellipsis?: boolean;\n /** 是否添加边框 */\n border?: boolean;\n /** label对齐方式 */\n labelAlign?: 'left' | 'right' | 'center';\n /** label 宽度,默认值:100 */\n labelWidth?: number;\n width?: number;\n /** label 样式 */\n labelStyle?: CSSProperties;\n /** value 样式 */\n valueStyle?: CSSProperties;\n};\n\n/**\n * label+value 列表布局\n * ```\n * 1. 可设置超出隐藏、必填标识、设置隐藏、添加说明标签等功能\n * 2. 可自定义设置占用网格列数\n * 3. 内置响应式布局\n * ```\n */\nexport const LabelValueRender = (props: LabelValueRenderProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [breakpoint, setBreakpoint] = useState<TBoxBreakpoint>();\n\n const { column, forceColumn, labelAlign, labelWidth, options, border, width } = props;\n\n const ellipsis = isUndefinedOrNull(props.ellipsis) ? true : props.ellipsis;\n\n const isVertical = !border ? screenType === 'xs' || breakpoint === 'xs' : false;\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 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 !column ? columnMap[4] : columnMap[column];\n }, [column, forceColumn]);\n\n const renderList = useMemo(() => {\n if (!breakpoint) return undefined;\n const dataListNew: TLabelValueRenderItem[] = [];\n options.forEach((item) => {\n if (!item.hidden) {\n let grid: number | undefined = undefined;\n if (item.span) {\n grid = item.span * 6;\n if (breakpoint === 'xs') {\n grid = 24;\n } else if (breakpoint === 'sm') {\n grid = grid > 12 ? grid : 12;\n }\n }\n dataListNew.push({\n ...item,\n grid: grid ? grid : gridSize[breakpoint],\n });\n }\n });\n\n return getRenderGrid(dataListNew.filter(Boolean));\n }, [breakpoint, gridSize]);\n\n const colon = border ? '' : ':';\n\n const getFormRowChildren = () => {\n return renderList\n ?.map((item, index) => {\n const ellipsisFt = isUndefinedOrNull(item.ellipsis) ? ellipsis : item.ellipsis;\n\n const width = isVertical ? undefined : labelWidth || 100;\n\n let labelContent: ReactElement | string = `${item.label}${colon}`;\n\n if (item.tips && ellipsisFt) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n <TextOverflow text={labelContent as unknown as string} />\n </TipsWrapper>\n );\n } else if (item.tips) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n {labelContent}\n </TipsWrapper>\n );\n } else if (ellipsisFt) {\n labelContent = <TextOverflow text={labelContent as unknown as string} />;\n }\n\n return (\n <BoxGrid.Col\n key={index}\n {...gridSize}\n span={item.grid}\n className={classNames('label-value-tr', { 'label-value-last-tr': item.isLast })}\n >\n {!item.replenish ? (\n <Fragment>\n <span className=\"label-value-label\" style={{ width, ...props.labelStyle }}>\n {item.required ? (\n <TextSymbolWrapper text={labelContent} symbolType=\"required\" />\n ) : (\n labelContent\n )}\n </span>\n {ellipsisFt ? (\n <span className=\"label-value-value\" style={props.valueStyle}>\n <TextOverflow text={item.value as string} />\n </span>\n ) : (\n <span className=\"label-value-value\" style={props.valueStyle}>\n {item.value}\n </span>\n )}\n </Fragment>\n ) : (\n <Fragment />\n )}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const onBoxBreakpointChange = hooks.useCallbackRef((breakpoint: TBoxBreakpoint) => {\n setBreakpoint(breakpoint);\n });\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType]);\n\n const align = labelAlign || (border ? 'left' : 'right');\n\n return (\n <BoxGrid.Row\n style={{ ...innerStyle, ...props.style }}\n className={classNames(\n 'label-value-render',\n `label-value-render-${align}`,\n {\n 'label-value-render-border': border,\n 'label-value-render-vertical': isVertical,\n },\n props.className,\n )}\n gutter={border ? [0, 0] : [30, 0]}\n onBoxBreakpointChange={onBoxBreakpointChange}\n >\n {getFormRowChildren()}\n </BoxGrid.Row>\n );\n};\n"],"names":["getRenderGrid","dataList","results","currentSum","currentArr","i","length","item","grid","temp","_extends","push","map","index","total","arrayTotal","lastItem","isLast","resultsFt","forEach","concat","console","log","LabelValueRender","props","screenType","fbaHooks","useResponsivePoint","_useState","useState","breakpoint","setBreakpoint","column","forceColumn","labelAlign","labelWidth","options","border","width","ellipsis","isUndefinedOrNull","isVertical","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","renderList","undefined","dataListNew","hidden","span","filter","Boolean","colon","getFormRowChildren","ellipsisFt","labelContent","label","tips","_jsx","TipsWrapper","tipType","tooltipProps","title","children","TextOverflow","text","BoxGrid","Col","className","_classNames","replenish","_jsxs","Fragment","style","labelStyle","required","TextSymbolWrapper","symbolType","valueStyle","value","onBoxBreakpointChange","_hooks","useCallbackRef","innerStyle","includes","align","Row","gutter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/label-value-render/utils.ts","@flatbiz/antd/src/label-value-render/label-value.tsx"],"sourcesContent":["import { arrayTotal } from '@flatbiz/utils';\nimport { TLabelValueRenderItem } from './types';\n\nexport const getRenderGrid = (dataList: TLabelValueRenderItem[]) => {\n let results: TLabelValueRenderItem[][] = [];\n\n let currentSum = 0;\n let currentArr: TLabelValueRenderItem[] = [];\n for (let i = 0; i < dataList.length; i++) {\n const item = dataList[i];\n const grid = item.grid as number;\n const temp = {\n ...item,\n grid: grid,\n } as TLabelValueRenderItem;\n if (currentSum + grid <= 24 && grid > 0) {\n currentSum += grid;\n currentArr.push(temp);\n } else {\n results.push(currentArr);\n currentSum = grid;\n currentArr = [temp];\n }\n }\n\n if (currentArr.length > 0) {\n results.push(currentArr);\n }\n if (results.length > 0) {\n results = results.map((item, index) => {\n if (item.length === 1) {\n item[0].grid = 24;\n } else {\n const total = arrayTotal(item, 'grid');\n const lastItem = item[item.length - 1];\n if (total < 24) {\n lastItem.grid = 24 - total + lastItem.grid;\n }\n }\n if (index === results.length - 1) {\n return item.map((temp) => {\n temp.isLast = true;\n return temp;\n });\n }\n return item;\n });\n }\n\n let resultsFt: TLabelValueRenderItem[] = [];\n results.forEach((item) => {\n resultsFt = resultsFt.concat(item);\n });\n console.log('resultsFt', resultsFt);\n return resultsFt;\n};\n","import { CSSProperties, Fragment, ReactElement, useMemo, useState } from 'react';\n\nimport { classNames } from '@dimjs/utils';\nimport { isUndefinedOrNull } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BoxGrid } from '../box-grid';\nimport { TBoxBreakpoint } from '../box-grid/type';\nimport { fbaHooks } from '../fba-hooks';\nimport { TextOverflow } from '../text-overflow';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper';\nimport { TipsWrapper } from '../tips-wrapper';\nimport './style.less';\nimport { TLabelValueItem, TLabelValueRenderItem } from './types';\nimport { getRenderGrid } from './utils';\n\nexport type LabelValueRenderProps = {\n className?: string;\n style?: CSSProperties;\n /**\n * 定义一行显示几列, 默认值:4\n * ```\n * 1. 当外层宽度尺寸大于 992px(lg) 时,一行显示几列\n * 1. 当外层宽度尺寸小于992px(lg),为xs、sm、md情况下不受column值影响,响应式布局\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 options: TLabelValueItem[];\n /**\n * 超过宽度将自动省略,默认值:true\n */\n ellipsis?: boolean;\n /** 是否添加边框 */\n border?: boolean;\n /** label对齐方式 */\n labelAlign?: 'left' | 'right' | 'center';\n /** label 宽度,默认值:100 */\n labelWidth?: number;\n width?: number;\n /** label 样式 */\n labelStyle?: CSSProperties;\n /** value 样式 */\n valueStyle?: CSSProperties;\n};\n\n/**\n * label+value 列表布局\n * ```\n * 1. 可设置超出隐藏、必填标识、设置隐藏、添加说明标签等功能\n * 2. 可自定义设置占用网格列数\n * 3. 内置响应式布局\n * ```\n */\nexport const LabelValueRender = (props: LabelValueRenderProps) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [breakpoint, setBreakpoint] = useState<TBoxBreakpoint>();\n\n const { column, forceColumn, labelAlign, labelWidth, options, border, width } = props;\n\n const ellipsis = isUndefinedOrNull(props.ellipsis) ? true : props.ellipsis;\n\n const isVertical = !border ? screenType === 'xs' || breakpoint === 'xs' : false;\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 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 !column ? columnMap[4] : columnMap[column];\n }, [column, forceColumn]);\n\n const renderList = useMemo(() => {\n if (!breakpoint) return undefined;\n const dataListNew: TLabelValueRenderItem[] = [];\n options.forEach((item) => {\n if (!item.hidden) {\n let grid: number | undefined = undefined;\n if (item.span) {\n grid = item.span * 6;\n if (breakpoint === 'xs') {\n grid = 24;\n } else if (breakpoint === 'sm') {\n grid = grid > 12 ? grid : 12;\n }\n }\n dataListNew.push({\n ...item,\n grid: grid ? grid : gridSize[breakpoint],\n });\n }\n });\n\n return getRenderGrid(dataListNew.filter(Boolean));\n }, [breakpoint, gridSize]);\n\n const colon = border ? '' : ':';\n\n const getFormRowChildren = () => {\n return renderList\n ?.map((item, index) => {\n const ellipsisFt = isUndefinedOrNull(item.ellipsis) ? ellipsis : item.ellipsis;\n\n const width = isVertical ? undefined : labelWidth || 100;\n\n let labelContent: ReactElement | string = `${item.label}${colon}`;\n\n if (item.tips && ellipsisFt) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n <TextOverflow text={labelContent as unknown as string} />\n </TipsWrapper>\n );\n } else if (item.tips) {\n labelContent = (\n <TipsWrapper tipType=\"tooltip\" tooltipProps={{ title: item.tips }}>\n {labelContent}\n </TipsWrapper>\n );\n } else if (ellipsisFt) {\n labelContent = <TextOverflow text={labelContent as unknown as string} />;\n }\n\n return (\n <BoxGrid.Col\n key={index}\n {...gridSize}\n span={item.grid}\n className={classNames('label-value-tr', { 'label-value-last-tr': item.isLast })}\n >\n {!item.replenish ? (\n <Fragment>\n <span className=\"label-value-label\" style={{ width, ...props.labelStyle }}>\n {item.required ? (\n <TextSymbolWrapper text={labelContent} symbolType=\"required\" />\n ) : (\n labelContent\n )}\n </span>\n {ellipsisFt ? (\n <span className=\"label-value-value\" style={props.valueStyle}>\n <TextOverflow text={item.value as string} />\n </span>\n ) : (\n <span\n className=\"label-value-value\"\n style={{\n wordBreak: 'break-all',\n ...props.valueStyle,\n }}\n >\n {item.value}\n </span>\n )}\n </Fragment>\n ) : (\n <Fragment />\n )}\n </BoxGrid.Col>\n );\n })\n .filter(Boolean);\n };\n\n const onBoxBreakpointChange = hooks.useCallbackRef((breakpoint: TBoxBreakpoint) => {\n setBreakpoint(breakpoint);\n });\n\n const innerStyle = useMemo(() => {\n /** 小屏幕不控制宽度 */\n if (['xs', 'sm'].includes(screenType) || !width) {\n return {};\n }\n return { width };\n }, [screenType]);\n\n const align = labelAlign || (border ? 'left' : 'right');\n\n return (\n <BoxGrid.Row\n style={{ ...innerStyle, ...props.style }}\n className={classNames(\n 'label-value-render',\n `label-value-render-${align}`,\n {\n 'label-value-render-border': border,\n 'label-value-render-vertical': isVertical,\n },\n props.className,\n )}\n gutter={border ? [0, 0] : [30, 0]}\n onBoxBreakpointChange={onBoxBreakpointChange}\n >\n {getFormRowChildren()}\n </BoxGrid.Row>\n );\n};\n"],"names":["getRenderGrid","dataList","results","currentSum","currentArr","i","length","item","grid","temp","_extends","push","map","index","total","arrayTotal","lastItem","isLast","resultsFt","forEach","concat","console","log","LabelValueRender","props","screenType","fbaHooks","useResponsivePoint","_useState","useState","breakpoint","setBreakpoint","column","forceColumn","labelAlign","labelWidth","options","border","width","ellipsis","isUndefinedOrNull","isVertical","gridSize","useMemo","num","xs","sm","md","lg","xl","xxl","columnMap","renderList","undefined","dataListNew","hidden","span","filter","Boolean","colon","getFormRowChildren","ellipsisFt","labelContent","label","tips","_jsx","TipsWrapper","tipType","tooltipProps","title","children","TextOverflow","text","BoxGrid","Col","className","_classNames","replenish","_jsxs","Fragment","style","labelStyle","required","TextSymbolWrapper","symbolType","valueStyle","value","wordBreak","onBoxBreakpointChange","_hooks","useCallbackRef","innerStyle","includes","align","Row","gutter"],"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-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{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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/pre-defined-class-name/form/index.tsx","@flatbiz/antd/src/pre-defined-class-name/index.ts"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport './style.less';\n/**\n * 使用在Form组件上,预定义form-item label宽度\n */\nexport const formClassName = {\n label_width_70: 'form-label-70',\n label_width_80: 'form-label-80',\n label_width_90: 'form-label-90',\n label_width_100: 'form-label-100',\n label_width_110: 'form-label-110',\n label_width_120: 'form-label-120',\n label_width_130: 'form-label-130',\n label_width_140: 'form-label-140',\n label_width_150: 'form-label-150',\n label_width_160: 'form-label-160',\n label_width_170: 'form-label-170',\n label_width_180: 'form-label-180',\n label_width_190: 'form-label-190',\n label_width_200: 'form-label-200',\n label_width_auto: 'form-label-auto',\n label_align_left: 'form-label-align-left',\n label_align_right: 'form-label-align-right',\n label_value_vertical: 'form-label-value-vertical',\n /** formItem之间的垂直间距为15 */\n formItemGap15: 'form-formitem-gap-15',\n /** formItem之间的垂直间距为8 */\n formItemGap8: 'form-formitem-gap-8',\n /** formItem之间的垂直间距为8 */\n formItemGap5: 'form-formitem-gap-5',\n /** formItem之间的垂直间距为0 */\n formItemGap0: 'form-formitem-gap-0',\n};\n/**\n * 使用在Form.Item组件上,预定义form-item label宽度\n */\nexport const formItemClassName = {\n label_width_70: 'form-item-label-70',\n label_width_80: 'form-item-label-80',\n label_width_90: 'form-item-label-90',\n label_width_100: 'form-item-label-100',\n label_width_110: 'form-item-label-110',\n label_width_120: 'form-item-label-120',\n label_width_130: 'form-item-label-130',\n label_width_140: 'form-item-label-140',\n label_width_150: 'form-item-label-150',\n label_width_160: 'form-item-label-160',\n label_width_170: 'form-item-label-170',\n label_width_180: 'form-item-label-180',\n label_width_190: 'form-item-label-190',\n label_width_200: 'form-item-label-200',\n label_width_auto: 'form-item-label-auto',\n label_align_left: 'form-item-label-align-left',\n label_align_right: 'form-item-label-align-right',\n label_value_vertical: 'form-item-label-value-vertical',\n};\n\nexport type TFormLayoutPreClassNameProps = {\n /**\n * label宽度,Form内部所有FormItem label都生效\n * ```\n * 1. 可设置数值\n * 2. 可设置`auto`自适应\n * ```\n */\n labelWidth?:\n | 'auto'\n | '70'\n | '80'\n | '90'\n | '100'\n | '110'\n | '120'\n | '130'\n | '140'\n | '150'\n | '160'\n | '170'\n | '180'\n | '190'\n | '200';\n /** labelItem 竖直布局 */\n labelItemVertical?: boolean;\n /** label 对齐方式 */\n labelAlign?: 'left' | 'right';\n /** formItem之间竖直间距,默认值:24 */\n formItemGap?: '15' | '8' | '5' | '0';\n /**\n * className 中可能会包含 preDefinedClassName.form.xx,优先级大于 labelWidth、labelItemVertical、labelAlign、formItemGap\n */\n className?: string;\n};\n\nexport const getFormLayoutClassName = (props: TFormLayoutPreClassNameProps) => {\n let cn = props.className || '';\n if (props.labelWidth) {\n const regex = /form-label-\\d+/;\n if (!regex.test(cn)) {\n cn = `form-label-${props.labelWidth}`;\n }\n }\n if (props.labelItemVertical) {\n const regex = /form-label-value-vertical/;\n if (!regex.test(cn)) {\n cn = classNames(cn, 'form-label-value-vertical');\n }\n }\n if (props.labelAlign) {\n const regex = /form-label-align-(left|right)/;\n if (!regex.test(cn)) {\n cn = classNames(cn, `form-label-align-${props.labelAlign}`);\n }\n }\n if (props.formItemGap) {\n const regex = /form-formitem-gap-\\d+/;\n if (!regex.test(cn)) {\n cn = classNames(cn, `form-formitem-gap-${props.formItemGap}`);\n }\n }\n return cn;\n return cn;\n};\n\nexport type TFormItemLayoutPreClassNameProps = {\n /**\n * label宽度,Form内部所有FormItem label都生效\n * ```\n * 1. 可设置数值\n * 2. 可设置`auto`自适应\n * ```\n */\n labelWidth?:\n | 'auto'\n | '70'\n | '80'\n | '90'\n | '100'\n | '110'\n | '120'\n | '130'\n | '140'\n | '150'\n | '160'\n | '170'\n | '180'\n | '190'\n | '200';\n /** labelItem 竖直布局 */\n labelItemVertical?: boolean;\n /** label 对齐方式 */\n labelAlign?: 'left' | 'right';\n /**\n * className 中可能会包含 preDefinedClassName.formItem.xx,优先级大于 labelWidth、labelItemVertical、labelAlign\n */\n className?: string;\n};\n\nexport const getFormItemLayoutClassName = (props: TFormItemLayoutPreClassNameProps) => {\n let cn = props.className || '';\n if (props.labelWidth) {\n const regex = /form-label-\\d+/;\n if (!regex.test(cn)) {\n cn = `form-item-label-${props.labelWidth}`;\n }\n }\n if (props.labelItemVertical) {\n const regex = /form-item-label-value-vertical/;\n if (!regex.test(cn)) {\n cn = classNames(cn, 'form-item-label-value-vertical');\n }\n }\n if (props.labelAlign) {\n const regex = /form-item-label-align-(left|right)/;\n if (!regex.test(cn)) {\n cn = classNames(cn, `form-item-label-align-${props.labelAlign}`);\n }\n }\n return cn;\n};\n","import { formClassName, formItemClassName, getFormItemLayoutClassName, getFormLayoutClassName } from './form';\n\n/**\n * 预定义className\n * ```\n * form: 使用在Form组件上,设置form-item label宽度\n * formItem: 使用在Form.Item组件上,设置form-item label宽度\n * ```\n */\nexport const preDefinedClassName = {\n /**\n * @deprecated,已过期,使用preDefinedClassName.getFormLayoutClassName(...)\n */\n form: formClassName,\n /**\n * @deprecated 已过期,使用preDefinedClassName.getFormItemLayoutClassName(...)\n */\n formItem: formItemClassName,\n /**\n * 获取针对Form下全部label布局的预设className,包括\n * ```\n * 1. formLabel宽度\n * 2. formLabel对齐方式\n * 3. form label value的竖直布局\n * 4. formItem之间的间距\n * ```\n */\n getFormLayoutClassName,\n /**\n * 获取针对单个FormItem label布局的预设className,包括\n * ```\n * 1. formLabel宽度\n * 2. formLabel对齐方式\n * 3. form label value的竖直布局\n * ```\n */\n getFormItemLayoutClassName,\n};\n"],"names":["formClassName","label_width_70","label_width_80","label_width_90","label_width_100","label_width_110","label_width_120","label_width_130","label_width_140","label_width_150","label_width_160","label_width_170","label_width_180","label_width_190","label_width_200","label_width_auto","label_align_left","label_align_right","label_value_vertical","formItemGap15","formItemGap8","formItemGap5","formItemGap0","formItemClassName","getFormLayoutClassName","props","cn","className","labelWidth","regex","test","labelItemVertical","_classNames","labelAlign","formItemGap","getFormItemLayoutClassName","preDefinedClassName","form","formItem"],"mappings":";0DAKO,IAAMA,EAAgB,CAC3BC,eAAgB,gBAChBC,eAAgB,gBAChBC,eAAgB,gBAChBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,iBAAkB,kBAClBC,iBAAkB,wBAClBC,kBAAmB,yBACnBC,qBAAsB,4BAEtBC,cAAe,uBAEfC,aAAc,sBAEdC,aAAc,sBAEdC,aAAc,uBAKT,IAAMC,EAAoB,CAC/BtB,eAAgB,qBAChBC,eAAgB,qBAChBC,eAAgB,qBAChBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,iBAAkB,uBAClBC,iBAAkB,6BAClBC,kBAAmB,8BACnBC,qBAAsB,kCAuCjB,IAAMM,EAAyB,SAAzBA,EAA0BC,GACrC,IAAIC,EAAKD,EAAME,WAAa,GAC5B,GAAIF,EAAMG,WAAY,CACpB,IAAMC,EAAQ,iBACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAE,cAAiBD,EAAMG,UAC3B,CACF,CACA,GAAIH,EAAMM,kBAAmB,CAC3B,IAAMF,EAAQ,4BACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAKM,EAAWN,EAAI,4BACtB,CACF,CACA,GAAID,EAAMQ,WAAY,CACpB,IAAMJ,EAAQ,gCACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAKM,EAAWN,sBAAwBD,EAAMQ,WAChD,CACF,CACA,GAAIR,EAAMS,YAAa,CACrB,IAAML,EAAQ,wBACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAKM,EAAWN,uBAAyBD,EAAMS,YACjD,CACF,CACA,OAAOR,CAET,EAoCO,IAAMS,EAA6B,SAA7BA,EAA8BV,GACzC,IAAIC,EAAKD,EAAME,WAAa,GAC5B,GAAIF,EAAMG,WAAY,CACpB,IAAMC,EAAQ,iBACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAE,mBAAsBD,EAAMG,UAChC,CACF,CACA,GAAIH,EAAMM,kBAAmB,CAC3B,IAAMF,EAAQ,iCACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAKM,EAAWN,EAAI,iCACtB,CACF,CACA,GAAID,EAAMQ,WAAY,CACpB,IAAMJ,EAAQ,qCACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAKM,EAAWN,2BAA6BD,EAAMQ,WACrD,CACF,CACA,OAAOP,CACT,ECzKO,IAAMU,EAAsB,CAIjCC,KAAMrC,EAINsC,SAAUf,EAUVC,uBAAAA,EASAW,2BAAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/pre-defined-class-name/form/index.tsx","@flatbiz/antd/src/pre-defined-class-name/index.ts"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport './style.less';\n/**\n * 使用在Form组件上,预定义form-item label宽度\n */\nexport const formClassName = {\n label_width_70: 'form-label-70',\n label_width_80: 'form-label-80',\n label_width_90: 'form-label-90',\n label_width_100: 'form-label-100',\n label_width_110: 'form-label-110',\n label_width_120: 'form-label-120',\n label_width_130: 'form-label-130',\n label_width_140: 'form-label-140',\n label_width_150: 'form-label-150',\n label_width_160: 'form-label-160',\n label_width_170: 'form-label-170',\n label_width_180: 'form-label-180',\n label_width_190: 'form-label-190',\n label_width_200: 'form-label-200',\n label_width_auto: 'form-label-auto',\n label_align_left: 'form-label-align-left',\n label_align_right: 'form-label-align-right',\n label_value_vertical: 'form-label-value-vertical',\n /** formItem之间的垂直间距为15 */\n formItemGap15: 'form-formitem-gap-15',\n /** formItem之间的垂直间距为8 */\n formItemGap8: 'form-formitem-gap-8',\n /** formItem之间的垂直间距为8 */\n formItemGap5: 'form-formitem-gap-5',\n /** formItem之间的垂直间距为0 */\n formItemGap0: 'form-formitem-gap-0',\n};\n/**\n * 使用在Form.Item组件上,预定义form-item label宽度\n */\nexport const formItemClassName = {\n label_width_70: 'form-item-label-70',\n label_width_80: 'form-item-label-80',\n label_width_90: 'form-item-label-90',\n label_width_100: 'form-item-label-100',\n label_width_110: 'form-item-label-110',\n label_width_120: 'form-item-label-120',\n label_width_130: 'form-item-label-130',\n label_width_140: 'form-item-label-140',\n label_width_150: 'form-item-label-150',\n label_width_160: 'form-item-label-160',\n label_width_170: 'form-item-label-170',\n label_width_180: 'form-item-label-180',\n label_width_190: 'form-item-label-190',\n label_width_200: 'form-item-label-200',\n label_width_auto: 'form-item-label-auto',\n label_align_left: 'form-item-label-align-left',\n label_align_right: 'form-item-label-align-right',\n label_value_vertical: 'form-item-label-value-vertical',\n};\n\nexport type TFormLayoutPreClassNameProps = {\n /**\n * label宽度,Form内部所有FormItem label都生效\n * ```\n * 1. 可设置数值\n * 2. 可设置`auto`自适应\n * ```\n */\n labelWidth?:\n | 'auto'\n | '70'\n | '80'\n | '90'\n | '100'\n | '110'\n | '120'\n | '130'\n | '140'\n | '150'\n | '160'\n | '170'\n | '180'\n | '190'\n | '200';\n /** labelItem 竖直布局 */\n labelItemVertical?: boolean;\n /** label 对齐方式 */\n labelAlign?: 'left' | 'right';\n /** formItem之间竖直间距,默认值:24 */\n formItemGap?: '24' | '15' | '8' | '5' | '0';\n /**\n * className 中可能会包含 preDefinedClassName.form.xx,优先级大于 labelWidth、labelItemVertical、labelAlign、formItemGap\n */\n className?: string;\n};\n\nexport const getFormLayoutClassName = (props: TFormLayoutPreClassNameProps) => {\n let cn = props.className || '';\n if (props.labelWidth) {\n const regex = /form-label-\\d+/;\n if (!regex.test(cn)) {\n cn = `form-label-${props.labelWidth}`;\n }\n }\n if (props.labelItemVertical) {\n const regex = /form-label-value-vertical/;\n if (!regex.test(cn)) {\n cn = classNames(cn, 'form-label-value-vertical');\n }\n }\n if (props.labelAlign) {\n const regex = /form-label-align-(left|right)/;\n if (!regex.test(cn)) {\n cn = classNames(cn, `form-label-align-${props.labelAlign}`);\n }\n }\n if (props.formItemGap) {\n const regex = /form-formitem-gap-\\d+/;\n if (!regex.test(cn)) {\n cn = classNames(cn, `form-formitem-gap-${props.formItemGap}`);\n }\n }\n return cn;\n return cn;\n};\n\nexport type TFormItemLayoutPreClassNameProps = {\n /**\n * label宽度,Form内部所有FormItem label都生效\n * ```\n * 1. 可设置数值\n * 2. 可设置`auto`自适应\n * ```\n */\n labelWidth?:\n | 'auto'\n | '70'\n | '80'\n | '90'\n | '100'\n | '110'\n | '120'\n | '130'\n | '140'\n | '150'\n | '160'\n | '170'\n | '180'\n | '190'\n | '200';\n /** labelItem 竖直布局 */\n labelItemVertical?: boolean;\n /** label 对齐方式 */\n labelAlign?: 'left' | 'right';\n /**\n * className 中可能会包含 preDefinedClassName.formItem.xx,优先级大于 labelWidth、labelItemVertical、labelAlign\n */\n className?: string;\n};\n\nexport const getFormItemLayoutClassName = (props: TFormItemLayoutPreClassNameProps) => {\n let cn = props.className || '';\n if (props.labelWidth) {\n const regex = /form-label-\\d+/;\n if (!regex.test(cn)) {\n cn = `form-item-label-${props.labelWidth}`;\n }\n }\n if (props.labelItemVertical) {\n const regex = /form-item-label-value-vertical/;\n if (!regex.test(cn)) {\n cn = classNames(cn, 'form-item-label-value-vertical');\n }\n }\n if (props.labelAlign) {\n const regex = /form-item-label-align-(left|right)/;\n if (!regex.test(cn)) {\n cn = classNames(cn, `form-item-label-align-${props.labelAlign}`);\n }\n }\n return cn;\n};\n","import { formClassName, formItemClassName, getFormItemLayoutClassName, getFormLayoutClassName } from './form';\n\n/**\n * 预定义className\n * ```\n * form: 使用在Form组件上,设置form-item label宽度\n * formItem: 使用在Form.Item组件上,设置form-item label宽度\n * ```\n */\nexport const preDefinedClassName = {\n /**\n * @deprecated,已过期,使用preDefinedClassName.getFormLayoutClassName(...)\n */\n form: formClassName,\n /**\n * @deprecated 已过期,使用preDefinedClassName.getFormItemLayoutClassName(...)\n */\n formItem: formItemClassName,\n /**\n * 获取针对Form下全部label布局的预设className,包括\n * ```\n * 1. formLabel宽度\n * 2. formLabel对齐方式\n * 3. form label value的竖直布局\n * 4. formItem之间的间距\n * ```\n */\n getFormLayoutClassName,\n /**\n * 获取针对单个FormItem label布局的预设className,包括\n * ```\n * 1. formLabel宽度\n * 2. formLabel对齐方式\n * 3. form label value的竖直布局\n * ```\n */\n getFormItemLayoutClassName,\n};\n"],"names":["formClassName","label_width_70","label_width_80","label_width_90","label_width_100","label_width_110","label_width_120","label_width_130","label_width_140","label_width_150","label_width_160","label_width_170","label_width_180","label_width_190","label_width_200","label_width_auto","label_align_left","label_align_right","label_value_vertical","formItemGap15","formItemGap8","formItemGap5","formItemGap0","formItemClassName","getFormLayoutClassName","props","cn","className","labelWidth","regex","test","labelItemVertical","_classNames","labelAlign","formItemGap","getFormItemLayoutClassName","preDefinedClassName","form","formItem"],"mappings":";0DAKO,IAAMA,EAAgB,CAC3BC,eAAgB,gBAChBC,eAAgB,gBAChBC,eAAgB,gBAChBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,iBAAkB,kBAClBC,iBAAkB,wBAClBC,kBAAmB,yBACnBC,qBAAsB,4BAEtBC,cAAe,uBAEfC,aAAc,sBAEdC,aAAc,sBAEdC,aAAc,uBAKT,IAAMC,EAAoB,CAC/BtB,eAAgB,qBAChBC,eAAgB,qBAChBC,eAAgB,qBAChBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,gBAAiB,sBACjBC,iBAAkB,uBAClBC,iBAAkB,6BAClBC,kBAAmB,8BACnBC,qBAAsB,kCAuCjB,IAAMM,EAAyB,SAAzBA,EAA0BC,GACrC,IAAIC,EAAKD,EAAME,WAAa,GAC5B,GAAIF,EAAMG,WAAY,CACpB,IAAMC,EAAQ,iBACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAE,cAAiBD,EAAMG,UAC3B,CACF,CACA,GAAIH,EAAMM,kBAAmB,CAC3B,IAAMF,EAAQ,4BACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAKM,EAAWN,EAAI,4BACtB,CACF,CACA,GAAID,EAAMQ,WAAY,CACpB,IAAMJ,EAAQ,gCACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAKM,EAAWN,sBAAwBD,EAAMQ,WAChD,CACF,CACA,GAAIR,EAAMS,YAAa,CACrB,IAAML,EAAQ,wBACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAKM,EAAWN,uBAAyBD,EAAMS,YACjD,CACF,CACA,OAAOR,CAET,EAoCO,IAAMS,EAA6B,SAA7BA,EAA8BV,GACzC,IAAIC,EAAKD,EAAME,WAAa,GAC5B,GAAIF,EAAMG,WAAY,CACpB,IAAMC,EAAQ,iBACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAE,mBAAsBD,EAAMG,UAChC,CACF,CACA,GAAIH,EAAMM,kBAAmB,CAC3B,IAAMF,EAAQ,iCACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAKM,EAAWN,EAAI,iCACtB,CACF,CACA,GAAID,EAAMQ,WAAY,CACpB,IAAMJ,EAAQ,qCACd,IAAKA,EAAMC,KAAKJ,GAAK,CACnBA,EAAKM,EAAWN,2BAA6BD,EAAMQ,WACrD,CACF,CACA,OAAOP,CACT,ECzKO,IAAMU,EAAsB,CAIjCC,KAAMrC,EAINsC,SAAUf,EAUVC,uBAAAA,EASAW,2BAAAA"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import './../fba-hooks/index.css';
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
|
-
import{_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isString as e}from"@dimjs/lang/cjs/is-string";import{useRef as r,
|
|
5
|
+
import{_ as t}from"../_rollupPluginBabelHelpers-a0769acd.js";import{isString as e}from"@dimjs/lang/cjs/is-string";import{useRef as r,useMemo as n,memo as i}from"react";import{classNames as a}from"@dimjs/utils/cjs/class-names";import{useSize as o}from"ahooks";import{Tooltip as l}from"antd";import{fbaHooks as s}from"../fba-hooks/index.js";import{jsxs as c,jsx as u}from"react/jsx-runtime";import{subStringByBytes as d}from"@flatbiz/utils";import"@dimjs/lang/cjs/is-array";import"@wove/react/cjs/hooks";import"../use-responsive-point-21b8c601.js";var m=function t(e){var n=r(null);var i=o(n);var d=(i==null?void 0:i.width)||0;var m=s.useMemoCustom((function(){if(n.current){var t;var e=((t=n.current.querySelector(".tow-inner-text"))==null?void 0:t.clientWidth)||0;return e}return 0}),[n.current]);var h=m>d;return c("div",{className:a("text-overflow",{"tow-trigger":e.onClick}),ref:n,children:[u("span",{className:"tow-hidden",children:u("span",{className:"tow-inner-text",children:e.text})}),u(l,{title:h?e.text:undefined,children:u("span",{className:"tow-content",children:u("span",{className:"tow-show-text",onClick:e.onClick,children:e.text})})})]})};var h=function t(e){var n=r(null);var i=o(n);var m=e.maxLength;var h=(i==null?void 0:i.width)||0;var v=e.text;var f=v.length>m;var x=s.useMemoCustom((function(){if(n.current){var t;var e=((t=n.current.querySelector(".tow-inner-text"))==null?void 0:t.clientWidth)||0;return e}return 0}),[n.current]);var w=f&&x<h;var p=h<x+1||f;return c("div",{className:a("text-overflow",{"tow-trigger":e.onClick}),ref:n,children:[u("span",{className:"tow-hidden",children:u("span",{className:"tow-inner-text",children:d(v,e.maxLength*2)})}),u(l,{title:p?v:undefined,children:w?u("span",{className:"tow-cut-content",children:c("span",{className:"tow-show-text",onClick:e.onClick,children:[d(v,e.maxLength*2),"..."]})}):u("span",{className:"tow-content",children:u("span",{className:"tow-show-text",onClick:e.onClick,children:v})})})]})};var v=function t(e){var i=r(null);var d=o(i);var m=(d==null?void 0:d.width)||0;var h=e.maxWidth||0;var v=s.useMemoCustom((function(){if(i.current){var t;var e=((t=i.current.querySelector(".tow-inner-text"))==null?void 0:t.clientWidth)||0;return e}return 0}),[i.current]);var f=n((function(){if(v<h)return undefined;var t=v>h?h:v;if(m>t){return t}return undefined}),[v,h,m]);var x=f||v>m;return c("div",{className:a("text-overflow",{"tow-trigger":e.onClick}),ref:i,children:[u("span",{className:"tow-hidden",children:u("span",{className:"tow-inner-text",children:e.text})}),u(l,{title:x?e.text:undefined,children:u("span",{className:"tow-content",style:{width:f},children:u("span",{className:"tow-show-text",onClick:e.onClick,children:e.text})})})]})};var f=function r(n){if(n.maxLength&&e(n.text)){return u(h,t({},n))}if(n.maxWidth){return u(v,t({},n))}return u(m,t({},n))};var x=i(f,(function(t,e){if(t.text!==e.text||t.maxLength!==e.maxLength||t.maxWidth!==t.maxWidth){return false}return true}));export{x as TextOverflow};
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-overflow/overflow-auto.tsx","@flatbiz/antd/src/text-overflow/overflow-length.tsx","@flatbiz/antd/src/text-overflow/overflow-width.tsx","@flatbiz/antd/src/text-overflow/text-overflow.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { Fragment, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowAuto = (props: TextOverflowProps) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const parentNodeWidth = size?.width || 0;\n\n // 文本宽度\n const textWidth = fbaHooks.useMemoCustom(() => {\n if (rootRef.current) {\n // 裁切后元素宽度\n const textWidth = rootRef.current.querySelector('.tow-inner-text')?.clientWidth || 0;\n return textWidth;\n }\n return 0;\n }, [rootRef.current]);\n\n const showTips = textWidth > parentNodeWidth;\n\n return (\n <Fragment>\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\">{props.text}</span>\n </span>\n <Tooltip title={showTips ? props.text : undefined}>\n <span className=\"tow-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { getStrByteLen, subStringByBytes } from '@flatbiz/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { Fragment, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowLength = (props: Omit<TextOverflowProps, 'maxWidth'>) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const maxLength = props.maxLength as number;\n const parentNodeWidth = size?.width || 0;\n const text = props.text as string;\n\n const needCut = fbaHooks.useMemoCustom(() => {\n return getStrByteLen(text) > maxLength * 2;\n }, [maxLength, text]);\n\n // 裁切后文本宽度\n const cutedTextWidth = fbaHooks.useMemoCustom(() => {\n if (rootRef.current) {\n // 裁切后元素宽度\n const cutContentWidth = rootRef.current.querySelector('.tow-inner-text')?.clientWidth || 0;\n\n return cutContentWidth;\n }\n return 0;\n }, [rootRef.current]);\n\n const showCustomEllipsis = needCut && cutedTextWidth < parentNodeWidth;\n\n const showTips = parentNodeWidth < cutedTextWidth + 1 || needCut;\n\n return (\n <Fragment>\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\">{subStringByBytes(text, (props.maxLength as number) * 2)}</span>\n </span>\n\n <Tooltip title={showTips ? text : undefined}>\n {showCustomEllipsis ? (\n <span className=\"tow-cut-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {subStringByBytes(text, (props.maxLength as number) * 2)}\n ...\n </span>\n </span>\n ) : (\n <span className=\"tow-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {text}\n </span>\n </span>\n )}\n </Tooltip>\n </div>\n </Fragment>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { Fragment, useMemo, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowWidth = (props: Omit<TextOverflowProps, 'maxLength'>) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const parentNodeWidth = size?.width || 0;\n const maxWidth = props.maxWidth || 0;\n\n // 文本宽度\n const textWidth = fbaHooks.useMemoCustom(() => {\n if (rootRef.current) {\n // 裁切后元素宽度\n const textWidth = rootRef.current.querySelector('.tow-inner-text')?.clientWidth || 0;\n return textWidth;\n }\n return 0;\n }, [rootRef.current]);\n\n const showTextWidth = useMemo(() => {\n if (textWidth < maxWidth) return undefined;\n const textWidthBast = textWidth > maxWidth ? maxWidth : textWidth;\n if (parentNodeWidth > textWidthBast) {\n return textWidthBast;\n }\n return undefined;\n }, [textWidth, maxWidth, parentNodeWidth]);\n const showTips = showTextWidth || textWidth > parentNodeWidth;\n\n return (\n <Fragment>\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\">{props.text}</span>\n </span>\n\n <Tooltip title={showTips ? props.text : undefined}>\n <span className=\"tow-content\" style={{ width: showTextWidth }}>\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n </Fragment>\n );\n};\n","import { isString } from '@dimjs/lang';\nimport { memo } from 'react';\nimport { OverflowAuto } from './overflow-auto';\nimport { OverflowLength } from './overflow-length';\nimport { OverflowWidth } from './overflow-width';\nimport './style.less';\nimport { TextOverflowProps } from './types';\n\nconst InnerTextOverflow = (props: TextOverflowProps) => {\n if (props.maxLength && isString(props.text)) {\n return <OverflowLength {...props} />;\n }\n if (props.maxWidth) {\n return <OverflowWidth {...props} />;\n }\n return <OverflowAuto {...props} />;\n};\n\n/**\n * 内容溢出截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * ```\n * 控制文本显示三种方式\n * 1. 通过 maxLength 控制超长\n * 2. 通过 maxWidth 控制超长\n * 3. 与父节点宽度比较,控制超长\n * 4. 优先级 maxLength > maxWidth\n *\n * 注意:\n * 1. 当前节点父节点需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * 3. 与 Table columns render结合使用,需要配置ellipsis=true\n * 例如:<Table columns={[{\n ...\n render: (value) => {\n return <TextOverflow text={value} />;\n },\n ellipsis: true,\n }]} />\n 4. 与 Table columns render结合使用,如果Table配置了 scroll={{ x: 'max-content' }}后,不能与TextOverflow maxWidth结合使用\n * ```\n */\nexport const TextOverflow = memo(InnerTextOverflow, (pre, next) => {\n if (pre.text !== next.text || pre.maxLength !== next.maxLength || pre.maxWidth !== pre.maxWidth) {\n return false;\n }\n return true;\n});\n"],"names":["OverflowAuto","props","rootRef","useRef","size","useSize","parentNodeWidth","width","textWidth","fbaHooks","useMemoCustom","current","_rootRef$current$quer","querySelector","clientWidth","showTips","_jsx","Fragment","children","_jsxs","className","_classNames","onClick","ref","text","Tooltip","title","undefined","OverflowLength","maxLength","needCut","getStrByteLen","cutedTextWidth","cutContentWidth","showCustomEllipsis","subStringByBytes","OverflowWidth","maxWidth","showTextWidth","useMemo","textWidthBast","style","InnerTextOverflow","_isString","_extends","TextOverflow","memo","pre","next"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["@flatbiz/antd/src/text-overflow/overflow-auto.tsx","@flatbiz/antd/src/text-overflow/overflow-length.tsx","@flatbiz/antd/src/text-overflow/overflow-width.tsx","@flatbiz/antd/src/text-overflow/text-overflow.tsx"],"sourcesContent":["import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport './style.less';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowAuto = (props: TextOverflowProps) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const parentNodeWidth = size?.width || 0;\n\n // 文本宽度\n const textWidth = fbaHooks.useMemoCustom(() => {\n if (rootRef.current) {\n // 裁切后元素宽度\n const textWidth = rootRef.current.querySelector('.tow-inner-text')?.clientWidth || 0;\n return textWidth;\n }\n return 0;\n }, [rootRef.current]);\n\n const showTips = textWidth > parentNodeWidth;\n\n return (\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\">{props.text}</span>\n </span>\n <Tooltip title={showTips ? props.text : undefined}>\n <span className=\"tow-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { subStringByBytes } from '@flatbiz/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowLength = (props: Omit<TextOverflowProps, 'maxWidth'>) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const maxLength = props.maxLength as number;\n const parentNodeWidth = size?.width || 0;\n const text = props.text as string;\n\n const needCut = text.length > maxLength;\n\n // 裁切后文本宽度\n const cutedTextWidth = fbaHooks.useMemoCustom(() => {\n if (rootRef.current) {\n // 裁切后元素宽度\n const cutContentWidth = rootRef.current.querySelector('.tow-inner-text')?.clientWidth || 0;\n\n return cutContentWidth;\n }\n return 0;\n }, [rootRef.current]);\n\n const showCustomEllipsis = needCut && cutedTextWidth < parentNodeWidth;\n\n const showTips = parentNodeWidth < cutedTextWidth + 1 || needCut;\n\n // const x =\n\n return (\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\">{subStringByBytes(text, (props.maxLength as number) * 2)}</span>\n </span>\n\n <Tooltip title={showTips ? text : undefined}>\n {showCustomEllipsis ? (\n <span className=\"tow-cut-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {subStringByBytes(text, (props.maxLength as number) * 2)}\n ...\n </span>\n </span>\n ) : (\n <span className=\"tow-content\">\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {text}\n </span>\n </span>\n )}\n </Tooltip>\n </div>\n );\n};\n","import { classNames } from '@dimjs/utils';\nimport { useSize } from 'ahooks';\nimport { Tooltip } from 'antd';\nimport { useMemo, useRef } from 'react';\nimport { fbaHooks } from '../fba-hooks';\nimport { TextOverflowProps } from './types';\n\nexport const OverflowWidth = (props: Omit<TextOverflowProps, 'maxLength'>) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const size = useSize(rootRef);\n const parentNodeWidth = size?.width || 0;\n const maxWidth = props.maxWidth || 0;\n\n // 文本宽度\n const textWidth = fbaHooks.useMemoCustom(() => {\n if (rootRef.current) {\n // 裁切后元素宽度\n const textWidth = rootRef.current.querySelector('.tow-inner-text')?.clientWidth || 0;\n return textWidth;\n }\n return 0;\n }, [rootRef.current]);\n\n const showTextWidth = useMemo(() => {\n if (textWidth < maxWidth) return undefined;\n const textWidthBast = textWidth > maxWidth ? maxWidth : textWidth;\n if (parentNodeWidth > textWidthBast) {\n return textWidthBast;\n }\n return undefined;\n }, [textWidth, maxWidth, parentNodeWidth]);\n const showTips = showTextWidth || textWidth > parentNodeWidth;\n\n return (\n <div\n className={classNames('text-overflow', {\n 'tow-trigger': props.onClick,\n })}\n ref={rootRef}\n >\n <span className=\"tow-hidden\">\n <span className=\"tow-inner-text\">{props.text}</span>\n </span>\n\n <Tooltip title={showTips ? props.text : undefined}>\n <span className=\"tow-content\" style={{ width: showTextWidth }}>\n <span className=\"tow-show-text\" onClick={props.onClick}>\n {props.text}\n </span>\n </span>\n </Tooltip>\n </div>\n );\n};\n","import { isString } from '@dimjs/lang';\nimport { memo } from 'react';\nimport { OverflowAuto } from './overflow-auto';\nimport { OverflowLength } from './overflow-length';\nimport { OverflowWidth } from './overflow-width';\nimport './style.less';\nimport { TextOverflowProps } from './types';\n\nconst InnerTextOverflow = (props: TextOverflowProps) => {\n if (props.maxLength && isString(props.text)) {\n return <OverflowLength {...props} />;\n }\n if (props.maxWidth) {\n return <OverflowWidth {...props} />;\n }\n return <OverflowAuto {...props} />;\n};\n\n/**\n * 内容溢出截取,并在尾部添加...,被截取的添加Tooltip显示完整数据\n * ```\n * 控制文本显示三种方式\n * 1. 通过 maxLength 控制超长\n * 2. 通过 maxWidth 控制超长\n * 3. 与父节点宽度比较,控制超长\n * 4. 优先级 maxLength > maxWidth\n *\n * 注意:\n * 1. 当前节点父节点需要添加 overflow-x: hidden;\n * 2. 如果父节点设置flex-shrink会有影响,可复写flex-shrink: initial;\n * 3. 与 Table columns render结合使用,需要配置ellipsis=true\n * 例如:<Table columns={[{\n ...\n render: (value) => {\n return <TextOverflow text={value} />;\n },\n ellipsis: true,\n }]} />\n 4. 与 Table columns render结合使用,如果Table配置了 scroll={{ x: 'max-content' }}后,不能与TextOverflow maxWidth结合使用\n * ```\n */\nexport const TextOverflow = memo(InnerTextOverflow, (pre, next) => {\n if (pre.text !== next.text || pre.maxLength !== next.maxLength || pre.maxWidth !== pre.maxWidth) {\n return false;\n }\n return true;\n});\n"],"names":["OverflowAuto","props","rootRef","useRef","size","useSize","parentNodeWidth","width","textWidth","fbaHooks","useMemoCustom","current","_rootRef$current$quer","querySelector","clientWidth","showTips","_jsxs","className","_classNames","onClick","ref","children","_jsx","text","Tooltip","title","undefined","OverflowLength","maxLength","needCut","length","cutedTextWidth","cutContentWidth","showCustomEllipsis","subStringByBytes","OverflowWidth","maxWidth","showTextWidth","useMemo","textWidthBast","style","InnerTextOverflow","_isString","_extends","TextOverflow","memo","pre","next"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -459,7 +459,7 @@ export type DialogModalProps = Omit<ModalProps, "onOk" | "onCancel" | "getContai
|
|
|
459
459
|
* 3. 需要修改默认主题风格的场景,请使用
|
|
460
460
|
* const { appDialogModal } = FbaApp.useDialogModal();
|
|
461
461
|
* appDialogModal.open({})
|
|
462
|
-
* 4.
|
|
462
|
+
* 4. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null
|
|
463
463
|
* ```
|
|
464
464
|
*/
|
|
465
465
|
export declare const dialogModal: {
|
|
@@ -970,7 +970,7 @@ export type TFormLayoutPreClassNameProps = {
|
|
|
970
970
|
/** label 对齐方式 */
|
|
971
971
|
labelAlign?: "left" | "right";
|
|
972
972
|
/** formItem之间竖直间距,默认值:24 */
|
|
973
|
-
formItemGap?: "15" | "8" | "5" | "0";
|
|
973
|
+
formItemGap?: "24" | "15" | "8" | "5" | "0";
|
|
974
974
|
/**
|
|
975
975
|
* className 中可能会包含 preDefinedClassName.form.xx,优先级大于 labelWidth、labelItemVertical、labelAlign、formItemGap
|
|
976
976
|
*/
|
|
@@ -1116,6 +1116,7 @@ export type DialogDrawerProps = Omit<DrawerProps, "onOk" | "onCancel" | "getCont
|
|
|
1116
1116
|
* 3. 需要修改默认主题风格的场景,请使用
|
|
1117
1117
|
* const { appDialogDrawer } = FbaApp.useDialogDrawer();
|
|
1118
1118
|
* appDialogDrawer.open({})
|
|
1119
|
+
* 4. 配置size属性可使用预设的弹窗尺寸,如果不使用内置尺寸可设置 size = null
|
|
1119
1120
|
* ```
|
|
1120
1121
|
*/
|
|
1121
1122
|
export declare const dialogDrawer: {
|
|
@@ -1684,6 +1685,8 @@ export type EditableTableColumn = Omit<ColumnsType["0"], "render"> & {
|
|
|
1684
1685
|
}) => ReactElement | null;
|
|
1685
1686
|
/** table datasource children column 自定义渲染 */
|
|
1686
1687
|
tableChildrenColumnRender?: (value: TAny, record: TPlainObject, index: number) => ReactElement | null;
|
|
1688
|
+
/** 为表格header中的字段添加必填标识,无验证拦截功能 */
|
|
1689
|
+
required?: boolean;
|
|
1687
1690
|
};
|
|
1688
1691
|
export type EditableTableProps = {
|
|
1689
1692
|
name: EditableTableName;
|
|
@@ -1702,6 +1705,20 @@ export type EditableTableProps = {
|
|
|
1702
1705
|
* 设置后,将覆盖底部`新增`按钮
|
|
1703
1706
|
*/
|
|
1704
1707
|
onTableAfterRender?: (formListOperation: FormListOperation, nextRowIndex: number) => ReactElement | null;
|
|
1708
|
+
/**
|
|
1709
|
+
* Form.List rules
|
|
1710
|
+
* ```
|
|
1711
|
+
rules={[
|
|
1712
|
+
{
|
|
1713
|
+
validator: async (_, names) => {
|
|
1714
|
+
if (!names || names.length < 2) {
|
|
1715
|
+
return Promise.reject(new Error('At least 2 passengers'));
|
|
1716
|
+
}
|
|
1717
|
+
},
|
|
1718
|
+
},
|
|
1719
|
+
]}
|
|
1720
|
+
* ```
|
|
1721
|
+
*/
|
|
1705
1722
|
rules?: FormListProps["rules"];
|
|
1706
1723
|
/** 隐藏底部`新增`按钮,设置 onTableAfterRender后 失效 */
|
|
1707
1724
|
hiddenFooterBtn?: boolean;
|
|
@@ -1717,7 +1734,6 @@ export type EditableTableRefApi = {
|
|
|
1717
1734
|
/**
|
|
1718
1735
|
* 可编辑表格
|
|
1719
1736
|
* demo:https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable1
|
|
1720
|
-
* @param props
|
|
1721
1737
|
* ```
|
|
1722
1738
|
* 1. 通过 tableProps 设置Table属性,table size默认:small
|
|
1723
1739
|
* 2. Table children column 不可编辑
|
|
@@ -1887,7 +1903,20 @@ export type DragFormListProps = {
|
|
|
1887
1903
|
formListChildrenWrapper?: (props: {
|
|
1888
1904
|
children: ReactElement;
|
|
1889
1905
|
}) => ReactElement;
|
|
1890
|
-
/**
|
|
1906
|
+
/**
|
|
1907
|
+
* Form.List rules
|
|
1908
|
+
* ```
|
|
1909
|
+
rules={[
|
|
1910
|
+
{
|
|
1911
|
+
validator: async (_, names) => {
|
|
1912
|
+
if (!names || names.length < 2) {
|
|
1913
|
+
return Promise.reject(new Error('At least 2 passengers'));
|
|
1914
|
+
}
|
|
1915
|
+
},
|
|
1916
|
+
},
|
|
1917
|
+
]}
|
|
1918
|
+
* ```
|
|
1919
|
+
*/
|
|
1891
1920
|
rules?: FormListProps["rules"];
|
|
1892
1921
|
/**
|
|
1893
1922
|
* 设置FormList字段标题&必填标志
|
|
@@ -3033,7 +3062,20 @@ export type FormListWrapperProps = {
|
|
|
3033
3062
|
formListChildrenWrapper?: (props: {
|
|
3034
3063
|
children: ReactElement;
|
|
3035
3064
|
}) => ReactElement;
|
|
3036
|
-
/**
|
|
3065
|
+
/**
|
|
3066
|
+
* Form.List rules
|
|
3067
|
+
* ```
|
|
3068
|
+
rules={[
|
|
3069
|
+
{
|
|
3070
|
+
validator: async (_, names) => {
|
|
3071
|
+
if (!names || names.length < 2) {
|
|
3072
|
+
return Promise.reject(new Error('At least 2 passengers'));
|
|
3073
|
+
}
|
|
3074
|
+
},
|
|
3075
|
+
},
|
|
3076
|
+
]}
|
|
3077
|
+
* ```
|
|
3078
|
+
*/
|
|
3037
3079
|
rules?: FormListProps["rules"];
|
|
3038
3080
|
/**
|
|
3039
3081
|
* 设置FormList字段标题&必填标志
|