@flatbiz/antd 5.0.47 → 5.0.48

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editable-table-pro-TuKFc80d.js","sources":["@flatbiz/antd/src/editable-table-pro/editable-table-pro.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement, ReactNode } from 'react';\nimport { isValidElement, useMemo, useRef, useState } from 'react';\nimport {\n Form,\n type FormListOperation,\n message,\n Space,\n Table,\n type TableProps,\n} from 'antd';\nimport type { FormListProps } from 'antd/lib/form/index.js';\nimport type { ColumnsType } from 'antd/lib/table/index.js';\nimport { CloseCircleFilled, PlusOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { arrayReorder, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { FormItemWrapper } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper/symbol.jsx';\nimport { TipsWrapper } from '../tips-wrapper/tips-wrapper.jsx';\nimport type {\n EditableTableProColumnItem,\n EditableTableProDataIndex,\n EditableTableProOperation,\n} from './type.js';\nimport './style.less';\n\ntype dataSourceRelativeItem = {\n level: number;\n parentUid?: string | number;\n index: number;\n};\n\nexport type EditableTableProProps = {\n columns: EditableTableProColumnItem[];\n /**\n * 当前Edittable处在formList内部时(必填),完整formItem的name\n * ```\n * 例如 处在formList内部\n * 1. formListName=[0,dataList]\n * 2. formListCompleteName=[xxxList, 0, dataList]\n * ```\n */\n formListCompleteName?: Array<string | number>;\n /** Form.List name */\n formListName: Array<string | number> | string;\n /** 唯一值字段Key */\n uidFieldKey: string;\n /** 初始化值 */\n initialValue?: TPlainObject[];\n /** 指定树形结构的列名,默认值:children */\n childrenColumnName?: string;\n /** 表格组件配置 */\n tableProps?: Omit<\n TableProps<TPlainObject>,\n 'dataSource' | 'columns' | 'rowKey'\n > & {\n // 如果重写了columns.onCell,则此配置失效\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n /**\n * Form.List rules\n * ```\n rules={[\n {\n validator: async (_, names) => {\n if (!names || names.length < 2) {\n return Promise.reject(new Error('At least 2 passengers'));\n }\n },\n },\n ]}\n * ```\n */\n rules?: FormListProps['rules'];\n className?: string;\n style?: CSSProperties;\n\n /**`默认新增按钮`新增行默认值,hiddenFooterBtn != true 有效 */\n addRowDefaultValues?: () => TPlainObject;\n /** 隐藏底部`新增`按钮 */\n hiddenFooterBtn?: boolean;\n /** 表格顶部区域渲染 */\n tableBeforeAreaRender?: (\n formListOperation: FormListOperation,\n nextRowIndex: number\n ) => ReactElement | null;\n /** 表格底部区域渲染 */\n tableAfterAreaRender?: (\n formListOperation: FormListOperation,\n nextRowIndex: number\n ) => ReactElement | null;\n /** 展开的行key,一般用于初始化,重新tableProps.expandable.expandedRowKeys后失效 */\n expandedRowKeys?: string[];\n /**\n * 展开图标布局,默认:layout1\n * ```\n * 1. 可编辑表格第一项为可编辑状态时,选 layout1\n * 2. 可编辑表格第一项为非可编辑状态时,选 layout2\n * ```\n */\n expandedIconLayout?: 'layout1' | 'layout2';\n};\n\n/**\n * 使用FormList实现可编辑表格\n * ```\n * 1. 必须在外部包裹Form组件\n * 2. 表格数据源数组中必须存在唯一值字段,通过uidFieldKey配置\n * 3. 可嵌套编辑,数据嵌套的节点名称可通过 childrenColumnName设置,默认:children\n * 4. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowTargetField 方法\n * 5. 在多级编辑中,可通过 column.render.operation.level 判断当前行数据层级\n * 6. 不存在多级的情况下,可使用DragEditableTablePro组件实现拖拽排序\n * 7. 存在多级的情况下,可通过 column.render.operation.move 方法实现同一级内移动\n *\n * demo\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable1\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable2\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable4\n * ```\n */\nexport const EditableTablePro = (props: EditableTableProProps) => {\n const form = Form.useFormInstance();\n const [expandedRowKeys, setExpandedRowKeys] = useState<string[]>([]);\n const formListName = toArray<string | number>(props.formListName);\n const dataSourceUidMap = useRef<Record<string, TPlainObject>>({});\n const dataSourceUidMapFt = useRef<\n Record<string | number, dataSourceRelativeItem>\n >({});\n const formListOperationRef = useRef<FormListOperation>();\n const uidFieldKey = props.uidFieldKey;\n const childrenColumnName = props.childrenColumnName || 'children';\n const expandedIconLayout = props.expandedIconLayout || 'layout1';\n\n const formListCompleteName = props.formListCompleteName || formListName;\n\n const dataSource = Form.useWatch(formListCompleteName, form);\n\n const [showEmptyText, setShowEmptyText] = useState<string | undefined>();\n\n const dataSourceFt = useMemo(() => {\n if (!dataSource) return [];\n let queryUidErrorFlag = false;\n function deep(\n itemList: TPlainObject[],\n level: number,\n parentUid?: string | number\n ) {\n for (let index = 0; index < itemList.length; index++) {\n const item = itemList[index];\n if (!item[uidFieldKey]) {\n console.error(item, '数据中未查询到唯一值');\n queryUidErrorFlag = true;\n return;\n } else {\n dataSourceUidMapFt.current[item[uidFieldKey]] = {\n level,\n parentUid,\n index,\n };\n dataSourceUidMap.current[item[uidFieldKey]] = item;\n deep(item[childrenColumnName] || [], level + 1, item[uidFieldKey]);\n }\n }\n }\n\n dataSourceUidMapFt.current = {};\n dataSourceUidMap.current = {};\n deep(isArray(dataSource) ? dataSource : [], 1);\n if (queryUidErrorFlag) {\n const txt = `数据源中存在唯一值【${uidFieldKey}】为空的情况,无法渲染表格`;\n void message.error(txt);\n setShowEmptyText(txt);\n return [];\n }\n return dataSource;\n }, [childrenColumnName, dataSource, uidFieldKey]);\n\n fbaHooks.useEffectCustom(() => {\n setExpandedRowKeys(props.expandedRowKeys || []);\n }, [JSON.stringify(props.expandedRowKeys || [])]);\n\n const getFormItemName = hooks.useCallbackRef((record: TPlainObject) => {\n const uid = record[uidFieldKey];\n let target: dataSourceRelativeItem | undefined =\n dataSourceUidMapFt.current[uid];\n\n const indexes: number[] = [];\n while (target) {\n indexes.push(target.index);\n if (target.level === 1) {\n break;\n }\n target = target.parentUid\n ? dataSourceUidMapFt.current[target.parentUid]\n : undefined;\n }\n const arr: Array<string | number> = [];\n indexes.reverse().forEach((item, index) => {\n arr.push(item);\n if (index < indexes.length - 1) {\n arr.push(childrenColumnName);\n }\n });\n return arr;\n });\n\n const addItem = hooks.useCallbackRef(\n (uid: string, defaultValue: TPlainObject, insertIndex?: number) => {\n const target = dataSourceUidMap.current[uid];\n\n if (target) {\n if (target.level === 1) {\n /** 通过 formListOperation.add 可以使得 Form.List的 rules 生效 */\n formListOperationRef.current?.add(defaultValue, insertIndex);\n return;\n }\n target[childrenColumnName] = target[childrenColumnName] || [];\n if (insertIndex == undefined) {\n target[childrenColumnName].push(defaultValue);\n } else {\n target[childrenColumnName].splice(insertIndex, 0, defaultValue);\n }\n const expandedRowKeysSet = new Set(expandedRowKeys);\n expandedRowKeysSet.add(target[uidFieldKey]);\n setExpandedRowKeys([...Array.from(expandedRowKeysSet)]);\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: [...dataSource],\n },\n ]);\n }\n }\n );\n\n const deleteItem = hooks.useCallbackRef(\n (uid: string | number, index: number) => {\n const target = dataSourceUidMapFt.current[uid];\n if (target.level === 1) {\n /** 通过 formListOperation.remove 可以使得 Form.List的 rules 生效 */\n formListOperationRef.current?.remove(index);\n return;\n }\n const parentUid = target.parentUid;\n if (!parentUid) {\n dataSource.splice(index, 1);\n } else {\n const parentTarget = dataSourceUidMap.current[parentUid];\n parentTarget[childrenColumnName].splice(index, 1);\n if (parentTarget[childrenColumnName].length === 0) {\n delete parentTarget[childrenColumnName];\n }\n }\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: cloneState(dataSource),\n },\n ]);\n }\n );\n\n const moveItem = hooks.useCallbackRef(\n (uid: string | number, fromIndex: number, toIndex: number) => {\n if (fromIndex === toIndex || toIndex < 0) return;\n const target = dataSourceUidMapFt.current[uid];\n const parentUid = target.parentUid;\n if (!parentUid) {\n const result = arrayReorder(dataSource, fromIndex, toIndex);\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: result,\n },\n ]);\n } else {\n const parentTarget = dataSourceUidMap.current[parentUid];\n parentTarget[childrenColumnName] = arrayReorder(\n parentTarget[childrenColumnName],\n fromIndex,\n toIndex\n );\n\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: [...dataSource],\n },\n ]);\n }\n }\n );\n\n const setCurrentRowTargetField = hooks.useCallbackRef(\n (\n formItemPrevName: Array<string | number>,\n dataIndexConfigs: {\n name: EditableTableProDataIndex;\n value?: TAny;\n }[]\n ) => {\n fbaUtils.setFormFieldsAndTriggerValuesChange(\n form,\n dataIndexConfigs.map((item) => {\n return {\n name: [\n ...formListCompleteName,\n ...formItemPrevName,\n ...toArray<string | number>(item.name),\n ],\n value: item.value,\n };\n })\n );\n }\n );\n\n const setCurrentRowChildrenValue = hooks.useCallbackRef(\n (formItemPrevName: Array<string | number>, value?: TPlainObject[]) => {\n setCurrentRowTargetField(formItemPrevName, [\n { name: childrenColumnName, value },\n ]);\n }\n );\n\n const validateRowFields = hooks.useCallbackRef(\n async (\n formItemPrevName: Array<string | number>,\n nameList: EditableTableProDataIndex[]\n ) => {\n await form.validateFields(\n nameList.map((item) => [\n ...formItemPrevName,\n ...toArray<string | number>(item),\n ])\n );\n }\n );\n\n const columns = useMemo(() => {\n return props.columns.map((column) => {\n const title = column.title;\n const support = isValidElement(title) || typeof title === 'string';\n let titleRender: ReactElement | string | undefined = title;\n if (column.tipsWrapperProps && support) {\n if (typeof column.tipsWrapperProps === 'string') {\n titleRender = (\n <TipsWrapper\n tipType=\"popover\"\n popoverProps={{ content: column.tipsWrapperProps }}\n >\n {title}\n </TipsWrapper>\n );\n } else {\n titleRender = (\n <TipsWrapper {...column.tipsWrapperProps}>{title}</TipsWrapper>\n );\n }\n }\n\n let required = column.required;\n\n if (\n !required &&\n typeof column.formItemProps === 'object' &&\n column.formItemProps.rules?.length\n ) {\n required = !!column.formItemProps.rules.find(\n (item) => !!item['required']\n );\n }\n\n return {\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...column,\n title: required ? (\n <TextSymbolWrapper\n style={{ marginLeft: column.align === 'center' ? undefined : 10 }}\n text={titleRender}\n position=\"before\"\n symbolType=\"required\"\n />\n ) : (\n titleRender\n ),\n render: (value, record, index) => {\n if (isUndefinedOrNull(column.render)) {\n return value;\n }\n const uid = record[uidFieldKey];\n const dataIndex = toArray<string>(column['dataIndex']);\n const formItemPrevName = getFormItemName(record);\n const dataSourceTarget = dataSourceUidMapFt.current[uid];\n\n const editable =\n typeof column?.editable === 'function'\n ? column?.editable(record, index)\n : column?.editable;\n const tableRowFormItemCompleteName = [\n ...formListCompleteName,\n ...formItemPrevName,\n ];\n\n const renderOperationProps: EditableTableProOperation = {\n editable,\n add: addItem.bind(null, uid),\n remove: deleteItem.bind(null, uid),\n move: moveItem.bind(null, uid),\n level: dataSourceTarget.level,\n parentItem: uid ? dataSourceUidMapFt.current[uid] : null,\n tableRowFormItemName: formItemPrevName,\n tableRowFormItemCompleteName,\n setCurrentRowTargetField: setCurrentRowTargetField.bind(\n null,\n formItemPrevName\n ),\n setCurrentRowChildrenValue: setCurrentRowChildrenValue.bind(\n null,\n formItemPrevName\n ),\n validateRowFields: validateRowFields.bind(\n null,\n tableRowFormItemCompleteName\n ),\n };\n if (editable === true) {\n let formItemProps =\n typeof column.formItemProps === 'function'\n ? column.formItemProps(\n value,\n record,\n index,\n renderOperationProps\n )\n : column.formItemProps;\n\n if (!formItemProps?.rules?.length && required) {\n formItemProps = {\n ...formItemProps,\n rules: [{ required: true, message: '' }],\n };\n }\n\n return (\n <FormItemWrapper\n {...formItemProps}\n name={[...formItemPrevName, ...dataIndex]}\n style={{ marginBottom: 0, ...formItemProps?.style }}\n >\n {\n column.render?.(\n value,\n record,\n index,\n renderOperationProps\n ) as ReactNode\n }\n </FormItemWrapper>\n );\n }\n return column.render?.(value, record, index, renderOperationProps);\n },\n };\n }) as ColumnsType<TPlainObject>;\n }, [\n props.columns,\n props.tableProps?.cellVerticalAlign,\n uidFieldKey,\n getFormItemName,\n formListCompleteName,\n addItem,\n deleteItem,\n moveItem,\n setCurrentRowTargetField,\n setCurrentRowChildrenValue,\n validateRowFields,\n ]);\n\n const className = classNames(\n 'editable-table-pro',\n { 'editable-table-pro-layout1': expandedIconLayout === 'layout1' },\n props.className\n );\n\n return (\n <div className={className} style={props.style}>\n <Form.List\n name={formListName}\n rules={props.rules}\n initialValue={props.initialValue}\n >\n {(fields, formListOperation, { errors }) => {\n formListOperationRef.current = formListOperation;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length\n ? '1px solid #ff4d4f'\n : '1px solid transparent',\n }}\n >\n {props.tableBeforeAreaRender?.(formListOperation, fields.length)}\n <Table\n scroll={{ x: 'max-content' }}\n pagination={false}\n size=\"small\"\n {...props.tableProps}\n locale={{\n emptyText: showEmptyText ? (\n <Space size={5} style={{ color: '#ff4d4f' }}>\n <CloseCircleFilled />\n <span>{showEmptyText}</span>\n </Space>\n ) : undefined,\n }}\n expandable={{\n expandedRowKeys: expandedRowKeys,\n onExpandedRowsChange: (expandedRowKeys) => {\n setExpandedRowKeys(expandedRowKeys as string[]);\n },\n ...props.tableProps?.expandable,\n childrenColumnName: childrenColumnName,\n }}\n columns={columns}\n dataSource={dataSourceFt}\n rowKey={uidFieldKey}\n />\n <ButtonWrapper\n block\n hidden={props.hiddenFooterBtn}\n type=\"dashed\"\n icon={<PlusOutlined />}\n style={{ marginTop: 15 }}\n onClick={() => {\n const defaultValues = props.addRowDefaultValues?.();\n if (!defaultValues?.[uidFieldKey]) {\n void message.error(\n `新增行默认值必须包含唯一值字段【${uidFieldKey}】,通过 addRowDefaultValues 设置`\n );\n return;\n }\n formListOperation.add(defaultValues);\n }}\n >\n 新增\n </ButtonWrapper>\n {props.tableAfterAreaRender?.(formListOperation, fields.length)}\n {errors.length ? (\n <Form.ErrorList\n errors={[\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]}\n />\n ) : null}\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["EditableTablePro","props","_props$tableProps2","form","Form","useFormInstance","_useState","useState","_useState2","_slicedToArray","expandedRowKeys","setExpandedRowKeys","formListName","toArray","dataSourceUidMap","useRef","dataSourceUidMapFt","formListOperationRef","uidFieldKey","childrenColumnName","expandedIconLayout","formListCompleteName","dataSource","useWatch","_useState3","_useState4","showEmptyText","setShowEmptyText","dataSourceFt","useMemo","queryUidErrorFlag","deep","itemList","level","parentUid","index","length","item","console","error","current","_isArray","txt","concat","message","fbaHooks","useEffectCustom","JSON","stringify","getFormItemName","_hooks","useCallbackRef","record","uid","target","indexes","push","undefined","arr","reverse","forEach","addItem","defaultValue","insertIndex","_formListOperationRef","add","splice","expandedRowKeysSet","Set","_toConsumableArray","Array","from","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","deleteItem","_formListOperationRef2","remove","parentTarget","cloneState","moveItem","fromIndex","toIndex","result","arrayReorder","setCurrentRowTargetField","formItemPrevName","dataIndexConfigs","map","setCurrentRowChildrenValue","validateRowFields","nameList","Promise","$return","$error","resolve","validateFields","then","$await_1","$boundEx","columns","column","_column$formItemProps","title","support","isValidElement","titleRender","tipsWrapperProps","_jsx","TipsWrapper","tipType","popoverProps","content","children","_objectSpread","required","formItemProps","rules","find","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","TextSymbolWrapper","style","marginLeft","align","text","position","symbolType","render","_column$render2","isUndefinedOrNull","dataIndex","dataSourceTarget","editable","tableRowFormItemCompleteName","renderOperationProps","bind","move","parentItem","tableRowFormItemName","_formItemProps","_formItemProps2","_column$render","FormItemWrapper","marginBottom","call","className","_classNames","List","initialValue","fields","formListOperation","_ref","_props$tableBeforeAre","_props$tableProps3","_props$tableAfterArea","errors","_jsxs","borderRadius","border","tableBeforeAreaRender","Table","scroll","x","pagination","size","locale","emptyText","Space","color","_CloseCircleFilled","expandable","onExpandedRowsChange","rowKey","ButtonWrapper","block","hidden","hiddenFooterBtn","type","icon","_PlusOutlined","marginTop","onClick","_props$addRowDefaultV","defaultValues","addRowDefaultValues","tableAfterAreaRender","ErrorList","padding"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -842,6 +842,37 @@ export type CheckboxWrapperProps = Omit<CheckboxProps, "checked" | "defaultCheck
842
842
  * ```
843
843
  */
844
844
  export declare const CheckboxWrapper: (props: CheckboxWrapperProps) => import("react").JSX.Element;
845
+ export type CodeRenderProps = {
846
+ code?: string;
847
+ className?: string;
848
+ style?: CSSProperties;
849
+ };
850
+ /**
851
+ * 代码、json格式化渲染
852
+ * ```
853
+ * 例如:
854
+ * // json数据渲染
855
+ * <CodeWrapper code={JSON.stringify(data, null, 2)}/>
856
+ *
857
+ * // 代码渲染
858
+ * <CodeWrapper code={`def results=[];
859
+ def datas=表单字段.dataList;
860
+ for index,data in datas do
861
+ def item = [
862
+ 'a':data.DomainName,
863
+ 'b':data.Owner,
864
+ 'userName': 流程参数.发起人账号
865
+ ];
866
+ results = results+item;
867
+ end
868
+ return results;
869
+ `
870
+ }/>
871
+ *
872
+ * ```
873
+ *
874
+ */
875
+ export declare const CodeRender: (props: CodeRenderProps) => import("react").JSX.Element;
845
876
  export type ColorPickerWrapperProps = Omit<ColorPickerProps, "value" | "onChange"> & {
846
877
  /** 格式:#1677ff */
847
878
  value?: string;
@@ -5075,7 +5106,9 @@ export type SelectorWrapperSearchProps = Omit<SelectProps, "onSearch" | "notFoun
5075
5106
  onSelectorRequestError?: (error: Error) => void;
5076
5107
  /** 交互文案配置 */
5077
5108
  requestMessageConfig?: TRequestStatusProps["messageConfig"];
5109
+ /** label渲染适配器 */
5078
5110
  onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;
5111
+ /** 自定义keyword值, */
5079
5112
  customKeyword?: string;
5080
5113
  };
5081
5114
  /**
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ import './card-wrapper/index.css';
18
18
  import './cascader-wrapper/index.css';
19
19
  import './check-list/index.css';
20
20
  import './checkbox-wrapper/index.css';
21
+ import './code-render/index.css';
21
22
  import './color-picker-wrapper/index.css';
22
23
  import './config-provider-wrapper/index.css';
23
24
  import './copy-wrapper/index.css';
@@ -155,6 +156,7 @@ export { C as CardWrapper } from './card-wrapper-C8YADYlW.js';
155
156
  export { C as CascaderWrapper } from './cascader-wrapper-CMYrmR6L.js';
156
157
  export { CheckList } from './check-list/index.js';
157
158
  export { C as CheckboxWrapper } from './checkbox-wrapper-BOIS5kIz.js';
159
+ export { C as CodeRender } from './code-D9xbvmEX.js';
158
160
  export { C as ColorPickerWrapper } from './color-picker-D8Tiiut0.js';
159
161
  export { C as ConfigProviderWrapper } from './config-provider-wrapper-C72dPUJZ.js';
160
162
  export { C as CopyWrapper } from './copy-BSlIwnwz.js';
@@ -176,7 +178,7 @@ export { D as DragCollapse } from './drag-collapse-DhZ1V5P6.js';
176
178
  export { D as DragCollapseFormList } from './drag-collapse-D2mbeDvD.js';
177
179
  export { D as DragEditableCard } from './editable-card-DwtvwP2a.js';
178
180
  export { D as DragEditableTable } from './drag-DT_ZyPqJ.js';
179
- export { D as DragEditableTablePro } from './drag-D891d5m3.js';
181
+ export { D as DragEditableTablePro } from './drag-BwrUqnt-.js';
180
182
  export { D as DragFormList } from './drag-form-list-BrIW06Ex.js';
181
183
  export { D as DragTable } from './drag-table-Dk8HllSn.js';
182
184
  export { D as DropdownMenuWrapper } from './dropdown-menu-wrapper-BE3Liqoh.js';
@@ -187,7 +189,7 @@ export { E as EditableCard } from './editable-card-eG4iQx89.js';
187
189
  export { E as EditableField } from './editable-field-DBiVpCRE.js';
188
190
  export { E as EditableFieldProvider } from './editable-field-provider-DqKcZQYP.js';
189
191
  export { E as EditableTable } from './editable-table-0f-H4DHt.js';
190
- export { E as EditableTablePro } from './editable-table-pro-B12YG7J_.js';
192
+ export { E as EditableTablePro } from './editable-table-pro-TuKFc80d.js';
191
193
  export { E as ErrorBoundaryWrapper } from './error-boundary-D6RX4EQZ.js';
192
194
  export { FbaApp } from './fba-app/index.js';
193
195
  export { fbaHooks } from './fba-hooks/index.js';
@@ -307,6 +309,8 @@ import '@dimjs/lang/is-array';
307
309
  import '@dimjs/utils/extend/extend';
308
310
  import '@ant-design/icons/es/icons/CloseCircleFilled.js';
309
311
  import '@ant-design/icons/es/icons/RedoOutlined.js';
312
+ import './index-C6y8q2MK.js';
313
+ import './_commonjsHelpers-a3yINl_6.js';
310
314
  import '@ant-design/icons/es/icons/CloseCircleOutlined.js';
311
315
  import 'antd/es/locale/en_US.js';
312
316
  import 'antd/es/locale/zh_CN.js';
@@ -327,7 +331,6 @@ import './time-Cv4_lLXu.js';
327
331
  import '@ant-design/icons/es/icons/DeleteOutlined.js';
328
332
  import '@ant-design/icons/es/icons/CloseOutlined.js';
329
333
  import 'react-dom/client';
330
- import './_commonjsHelpers-a3yINl_6.js';
331
334
  import 'react-is';
332
335
  import 'react-dom';
333
336
  import './context-BjWI-TkR.js';
@@ -351,7 +354,6 @@ import '@dimjs/utils/uuid/uuid';
351
354
  import '@ant-design/icons/es/icons/QuestionCircleFilled.js';
352
355
  import '@dimjs/lang/is-deep-equal';
353
356
  import 'react-resizable';
354
- import './index-C6y8q2MK.js';
355
357
  import '@tinymce/tinymce-react';
356
358
  import '@ant-design/icons/es/icons/PlusCircleOutlined.js';
357
359
  import '@ant-design/icons/es/icons/FullscreenOutlined.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -49,7 +49,9 @@ export type SelectorWrapperSearchProps = Omit<SelectProps, "onSearch" | "notFoun
49
49
  onSelectorRequestError?: (error: Error) => void;
50
50
  /** 交互文案配置 */
51
51
  requestMessageConfig?: TRequestStatusProps["messageConfig"];
52
+ /** label渲染适配器 */
52
53
  onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;
54
+ /** 自定义keyword值, */
53
55
  customKeyword?: string;
54
56
  };
55
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"selector-wrapper-search-BMyOMlZl.js","sources":["@flatbiz/antd/src/selector-wrapper-search/selector-wrapper-search.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useMemo, useState } from 'react';\nimport type { SelectProps } from 'antd';\nimport { Button, Select } from 'antd';\nimport { RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n isUndefinedOrNull,\n type LabelValueItem,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type {\n TRequestStatus,\n TRequestStatusProps,\n} from '../request-status/index.js';\nimport { RequestStatus } from '../request-status/index.js';\n\nexport type SelectorWrapperSearchServiceConfig = {\n params?: TPlainObject;\n onRequest: (params?: TAny) => TAny;\n /** 与 params 配合使用 */\n requiredParamsKeys?: string[];\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type SelectorWrapperSearchProps = Omit<\n SelectProps,\n 'onSearch' | 'notFoundContent' | 'options' | 'fieldNames' | 'loading'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如:'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * ```\n */\n fieldNames?: {\n label: string;\n value: string;\n disabled?: string;\n searchKeyword?: string;\n list?: string;\n };\n /**\n * 请求服务需求的数据\n */\n serviceConfig: SelectorWrapperSearchServiceConfig;\n /**\n * 添加全部选项\n * ```\n * 1. 默认值label=\"全部\",value=\"\"\n * 2. 可配置label、value\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /** selectorList发生变更时触发,每次都会调用 */\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /** 通过服务获取数据异常回调 */\n onSelectorRequestError?: (error: Error) => void;\n /** 交互文案配置 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n // label渲染适配器\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n // 自定义keyword值\n customKeyword?: string;\n};\n/**\n * 选择器简单包装组件\n * @param props\n * @returns\n * ```\n * 1. 只支持 search + 服务 功能\n * 2. 不会缓存接口数据\n * 3. 不会对value、onChange做任何处理\n * 4. 修改文案【未获取到必要的查询条件】,通过参数 requestMessageConfig={{'no-dependencies-params': '自定义文案'}} 配置\n * 5. 通过设置 fieldNames.searchKeyword 可修改关键字key值,默认值:searchKeyword\n * ```\n */\nexport const SelectorWrapperSearch = (props: SelectorWrapperSearchProps) => {\n const {\n showAllOption,\n serviceConfig,\n onSelectorListChange,\n onSelectorRequestError,\n requestMessageConfig,\n fieldNames,\n onLabelRenderAdapter,\n ...otherProps\n } = props;\n const [requestStatus, setRequestStatus] =\n useState<TRequestStatus>('request-init');\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const optionsItemLabelField = fieldNames?.label || 'label';\n const optionsItemValueField = fieldNames?.value || 'value';\n const optionsItemDisabledField = fieldNames?.disabled || 'disabled';\n const searchKeyword = fieldNames?.searchKeyword || 'searchKeyword';\n const serviceParams = serviceConfig.params;\n const requiredParamsKeys = serviceConfig.requiredParamsKeys || [];\n\n const allOptionConfig = useMemo(() => {\n const isTrue = showAllOption === true;\n if (showAllOption) {\n return {\n label: isTrue ? '全部' : (showAllOption.label as string),\n value: isTrue ? '' : (showAllOption.value as TAny),\n };\n }\n return null;\n }, [showAllOption]);\n\n const serviceRespDataAdapter = (respData) => {\n let result: TPlainObject[] = respData;\n if (serviceConfig.onRequestResultAdapter) {\n result = serviceConfig.onRequestResultAdapter(\n respData as unknown as TPlainObject\n );\n } else if (fieldNames?.list) {\n result = get(respData, fieldNames?.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const startDataSourceRequest = async (keyword) => {\n try {\n if (requiredParamsKeys.length) {\n const isEmpty = serviceParams\n ? requiredParamsKeys.find((key) =>\n isUndefinedOrNull(serviceParams[key])\n )\n : true;\n if (isEmpty) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setDataSource([]);\n setRequestStatus('no-dependencies-params');\n return;\n }\n }\n if (!keyword) {\n setRequestStatus('request-search-keyword-empty');\n return;\n }\n\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.({\n ...serviceParams,\n [searchKeyword]: keyword,\n });\n let respAdapterData = serviceRespDataAdapter(respData);\n onSelectorListChange?.(respAdapterData);\n if (optionsItemLabelField && optionsItemValueField) {\n respAdapterData = respAdapterData.map((item) => {\n return {\n ...item,\n label: item[optionsItemLabelField],\n value: item[optionsItemValueField],\n disabled: item[optionsItemDisabledField || 'disabled'],\n };\n });\n }\n\n respAdapterData.forEach((item) => {\n if (onLabelRenderAdapter) {\n item.label = onLabelRenderAdapter(item);\n }\n });\n\n if (allOptionConfig) {\n respAdapterData.unshift(allOptionConfig);\n }\n setDataSource(respAdapterData);\n setRequestStatus('request-success');\n } catch (error: TAny) {\n setRequestStatus('request-error');\n onSelectorRequestError?.(error);\n }\n };\n\n const onSearch = hooks.useDebounceCallback((value: string) => {\n setDataSource([]);\n void startDataSourceRequest(value);\n }, 300);\n\n fbaHooks.useEffectCustom(() => {\n void startDataSourceRequest(props.customKeyword);\n }, [props.customKeyword]);\n\n const loading = requestStatus === 'request-progress';\n return (\n <Select\n showSearch={true}\n allowClear={true}\n popupMatchSelectWidth={false}\n placeholder={'输入关键字搜索'}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n options={dataSource as LabelValueItem[]}\n filterOption={false}\n onSearch={onSearch}\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={{\n 'request-init': '请输入搜索关键字',\n ...requestMessageConfig,\n }}\n errorButton={\n <Button type=\"primary\" onClick={startDataSourceRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={startDataSourceRequest} />\n ) : undefined\n }\n loading={loading}\n />\n );\n};\n"],"names":["SelectorWrapperSearch","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","onLabelRenderAdapter","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","requestStatus","setRequestStatus","_useState3","_useState4","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","searchKeyword","serviceParams","params","requiredParamsKeys","allOptionConfig","useMemo","isTrue","serviceRespDataAdapter","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","keyword","Promise","$return","$error","_serviceConfig$onRequ","isEmpty","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","length","find","key","isUndefinedOrNull","resolve","onRequest","call","_objectSpread","_defineProperty","then","$await_2","map","item","forEach","unshift","onSearch","_hooks","useDebounceCallback","fbaHooks","useEffectCustom","customKeyword","loading","_jsx","Select","showSearch","allowClear","popupMatchSelectWidth","placeholder","style","width","options","filterOption","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"selector-wrapper-search-BMyOMlZl.js","sources":["@flatbiz/antd/src/selector-wrapper-search/selector-wrapper-search.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useMemo, useState } from 'react';\nimport type { SelectProps } from 'antd';\nimport { Button, Select } from 'antd';\nimport { RedoOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { get } from '@dimjs/utils';\nimport {\n isUndefinedOrNull,\n type LabelValueItem,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type {\n TRequestStatus,\n TRequestStatusProps,\n} from '../request-status/index.js';\nimport { RequestStatus } from '../request-status/index.js';\n\nexport type SelectorWrapperSearchServiceConfig = {\n params?: TPlainObject;\n onRequest: (params?: TAny) => TAny;\n /** 与 params 配合使用 */\n requiredParamsKeys?: string[];\n onRequestResultAdapter?: (respData: TAny) => TPlainObject[];\n};\n\nexport type SelectorWrapperSearchProps = Omit<\n SelectProps,\n 'onSearch' | 'notFoundContent' | 'options' | 'fieldNames' | 'loading'\n> & {\n /**\n * 参数Key映射\n * ```\n * 1. list 为 onRequest 返回数据中列表key值,可多级取值,例如:'a.b.c'\n * 2. 配置 serviceConfig.onRequestResultAdapter后,fieldNames.list配置失效\n * ```\n */\n fieldNames?: {\n label: string;\n value: string;\n disabled?: string;\n searchKeyword?: string;\n list?: string;\n };\n /**\n * 请求服务需求的数据\n */\n serviceConfig: SelectorWrapperSearchServiceConfig;\n /**\n * 添加全部选项\n * ```\n * 1. 默认值label=\"全部\",value=\"\"\n * 2. 可配置label、value\n * ```\n */\n showAllOption?: true | TPlainObject<string | number>;\n /** selectorList发生变更时触发,每次都会调用 */\n onSelectorListChange?: (dataList: TPlainObject[]) => void;\n /** 通过服务获取数据异常回调 */\n onSelectorRequestError?: (error: Error) => void;\n /** 交互文案配置 */\n requestMessageConfig?: TRequestStatusProps['messageConfig'];\n /** label渲染适配器 */\n onLabelRenderAdapter?: (dataItem: TPlainObject) => string | ReactElement;\n /** 自定义keyword值, */\n customKeyword?: string;\n};\n/**\n * 选择器简单包装组件\n * @param props\n * @returns\n * ```\n * 1. 只支持 search + 服务 功能\n * 2. 不会缓存接口数据\n * 3. 不会对value、onChange做任何处理\n * 4. 修改文案【未获取到必要的查询条件】,通过参数 requestMessageConfig={{'no-dependencies-params': '自定义文案'}} 配置\n * 5. 通过设置 fieldNames.searchKeyword 可修改关键字key值,默认值:searchKeyword\n * ```\n */\nexport const SelectorWrapperSearch = (props: SelectorWrapperSearchProps) => {\n const {\n showAllOption,\n serviceConfig,\n onSelectorListChange,\n onSelectorRequestError,\n requestMessageConfig,\n fieldNames,\n onLabelRenderAdapter,\n ...otherProps\n } = props;\n const [requestStatus, setRequestStatus] =\n useState<TRequestStatus>('request-init');\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const optionsItemLabelField = fieldNames?.label || 'label';\n const optionsItemValueField = fieldNames?.value || 'value';\n const optionsItemDisabledField = fieldNames?.disabled || 'disabled';\n const searchKeyword = fieldNames?.searchKeyword || 'searchKeyword';\n const serviceParams = serviceConfig.params;\n const requiredParamsKeys = serviceConfig.requiredParamsKeys || [];\n\n const allOptionConfig = useMemo(() => {\n const isTrue = showAllOption === true;\n if (showAllOption) {\n return {\n label: isTrue ? '全部' : (showAllOption.label as string),\n value: isTrue ? '' : (showAllOption.value as TAny),\n };\n }\n return null;\n }, [showAllOption]);\n\n const serviceRespDataAdapter = (respData) => {\n let result: TPlainObject[] = respData;\n if (serviceConfig.onRequestResultAdapter) {\n result = serviceConfig.onRequestResultAdapter(\n respData as unknown as TPlainObject\n );\n } else if (fieldNames?.list) {\n result = get(respData, fieldNames?.list);\n }\n if (result && !isArray(result)) {\n console.warn('待渲染数据为非数组结构', result);\n return [];\n }\n return result || [];\n };\n\n const startDataSourceRequest = async (keyword) => {\n try {\n if (requiredParamsKeys.length) {\n const isEmpty = serviceParams\n ? requiredParamsKeys.find((key) =>\n isUndefinedOrNull(serviceParams[key])\n )\n : true;\n if (isEmpty) {\n // 当依赖项查询条件为空时,清空当前缓存数据\n setDataSource([]);\n setRequestStatus('no-dependencies-params');\n return;\n }\n }\n if (!keyword) {\n setRequestStatus('request-search-keyword-empty');\n return;\n }\n\n setRequestStatus('request-progress');\n const respData = await serviceConfig.onRequest?.({\n ...serviceParams,\n [searchKeyword]: keyword,\n });\n let respAdapterData = serviceRespDataAdapter(respData);\n onSelectorListChange?.(respAdapterData);\n if (optionsItemLabelField && optionsItemValueField) {\n respAdapterData = respAdapterData.map((item) => {\n return {\n ...item,\n label: item[optionsItemLabelField],\n value: item[optionsItemValueField],\n disabled: item[optionsItemDisabledField || 'disabled'],\n };\n });\n }\n\n respAdapterData.forEach((item) => {\n if (onLabelRenderAdapter) {\n item.label = onLabelRenderAdapter(item);\n }\n });\n\n if (allOptionConfig) {\n respAdapterData.unshift(allOptionConfig);\n }\n setDataSource(respAdapterData);\n setRequestStatus('request-success');\n } catch (error: TAny) {\n setRequestStatus('request-error');\n onSelectorRequestError?.(error);\n }\n };\n\n const onSearch = hooks.useDebounceCallback((value: string) => {\n setDataSource([]);\n void startDataSourceRequest(value);\n }, 300);\n\n fbaHooks.useEffectCustom(() => {\n void startDataSourceRequest(props.customKeyword);\n }, [props.customKeyword]);\n\n const loading = requestStatus === 'request-progress';\n return (\n <Select\n showSearch={true}\n allowClear={true}\n popupMatchSelectWidth={false}\n placeholder={'输入关键字搜索'}\n {...otherProps}\n style={{ width: '100%', ...props.style }}\n options={dataSource as LabelValueItem[]}\n filterOption={false}\n onSearch={onSearch}\n notFoundContent={\n <RequestStatus\n status={requestStatus}\n loading={loading}\n messageConfig={{\n 'request-init': '请输入搜索关键字',\n ...requestMessageConfig,\n }}\n errorButton={\n <Button type=\"primary\" onClick={startDataSourceRequest}>\n 重新获取数据\n </Button>\n }\n />\n }\n suffixIcon={\n requestStatus === 'request-error' ? (\n <RedoOutlined spin={loading} onClick={startDataSourceRequest} />\n ) : undefined\n }\n loading={loading}\n />\n );\n};\n"],"names":["SelectorWrapperSearch","props","showAllOption","serviceConfig","onSelectorListChange","onSelectorRequestError","requestMessageConfig","fieldNames","onLabelRenderAdapter","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","requestStatus","setRequestStatus","_useState3","_useState4","dataSource","setDataSource","optionsItemLabelField","label","optionsItemValueField","value","optionsItemDisabledField","disabled","searchKeyword","serviceParams","params","requiredParamsKeys","allOptionConfig","useMemo","isTrue","serviceRespDataAdapter","respData","result","onRequestResultAdapter","list","_get","_isArray","console","warn","startDataSourceRequest","keyword","Promise","$return","$error","_serviceConfig$onRequ","isEmpty","respAdapterData","$Try_1_Post","$boundEx","$Try_1_Catch","error","length","find","key","isUndefinedOrNull","resolve","onRequest","call","_objectSpread","_defineProperty","then","$await_2","map","item","forEach","unshift","onSearch","_hooks","useDebounceCallback","fbaHooks","useEffectCustom","customKeyword","loading","_jsx","Select","showSearch","allowClear","popupMatchSelectWidth","placeholder","style","width","options","filterOption","notFoundContent","RequestStatus","status","messageConfig","errorButton","Button","type","onClick","children","suffixIcon","_RedoOutlined","spin","undefined"],"mappings":"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"}
@@ -1 +1 @@
1
- .num-ff{font-family:var(--v-font-family-number)}p,ul{margin:0;padding:0}.hide{display:none}.clear-fix:after{clear:both;content:" ";display:block;font-size:0;height:0;visibility:hidden}.ant-form-item-has-error .ant-form-item-control-input .ant-checkbox-inner,.ant-form-item-has-error .ant-form-item-control-input .ant-radio-inner{border-color:#ff4d4f}.ant-form-item-has-error .ant-upload-wrapper .ant-upload .ant-btn{border-color:#ff4d4f;color:#ff4d4f}.ant-form-item-has-error .ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload.ant-upload-select{border:1px dashed #ff4d4f;color:#ff4d4f}.ant-btn-dashed:disabled,.ant-btn-variant-dashed:disabled,.ant-btn-variant-link:disabled,.ant-btn-variant-solid:disabled,.ant-checkbox-disabled+span,.ant-input-number-outlined.ant-input-number-disabled,.ant-input[disabled],.ant-picker-disabled input[disabled],.ant-radio-wrapper-disabled,.ant-select-disabled .ant-select-selector,.ant-select-multiple.ant-select-disabled .ant-select-selection-item,.ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0,0,0,.6)!important}.ant-radio-disabled .ant-radio-inner:after{background-color:rgba(0,0,0,.5)!important}.ant-checkbox-disabled .ant-checkbox-inner:after{border-color:rgba(0,0,0,.6)!important}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:rgba(0,0,0,.6)!important}.dark-theme .ant-btn-dashed:disabled,.dark-theme .ant-btn-variant-dashed:disabled,.dark-theme .ant-btn-variant-link:disabled,.dark-theme .ant-btn-variant-solid:disabled,.dark-theme .ant-checkbox-disabled+span,.dark-theme .ant-input-number-outlined.ant-input-number-disabled,.dark-theme .ant-input[disabled],.dark-theme .ant-picker-disabled input[disabled],.dark-theme .ant-radio-wrapper-disabled,.dark-theme .ant-select-disabled .ant-select-selector,.dark-theme .ant-select-multiple.ant-select-disabled .ant-select-selection-item,.dark-theme .ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:hsla(0,0%,100%,.8)!important}.dark-theme .ant-radio-disabled .ant-radio-inner:after{background-color:hsla(0,0%,100%,.7)!important}.dark-theme .ant-checkbox-disabled .ant-checkbox-inner:after{border-color:hsla(0,0%,100%,.8)!important}.dark-theme .ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:hsla(0,0%,100%,.8)!important}
1
+ .num-ff{font-family:var(--v-font-family-number)}p,ul{margin:0;padding:0}.hide{display:none}.clear-fix:after{clear:both;content:" ";display:block;font-size:0;height:0;visibility:hidden}.ant-form-item-has-error .ant-form-item-control-input .ant-checkbox-inner,.ant-form-item-has-error .ant-form-item-control-input .ant-radio-inner{border-color:#ff4d4f}.ant-form-item-has-error .ant-upload-wrapper .ant-upload .ant-btn{border-color:#ff4d4f;color:#ff4d4f}.ant-form-item-has-error .ant-upload-wrapper.ant-upload-picture-card-wrapper .ant-upload.ant-upload-select{border:1px dashed #ff4d4f;color:#ff4d4f}.light-theme .ant-btn-dashed:disabled,.light-theme .ant-btn-variant-dashed:disabled,.light-theme .ant-btn-variant-link:disabled,.light-theme .ant-btn-variant-solid:disabled,.light-theme .ant-checkbox-disabled+span,.light-theme .ant-input-number-outlined.ant-input-number-disabled,.light-theme .ant-input[disabled],.light-theme .ant-picker-disabled input[disabled],.light-theme .ant-radio-wrapper-disabled,.light-theme .ant-select-disabled .ant-select-selector,.light-theme .ant-select-multiple.ant-select-disabled .ant-select-selection-item,.light-theme .ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0,0,0,.6)!important}.light-theme .ant-radio-disabled .ant-radio-inner:after{background-color:rgba(0,0,0,.5)!important}.light-theme .ant-checkbox-disabled .ant-checkbox-inner:after{border-color:rgba(0,0,0,.6)!important}.light-theme .ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:rgba(0,0,0,.6)!important}.light-theme .ant-tree .ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after{border-color:rgba(0,0,0,.5)!important}.dark-theme .ant-btn-dashed:disabled,.dark-theme .ant-btn-variant-dashed:disabled,.dark-theme .ant-btn-variant-link:disabled,.dark-theme .ant-btn-variant-solid:disabled,.dark-theme .ant-checkbox-disabled+span,.dark-theme .ant-input-number-outlined.ant-input-number-disabled,.dark-theme .ant-input[disabled],.dark-theme .ant-picker-disabled input[disabled],.dark-theme .ant-radio-wrapper-disabled,.dark-theme .ant-select-disabled .ant-select-selector,.dark-theme .ant-select-multiple.ant-select-disabled .ant-select-selection-item,.dark-theme .ant-select-outlined.ant-select-disabled:not(.ant-select-customize-input) .ant-select-selector{color:hsla(0,0%,100%,.8)!important}.dark-theme .ant-radio-disabled .ant-radio-inner:after{background-color:hsla(0,0%,100%,.7)!important}.dark-theme .ant-checkbox-disabled .ant-checkbox-inner:after{border-color:hsla(0,0%,100%,.8)!important}.dark-theme .ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:hsla(0,0%,100%,.8)!important}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "5.0.47",
3
+ "version": "5.0.48",
4
4
  "homepage": "https://gitlab.itcjf.com/flatjs-next/node-template-mono",
5
5
  "repository": {
6
6
  "type": "git",
@@ -90,6 +90,10 @@
90
90
  "types": "./dist/checkbox-wrapper/index.d.ts",
91
91
  "import": "./dist/checkbox-wrapper/index.js"
92
92
  },
93
+ "./code-render": {
94
+ "types": "./dist/code-render/index.d.ts",
95
+ "import": "./dist/code-render/index.js"
96
+ },
93
97
  "./color-picker-wrapper": {
94
98
  "types": "./dist/color-picker-wrapper/index.d.ts",
95
99
  "import": "./dist/color-picker-wrapper/index.js"
@@ -1 +0,0 @@
1
- {"version":3,"file":"editable-table-pro-B12YG7J_.js","sources":["@flatbiz/antd/src/editable-table-pro/editable-table-pro.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement, ReactNode } from 'react';\nimport { isValidElement, useMemo, useRef, useState } from 'react';\nimport {\n Form,\n type FormListOperation,\n message,\n Space,\n Table,\n type TableProps,\n} from 'antd';\nimport type { FormListProps } from 'antd/lib/form/index.js';\nimport type { ColumnsType } from 'antd/lib/table/index.js';\nimport { CloseCircleFilled, PlusOutlined } from '@ant-design/icons';\nimport { isArray } from '@dimjs/lang';\nimport { cloneState } from '@dimjs/model';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { arrayReorder, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { FormItemWrapper } from '../form-item-wrapper/form-item-wrapper.jsx';\nimport { TextSymbolWrapper } from '../text-symbol-wrapper/symbol.jsx';\nimport { TipsWrapper } from '../tips-wrapper/tips-wrapper.jsx';\nimport type {\n EditableTableProColumnItem,\n EditableTableProDataIndex,\n EditableTableProOperation,\n} from './type.js';\nimport './style.less';\n\ntype dataSourceRelativeItem = {\n level: number;\n parentUid?: string | number;\n index: number;\n};\n\nexport type EditableTableProProps = {\n columns: EditableTableProColumnItem[];\n /**\n * 当前Edittable处在formList内部时(必填),完整formItem的name\n * ```\n * 例如 处在formList内部\n * 1. formListName=[0,dataList]\n * 2. formListCompleteName=[xxxList, 0, dataList]\n * ```\n */\n formListCompleteName?: Array<string | number>;\n /** Form.List name */\n formListName: Array<string | number> | string;\n /** 唯一值字段Key */\n uidFieldKey: string;\n /** 初始化值 */\n initialValue?: TPlainObject[];\n /** 指定树形结构的列名,默认值:children */\n childrenColumnName?: string;\n /** 表格组件配置 */\n tableProps?: Omit<\n TableProps<TPlainObject>,\n 'dataSource' | 'columns' | 'rowKey'\n > & {\n // 如果重写了columns.onCell,则此配置失效\n cellVerticalAlign?: 'baseline' | 'middle' | 'top' | 'bottom';\n };\n /**\n * Form.List rules\n * ```\n rules={[\n {\n validator: async (_, names) => {\n if (!names || names.length < 2) {\n return Promise.reject(new Error('At least 2 passengers'));\n }\n },\n },\n ]}\n * ```\n */\n rules?: FormListProps['rules'];\n className?: string;\n style?: CSSProperties;\n\n /**`默认新增按钮`新增行默认值,hiddenFooterBtn != true 有效 */\n addRowDefaultValues?: () => TPlainObject;\n /** 隐藏底部`新增`按钮 */\n hiddenFooterBtn?: boolean;\n /** 表格顶部区域渲染 */\n tableBeforeAreaRender?: (\n formListOperation: FormListOperation,\n nextRowIndex: number\n ) => ReactElement | null;\n /** 表格底部区域渲染 */\n tableAfterAreaRender?: (\n formListOperation: FormListOperation,\n nextRowIndex: number\n ) => ReactElement | null;\n /** 展开的行key,一般用于初始化,重新tableProps.expandable.expandedRowKeys后失效 */\n expandedRowKeys?: string[];\n /**\n * 展开图标布局,默认:layout1\n * ```\n * 1. 可编辑表格第一项为可编辑状态时,选 layout1\n * 2. 可编辑表格第一项为非可编辑状态时,选 layout2\n * ```\n */\n expandedIconLayout?: 'layout1' | 'layout2';\n};\n\n/**\n * 使用FormList实现可编辑表格\n * ```\n * 1. 必须在外部包裹Form组件\n * 2. 表格数据源数组中必须存在唯一值字段,通过uidFieldKey配置\n * 3. 可嵌套编辑,数据嵌套的节点名称可通过 childrenColumnName设置,默认:children\n * 4. 行内需要联动逻辑可使用 column.render.operation.setCurrentRowTargetField 方法\n * 5. 在多级编辑中,可通过 column.render.operation.level 判断当前行数据层级\n * 6. 不存在多级的情况下,可使用DragEditableTablePro组件实现拖拽排序\n * 7. 存在多级的情况下,可通过 column.render.operation.move 方法实现同一级内移动\n *\n * demo\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable1\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable2\n * https://fex.qa.tcshuke.com/docs/admin/main/table/row-editable4\n * ```\n */\nexport const EditableTablePro = (props: EditableTableProProps) => {\n const form = Form.useFormInstance();\n const [expandedRowKeys, setExpandedRowKeys] = useState<string[]>([]);\n const formListName = toArray<string | number>(props.formListName);\n const dataSourceUidMap = useRef<Record<string, TPlainObject>>({});\n const dataSourceUidMapFt = useRef<\n Record<string | number, dataSourceRelativeItem>\n >({});\n const formListOperationRef = useRef<FormListOperation>();\n const uidFieldKey = props.uidFieldKey;\n const childrenColumnName = props.childrenColumnName || 'children';\n const expandedIconLayout = props.expandedIconLayout || 'layout1';\n\n const formListCompleteName = props.formListCompleteName || formListName;\n\n const dataSource = Form.useWatch(formListCompleteName, form);\n\n const [showEmptyText, setShowEmptyText] = useState<string | undefined>();\n\n const dataSourceFt = useMemo(() => {\n if (!dataSource) return [];\n let queryUidErrorFlag = false;\n function deep(\n itemList: TPlainObject[],\n level: number,\n parentUid?: string | number\n ) {\n for (let index = 0; index < itemList.length; index++) {\n const item = itemList[index];\n if (!item[uidFieldKey]) {\n console.error(item, '数据中未查询到唯一值');\n queryUidErrorFlag = true;\n return;\n } else {\n dataSourceUidMapFt.current[item[uidFieldKey]] = {\n level,\n parentUid,\n index,\n };\n dataSourceUidMap.current[item[uidFieldKey]] = item;\n deep(item[childrenColumnName] || [], level + 1, item[uidFieldKey]);\n }\n }\n }\n\n dataSourceUidMapFt.current = {};\n dataSourceUidMap.current = {};\n deep(isArray(dataSource) ? dataSource : [], 1);\n if (queryUidErrorFlag) {\n const txt = `数据源中存在唯一值【${uidFieldKey}】为空的情况,无法渲染表格`;\n void message.error(txt);\n setShowEmptyText(txt);\n return [];\n }\n return dataSource;\n }, [childrenColumnName, dataSource, uidFieldKey]);\n\n fbaHooks.useEffectCustom(() => {\n setExpandedRowKeys(props.expandedRowKeys || []);\n }, [JSON.stringify(props.expandedRowKeys || [])]);\n\n const getFormItemName = hooks.useCallbackRef((record: TPlainObject) => {\n const uid = record[uidFieldKey];\n let target: dataSourceRelativeItem | undefined =\n dataSourceUidMapFt.current[uid];\n\n const indexes: number[] = [];\n while (target) {\n indexes.push(target.index);\n if (target.level === 1) {\n break;\n }\n target = target.parentUid\n ? dataSourceUidMapFt.current[target.parentUid]\n : undefined;\n }\n const arr: Array<string | number> = [];\n indexes.reverse().forEach((item, index) => {\n arr.push(item);\n if (index < indexes.length - 1) {\n arr.push(childrenColumnName);\n }\n });\n return arr;\n });\n\n const addItem = hooks.useCallbackRef(\n (uid: string, defaultValue: TPlainObject, insertIndex?: number) => {\n const target = dataSourceUidMap.current[uid];\n\n if (target) {\n if (target.level === 1) {\n /** 通过 formListOperation.add 可以使得 Form.List的 rules 生效 */\n formListOperationRef.current?.add(defaultValue, insertIndex);\n return;\n }\n target[childrenColumnName] = target[childrenColumnName] || [];\n if (insertIndex == undefined) {\n target[childrenColumnName].push(defaultValue);\n } else {\n target[childrenColumnName].splice(insertIndex, 0, defaultValue);\n }\n const expandedRowKeysSet = new Set(expandedRowKeys);\n expandedRowKeysSet.add(target[uidFieldKey]);\n setExpandedRowKeys([...Array.from(expandedRowKeysSet)]);\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: [...dataSource],\n },\n ]);\n }\n }\n );\n\n const deleteItem = hooks.useCallbackRef(\n (uid: string | number, index: number) => {\n const target = dataSourceUidMapFt.current[uid];\n if (target.level === 1) {\n /** 通过 formListOperation.remove 可以使得 Form.List的 rules 生效 */\n formListOperationRef.current?.remove(index);\n return;\n }\n const parentUid = target.parentUid;\n if (!parentUid) {\n dataSource.splice(index, 1);\n } else {\n const parentTarget = dataSourceUidMap.current[parentUid];\n parentTarget[childrenColumnName].splice(index, 1);\n if (parentTarget[childrenColumnName].length === 0) {\n delete parentTarget[childrenColumnName];\n }\n }\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: cloneState(dataSource),\n },\n ]);\n }\n );\n\n const moveItem = hooks.useCallbackRef(\n (uid: string | number, fromIndex: number, toIndex: number) => {\n if (fromIndex === toIndex || toIndex < 0) return;\n const target = dataSourceUidMapFt.current[uid];\n const parentUid = target.parentUid;\n if (!parentUid) {\n const result = arrayReorder(dataSource, fromIndex, toIndex);\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: result,\n },\n ]);\n } else {\n const parentTarget = dataSourceUidMap.current[parentUid];\n parentTarget[childrenColumnName] = arrayReorder(\n parentTarget[childrenColumnName],\n fromIndex,\n toIndex\n );\n\n fbaUtils.setFormFieldsAndTriggerValuesChange(form, [\n {\n name: formListCompleteName,\n value: [...dataSource],\n },\n ]);\n }\n }\n );\n\n const setCurrentRowTargetField = hooks.useCallbackRef(\n (\n formItemPrevName: Array<string | number>,\n dataIndexConfigs: {\n name: EditableTableProDataIndex;\n value?: TAny;\n }[]\n ) => {\n fbaUtils.setFormFieldsAndTriggerValuesChange(\n form,\n dataIndexConfigs.map((item) => {\n return {\n name: [\n ...formListCompleteName,\n ...formItemPrevName,\n ...toArray<string | number>(item.name),\n ],\n value: item.value,\n };\n })\n );\n }\n );\n\n const setCurrentRowChildrenValue = hooks.useCallbackRef(\n (formItemPrevName: Array<string | number>, value?: TPlainObject[]) => {\n setCurrentRowTargetField(formItemPrevName, [\n { name: childrenColumnName, value },\n ]);\n }\n );\n\n const validateRowFields = hooks.useCallbackRef(\n async (\n formItemPrevName: Array<string | number>,\n nameList: EditableTableProDataIndex[]\n ) => {\n await form.validateFields(\n nameList.map((item) => [\n ...formItemPrevName,\n ...toArray<string | number>(item),\n ])\n );\n }\n );\n\n const columns = useMemo(() => {\n return props.columns.map((column) => {\n const title = column.title;\n const support = isValidElement(title) || typeof title === 'string';\n let titleRender: ReactElement | string | undefined = title;\n if (column.tipsWrapperProps && support) {\n if (typeof column.tipsWrapperProps === 'string') {\n titleRender = (\n <TipsWrapper\n tipType=\"popover\"\n popoverProps={{ content: column.tipsWrapperProps }}\n >\n {title}\n </TipsWrapper>\n );\n } else {\n titleRender = (\n <TipsWrapper {...column.tipsWrapperProps}>{title}</TipsWrapper>\n );\n }\n }\n\n let required = column.required;\n\n if (\n !required &&\n typeof column.formItemProps === 'object' &&\n column.formItemProps.rules?.length\n ) {\n required = !!column.formItemProps.rules.find(\n (item) => !!item['required']\n );\n }\n\n return {\n onCell: () => {\n return {\n valign: props.tableProps?.cellVerticalAlign || 'middle',\n };\n },\n ...column,\n title: required ? (\n <TextSymbolWrapper\n style={{ marginLeft: column.align === 'center' ? undefined : 10 }}\n text={titleRender}\n position=\"before\"\n symbolType=\"required\"\n />\n ) : (\n titleRender\n ),\n render: (value, record, index) => {\n if (isUndefinedOrNull(column.render)) {\n return value;\n }\n const uid = record[uidFieldKey];\n const dataIndex = toArray<string>(column['dataIndex']);\n const formItemPrevName = getFormItemName(record);\n const dataSourceTarget = dataSourceUidMapFt.current[uid];\n\n const editable =\n typeof column?.editable === 'function'\n ? column?.editable(record, index)\n : column?.editable;\n const tableRowFormItemCompleteName = [\n ...formListCompleteName,\n ...formItemPrevName,\n ];\n\n const renderOperationProps: EditableTableProOperation = {\n editable,\n add: addItem.bind(null, uid),\n remove: deleteItem.bind(null, uid),\n move: moveItem.bind(null, uid),\n level: dataSourceTarget.level,\n parentItem: dataSourceTarget.parentUid\n ? dataSourceUidMapFt.current[dataSourceTarget.parentUid]\n : null,\n tableRowFormItemName: formItemPrevName,\n tableRowFormItemCompleteName,\n setCurrentRowTargetField: setCurrentRowTargetField.bind(\n null,\n formItemPrevName\n ),\n setCurrentRowChildrenValue: setCurrentRowChildrenValue.bind(\n null,\n formItemPrevName\n ),\n validateRowFields: validateRowFields.bind(\n null,\n tableRowFormItemCompleteName\n ),\n };\n if (editable === true) {\n let formItemProps =\n typeof column.formItemProps === 'function'\n ? column.formItemProps(\n value,\n record,\n index,\n renderOperationProps\n )\n : column.formItemProps;\n\n if (!formItemProps?.rules?.length && required) {\n formItemProps = {\n ...formItemProps,\n rules: [{ required: true, message: '' }],\n };\n }\n\n return (\n <FormItemWrapper\n {...formItemProps}\n name={[...formItemPrevName, ...dataIndex]}\n style={{ marginBottom: 0, ...formItemProps?.style }}\n >\n {\n column.render?.(\n value,\n record,\n index,\n renderOperationProps\n ) as ReactNode\n }\n </FormItemWrapper>\n );\n }\n return column.render?.(value, record, index, renderOperationProps);\n },\n };\n }) as ColumnsType<TPlainObject>;\n }, [\n props.columns,\n props.tableProps?.cellVerticalAlign,\n uidFieldKey,\n getFormItemName,\n formListCompleteName,\n addItem,\n deleteItem,\n moveItem,\n setCurrentRowTargetField,\n setCurrentRowChildrenValue,\n validateRowFields,\n ]);\n\n const className = classNames(\n 'editable-table-pro',\n { 'editable-table-pro-layout1': expandedIconLayout === 'layout1' },\n props.className\n );\n\n return (\n <div className={className} style={props.style}>\n <Form.List\n name={formListName}\n rules={props.rules}\n initialValue={props.initialValue}\n >\n {(fields, formListOperation, { errors }) => {\n formListOperationRef.current = formListOperation;\n return (\n <div\n style={{\n borderRadius: '6px',\n border: errors?.length\n ? '1px solid #ff4d4f'\n : '1px solid transparent',\n }}\n >\n {props.tableBeforeAreaRender?.(formListOperation, fields.length)}\n <Table\n scroll={{ x: 'max-content' }}\n pagination={false}\n size=\"small\"\n {...props.tableProps}\n locale={{\n emptyText: showEmptyText ? (\n <Space size={5} style={{ color: '#ff4d4f' }}>\n <CloseCircleFilled />\n <span>{showEmptyText}</span>\n </Space>\n ) : undefined,\n }}\n expandable={{\n expandedRowKeys: expandedRowKeys,\n onExpandedRowsChange: (expandedRowKeys) => {\n setExpandedRowKeys(expandedRowKeys as string[]);\n },\n ...props.tableProps?.expandable,\n childrenColumnName: childrenColumnName,\n }}\n columns={columns}\n dataSource={dataSourceFt}\n rowKey={uidFieldKey}\n />\n <ButtonWrapper\n block\n hidden={props.hiddenFooterBtn}\n type=\"dashed\"\n icon={<PlusOutlined />}\n style={{ marginTop: 15 }}\n onClick={() => {\n const defaultValues = props.addRowDefaultValues?.();\n if (!defaultValues?.[uidFieldKey]) {\n void message.error(\n `新增行默认值必须包含唯一值字段【${uidFieldKey}】,通过 addRowDefaultValues 设置`\n );\n return;\n }\n formListOperation.add(defaultValues);\n }}\n >\n 新增\n </ButtonWrapper>\n {props.tableAfterAreaRender?.(formListOperation, fields.length)}\n {errors.length ? (\n <Form.ErrorList\n errors={[\n <div style={{ color: '#ff4d4f', padding: '5px' }} key=\"0\">\n {errors}\n </div>,\n ]}\n />\n ) : null}\n </div>\n );\n }}\n </Form.List>\n </div>\n );\n};\n"],"names":["EditableTablePro","props","_props$tableProps2","form","Form","useFormInstance","_useState","useState","_useState2","_slicedToArray","expandedRowKeys","setExpandedRowKeys","formListName","toArray","dataSourceUidMap","useRef","dataSourceUidMapFt","formListOperationRef","uidFieldKey","childrenColumnName","expandedIconLayout","formListCompleteName","dataSource","useWatch","_useState3","_useState4","showEmptyText","setShowEmptyText","dataSourceFt","useMemo","queryUidErrorFlag","deep","itemList","level","parentUid","index","length","item","console","error","current","_isArray","txt","concat","message","fbaHooks","useEffectCustom","JSON","stringify","getFormItemName","_hooks","useCallbackRef","record","uid","target","indexes","push","undefined","arr","reverse","forEach","addItem","defaultValue","insertIndex","_formListOperationRef","add","splice","expandedRowKeysSet","Set","_toConsumableArray","Array","from","fbaUtils","setFormFieldsAndTriggerValuesChange","name","value","deleteItem","_formListOperationRef2","remove","parentTarget","cloneState","moveItem","fromIndex","toIndex","result","arrayReorder","setCurrentRowTargetField","formItemPrevName","dataIndexConfigs","map","setCurrentRowChildrenValue","validateRowFields","nameList","Promise","$return","$error","resolve","validateFields","then","$await_1","$boundEx","columns","column","_column$formItemProps","title","support","isValidElement","titleRender","tipsWrapperProps","_jsx","TipsWrapper","tipType","popoverProps","content","children","_objectSpread","required","formItemProps","rules","find","onCell","_props$tableProps","valign","tableProps","cellVerticalAlign","TextSymbolWrapper","style","marginLeft","align","text","position","symbolType","render","_column$render2","isUndefinedOrNull","dataIndex","dataSourceTarget","editable","tableRowFormItemCompleteName","renderOperationProps","bind","move","parentItem","tableRowFormItemName","_formItemProps","_formItemProps2","_column$render","FormItemWrapper","marginBottom","call","className","_classNames","List","initialValue","fields","formListOperation","_ref","_props$tableBeforeAre","_props$tableProps3","_props$tableAfterArea","errors","_jsxs","borderRadius","border","tableBeforeAreaRender","Table","scroll","x","pagination","size","locale","emptyText","Space","color","_CloseCircleFilled","expandable","onExpandedRowsChange","rowKey","ButtonWrapper","block","hidden","hiddenFooterBtn","type","icon","_PlusOutlined","marginTop","onClick","_props$addRowDefaultV","defaultValues","addRowDefaultValues","tableAfterAreaRender","ErrorList","padding"],"mappings":"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"}