@flatbiz/antd 5.0.48 → 5.0.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,13 @@
1
1
  /*! @flatjs/forge MIT @flatbiz/antd */
2
2
 
3
+ import { isArray } from '@dimjs/lang/is-array';
3
4
  import { c as classNames } from './index-C6y8q2MK.js';
4
5
  import { jsx } from 'react/jsx-runtime';
5
6
 
6
7
  /**
7
8
  * 代码、json格式化渲染
8
9
  * ```
10
+ * 1. wrap 是否换行,默认值:true
9
11
  * 例如:
10
12
  * // json数据渲染
11
13
  * <CodeWrapper code={JSON.stringify(data, null, 2)}/>
@@ -31,15 +33,26 @@ return results;
31
33
  var CodeRender = function CodeRender(props) {
32
34
  var code = props.code,
33
35
  className = props.className,
34
- style = props.style;
36
+ style = props.style,
37
+ wrap = props.wrap,
38
+ size = props.size;
39
+ var codeList = isArray(code) ? code : [code];
40
+ var codeRenderClassName = classNames('code-render', className, {
41
+ 'code-render-small': size === 'small'
42
+ });
43
+ if (!props.code) return null;
44
+ var wrapFt = wrap === undefined ? true : wrap;
35
45
  return /*#__PURE__*/jsx("pre", {
36
- className: classNames('code-render', className),
46
+ className: codeRenderClassName,
37
47
  style: style,
38
48
  children: /*#__PURE__*/jsx("code", {
39
- children: code
49
+ style: {
50
+ whiteSpace: wrapFt ? 'pre-wrap' : undefined
51
+ },
52
+ children: "".concat(codeList.join('\n'))
40
53
  })
41
54
  });
42
55
  };
43
56
 
44
57
  export { CodeRender as C };
45
- //# sourceMappingURL=code-D9xbvmEX.js.map
58
+ //# sourceMappingURL=code-6OasUxQG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-6OasUxQG.js","sources":["@flatbiz/antd/src/code-render/code.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport { isArray } from '@dimjs/lang';\nimport './style.less';\n\nexport type CodeRenderProps = {\n code?: string | string[];\n className?: string;\n style?: CSSProperties;\n /** 是否换行,默认值:true */\n wrap?: boolean;\n size?: 'small' | 'default';\n};\n\n/**\n * 代码、json格式化渲染\n * ```\n * 1. wrap 是否换行,默认值:true\n * 例如:\n * // json数据渲染\n * <CodeWrapper code={JSON.stringify(data, null, 2)}/>\n * \n * // 代码渲染\n * <CodeWrapper code={`def results=[];\ndef datas=表单字段.dataList;\nfor index,data in datas do\n def item = [\n 'a':data.DomainName,\n 'b':data.Owner,\n 'userName': 流程参数.发起人账号\n ];\n results = results+item;\nend\nreturn results;\n` \n}/>\n *\n * ```\n *\n */\nexport const CodeRender = (props: CodeRenderProps) => {\n const { code, className, style, wrap, size } = props;\n const codeList = (isArray(code) ? code : [code]) as any[];\n const codeRenderClassName = classNames('code-render', className, {\n 'code-render-small': size === 'small',\n });\n\n if (!props.code) return null;\n\n const wrapFt = wrap === undefined ? true : wrap;\n\n return (\n <pre className={codeRenderClassName} style={style}>\n <code\n style={{ whiteSpace: wrapFt ? 'pre-wrap' : undefined }}\n >{`${codeList.join('\\n')}`}</code>\n </pre>\n );\n};\n"],"names":["CodeRender","props","code","className","style","wrap","size","codeList","_isArray","codeRenderClassName","classNames","wrapFt","undefined","_jsx","children","whiteSpace","concat","join"],"mappings":";;;;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAsB,EAAK;AACpD,EAAA,IAAQC,IAAI,GAAmCD,KAAK,CAA5CC,IAAI;IAAEC,SAAS,GAAwBF,KAAK,CAAtCE,SAAS;IAAEC,KAAK,GAAiBH,KAAK,CAA3BG,KAAK;IAAEC,IAAI,GAAWJ,KAAK,CAApBI,IAAI;IAAEC,IAAI,GAAKL,KAAK,CAAdK,IAAI;EAC1C,IAAMC,QAAQ,GAAIC,OAAA,CAAQN,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAW;AACzD,EAAA,IAAMO,mBAAmB,GAAGC,UAAU,CAAC,aAAa,EAAEP,SAAS,EAAE;IAC/D,mBAAmB,EAAEG,IAAI,KAAK;AAChC,GAAC,CAAC;AAEF,EAAA,IAAI,CAACL,KAAK,CAACC,IAAI,EAAE,OAAO,IAAI;EAE5B,IAAMS,MAAM,GAAGN,IAAI,KAAKO,SAAS,GAAG,IAAI,GAAGP,IAAI;AAE/C,EAAA,oBACEQ,GAAA,CAAA,KAAA,EAAA;AAAKV,IAAAA,SAAS,EAAEM,mBAAoB;AAACL,IAAAA,KAAK,EAAEA,KAAM;AAAAU,IAAAA,QAAA,eAChDD,GAAA,CAAA,MAAA,EAAA;AACET,MAAAA,KAAK,EAAE;AAAEW,QAAAA,UAAU,EAAEJ,MAAM,GAAG,UAAU,GAAGC;OAAY;MAAAE,QAAA,EAAA,EAAA,CAAAE,MAAA,CACpDT,QAAQ,CAACU,IAAI,CAAC,IAAI,CAAC;KAAS;AAAC,GAC/B,CAAC;AAEV;;;;"}
@@ -1 +1 @@
1
- .code-render{background-color:#f5f5f5;border-radius:4px;margin:0;padding:10px}
1
+ .code-render{background-color:#f5f5f5;border-radius:4px;color:#3d3d3d;font-size:14px;margin:0;padding:10px}.code-render-small{font-size:12px}
@@ -1,13 +1,17 @@
1
1
  import { CSSProperties } from 'react';
2
2
 
3
3
  export type CodeRenderProps = {
4
- code?: string;
4
+ code?: string | string[];
5
5
  className?: string;
6
6
  style?: CSSProperties;
7
+ /** 是否换行,默认值:true */
8
+ wrap?: boolean;
9
+ size?: "small" | "default";
7
10
  };
8
11
  /**
9
12
  * 代码、json格式化渲染
10
13
  * ```
14
+ * 1. wrap 是否换行,默认值:true
11
15
  * 例如:
12
16
  * // json数据渲染
13
17
  * <CodeWrapper code={JSON.stringify(data, null, 2)}/>
@@ -30,6 +34,6 @@ return results;
30
34
  * ```
31
35
  *
32
36
  */
33
- export declare const CodeRender: (props: CodeRenderProps) => import("react").JSX.Element;
37
+ export declare const CodeRender: (props: CodeRenderProps) => import("react").JSX.Element | null;
34
38
 
35
39
  export {};
@@ -2,7 +2,8 @@
2
2
  import './index.css';
3
3
  /*! @flatjs/forge MIT @flatbiz/antd */
4
4
 
5
- export { C as CodeRender } from '../code-D9xbvmEX.js';
5
+ export { C as CodeRender } from '../code-6OasUxQG.js';
6
+ import '@dimjs/lang/is-array';
6
7
  import '../index-C6y8q2MK.js';
7
8
  import '../_commonjsHelpers-a3yINl_6.js';
8
9
  import 'react/jsx-runtime';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -31,7 +31,7 @@ export type DragCollapseFormListProps = {
31
31
  /** 手风琴模式,只允许单个内容区域展开 */
32
32
  accordion?: boolean;
33
33
  /** 当前激活 tab 面板的key */
34
- activeKey?: number | number[];
34
+ activeKey?: (string | number)[];
35
35
  /** 所有子面板是否可折叠或指定可折叠触发区域,可选: header | icon | disabled */
36
36
  collapsible?: CollapseProps["collapsible"];
37
37
  /** 初始化选中面板的 key */
@@ -454,6 +454,7 @@ var EasyTable$1 = /*#__PURE__*/forwardRef(function (props, ref) {
454
454
  columnsRef.current = columns;
455
455
  };
456
456
  var onFormFinish = function onFormFinish() {
457
+ if (loading) return;
457
458
  var values = form.getFieldsValue();
458
459
  if (props.onFormFinish) {
459
460
  props.onFormFinish(_objectSpread2(_objectSpread2({}, values), getPaginationData(1, cacheParams[fieldNames.pageSize])));
@@ -659,8 +660,10 @@ var EasyTableFilter = function EasyTableFilter(props) {
659
660
  var formRowChildren = useMemo(function () {
660
661
  var defaultRightList = [!(queryButtonProps !== null && queryButtonProps !== void 0 && queryButtonProps.hidden) ? /*#__PURE__*/jsx(ButtonWrapper, _objectSpread2(_objectSpread2({
661
662
  type: "primary",
662
- htmlType: "submit"
663
+ htmlType: "submit",
664
+ loadingPosition: "center"
663
665
  }, queryButtonProps), {}, {
666
+ loading: ctx.loading,
664
667
  children: (queryButtonProps === null || queryButtonProps === void 0 ? void 0 : queryButtonProps.text) || '查询'
665
668
  }), "1") : null, !(resetButtonProps !== null && resetButtonProps !== void 0 && resetButtonProps.hidden) ? /*#__PURE__*/jsx(ButtonWrapper, _objectSpread2(_objectSpread2({
666
669
  onClick: onReset
@@ -724,7 +727,7 @@ var EasyTableFilter = function EasyTableFilter(props) {
724
727
  leftList: leftList,
725
728
  rightList: rightList
726
729
  }), 999));
727
- }, [childrens, filterOperate, foldKeys, form, onReset, openFold, queryButtonProps, resetButtonProps, rightOperateAreaAppendTypeFt]);
730
+ }, [childrens, filterOperate, foldKeys, form, onReset, openFold, queryButtonProps, resetButtonProps, rightOperateAreaAppendTypeFt, ctx.loading]);
728
731
  var labelAlign = screenType === 'xs' ? 'left' : (easyFormProps === null || easyFormProps === void 0 ? void 0 : easyFormProps.labelAlign) || 'right';
729
732
  return /*#__PURE__*/jsx(BlockLayout, {
730
733
  className: classNames('easy-table-filter', filterWrapperClassName),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-table/cache.ts","@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/fold-operate-dropdown.tsx","@flatbiz/antd/src/easy-table/easy-table.tsx","@flatbiz/antd/src/easy-table/filter.tsx","@flatbiz/antd/src/easy-table/hooks.ts","@flatbiz/antd/src/easy-table/fold-operate.tsx","@flatbiz/antd/src/easy-table/hooks/columns.tsx","@flatbiz/antd/src/easy-table/table.tsx","@flatbiz/antd/src/easy-table/index.ts"],"sourcesContent":["import { isArray, isObject } from '@dimjs/lang';\nimport type { TPlainObject } from '@flatbiz/utils';\nimport { localStorageCache, sessionStorageCache } from '@flatbiz/utils';\n\nexport const filterCache = {\n set: (cacheKey: string, filterCondition: TPlainObject) => {\n const value = filterCache.get(cacheKey);\n const mergeParams = {\n ...value,\n ...filterCondition,\n };\n sessionStorageCache.set(`easy_tab_filter_${cacheKey}`, mergeParams);\n return mergeParams as TPlainObject;\n },\n get: (cacheKey: string) => {\n const value = sessionStorageCache.get(\n `easy_tab_filter_${cacheKey}`\n ) as TPlainObject;\n return isObject(value) ? value : {};\n },\n remove: (cacheKey: string) => {\n sessionStorageCache.remove(`easy_tab_filter_${cacheKey}`);\n },\n};\n\nexport const firstQueryCache = {\n set: (cacheKey: string, flag: boolean) => {\n sessionStorageCache.set(`easy_tab_firstQuery_${cacheKey}`, { value: flag });\n },\n get: (cacheKey: string) => {\n const value = sessionStorageCache.get(\n `easy_tab_firstQuery_${cacheKey}`\n )?.value;\n return value === false ? false : true;\n },\n remove: (cacheKey: string) => {\n sessionStorageCache.remove(`easy_tab_firstQuery_${cacheKey}`);\n },\n};\n\nexport const columnFoldCache = {\n set: (cacheKey: string, value: string[]) => {\n localStorageCache.set(`easy_tab_columnFold_${cacheKey}`, { value });\n },\n get: (cacheKey: string) => {\n const value = localStorageCache.get(\n `easy_tab_columnFold_${cacheKey}`\n )?.value;\n return isArray(value) ? (value as string[]) : [];\n },\n remove: (cacheKey: string) => {\n localStorageCache.remove(`easy_tab_columnFold_${cacheKey}`);\n },\n};\n","import { createContext } from 'react';\nimport { type FormInstance } from 'antd';\nimport { noop, type TPlainObject } from '@flatbiz/utils';\nimport {\n type EasyTableProps,\n type EasyTableRefApi,\n type TEasyTableTableColumn,\n} from './type.js';\n\nexport type EditableFieldContextContextApi = {\n cacheKey: string;\n onRequest: (params?: TPlainObject) => void;\n tableDataSource?: TPlainObject[];\n tableTotal: number;\n loading?: boolean;\n fieldNames: TPlainObject;\n pageSize: number;\n initialValues?: TPlainObject;\n onSetPaginationStatus: (status: boolean) => void;\n getPaginationStatus: () => boolean;\n onFormFinish?: (values?: TPlainObject) => void;\n form: FormInstance;\n getEasyTableRef: () => EasyTableRefApi;\n paginationFixed: boolean;\n foldKeys: string[];\n onSetBaseColumns: (\n baseColumns?: TEasyTableTableColumn<TPlainObject>[]\n ) => void;\n onSetColumns: (columns?: TEasyTableTableColumn<TPlainObject>[]) => void;\n columns?: TEasyTableTableColumn<TPlainObject>[];\n dynamicColumnsConfig: {\n showFoldKeyList: string[];\n onChangeShowFoldKeyList: (keys: string[]) => void;\n columnFoldOpen: boolean;\n columnFoldConfig?: EasyTableProps['columnFoldConfig'];\n onOpenColumnFoldModal: () => void;\n onCloseColumnFoldModal: () => void;\n asyncColumnRequest?: EasyTableProps['asyncColumnRequest'];\n };\n};\n\nexport const EasyTableContext = createContext<EditableFieldContextContextApi>({\n onRequest: noop,\n tableList: [],\n getEasyTableRef: () => {\n //\n },\n} as unknown as EditableFieldContextContextApi);\n","import {\n type CSSProperties,\n Fragment,\n type ReactElement,\n useState,\n} from 'react';\nimport { Checkbox, Popover } from 'antd';\nimport { columnFoldCache } from './cache.js';\n\ntype FoldOperateProps = {\n style?: CSSProperties;\n dataList: { dataIndex: string; title: string }[];\n onChange: (keys: string[]) => void;\n cacheKey?: string;\n initSelectedRowKeys?: string[];\n children?: ReactElement;\n};\n\nexport const FoldOperateDropdown = (props: FoldOperateProps) => {\n const [selectedRowKeys, setSelectedRowKeys] = useState<string[]>(\n props.initSelectedRowKeys || []\n );\n\n const onChange = (keys) => {\n setSelectedRowKeys(keys);\n props.onChange(keys);\n if (props.cacheKey) {\n columnFoldCache.set(props.cacheKey, keys);\n }\n };\n const content = (\n <Fragment>\n <Checkbox.Group\n defaultValue={selectedRowKeys}\n onChange={onChange}\n value={selectedRowKeys}\n style={{ display: 'flex', flexDirection: 'column' }}\n >\n {props.dataList.map((item) => {\n const label = item['_isFoldTitle'] || item.title;\n return (\n <Checkbox\n value={item.dataIndex}\n key={item.dataIndex}\n style={{ padding: '0 0 5px 0' }}\n >\n {label}\n </Checkbox>\n );\n })}\n </Checkbox.Group>\n </Fragment>\n );\n\n const onChangeAll = (e) => {\n if (e.target.checked) {\n onChange(props.dataList.map((item) => item.dataIndex));\n } else {\n onChange([]);\n }\n };\n\n return (\n <Popover\n content={content}\n title={\n <Checkbox\n checked={selectedRowKeys.length === props.dataList.length}\n onChange={onChangeAll}\n >\n 全选(字段列表)\n </Checkbox>\n }\n placement=\"bottomRight\"\n overlayClassName=\"fold-operate-popiver\"\n >\n {props.children}\n </Popover>\n );\n};\n","import {\n cloneElement,\n type CSSProperties,\n forwardRef,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Form, message } from 'antd';\nimport { isArray, isString, isUndefined } from '@dimjs/lang';\nimport { classNames, get } from '@dimjs/utils';\nimport { getUuid, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { fbaUtils } from '../fba-utils/index.js';\nimport { PaginationWrapper } from '../pagination-wrapper/pagination.jsx';\nimport { columnFoldCache, filterCache, firstQueryCache } from './cache.js';\nimport { EasyTableContext } from './context.js';\nimport { FoldOperateDropdown } from './fold-operate-dropdown.jsx';\nimport {\n type EasyTableProps,\n type EasyTableRefApi,\n type TEasyTableTableColumn,\n} from './type.js';\nimport './style.less';\n\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>(\n (props, ref) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const columnFoldConfig = props.columnFoldConfig;\n const asyncColumnRequest = props.asyncColumnRequest;\n\n const [columnFoldOpen, setColumnFoldOpen] = useState(false);\n\n const cacheKey = useMemo(() => {\n if (props.cacheKey) {\n try {\n const iframe = window.frameElement;\n const iframeId = iframe?.id || '';\n return `${props.cacheKey}_${iframeId}`;\n } catch (_error) {\n return props.cacheKey;\n }\n }\n if (props.cacheSwitch === true) {\n return location.pathname;\n }\n if (typeof props.cacheSwitch === 'string') {\n return props.cacheSwitch;\n }\n return `${Date.now()}-${getUuid()}`;\n }, [props.cacheSwitch, props.cacheKey]);\n\n const cacheParams = filterCache.get(cacheKey);\n\n const [showFoldKeyList, setShowFoldKeyList] = useState<string[]>(() => {\n if (cacheKey) {\n const columnFoldCacheValue = columnFoldCache.get(cacheKey);\n const cacheKeyList = isArray(columnFoldCacheValue)\n ? columnFoldCacheValue.filter((item) => isString(item))\n : [];\n return cacheKeyList.length > 0\n ? cacheKeyList\n : columnFoldConfig?.initSelectedKeys || [];\n } else {\n return columnFoldConfig?.initSelectedKeys || [];\n }\n });\n\n const pageSize =\n props.pageSize || props.initialPaginationParams?.pageSize || 10;\n const initRequest =\n props.initRequest === undefined ? true : props.initRequest;\n const paginationStatusRef = useRef(false);\n const respOriginalDataRef = useRef<TAny>();\n const baseColumnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n const [dynamicColumns, setDynamicColumns] =\n useState<TEasyTableTableColumn<TPlainObject>[]>();\n\n const columnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n\n const fieldNames = {\n list: 'list',\n total: 'total',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm(props.form);\n\n const onInnerRequest = hooks.useCallbackRef(async (params) => {\n try {\n if (props.breforeRequest) {\n try {\n await props.breforeRequest(form);\n } catch (_error) {\n return;\n }\n }\n firstQueryCache.set(cacheKey, false);\n setLoading(true);\n const paramsAll = filterCache.set(cacheKey, params);\n const {\n requestParamsAdapter,\n onRequest,\n requestResultAdapter,\n dynamicColumsAdapter,\n } = props.serviceConfig;\n const paramsNew = requestParamsAdapter\n ? requestParamsAdapter(paramsAll)\n : paramsAll;\n const respData =\n (await onRequest(fbaUtils.removeFormValuesInvalidField(paramsNew))) ||\n {};\n respOriginalDataRef.current = respData;\n props.onDataSourceChange?.(respData);\n let respDataNew: TPlainObject = respData;\n if (requestResultAdapter) {\n respDataNew = requestResultAdapter(respData);\n }\n if (dynamicColumsAdapter) {\n const dynamicColumns = dynamicColumsAdapter(\n respData,\n baseColumnsRef.current\n );\n /** 不要添加默认值 */\n setDynamicColumns(dynamicColumns);\n }\n const respList = get(respDataNew, fieldNames.list);\n setDataSource(isArray(respList) ? respList : []);\n setTotal(get(respDataNew, fieldNames.total));\n setLoading(false);\n } catch (error: any) {\n setLoading(false);\n if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n const hasPagination = getPaginationStatus();\n const firstQueryFlag = firstQueryCache.get(cacheKey);\n form.setFieldsValue({\n ...props.initialValues,\n ...cacheParams,\n });\n if (initRequest || !firstQueryFlag) {\n if (hasPagination) {\n void onInnerRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...props.initialValues,\n ...cacheParams,\n });\n } else {\n void onInnerRequest(props.initialValues);\n }\n } else {\n filterCache.set(cacheKey, props.initialValues || {});\n }\n }, []);\n\n const clearQueryCondition = hooks.useCallbackRef(\n (values?: TPlainObject) => {\n filterCache.remove(cacheKey);\n form.resetFields();\n if (values) {\n filterCache.set(cacheKey, values);\n form.setFieldsValue(values);\n }\n }\n );\n\n const updateQueryCondition = hooks.useCallbackRef(\n (values: TPlainObject) => {\n filterCache.set(cacheKey, values);\n form.setFieldsValue(values);\n }\n );\n\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (getPaginationStatus()) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {\n [fieldNames.pageNo]: undefined,\n [fieldNames.pageSize]: undefined,\n };\n }\n };\n\n const onResetRequest = hooks.useCallbackRef((values?: TPlainObject) => {\n const params = {\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n ...props.initialValues,\n ...values,\n };\n filterCache.remove(cacheKey);\n form.resetFields();\n if (values) {\n form.setFieldsValue(values);\n }\n void onInnerRequest(params);\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...cacheParams,\n ...form.getFieldsValue(),\n };\n });\n\n const onOpenColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(true);\n });\n\n const onCloseColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(false);\n });\n\n const getEasyTableRef = (): EasyTableRefApi => {\n return {\n /**\n * 参数\n * 1. 不用添加已存在的搜索条件\n * 2. 此处可重新\n */\n onRequest: onInnerRequest,\n clearQueryCondition,\n updateQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n dataSource: respOriginalDataRef.current,\n getDataSource: () => {\n return respOriginalDataRef.current;\n },\n onFilterDataSource: (filterDataSource) => {\n setDataSource(filterDataSource);\n },\n onClearDataSource: () => {\n setTotal(0);\n setDataSource([]);\n },\n onUpdateDataSource: (dataList) => {\n setDataSource(dataList);\n respOriginalDataRef.current = { [fieldNames.list]: dataList };\n props.onDataSourceChange?.(respOriginalDataRef.current);\n },\n columnFoldTriggerRender: (\n children,\n columns: TEasyTableTableColumn<TPlainObject>[]\n ) => {\n if (props.columnFoldConfig?.triggerType === 'drawer') {\n return cloneElement(children, {\n onClick: onOpenColumnFoldModal,\n });\n }\n\n const foldColumnList = columns.filter((item: TAny) => {\n return !item.hidden && item.isFold && item.dataIndex;\n });\n\n return (\n <FoldOperateDropdown\n dataList={\n foldColumnList as { dataIndex: string; title: string }[]\n }\n onChange={onChangeFoldColumnList}\n cacheKey={cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n >\n {children}\n </FoldOperateDropdown>\n );\n },\n onChangeTableColumns: (columns) => {\n setDynamicColumns(columns);\n },\n getTableColumns: () => {\n return columnsRef.current;\n },\n loading,\n setEnabledInitRequest: () => {\n firstQueryCache.set(cacheKey, false);\n },\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n paginationStatusRef.current = status;\n };\n\n const onSetBaseColumns = (base) => {\n baseColumnsRef.current = base;\n };\n\n const onSetColumns = (columns) => {\n columnsRef.current = columns;\n };\n\n const onFormFinish = () => {\n const values = form.getFieldsValue();\n if (props.onFormFinish) {\n props.onFormFinish({\n ...values,\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n\n const filterFixedFt = screenType === 'xs' ? false : props.filterFixed;\n const className = classNames(\n 'fba-easy-table',\n {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': filterFixedFt,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n },\n props.className\n );\n\n const paginationData = fbaHooks.useMemoCustom(() => {\n return {\n showSizeChanger: true,\n current: cacheParams[fieldNames.pageNo] || 1,\n pageSize: cacheParams[fieldNames.pageSize] || pageSize,\n total: total,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n }, [\n fieldNames.pageNo,\n cacheParams,\n fieldNames.pageSize,\n cacheKey,\n pageSize,\n props.pagination,\n total,\n ]);\n\n const onChangeFoldColumnList = (keyList: string[]) => {\n setShowFoldKeyList(keyList);\n columnFoldConfig?.onChange?.(keyList);\n };\n\n const onChange = hooks.useCallbackRef((page: number, pageSize: number) => {\n const params = {\n [fieldNames.pageSize]: pageSize,\n [fieldNames.pageNo]: page,\n };\n filterCache.set(cacheKey, params);\n void onInnerRequest(params);\n props.pagination?.onChange?.(page, pageSize);\n });\n\n const getPaginationStatus = () => {\n return props.paginationFixed || paginationStatusRef.current;\n };\n\n // 分页参数发生变更\n hooks.useUpdateEffect(() => {\n if (props.paginationFixed) {\n void onInnerRequest({\n [fieldNames.pageSize]: cacheParams[fieldNames.pageSize] || pageSize,\n [fieldNames.pageNo]: 1,\n });\n } else {\n void onInnerRequest({\n [fieldNames.pageSize]: undefined,\n [fieldNames.pageNo]: undefined,\n });\n }\n }, [props.paginationFixed]);\n\n const wrapperClassName = classNames(\n 'fba-easy-table-wrapper',\n {\n 'fba-easy-table-wrapper-inline': props.isInline,\n },\n props.className\n );\n\n const wrapperStyle: CSSProperties = {\n overflowY: props.filterFixed || props.paginationFixed ? 'hidden' : 'auto',\n ...props.style,\n };\n\n const children =\n typeof props.children === 'function'\n ? props.children(respOriginalDataRef.current)\n : props.children;\n\n return (\n <EasyTableContext.Provider\n value={{\n onSetBaseColumns,\n onSetColumns,\n getEasyTableRef,\n cacheKey,\n onRequest: onInnerRequest,\n tableDataSource: dataSource,\n tableTotal: total,\n loading,\n fieldNames,\n pageSize,\n onSetPaginationStatus,\n getPaginationStatus,\n onFormFinish,\n form,\n paginationFixed: props.paginationFixed || false,\n foldKeys: props.foldKeys || [],\n columns: dynamicColumns,\n initialValues: props.initialValues,\n dynamicColumnsConfig: {\n showFoldKeyList,\n onChangeShowFoldKeyList: onChangeFoldColumnList,\n columnFoldConfig,\n onOpenColumnFoldModal,\n onCloseColumnFoldModal,\n columnFoldOpen,\n asyncColumnRequest,\n },\n }}\n >\n {props.paginationFixed ? (\n <div className={wrapperClassName} style={wrapperStyle}>\n <div className={className}>{children}</div>\n {total > 0 && (\n <div className=\"fba-easy-table-pagination\">\n <PaginationWrapper\n size=\"small\"\n {...paginationData}\n onChange={onChange}\n />\n </div>\n )}\n </div>\n ) : (\n <div className={wrapperClassName} style={props.style}>\n <div className={className}>{children}</div>\n </div>\n )}\n </EasyTableContext.Provider>\n );\n }\n);\n","import {\n Children,\n type CSSProperties,\n type ReactElement,\n useContext,\n useMemo,\n useState,\n} from 'react';\nimport { isFragment } from 'react-is';\nimport { type FormInstance } from 'antd';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { type TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BlockLayout } from '../block-layout/layout.jsx';\nimport type { ButtonWrapperProps } from '../button-wrapper/button-wrapper.jsx';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport type { EasyFormProps } from '../easy-form/form.jsx';\nimport { EasyForm } from '../easy-form/form.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { FormOperateColProps } from '../form-grid/form-operate-col.jsx';\nimport type { FormRowProps } from '../form-grid/form-row.jsx';\nimport { FormGrid } from '../form-grid/index.js';\nimport { filterCache } from './cache.js';\nimport { EasyTableContext } from './context.js';\n\nexport type EasyTableFilterProps = {\n children:\n | ReactElement\n | ReactElement[]\n | ((form: FormInstance) => ReactElement);\n /** isPure = true时无效 */\n filterOperate?: (form: FormInstance) => FormOperateColProps;\n /** 是否为纯净模式(查询条件布局是否自定义), */\n isPure?: boolean;\n /** 查询按钮配置 */\n queryButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /** 重置按钮配置 */\n resetButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /**\n * 网格布局设置\n * default = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n formGridSize?: FormRowProps['gridSize'];\n /**\n * @deprecated已过期,使用 easyFormProps.className 配置\n */\n formClassName?: string;\n /**\n * @deprecated已过期,使用 easyFormProps.style 配置\n */\n formStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout style */\n filterWrapperStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout className */\n filterWrapperClassName?: string;\n /**\n * 自定义 filterOperate.rightList 后 默认【查询、重置】按钮处理逻辑\n * 1. cover:覆盖内部查询重置按钮(默认值)\n * 2. beforeAppend:添加到【查询重置】按钮前面\n * 3. afterAppend:添加到【查询重置】按钮后面\n *\n * 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n */\n rightOperateAreaAppendType?: 'cover' | 'beforeAppend' | 'afterAppend';\n /** 默认重启按钮触发请求,默认值:true */\n defaultResetButtonTriggerRequest?: boolean;\n easyFormProps?: Omit<\n EasyFormProps,\n 'isPure' | 'column' | 'forceColumn' | 'width' | 'gridGutter' | 'children'\n >;\n};\n\n/**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormGrid.Col 组件包装 FormItemWrapper\n * <EasyTableFilter>\n * <FormGrid.Col span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormGrid.Col>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTableFilter>\n *\n * 2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n * 3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. 通过设置 defaultResetButtonTriggerRequest,默认重启按钮触发请求,默认值:true\n * 8. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const screenType = fbaHooks.useResponsivePoint() || 'md';\n const ctx = useContext(EasyTableContext);\n const {\n queryButtonProps,\n resetButtonProps,\n filterOperate,\n formClassName = '',\n defaultResetButtonTriggerRequest,\n filterWrapperStyle,\n filterWrapperClassName,\n rightOperateAreaAppendType,\n easyFormProps,\n } = props;\n const {\n cacheKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n getPaginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = ctx;\n\n const children =\n typeof props.children === 'function'\n ? props.children(form)\n : props.children;\n\n const rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';\n const childrens = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray(\n (children as ReactElement).props.children\n ) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const [openFold, setOpenFold] = useState(false);\n\n const onReset = hooks.useCallbackRef(async () => {\n filterCache.remove(cacheKey);\n form.resetFields();\n form.setFieldsValue(initialValues);\n if (\n isUndefined(defaultResetButtonTriggerRequest) ||\n defaultResetButtonTriggerRequest\n ) {\n await form.validateFields();\n if (getPaginationStatus()) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n }\n });\n\n const formRowChildren = useMemo(() => {\n const defaultRightList = [\n !queryButtonProps?.hidden ? (\n <ButtonWrapper\n key=\"1\"\n type=\"primary\"\n htmlType=\"submit\"\n {...queryButtonProps}\n >\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper key=\"2\" onClick={onReset} {...resetButtonProps}>\n {resetButtonProps?.text || '重置'}\n </ButtonWrapper>\n ) : null,\n ].filter(Boolean);\n const customFormOperateCol = filterOperate?.(form);\n const customRightList = customFormOperateCol?.rightList;\n const leftList: TAny[] = customFormOperateCol?.leftList || [];\n\n let rightList: TAny[] = defaultRightList;\n if (customRightList) {\n if (rightOperateAreaAppendTypeFt === 'afterAppend') {\n rightList = [...defaultRightList, ...customRightList];\n } else if (rightOperateAreaAppendTypeFt === 'beforeAppend') {\n rightList = [...customRightList, ...defaultRightList];\n } else {\n rightList = customRightList;\n }\n }\n if (foldKeys.length > 0) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\n key=\"fold-trigger\"\n style={{ padding: '0' }}\n onClick={() => {\n setOpenFold(!openFold);\n }}\n >\n {openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n\n if (rightList.length > 0 || leftList.length === 0) {\n rightList.push(changeFolditem);\n } else if (leftList?.length > 0) {\n leftList.push(changeFolditem);\n }\n }\n\n return childrens\n .map((item, index) => {\n if (\n !openFold &&\n foldKeys.find((keyItem) => `.$${keyItem}` === item.key)\n )\n return null;\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(\n <FormGrid.OperateCol\n key={999}\n {...customFormOperateCol}\n leftList={leftList}\n rightList={rightList}\n />\n );\n }, [\n childrens,\n filterOperate,\n foldKeys,\n form,\n onReset,\n openFold,\n queryButtonProps,\n resetButtonProps,\n rightOperateAreaAppendTypeFt,\n ]);\n\n const labelAlign =\n screenType === 'xs' ? 'left' : easyFormProps?.labelAlign || 'right';\n\n return (\n <BlockLayout\n className={classNames('easy-table-filter', filterWrapperClassName)}\n style={filterWrapperStyle}\n >\n <EasyForm\n form={form}\n autoComplete=\"off\"\n onFinish={onFormFinish}\n // initialValues={initialValues}\n className={formClassName}\n style={props.formStyle}\n isPure={true}\n labelWidth=\"80\"\n formItemGap=\"15\"\n {...easyFormProps}\n labelAlign={labelAlign}\n >\n {props.isPure ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\n </EasyForm>\n </BlockLayout>\n );\n};\n","import { useContext } from 'react';\nimport { EasyTableContext } from './context.js';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useContext(EasyTableContext);\n return ctx.getEasyTableRef();\n};\n\n/**\n * @deprecated 已过时 @4.5.0版本移除,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const ctx = useContext(EasyTableContext);\n return {\n current: ctx.getEasyTableRef(),\n };\n};\n","import { type CSSProperties, Fragment, useState } from 'react';\nimport { Drawer, Table } from 'antd';\nimport { type ColumnsType } from 'antd/lib/table/index.js';\nimport { type TableRowSelection } from 'antd/lib/table/interface.js';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { columnFoldCache } from './cache.js';\n\ntype FoldOperateProps = {\n style?: CSSProperties;\n dataList: { dataIndex?: string; title: string }[];\n onChange: (keys: string[]) => void;\n open?: boolean;\n onClose?: () => void;\n cacheKey?: string;\n initSelectedRowKeys?: string[];\n};\n\nexport const FoldOperate = (props: FoldOperateProps) => {\n const [selectedRowKeys, setSelectedRowKeys] = useState<string[]>(\n props.initSelectedRowKeys || []\n );\n const rowSelection = {\n type: 'checkbox',\n selectedRowKeys: selectedRowKeys,\n onChange: (selectedRowKeys: string[]) => {\n setSelectedRowKeys(selectedRowKeys);\n props.onChange(selectedRowKeys);\n if (props.cacheKey) {\n columnFoldCache.set(props.cacheKey, selectedRowKeys);\n }\n },\n } as TableRowSelection<TAny>;\n\n const columns: ColumnsType<TPlainObject> = [\n {\n title: '字段名称',\n dataIndex: 'title',\n render: (value, recrd) => {\n return recrd['_isFoldTitle'] || value;\n },\n },\n { title: '字段Key', dataIndex: 'dataIndex' },\n ];\n\n return (\n <Fragment>\n <Drawer\n title=\"选择字段\"\n open={props.open}\n onClose={props.onClose}\n width={'35%'}\n styles={{\n body: {\n padding: 15,\n },\n }}\n >\n <Table\n bordered\n size=\"small\"\n columns={columns}\n rowSelection={rowSelection}\n rowKey=\"dataIndex\"\n pagination={false}\n scroll={{ x: 'max-content' }}\n dataSource={props.dataList}\n />\n </Drawer>\n </Fragment>\n );\n};\n","import { useMemo } from 'react';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { ButtonWrapper } from '../../button-wrapper/button-wrapper.jsx';\nimport { fbaHooks } from '../../fba-hooks/index.js';\nimport { FlexLayout } from '../../flex-layout/flex-layout.jsx';\nimport { IconWrapper } from '../../icon-wrapper/icon-wrapper.jsx';\nimport { SvgHttpView } from '../../svg-http-view/svg.jsx';\nimport { TableTitleTooltip } from '../../table-title-tooltip/title-render.jsx';\nimport { TipsWrapper } from '../../tips-wrapper/tips-wrapper.jsx';\nimport { FoldOperateDropdown } from '../fold-operate-dropdown.jsx';\nimport { type EasyTableProps } from '../type.js';\n\nexport const useColumnsAppendTips = (props: { columns: TPlainObject[] }) => {\n return useMemo(() => {\n const tempList = props.columns\n .map((item) => {\n const { tooltip, tipsWrapperProps, title, ...otherProps } = item;\n if (typeof title === 'string' && tipsWrapperProps) {\n if (typeof tipsWrapperProps === 'string') {\n return {\n ...otherProps,\n title: (\n <TipsWrapper\n tipType=\"popover\"\n popoverProps={{ content: tipsWrapperProps }}\n >\n {title}\n </TipsWrapper>\n ),\n };\n }\n return {\n ...otherProps,\n title: <TipsWrapper {...tipsWrapperProps}>{title}</TipsWrapper>,\n };\n }\n if (typeof title === 'string' && !!tooltip) {\n return {\n ...otherProps,\n title: (\n <TableTitleTooltip\n tooltip={tooltip}\n title={title}\n ></TableTitleTooltip>\n ),\n };\n }\n return item;\n })\n .filter(Boolean);\n return [...tempList] as TPlainObject[];\n }, [props.columns]);\n};\n\nexport const useColumnsAppendInnerColumn = (props: {\n columns: TPlainObject[];\n cacheKey: string;\n showFoldKeyList: string[];\n columnFoldConfig?: EasyTableProps['columnFoldConfig'];\n onOpenColumnFoldModal: () => void;\n onChangeFoldColumnList: (keyList: string[]) => void;\n foldColumnList: TPlainObject[];\n}) => {\n const columnsNew = props.columns;\n return fbaHooks.useMemoCustom(() => {\n if (props.columnFoldConfig?.hidden) return columnsNew;\n const finalItem = columnsNew[columnsNew.length - 1];\n if (props.foldColumnList.length > 0 && columnsNew.length > 0) {\n const foldColumnTarget = columnsNew.find((item) => item['_isFoldColumn']);\n\n if (\n foldColumnTarget &&\n finalItem.dataIndex !== foldColumnTarget.dataIndex\n ) {\n foldColumnTarget.title = foldColumnTarget['_isFoldTitle'];\n foldColumnTarget['_isFoldColumn'] = false;\n }\n if (!finalItem['_isFoldColumn']) {\n finalItem['_isFoldTitle'] =\n finalItem['_isFoldTitle'] || finalItem.title;\n finalItem['_isFoldColumn'] = true;\n\n const triggerType = props.columnFoldConfig?.triggerType;\n\n finalItem.title = (\n <FlexLayout\n direction=\"horizontal\"\n fullIndex={0}\n style={{ alignItems: 'center' }}\n >\n <span>{finalItem.title}</span>\n <div style={{ padding: '0 5px 0 20px', display: 'flex' }}>\n {triggerType === 'drawer' ? (\n <IconWrapper\n onClick={props.onOpenColumnFoldModal}\n text={props.columnFoldConfig?.text}\n size=\"small\"\n icon={\n props.columnFoldConfig?.icon || (\n <SvgHttpView\n svgPath=\"ionic/list-circle\"\n color=\"#868686\"\n />\n )\n }\n hoverTips={props.columnFoldConfig?.hoverTipText || '字段列表'}\n style={{ padding: 0, margin: 0 }}\n />\n ) : (\n <FoldOperateDropdown\n dataList={props.foldColumnList as TAny[]}\n onChange={props.onChangeFoldColumnList}\n cacheKey={props.cacheKey}\n initSelectedRowKeys={props.showFoldKeyList}\n >\n <IconWrapper\n text={props.columnFoldConfig?.text}\n style={{ padding: 0, margin: 0 }}\n size=\"small\"\n icon={\n props.columnFoldConfig?.icon || (\n <SvgHttpView\n svgPath=\"ionic/list-circle\"\n color=\"#868686\"\n />\n )\n }\n />\n </FoldOperateDropdown>\n )}\n </div>\n </FlexLayout>\n );\n }\n }\n return columnsNew;\n }, [props.columns, props.columnFoldConfig]);\n};\n\nexport const useColumnsToHidden = (props: {\n columns: TPlainObject[];\n showFoldKeyList: string[];\n}) => {\n return useMemo(() => {\n const tempList = props.columns\n .map((item) => {\n const { hidden, isFold } = item;\n if (hidden) return null;\n if (isFold && !props.showFoldKeyList.includes(item.dataIndex as string))\n return null;\n return item;\n })\n .filter(Boolean);\n return [...tempList] as TPlainObject[];\n }, [props.columns, props.showFoldKeyList]);\n};\n\nexport const useColumnByAsyncColumnRequest = (props: {\n columns: TPlainObject[];\n asyncColumnRequestResult: TPlainObject;\n}) => {\n return useMemo(() => {\n if (!Object.keys(props.asyncColumnRequestResult)) return props.columns;\n return props.columns.map((item: TAny) => {\n const dataIndex = item.dataIndex as string;\n const result = props.asyncColumnRequestResult[dataIndex];\n if (dataIndex && result) {\n if (result.loading) {\n item.render = (value) => {\n return (\n <ButtonWrapper\n loading\n type=\"text\"\n loadingPosition=\"center\"\n removeGap\n >\n {value}\n </ButtonWrapper>\n );\n };\n } else if (item.asyncRender) {\n item.render = (value, record, index) => {\n return item.asyncRender?.(value, record, index, result.respData);\n };\n }\n }\n return item;\n });\n }, [props.columns, props.asyncColumnRequestResult]);\n};\n","import {\n type CSSProperties,\n Fragment,\n type ReactElement,\n type ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Space, Table, type TableProps } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport {\n getUuid,\n isMacEnv,\n isUndefinedOrNull,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BlockLayout } from '../block-layout/layout.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { FlexLayout } from '../flex-layout/flex-layout.jsx';\nimport { TableScrollbar } from '../table-scrollbar/table-scrollbar.jsx';\nimport { filterCache } from './cache.js';\nimport { EasyTableContext } from './context.js';\nimport { FoldOperate } from './fold-operate.jsx';\nimport {\n useColumnByAsyncColumnRequest,\n useColumnsAppendInnerColumn,\n useColumnsAppendTips,\n useColumnsToHidden,\n} from './hooks/columns.jsx';\nimport { type TEasyTableTableColumn } from './type.js';\n\nconst TitleRender = (props: {\n /** 标题 */\n title?: ReactNode;\n /** 动作 */\n actions?: ReactElement[];\n}) => {\n if (!props.title && !props.actions?.length) {\n return null;\n }\n return (\n <FlexLayout\n fullIndex={0}\n direction=\"horizontal\"\n style={{ marginBottom: 10, alignItems: 'center' }}\n >\n {props.title ? (\n <div style={{ fontWeight: 400, fontSize: 16 }}>{props.title}</div>\n ) : null}\n <Space size={10}>{props.actions}</Space>\n </FlexLayout>\n );\n};\n\nexport type EasyTableTableProps<T> = Omit<\n TableProps<TAny>,\n 'dataSource' | 'loading' | 'rowKey' | 'columns' | 'title'\n> & {\n children?: ReactElement | ReactElement[];\n /**\n * 表格行 key 的取值,\n * ```\n * 如果 rowKey 为string类型\n * 1. 组件会判断表格列表数据第一条是否存在当前rowKey对象的数据,如果没有组件内部会动态添加唯一值\n * 2. 基于上一条的逻辑,如果表格数据没有唯一值,可指定 rowKey 值为table数据中不存在的字段名,例如:rowKey=\"_uid\"\n * 3. 如果触发上述逻辑,表格数据中会多出rowKey对应的键值对数据\n * ```\n */\n rowKey: TableProps<TAny>['rowKey'];\n /** table Form 外层 SimpleLayout className */\n tableWrapperStyle?: CSSProperties;\n /** table Form 外层 SimpleLayout className */\n tableWrapperClassName?: string;\n /**\n * ```\n * 1. 当配置了 EasyTable.serviceConfig.dynamicColumsAdapter 后,columns配置只在初始化有效,再次修改无效\n * 2. 可通过 EasyTableRef.onChangeTableColumns 实现 columns 的指定修改\n * ```\n */\n columns: TEasyTableTableColumn<T>[];\n /**\n * 数据加载与表格初始化渲染 是否同步\n * @version 4.4.6\n * ```\n * 1. true:获取数据后再初始化渲染表格(可用于实现表格中defaultXxxx相关功能的使用)\n * ```\n */\n isSync?: boolean;\n /**\n * 空效果显示尺寸,默认值:small\n * @version 4.4.6\n */\n emptyShowSize?: 'small' | 'large';\n /** 标题 */\n title?: ReactNode;\n /** 与标题对齐的动作 */\n actions?: ReactElement[];\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\nexport const EasyTableTable = <T extends TPlainObject>(\n props: EasyTableTableProps<T>\n) => {\n const ctx = useContext(EasyTableContext);\n const {\n children,\n rowKey,\n pagination,\n isSync,\n title,\n actions,\n ...otherProps\n } = props;\n const screenType = fbaHooks.useResponsivePoint() || '';\n const asyncColumnRequestResultRef = useRef<{\n [dataIndex: string]: {\n respData?: TAny;\n loading?: boolean;\n };\n }>({});\n const [asyncColumnRequestResult, setAsyncColumnRequestResult] = useState<{\n [dataIndex: string]: {\n respData?: TAny;\n loading?: boolean;\n };\n }>({});\n\n const {\n columnFoldConfig,\n onCloseColumnFoldModal,\n columnFoldOpen,\n onOpenColumnFoldModal,\n asyncColumnRequest,\n showFoldKeyList,\n onChangeShowFoldKeyList,\n } = ctx.dynamicColumnsConfig;\n\n const {\n cacheKey,\n fieldNames,\n onRequest,\n tableDataSource,\n pageSize,\n tableTotal,\n loading,\n paginationFixed,\n onSetPaginationStatus,\n } = ctx;\n\n const cacheParams = filterCache.get(cacheKey);\n\n fbaHooks.useEffectCustom(() => {\n /** 获取初始化 columns 数据 */\n ctx.onSetBaseColumns(\n (props.columns || []) as TEasyTableTableColumn<TPlainObject>[]\n );\n }, []);\n\n useEffect(() => {\n if (asyncColumnRequest?.length) {\n for (let index = 0; index < asyncColumnRequest.length; index++) {\n const element = asyncColumnRequest[index];\n asyncColumnRequestResultRef.current = {\n ...asyncColumnRequestResultRef.current,\n [element.dataIndex]: { loading: true },\n };\n setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);\n element\n .onRequest()\n .then((respData) => {\n asyncColumnRequestResultRef.current = {\n ...asyncColumnRequestResultRef.current,\n [element.dataIndex]: { loading: false, respData },\n };\n setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);\n })\n .catch((error) => {\n console.error(error?.message);\n asyncColumnRequestResultRef.current = {\n ...asyncColumnRequestResultRef.current,\n [element.dataIndex]: { loading: false },\n };\n setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);\n });\n }\n }\n }, [asyncColumnRequest]);\n\n const columnsOriginal = fbaHooks.useMemoCustom(() => {\n if (ctx.columns) {\n ctx.onSetColumns(ctx.columns);\n return ctx.columns as TEasyTableTableColumn<T>[];\n } else {\n ctx.onSetColumns(props.columns as TEasyTableTableColumn<TPlainObject>[]);\n return props.columns;\n }\n }, [ctx.columns, props.columns]);\n\n let columnsNew = useColumnsAppendTips({\n columns: [...columnsOriginal],\n });\n\n const foldColumnList = columnsOriginal.filter((item: TAny) => {\n return !item.hidden && item.isFold && item.dataIndex;\n });\n\n columnsNew = useColumnsAppendInnerColumn({\n cacheKey,\n columns: columnsNew,\n foldColumnList,\n showFoldKeyList,\n columnFoldConfig,\n onOpenColumnFoldModal,\n onChangeFoldColumnList: onChangeShowFoldKeyList,\n });\n\n columnsNew = useColumnsToHidden({\n columns: columnsNew,\n showFoldKeyList,\n });\n\n columnsNew = useColumnByAsyncColumnRequest({\n columns: columnsNew,\n asyncColumnRequestResult,\n });\n\n fbaHooks.useEffectCustom(() => {\n onSetPaginationStatus(pagination !== false);\n }, [pagination]);\n\n // 分页参数发生变更\n hooks.useUpdateEffect(() => {\n if (!paginationFixed) {\n if (pagination !== false) {\n onRequest({\n [fieldNames.pageSize]: cacheParams[fieldNames.pageSize] || pageSize,\n [fieldNames.pageNo]: 1,\n });\n } else {\n onRequest({\n [fieldNames.pageSize]: undefined,\n [fieldNames.pageNo]: undefined,\n });\n }\n }\n }, [pagination]);\n\n const tablePaginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: cacheParams[fieldNames.pageNo] || 1,\n pageSize: cacheParams[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n // selectComponentClass: SmallSelect,\n };\n }, [\n cacheParams,\n fieldNames.pageNo,\n fieldNames.pageSize,\n pageSize,\n pagination,\n paginationFixed,\n props.pagination,\n tableTotal,\n ]);\n\n const onChangePage: TableProps<TAny>['onChange'] = (\n pagination,\n filters,\n sorter,\n extra\n ) => {\n if (extra.action === 'paginate' && tablePaginationData) {\n onRequest({\n [fieldNames.pageSize]: pagination.pageSize,\n [fieldNames.pageNo]: pagination.current,\n });\n } else {\n props.onChange?.(pagination, filters, sorter, extra);\n }\n };\n\n const dataSource = useMemo(() => {\n if (!tableDataSource) return undefined;\n if (tableDataSource.length === 0) {\n return [];\n }\n if (\n typeof rowKey === 'string' &&\n isUndefinedOrNull(tableDataSource[0][rowKey])\n ) {\n return tableDataSource.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableDataSource;\n }, [tableDataSource, rowKey]);\n\n columnsNew = useMemo(() => {\n return columnsNew.map((item) => {\n if (!!item.fixed && screenType === 'xs') {\n item.fixed = undefined;\n }\n if (!!item.defaultValue && !item.render) {\n item.render = (value) => {\n return isUndefinedOrNull(value) || value == ''\n ? item.defaultValue\n : value;\n };\n }\n return item;\n });\n }, [columnsNew, screenType]);\n\n const tableRender = () => {\n if (isSync && !dataSource) {\n return (\n <Fragment>\n <TitleRender title={title} actions={actions} />\n {children}\n <Table\n key=\"1\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n rowKey={rowKey as TAny}\n columns={columnsNew}\n loading={loading}\n />\n </Fragment>\n );\n }\n if (isMacEnv()) {\n return (\n <Fragment>\n <TitleRender title={title} actions={actions} />\n {children}\n <Table\n key=\"2\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columnsNew}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </Fragment>\n );\n }\n return (\n <Fragment>\n <TitleRender title={title} actions={actions} />\n {children}\n <TableScrollbar>\n <Table\n key=\"3\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columnsNew}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </TableScrollbar>\n </Fragment>\n );\n };\n\n return (\n <BlockLayout\n className={classNames(\n 'easy-table-table',\n { 'ett-empty-show-small': props.emptyShowSize === 'small' },\n props.tableWrapperClassName\n )}\n style={props.tableWrapperStyle}\n >\n {tableRender()}\n\n <FoldOperate\n dataList={foldColumnList as TAny[]}\n onClose={onCloseColumnFoldModal}\n open={columnFoldOpen}\n onChange={onChangeShowFoldKeyList}\n cacheKey={cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n />\n </BlockLayout>\n );\n};\n","import { fbaUtils } from '../fba-utils/index.js';\nimport { firstQueryCache } from './cache.js';\nimport { EasyTable as EasyTableInner } from './easy-table.jsx';\nimport { EasyTableFilter } from './filter.jsx';\nimport { useEasyTable, useEasyTablRef } from './hooks.js';\nimport { EasyTableTable } from './table.jsx';\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n *\n * 1. 废弃modelKey参数\n * 2. 如果需要在路由跳转回退中缓存查询条件,设置cacheSwitch=true;如果存在多个EasyTable缓存情况可设置cacheSwitch为自定义字符串\n * 3. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作\n * 4. 可通过属性 initRequest 设置初始化是否请求数据\n * 5. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n * 6. isFull=true,设置【在父节点高度下,上下铺满】(默认值:true)\n * 7. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 8. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 9. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值\n * 10. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提高windows下table左右滚动体验\n * 11. 可实现部分字段折叠,手动选择显示,将EasyTable.Table columns中isFold属性设为true,可通过EasyTable columnFoldConfig配置属性,demo(https://fex.qa.tcshuke.com/docs/admin/main/crud/demo1)\n * 12. 通过asyncColumnRequest、asyncRender配合使用可实现表格列数据接口渲染(demo:https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table)\n * ```\n */\nexport const EasyTable = fbaUtils.attachPropertiesToComponent(EasyTableInner, {\n /**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTable.Filter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTable.Filter>\n *\n * -- 自定义网格布局 使用 FormGrid.Col 组件包装 FormItemWrapper\n * <EasyTable.Filter>\n * <FormGrid.Col span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormGrid.Col>\n * </EasyTable.Filter>\n *\n * -- children 可为 function\n * <EasyTable.Filter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTable.Filter>\n * 2. 用户2(自定义布局)\n * EasyTable.Filter设置 isPure = true,FormItem无布局规则\n * 3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n * 8. 通过easyFormProps属性可整体控制子节点FormItem布局\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\n Table: EasyTableTable,\n /**\n * @deprecated 已过时 4.3.0版本移除,请使用 useEasyTable\n */\n useEasyTablRef: useEasyTablRef,\n\n /** 在 EasyTable子组件内才可使用 */\n useEasyTable: useEasyTable,\n /** 设置启用初始化请求 */\n setEnabledInitRequest: (cacheKey: string) => {\n firstQueryCache.set(cacheKey, false);\n },\n});\n"],"names":["filterCache","set","cacheKey","filterCondition","value","get","mergeParams","_objectSpread","sessionStorageCache","concat","_isObject","remove","firstQueryCache","flag","_sessionStorageCache$","columnFoldCache","localStorageCache","_localStorageCache$ge","_isArray","EasyTableContext","createContext","onRequest","noop","tableList","getEasyTableRef","FoldOperateDropdown","props","_useState","useState","initSelectedRowKeys","_useState2","_slicedToArray","selectedRowKeys","setSelectedRowKeys","onChange","keys","content","_jsx","Fragment","children","Checkbox","Group","defaultValue","style","display","flexDirection","dataList","map","item","label","title","dataIndex","padding","onChangeAll","e","target","checked","Popover","length","placement","overlayClassName","EasyTable","forwardRef","ref","_props$initialPaginat","screenType","fbaHooks","useResponsivePoint","dataSource","setDataSource","_useState3","_useState4","total","setTotal","_useState5","_useState6","loading","setLoading","columnFoldConfig","asyncColumnRequest","_useState7","_useState8","columnFoldOpen","setColumnFoldOpen","useMemo","iframe","window","frameElement","iframeId","id","_error","cacheSwitch","location","pathname","Date","now","getUuid","cacheParams","_useState9","columnFoldCacheValue","cacheKeyList","filter","_isString","initSelectedKeys","_useState0","showFoldKeyList","setShowFoldKeyList","pageSize","initialPaginationParams","initRequest","undefined","paginationStatusRef","useRef","respOriginalDataRef","baseColumnsRef","_useState1","_useState10","dynamicColumns","setDynamicColumns","columnsRef","fieldNames","list","pageNo","_Form$useForm","Form","useForm","form","_Form$useForm2","onInnerRequest","_hooks","useCallbackRef","params","Promise","$return","$error","_props$onDataSourceCh","paramsAll","_props$serviceConfig","requestParamsAdapter","requestResultAdapter","dynamicColumsAdapter","paramsNew","respData","respDataNew","_dynamicColumns","respList","$Try_2_Post","$boundEx","$Try_2_Catch","error","onRequestErrorHandle","message","breforeRequest","$Try_3_Post","$If_4","call","bind","$Try_3_Catch","resolve","then","$await_5","serviceConfig","fbaUtils","removeFormValuesInvalidField","$await_6","current","onDataSourceChange","_get","useEffectCustom","hasPagination","getPaginationStatus","firstQueryFlag","setFieldsValue","initialValues","_defineProperty","clearQueryCondition","values","resetFields","updateQueryCondition","getPaginationData","_pageSize","onResetRequest","getRequestParams","getFieldsValue","onOpenColumnFoldModal","onCloseColumnFoldModal","getDataSource","onFilterDataSource","filterDataSource","onClearDataSource","onUpdateDataSource","_props$onDataSourceCh2","columnFoldTriggerRender","columns","_props$columnFoldConf","triggerType","cloneElement","onClick","foldColumnList","hidden","isFold","onChangeFoldColumnList","onChangeTableColumns","getTableColumns","setEnabledInitRequest","useImperativeHandle","onSetPaginationStatus","status","onSetBaseColumns","base","onSetColumns","onFormFinish","isFull","_isUndefined","filterFixedFt","filterFixed","className","_classNames","paginationFixed","paginationData","useMemoCustom","showSizeChanger","showTotal","pagination","keyList","_columnFoldConfig$onC","page","_props$pagination","_props$pagination$onC","useUpdateEffect","wrapperClassName","isInline","wrapperStyle","overflowY","Provider","tableDataSource","tableTotal","foldKeys","dynamicColumnsConfig","onChangeShowFoldKeyList","_jsxs","PaginationWrapper","size","EasyTableFilter","ctx","useContext","queryButtonProps","resetButtonProps","filterOperate","_props$formClassName","formClassName","defaultResetButtonTriggerRequest","filterWrapperStyle","filterWrapperClassName","rightOperateAreaAppendType","easyFormProps","rightOperateAreaAppendTypeFt","childrens","isFragment","Children","toArray","openFold","setOpenFold","onReset","validateFields","$await_2","$If_1","formRowChildren","defaultRightList","ButtonWrapper","type","htmlType","text","Boolean","customFormOperateCol","customRightList","rightList","leftList","_toConsumableArray","changeFolditem","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","index","find","keyItem","key","FormGrid","Col","OperateCol","labelAlign","BlockLayout","EasyForm","autoComplete","onFinish","formStyle","isPure","labelWidth","formItemGap","Row","gutter","gridSize","formGridSize","useEasyTable","useEasyTablRef","FoldOperate","rowSelection","render","recrd","Drawer","open","onClose","width","styles","body","Table","bordered","rowKey","scroll","x","useColumnsAppendTips","tempList","tooltip","tipsWrapperProps","otherProps","_objectWithoutProperties","_excluded","TipsWrapper","tipType","popoverProps","TableTitleTooltip","useColumnsAppendInnerColumn","columnsNew","finalItem","foldColumnTarget","_props$columnFoldConf2","_props$columnFoldConf3","_props$columnFoldConf4","_props$columnFoldConf5","_props$columnFoldConf6","_props$columnFoldConf7","FlexLayout","direction","fullIndex","alignItems","IconWrapper","icon","SvgHttpView","svgPath","color","hoverTips","hoverTipText","margin","useColumnsToHidden","includes","useColumnByAsyncColumnRequest","Object","asyncColumnRequestResult","result","loadingPosition","removeGap","asyncRender","record","_item$asyncRender","TitleRender","_props$actions","actions","marginBottom","fontWeight","Space","EasyTableTable","isSync","asyncColumnRequestResultRef","setAsyncColumnRequestResult","_ctx$dynamicColumnsCo","useEffect","_loop","element","catch","console","columnsOriginal","tablePaginationData","onChangePage","filters","sorter","extra","action","_props$onChange","isUndefinedOrNull","fixed","tableRender","isMacEnv","TableScrollbar","emptyShowSize","tableWrapperClassName","tableWrapperStyle","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAMA,WAAW,GAAG;AACzBC,EAAAA,GAAG,EAAE,SAALA,GAAGA,CAAGC,QAAgB,EAAEC,eAA6B,EAAK;AACxD,IAAA,IAAMC,KAAK,GAAGJ,WAAW,CAACK,GAAG,CAACH,QAAQ,CAAC;IACvC,IAAMI,WAAW,GAAAC,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZH,KAAK,CAAA,EACLD,eAAe,CACnB;IACDK,mBAAmB,CAACP,GAAG,CAAA,kBAAA,CAAAQ,MAAA,CAAoBP,QAAQ,CAAA,EAAII,WAAW,CAAC;AACnE,IAAA,OAAOA,WAAW;EACpB,CAAC;AACDD,EAAAA,GAAG,EAAE,SAALA,GAAGA,CAAGH,QAAgB,EAAK;IACzB,IAAME,KAAK,GAAGI,mBAAmB,CAACH,GAAG,oBAAAI,MAAA,CAChBP,QAAQ,CAC7B,CAAiB;IACjB,OAAOQ,QAAA,CAASN,KAAK,CAAC,GAAGA,KAAK,GAAG,EAAE;EACrC,CAAC;AACDO,EAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGT,QAAgB,EAAK;AAC5BM,IAAAA,mBAAmB,CAACG,MAAM,CAAA,kBAAA,CAAAF,MAAA,CAAoBP,QAAQ,CAAE,CAAC;AAC3D,EAAA;AACF,CAAC;AAEM,IAAMU,eAAe,GAAG;AAC7BX,EAAAA,GAAG,EAAE,SAALA,GAAGA,CAAGC,QAAgB,EAAEW,IAAa,EAAK;AACxCL,IAAAA,mBAAmB,CAACP,GAAG,CAAA,sBAAA,CAAAQ,MAAA,CAAwBP,QAAQ,CAAA,EAAI;AAAEE,MAAAA,KAAK,EAAES;AAAK,KAAC,CAAC;EAC7E,CAAC;AACDR,EAAAA,GAAG,EAAE,SAALA,GAAGA,CAAGH,QAAgB,EAAK;AAAA,IAAA,IAAAY,qBAAA;AACzB,IAAA,IAAMV,KAAK,GAAA,CAAAU,qBAAA,GAAGN,mBAAmB,CAACH,GAAG,CAAA,sBAAA,CAAAI,MAAA,CACZP,QAAQ,CACjC,CAAC,MAAA,IAAA,IAAAY,qBAAA,KAAA,MAAA,GAAA,MAAA,GAFaA,qBAAA,CAEXV,KAAK;AACR,IAAA,OAAOA,KAAK,KAAK,KAAK,GAAG,KAAK,GAAG,IAAI;EACvC,CAAC;AACDO,EAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGT,QAAgB,EAAK;AAC5BM,IAAAA,mBAAmB,CAACG,MAAM,CAAA,sBAAA,CAAAF,MAAA,CAAwBP,QAAQ,CAAE,CAAC;AAC/D,EAAA;AACF,CAAC;AAEM,IAAMa,eAAe,GAAG;AAC7Bd,EAAAA,GAAG,EAAE,SAALA,GAAGA,CAAGC,QAAgB,EAAEE,KAAe,EAAK;AAC1CY,IAAAA,iBAAiB,CAACf,GAAG,CAAA,sBAAA,CAAAQ,MAAA,CAAwBP,QAAQ,CAAA,EAAI;AAAEE,MAAAA,KAAK,EAALA;AAAM,KAAC,CAAC;EACrE,CAAC;AACDC,EAAAA,GAAG,EAAE,SAALA,GAAGA,CAAGH,QAAgB,EAAK;AAAA,IAAA,IAAAe,qBAAA;AACzB,IAAA,IAAMb,KAAK,GAAA,CAAAa,qBAAA,GAAGD,iBAAiB,CAACX,GAAG,CAAA,sBAAA,CAAAI,MAAA,CACVP,QAAQ,CACjC,CAAC,MAAA,IAAA,IAAAe,qBAAA,KAAA,MAAA,GAAA,MAAA,GAFaA,qBAAA,CAEXb,KAAK;AACR,IAAA,OAAOc,OAAA,CAAQd,KAAK,CAAC,GAAIA,KAAK,GAAgB,EAAE;EAClD,CAAC;AACDO,EAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGT,QAAgB,EAAK;AAC5Bc,IAAAA,iBAAiB,CAACL,MAAM,CAAA,sBAAA,CAAAF,MAAA,CAAwBP,QAAQ,CAAE,CAAC;AAC7D,EAAA;AACF,CAAC;;ACZM,IAAMiB,gBAAgB,gBAAGC,aAAa,CAAiC;AAC5EC,EAAAA,SAAS,EAAEC,IAAI;AACfC,EAAAA,SAAS,EAAE,EAAE;AACbC,EAAAA,eAAe,EAAE,SAAjBA,eAAeA,GAAQ;AACrB;AAAA,EAAA;AAEJ,CAA8C,CAAC;;AC7BxC,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,KAAuB,EAAK;EAC9D,IAAAC,SAAA,GAA8CC,QAAQ,CACpDF,KAAK,CAACG,mBAAmB,IAAI,EAC/B,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAFMK,IAAAA,eAAe,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,kBAAkB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAI1C,EAAA,IAAMI,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,IAAI,EAAK;IACzBF,kBAAkB,CAACE,IAAI,CAAC;AACxBT,IAAAA,KAAK,CAACQ,QAAQ,CAACC,IAAI,CAAC;IACpB,IAAIT,KAAK,CAACxB,QAAQ,EAAE;MAClBa,eAAe,CAACd,GAAG,CAACyB,KAAK,CAACxB,QAAQ,EAAEiC,IAAI,CAAC;AAC3C,IAAA;EACF,CAAC;AACD,EAAA,IAAMC,OAAO,gBACXC,GAAA,CAACC,QAAQ,EAAA;AAAAC,IAAAA,QAAA,eACPF,GAAA,CAACG,QAAQ,CAACC,KAAK,EAAA;AACbC,MAAAA,YAAY,EAAEV,eAAgB;AAC9BE,MAAAA,QAAQ,EAAEA,QAAS;AACnB9B,MAAAA,KAAK,EAAE4B,eAAgB;AACvBW,MAAAA,KAAK,EAAE;AAAEC,QAAAA,OAAO,EAAE,MAAM;AAAEC,QAAAA,aAAa,EAAE;OAAW;MAAAN,QAAA,EAEnDb,KAAK,CAACoB,QAAQ,CAACC,GAAG,CAAC,UAACC,IAAI,EAAK;QAC5B,IAAMC,KAAK,GAAGD,IAAI,CAAC,cAAc,CAAC,IAAIA,IAAI,CAACE,KAAK;QAChD,oBACEb,GAAA,CAACG,QAAQ,EAAA;UACPpC,KAAK,EAAE4C,IAAI,CAACG,SAAU;AAEtBR,UAAAA,KAAK,EAAE;AAAES,YAAAA,OAAO,EAAE;WAAc;AAAAb,UAAAA,QAAA,EAE/BU;SAAK,EAHDD,IAAI,CAACG,SAIF,CAAC;MAEf,CAAC;KACa;AAAC,GACT,CACX;AAED,EAAA,IAAME,WAAW,GAAG,SAAdA,WAAWA,CAAIC,CAAC,EAAK;AACzB,IAAA,IAAIA,CAAC,CAACC,MAAM,CAACC,OAAO,EAAE;MACpBtB,QAAQ,CAACR,KAAK,CAACoB,QAAQ,CAACC,GAAG,CAAC,UAACC,IAAI,EAAA;QAAA,OAAKA,IAAI,CAACG,SAAS;AAAA,MAAA,CAAA,CAAC,CAAC;AACxD,IAAA,CAAC,MAAM;MACLjB,QAAQ,CAAC,EAAE,CAAC;AACd,IAAA;EACF,CAAC;EAED,oBACEG,GAAA,CAACoB,OAAO,EAAA;AACNrB,IAAAA,OAAO,EAAEA,OAAQ;IACjBc,KAAK,eACHb,GAAA,CAACG,QAAQ,EAAA;MACPgB,OAAO,EAAExB,eAAe,CAAC0B,MAAM,KAAKhC,KAAK,CAACoB,QAAQ,CAACY,MAAO;AAC1DxB,MAAAA,QAAQ,EAAEmB,WAAY;AAAAd,MAAAA,QAAA,EACvB;AAED,KAAU,CACX;AACDoB,IAAAA,SAAS,EAAC,aAAa;AACvBC,IAAAA,gBAAgB,EAAC,sBAAsB;IAAArB,QAAA,EAEtCb,KAAK,CAACa;AAAQ,GACR,CAAC;AAEd,CAAC;;ACpDM,IAAMsB,WAAS,gBAAGC,UAAU,CACjC,UAACpC,KAAK,EAAEqC,GAAG,EAAK;AAAA,EAAA,IAAAC,qBAAA;EACd,IAAMC,UAAU,GAAGC,QAAQ,CAACC,kBAAkB,EAAE,IAAI,EAAE;AACtD,EAAA,IAAAxC,SAAA,GAAoCC,QAAQ,EAAkB;IAAAE,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAAvDyC,IAAAA,UAAU,GAAAtC,UAAA,CAAA,CAAA,CAAA;AAAEuC,IAAAA,aAAa,GAAAvC,UAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAwC,UAAA,GAA0B1C,QAAQ,CAAS,CAAC,CAAC;IAAA2C,UAAA,GAAAxC,cAAA,CAAAuC,UAAA,EAAA,CAAA,CAAA;AAAtCE,IAAAA,KAAK,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA;AACtB,EAAA,IAAAG,UAAA,GAA8B9C,QAAQ,CAAU,KAAK,CAAC;IAAA+C,UAAA,GAAA5C,cAAA,CAAA2C,UAAA,EAAA,CAAA,CAAA;AAA/CE,IAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAMG,gBAAgB,GAAGpD,KAAK,CAACoD,gBAAgB;AAC/C,EAAA,IAAMC,kBAAkB,GAAGrD,KAAK,CAACqD,kBAAkB;AAEnD,EAAA,IAAAC,UAAA,GAA4CpD,QAAQ,CAAC,KAAK,CAAC;IAAAqD,UAAA,GAAAlD,cAAA,CAAAiD,UAAA,EAAA,CAAA,CAAA;AAApDE,IAAAA,cAAc,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAExC,EAAA,IAAM/E,QAAQ,GAAGkF,OAAO,CAAC,YAAM;IAC7B,IAAI1D,KAAK,CAACxB,QAAQ,EAAE;MAClB,IAAI;AACF,QAAA,IAAMmF,MAAM,GAAGC,MAAM,CAACC,YAAY;QAClC,IAAMC,QAAQ,GAAG,CAAAH,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEI,EAAE,KAAI,EAAE;QACjC,OAAA,EAAA,CAAAhF,MAAA,CAAUiB,KAAK,CAACxB,QAAQ,EAAA,GAAA,CAAA,CAAAO,MAAA,CAAI+E,QAAQ,CAAA;MACtC,CAAC,CAAC,OAAOE,MAAM,EAAE;QACf,OAAOhE,KAAK,CAACxB,QAAQ;AACvB,MAAA;AACF,IAAA;AACA,IAAA,IAAIwB,KAAK,CAACiE,WAAW,KAAK,IAAI,EAAE;MAC9B,OAAOC,QAAQ,CAACC,QAAQ;AAC1B,IAAA;AACA,IAAA,IAAI,OAAOnE,KAAK,CAACiE,WAAW,KAAK,QAAQ,EAAE;MACzC,OAAOjE,KAAK,CAACiE,WAAW;AAC1B,IAAA;AACA,IAAA,OAAA,EAAA,CAAAlF,MAAA,CAAUqF,IAAI,CAACC,GAAG,EAAE,EAAA,GAAA,CAAA,CAAAtF,MAAA,CAAIuF,OAAO,EAAE,CAAA;EACnC,CAAC,EAAE,CAACtE,KAAK,CAACiE,WAAW,EAAEjE,KAAK,CAACxB,QAAQ,CAAC,CAAC;AAEvC,EAAA,IAAM+F,WAAW,GAAGjG,WAAW,CAACK,GAAG,CAACH,QAAQ,CAAC;AAE7C,EAAA,IAAAgG,UAAA,GAA8CtE,QAAQ,CAAW,YAAM;AACrE,MAAA,IAAI1B,QAAQ,EAAE;AACZ,QAAA,IAAMiG,oBAAoB,GAAGpF,eAAe,CAACV,GAAG,CAACH,QAAQ,CAAC;AAC1D,QAAA,IAAMkG,YAAY,GAAGlF,OAAA,CAAQiF,oBAAoB,CAAC,GAC9CA,oBAAoB,CAACE,MAAM,CAAC,UAACrD,IAAI,EAAA;UAAA,OAAKsD,QAAA,CAAStD,IAAI,CAAC;AAAA,QAAA,CAAA,CAAC,GACrD,EAAE;AACN,QAAA,OAAOoD,YAAY,CAAC1C,MAAM,GAAG,CAAC,GAC1B0C,YAAY,GACZ,CAAAtB,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEyB,gBAAgB,KAAI,EAAE;AAC9C,MAAA,CAAC,MAAM;QACL,OAAO,CAAAzB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEyB,gBAAgB,KAAI,EAAE;AACjD,MAAA;AACF,IAAA,CAAC,CAAC;IAAAC,UAAA,GAAAzE,cAAA,CAAAmE,UAAA,EAAA,CAAA,CAAA;AAZKO,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAc1C,EAAA,IAAMG,QAAQ,GACZjF,KAAK,CAACiF,QAAQ,KAAA,CAAA3C,qBAAA,GAAItC,KAAK,CAACkF,uBAAuB,cAAA5C,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA7BA,qBAAA,CAA+B2C,QAAQ,KAAI,EAAE;AACjE,EAAA,IAAME,WAAW,GACfnF,KAAK,CAACmF,WAAW,KAAKC,SAAS,GAAG,IAAI,GAAGpF,KAAK,CAACmF,WAAW;AAC5D,EAAA,IAAME,mBAAmB,GAAGC,MAAM,CAAC,KAAK,CAAC;AACzC,EAAA,IAAMC,mBAAmB,GAAGD,MAAM,EAAQ;AAC1C,EAAA,IAAME,cAAc,GAAGF,MAAM,CAAwC,EAAE,CAAC;AACxE,EAAA,IAAAG,UAAA,GACEvF,QAAQ,EAAyC;IAAAwF,WAAA,GAAArF,cAAA,CAAAoF,UAAA,EAAA,CAAA,CAAA;AAD5CE,IAAAA,cAAc,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,WAAA,CAAA,CAAA,CAAA;AAGxC,EAAA,IAAMG,UAAU,GAAGP,MAAM,CAAwC,EAAE,CAAC;EAEpE,IAAMQ,UAAU,GAAAjH,cAAA,CAAA;AACdkH,IAAAA,IAAI,EAAE,MAAM;AACZjD,IAAAA,KAAK,EAAE,OAAO;AACdkD,IAAAA,MAAM,EAAE,QAAQ;AAChBf,IAAAA,QAAQ,EAAE;GAAU,EACjBjF,KAAK,CAAC8F,UAAU,CACpB;EAED,IAAAG,aAAA,GAAeC,IAAI,CAACC,OAAO,CAACnG,KAAK,CAACoG,IAAI,CAAC;IAAAC,cAAA,GAAAhG,cAAA,CAAA4F,aAAA,EAAA,CAAA,CAAA;AAAhCG,IAAAA,IAAI,GAAAC,cAAA,CAAA,CAAA,CAAA;AAEX,EAAA,IAAMC,cAAc,GAAGC,KAAA,CAAMC,cAAc,CAAC,UAAOC,MAAM,EAAA;AAAb,IAAA,OAAA,IAAAC,OAAA,CAAA,UAAAC,OAAA,EAAAC,MAAA,EAAA;MAAA,IAAAC,qBAAA,EAWlCC,SAA6C,EAAAC,oBAAA,EAAAC,oBAAA,EAAArH,SAAA,EAAAsH,oBAAA,EAAAC,oBAAA,EAO7CC,SAEO,EACPC,QAEF,EAGAC,WAAoC,EAKhCC,eAGL,EAIGC,QAA4C;MArI1D,IAAIC,WAAA,eAAA;QAAJ,IAAI;AAAA,UAAA,OAAAb,OAAA,EAAA;QAAI,CAAC,CAAC,OAAAc,QAAA,EAAU;UAAC,OAAOb,MAAA,CAAAa,QAAK,CAAC;AAAA,QAAA;MAAC,CAAxB;AAAX,MAAA,IAAIC,YAAA,GAAA,UAyIWC,KAAU,EAAE;QAzI3B,IAAI;UA0IIxE,UAAU,CAAC,KAAK,CAAC;UACjB,IAAInD,KAAK,CAAC4H,oBAAoB,EAAE;AAC9B5H,YAAAA,KAAK,CAAC4H,oBAAoB,CAACD,KAAK,CAAC;AACnC,UAAA,CAAC,MAAM;AACL,YAAA,KAAKE,OAAO,CAACF,KAAK,CAACA,KAAK,CAACE,OAAO,CAAC;AACnC,UAAA;UA/IR,OAAOL,WAAA,EAAI;QAAH,CAAC,CAAC,OAAAC,QAAA,EAAU;UAAC,OAAOb,MAAA,CAAAa,QAAK,CAAC;AAAA,QAAA;MAgJ5B,CAhJK;MAgGL,IAAI;QACF,IAAIzH,KAAK,CAAC8H,cAAc,EAAE;AAjGlC,UAAA,IAAIC,WAAA,GAAJ,YAAA;YAAA,IAAI;AAAA,cAAA,OAAJC,KAAA,CAAGC,IAAI,CAAA,IAAG,CAAC;YAAH,CAAC,CAAC,OAAAR,QAAA,EAAU;cAAC,OAAOC,YAAA,CAAAD,QAAK,CAAC;AAAA,YAAA;UAAC,CAAA,CAAhCS,IAAI,CAAC,IAAI,CAAD;AAAX,UAAA,IAAIC,YAAA,GAAA,UAoGenE,MAAM,EAAE;YApG3B,IAAI;AAqGQ,cAAA,OAAA2C,OAAA,EAAA;YArGJ,CAAC,CAAC,OAAAc,QAAA,EAAU;cAAC,OAAOC,YAAA,CAAAD,QAAK,CAAC;AAAA,YAAA;UAsGxB,CAtGC;UAkGD,IAAI;AACF,YAAA,OAAAf,OAAA,CAAA0B,OAAA,CAAMpI,KAAK,CAAC8H,cAAc,CAAC1B,IAAI,CAAC,CAAA,CAAhCiC,IAAgC,WAAAC,QAAA,EAAA;cAnG5C,IAAI;gBAAJ,OAAOP,WAAA,EAAI;cAAH,CAAC,CAAC,OAAAN,QAAA,EAAU;gBAAC,OAAOU,YAAA,CAAAV,QAAK,CAAC;AAAA,cAAA;AAAC,YAAA,CAAA,EAAAU,YAAA,CAAA;UAoGzB,CAAC,CAAC,OAAOnE,MAAM,EAAE;AAAAmE,YAAAA,YAAA,CAARnE,MAAM;AAEf,UAAA;AACF,QAAA;AAAC,QAAA,SAAAgE,KAAAA,GAAA;AACD9I,UAAAA,eAAe,CAACX,GAAG,CAACC,QAAQ,EAAE,KAAK,CAAC;UACpC2E,UAAU,CAAC,IAAI,CAAC;UACV2D,SAAS,GAAGxI,WAAW,CAACC,GAAG,CAACC,QAAQ,EAAEiI,MAAM,CAAC;UACnDM,oBAAA,GAKI/G,KAAK,CAACuI,aAAa,EAJrBvB,oBAAoB,GAAAD,oBAAA,CAApBC,oBAAoB,EACpBrH,SAAS,GAAAoH,oBAAA,CAATpH,SAAS,EACTsH,oBAAoB,GAAAF,oBAAA,CAApBE,oBAAoB,EACpBC,oBAAoB,GAAAH,oBAAA,CAApBG,oBAAoB;UAEhBC,SAAS,GAAGH,oBAAoB,GAClCA,oBAAoB,CAACF,SAAS,CAAC,GAC/BA,SAAS;AAEV,UAAA,OAAAJ,OAAA,CAAA0B,OAAA,CAAMzI,SAAS,CAAC6I,QAAQ,CAACC,4BAA4B,CAACtB,SAAS,CAAC,CAAC,CAAA,CAAjEkB,IAAiE,WAAAK,QAAA,EAAA;YArH5E,IAAI;AAoHUtB,cAAAA,QAAQ,GACXsB,QAAiE,IAClE,EAAE;cACJnD,mBAAmB,CAACoD,OAAO,GAAGvB,QAAQ;AACtC,cAAA,CAAAP,qBAAA,GAAA7G,KAAK,CAAC4I,kBAAkB,MAAA,IAAA,IAAA/B,qBAAA,KAAA,KAAA,CAAA,IAAxBA,qBAAA,CAAAoB,IAAA,CAAAjI,KAAK,EAAsBoH,QAAQ,CAAC;AAChCC,cAAAA,WAAyB,GAAGD,QAAQ;AACxC,cAAA,IAAIH,oBAAoB,EAAE;AACxBI,gBAAAA,WAAW,GAAGJ,oBAAoB,CAACG,QAAQ,CAAC;AAC9C,cAAA;AACA,cAAA,IAAIF,oBAAoB,EAAE;gBAClBvB,eAAc,GAAGuB,oBAAoB,CACzCE,QAAQ,EACR5B,cAAc,CAACmD,OACjB,CAAC;AACD;gBACA/C,iBAAiB,CAACD,eAAc,CAAC;AACnC,cAAA;cACM4B,QAAQ,GAAGsB,GAAA,CAAIxB,WAAW,EAAEvB,UAAU,CAACC,IAAI,CAAC;cAClDpD,aAAa,CAACnD,OAAA,CAAQ+H,QAAQ,CAAC,GAAGA,QAAQ,GAAG,EAAE,CAAC;cAChDxE,QAAQ,CAAC8F,GAAA,CAAIxB,WAAW,EAAEvB,UAAU,CAAChD,KAAK,CAAC,CAAC;cAC5CK,UAAU,CAAC,KAAK,CAAC;cAxIzB,OAAOqE,WAAA,EAAI;YAAH,CAAC,CAAC,OAAAC,QAAA,EAAU;cAAC,OAAOC,YAAA,CAAAD,QAAK,CAAC;AAAA,YAAA;AAAC,UAAA,CAAA,EAAAC,YAAA,CAAA;AAqHyC,QAAA;AAAA,QAAA,OArH5EM,KAAA,CAAGC,IAAI,CAAA,IAAG,CAAC;MAyIL,CAAC,CAAC,OAAON,KAAU,EAAE;AAAAD,QAAAA,YAAA,CAAZC,KAAU;AAOnB,MAAA;AAAC,IAAA,CAAA,CAAA;EACF,CAAA,CAAC;EAEFnF,QAAQ,CAACsG,eAAe,CAAC,YAAM;AAC7B,IAAA,IAAMC,aAAa,GAAGC,mBAAmB,EAAE;AAC3C,IAAA,IAAMC,cAAc,GAAG/J,eAAe,CAACP,GAAG,CAACH,QAAQ,CAAC;AACpD4H,IAAAA,IAAI,CAAC8C,cAAc,CAAArK,cAAA,CAAAA,cAAA,CAAA,EAAA,EACdmB,KAAK,CAACmJ,aAAa,CAAA,EACnB5E,WAAW,CACf,CAAC;AACF,IAAA,IAAIY,WAAW,IAAI,CAAC8D,cAAc,EAAE;AAClC,MAAA,IAAIF,aAAa,EAAE;AACjB,QAAA,KAAKzC,cAAc,CAAAzH,cAAA,CAAAA,cAAA,CAAAuK,eAAA,CAAAA,eAAA,CAAA,EAAA,EAChBtD,UAAU,CAACE,MAAM,EAAG,CAAC,CAAA,EACrBF,UAAU,CAACb,QAAQ,EAAGA,QAAQ,CAAA,EAC5BjF,KAAK,CAACmJ,aAAa,CAAA,EACnB5E,WAAW,CACf,CAAC;AACJ,MAAA,CAAC,MAAM;AACL,QAAA,KAAK+B,cAAc,CAACtG,KAAK,CAACmJ,aAAa,CAAC;AAC1C,MAAA;AACF,IAAA,CAAC,MAAM;MACL7K,WAAW,CAACC,GAAG,CAACC,QAAQ,EAAEwB,KAAK,CAACmJ,aAAa,IAAI,EAAE,CAAC;AACtD,IAAA;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAME,mBAAmB,GAAG9C,KAAA,CAAMC,cAAc,CAC9C,UAAC8C,MAAqB,EAAK;AACzBhL,IAAAA,WAAW,CAACW,MAAM,CAACT,QAAQ,CAAC;IAC5B4H,IAAI,CAACmD,WAAW,EAAE;AAClB,IAAA,IAAID,MAAM,EAAE;AACVhL,MAAAA,WAAW,CAACC,GAAG,CAACC,QAAQ,EAAE8K,MAAM,CAAC;AACjClD,MAAAA,IAAI,CAAC8C,cAAc,CAACI,MAAM,CAAC;AAC7B,IAAA;AACF,EAAA,CACF,CAAC;EAED,IAAME,oBAAoB,GAAGjD,KAAA,CAAMC,cAAc,CAC/C,UAAC8C,MAAoB,EAAK;AACxBhL,IAAAA,WAAW,CAACC,GAAG,CAACC,QAAQ,EAAE8K,MAAM,CAAC;AACjClD,IAAAA,IAAI,CAAC8C,cAAc,CAACI,MAAM,CAAC;AAC7B,EAAA,CACF,CAAC;EAED,IAAMG,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIzD,MAAc,EAAE0D,SAAiB,EAAK;IAC/D,IAAIV,mBAAmB,EAAE,EAAE;AACzB,MAAA,OAAAI,eAAA,CAAAA,eAAA,CAAA,EAAA,EACGtD,UAAU,CAACE,MAAM,EAAGA,MAAM,CAAA,EAC1BF,UAAU,CAACb,QAAQ,EAAGyE,SAAS,IAAIzE,QAAQ,CAAA;AAEhD,IAAA,CAAC,MAAM;AACL,MAAA,OAAAmE,eAAA,CAAAA,eAAA,CAAA,EAAA,EACGtD,UAAU,CAACE,MAAM,EAAGZ,SAAS,CAAA,EAC7BU,UAAU,CAACb,QAAQ,EAAGG,SAAS,CAAA;AAEpC,IAAA;EACF,CAAC;EAED,IAAMuE,cAAc,GAAGpD,KAAA,CAAMC,cAAc,CAAC,UAAC8C,MAAqB,EAAK;IACrE,IAAM7C,MAAM,GAAA5H,cAAA,CAAAA,cAAA,CAAAA,cAAA,CAAA,EAAA,EACP4K,iBAAiB,CAAC,CAAC,EAAElF,WAAW,CAACuB,UAAU,CAACb,QAAQ,CAAC,CAAC,CAAA,EACtDjF,KAAK,CAACmJ,aAAa,CAAA,EACnBG,MAAM,CACV;AACDhL,IAAAA,WAAW,CAACW,MAAM,CAACT,QAAQ,CAAC;IAC5B4H,IAAI,CAACmD,WAAW,EAAE;AAClB,IAAA,IAAID,MAAM,EAAE;AACVlD,MAAAA,IAAI,CAAC8C,cAAc,CAACI,MAAM,CAAC;AAC7B,IAAA;IACA,KAAKhD,cAAc,CAACG,MAAM,CAAC;AAC7B,EAAA,CAAC,CAAC;AAEF,EAAA,IAAMmD,gBAAgB,GAAGrD,KAAA,CAAMC,cAAc,CAAC,YAAM;IAClD,OAAA3H,cAAA,CAAAA,cAAA,CAAA,EAAA,EACK0F,WAAW,GACX6B,IAAI,CAACyD,cAAc,EAAE,CAAA;AAE5B,EAAA,CAAC,CAAC;AAEF,EAAA,IAAMC,qBAAqB,GAAGvD,KAAA,CAAMC,cAAc,CAAC,YAAM;IACvD/C,iBAAiB,CAAC,IAAI,CAAC;AACzB,EAAA,CAAC,CAAC;AAEF,EAAA,IAAMsG,sBAAsB,GAAGxD,KAAA,CAAMC,cAAc,CAAC,YAAM;IACxD/C,iBAAiB,CAAC,KAAK,CAAC;AAC1B,EAAA,CAAC,CAAC;AAEF,EAAA,IAAM3D,eAAe,GAAG,SAAlBA,eAAeA,GAA0B;IAC7C,OAAO;AACL;AACR;AACA;AACA;AACA;AACQH,MAAAA,SAAS,EAAE2G,cAAc;AACzB+C,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBG,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBI,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBD,MAAAA,cAAc,EAAdA,cAAc;AACdvD,MAAAA,IAAI,EAAJA,IAAI;MACJ1D,UAAU,EAAE6C,mBAAmB,CAACoD,OAAO;AACvCqB,MAAAA,aAAa,EAAE,SAAfA,aAAaA,GAAQ;QACnB,OAAOzE,mBAAmB,CAACoD,OAAO;MACpC,CAAC;AACDsB,MAAAA,kBAAkB,EAAE,SAApBA,kBAAkBA,CAAGC,gBAAgB,EAAK;QACxCvH,aAAa,CAACuH,gBAAgB,CAAC;MACjC,CAAC;AACDC,MAAAA,iBAAiB,EAAE,SAAnBA,iBAAiBA,GAAQ;QACvBpH,QAAQ,CAAC,CAAC,CAAC;QACXJ,aAAa,CAAC,EAAE,CAAC;MACnB,CAAC;AACDyH,MAAAA,kBAAkB,EAAE,SAApBA,kBAAkBA,CAAGhJ,QAAQ,EAAK;AAAA,QAAA,IAAAiJ,sBAAA;QAChC1H,aAAa,CAACvB,QAAQ,CAAC;QACvBmE,mBAAmB,CAACoD,OAAO,GAAAS,eAAA,CAAA,EAAA,EAAMtD,UAAU,CAACC,IAAI,EAAG3E,QAAQ,CAAE;AAC7D,QAAA,CAAAiJ,sBAAA,GAAArK,KAAK,CAAC4I,kBAAkB,cAAAyB,sBAAA,KAAA,MAAA,IAAxBA,sBAAA,CAAApC,IAAA,CAAAjI,KAAK,EAAsBuF,mBAAmB,CAACoD,OAAO,CAAC;MACzD,CAAC;AACD2B,MAAAA,uBAAuB,EAAE,SAAzBA,uBAAuBA,CACrBzJ,QAAQ,EACR0J,OAA8C,EAC3C;AAAA,QAAA,IAAAC,qBAAA;AACH,QAAA,IAAI,CAAA,CAAAA,qBAAA,GAAAxK,KAAK,CAACoD,gBAAgB,MAAA,IAAA,IAAAoH,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAtBA,qBAAA,CAAwBC,WAAW,MAAK,QAAQ,EAAE;UACpD,oBAAOC,YAAY,CAAC7J,QAAQ,EAAE;AAC5B8J,YAAAA,OAAO,EAAEb;AACX,WAAC,CAAC;AACJ,QAAA;QAEA,IAAMc,cAAc,GAAGL,OAAO,CAAC5F,MAAM,CAAC,UAACrD,IAAU,EAAK;UACpD,OAAO,CAACA,IAAI,CAACuJ,MAAM,IAAIvJ,IAAI,CAACwJ,MAAM,IAAIxJ,IAAI,CAACG,SAAS;AACtD,QAAA,CAAC,CAAC;QAEF,oBACEd,GAAA,CAACZ,mBAAmB,EAAA;AAClBqB,UAAAA,QAAQ,EACNwJ,cACD;AACDpK,UAAAA,QAAQ,EAAEuK,sBAAuB;AACjCvM,UAAAA,QAAQ,EAAEA,QAAS;AACnB2B,UAAAA,mBAAmB,EAAE4E,eAAgB;AAAAlE,UAAAA,QAAA,EAEpCA;AAAQ,SACU,CAAC;MAE1B,CAAC;AACDmK,MAAAA,oBAAoB,EAAE,SAAtBA,oBAAoBA,CAAGT,OAAO,EAAK;QACjC3E,iBAAiB,CAAC2E,OAAO,CAAC;MAC5B,CAAC;AACDU,MAAAA,eAAe,EAAE,SAAjBA,eAAeA,GAAQ;QACrB,OAAOpF,UAAU,CAAC8C,OAAO;MAC3B,CAAC;AACDzF,MAAAA,OAAO,EAAPA,OAAO;AACPgI,MAAAA,qBAAqB,EAAE,SAAvBA,qBAAqBA,GAAQ;AAC3BhM,QAAAA,eAAe,CAACX,GAAG,CAACC,QAAQ,EAAE,KAAK,CAAC;AACtC,MAAA;KACD;EACH,CAAC;EAED2M,mBAAmB,CAAC9I,GAAG,EAAE,YAAM;IAC7B,OAAOvC,eAAe,EAAE;AAC1B,EAAA,CAAC,CAAC;AAEF,EAAA,IAAMsL,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,MAAe,EAAK;IACjDhG,mBAAmB,CAACsD,OAAO,GAAG0C,MAAM;EACtC,CAAC;AAED,EAAA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,IAAI,EAAK;IACjC/F,cAAc,CAACmD,OAAO,GAAG4C,IAAI;EAC/B,CAAC;AAED,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIjB,OAAO,EAAK;IAChC1E,UAAU,CAAC8C,OAAO,GAAG4B,OAAO;EAC9B,CAAC;AAED,EAAA,IAAMkB,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,IAAA,IAAMnC,MAAM,GAAGlD,IAAI,CAACyD,cAAc,EAAE;IACpC,IAAI7J,KAAK,CAACyL,YAAY,EAAE;MACtBzL,KAAK,CAACyL,YAAY,CAAA5M,cAAA,CAAAA,cAAA,CAAA,EAAA,EACbyK,MAAM,CAAA,EACNG,iBAAiB,CAAC,CAAC,EAAElF,WAAW,CAACuB,UAAU,CAACb,QAAQ,CAAC,CAAC,CAC1D,CAAC;AACJ,IAAA,CAAC,MAAM;MACL,KAAKqB,cAAc,CAAAzH,cAAA,CAAAA,cAAA,CAAA,EAAA,EACdyK,MAAM,GACNG,iBAAiB,CAAC,CAAC,EAAElF,WAAW,CAACuB,UAAU,CAACb,QAAQ,CAAC,CAAC,CAC1D,CAAC;AACJ,IAAA;EACF,CAAC;AACD,EAAA,IAAMyG,MAAM,GAAGC,WAAA,CAAY3L,KAAK,CAAC0L,MAAM,CAAC,GAAG,IAAI,GAAG1L,KAAK,CAAC0L,MAAM;EAE9D,IAAME,aAAa,GAAGrJ,UAAU,KAAK,IAAI,GAAG,KAAK,GAAGvC,KAAK,CAAC6L,WAAW;AACrE,EAAA,IAAMC,SAAS,GAAGC,UAAA,CAChB,gBAAgB,EAChB;AACE,IAAA,qBAAqB,EAAEL,MAAM;AAC7B,IAAA,6BAA6B,EAAEE,aAAa;IAC5C,iCAAiC,EAAE5L,KAAK,CAACgM;AAC3C,GAAC,EACDhM,KAAK,CAAC8L,SACR,CAAC;AAED,EAAA,IAAMG,cAAc,GAAGzJ,QAAQ,CAAC0J,aAAa,CAAC,YAAM;AAClD,IAAA,OAAArN,cAAA,CAAA;AACEsN,MAAAA,eAAe,EAAE,IAAI;MACrBxD,OAAO,EAAEpE,WAAW,CAACuB,UAAU,CAACE,MAAM,CAAC,IAAI,CAAC;MAC5Cf,QAAQ,EAAEV,WAAW,CAACuB,UAAU,CAACb,QAAQ,CAAC,IAAIA,QAAQ;AACtDnC,MAAAA,KAAK,EAAEA,KAAK;AACZsJ,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAGtJ,KAAK,EAAA;QAAA,OAAA,SAAA,CAAA/D,MAAA,CAAU+D,KAAK,EAAA,qBAAA,CAAA;AAAA,MAAA;KAAM,EACnC9C,KAAK,CAACqM,UAAU,CAAA;EAEvB,CAAC,EAAE,CACDvG,UAAU,CAACE,MAAM,EACjBzB,WAAW,EACXuB,UAAU,CAACb,QAAQ,EACnBzG,QAAQ,EACRyG,QAAQ,EACRjF,KAAK,CAACqM,UAAU,EAChBvJ,KAAK,CACN,CAAC;AAEF,EAAA,IAAMiI,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIuB,OAAiB,EAAK;AAAA,IAAA,IAAAC,qBAAA;IACpDvH,kBAAkB,CAACsH,OAAO,CAAC;AAC3BlJ,IAAAA,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,IAAA,CAAAmJ,qBAAA,GAAhBnJ,gBAAgB,CAAE5C,QAAQ,MAAA,IAAA,IAAA+L,qBAAA,KAAA,MAAA,IAA1BA,qBAAA,CAAAtE,IAAA,CAAA7E,gBAAgB,EAAakJ,OAAO,CAAC;EACvC,CAAC;EAED,IAAM9L,QAAQ,GAAG+F,KAAA,CAAMC,cAAc,CAAC,UAACgG,IAAY,EAAEvH,QAAgB,EAAK;IAAA,IAAAwH,iBAAA,EAAAC,qBAAA;AACxE,IAAA,IAAMjG,MAAM,GAAA2C,eAAA,CAAAA,eAAA,KACTtD,UAAU,CAACb,QAAQ,EAAGA,QAAQ,CAAA,EAC9Ba,UAAU,CAACE,MAAM,EAAGwG,IAAI,CAC1B;AACDlO,IAAAA,WAAW,CAACC,GAAG,CAACC,QAAQ,EAAEiI,MAAM,CAAC;IACjC,KAAKH,cAAc,CAACG,MAAM,CAAC;IAC3B,CAAAgG,iBAAA,GAAAzM,KAAK,CAACqM,UAAU,cAAAI,iBAAA,KAAA,MAAA,IAAA,CAAAC,qBAAA,GAAhBD,iBAAA,CAAkBjM,QAAQ,MAAA,IAAA,IAAAkM,qBAAA,KAAA,MAAA,IAA1BA,qBAAA,CAAAzE,IAAA,CAAAwE,iBAAA,EAA6BD,IAAI,EAAEvH,QAAQ,CAAC;AAC9C,EAAA,CAAC,CAAC;AAEF,EAAA,IAAM+D,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;AAChC,IAAA,OAAOhJ,KAAK,CAACgM,eAAe,IAAI3G,mBAAmB,CAACsD,OAAO;EAC7D,CAAC;;AAED;EACApC,KAAA,CAAMoG,eAAe,CAAC,YAAM;IAC1B,IAAI3M,KAAK,CAACgM,eAAe,EAAE;MACzB,KAAK1F,cAAc,CAAA8C,eAAA,CAAAA,eAAA,KAChBtD,UAAU,CAACb,QAAQ,EAAGV,WAAW,CAACuB,UAAU,CAACb,QAAQ,CAAC,IAAIA,QAAQ,CAAA,EAClEa,UAAU,CAACE,MAAM,EAAG,CAAC,CACvB,CAAC;AACJ,IAAA,CAAC,MAAM;AACL,MAAA,KAAKM,cAAc,CAAA8C,eAAA,CAAAA,eAAA,CAAA,EAAA,EAChBtD,UAAU,CAACb,QAAQ,EAAGG,SAAS,GAC/BU,UAAU,CAACE,MAAM,EAAGZ,SAAS,CAC/B,CAAC;AACJ,IAAA;AACF,EAAA,CAAC,EAAE,CAACpF,KAAK,CAACgM,eAAe,CAAC,CAAC;AAE3B,EAAA,IAAMY,gBAAgB,GAAGb,UAAA,CACvB,wBAAwB,EACxB;IACE,+BAA+B,EAAE/L,KAAK,CAAC6M;AACzC,GAAC,EACD7M,KAAK,CAAC8L,SACR,CAAC;EAED,IAAMgB,YAA2B,GAAAjO,cAAA,CAAA;IAC/BkO,SAAS,EAAE/M,KAAK,CAAC6L,WAAW,IAAI7L,KAAK,CAACgM,eAAe,GAAG,QAAQ,GAAG;GAAM,EACtEhM,KAAK,CAACiB,KAAK,CACf;EAED,IAAMJ,QAAQ,GACZ,OAAOb,KAAK,CAACa,QAAQ,KAAK,UAAU,GAChCb,KAAK,CAACa,QAAQ,CAAC0E,mBAAmB,CAACoD,OAAO,CAAC,GAC3C3I,KAAK,CAACa,QAAQ;AAEpB,EAAA,oBACEF,GAAA,CAAClB,gBAAgB,CAACuN,QAAQ,EAAA;AACxBtO,IAAAA,KAAK,EAAE;AACL4M,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBE,MAAAA,YAAY,EAAZA,YAAY;AACZ1L,MAAAA,eAAe,EAAfA,eAAe;AACftB,MAAAA,QAAQ,EAARA,QAAQ;AACRmB,MAAAA,SAAS,EAAE2G,cAAc;AACzB2G,MAAAA,eAAe,EAAEvK,UAAU;AAC3BwK,MAAAA,UAAU,EAAEpK,KAAK;AACjBI,MAAAA,OAAO,EAAPA,OAAO;AACP4C,MAAAA,UAAU,EAAVA,UAAU;AACVb,MAAAA,QAAQ,EAARA,QAAQ;AACRmG,MAAAA,qBAAqB,EAArBA,qBAAqB;AACrBpC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnByC,MAAAA,YAAY,EAAZA,YAAY;AACZrF,MAAAA,IAAI,EAAJA,IAAI;AACJ4F,MAAAA,eAAe,EAAEhM,KAAK,CAACgM,eAAe,IAAI,KAAK;AAC/CmB,MAAAA,QAAQ,EAAEnN,KAAK,CAACmN,QAAQ,IAAI,EAAE;AAC9B5C,MAAAA,OAAO,EAAE5E,cAAc;MACvBwD,aAAa,EAAEnJ,KAAK,CAACmJ,aAAa;AAClCiE,MAAAA,oBAAoB,EAAE;AACpBrI,QAAAA,eAAe,EAAfA,eAAe;AACfsI,QAAAA,uBAAuB,EAAEtC,sBAAsB;AAC/C3H,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB0G,QAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,QAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBvG,QAAAA,cAAc,EAAdA,cAAc;AACdH,QAAAA,kBAAkB,EAAlBA;AACF;KACA;AAAAxC,IAAAA,QAAA,EAEDb,KAAK,CAACgM,eAAe,gBACpBsB,IAAA,CAAA,KAAA,EAAA;AAAKxB,MAAAA,SAAS,EAAEc,gBAAiB;AAAC3L,MAAAA,KAAK,EAAE6L,YAAa;AAAAjM,MAAAA,QAAA,gBACpDF,GAAA,CAAA,KAAA,EAAA;AAAKmL,QAAAA,SAAS,EAAEA,SAAU;AAAAjL,QAAAA,QAAA,EAAEA;AAAQ,OAAM,CAAC,EAC1CiC,KAAK,GAAG,CAAC,iBACRnC,GAAA,CAAA,KAAA,EAAA;AAAKmL,QAAAA,SAAS,EAAC,2BAA2B;AAAAjL,QAAAA,QAAA,eACxCF,GAAA,CAAC4M,iBAAiB,EAAA1O,cAAA,CAAAA,cAAA,CAAA;AAChB2O,UAAAA,IAAI,EAAC;AAAO,SAAA,EACRvB,cAAc,CAAA,EAAA,EAAA,EAAA;AAClBzL,UAAAA,QAAQ,EAAEA;SAAS,CACpB;AAAC,OACC,CACN;KACE,CAAC,gBAENG,GAAA,CAAA,KAAA,EAAA;AAAKmL,MAAAA,SAAS,EAAEc,gBAAiB;MAAC3L,KAAK,EAAEjB,KAAK,CAACiB,KAAM;AAAAJ,MAAAA,QAAA,eACnDF,GAAA,CAAA,KAAA,EAAA;AAAKmL,QAAAA,SAAS,EAAEA,SAAU;AAAAjL,QAAAA,QAAA,EAAEA;OAAc;KACvC;AACN,GACwB,CAAC;AAEhC,CACF,CAAC;;ACxYD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAM4M,eAAe,GAAG,SAAlBA,eAAeA,CAAIzN,KAA2B,EAAK;EAC9D,IAAMuC,UAAU,GAAGC,QAAQ,CAACC,kBAAkB,EAAE,IAAI,IAAI;AACxD,EAAA,IAAMiL,GAAG,GAAGC,UAAU,CAAClO,gBAAgB,CAAC;AACxC,EAAA,IACEmO,gBAAgB,GASd5N,KAAK,CATP4N,gBAAgB;IAChBC,gBAAgB,GAQd7N,KAAK,CARP6N,gBAAgB;IAChBC,aAAa,GAOX9N,KAAK,CAPP8N,aAAa;IAAAC,oBAAA,GAOX/N,KAAK,CANPgO,aAAa;AAAbA,IAAAA,aAAa,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;IAClBE,gCAAgC,GAK9BjO,KAAK,CALPiO,gCAAgC;IAChCC,kBAAkB,GAIhBlO,KAAK,CAJPkO,kBAAkB;IAClBC,sBAAsB,GAGpBnO,KAAK,CAHPmO,sBAAsB;IACtBC,0BAA0B,GAExBpO,KAAK,CAFPoO,0BAA0B;IAC1BC,aAAa,GACXrO,KAAK,CADPqO,aAAa;AAEf,EAAA,IACE7P,QAAQ,GASNkP,GAAG,CATLlP,QAAQ;IACR2O,QAAQ,GAQNO,GAAG,CARLP,QAAQ;IACRrH,UAAU,GAOR4H,GAAG,CAPL5H,UAAU;IACVnG,SAAS,GAMP+N,GAAG,CANL/N,SAAS;IACTsF,QAAQ,GAKNyI,GAAG,CALLzI,QAAQ;IACR+D,mBAAmB,GAIjB0E,GAAG,CAJL1E,mBAAmB;IACnBG,aAAa,GAGXuE,GAAG,CAHLvE,aAAa;IACb/C,IAAI,GAEFsH,GAAG,CAFLtH,IAAI;IACJqF,YAAY,GACViC,GAAG,CADLjC,YAAY;AAGd,EAAA,IAAM5K,QAAQ,GACZ,OAAOb,KAAK,CAACa,QAAQ,KAAK,UAAU,GAChCb,KAAK,CAACa,QAAQ,CAACuF,IAAI,CAAC,GACpBpG,KAAK,CAACa,QAAQ;AAEpB,EAAA,IAAMyN,4BAA4B,GAAGF,0BAA0B,IAAI,OAAO;AAC1E,EAAA,IAAMG,SAAS,GAAG7K,OAAO,CAAC,YAAM;AAC9B,IAAA,IAAI8K,UAAU,CAAC3N,QAAQ,CAAC,EAAE;MACxB,OAAO4N,QAAQ,CAACC,OAAO,CACpB7N,QAAQ,CAAkBb,KAAK,CAACa,QACnC,CAAC;AACH,IAAA,CAAC,MAAM;AACL,MAAA,OAAO4N,QAAQ,CAACC,OAAO,CAAC7N,QAAQ,CAAC;AACnC,IAAA;AACF,EAAA,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;AAEd,EAAA,IAAAZ,SAAA,GAAgCC,QAAQ,CAAC,KAAK,CAAC;IAAAE,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAAxC0O,IAAAA,QAAQ,GAAAvO,UAAA,CAAA,CAAA,CAAA;AAAEwO,IAAAA,WAAW,GAAAxO,UAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAMyO,OAAO,GAAGtI,KAAA,CAAMC,cAAc,CAAC,YAAA;AAAA,IAAA,OAAA,IAAAE,OAAA,CAAA,UAAAC,OAAA,EAAAC,MAAA,EAAA;AACnCtI,MAAAA,WAAW,CAACW,MAAM,CAACT,QAAQ,CAAC;MAC5B4H,IAAI,CAACmD,WAAW,EAAE;AAClBnD,MAAAA,IAAI,CAAC8C,cAAc,CAACC,aAAa,CAAC;AAClC,MAAA,IACEwC,WAAA,CAAYsC,gCAAgC,CAAC,IAC7CA,gCAAgC,EAChC;AACA,QAAA,OAAAvH,OAAA,CAAA0B,OAAA,CAAMhC,IAAI,CAAC0I,cAAc,EAAE,CAAA,CAA3BzG,IAA2B,CA9JjC,UAAA0G,QAAA,EAAA;UAAA,IAAI;YA+JE,IAAI/F,mBAAmB,EAAE,EAAE;cACzBrJ,SAAS,CAAAd,cAAA,CAAAuK,eAAA,CAAAA,eAAA,CAAA,EAAA,EACNtD,UAAU,CAACE,MAAM,EAAG,CAAC,CAAA,EACrBF,UAAU,CAACb,QAAQ,EAAGA,QAAQ,CAAA,EAC5BkE,aAAa,CACjB,CAAC;AACJ,YAAA,CAAC,MAAM;cACLxJ,SAAS,CAACwJ,aAAa,CAAC;AAC1B,YAAA;AAAC,YAAA,OAvKP6F,KAAA,CAAG/G,IAAI,CAAA,IAAG,CAAC;UAAH,CAAC,CAAC,OAAAR,QAAA,EAAU;YAAC,OAAOb,MAAA,CAAAa,QAAK,CAAC;AAAA,UAAA;AAAC,QAAA,CAAA,CAAhCS,IAAI,CAAC,IAAI,CAAC,EAAAtB,MAAA,CAAA;AAwKT,MAAA;AAAC,MAAA,SAAAoI,KAAAA,GAAA;AAAA,QAAA,OAAArI,OAAA,EAAA;AAAA,MAAA;AAAA,MAAA,OAxKLqI,KAAA,CAAG/G,IAAI,CAAA,IAAG,CAAC;AAAA,IAAA,CAAA,CAAA;EAyKR,CAAA,CAAC;AAEF,EAAA,IAAMgH,eAAe,GAAGvL,OAAO,CAAC,YAAM;AACpC,IAAA,IAAMwL,gBAAgB,GAAG,CACvB,EAACtB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,IAAhBA,gBAAgB,CAAE/C,MAAM,iBACvBlK,GAAA,CAACwO,aAAa,EAAAtQ,cAAA,CAAAA,cAAA,CAAA;AAEZuQ,MAAAA,IAAI,EAAC,SAAS;AACdC,MAAAA,QAAQ,EAAC;AAAQ,KAAA,EACbzB,gBAAgB,CAAA,EAAA,EAAA,EAAA;MAAA/M,QAAA,EAEnB,CAAA+M,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE0B,IAAI,KAAI;KAAI,CAAA,EAL3B,GAMS,CAAC,GACd,IAAI,EACR,EAACzB,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,IAAhBA,gBAAgB,CAAEhD,MAAM,iBACvBlK,GAAA,CAACwO,aAAa,EAAAtQ,cAAA,CAAAA,cAAA,CAAA;AAAS8L,MAAAA,OAAO,EAAEkE;AAAQ,KAAA,EAAKhB,gBAAgB,CAAA,EAAA,EAAA,EAAA;MAAAhN,QAAA,EAC1D,CAAAgN,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEyB,IAAI,KAAI;KAAI,CAAA,EADd,GAEJ,CAAC,GACd,IAAI,CACT,CAAC3K,MAAM,CAAC4K,OAAO,CAAC;IACjB,IAAMC,oBAAoB,GAAG1B,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAG1H,IAAI,CAAC;IAClD,IAAMqJ,eAAe,GAAGD,oBAAoB,KAAA,IAAA,IAApBA,oBAAoB,KAAA,MAAA,GAAA,MAAA,GAApBA,oBAAoB,CAAEE,SAAS;IACvD,IAAMC,QAAgB,GAAG,CAAAH,oBAAoB,KAAA,IAAA,IAApBA,oBAAoB,KAAA,MAAA,GAAA,MAAA,GAApBA,oBAAoB,CAAEG,QAAQ,KAAI,EAAE;IAE7D,IAAID,SAAiB,GAAGR,gBAAgB;AACxC,IAAA,IAAIO,eAAe,EAAE;MACnB,IAAInB,4BAA4B,KAAK,aAAa,EAAE;QAClDoB,SAAS,GAAA,EAAA,CAAA3Q,MAAA,CAAA6Q,kBAAA,CAAOV,gBAAgB,CAAA,EAAAU,kBAAA,CAAKH,eAAe,CAAA,CAAC;AACvD,MAAA,CAAC,MAAM,IAAInB,4BAA4B,KAAK,cAAc,EAAE;QAC1DoB,SAAS,GAAA,EAAA,CAAA3Q,MAAA,CAAA6Q,kBAAA,CAAOH,eAAe,CAAA,EAAAG,kBAAA,CAAKV,gBAAgB,CAAA,CAAC;AACvD,MAAA,CAAC,MAAM;AACLQ,QAAAA,SAAS,GAAGD,eAAe;AAC7B,MAAA;AACF,IAAA;AACA,IAAA,IAAItC,QAAQ,CAACnL,MAAM,GAAG,CAAC,EAAE;AACvB,MAAA,IAAM6N,cAAc,gBAClBlP,GAAA,CAACwO,aAAa,EAAA;AACZC,QAAAA,IAAI,EAAC,MAAM;AAEXnO,QAAAA,KAAK,EAAE;AAAES,UAAAA,OAAO,EAAE;SAAM;AACxBiJ,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;UACbiE,WAAW,CAAC,CAACD,QAAQ,CAAC;QACxB,CAAE;QAAA9N,QAAA,EAED8N,QAAQ,gBACPrB,IAAA,CAAA,MAAA,EAAA;AAAAzM,UAAAA,QAAA,EAAA,CAAM,cAEJ,eAAAF,GAAA,CAAAmP,WAAA,EAAA;AAAY7O,YAAAA,KAAK,EAAE;AAAE8O,cAAAA,UAAU,EAAE,CAAC;AAAEC,cAAAA,QAAQ,EAAE;AAAG;AAAE,WAAE,CAAC;SAClD,CAAC,gBAEP1C,IAAA,CAAA,MAAA,EAAA;AAAAzM,UAAAA,QAAA,EAAA,CAAM,cAEJ,eAAAF,GAAA,CAAAsP,aAAA,EAAA;AAAchP,YAAAA,KAAK,EAAE;AAAE8O,cAAAA,UAAU,EAAE,CAAC;AAAEC,cAAAA,QAAQ,EAAE;AAAG;AAAE,WAAE,CAAC;SACpD;AACP,OAAA,EAhBG,cAiBS,CAChB;MAED,IAAIN,SAAS,CAAC1N,MAAM,GAAG,CAAC,IAAI2N,QAAQ,CAAC3N,MAAM,KAAK,CAAC,EAAE;AACjD0N,QAAAA,SAAS,CAACQ,IAAI,CAACL,cAAc,CAAC;AAChC,MAAA,CAAC,MAAM,IAAI,CAAAF,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE3N,MAAM,IAAG,CAAC,EAAE;AAC/B2N,QAAAA,QAAQ,CAACO,IAAI,CAACL,cAAc,CAAC;AAC/B,MAAA;AACF,IAAA;IAEA,OAAOtB,SAAS,CACblN,GAAG,CAAC,UAACC,IAAI,EAAE6O,KAAK,EAAK;MACpB,IACE,CAACxB,QAAQ,IACTxB,QAAQ,CAACiD,IAAI,CAAC,UAACC,OAAO,EAAA;AAAA,QAAA,OAAK,KAAAtR,MAAA,CAAKsR,OAAO,CAAA,KAAO/O,IAAI,CAACgP,GAAG;MAAA,CAAA,CAAC,EAEvD,OAAO,IAAI;MACb,IAAIhP,IAAI,CAACtB,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI;MACrC,IAAIsB,IAAI,CAAC8N,IAAI,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,OAAO9N,IAAI;AACvD,MAAA,oBAAOX,GAAA,CAAC4P,QAAQ,CAACC,GAAG,EAAA;AAAA3P,QAAAA,QAAA,EAAcS;AAAI,OAAA,EAAZ6O,KAA2B,CAAC;AACxD,IAAA,CAAC,CAAC,CACDxL,MAAM,CAAC4K,OAAO,CAAC,CACfxQ,MAAM,cACL4B,GAAA,CAAC4P,QAAQ,CAACE,UAAU,EAAA5R,cAAA,CAAAA,cAAA,KAEd2Q,oBAAoB,CAAA,EAAA,EAAA,EAAA;AACxBG,MAAAA,QAAQ,EAAEA,QAAS;AACnBD,MAAAA,SAAS,EAAEA;KAAU,CAAA,EAHhB,GAIN,CACH,CAAC;EACL,CAAC,EAAE,CACDnB,SAAS,EACTT,aAAa,EACbX,QAAQ,EACR/G,IAAI,EACJyI,OAAO,EACPF,QAAQ,EACRf,gBAAgB,EAChBC,gBAAgB,EAChBS,4BAA4B,CAC7B,CAAC;AAEF,EAAA,IAAMoC,UAAU,GACdnO,UAAU,KAAK,IAAI,GAAG,MAAM,GAAG,CAAA8L,aAAa,aAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAEqC,UAAU,KAAI,OAAO;EAErE,oBACE/P,GAAA,CAACgQ,WAAW,EAAA;AACV7E,IAAAA,SAAS,EAAEC,UAAA,CAAW,mBAAmB,EAAEoC,sBAAsB,CAAE;AACnElN,IAAAA,KAAK,EAAEiN,kBAAmB;AAAArN,IAAAA,QAAA,eAE1BF,GAAA,CAACiQ,QAAQ,EAAA/R,cAAA,CAAAA,cAAA,CAAA;AACPuH,MAAAA,IAAI,EAAEA,IAAK;AACXyK,MAAAA,YAAY,EAAC,KAAK;AAClBC,MAAAA,QAAQ,EAAErF;AACV;AAAA;AACAK,MAAAA,SAAS,EAAEkC,aAAc;MACzB/M,KAAK,EAAEjB,KAAK,CAAC+Q,SAAU;AACvBC,MAAAA,MAAM,EAAE,IAAK;AACbC,MAAAA,UAAU,EAAC,IAAI;AACfC,MAAAA,WAAW,EAAC;AAAI,KAAA,EACZ7C,aAAa,CAAA,EAAA,EAAA,EAAA;AACjBqC,MAAAA,UAAU,EAAEA,UAAW;MAAA7P,QAAA,EAEtBb,KAAK,CAACgR,MAAM,GACXnQ,QAAQ,gBAERF,GAAA,CAAC4P,QAAQ,CAACY,GAAG,EAAA;AAACC,QAAAA,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAE;QAACC,QAAQ,EAAErR,KAAK,CAACsR,YAAa;AAAAzQ,QAAAA,QAAA,EACzDoO;OACW;KACf,CACO;AAAC,GACA,CAAC;AAElB,CAAC;;ACtSD;AACA;AACA;AACA;AACO,IAAMsC,YAAY,GAAG,SAAfA,YAAYA,GAAS;AAChC,EAAA,IAAM7D,GAAG,GAAGC,UAAU,CAAClO,gBAAgB,CAAC;AACxC,EAAA,OAAOiO,GAAG,CAAC5N,eAAe,EAAE;AAC9B,CAAC;;AAED;AACA;AACA;AACA;AACO,IAAM0R,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAClC,EAAA,IAAM9D,GAAG,GAAGC,UAAU,CAAClO,gBAAgB,CAAC;EACxC,OAAO;AACLkJ,IAAAA,OAAO,EAAE+E,GAAG,CAAC5N,eAAe;GAC7B;AACH,CAAC;;ACJM,IAAM2R,WAAW,GAAG,SAAdA,WAAWA,CAAIzR,KAAuB,EAAK;EACtD,IAAAC,SAAA,GAA8CC,QAAQ,CACpDF,KAAK,CAACG,mBAAmB,IAAI,EAC/B,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAFMK,IAAAA,eAAe,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,kBAAkB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAG1C,EAAA,IAAMsR,YAAY,GAAG;AACnBtC,IAAAA,IAAI,EAAE,UAAU;AAChB9O,IAAAA,eAAe,EAAEA,eAAe;AAChCE,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGF,eAAyB,EAAK;MACvCC,kBAAkB,CAACD,eAAe,CAAC;AACnCN,MAAAA,KAAK,CAACQ,QAAQ,CAACF,eAAe,CAAC;MAC/B,IAAIN,KAAK,CAACxB,QAAQ,EAAE;QAClBa,eAAe,CAACd,GAAG,CAACyB,KAAK,CAACxB,QAAQ,EAAE8B,eAAe,CAAC;AACtD,MAAA;AACF,IAAA;GAC0B;EAE5B,IAAMiK,OAAkC,GAAG,CACzC;AACE/I,IAAAA,KAAK,EAAE,MAAM;AACbC,IAAAA,SAAS,EAAE,OAAO;AAClBkQ,IAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGjT,KAAK,EAAEkT,KAAK,EAAK;AACxB,MAAA,OAAOA,KAAK,CAAC,cAAc,CAAC,IAAIlT,KAAK;AACvC,IAAA;AACF,GAAC,EACD;AAAE8C,IAAAA,KAAK,EAAE,OAAO;AAAEC,IAAAA,SAAS,EAAE;AAAY,GAAC,CAC3C;EAED,oBACEd,GAAA,CAACC,QAAQ,EAAA;IAAAC,QAAA,eACPF,GAAA,CAACkR,MAAM,EAAA;AACLrQ,MAAAA,KAAK,EAAC,0BAAM;MACZsQ,IAAI,EAAE9R,KAAK,CAAC8R,IAAK;MACjBC,OAAO,EAAE/R,KAAK,CAAC+R,OAAQ;AACvBC,MAAAA,KAAK,EAAE,KAAM;AACbC,MAAAA,MAAM,EAAE;AACNC,QAAAA,IAAI,EAAE;AACJxQ,UAAAA,OAAO,EAAE;AACX;OACA;MAAAb,QAAA,eAEFF,GAAA,CAACwR,KAAK,EAAA;QACJC,QAAQ,EAAA,IAAA;AACR5E,QAAAA,IAAI,EAAC,OAAO;AACZjD,QAAAA,OAAO,EAAEA,OAAQ;AACjBmH,QAAAA,YAAY,EAAEA,YAAa;AAC3BW,QAAAA,MAAM,EAAC,WAAW;AAClBhG,QAAAA,UAAU,EAAE,KAAM;AAClBiG,QAAAA,MAAM,EAAE;AAAEC,UAAAA,CAAC,EAAE;SAAgB;QAC7B7P,UAAU,EAAE1C,KAAK,CAACoB;OACnB;KACK;AAAC,GACD,CAAC;AAEf,CAAC;;;AC1DM,IAAMoR,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIxS,KAAkC,EAAK;EAC1E,OAAO0D,OAAO,CAAC,YAAM;IACnB,IAAM+O,QAAQ,GAAGzS,KAAK,CAACuK,OAAO,CAC3BlJ,GAAG,CAAC,UAACC,IAAI,EAAK;AACb,MAAA,IAAQoR,OAAO,GAA6CpR,IAAI,CAAxDoR,OAAO;QAAEC,gBAAgB,GAA2BrR,IAAI,CAA/CqR,gBAAgB;QAAEnR,KAAK,GAAoBF,IAAI,CAA7BE,KAAK;AAAKoR,QAAAA,UAAU,GAAAC,wBAAA,CAAKvR,IAAI,EAAAwR,WAAA,CAAA;AAChE,MAAA,IAAI,OAAOtR,KAAK,KAAK,QAAQ,IAAImR,gBAAgB,EAAE;AACjD,QAAA,IAAI,OAAOA,gBAAgB,KAAK,QAAQ,EAAE;AACxC,UAAA,OAAA9T,cAAA,CAAAA,cAAA,CAAA,EAAA,EACK+T,UAAU,CAAA,EAAA,EAAA,EAAA;YACbpR,KAAK,eACHb,GAAA,CAACoS,WAAW,EAAA;AACVC,cAAAA,OAAO,EAAC,SAAS;AACjBC,cAAAA,YAAY,EAAE;AAAEvS,gBAAAA,OAAO,EAAEiS;eAAmB;AAAA9R,cAAAA,QAAA,EAE3CW;aACU;AACd,WAAA,CAAA;AAEL,QAAA;AACA,QAAA,OAAA3C,cAAA,CAAAA,cAAA,CAAA,EAAA,EACK+T,UAAU,CAAA,EAAA,EAAA,EAAA;UACbpR,KAAK,eAAEb,GAAA,CAACoS,WAAW,EAAAlU,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAK8T,gBAAgB,CAAA,EAAA,EAAA,EAAA;AAAA9R,YAAAA,QAAA,EAAGW;WAAK,CAAc;AAAC,SAAA,CAAA;AAEnE,MAAA;MACA,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAAC,CAACkR,OAAO,EAAE;AAC1C,QAAA,OAAA7T,cAAA,CAAAA,cAAA,CAAA,EAAA,EACK+T,UAAU,CAAA,EAAA,EAAA,EAAA;UACbpR,KAAK,eACHb,GAAA,CAACuS,iBAAiB,EAAA;AAChBR,YAAAA,OAAO,EAAEA,OAAQ;AACjBlR,YAAAA,KAAK,EAAEA;WACW;AACrB,SAAA,CAAA;AAEL,MAAA;AACA,MAAA,OAAOF,IAAI;AACb,IAAA,CAAC,CAAC,CACDqD,MAAM,CAAC4K,OAAO,CAAC;IAClB,OAAAK,kBAAA,CAAW6C,QAAQ,CAAA;AACrB,EAAA,CAAC,EAAE,CAACzS,KAAK,CAACuK,OAAO,CAAC,CAAC;AACrB,CAAC;AAEM,IAAM4I,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAInT,KAQ3C,EAAK;AACJ,EAAA,IAAMoT,UAAU,GAAGpT,KAAK,CAACuK,OAAO;AAChC,EAAA,OAAO/H,QAAQ,CAAC0J,aAAa,CAAC,YAAM;AAAA,IAAA,IAAA1B,qBAAA;AAClC,IAAA,IAAA,CAAAA,qBAAA,GAAIxK,KAAK,CAACoD,gBAAgB,MAAA,IAAA,IAAAoH,qBAAA,KAAA,MAAA,IAAtBA,qBAAA,CAAwBK,MAAM,EAAE,OAAOuI,UAAU;IACrD,IAAMC,SAAS,GAAGD,UAAU,CAACA,UAAU,CAACpR,MAAM,GAAG,CAAC,CAAC;AACnD,IAAA,IAAIhC,KAAK,CAAC4K,cAAc,CAAC5I,MAAM,GAAG,CAAC,IAAIoR,UAAU,CAACpR,MAAM,GAAG,CAAC,EAAE;AAC5D,MAAA,IAAMsR,gBAAgB,GAAGF,UAAU,CAAChD,IAAI,CAAC,UAAC9O,IAAI,EAAA;QAAA,OAAKA,IAAI,CAAC,eAAe,CAAC;MAAA,CAAA,CAAC;MAEzE,IACEgS,gBAAgB,IAChBD,SAAS,CAAC5R,SAAS,KAAK6R,gBAAgB,CAAC7R,SAAS,EAClD;AACA6R,QAAAA,gBAAgB,CAAC9R,KAAK,GAAG8R,gBAAgB,CAAC,cAAc,CAAC;AACzDA,QAAAA,gBAAgB,CAAC,eAAe,CAAC,GAAG,KAAK;AAC3C,MAAA;AACA,MAAA,IAAI,CAACD,SAAS,CAAC,eAAe,CAAC,EAAE;QAAA,IAAAE,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;QAC/BP,SAAS,CAAC,cAAc,CAAC,GACvBA,SAAS,CAAC,cAAc,CAAC,IAAIA,SAAS,CAAC7R,KAAK;AAC9C6R,QAAAA,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI;AAEjC,QAAA,IAAM5I,WAAW,GAAA,CAAA8I,sBAAA,GAAGvT,KAAK,CAACoD,gBAAgB,MAAA,IAAA,IAAAmQ,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAtBA,sBAAA,CAAwB9I,WAAW;AAEvD4I,QAAAA,SAAS,CAAC7R,KAAK,gBACb8L,IAAA,CAACuG,UAAU,EAAA;AACTC,UAAAA,SAAS,EAAC,YAAY;AACtBC,UAAAA,SAAS,EAAE,CAAE;AACb9S,UAAAA,KAAK,EAAE;AAAE+S,YAAAA,UAAU,EAAE;WAAW;AAAAnT,UAAAA,QAAA,gBAEhCF,GAAA,CAAA,MAAA,EAAA;YAAAE,QAAA,EAAOwS,SAAS,CAAC7R;WAAY,CAAC,eAC9Bb,GAAA,CAAA,KAAA,EAAA;AAAKM,YAAAA,KAAK,EAAE;AAAES,cAAAA,OAAO,EAAE,cAAc;AAAER,cAAAA,OAAO,EAAE;aAAS;AAAAL,YAAAA,QAAA,EACtD4J,WAAW,KAAK,QAAQ,gBACvB9J,GAAA,CAACsT,WAAW,EAAA;cACVtJ,OAAO,EAAE3K,KAAK,CAAC8J,qBAAsB;cACrCwF,IAAI,EAAA,CAAAkE,sBAAA,GAAExT,KAAK,CAACoD,gBAAgB,MAAA,IAAA,IAAAoQ,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAtBA,sBAAA,CAAwBlE,IAAK;AACnC9B,cAAAA,IAAI,EAAC,OAAO;AACZ0G,cAAAA,IAAI,EACF,CAAA,CAAAT,sBAAA,GAAAzT,KAAK,CAACoD,gBAAgB,MAAA,IAAA,IAAAqQ,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAtBA,sBAAA,CAAwBS,IAAI,kBAC1BvT,GAAA,CAACwT,WAAW,EAAA;AACVC,gBAAAA,OAAO,EAAC,mBAAmB;AAC3BC,gBAAAA,KAAK,EAAC;AAAS,eAChB,CAEJ;AACDC,cAAAA,SAAS,EAAE,CAAA,CAAAZ,sBAAA,GAAA1T,KAAK,CAACoD,gBAAgB,MAAA,IAAA,IAAAsQ,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAtBA,sBAAA,CAAwBa,YAAY,KAAI,MAAO;AAC1DtT,cAAAA,KAAK,EAAE;AAAES,gBAAAA,OAAO,EAAE,CAAC;AAAE8S,gBAAAA,MAAM,EAAE;AAAE;AAAE,aAClC,CAAC,gBAEF7T,GAAA,CAACZ,mBAAmB,EAAA;cAClBqB,QAAQ,EAAEpB,KAAK,CAAC4K,cAAyB;cACzCpK,QAAQ,EAAER,KAAK,CAAC+K,sBAAuB;cACvCvM,QAAQ,EAAEwB,KAAK,CAACxB,QAAS;cACzB2B,mBAAmB,EAAEH,KAAK,CAAC+E,eAAgB;cAAAlE,QAAA,eAE3CF,GAAA,CAACsT,WAAW,EAAA;gBACV3E,IAAI,EAAA,CAAAqE,sBAAA,GAAE3T,KAAK,CAACoD,gBAAgB,MAAA,IAAA,IAAAuQ,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAtBA,sBAAA,CAAwBrE,IAAK;AACnCrO,gBAAAA,KAAK,EAAE;AAAES,kBAAAA,OAAO,EAAE,CAAC;AAAE8S,kBAAAA,MAAM,EAAE;iBAAI;AACjChH,gBAAAA,IAAI,EAAC,OAAO;AACZ0G,gBAAAA,IAAI,EACF,CAAA,CAAAN,sBAAA,GAAA5T,KAAK,CAACoD,gBAAgB,MAAA,IAAA,IAAAwQ,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAtBA,sBAAA,CAAwBM,IAAI,kBAC1BvT,GAAA,CAACwT,WAAW,EAAA;AACVC,kBAAAA,OAAO,EAAC,mBAAmB;AAC3BC,kBAAAA,KAAK,EAAC;iBACP;eAGN;aACkB;AACtB,WACE,CAAC;AAAA,SACI,CACb;AACH,MAAA;AACF,IAAA;AACA,IAAA,OAAOjB,UAAU;EACnB,CAAC,EAAE,CAACpT,KAAK,CAACuK,OAAO,EAAEvK,KAAK,CAACoD,gBAAgB,CAAC,CAAC;AAC7C,CAAC;AAEM,IAAMqR,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIzU,KAGlC,EAAK;EACJ,OAAO0D,OAAO,CAAC,YAAM;IACnB,IAAM+O,QAAQ,GAAGzS,KAAK,CAACuK,OAAO,CAC3BlJ,GAAG,CAAC,UAACC,IAAI,EAAK;AACb,MAAA,IAAQuJ,MAAM,GAAavJ,IAAI,CAAvBuJ,MAAM;QAAEC,MAAM,GAAKxJ,IAAI,CAAfwJ,MAAM;MACtB,IAAID,MAAM,EAAE,OAAO,IAAI;AACvB,MAAA,IAAIC,MAAM,IAAI,CAAC9K,KAAK,CAAC+E,eAAe,CAAC2P,QAAQ,CAACpT,IAAI,CAACG,SAAmB,CAAC,EACrE,OAAO,IAAI;AACb,MAAA,OAAOH,IAAI;AACb,IAAA,CAAC,CAAC,CACDqD,MAAM,CAAC4K,OAAO,CAAC;IAClB,OAAAK,kBAAA,CAAW6C,QAAQ,CAAA;EACrB,CAAC,EAAE,CAACzS,KAAK,CAACuK,OAAO,EAAEvK,KAAK,CAAC+E,eAAe,CAAC,CAAC;AAC5C,CAAC;AAEM,IAAM4P,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAI3U,KAG7C,EAAK;EACJ,OAAO0D,OAAO,CAAC,YAAM;AACnB,IAAA,IAAI,CAACkR,MAAM,CAACnU,IAAI,CAACT,KAAK,CAAC6U,wBAAwB,CAAC,EAAE,OAAO7U,KAAK,CAACuK,OAAO;IACtE,OAAOvK,KAAK,CAACuK,OAAO,CAAClJ,GAAG,CAAC,UAACC,IAAU,EAAK;AACvC,MAAA,IAAMG,SAAS,GAAGH,IAAI,CAACG,SAAmB;AAC1C,MAAA,IAAMqT,MAAM,GAAG9U,KAAK,CAAC6U,wBAAwB,CAACpT,SAAS,CAAC;MACxD,IAAIA,SAAS,IAAIqT,MAAM,EAAE;QACvB,IAAIA,MAAM,CAAC5R,OAAO,EAAE;AAClB5B,UAAAA,IAAI,CAACqQ,MAAM,GAAG,UAACjT,KAAK,EAAK;YACvB,oBACEiC,GAAA,CAACwO,aAAa,EAAA;cACZjM,OAAO,EAAA,IAAA;AACPkM,cAAAA,IAAI,EAAC,MAAM;AACX2F,cAAAA,eAAe,EAAC,QAAQ;cACxBC,SAAS,EAAA,IAAA;AAAAnU,cAAAA,QAAA,EAERnC;AAAK,aACO,CAAC;UAEpB,CAAC;AACH,QAAA,CAAC,MAAM,IAAI4C,IAAI,CAAC2T,WAAW,EAAE;UAC3B3T,IAAI,CAACqQ,MAAM,GAAG,UAACjT,KAAK,EAAEwW,MAAM,EAAE/E,KAAK,EAAK;AAAA,YAAA,IAAAgF,iBAAA;YACtC,OAAA,CAAAA,iBAAA,GAAO7T,IAAI,CAAC2T,WAAW,MAAA,IAAA,IAAAE,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,iBAAA,CAAAlN,IAAA,CAAA3G,IAAI,EAAe5C,KAAK,EAAEwW,MAAM,EAAE/E,KAAK,EAAE2E,MAAM,CAAC1N,QAAQ,CAAC;UAClE,CAAC;AACH,QAAA;AACF,MAAA;AACA,MAAA,OAAO9F,IAAI;AACb,IAAA,CAAC,CAAC;EACJ,CAAC,EAAE,CAACtB,KAAK,CAACuK,OAAO,EAAEvK,KAAK,CAAC6U,wBAAwB,CAAC,CAAC;AACrD,CAAC;;;ACzJD,IAAMO,WAAW,GAAG,SAAdA,WAAWA,CAAIpV,KAKpB,EAAK;AAAA,EAAA,IAAAqV,cAAA;AACJ,EAAA,IAAI,CAACrV,KAAK,CAACwB,KAAK,IAAI,GAAA6T,cAAA,GAACrV,KAAK,CAACsV,OAAO,MAAA,IAAA,IAAAD,cAAA,eAAbA,cAAA,CAAerT,MAAM,CAAA,EAAE;AAC1C,IAAA,OAAO,IAAI;AACb,EAAA;EACA,oBACEsL,IAAA,CAACuG,UAAU,EAAA;AACTE,IAAAA,SAAS,EAAE,CAAE;AACbD,IAAAA,SAAS,EAAC,YAAY;AACtB7S,IAAAA,KAAK,EAAE;AAAEsU,MAAAA,YAAY,EAAE,EAAE;AAAEvB,MAAAA,UAAU,EAAE;KAAW;AAAAnT,IAAAA,QAAA,EAAA,CAEjDb,KAAK,CAACwB,KAAK,gBACVb,GAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,KAAK,EAAE;AAAEuU,QAAAA,UAAU,EAAE,GAAG;AAAExF,QAAAA,QAAQ,EAAE;OAAK;MAAAnP,QAAA,EAAEb,KAAK,CAACwB;AAAK,KAAM,CAAC,GAChE,IAAI,eACRb,GAAA,CAAC8U,KAAK,EAAA;AAACjI,MAAAA,IAAI,EAAE,EAAG;MAAA3M,QAAA,EAAEb,KAAK,CAACsV;AAAO,KAAQ,CAAC;AAAA,GAC9B,CAAC;AAEjB,CAAC;AA+CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMI,cAAc,GAAG,SAAjBA,cAAcA,CACzB1V,KAA6B,EAC1B;AACH,EAAA,IAAM0N,GAAG,GAAGC,UAAU,CAAClO,gBAAgB,CAAC;AACxC,EAAA,IACEoB,QAAQ,GAONb,KAAK,CAPPa,QAAQ;IACRwR,MAAM,GAMJrS,KAAK,CANPqS,MAAM;IACNhG,UAAU,GAKRrM,KAAK,CALPqM,UAAU;IACVsJ,MAAM,GAIJ3V,KAAK,CAJP2V,MAAM;IACNnU,KAAK,GAGHxB,KAAK,CAHPwB,KAAK;IACL8T,OAAO,GAELtV,KAAK,CAFPsV,OAAO;AACJ1C,IAAAA,UAAU,GAAAC,wBAAA,CACX7S,KAAK,EAAA8S,SAAA,CAAA;EACT,IAAMvQ,UAAU,GAAGC,QAAQ,CAACC,kBAAkB,EAAE,IAAI,EAAE;AACtD,EAAA,IAAMmT,2BAA2B,GAAGtQ,MAAM,CAKvC,EAAE,CAAC;AACN,EAAA,IAAArF,SAAA,GAAgEC,QAAQ,CAKrE,EAAE,CAAC;IAAAE,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AALC4U,IAAAA,wBAAwB,GAAAzU,UAAA,CAAA,CAAA,CAAA;AAAEyV,IAAAA,2BAA2B,GAAAzV,UAAA,CAAA,CAAA,CAAA;AAO5D,EAAA,IAAA0V,qBAAA,GAQIpI,GAAG,CAACN,oBAAoB;IAP1BhK,gBAAgB,GAAA0S,qBAAA,CAAhB1S,gBAAgB;IAChB2G,sBAAsB,GAAA+L,qBAAA,CAAtB/L,sBAAsB;IACtBvG,cAAc,GAAAsS,qBAAA,CAAdtS,cAAc;IACdsG,qBAAqB,GAAAgM,qBAAA,CAArBhM,qBAAqB;IACrBzG,kBAAkB,GAAAyS,qBAAA,CAAlBzS,kBAAkB;IAClB0B,eAAe,GAAA+Q,qBAAA,CAAf/Q,eAAe;IACfsI,uBAAuB,GAAAyI,qBAAA,CAAvBzI,uBAAuB;AAGzB,EAAA,IACE7O,QAAQ,GASNkP,GAAG,CATLlP,QAAQ;IACRsH,UAAU,GAQR4H,GAAG,CARL5H,UAAU;IACVnG,SAAS,GAOP+N,GAAG,CAPL/N,SAAS;IACTsN,eAAe,GAMbS,GAAG,CANLT,eAAe;IACfhI,QAAQ,GAKNyI,GAAG,CALLzI,QAAQ;IACRiI,UAAU,GAIRQ,GAAG,CAJLR,UAAU;IACVhK,OAAO,GAGLwK,GAAG,CAHLxK,OAAO;IACP8I,eAAe,GAEb0B,GAAG,CAFL1B,eAAe;IACfZ,qBAAqB,GACnBsC,GAAG,CADLtC,qBAAqB;AAGvB,EAAA,IAAM7G,WAAW,GAAGjG,WAAW,CAACK,GAAG,CAACH,QAAQ,CAAC;EAE7CgE,QAAQ,CAACsG,eAAe,CAAC,YAAM;AAC7B;IACA4E,GAAG,CAACpC,gBAAgB,CACjBtL,KAAK,CAACuK,OAAO,IAAI,EACpB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AAENwL,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAI1S,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,eAAlBA,kBAAkB,CAAErB,MAAM,EAAE;MAAA,IAAAgU,KAAA,GAAA,SAAAA,KAAAA,GACkC;AAC9D,QAAA,IAAMC,OAAO,GAAG5S,kBAAkB,CAAC8M,KAAK,CAAC;AACzCyF,QAAAA,2BAA2B,CAACjN,OAAO,GAAA9J,cAAA,CAAAA,cAAA,CAAA,EAAA,EAC9B+W,2BAA2B,CAACjN,OAAO,OAAAS,eAAA,CAAA,EAAA,EACrC6M,OAAO,CAACxU,SAAS,EAAG;AAAEyB,UAAAA,OAAO,EAAE;AAAK,SAAC,CAAA,CACvC;AACD2S,QAAAA,2BAA2B,CAACD,2BAA2B,CAACjN,OAAO,CAAC;QAChEsN,OAAO,CACJtW,SAAS,EAAE,CACX0I,IAAI,CAAC,UAACjB,QAAQ,EAAK;AAClBwO,UAAAA,2BAA2B,CAACjN,OAAO,GAAA9J,cAAA,CAAAA,cAAA,CAAA,EAAA,EAC9B+W,2BAA2B,CAACjN,OAAO,OAAAS,eAAA,CAAA,EAAA,EACrC6M,OAAO,CAACxU,SAAS,EAAG;AAAEyB,YAAAA,OAAO,EAAE,KAAK;AAAEkE,YAAAA,QAAQ,EAARA;AAAS,WAAC,CAAA,CAClD;AACDyO,UAAAA,2BAA2B,CAACD,2BAA2B,CAACjN,OAAO,CAAC;AAClE,QAAA,CAAC,CAAC,CACDuN,KAAK,CAAC,UAACvO,KAAK,EAAK;UAChBwO,OAAO,CAACxO,KAAK,CAACA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEE,OAAO,CAAC;AAC7B+N,UAAAA,2BAA2B,CAACjN,OAAO,GAAA9J,cAAA,CAAAA,cAAA,CAAA,EAAA,EAC9B+W,2BAA2B,CAACjN,OAAO,OAAAS,eAAA,CAAA,EAAA,EACrC6M,OAAO,CAACxU,SAAS,EAAG;AAAEyB,YAAAA,OAAO,EAAE;AAAM,WAAC,CAAA,CACxC;AACD2S,UAAAA,2BAA2B,CAACD,2BAA2B,CAACjN,OAAO,CAAC;AAClE,QAAA,CAAC,CAAC;MACN,CAAC;AAxBD,MAAA,KAAK,IAAIwH,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG9M,kBAAkB,CAACrB,MAAM,EAAEmO,KAAK,EAAE,EAAA;QAAA6F,KAAA,EAAA;AAAA,MAAA;AAyBhE,IAAA;AACF,EAAA,CAAC,EAAE,CAAC3S,kBAAkB,CAAC,CAAC;AAExB,EAAA,IAAM+S,eAAe,GAAG5T,QAAQ,CAAC0J,aAAa,CAAC,YAAM;IACnD,IAAIwB,GAAG,CAACnD,OAAO,EAAE;AACfmD,MAAAA,GAAG,CAAClC,YAAY,CAACkC,GAAG,CAACnD,OAAO,CAAC;MAC7B,OAAOmD,GAAG,CAACnD,OAAO;AACpB,IAAA,CAAC,MAAM;AACLmD,MAAAA,GAAG,CAAClC,YAAY,CAACxL,KAAK,CAACuK,OAAgD,CAAC;MACxE,OAAOvK,KAAK,CAACuK,OAAO;AACtB,IAAA;EACF,CAAC,EAAE,CAACmD,GAAG,CAACnD,OAAO,EAAEvK,KAAK,CAACuK,OAAO,CAAC,CAAC;EAEhC,IAAI6I,UAAU,GAAGZ,oBAAoB,CAAC;IACpCjI,OAAO,EAAAqF,kBAAA,CAAMwG,eAAe;AAC9B,GAAC,CAAC;EAEF,IAAMxL,cAAc,GAAGwL,eAAe,CAACzR,MAAM,CAAC,UAACrD,IAAU,EAAK;IAC5D,OAAO,CAACA,IAAI,CAACuJ,MAAM,IAAIvJ,IAAI,CAACwJ,MAAM,IAAIxJ,IAAI,CAACG,SAAS;AACtD,EAAA,CAAC,CAAC;EAEF2R,UAAU,GAAGD,2BAA2B,CAAC;AACvC3U,IAAAA,QAAQ,EAARA,QAAQ;AACR+L,IAAAA,OAAO,EAAE6I,UAAU;AACnBxI,IAAAA,cAAc,EAAdA,cAAc;AACd7F,IAAAA,eAAe,EAAfA,eAAe;AACf3B,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB0G,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBiB,IAAAA,sBAAsB,EAAEsC;AAC1B,GAAC,CAAC;EAEF+F,UAAU,GAAGqB,kBAAkB,CAAC;AAC9BlK,IAAAA,OAAO,EAAE6I,UAAU;AACnBrO,IAAAA,eAAe,EAAfA;AACF,GAAC,CAAC;EAEFqO,UAAU,GAAGuB,6BAA6B,CAAC;AACzCpK,IAAAA,OAAO,EAAE6I,UAAU;AACnByB,IAAAA,wBAAwB,EAAxBA;AACF,GAAC,CAAC;EAEFrS,QAAQ,CAACsG,eAAe,CAAC,YAAM;AAC7BsC,IAAAA,qBAAqB,CAACiB,UAAU,KAAK,KAAK,CAAC;AAC7C,EAAA,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;;AAEhB;EACA9F,KAAA,CAAMoG,eAAe,CAAC,YAAM;IAC1B,IAAI,CAACX,eAAe,EAAE;MACpB,IAAIK,UAAU,KAAK,KAAK,EAAE;QACxB1M,SAAS,CAAAyJ,eAAA,CAAAA,eAAA,CAAA,EAAA,EACNtD,UAAU,CAACb,QAAQ,EAAGV,WAAW,CAACuB,UAAU,CAACb,QAAQ,CAAC,IAAIA,QAAQ,CAAA,EAClEa,UAAU,CAACE,MAAM,EAAG,CAAC,CACvB,CAAC;AACJ,MAAA,CAAC,MAAM;AACLrG,QAAAA,SAAS,CAAAyJ,eAAA,CAAAA,eAAA,CAAA,EAAA,EACNtD,UAAU,CAACb,QAAQ,EAAGG,SAAS,GAC/BU,UAAU,CAACE,MAAM,EAAGZ,SAAS,CAC/B,CAAC;AACJ,MAAA;AACF,IAAA;AACF,EAAA,CAAC,EAAE,CAACiH,UAAU,CAAC,CAAC;AAEhB,EAAA,IAAMgK,mBAAmB,GAAG3S,OAAO,CAAC,YAAM;AACxC,IAAA,IAAIsI,eAAe,IAAIK,UAAU,KAAK,KAAK,EAAE,OAAO,KAAK;AACzD,IAAA,OAAAxN,cAAA,CAAA;AACEsN,MAAAA,eAAe,EAAE,IAAI;MACrBxD,OAAO,EAAEpE,WAAW,CAACuB,UAAU,CAACE,MAAM,CAAC,IAAI,CAAC;MAC5Cf,QAAQ,EAAEV,WAAW,CAACuB,UAAU,CAACb,QAAQ,CAAC,IAAIA,QAAQ;AACtDnC,MAAAA,KAAK,EAAEoK,UAAU;AACjBd,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAGtJ,KAAK,EAAA;QAAA,OAAA,SAAA,CAAA/D,MAAA,CAAU+D,KAAK,EAAA,qBAAA,CAAA;AAAA,MAAA;KAAM,EACnC9C,KAAK,CAACqM,UAAU,CAAA;EAGvB,CAAC,EAAE,CACD9H,WAAW,EACXuB,UAAU,CAACE,MAAM,EACjBF,UAAU,CAACb,QAAQ,EACnBA,QAAQ,EACRoH,UAAU,EACVL,eAAe,EACfhM,KAAK,CAACqM,UAAU,EAChBa,UAAU,CACX,CAAC;AAEF,EAAA,IAAMoJ,YAA0C,GAAG,SAA7CA,YAA0CA,CAC9CjK,UAAU,EACVkK,OAAO,EACPC,MAAM,EACNC,KAAK,EACF;AACH,IAAA,IAAIA,KAAK,CAACC,MAAM,KAAK,UAAU,IAAIL,mBAAmB,EAAE;MACtD1W,SAAS,CAAAyJ,eAAA,CAAAA,eAAA,KACNtD,UAAU,CAACb,QAAQ,EAAGoH,UAAU,CAACpH,QAAQ,CAAA,EACzCa,UAAU,CAACE,MAAM,EAAGqG,UAAU,CAAC1D,OAAO,CACxC,CAAC;AACJ,IAAA,CAAC,MAAM;AAAA,MAAA,IAAAgO,eAAA;MACL,CAAAA,eAAA,GAAA3W,KAAK,CAACQ,QAAQ,MAAA,IAAA,IAAAmW,eAAA,eAAdA,eAAA,CAAA1O,IAAA,CAAAjI,KAAK,EAAYqM,UAAU,EAAEkK,OAAO,EAAEC,MAAM,EAAEC,KAAK,CAAC;AACtD,IAAA;EACF,CAAC;AAED,EAAA,IAAM/T,UAAU,GAAGgB,OAAO,CAAC,YAAM;AAC/B,IAAA,IAAI,CAACuJ,eAAe,EAAE,OAAO7H,SAAS;AACtC,IAAA,IAAI6H,eAAe,CAACjL,MAAM,KAAK,CAAC,EAAE;AAChC,MAAA,OAAO,EAAE;AACX,IAAA;AACA,IAAA,IACE,OAAOqQ,MAAM,KAAK,QAAQ,IAC1BuE,iBAAiB,CAAC3J,eAAe,CAAC,CAAC,CAAC,CAACoF,MAAM,CAAC,CAAC,EAC7C;AACA,MAAA,OAAOpF,eAAe,CAAC5L,GAAG,CAAC,UAACC,IAAI,EAAK;AACnCA,QAAAA,IAAI,CAAC+Q,MAAM,CAAC,GAAG/N,OAAO,EAAE;AACxB,QAAA,OAAOhD,IAAI;AACb,MAAA,CAAC,CAAC;AACJ,IAAA;AACA,IAAA,OAAO2L,eAAe;AACxB,EAAA,CAAC,EAAE,CAACA,eAAe,EAAEoF,MAAM,CAAC,CAAC;EAE7Be,UAAU,GAAG1P,OAAO,CAAC,YAAM;AACzB,IAAA,OAAO0P,UAAU,CAAC/R,GAAG,CAAC,UAACC,IAAI,EAAK;MAC9B,IAAI,CAAC,CAACA,IAAI,CAACuV,KAAK,IAAItU,UAAU,KAAK,IAAI,EAAE;QACvCjB,IAAI,CAACuV,KAAK,GAAGzR,SAAS;AACxB,MAAA;MACA,IAAI,CAAC,CAAC9D,IAAI,CAACN,YAAY,IAAI,CAACM,IAAI,CAACqQ,MAAM,EAAE;AACvCrQ,QAAAA,IAAI,CAACqQ,MAAM,GAAG,UAACjT,KAAK,EAAK;AACvB,UAAA,OAAOkY,iBAAiB,CAAClY,KAAK,CAAC,IAAIA,KAAK,IAAI,EAAE,GAC1C4C,IAAI,CAACN,YAAY,GACjBtC,KAAK;QACX,CAAC;AACH,MAAA;AACA,MAAA,OAAO4C,IAAI;AACb,IAAA,CAAC,CAAC;AACJ,EAAA,CAAC,EAAE,CAAC8R,UAAU,EAAE7Q,UAAU,CAAC,CAAC;AAE5B,EAAA,IAAMuU,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACxB,IAAA,IAAInB,MAAM,IAAI,CAACjT,UAAU,EAAE;MACzB,oBACE4K,IAAA,CAAC1M,QAAQ,EAAA;QAAAC,QAAA,EAAA,cACPF,GAAA,CAACyU,WAAW,EAAA;AAAC5T,UAAAA,KAAK,EAAEA,KAAM;AAAC8T,UAAAA,OAAO,EAAEA;AAAQ,SAAE,CAAC,EAC9CzU,QAAQ,eACTF,GAAA,CAACwR,KAAK,EAAA;AAEJ3E,UAAAA,IAAI,EAAC,OAAO;AACZ8E,UAAAA,MAAM,EAAE;AAAEC,YAAAA,CAAC,EAAE;WAAgB;UAC7BH,QAAQ,EAAA,IAAA;AACRC,UAAAA,MAAM,EAAEA,MAAe;AACvB9H,UAAAA,OAAO,EAAE6I,UAAW;AACpBlQ,UAAAA,OAAO,EAAEA;AAAQ,SAAA,EANb,GAOL,CAAC;AAAA,OACM,CAAC;AAEf,IAAA;IACA,IAAI6T,QAAQ,EAAE,EAAE;MACd,oBACEzJ,IAAA,CAAC1M,QAAQ,EAAA;QAAAC,QAAA,EAAA,cACPF,GAAA,CAACyU,WAAW,EAAA;AAAC5T,UAAAA,KAAK,EAAEA,KAAM;AAAC8T,UAAAA,OAAO,EAAEA;SAAU,CAAC,EAC9CzU,QAAQ,eACTF,GAAA,CAACwR,KAAK,EAAAtT,cAAA,CAAAA,cAAA,CAAA;AAEJ2O,UAAAA,IAAI,EAAC,OAAO;AACZ8E,UAAAA,MAAM,EAAE;AAAEC,YAAAA,CAAC,EAAE;WAAgB;UAC7BH,QAAQ,EAAA;AAAA,SAAA,EACJQ,UAAU,CAAA,EAAA,EAAA,EAAA;AACdrI,UAAAA,OAAO,EAAE6I,UAAW;AACpB/G,UAAAA,UAAU,EAAEgK,mBAAoB;AAChChE,UAAAA,MAAM,EAAEA,MAAO;AACf7R,UAAAA,QAAQ,EAAE8V,YAAa;AACvBpT,UAAAA,OAAO,EAAEA,OAAQ;AACjBR,UAAAA,UAAU,EAAEA;AAAW,SAAA,CAAA,EAVnB,GAWL,CAAC;AAAA,OACM,CAAC;AAEf,IAAA;IACA,oBACE4K,IAAA,CAAC1M,QAAQ,EAAA;MAAAC,QAAA,EAAA,cACPF,GAAA,CAACyU,WAAW,EAAA;AAAC5T,QAAAA,KAAK,EAAEA,KAAM;AAAC8T,QAAAA,OAAO,EAAEA;AAAQ,OAAE,CAAC,EAC9CzU,QAAQ,eACTF,GAAA,CAACqW,cAAc,EAAA;AAAAnW,QAAAA,QAAA,eACbF,GAAA,CAACwR,KAAK,EAAAtT,cAAA,CAAAA,cAAA,CAAA;AAEJ2O,UAAAA,IAAI,EAAC,OAAO;AACZ8E,UAAAA,MAAM,EAAE;AAAEC,YAAAA,CAAC,EAAE;WAAgB;UAC7BH,QAAQ,EAAA;AAAA,SAAA,EACJQ,UAAU,CAAA,EAAA,EAAA,EAAA;AACdrI,UAAAA,OAAO,EAAE6I,UAAW;AACpB/G,UAAAA,UAAU,EAAEgK,mBAAoB;AAChChE,UAAAA,MAAM,EAAEA,MAAO;AACf7R,UAAAA,QAAQ,EAAE8V,YAAa;AACvBpT,UAAAA,OAAO,EAAEA,OAAQ;AACjBR,UAAAA,UAAU,EAAEA;AAAW,SAAA,CAAA,EAVnB,GAWL;AAAC,OACY,CAAC;AAAA,KACT,CAAC;EAEf,CAAC;EAED,oBACE4K,IAAA,CAACqD,WAAW,EAAA;AACV7E,IAAAA,SAAS,EAAEC,UAAA,CACT,kBAAkB,EAClB;AAAE,MAAA,sBAAsB,EAAE/L,KAAK,CAACiX,aAAa,KAAK;AAAQ,KAAC,EAC3DjX,KAAK,CAACkX,qBACR,CAAE;IACFjW,KAAK,EAAEjB,KAAK,CAACmX,iBAAkB;AAAAtW,IAAAA,QAAA,GAE9BiW,WAAW,EAAE,eAEdnW,GAAA,CAAC8Q,WAAW,EAAA;AACVrQ,MAAAA,QAAQ,EAAEwJ,cAAyB;AACnCmH,MAAAA,OAAO,EAAEhI,sBAAuB;AAChC+H,MAAAA,IAAI,EAAEtO,cAAe;AACrBhD,MAAAA,QAAQ,EAAE6M,uBAAwB;AAClC7O,MAAAA,QAAQ,EAAEA,QAAS;AACnB2B,MAAAA,mBAAmB,EAAE4E;AAAgB,KACtC,CAAC;AAAA,GACS,CAAC;AAElB,CAAC;;ACtZD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAM5C,SAAS,GAAGqG,QAAQ,CAAC4O,2BAA2B,CAACC,WAAc,EAAE;AAC5E;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,MAAM,EAAE7J,eAAe;AACvB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACE0E,EAAAA,KAAK,EAAEuD,cAAc;AACrB;AACF;AACA;AACElE,EAAAA,cAAc,EAAEA,cAAc;AAE9B;AACAD,EAAAA,YAAY,EAAEA,YAAY;AAC1B;AACArG,EAAAA,qBAAqB,EAAE,SAAvBA,qBAAqBA,CAAG1M,QAAgB,EAAK;AAC3CU,IAAAA,eAAe,CAACX,GAAG,CAACC,QAAQ,EAAE,KAAK,CAAC;AACtC,EAAA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/easy-table/cache.ts","@flatbiz/antd/src/easy-table/context.ts","@flatbiz/antd/src/easy-table/fold-operate-dropdown.tsx","@flatbiz/antd/src/easy-table/easy-table.tsx","@flatbiz/antd/src/easy-table/filter.tsx","@flatbiz/antd/src/easy-table/hooks.ts","@flatbiz/antd/src/easy-table/fold-operate.tsx","@flatbiz/antd/src/easy-table/hooks/columns.tsx","@flatbiz/antd/src/easy-table/table.tsx","@flatbiz/antd/src/easy-table/index.ts"],"sourcesContent":["import { isArray, isObject } from '@dimjs/lang';\nimport type { TPlainObject } from '@flatbiz/utils';\nimport { localStorageCache, sessionStorageCache } from '@flatbiz/utils';\n\nexport const filterCache = {\n set: (cacheKey: string, filterCondition: TPlainObject) => {\n const value = filterCache.get(cacheKey);\n const mergeParams = {\n ...value,\n ...filterCondition,\n };\n sessionStorageCache.set(`easy_tab_filter_${cacheKey}`, mergeParams);\n return mergeParams as TPlainObject;\n },\n get: (cacheKey: string) => {\n const value = sessionStorageCache.get(\n `easy_tab_filter_${cacheKey}`\n ) as TPlainObject;\n return isObject(value) ? value : {};\n },\n remove: (cacheKey: string) => {\n sessionStorageCache.remove(`easy_tab_filter_${cacheKey}`);\n },\n};\n\nexport const firstQueryCache = {\n set: (cacheKey: string, flag: boolean) => {\n sessionStorageCache.set(`easy_tab_firstQuery_${cacheKey}`, { value: flag });\n },\n get: (cacheKey: string) => {\n const value = sessionStorageCache.get(\n `easy_tab_firstQuery_${cacheKey}`\n )?.value;\n return value === false ? false : true;\n },\n remove: (cacheKey: string) => {\n sessionStorageCache.remove(`easy_tab_firstQuery_${cacheKey}`);\n },\n};\n\nexport const columnFoldCache = {\n set: (cacheKey: string, value: string[]) => {\n localStorageCache.set(`easy_tab_columnFold_${cacheKey}`, { value });\n },\n get: (cacheKey: string) => {\n const value = localStorageCache.get(\n `easy_tab_columnFold_${cacheKey}`\n )?.value;\n return isArray(value) ? (value as string[]) : [];\n },\n remove: (cacheKey: string) => {\n localStorageCache.remove(`easy_tab_columnFold_${cacheKey}`);\n },\n};\n","import { createContext } from 'react';\nimport { type FormInstance } from 'antd';\nimport { noop, type TPlainObject } from '@flatbiz/utils';\nimport {\n type EasyTableProps,\n type EasyTableRefApi,\n type TEasyTableTableColumn,\n} from './type.js';\n\nexport type EditableFieldContextContextApi = {\n cacheKey: string;\n onRequest: (params?: TPlainObject) => void;\n tableDataSource?: TPlainObject[];\n tableTotal: number;\n loading?: boolean;\n fieldNames: TPlainObject;\n pageSize: number;\n initialValues?: TPlainObject;\n onSetPaginationStatus: (status: boolean) => void;\n getPaginationStatus: () => boolean;\n onFormFinish?: (values?: TPlainObject) => void;\n form: FormInstance;\n getEasyTableRef: () => EasyTableRefApi;\n paginationFixed: boolean;\n foldKeys: string[];\n onSetBaseColumns: (\n baseColumns?: TEasyTableTableColumn<TPlainObject>[]\n ) => void;\n onSetColumns: (columns?: TEasyTableTableColumn<TPlainObject>[]) => void;\n columns?: TEasyTableTableColumn<TPlainObject>[];\n dynamicColumnsConfig: {\n showFoldKeyList: string[];\n onChangeShowFoldKeyList: (keys: string[]) => void;\n columnFoldOpen: boolean;\n columnFoldConfig?: EasyTableProps['columnFoldConfig'];\n onOpenColumnFoldModal: () => void;\n onCloseColumnFoldModal: () => void;\n asyncColumnRequest?: EasyTableProps['asyncColumnRequest'];\n };\n};\n\nexport const EasyTableContext = createContext<EditableFieldContextContextApi>({\n onRequest: noop,\n tableList: [],\n getEasyTableRef: () => {\n //\n },\n} as unknown as EditableFieldContextContextApi);\n","import {\n type CSSProperties,\n Fragment,\n type ReactElement,\n useState,\n} from 'react';\nimport { Checkbox, Popover } from 'antd';\nimport { columnFoldCache } from './cache.js';\n\ntype FoldOperateProps = {\n style?: CSSProperties;\n dataList: { dataIndex: string; title: string }[];\n onChange: (keys: string[]) => void;\n cacheKey?: string;\n initSelectedRowKeys?: string[];\n children?: ReactElement;\n};\n\nexport const FoldOperateDropdown = (props: FoldOperateProps) => {\n const [selectedRowKeys, setSelectedRowKeys] = useState<string[]>(\n props.initSelectedRowKeys || []\n );\n\n const onChange = (keys) => {\n setSelectedRowKeys(keys);\n props.onChange(keys);\n if (props.cacheKey) {\n columnFoldCache.set(props.cacheKey, keys);\n }\n };\n const content = (\n <Fragment>\n <Checkbox.Group\n defaultValue={selectedRowKeys}\n onChange={onChange}\n value={selectedRowKeys}\n style={{ display: 'flex', flexDirection: 'column' }}\n >\n {props.dataList.map((item) => {\n const label = item['_isFoldTitle'] || item.title;\n return (\n <Checkbox\n value={item.dataIndex}\n key={item.dataIndex}\n style={{ padding: '0 0 5px 0' }}\n >\n {label}\n </Checkbox>\n );\n })}\n </Checkbox.Group>\n </Fragment>\n );\n\n const onChangeAll = (e) => {\n if (e.target.checked) {\n onChange(props.dataList.map((item) => item.dataIndex));\n } else {\n onChange([]);\n }\n };\n\n return (\n <Popover\n content={content}\n title={\n <Checkbox\n checked={selectedRowKeys.length === props.dataList.length}\n onChange={onChangeAll}\n >\n 全选(字段列表)\n </Checkbox>\n }\n placement=\"bottomRight\"\n overlayClassName=\"fold-operate-popiver\"\n >\n {props.children}\n </Popover>\n );\n};\n","import {\n cloneElement,\n type CSSProperties,\n forwardRef,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Form, message } from 'antd';\nimport { isArray, isString, isUndefined } from '@dimjs/lang';\nimport { classNames, get } from '@dimjs/utils';\nimport { getUuid, type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { fbaUtils } from '../fba-utils/index.js';\nimport { PaginationWrapper } from '../pagination-wrapper/pagination.jsx';\nimport { columnFoldCache, filterCache, firstQueryCache } from './cache.js';\nimport { EasyTableContext } from './context.js';\nimport { FoldOperateDropdown } from './fold-operate-dropdown.jsx';\nimport {\n type EasyTableProps,\n type EasyTableRefApi,\n type TEasyTableTableColumn,\n} from './type.js';\nimport './style.less';\n\nexport const EasyTable = forwardRef<EasyTableRefApi, EasyTableProps>(\n (props, ref) => {\n const screenType = fbaHooks.useResponsivePoint() || '';\n const [dataSource, setDataSource] = useState<TPlainObject[]>();\n const [total, setTotal] = useState<number>(0);\n const [loading, setLoading] = useState<boolean>(false);\n const columnFoldConfig = props.columnFoldConfig;\n const asyncColumnRequest = props.asyncColumnRequest;\n\n const [columnFoldOpen, setColumnFoldOpen] = useState(false);\n\n const cacheKey = useMemo(() => {\n if (props.cacheKey) {\n try {\n const iframe = window.frameElement;\n const iframeId = iframe?.id || '';\n return `${props.cacheKey}_${iframeId}`;\n } catch (_error) {\n return props.cacheKey;\n }\n }\n if (props.cacheSwitch === true) {\n return location.pathname;\n }\n if (typeof props.cacheSwitch === 'string') {\n return props.cacheSwitch;\n }\n return `${Date.now()}-${getUuid()}`;\n }, [props.cacheSwitch, props.cacheKey]);\n\n const cacheParams = filterCache.get(cacheKey);\n\n const [showFoldKeyList, setShowFoldKeyList] = useState<string[]>(() => {\n if (cacheKey) {\n const columnFoldCacheValue = columnFoldCache.get(cacheKey);\n const cacheKeyList = isArray(columnFoldCacheValue)\n ? columnFoldCacheValue.filter((item) => isString(item))\n : [];\n return cacheKeyList.length > 0\n ? cacheKeyList\n : columnFoldConfig?.initSelectedKeys || [];\n } else {\n return columnFoldConfig?.initSelectedKeys || [];\n }\n });\n\n const pageSize =\n props.pageSize || props.initialPaginationParams?.pageSize || 10;\n const initRequest =\n props.initRequest === undefined ? true : props.initRequest;\n const paginationStatusRef = useRef(false);\n const respOriginalDataRef = useRef<TAny>();\n const baseColumnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n const [dynamicColumns, setDynamicColumns] =\n useState<TEasyTableTableColumn<TPlainObject>[]>();\n\n const columnsRef = useRef<TEasyTableTableColumn<TPlainObject>[]>([]);\n\n const fieldNames = {\n list: 'list',\n total: 'total',\n pageNo: 'pageNo',\n pageSize: 'pageSize',\n ...props.fieldNames,\n };\n\n const [form] = Form.useForm(props.form);\n\n const onInnerRequest = hooks.useCallbackRef(async (params) => {\n try {\n if (props.breforeRequest) {\n try {\n await props.breforeRequest(form);\n } catch (_error) {\n return;\n }\n }\n firstQueryCache.set(cacheKey, false);\n setLoading(true);\n const paramsAll = filterCache.set(cacheKey, params);\n const {\n requestParamsAdapter,\n onRequest,\n requestResultAdapter,\n dynamicColumsAdapter,\n } = props.serviceConfig;\n const paramsNew = requestParamsAdapter\n ? requestParamsAdapter(paramsAll)\n : paramsAll;\n const respData =\n (await onRequest(fbaUtils.removeFormValuesInvalidField(paramsNew))) ||\n {};\n respOriginalDataRef.current = respData;\n props.onDataSourceChange?.(respData);\n let respDataNew: TPlainObject = respData;\n if (requestResultAdapter) {\n respDataNew = requestResultAdapter(respData);\n }\n if (dynamicColumsAdapter) {\n const dynamicColumns = dynamicColumsAdapter(\n respData,\n baseColumnsRef.current\n );\n /** 不要添加默认值 */\n setDynamicColumns(dynamicColumns);\n }\n const respList = get(respDataNew, fieldNames.list);\n setDataSource(isArray(respList) ? respList : []);\n setTotal(get(respDataNew, fieldNames.total));\n setLoading(false);\n } catch (error: any) {\n setLoading(false);\n if (props.onRequestErrorHandle) {\n props.onRequestErrorHandle(error);\n } else {\n void message.error(error.message);\n }\n }\n });\n\n fbaHooks.useEffectCustom(() => {\n const hasPagination = getPaginationStatus();\n const firstQueryFlag = firstQueryCache.get(cacheKey);\n form.setFieldsValue({\n ...props.initialValues,\n ...cacheParams,\n });\n if (initRequest || !firstQueryFlag) {\n if (hasPagination) {\n void onInnerRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...props.initialValues,\n ...cacheParams,\n });\n } else {\n void onInnerRequest(props.initialValues);\n }\n } else {\n filterCache.set(cacheKey, props.initialValues || {});\n }\n }, []);\n\n const clearQueryCondition = hooks.useCallbackRef(\n (values?: TPlainObject) => {\n filterCache.remove(cacheKey);\n form.resetFields();\n if (values) {\n filterCache.set(cacheKey, values);\n form.setFieldsValue(values);\n }\n }\n );\n\n const updateQueryCondition = hooks.useCallbackRef(\n (values: TPlainObject) => {\n filterCache.set(cacheKey, values);\n form.setFieldsValue(values);\n }\n );\n\n const getPaginationData = (pageNo: number, _pageSize: number) => {\n if (getPaginationStatus()) {\n return {\n [fieldNames.pageNo]: pageNo,\n [fieldNames.pageSize]: _pageSize || pageSize,\n };\n } else {\n return {\n [fieldNames.pageNo]: undefined,\n [fieldNames.pageSize]: undefined,\n };\n }\n };\n\n const onResetRequest = hooks.useCallbackRef((values?: TPlainObject) => {\n const params = {\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n ...props.initialValues,\n ...values,\n };\n filterCache.remove(cacheKey);\n form.resetFields();\n if (values) {\n form.setFieldsValue(values);\n }\n void onInnerRequest(params);\n });\n\n const getRequestParams = hooks.useCallbackRef(() => {\n return {\n ...cacheParams,\n ...form.getFieldsValue(),\n };\n });\n\n const onOpenColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(true);\n });\n\n const onCloseColumnFoldModal = hooks.useCallbackRef(() => {\n setColumnFoldOpen(false);\n });\n\n const getEasyTableRef = (): EasyTableRefApi => {\n return {\n /**\n * 参数\n * 1. 不用添加已存在的搜索条件\n * 2. 此处可重新\n */\n onRequest: onInnerRequest,\n clearQueryCondition,\n updateQueryCondition,\n getRequestParams,\n onResetRequest,\n form,\n dataSource: respOriginalDataRef.current,\n getDataSource: () => {\n return respOriginalDataRef.current;\n },\n onFilterDataSource: (filterDataSource) => {\n setDataSource(filterDataSource);\n },\n onClearDataSource: () => {\n setTotal(0);\n setDataSource([]);\n },\n onUpdateDataSource: (dataList) => {\n setDataSource(dataList);\n respOriginalDataRef.current = { [fieldNames.list]: dataList };\n props.onDataSourceChange?.(respOriginalDataRef.current);\n },\n columnFoldTriggerRender: (\n children,\n columns: TEasyTableTableColumn<TPlainObject>[]\n ) => {\n if (props.columnFoldConfig?.triggerType === 'drawer') {\n return cloneElement(children, {\n onClick: onOpenColumnFoldModal,\n });\n }\n\n const foldColumnList = columns.filter((item: TAny) => {\n return !item.hidden && item.isFold && item.dataIndex;\n });\n\n return (\n <FoldOperateDropdown\n dataList={\n foldColumnList as { dataIndex: string; title: string }[]\n }\n onChange={onChangeFoldColumnList}\n cacheKey={cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n >\n {children}\n </FoldOperateDropdown>\n );\n },\n onChangeTableColumns: (columns) => {\n setDynamicColumns(columns);\n },\n getTableColumns: () => {\n return columnsRef.current;\n },\n loading,\n setEnabledInitRequest: () => {\n firstQueryCache.set(cacheKey, false);\n },\n };\n };\n\n useImperativeHandle(ref, () => {\n return getEasyTableRef();\n });\n\n const onSetPaginationStatus = (status: boolean) => {\n paginationStatusRef.current = status;\n };\n\n const onSetBaseColumns = (base) => {\n baseColumnsRef.current = base;\n };\n\n const onSetColumns = (columns) => {\n columnsRef.current = columns;\n };\n\n const onFormFinish = () => {\n if (loading) return;\n const values = form.getFieldsValue();\n if (props.onFormFinish) {\n props.onFormFinish({\n ...values,\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n });\n } else {\n void onInnerRequest({\n ...values,\n ...getPaginationData(1, cacheParams[fieldNames.pageSize]),\n });\n }\n };\n const isFull = isUndefined(props.isFull) ? true : props.isFull;\n\n const filterFixedFt = screenType === 'xs' ? false : props.filterFixed;\n const className = classNames(\n 'fba-easy-table',\n {\n 'fba-easy-table-full': isFull,\n 'fba-easy-table-filter-fixed': filterFixedFt,\n 'fba-easy-table-pagination-fixed': props.paginationFixed,\n },\n props.className\n );\n\n const paginationData = fbaHooks.useMemoCustom(() => {\n return {\n showSizeChanger: true,\n current: cacheParams[fieldNames.pageNo] || 1,\n pageSize: cacheParams[fieldNames.pageSize] || pageSize,\n total: total,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n };\n }, [\n fieldNames.pageNo,\n cacheParams,\n fieldNames.pageSize,\n cacheKey,\n pageSize,\n props.pagination,\n total,\n ]);\n\n const onChangeFoldColumnList = (keyList: string[]) => {\n setShowFoldKeyList(keyList);\n columnFoldConfig?.onChange?.(keyList);\n };\n\n const onChange = hooks.useCallbackRef((page: number, pageSize: number) => {\n const params = {\n [fieldNames.pageSize]: pageSize,\n [fieldNames.pageNo]: page,\n };\n filterCache.set(cacheKey, params);\n void onInnerRequest(params);\n props.pagination?.onChange?.(page, pageSize);\n });\n\n const getPaginationStatus = () => {\n return props.paginationFixed || paginationStatusRef.current;\n };\n\n // 分页参数发生变更\n hooks.useUpdateEffect(() => {\n if (props.paginationFixed) {\n void onInnerRequest({\n [fieldNames.pageSize]: cacheParams[fieldNames.pageSize] || pageSize,\n [fieldNames.pageNo]: 1,\n });\n } else {\n void onInnerRequest({\n [fieldNames.pageSize]: undefined,\n [fieldNames.pageNo]: undefined,\n });\n }\n }, [props.paginationFixed]);\n\n const wrapperClassName = classNames(\n 'fba-easy-table-wrapper',\n {\n 'fba-easy-table-wrapper-inline': props.isInline,\n },\n props.className\n );\n\n const wrapperStyle: CSSProperties = {\n overflowY: props.filterFixed || props.paginationFixed ? 'hidden' : 'auto',\n ...props.style,\n };\n\n const children =\n typeof props.children === 'function'\n ? props.children(respOriginalDataRef.current)\n : props.children;\n\n return (\n <EasyTableContext.Provider\n value={{\n onSetBaseColumns,\n onSetColumns,\n getEasyTableRef,\n cacheKey,\n onRequest: onInnerRequest,\n tableDataSource: dataSource,\n tableTotal: total,\n loading,\n fieldNames,\n pageSize,\n onSetPaginationStatus,\n getPaginationStatus,\n onFormFinish,\n form,\n paginationFixed: props.paginationFixed || false,\n foldKeys: props.foldKeys || [],\n columns: dynamicColumns,\n initialValues: props.initialValues,\n dynamicColumnsConfig: {\n showFoldKeyList,\n onChangeShowFoldKeyList: onChangeFoldColumnList,\n columnFoldConfig,\n onOpenColumnFoldModal,\n onCloseColumnFoldModal,\n columnFoldOpen,\n asyncColumnRequest,\n },\n }}\n >\n {props.paginationFixed ? (\n <div className={wrapperClassName} style={wrapperStyle}>\n <div className={className}>{children}</div>\n {total > 0 && (\n <div className=\"fba-easy-table-pagination\">\n <PaginationWrapper\n size=\"small\"\n {...paginationData}\n onChange={onChange}\n />\n </div>\n )}\n </div>\n ) : (\n <div className={wrapperClassName} style={props.style}>\n <div className={className}>{children}</div>\n </div>\n )}\n </EasyTableContext.Provider>\n );\n }\n);\n","import {\n Children,\n type CSSProperties,\n type ReactElement,\n useContext,\n useMemo,\n useState,\n} from 'react';\nimport { isFragment } from 'react-is';\nimport { type FormInstance } from 'antd';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { isUndefined } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport { type TAny } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BlockLayout } from '../block-layout/layout.jsx';\nimport type { ButtonWrapperProps } from '../button-wrapper/button-wrapper.jsx';\nimport { ButtonWrapper } from '../button-wrapper/button-wrapper.jsx';\nimport type { EasyFormProps } from '../easy-form/form.jsx';\nimport { EasyForm } from '../easy-form/form.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { FormOperateColProps } from '../form-grid/form-operate-col.jsx';\nimport type { FormRowProps } from '../form-grid/form-row.jsx';\nimport { FormGrid } from '../form-grid/index.js';\nimport { filterCache } from './cache.js';\nimport { EasyTableContext } from './context.js';\n\nexport type EasyTableFilterProps = {\n children:\n | ReactElement\n | ReactElement[]\n | ((form: FormInstance) => ReactElement);\n /** isPure = true时无效 */\n filterOperate?: (form: FormInstance) => FormOperateColProps;\n /** 是否为纯净模式(查询条件布局是否自定义), */\n isPure?: boolean;\n /** 查询按钮配置 */\n queryButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /** 重置按钮配置 */\n resetButtonProps?: Omit<ButtonWrapperProps, 'onClick'> & { text?: string };\n /**\n * 网格布局设置\n * default = { xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 };\n * small = { xs: 24, sm: 8, md: 8, lg: 6, xl: 6, xxl: 6 };\n */\n formGridSize?: FormRowProps['gridSize'];\n /**\n * @deprecated已过期,使用 easyFormProps.className 配置\n */\n formClassName?: string;\n /**\n * @deprecated已过期,使用 easyFormProps.style 配置\n */\n formStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout style */\n filterWrapperStyle?: CSSProperties;\n /** filter Form 外层 BlockLayout className */\n filterWrapperClassName?: string;\n /**\n * 自定义 filterOperate.rightList 后 默认【查询、重置】按钮处理逻辑\n * 1. cover:覆盖内部查询重置按钮(默认值)\n * 2. beforeAppend:添加到【查询重置】按钮前面\n * 3. afterAppend:添加到【查询重置】按钮后面\n *\n * 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n */\n rightOperateAreaAppendType?: 'cover' | 'beforeAppend' | 'afterAppend';\n /** 默认重启按钮触发请求,默认值:true */\n defaultResetButtonTriggerRequest?: boolean;\n easyFormProps?: Omit<\n EasyFormProps,\n 'isPure' | 'column' | 'forceColumn' | 'width' | 'gridGutter' | 'children'\n >;\n};\n\n/**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTableFilter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTableFilter>\n *\n * -- 自定义网格布局 使用 FormGrid.Col 组件包装 FormItemWrapper\n * <EasyTableFilter>\n * <FormGrid.Col span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormGrid.Col>\n * </EasyTableFilter>\n *\n * -- children 可为 function\n * <EasyTableFilter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTableFilter>\n *\n * 2. 用户2(自定义布局)\n * EasyTableFilter设置 isPure = true,FormItem无布局规则\n * 3. EasyTableFilter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. 通过设置 defaultResetButtonTriggerRequest,默认重启按钮触发请求,默认值:true\n * 8. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n *```\n */\nexport const EasyTableFilter = (props: EasyTableFilterProps) => {\n const screenType = fbaHooks.useResponsivePoint() || 'md';\n const ctx = useContext(EasyTableContext);\n const {\n queryButtonProps,\n resetButtonProps,\n filterOperate,\n formClassName = '',\n defaultResetButtonTriggerRequest,\n filterWrapperStyle,\n filterWrapperClassName,\n rightOperateAreaAppendType,\n easyFormProps,\n } = props;\n const {\n cacheKey,\n foldKeys,\n fieldNames,\n onRequest,\n pageSize,\n getPaginationStatus,\n initialValues,\n form,\n onFormFinish,\n } = ctx;\n\n const children =\n typeof props.children === 'function'\n ? props.children(form)\n : props.children;\n\n const rightOperateAreaAppendTypeFt = rightOperateAreaAppendType || 'cover';\n const childrens = useMemo(() => {\n if (isFragment(children)) {\n return Children.toArray(\n (children as ReactElement).props.children\n ) as ReactElement[];\n } else {\n return Children.toArray(children) as ReactElement[];\n }\n }, [children]);\n\n const [openFold, setOpenFold] = useState(false);\n\n const onReset = hooks.useCallbackRef(async () => {\n filterCache.remove(cacheKey);\n form.resetFields();\n form.setFieldsValue(initialValues);\n if (\n isUndefined(defaultResetButtonTriggerRequest) ||\n defaultResetButtonTriggerRequest\n ) {\n await form.validateFields();\n if (getPaginationStatus()) {\n onRequest({\n [fieldNames.pageNo]: 1,\n [fieldNames.pageSize]: pageSize,\n ...initialValues,\n });\n } else {\n onRequest(initialValues);\n }\n }\n });\n\n const formRowChildren = useMemo(() => {\n const defaultRightList = [\n !queryButtonProps?.hidden ? (\n <ButtonWrapper\n key=\"1\"\n type=\"primary\"\n htmlType=\"submit\"\n loadingPosition=\"center\"\n {...queryButtonProps}\n loading={ctx.loading}\n >\n {queryButtonProps?.text || '查询'}\n </ButtonWrapper>\n ) : null,\n !resetButtonProps?.hidden ? (\n <ButtonWrapper key=\"2\" onClick={onReset} {...resetButtonProps}>\n {resetButtonProps?.text || '重置'}\n </ButtonWrapper>\n ) : null,\n ].filter(Boolean);\n const customFormOperateCol = filterOperate?.(form);\n const customRightList = customFormOperateCol?.rightList;\n const leftList: TAny[] = customFormOperateCol?.leftList || [];\n\n let rightList: TAny[] = defaultRightList;\n if (customRightList) {\n if (rightOperateAreaAppendTypeFt === 'afterAppend') {\n rightList = [...defaultRightList, ...customRightList];\n } else if (rightOperateAreaAppendTypeFt === 'beforeAppend') {\n rightList = [...customRightList, ...defaultRightList];\n } else {\n rightList = customRightList;\n }\n }\n if (foldKeys.length > 0) {\n const changeFolditem = (\n <ButtonWrapper\n type=\"link\"\n key=\"fold-trigger\"\n style={{ padding: '0' }}\n onClick={() => {\n setOpenFold(!openFold);\n }}\n >\n {openFold ? (\n <span>\n 收起\n <UpOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n ) : (\n <span>\n 展开\n <DownOutlined style={{ marginLeft: 3, fontSize: 12 }} />\n </span>\n )}\n </ButtonWrapper>\n );\n\n if (rightList.length > 0 || leftList.length === 0) {\n rightList.push(changeFolditem);\n } else if (leftList?.length > 0) {\n leftList.push(changeFolditem);\n }\n }\n\n return childrens\n .map((item, index) => {\n if (\n !openFold &&\n foldKeys.find((keyItem) => `.$${keyItem}` === item.key)\n )\n return null;\n if (item.props['hidden']) return null;\n if (item.type['domTypeName'] === 'FormCol') return item;\n return <FormGrid.Col key={index}>{item}</FormGrid.Col>;\n })\n .filter(Boolean)\n .concat(\n <FormGrid.OperateCol\n key={999}\n {...customFormOperateCol}\n leftList={leftList}\n rightList={rightList}\n />\n );\n }, [\n childrens,\n filterOperate,\n foldKeys,\n form,\n onReset,\n openFold,\n queryButtonProps,\n resetButtonProps,\n rightOperateAreaAppendTypeFt,\n ctx.loading,\n ]);\n\n const labelAlign =\n screenType === 'xs' ? 'left' : easyFormProps?.labelAlign || 'right';\n\n return (\n <BlockLayout\n className={classNames('easy-table-filter', filterWrapperClassName)}\n style={filterWrapperStyle}\n >\n <EasyForm\n form={form}\n autoComplete=\"off\"\n onFinish={onFormFinish}\n // initialValues={initialValues}\n className={formClassName}\n style={props.formStyle}\n isPure={true}\n labelWidth=\"80\"\n formItemGap=\"15\"\n {...easyFormProps}\n labelAlign={labelAlign}\n >\n {props.isPure ? (\n children\n ) : (\n <FormGrid.Row gutter={[15, 0]} gridSize={props.formGridSize}>\n {formRowChildren}\n </FormGrid.Row>\n )}\n </EasyForm>\n </BlockLayout>\n );\n};\n","import { useContext } from 'react';\nimport { EasyTableContext } from './context.js';\n\n/**\n * 在 EasyTable子组件内才可使用\n * @returns\n */\nexport const useEasyTable = () => {\n const ctx = useContext(EasyTableContext);\n return ctx.getEasyTableRef();\n};\n\n/**\n * @deprecated 已过时 @4.5.0版本移除,请使用 useEasyTable\n * @returns\n */\nexport const useEasyTablRef = () => {\n const ctx = useContext(EasyTableContext);\n return {\n current: ctx.getEasyTableRef(),\n };\n};\n","import { type CSSProperties, Fragment, useState } from 'react';\nimport { Drawer, Table } from 'antd';\nimport { type ColumnsType } from 'antd/lib/table/index.js';\nimport { type TableRowSelection } from 'antd/lib/table/interface.js';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { columnFoldCache } from './cache.js';\n\ntype FoldOperateProps = {\n style?: CSSProperties;\n dataList: { dataIndex?: string; title: string }[];\n onChange: (keys: string[]) => void;\n open?: boolean;\n onClose?: () => void;\n cacheKey?: string;\n initSelectedRowKeys?: string[];\n};\n\nexport const FoldOperate = (props: FoldOperateProps) => {\n const [selectedRowKeys, setSelectedRowKeys] = useState<string[]>(\n props.initSelectedRowKeys || []\n );\n const rowSelection = {\n type: 'checkbox',\n selectedRowKeys: selectedRowKeys,\n onChange: (selectedRowKeys: string[]) => {\n setSelectedRowKeys(selectedRowKeys);\n props.onChange(selectedRowKeys);\n if (props.cacheKey) {\n columnFoldCache.set(props.cacheKey, selectedRowKeys);\n }\n },\n } as TableRowSelection<TAny>;\n\n const columns: ColumnsType<TPlainObject> = [\n {\n title: '字段名称',\n dataIndex: 'title',\n render: (value, recrd) => {\n return recrd['_isFoldTitle'] || value;\n },\n },\n { title: '字段Key', dataIndex: 'dataIndex' },\n ];\n\n return (\n <Fragment>\n <Drawer\n title=\"选择字段\"\n open={props.open}\n onClose={props.onClose}\n width={'35%'}\n styles={{\n body: {\n padding: 15,\n },\n }}\n >\n <Table\n bordered\n size=\"small\"\n columns={columns}\n rowSelection={rowSelection}\n rowKey=\"dataIndex\"\n pagination={false}\n scroll={{ x: 'max-content' }}\n dataSource={props.dataList}\n />\n </Drawer>\n </Fragment>\n );\n};\n","import { useMemo } from 'react';\nimport { type TAny, type TPlainObject } from '@flatbiz/utils';\nimport { ButtonWrapper } from '../../button-wrapper/button-wrapper.jsx';\nimport { fbaHooks } from '../../fba-hooks/index.js';\nimport { FlexLayout } from '../../flex-layout/flex-layout.jsx';\nimport { IconWrapper } from '../../icon-wrapper/icon-wrapper.jsx';\nimport { SvgHttpView } from '../../svg-http-view/svg.jsx';\nimport { TableTitleTooltip } from '../../table-title-tooltip/title-render.jsx';\nimport { TipsWrapper } from '../../tips-wrapper/tips-wrapper.jsx';\nimport { FoldOperateDropdown } from '../fold-operate-dropdown.jsx';\nimport { type EasyTableProps } from '../type.js';\n\nexport const useColumnsAppendTips = (props: { columns: TPlainObject[] }) => {\n return useMemo(() => {\n const tempList = props.columns\n .map((item) => {\n const { tooltip, tipsWrapperProps, title, ...otherProps } = item;\n if (typeof title === 'string' && tipsWrapperProps) {\n if (typeof tipsWrapperProps === 'string') {\n return {\n ...otherProps,\n title: (\n <TipsWrapper\n tipType=\"popover\"\n popoverProps={{ content: tipsWrapperProps }}\n >\n {title}\n </TipsWrapper>\n ),\n };\n }\n return {\n ...otherProps,\n title: <TipsWrapper {...tipsWrapperProps}>{title}</TipsWrapper>,\n };\n }\n if (typeof title === 'string' && !!tooltip) {\n return {\n ...otherProps,\n title: (\n <TableTitleTooltip\n tooltip={tooltip}\n title={title}\n ></TableTitleTooltip>\n ),\n };\n }\n return item;\n })\n .filter(Boolean);\n return [...tempList] as TPlainObject[];\n }, [props.columns]);\n};\n\nexport const useColumnsAppendInnerColumn = (props: {\n columns: TPlainObject[];\n cacheKey: string;\n showFoldKeyList: string[];\n columnFoldConfig?: EasyTableProps['columnFoldConfig'];\n onOpenColumnFoldModal: () => void;\n onChangeFoldColumnList: (keyList: string[]) => void;\n foldColumnList: TPlainObject[];\n}) => {\n const columnsNew = props.columns;\n return fbaHooks.useMemoCustom(() => {\n if (props.columnFoldConfig?.hidden) return columnsNew;\n const finalItem = columnsNew[columnsNew.length - 1];\n if (props.foldColumnList.length > 0 && columnsNew.length > 0) {\n const foldColumnTarget = columnsNew.find((item) => item['_isFoldColumn']);\n\n if (\n foldColumnTarget &&\n finalItem.dataIndex !== foldColumnTarget.dataIndex\n ) {\n foldColumnTarget.title = foldColumnTarget['_isFoldTitle'];\n foldColumnTarget['_isFoldColumn'] = false;\n }\n if (!finalItem['_isFoldColumn']) {\n finalItem['_isFoldTitle'] =\n finalItem['_isFoldTitle'] || finalItem.title;\n finalItem['_isFoldColumn'] = true;\n\n const triggerType = props.columnFoldConfig?.triggerType;\n\n finalItem.title = (\n <FlexLayout\n direction=\"horizontal\"\n fullIndex={0}\n style={{ alignItems: 'center' }}\n >\n <span>{finalItem.title}</span>\n <div style={{ padding: '0 5px 0 20px', display: 'flex' }}>\n {triggerType === 'drawer' ? (\n <IconWrapper\n onClick={props.onOpenColumnFoldModal}\n text={props.columnFoldConfig?.text}\n size=\"small\"\n icon={\n props.columnFoldConfig?.icon || (\n <SvgHttpView\n svgPath=\"ionic/list-circle\"\n color=\"#868686\"\n />\n )\n }\n hoverTips={props.columnFoldConfig?.hoverTipText || '字段列表'}\n style={{ padding: 0, margin: 0 }}\n />\n ) : (\n <FoldOperateDropdown\n dataList={props.foldColumnList as TAny[]}\n onChange={props.onChangeFoldColumnList}\n cacheKey={props.cacheKey}\n initSelectedRowKeys={props.showFoldKeyList}\n >\n <IconWrapper\n text={props.columnFoldConfig?.text}\n style={{ padding: 0, margin: 0 }}\n size=\"small\"\n icon={\n props.columnFoldConfig?.icon || (\n <SvgHttpView\n svgPath=\"ionic/list-circle\"\n color=\"#868686\"\n />\n )\n }\n />\n </FoldOperateDropdown>\n )}\n </div>\n </FlexLayout>\n );\n }\n }\n return columnsNew;\n }, [props.columns, props.columnFoldConfig]);\n};\n\nexport const useColumnsToHidden = (props: {\n columns: TPlainObject[];\n showFoldKeyList: string[];\n}) => {\n return useMemo(() => {\n const tempList = props.columns\n .map((item) => {\n const { hidden, isFold } = item;\n if (hidden) return null;\n if (isFold && !props.showFoldKeyList.includes(item.dataIndex as string))\n return null;\n return item;\n })\n .filter(Boolean);\n return [...tempList] as TPlainObject[];\n }, [props.columns, props.showFoldKeyList]);\n};\n\nexport const useColumnByAsyncColumnRequest = (props: {\n columns: TPlainObject[];\n asyncColumnRequestResult: TPlainObject;\n}) => {\n return useMemo(() => {\n if (!Object.keys(props.asyncColumnRequestResult)) return props.columns;\n return props.columns.map((item: TAny) => {\n const dataIndex = item.dataIndex as string;\n const result = props.asyncColumnRequestResult[dataIndex];\n if (dataIndex && result) {\n if (result.loading) {\n item.render = (value) => {\n return (\n <ButtonWrapper\n loading\n type=\"text\"\n loadingPosition=\"center\"\n removeGap\n >\n {value}\n </ButtonWrapper>\n );\n };\n } else if (item.asyncRender) {\n item.render = (value, record, index) => {\n return item.asyncRender?.(value, record, index, result.respData);\n };\n }\n }\n return item;\n });\n }, [props.columns, props.asyncColumnRequestResult]);\n};\n","import {\n type CSSProperties,\n Fragment,\n type ReactElement,\n type ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Space, Table, type TableProps } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport {\n getUuid,\n isMacEnv,\n isUndefinedOrNull,\n type TAny,\n type TPlainObject,\n} from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { BlockLayout } from '../block-layout/layout.jsx';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { FlexLayout } from '../flex-layout/flex-layout.jsx';\nimport { TableScrollbar } from '../table-scrollbar/table-scrollbar.jsx';\nimport { filterCache } from './cache.js';\nimport { EasyTableContext } from './context.js';\nimport { FoldOperate } from './fold-operate.jsx';\nimport {\n useColumnByAsyncColumnRequest,\n useColumnsAppendInnerColumn,\n useColumnsAppendTips,\n useColumnsToHidden,\n} from './hooks/columns.jsx';\nimport { type TEasyTableTableColumn } from './type.js';\n\nconst TitleRender = (props: {\n /** 标题 */\n title?: ReactNode;\n /** 动作 */\n actions?: ReactElement[];\n}) => {\n if (!props.title && !props.actions?.length) {\n return null;\n }\n return (\n <FlexLayout\n fullIndex={0}\n direction=\"horizontal\"\n style={{ marginBottom: 10, alignItems: 'center' }}\n >\n {props.title ? (\n <div style={{ fontWeight: 400, fontSize: 16 }}>{props.title}</div>\n ) : null}\n <Space size={10}>{props.actions}</Space>\n </FlexLayout>\n );\n};\n\nexport type EasyTableTableProps<T> = Omit<\n TableProps<TAny>,\n 'dataSource' | 'loading' | 'rowKey' | 'columns' | 'title'\n> & {\n children?: ReactElement | ReactElement[];\n /**\n * 表格行 key 的取值,\n * ```\n * 如果 rowKey 为string类型\n * 1. 组件会判断表格列表数据第一条是否存在当前rowKey对象的数据,如果没有组件内部会动态添加唯一值\n * 2. 基于上一条的逻辑,如果表格数据没有唯一值,可指定 rowKey 值为table数据中不存在的字段名,例如:rowKey=\"_uid\"\n * 3. 如果触发上述逻辑,表格数据中会多出rowKey对应的键值对数据\n * ```\n */\n rowKey: TableProps<TAny>['rowKey'];\n /** table Form 外层 SimpleLayout className */\n tableWrapperStyle?: CSSProperties;\n /** table Form 外层 SimpleLayout className */\n tableWrapperClassName?: string;\n /**\n * ```\n * 1. 当配置了 EasyTable.serviceConfig.dynamicColumsAdapter 后,columns配置只在初始化有效,再次修改无效\n * 2. 可通过 EasyTableRef.onChangeTableColumns 实现 columns 的指定修改\n * ```\n */\n columns: TEasyTableTableColumn<T>[];\n /**\n * 数据加载与表格初始化渲染 是否同步\n * @version 4.4.6\n * ```\n * 1. true:获取数据后再初始化渲染表格(可用于实现表格中defaultXxxx相关功能的使用)\n * ```\n */\n isSync?: boolean;\n /**\n * 空效果显示尺寸,默认值:small\n * @version 4.4.6\n */\n emptyShowSize?: 'small' | 'large';\n /** 标题 */\n title?: ReactNode;\n /** 与标题对齐的动作 */\n actions?: ReactElement[];\n};\n\n/**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\nexport const EasyTableTable = <T extends TPlainObject>(\n props: EasyTableTableProps<T>\n) => {\n const ctx = useContext(EasyTableContext);\n const {\n children,\n rowKey,\n pagination,\n isSync,\n title,\n actions,\n ...otherProps\n } = props;\n const screenType = fbaHooks.useResponsivePoint() || '';\n const asyncColumnRequestResultRef = useRef<{\n [dataIndex: string]: {\n respData?: TAny;\n loading?: boolean;\n };\n }>({});\n const [asyncColumnRequestResult, setAsyncColumnRequestResult] = useState<{\n [dataIndex: string]: {\n respData?: TAny;\n loading?: boolean;\n };\n }>({});\n\n const {\n columnFoldConfig,\n onCloseColumnFoldModal,\n columnFoldOpen,\n onOpenColumnFoldModal,\n asyncColumnRequest,\n showFoldKeyList,\n onChangeShowFoldKeyList,\n } = ctx.dynamicColumnsConfig;\n\n const {\n cacheKey,\n fieldNames,\n onRequest,\n tableDataSource,\n pageSize,\n tableTotal,\n loading,\n paginationFixed,\n onSetPaginationStatus,\n } = ctx;\n\n const cacheParams = filterCache.get(cacheKey);\n\n fbaHooks.useEffectCustom(() => {\n /** 获取初始化 columns 数据 */\n ctx.onSetBaseColumns(\n (props.columns || []) as TEasyTableTableColumn<TPlainObject>[]\n );\n }, []);\n\n useEffect(() => {\n if (asyncColumnRequest?.length) {\n for (let index = 0; index < asyncColumnRequest.length; index++) {\n const element = asyncColumnRequest[index];\n asyncColumnRequestResultRef.current = {\n ...asyncColumnRequestResultRef.current,\n [element.dataIndex]: { loading: true },\n };\n setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);\n element\n .onRequest()\n .then((respData) => {\n asyncColumnRequestResultRef.current = {\n ...asyncColumnRequestResultRef.current,\n [element.dataIndex]: { loading: false, respData },\n };\n setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);\n })\n .catch((error) => {\n console.error(error?.message);\n asyncColumnRequestResultRef.current = {\n ...asyncColumnRequestResultRef.current,\n [element.dataIndex]: { loading: false },\n };\n setAsyncColumnRequestResult(asyncColumnRequestResultRef.current);\n });\n }\n }\n }, [asyncColumnRequest]);\n\n const columnsOriginal = fbaHooks.useMemoCustom(() => {\n if (ctx.columns) {\n ctx.onSetColumns(ctx.columns);\n return ctx.columns as TEasyTableTableColumn<T>[];\n } else {\n ctx.onSetColumns(props.columns as TEasyTableTableColumn<TPlainObject>[]);\n return props.columns;\n }\n }, [ctx.columns, props.columns]);\n\n let columnsNew = useColumnsAppendTips({\n columns: [...columnsOriginal],\n });\n\n const foldColumnList = columnsOriginal.filter((item: TAny) => {\n return !item.hidden && item.isFold && item.dataIndex;\n });\n\n columnsNew = useColumnsAppendInnerColumn({\n cacheKey,\n columns: columnsNew,\n foldColumnList,\n showFoldKeyList,\n columnFoldConfig,\n onOpenColumnFoldModal,\n onChangeFoldColumnList: onChangeShowFoldKeyList,\n });\n\n columnsNew = useColumnsToHidden({\n columns: columnsNew,\n showFoldKeyList,\n });\n\n columnsNew = useColumnByAsyncColumnRequest({\n columns: columnsNew,\n asyncColumnRequestResult,\n });\n\n fbaHooks.useEffectCustom(() => {\n onSetPaginationStatus(pagination !== false);\n }, [pagination]);\n\n // 分页参数发生变更\n hooks.useUpdateEffect(() => {\n if (!paginationFixed) {\n if (pagination !== false) {\n onRequest({\n [fieldNames.pageSize]: cacheParams[fieldNames.pageSize] || pageSize,\n [fieldNames.pageNo]: 1,\n });\n } else {\n onRequest({\n [fieldNames.pageSize]: undefined,\n [fieldNames.pageNo]: undefined,\n });\n }\n }\n }, [pagination]);\n\n const tablePaginationData = useMemo(() => {\n if (paginationFixed || pagination === false) return false;\n return {\n showSizeChanger: true,\n current: cacheParams[fieldNames.pageNo] || 1,\n pageSize: cacheParams[fieldNames.pageSize] || pageSize,\n total: tableTotal,\n showTotal: (total) => `共 ${total} 条记录`,\n ...props.pagination,\n // selectComponentClass: SmallSelect,\n };\n }, [\n cacheParams,\n fieldNames.pageNo,\n fieldNames.pageSize,\n pageSize,\n pagination,\n paginationFixed,\n props.pagination,\n tableTotal,\n ]);\n\n const onChangePage: TableProps<TAny>['onChange'] = (\n pagination,\n filters,\n sorter,\n extra\n ) => {\n if (extra.action === 'paginate' && tablePaginationData) {\n onRequest({\n [fieldNames.pageSize]: pagination.pageSize,\n [fieldNames.pageNo]: pagination.current,\n });\n } else {\n props.onChange?.(pagination, filters, sorter, extra);\n }\n };\n\n const dataSource = useMemo(() => {\n if (!tableDataSource) return undefined;\n if (tableDataSource.length === 0) {\n return [];\n }\n if (\n typeof rowKey === 'string' &&\n isUndefinedOrNull(tableDataSource[0][rowKey])\n ) {\n return tableDataSource.map((item) => {\n item[rowKey] = getUuid();\n return item;\n });\n }\n return tableDataSource;\n }, [tableDataSource, rowKey]);\n\n columnsNew = useMemo(() => {\n return columnsNew.map((item) => {\n if (!!item.fixed && screenType === 'xs') {\n item.fixed = undefined;\n }\n if (!!item.defaultValue && !item.render) {\n item.render = (value) => {\n return isUndefinedOrNull(value) || value == ''\n ? item.defaultValue\n : value;\n };\n }\n return item;\n });\n }, [columnsNew, screenType]);\n\n const tableRender = () => {\n if (isSync && !dataSource) {\n return (\n <Fragment>\n <TitleRender title={title} actions={actions} />\n {children}\n <Table\n key=\"1\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n rowKey={rowKey as TAny}\n columns={columnsNew}\n loading={loading}\n />\n </Fragment>\n );\n }\n if (isMacEnv()) {\n return (\n <Fragment>\n <TitleRender title={title} actions={actions} />\n {children}\n <Table\n key=\"2\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columnsNew}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </Fragment>\n );\n }\n return (\n <Fragment>\n <TitleRender title={title} actions={actions} />\n {children}\n <TableScrollbar>\n <Table\n key=\"3\"\n size=\"small\"\n scroll={{ x: 'max-content' }}\n bordered\n {...otherProps}\n columns={columnsNew}\n pagination={tablePaginationData}\n rowKey={rowKey}\n onChange={onChangePage}\n loading={loading}\n dataSource={dataSource}\n />\n </TableScrollbar>\n </Fragment>\n );\n };\n\n return (\n <BlockLayout\n className={classNames(\n 'easy-table-table',\n { 'ett-empty-show-small': props.emptyShowSize === 'small' },\n props.tableWrapperClassName\n )}\n style={props.tableWrapperStyle}\n >\n {tableRender()}\n\n <FoldOperate\n dataList={foldColumnList as TAny[]}\n onClose={onCloseColumnFoldModal}\n open={columnFoldOpen}\n onChange={onChangeShowFoldKeyList}\n cacheKey={cacheKey}\n initSelectedRowKeys={showFoldKeyList}\n />\n </BlockLayout>\n );\n};\n","import { fbaUtils } from '../fba-utils/index.js';\nimport { firstQueryCache } from './cache.js';\nimport { EasyTable as EasyTableInner } from './easy-table.jsx';\nimport { EasyTableFilter } from './filter.jsx';\nimport { useEasyTable, useEasyTablRef } from './hooks.js';\nimport { EasyTableTable } from './table.jsx';\n\n/**\n * 对 查询条件+表格数据 进行深度封装,内置数据交互处理\n * ```\n * Demo https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table\n *\n * 1. 废弃modelKey参数\n * 2. 如果需要在路由跳转回退中缓存查询条件,设置cacheSwitch=true;如果存在多个EasyTable缓存情况可设置cacheSwitch为自定义字符串\n * 3. 需要获取查询条件、主动发起请求等可通过ref、useEasyTable操作\n * 4. 可通过属性 initRequest 设置初始化是否请求数据\n * 5. 可通过属性 fieldNames 来设置自定义变量,默认值为:list、total、pageNo、pageSize\n * 6. isFull=true,设置【在父节点高度下,上下铺满】(默认值:true)\n * 7. filterFixed=true,设置查询条件固定,不随滚动条滚动\n * 8. paginationFixed=true,可设置分页条件在底部固定,不随滚动条滚动\n * 9. foldKeys=string[],查询条件展开、收起,被收起数组内容为EasyTable.Filter 子节点key值\n * 10. windows环境下,会在EasyTable.Table外部包装一下 TableScrollbar,提高windows下table左右滚动体验\n * 11. 可实现部分字段折叠,手动选择显示,将EasyTable.Table columns中isFold属性设为true,可通过EasyTable columnFoldConfig配置属性,demo(https://fex.qa.tcshuke.com/docs/admin/main/crud/demo1)\n * 12. 通过asyncColumnRequest、asyncRender配合使用可实现表格列数据接口渲染(demo:https://fex.qa.tcshuke.com/docs/admin/main/crud/easy-table)\n * ```\n */\nexport const EasyTable = fbaUtils.attachPropertiesToComponent(EasyTableInner, {\n /**\n * 过滤条件\n *```\n * 1. 用法1\n * -- 默认网格布局 规则:{ xs: 24, sm: 12, md: 12, lg: 8, xl: 8, xxl: 6 }\n * <EasyTable.Filter>\n * <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * </EasyTable.Filter>\n *\n * -- 自定义网格布局 使用 FormGrid.Col 组件包装 FormItemWrapper\n * <EasyTable.Filter>\n * <FormGrid.Col span={12}><FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper></FormGrid.Col>\n * </EasyTable.Filter>\n *\n * -- children 可为 function\n * <EasyTable.Filter>\n * {(form) => {\n * return <FormItemWrapper name=\"field1\" label=\"条件1\">xxx</FormItemWrapper>\n * }}\n * </EasyTable.Filter>\n * 2. 用户2(自定义布局)\n * EasyTable.Filter设置 isPure = true,FormItem无布局规则\n * 3. EasyTable.Filter中内置了 Form 标签,当children为函数时,可获取form实例\n * 4. 默认布局下,可通过设置 filterOperate 设置操作按钮\n * 5. Filter 子节点包含 hidden = true 会被忽略\n * 6. 如果想隐藏【查询、重置】按钮中的某一个,可设置 queryButtonProps.hidden、resetButtonProps.hidden\n * 7. EasyTableFilter 子节点可使用 FormItemWrapper,FormItemWrapper中可配置label宽度等\n * 8. 通过easyFormProps属性可整体控制子节点FormItem布局\n *```\n */\n Filter: EasyTableFilter,\n /**\n * 表格渲染\n * @param props\n * ```\n * 1. 继承了 TableProps 可设置antd table功能\n * 2. 分页功能已内置处理,不调用 onChange\n * ```\n */\n Table: EasyTableTable,\n /**\n * @deprecated 已过时 4.3.0版本移除,请使用 useEasyTable\n */\n useEasyTablRef: useEasyTablRef,\n\n /** 在 EasyTable子组件内才可使用 */\n useEasyTable: useEasyTable,\n /** 设置启用初始化请求 */\n setEnabledInitRequest: (cacheKey: string) => {\n firstQueryCache.set(cacheKey, false);\n },\n});\n"],"names":["filterCache","set","cacheKey","filterCondition","value","get","mergeParams","_objectSpread","sessionStorageCache","concat","_isObject","remove","firstQueryCache","flag","_sessionStorageCache$","columnFoldCache","localStorageCache","_localStorageCache$ge","_isArray","EasyTableContext","createContext","onRequest","noop","tableList","getEasyTableRef","FoldOperateDropdown","props","_useState","useState","initSelectedRowKeys","_useState2","_slicedToArray","selectedRowKeys","setSelectedRowKeys","onChange","keys","content","_jsx","Fragment","children","Checkbox","Group","defaultValue","style","display","flexDirection","dataList","map","item","label","title","dataIndex","padding","onChangeAll","e","target","checked","Popover","length","placement","overlayClassName","EasyTable","forwardRef","ref","_props$initialPaginat","screenType","fbaHooks","useResponsivePoint","dataSource","setDataSource","_useState3","_useState4","total","setTotal","_useState5","_useState6","loading","setLoading","columnFoldConfig","asyncColumnRequest","_useState7","_useState8","columnFoldOpen","setColumnFoldOpen","useMemo","iframe","window","frameElement","iframeId","id","_error","cacheSwitch","location","pathname","Date","now","getUuid","cacheParams","_useState9","columnFoldCacheValue","cacheKeyList","filter","_isString","initSelectedKeys","_useState0","showFoldKeyList","setShowFoldKeyList","pageSize","initialPaginationParams","initRequest","undefined","paginationStatusRef","useRef","respOriginalDataRef","baseColumnsRef","_useState1","_useState10","dynamicColumns","setDynamicColumns","columnsRef","fieldNames","list","pageNo","_Form$useForm","Form","useForm","form","_Form$useForm2","onInnerRequest","_hooks","useCallbackRef","params","Promise","$return","$error","_props$onDataSourceCh","paramsAll","_props$serviceConfig","requestParamsAdapter","requestResultAdapter","dynamicColumsAdapter","paramsNew","respData","respDataNew","_dynamicColumns","respList","$Try_2_Post","$boundEx","$Try_2_Catch","error","onRequestErrorHandle","message","breforeRequest","$Try_3_Post","$If_4","call","bind","$Try_3_Catch","resolve","then","$await_5","serviceConfig","fbaUtils","removeFormValuesInvalidField","$await_6","current","onDataSourceChange","_get","useEffectCustom","hasPagination","getPaginationStatus","firstQueryFlag","setFieldsValue","initialValues","_defineProperty","clearQueryCondition","values","resetFields","updateQueryCondition","getPaginationData","_pageSize","onResetRequest","getRequestParams","getFieldsValue","onOpenColumnFoldModal","onCloseColumnFoldModal","getDataSource","onFilterDataSource","filterDataSource","onClearDataSource","onUpdateDataSource","_props$onDataSourceCh2","columnFoldTriggerRender","columns","_props$columnFoldConf","triggerType","cloneElement","onClick","foldColumnList","hidden","isFold","onChangeFoldColumnList","onChangeTableColumns","getTableColumns","setEnabledInitRequest","useImperativeHandle","onSetPaginationStatus","status","onSetBaseColumns","base","onSetColumns","onFormFinish","isFull","_isUndefined","filterFixedFt","filterFixed","className","_classNames","paginationFixed","paginationData","useMemoCustom","showSizeChanger","showTotal","pagination","keyList","_columnFoldConfig$onC","page","_props$pagination","_props$pagination$onC","useUpdateEffect","wrapperClassName","isInline","wrapperStyle","overflowY","Provider","tableDataSource","tableTotal","foldKeys","dynamicColumnsConfig","onChangeShowFoldKeyList","_jsxs","PaginationWrapper","size","EasyTableFilter","ctx","useContext","queryButtonProps","resetButtonProps","filterOperate","_props$formClassName","formClassName","defaultResetButtonTriggerRequest","filterWrapperStyle","filterWrapperClassName","rightOperateAreaAppendType","easyFormProps","rightOperateAreaAppendTypeFt","childrens","isFragment","Children","toArray","openFold","setOpenFold","onReset","validateFields","$await_2","$If_1","formRowChildren","defaultRightList","ButtonWrapper","type","htmlType","loadingPosition","text","Boolean","customFormOperateCol","customRightList","rightList","leftList","_toConsumableArray","changeFolditem","_UpOutlined","marginLeft","fontSize","_DownOutlined","push","index","find","keyItem","key","FormGrid","Col","OperateCol","labelAlign","BlockLayout","EasyForm","autoComplete","onFinish","formStyle","isPure","labelWidth","formItemGap","Row","gutter","gridSize","formGridSize","useEasyTable","useEasyTablRef","FoldOperate","rowSelection","render","recrd","Drawer","open","onClose","width","styles","body","Table","bordered","rowKey","scroll","x","useColumnsAppendTips","tempList","tooltip","tipsWrapperProps","otherProps","_objectWithoutProperties","_excluded","TipsWrapper","tipType","popoverProps","TableTitleTooltip","useColumnsAppendInnerColumn","columnsNew","finalItem","foldColumnTarget","_props$columnFoldConf2","_props$columnFoldConf3","_props$columnFoldConf4","_props$columnFoldConf5","_props$columnFoldConf6","_props$columnFoldConf7","FlexLayout","direction","fullIndex","alignItems","IconWrapper","icon","SvgHttpView","svgPath","color","hoverTips","hoverTipText","margin","useColumnsToHidden","includes","useColumnByAsyncColumnRequest","Object","asyncColumnRequestResult","result","removeGap","asyncRender","record","_item$asyncRender","TitleRender","_props$actions","actions","marginBottom","fontWeight","Space","EasyTableTable","isSync","asyncColumnRequestResultRef","setAsyncColumnRequestResult","_ctx$dynamicColumnsCo","useEffect","_loop","element","catch","console","columnsOriginal","tablePaginationData","onChangePage","filters","sorter","extra","action","_props$onChange","isUndefinedOrNull","fixed","tableRender","isMacEnv","TableScrollbar","emptyShowSize","tableWrapperClassName","tableWrapperStyle","attachPropertiesToComponent","EasyTableInner","Filter"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -843,13 +843,17 @@ export type CheckboxWrapperProps = Omit<CheckboxProps, "checked" | "defaultCheck
843
843
  */
844
844
  export declare const CheckboxWrapper: (props: CheckboxWrapperProps) => import("react").JSX.Element;
845
845
  export type CodeRenderProps = {
846
- code?: string;
846
+ code?: string | string[];
847
847
  className?: string;
848
848
  style?: CSSProperties;
849
+ /** 是否换行,默认值:true */
850
+ wrap?: boolean;
851
+ size?: "small" | "default";
849
852
  };
850
853
  /**
851
854
  * 代码、json格式化渲染
852
855
  * ```
856
+ * 1. wrap 是否换行,默认值:true
853
857
  * 例如:
854
858
  * // json数据渲染
855
859
  * <CodeWrapper code={JSON.stringify(data, null, 2)}/>
@@ -872,7 +876,7 @@ return results;
872
876
  * ```
873
877
  *
874
878
  */
875
- export declare const CodeRender: (props: CodeRenderProps) => import("react").JSX.Element;
879
+ export declare const CodeRender: (props: CodeRenderProps) => import("react").JSX.Element | null;
876
880
  export type ColorPickerWrapperProps = Omit<ColorPickerProps, "value" | "onChange"> & {
877
881
  /** 格式:#1677ff */
878
882
  value?: string;
@@ -1500,7 +1504,7 @@ export type DragCollapseFormListProps = {
1500
1504
  /** 手风琴模式,只允许单个内容区域展开 */
1501
1505
  accordion?: boolean;
1502
1506
  /** 当前激活 tab 面板的key */
1503
- activeKey?: number | number[];
1507
+ activeKey?: (string | number)[];
1504
1508
  /** 所有子面板是否可折叠或指定可折叠触发区域,可选: header | icon | disabled */
1505
1509
  collapsible?: CollapseProps["collapsible"];
1506
1510
  /** 初始化选中面板的 key */
@@ -5037,6 +5041,8 @@ export interface ISearchMenuProps {
5037
5041
  wrapStyle?: CSSProperties;
5038
5042
  style?: CSSProperties;
5039
5043
  searchStyle?: CSSProperties;
5044
+ /** 搜索框自动聚焦 */
5045
+ searchAutoFocus?: boolean;
5040
5046
  /** 是否显示搜索区域 */
5041
5047
  showSearch?: boolean;
5042
5048
  }
package/dist/index.js CHANGED
@@ -156,7 +156,7 @@ export { C as CardWrapper } from './card-wrapper-C8YADYlW.js';
156
156
  export { C as CascaderWrapper } from './cascader-wrapper-CMYrmR6L.js';
157
157
  export { CheckList } from './check-list/index.js';
158
158
  export { C as CheckboxWrapper } from './checkbox-wrapper-BOIS5kIz.js';
159
- export { C as CodeRender } from './code-D9xbvmEX.js';
159
+ export { C as CodeRender } from './code-6OasUxQG.js';
160
160
  export { C as ColorPickerWrapper } from './color-picker-D8Tiiut0.js';
161
161
  export { C as ConfigProviderWrapper } from './config-provider-wrapper-C72dPUJZ.js';
162
162
  export { C as CopyWrapper } from './copy-BSlIwnwz.js';
@@ -238,7 +238,7 @@ export { R as RollLocationCenter } from './center-DgQUmnwe.js';
238
238
  export { R as RollLocationInView } from './in-view-XeG6cIRO.js';
239
239
  export { R as RuleDescribe } from './rule-describe-BkkX7ukt.js';
240
240
  export { S as SearchForm } from './search-BbKmdP-9.js';
241
- export { S as SearchMenu } from './search-menu-N7nz0XoH.js';
241
+ export { S as SearchMenu } from './search-menu-BEAe3rD_.js';
242
242
  export { S as SelectorWrapper } from './selector-wrapper-B5PUm15M.js';
243
243
  export { S as SelectorWrapperSearch } from './selector-wrapper-search-BMyOMlZl.js';
244
244
  export { S as SelectorWrapperSimple } from './selector-wrapper-simple-Vbt4cYNm.js';
@@ -63,7 +63,6 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
63
63
  loading = _useState6[0],
64
64
  setLoading = _useState6[1];
65
65
  var errorRef = useRef();
66
- var hiddenRequiredErrorRenderRef = useRef(true);
67
66
  var prevParams = fbaHooks.usePrevious(serviceConfig.params);
68
67
  var loadingSpinContent = getValueOrDefault(loadingSpinProps === null || loadingSpinProps === void 0 ? void 0 : loadingSpinProps.content, /*#__PURE__*/jsx("span", {}));
69
68
  var loadingSpinBgColor = getValueOrDefault(loadingSpinProps === null || loadingSpinProps === void 0 ? void 0 : loadingSpinProps.bgColor, 'rgba(0,0,0,0.01)');
@@ -129,7 +128,6 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
129
128
  console.error(error);
130
129
  setStatus('error');
131
130
  errorRef.current = error.message;
132
- hiddenRequiredErrorRenderRef.current = false;
133
131
  return $Try_1_Finally($Try_1_Post)();
134
132
  } catch ($boundEx) {
135
133
  return $Try_1_Finally($error)($boundEx);
@@ -143,7 +141,6 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
143
141
  _respData = $await_3;
144
142
  setStatus('success');
145
143
  setRespData(_respData);
146
- hiddenRequiredErrorRenderRef.current = false;
147
144
  return $Try_1_Finally($Try_1_Post)();
148
145
  } catch ($boundEx) {
149
146
  return $Try_1_Catch($boundEx);
@@ -189,7 +186,7 @@ var LocalLoadingInner = /*#__PURE__*/forwardRef(function (props, ref) {
189
186
  };
190
187
  });
191
188
  if (!completeResult.complete) {
192
- if (hiddenRequiredErrorRenderRef.current || !showRequiredError) {
189
+ if (!showRequiredError) {
193
190
  return /*#__PURE__*/jsx(Fragment, {});
194
191
  }
195
192
  return /*#__PURE__*/jsx(LocalLoadingCtxProvider, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/local-loading/context.ts","@flatbiz/antd/src/local-loading/local-loading.tsx","@flatbiz/antd/src/local-loading/index.ts"],"sourcesContent":["import type { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useLocalLoadingCtx, LocalLoadingCtxProvider] = createCtx<{\n onRequest: (params?: TPlainObject) => void;\n}>();\n","import type { CSSProperties, ReactElement } from 'react';\nimport {\n forwardRef,\n Fragment,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Button, Result, Spin } from 'antd';\nimport { isDeepEqual } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { getValueOrDefault, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { LocalLoadingCtxProvider } from './context.js';\nimport './style.less';\n\nexport type LocalLoadingServiceConfig = {\n onRequest: (params?: TAny) => Promise<TAny>;\n params?: TPlainObject;\n /** 标记serviceConfig.params中无效参数,被设置的params key 不传入服务接口入参 */\n invalidParamKey?: string[];\n /** 必填字段设置 */\n requiredParamsKeys?: string[];\n};\n\nexport interface LocalLoadingProps {\n className?: string;\n style?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 接口数据配置 */\n serviceConfig: LocalLoadingServiceConfig;\n /** children 为函数,参数【respData】为接口返回数据 */\n children: (respData?: TAny) => ReactElement;\n /**\n * 是否异步,默认:false\n * ```\n * true(异步):onRequest、react dom渲染同步执行\n * false(同步):onRequest有结果了才渲染 react dom\n * ```\n */\n isAsync?: boolean;\n /** loading高度,默认值:100;isAsync = true 无效 */\n loadingHeight?: number | string;\n /** loading spin 属性设置 */\n loadingSpinProps?: {\n /** loading tip,默认值:Loading */\n tip?: string;\n /** loading 内容 */\n content?: ReactElement;\n /** 背景色,默认值:rgba(0,0,0,0.01) */\n bgColor?: string;\n };\n textConfigs?: {\n /** 必填异常文本 */\n requiredErrorText?: string;\n };\n /** 是否显示必填异常 */\n showRequiredError?: boolean;\n /** 自定义异常渲染处理 */\n errorRender?: (error?: TAny) => ReactElement;\n /** 设置内部滚动,需要设置 style.height 才能生效,@5.0.16 */\n contentScroll?: boolean;\n /** 设置高度 */\n height?: number | string;\n}\n\nexport type LocalLoadingRefApi = {\n onRefresh: (params?: TPlainObject) => void;\n};\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)\n * ```\n */\nexport const LocalLoadingInner = forwardRef<\n LocalLoadingRefApi,\n LocalLoadingProps\n>((props, ref) => {\n const {\n serviceConfig,\n isAsync,\n children,\n errorRender,\n loadingSpinProps,\n textConfigs,\n showRequiredError,\n contentScroll,\n contentStyle,\n height,\n } = props;\n const [status, setStatus] = useState<\n 'success' | 'error' | 'required_error' | 'init'\n >('init');\n const [respData, setRespData] = useState<TAny>();\n const loadingHeight =\n props.loadingHeight === undefined ? 100 : props.loadingHeight;\n const [loading, setLoading] = useState<boolean>(false);\n const errorRef = useRef<string>();\n const hiddenRequiredErrorRenderRef = useRef(true);\n\n const prevParams = fbaHooks.usePrevious(serviceConfig.params);\n\n const loadingSpinContent = getValueOrDefault(\n loadingSpinProps?.content,\n <span />\n );\n const loadingSpinBgColor = getValueOrDefault(\n loadingSpinProps?.bgColor,\n 'rgba(0,0,0,0.01)'\n );\n const loadingSpinTip = getValueOrDefault(loadingSpinProps?.tip, 'Loading');\n\n const requiredErrorText = textConfigs?.requiredErrorText;\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (\n !serviceConfig.params ||\n toArray(serviceConfig.invalidParamKey).length === 0\n ) {\n return serviceConfig.params;\n }\n const newParams = { ...serviceConfig.params };\n serviceConfig.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig]);\n\n // 判断必要参数是否完整\n const validateRequiredParamsComplete = hooks.useCallbackRef(\n (params?: TPlainObject) => {\n const keys = serviceConfig?.requiredParamsKeys;\n if (keys?.length) {\n const target = keys.find((item) => {\n return isUndefinedOrNull(params?.[item]);\n });\n if (target) {\n return {\n complete: false,\n message:\n requiredErrorText ||\n `LocalLoading渲染缺少必填参数:${keys.join('、')}`,\n };\n }\n }\n return { complete: true };\n }\n );\n\n const completeResult = useMemo(() => {\n return validateRequiredParamsComplete(serviceConfig.params);\n }, [validateRequiredParamsComplete, serviceConfig.params]);\n\n const onInitRequest = async (params?: TPlainObject) => {\n try {\n const mergeProps = { ...serviceParams, ...params };\n setLoading(true);\n const respData = await serviceConfig.onRequest(mergeProps);\n setStatus('success');\n setRespData(respData);\n hiddenRequiredErrorRenderRef.current = false;\n } catch (error: TAny) {\n console.error(error);\n setStatus('error');\n errorRef.current = error.message;\n hiddenRequiredErrorRenderRef.current = false;\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (completeResult.complete) {\n await onInitRequest();\n }\n }, []);\n\n fbaHooks.useEffectCustom(() => {\n if (completeResult.complete) {\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n if (status === 'error') {\n setStatus('init');\n }\n void onInitRequest();\n }\n }\n }\n }, [prevParams, serviceConfig.params]);\n\n useImperativeHandle(ref, () => {\n return { onRefresh: onInitRequest };\n });\n\n if (!completeResult.complete) {\n if (hiddenRequiredErrorRenderRef.current || !showRequiredError) {\n return <Fragment />;\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result status=\"error\" subTitle={completeResult.message} />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status === 'error') {\n if (errorRender) {\n return errorRender({ message: errorRef.current });\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result\n status=\"error\"\n subTitle={errorRef.current || '数据处理异常'}\n extra={[\n <Button\n type=\"primary\"\n ghost\n key=\"console\"\n size=\"small\"\n onClick={() => {\n setStatus('init');\n void onInitRequest();\n }}\n >\n 重新获取\n </Button>,\n ]}\n />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status !== 'success' && !isAsync) {\n return (\n <div\n className={classNames('fba-local-loading-process', props.className)}\n style={{\n height: loadingHeight,\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n backgroundColor: 'var(--block-bg-color)',\n }}\n >\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n </div>\n );\n }\n\n const className = classNames(\n 'fba-local-loading',\n { 'fll-content-scroll': contentScroll },\n props.className\n );\n\n const rootStyle = { height, ...props.style };\n\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={className} style={rootStyle}>\n {loading ? (\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n ) : null}\n <div className=\"local-loading-content\" style={contentStyle}>\n {children(respData)}\n </div>\n </div>\n </LocalLoadingCtxProvider>\n );\n});\n","import type { TPlainObject } from '@flatbiz/utils';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { useLocalLoadingCtx } from './context.js';\nimport { LocalLoadingInner } from './local-loading.jsx';\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)\n * ```\n */\nexport const LocalLoading = fbaUtils.attachPropertiesToComponent(\n LocalLoadingInner,\n {\n useLocalLoading: () => {\n const ctx = useLocalLoadingCtx();\n return {\n onRequest: (params?: TPlainObject) => {\n ctx.onRequest(params);\n },\n };\n },\n }\n);\n"],"names":["_createCtx","_createCtx3","_createCtx2","_slicedToArray","useLocalLoadingCtx","LocalLoadingCtxProvider","LocalLoadingInner","forwardRef","props","ref","serviceConfig","isAsync","children","errorRender","loadingSpinProps","textConfigs","showRequiredError","contentScroll","contentStyle","height","_useState","useState","_useState2","status","setStatus","_useState3","_useState4","respData","setRespData","loadingHeight","undefined","_useState5","_useState6","loading","setLoading","errorRef","useRef","hiddenRequiredErrorRenderRef","prevParams","fbaHooks","usePrevious","params","loadingSpinContent","getValueOrDefault","content","_jsx","loadingSpinBgColor","bgColor","loadingSpinTip","tip","requiredErrorText","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_objectSpread","forEach","key","validateRequiredParamsComplete","_hooks","useCallbackRef","keys","requiredParamsKeys","target","find","item","isUndefinedOrNull","complete","message","concat","join","completeResult","onInitRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","$boundEx","bind","mergeProps","_respData","$Try_1_Post","$Try_1_Catch","error","console","current","resolve","onRequest","then","$await_3","useEffectCustomAsync","$await_4","$If_2","useEffectCustom","_isDeepEqual","useImperativeHandle","onRefresh","Fragment","value","_jsxs","className","_classNames","Result","subTitle","extra","Button","type","ghost","size","onClick","style","display","justifyContent","position","backgroundColor","Spin","spinning","wrapperClassName","rootStyle","LocalLoading","fbaUtils","attachPropertiesToComponent","useLocalLoading","ctx"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["@flatbiz/antd/src/local-loading/context.ts","@flatbiz/antd/src/local-loading/local-loading.tsx","@flatbiz/antd/src/local-loading/index.ts"],"sourcesContent":["import type { TPlainObject } from '@flatbiz/utils';\nimport { createCtx } from '@wove/react';\n\nexport const [useLocalLoadingCtx, LocalLoadingCtxProvider] = createCtx<{\n onRequest: (params?: TPlainObject) => void;\n}>();\n","import type { CSSProperties, ReactElement } from 'react';\nimport {\n forwardRef,\n Fragment,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Button, Result, Spin } from 'antd';\nimport { isDeepEqual } from '@dimjs/lang';\nimport { classNames } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { getValueOrDefault, isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { LocalLoadingCtxProvider } from './context.js';\nimport './style.less';\n\nexport type LocalLoadingServiceConfig = {\n onRequest: (params?: TAny) => Promise<TAny>;\n params?: TPlainObject;\n /** 标记serviceConfig.params中无效参数,被设置的params key 不传入服务接口入参 */\n invalidParamKey?: string[];\n /** 必填字段设置 */\n requiredParamsKeys?: string[];\n};\n\nexport interface LocalLoadingProps {\n className?: string;\n style?: CSSProperties;\n contentStyle?: CSSProperties;\n /** 接口数据配置 */\n serviceConfig: LocalLoadingServiceConfig;\n /** children 为函数,参数【respData】为接口返回数据 */\n children: (respData?: TAny) => ReactElement;\n /**\n * 是否异步,默认:false\n * ```\n * true(异步):onRequest、react dom渲染同步执行\n * false(同步):onRequest有结果了才渲染 react dom\n * ```\n */\n isAsync?: boolean;\n /** loading高度,默认值:100;isAsync = true 无效 */\n loadingHeight?: number | string;\n /** loading spin 属性设置 */\n loadingSpinProps?: {\n /** loading tip,默认值:Loading */\n tip?: string;\n /** loading 内容 */\n content?: ReactElement;\n /** 背景色,默认值:rgba(0,0,0,0.01) */\n bgColor?: string;\n };\n textConfigs?: {\n /** 必填异常文本 */\n requiredErrorText?: string;\n };\n /** 是否显示必填异常 */\n showRequiredError?: boolean;\n /** 自定义异常渲染处理 */\n errorRender?: (error?: TAny) => ReactElement;\n /** 设置内部滚动,需要设置 style.height 才能生效,@5.0.16 */\n contentScroll?: boolean;\n /** 设置高度 */\n height?: number | string;\n}\n\nexport type LocalLoadingRefApi = {\n onRefresh: (params?: TPlainObject) => void;\n};\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)\n * ```\n */\nexport const LocalLoadingInner = forwardRef<\n LocalLoadingRefApi,\n LocalLoadingProps\n>((props, ref) => {\n const {\n serviceConfig,\n isAsync,\n children,\n errorRender,\n loadingSpinProps,\n textConfigs,\n showRequiredError,\n contentScroll,\n contentStyle,\n height,\n } = props;\n const [status, setStatus] = useState<\n 'success' | 'error' | 'required_error' | 'init'\n >('init');\n const [respData, setRespData] = useState<TAny>();\n const loadingHeight =\n props.loadingHeight === undefined ? 100 : props.loadingHeight;\n const [loading, setLoading] = useState<boolean>(false);\n const errorRef = useRef<string>();\n\n const prevParams = fbaHooks.usePrevious(serviceConfig.params);\n\n const loadingSpinContent = getValueOrDefault(\n loadingSpinProps?.content,\n <span />\n );\n const loadingSpinBgColor = getValueOrDefault(\n loadingSpinProps?.bgColor,\n 'rgba(0,0,0,0.01)'\n );\n const loadingSpinTip = getValueOrDefault(loadingSpinProps?.tip, 'Loading');\n\n const requiredErrorText = textConfigs?.requiredErrorText;\n\n // 用于直接发起接口调用,不能用于比较\n const serviceParams = useMemo(() => {\n if (\n !serviceConfig.params ||\n toArray(serviceConfig.invalidParamKey).length === 0\n ) {\n return serviceConfig.params;\n }\n const newParams = { ...serviceConfig.params };\n serviceConfig.invalidParamKey?.forEach((key) => {\n newParams[key] = undefined;\n });\n return newParams;\n }, [serviceConfig]);\n\n // 判断必要参数是否完整\n const validateRequiredParamsComplete = hooks.useCallbackRef(\n (params?: TPlainObject) => {\n const keys = serviceConfig?.requiredParamsKeys;\n if (keys?.length) {\n const target = keys.find((item) => {\n return isUndefinedOrNull(params?.[item]);\n });\n if (target) {\n return {\n complete: false,\n message:\n requiredErrorText ||\n `LocalLoading渲染缺少必填参数:${keys.join('、')}`,\n };\n }\n }\n return { complete: true };\n }\n );\n\n const completeResult = useMemo(() => {\n return validateRequiredParamsComplete(serviceConfig.params);\n }, [validateRequiredParamsComplete, serviceConfig.params]);\n\n const onInitRequest = async (params?: TPlainObject) => {\n try {\n const mergeProps = { ...serviceParams, ...params };\n setLoading(true);\n const respData = await serviceConfig.onRequest(mergeProps);\n setStatus('success');\n setRespData(respData);\n } catch (error: TAny) {\n console.error(error);\n setStatus('error');\n errorRef.current = error.message;\n } finally {\n setLoading(false);\n }\n };\n\n fbaHooks.useEffectCustomAsync(async () => {\n if (completeResult.complete) {\n await onInitRequest();\n }\n }, []);\n\n fbaHooks.useEffectCustom(() => {\n if (completeResult.complete) {\n if (prevParams) {\n if (!isDeepEqual(serviceConfig.params, prevParams)) {\n if (status === 'error') {\n setStatus('init');\n }\n void onInitRequest();\n }\n }\n }\n }, [prevParams, serviceConfig.params]);\n\n useImperativeHandle(ref, () => {\n return { onRefresh: onInitRequest };\n });\n\n if (!completeResult.complete) {\n if (!showRequiredError) {\n return <Fragment />;\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result status=\"error\" subTitle={completeResult.message} />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status === 'error') {\n if (errorRender) {\n return errorRender({ message: errorRef.current });\n }\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={classNames('local-loading-error', props.className)}>\n <div className=\"local-loading-area\"></div>\n <Result\n status=\"error\"\n subTitle={errorRef.current || '数据处理异常'}\n extra={[\n <Button\n type=\"primary\"\n ghost\n key=\"console\"\n size=\"small\"\n onClick={() => {\n setStatus('init');\n void onInitRequest();\n }}\n >\n 重新获取\n </Button>,\n ]}\n />\n </div>\n </LocalLoadingCtxProvider>\n );\n }\n\n if (status !== 'success' && !isAsync) {\n return (\n <div\n className={classNames('fba-local-loading-process', props.className)}\n style={{\n height: loadingHeight,\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n backgroundColor: 'var(--block-bg-color)',\n }}\n >\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n </div>\n );\n }\n\n const className = classNames(\n 'fba-local-loading',\n { 'fll-content-scroll': contentScroll },\n props.className\n );\n\n const rootStyle = { height, ...props.style };\n\n return (\n <LocalLoadingCtxProvider value={{ onRequest: onInitRequest }}>\n <div className={className} style={rootStyle}>\n {loading ? (\n <Spin\n spinning={loading}\n tip={loadingSpinTip}\n wrapperClassName=\"local-loading-spin-wrapper\"\n className=\"local-loading-spin\"\n style={\n {\n '--local-loading-spin-bgColor': loadingSpinBgColor,\n } as CSSProperties\n }\n >\n {loadingSpinContent}\n </Spin>\n ) : null}\n <div className=\"local-loading-content\" style={contentStyle}>\n {children(respData)}\n </div>\n </div>\n </LocalLoadingCtxProvider>\n );\n});\n","import type { TPlainObject } from '@flatbiz/utils';\nimport { fbaUtils } from '../fba-utils/fba-utils.js';\nimport { useLocalLoadingCtx } from './context.js';\nimport { LocalLoadingInner } from './local-loading.jsx';\n\n/**\n * 局部加载,包含接口数据处理逻辑\n * ```\n * 包括\n * 1. loading显示效果、error显示效果、获取服务数据\n * 2. 当 serviceConfig.params 值与上一次值不相等时,会主动发起服务调用\n * 3. 通过 serviceConfig.requiredParamsKeys 设置服务调用必填字段\n * 4. 通过 ref.onRequest 可主动发起服务调用\n * 5. 子组件通过下面方式主动发起服务调用\n * const localLoadingApi = LocalLoading.useLocalLoading();\n * localLoadingApi.onRequest();\n * 6. 如果内部需要滚动条,可设置 contentScroll = true (外部有高度或者设置style.height 才能生效)\n * ```\n */\nexport const LocalLoading = fbaUtils.attachPropertiesToComponent(\n LocalLoadingInner,\n {\n useLocalLoading: () => {\n const ctx = useLocalLoadingCtx();\n return {\n onRequest: (params?: TPlainObject) => {\n ctx.onRequest(params);\n },\n };\n },\n }\n);\n"],"names":["_createCtx","_createCtx3","_createCtx2","_slicedToArray","useLocalLoadingCtx","LocalLoadingCtxProvider","LocalLoadingInner","forwardRef","props","ref","serviceConfig","isAsync","children","errorRender","loadingSpinProps","textConfigs","showRequiredError","contentScroll","contentStyle","height","_useState","useState","_useState2","status","setStatus","_useState3","_useState4","respData","setRespData","loadingHeight","undefined","_useState5","_useState6","loading","setLoading","errorRef","useRef","prevParams","fbaHooks","usePrevious","params","loadingSpinContent","getValueOrDefault","content","_jsx","loadingSpinBgColor","bgColor","loadingSpinTip","tip","requiredErrorText","serviceParams","useMemo","_serviceConfig$invali","toArray","invalidParamKey","length","newParams","_objectSpread","forEach","key","validateRequiredParamsComplete","_hooks","useCallbackRef","keys","requiredParamsKeys","target","find","item","isUndefinedOrNull","complete","message","concat","join","completeResult","onInitRequest","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","call","$boundEx","bind","mergeProps","_respData","$Try_1_Post","$Try_1_Catch","error","console","current","resolve","onRequest","then","$await_3","useEffectCustomAsync","$await_4","$If_2","useEffectCustom","_isDeepEqual","useImperativeHandle","onRefresh","Fragment","value","_jsxs","className","_classNames","Result","subTitle","extra","Button","type","ghost","size","onClick","style","display","justifyContent","position","backgroundColor","Spin","spinning","wrapperClassName","rootStyle","LocalLoading","fbaUtils","attachPropertiesToComponent","useLocalLoading","ctx"],"mappings":"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"}
@@ -33,6 +33,8 @@ export interface ISearchMenuProps {
33
33
  wrapStyle?: CSSProperties;
34
34
  style?: CSSProperties;
35
35
  searchStyle?: CSSProperties;
36
+ /** 搜索框自动聚焦 */
37
+ searchAutoFocus?: boolean;
36
38
  /** 是否显示搜索区域 */
37
39
  showSearch?: boolean;
38
40
  }
@@ -5,7 +5,7 @@ import './../roll-location-center/index.css';
5
5
  import './index.css';
6
6
  /*! @flatjs/forge MIT @flatbiz/antd */
7
7
 
8
- export { S as SearchMenu } from '../search-menu-N7nz0XoH.js';
8
+ export { S as SearchMenu } from '../search-menu-BEAe3rD_.js';
9
9
  import '@dimjs/utils/class-names/class-names';
10
10
  import '@wove/react/hooks';
11
11
  import '../_rollupPluginBabelHelpers-BspM60Sw.js';
@@ -69,6 +69,7 @@ function SearchMenu(props) {
69
69
  searchStyle = props.searchStyle,
70
70
  emptyView = props.emptyView,
71
71
  showSearch = props.showSearch,
72
+ searchAutoFocus = props.searchAutoFocus,
72
73
  size = props.size;
73
74
  var _useState = useState([]),
74
75
  _useState2 = _slicedToArray(_useState, 2),
@@ -152,7 +153,8 @@ function SearchMenu(props) {
152
153
  onSearch: lazySearch ? handleSearch : undefined,
153
154
  onChange: !lazySearch ? handleWordChange : undefined,
154
155
  placeholder: placeholder || '请输入搜索关键词',
155
- allowClear: true
156
+ allowClear: true,
157
+ autoFocus: searchAutoFocus
156
158
  }), !!props.searchExtraElement && /*#__PURE__*/jsx("div", {
157
159
  className: "v-search-menu-search-extra",
158
160
  children: props.searchExtraElement
@@ -168,4 +170,4 @@ function SearchMenu(props) {
168
170
  }
169
171
 
170
172
  export { SearchMenu as S };
171
- //# sourceMappingURL=search-menu-N7nz0XoH.js.map
173
+ //# sourceMappingURL=search-menu-BEAe3rD_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-menu-BEAe3rD_.js","sources":["@flatbiz/antd/src/search-menu/list-view/index.tsx","@flatbiz/antd/src/search-menu/search-menu.tsx"],"sourcesContent":["import { type CSSProperties, type FC, type ReactElement } from 'react';\nimport { Empty } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport { RollLocationCenter } from '../../roll-location-center/index.js';\nimport { type IListViewItem } from '../type.js';\nimport './style.less';\n\nexport interface IListViewProps {\n dataList: IListViewItem[];\n value?: string;\n onChange?: (key: string, item: IListViewItem) => void;\n style?: CSSProperties;\n /** 自定义空数据提示 */\n emptyView?: ReactElement;\n}\n\n/**\n * 搜索列表\n * @param props\n * @returns search menu list view\n */\nexport const ListView: FC<IListViewProps> = (props) => {\n const { value, dataList, onChange, style, emptyView } = props;\n // 数据判空提示\n if (!dataList?.length) {\n return emptyView ? (\n <>{emptyView}</>\n ) : (\n <Empty\n style={{\n marginTop: '40px',\n }}\n description=\"暂无数据\"\n />\n );\n }\n\n return (\n <ul className=\"v-search-menu-list-view\" style={style}>\n <RollLocationCenter\n activeKey={props.value}\n renderList={dataList.map((item) => {\n return {\n activeKey: item.key,\n render: (\n <li\n className={classNames('v-search-menu-list-view-item', {\n 'v-search-menu-list-view-item-active': value == item.key,\n })}\n key={item.key}\n onClick={onChange?.bind(null, item.key, item)}\n >\n {item.label}\n </li>\n ),\n };\n })}\n />\n </ul>\n );\n};\n","import { useMemo, useState } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { type TPlainObject, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { InputSearchWrapper } from '../input-search-wrapper/index.js';\nimport { type IListViewProps, ListView } from './list-view/index.jsx';\nimport { type ISearchMenuProps } from './type.js';\nimport './style.less';\n\n/**\n * 列表搜索\n * @param props\n * @returns\n */\nexport function SearchMenu(\n props: ISearchMenuProps & Pick<IListViewProps, 'emptyView'>\n) {\n const {\n value,\n onChange,\n dataSource,\n searchKeyList,\n wrapStyle,\n style,\n placeholder,\n fieldNames,\n renderItem,\n lazySearch,\n className,\n searchStyle,\n emptyView,\n showSearch,\n searchAutoFocus,\n size,\n } = props;\n const [listFilter, setListFilter] = useState<TPlainObject[]>([]);\n\n /** 格式化对象 */\n const mergeFormatOption = useMemo(() => {\n return {\n label: 'label',\n key: 'key',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n /** 可搜索的字段值 */\n const targetSearchKeyList = searchKeyList?.length\n ? searchKeyList\n : [mergeFormatOption.label];\n\n /** 生成菜单列表 */\n const listViewData = useMemo(() => {\n const { label, key } = mergeFormatOption;\n return listFilter?.map((item) => {\n return {\n ...item,\n label: renderItem ? renderItem(item) : item?.[label],\n key: item?.[key],\n };\n });\n }, [listFilter, mergeFormatOption, renderItem]);\n\n /**\n * 数据格式化\n */\n fbaHooks.useEffectCustom(() => {\n handleSearch('');\n }, [dataSource]);\n\n /** 搜索 */\n const handleSearch = (searchWord: string) => {\n if (!searchWord) {\n // 还原列表\n setListFilter(dataSource);\n return;\n }\n // 根据搜索次过滤\n const resList = dataSource.filter((item) => {\n return !!targetSearchKeyList?.find((key) => {\n return item[key]?.includes(searchWord);\n });\n });\n setListFilter(resList);\n };\n\n /**\n * 搜索词变换\n * @param e\n */\n const handleWordChange = (e) => {\n handleSearch(e.target.value);\n };\n\n /**\n * 点击条目\n */\n const onClick = hooks.useCallbackRef((key) => {\n const targetItem = dataSource.find((item) =>\n valueIsEqual(key, item[mergeFormatOption.key])\n );\n onChange?.(key, targetItem);\n });\n\n const cname = classNames(className, 'v-search-menu', {\n 'v-search-menu-small': size === 'small',\n });\n\n return (\n <div style={wrapStyle} className={cname}>\n {showSearch !== false ? (\n <div className=\"v-search-menu-search-area\" style={searchStyle}>\n <InputSearchWrapper\n onSearch={lazySearch ? handleSearch : undefined}\n onChange={!lazySearch ? handleWordChange : undefined}\n placeholder={placeholder || '请输入搜索关键词'}\n allowClear\n autoFocus={searchAutoFocus}\n />\n {!!props.searchExtraElement && (\n <div className=\"v-search-menu-search-extra\">\n {props.searchExtraElement}\n </div>\n )}\n </div>\n ) : null}\n <ListView\n style={style}\n value={value}\n dataList={listViewData}\n onChange={onClick}\n emptyView={emptyView}\n />\n </div>\n );\n}\n"],"names":["ListView","props","value","dataList","onChange","style","emptyView","length","_jsx","_Fragment","children","Empty","marginTop","description","className","RollLocationCenter","activeKey","renderList","map","item","key","render","_classNames","onClick","bind","label","SearchMenu","dataSource","searchKeyList","wrapStyle","placeholder","fieldNames","renderItem","lazySearch","searchStyle","showSearch","searchAutoFocus","size","_useState","useState","_useState2","_slicedToArray","listFilter","setListFilter","mergeFormatOption","useMemo","_objectSpread","targetSearchKeyList","listViewData","fbaHooks","useEffectCustom","handleSearch","searchWord","resList","filter","find","_item$key","includes","handleWordChange","e","target","_hooks","useCallbackRef","targetItem","valueIsEqual","cname","_jsxs","InputSearchWrapper","onSearch","undefined","allowClear","autoFocus","searchExtraElement"],"mappings":";;;;;;;;;;;;;AAgBA;AACA;AACA;AACA;AACA;AACO,IAAMA,QAA4B,GAAG,SAA/BA,QAA4BA,CAAIC,KAAK,EAAK;AACrD,EAAA,IAAQC,KAAK,GAA2CD,KAAK,CAArDC,KAAK;IAAEC,QAAQ,GAAiCF,KAAK,CAA9CE,QAAQ;IAAEC,QAAQ,GAAuBH,KAAK,CAApCG,QAAQ;IAAEC,KAAK,GAAgBJ,KAAK,CAA1BI,KAAK;IAAEC,SAAS,GAAKL,KAAK,CAAnBK,SAAS;AACnD;EACA,IAAI,EAACH,QAAQ,KAAA,IAAA,IAARA,QAAQ,eAARA,QAAQ,CAAEI,MAAM,CAAA,EAAE;AACrB,IAAA,OAAOD,SAAS,gBACdE,GAAA,CAAAC,QAAA,EAAA;AAAAC,MAAAA,QAAA,EAAGJ;AAAS,KAAG,CAAC,gBAEhBE,GAAA,CAACG,KAAK,EAAA;AACJN,MAAAA,KAAK,EAAE;AACLO,QAAAA,SAAS,EAAE;OACX;AACFC,MAAAA,WAAW,EAAC;AAAM,KACnB,CACF;AACH,EAAA;AAEA,EAAA,oBACEL,GAAA,CAAA,IAAA,EAAA;AAAIM,IAAAA,SAAS,EAAC,yBAAyB;AAACT,IAAAA,KAAK,EAAEA,KAAM;IAAAK,QAAA,eACnDF,GAAA,CAACO,kBAAkB,EAAA;MACjBC,SAAS,EAAEf,KAAK,CAACC,KAAM;AACvBe,MAAAA,UAAU,EAAEd,QAAQ,CAACe,GAAG,CAAC,UAACC,IAAI,EAAK;QACjC,OAAO;UACLH,SAAS,EAAEG,IAAI,CAACC,GAAG;AACnBC,UAAAA,MAAM,eACJb,GAAA,CAAA,IAAA,EAAA;AACEM,YAAAA,SAAS,EAAEQ,UAAA,CAAW,8BAA8B,EAAE;AACpD,cAAA,qCAAqC,EAAEpB,KAAK,IAAIiB,IAAI,CAACC;AACvD,aAAC,CAAE;AAEHG,YAAAA,OAAO,EAAEnB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEoB,IAAI,CAAC,IAAI,EAAEL,IAAI,CAACC,GAAG,EAAED,IAAI,CAAE;YAAAT,QAAA,EAE7CS,IAAI,CAACM;WAAK,EAHNN,IAAI,CAACC,GAIR;SAEP;MACH,CAAC;KACF;AAAC,GACA,CAAC;AAET,CAAC;;AC7CM,SAASM,UAAUA,CACxBzB,KAA2D,EAC3D;AACA,EAAA,IACEC,KAAK,GAgBHD,KAAK,CAhBPC,KAAK;IACLE,QAAQ,GAeNH,KAAK,CAfPG,QAAQ;IACRuB,UAAU,GAcR1B,KAAK,CAdP0B,UAAU;IACVC,aAAa,GAaX3B,KAAK,CAbP2B,aAAa;IACbC,SAAS,GAYP5B,KAAK,CAZP4B,SAAS;IACTxB,KAAK,GAWHJ,KAAK,CAXPI,KAAK;IACLyB,WAAW,GAUT7B,KAAK,CAVP6B,WAAW;IACXC,UAAU,GASR9B,KAAK,CATP8B,UAAU;IACVC,UAAU,GAQR/B,KAAK,CARP+B,UAAU;IACVC,UAAU,GAORhC,KAAK,CAPPgC,UAAU;IACVnB,SAAS,GAMPb,KAAK,CANPa,SAAS;IACToB,WAAW,GAKTjC,KAAK,CALPiC,WAAW;IACX5B,SAAS,GAIPL,KAAK,CAJPK,SAAS;IACT6B,UAAU,GAGRlC,KAAK,CAHPkC,UAAU;IACVC,eAAe,GAEbnC,KAAK,CAFPmC,eAAe;IACfC,IAAI,GACFpC,KAAK,CADPoC,IAAI;AAEN,EAAA,IAAAC,SAAA,GAAoCC,QAAQ,CAAiB,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzDI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA;;AAEhC;AACA,EAAA,IAAMI,iBAAiB,GAAGC,OAAO,CAAC,YAAM;AACtC,IAAA,OAAAC,cAAA,CAAA;AACErB,MAAAA,KAAK,EAAE,OAAO;AACdL,MAAAA,GAAG,EAAE;AAAK,KAAA,EACPW,UAAU,CAAA;AAEjB,EAAA,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;;AAEhB;AACA,EAAA,IAAMgB,mBAAmB,GAAGnB,aAAa,KAAA,IAAA,IAAbA,aAAa,eAAbA,aAAa,CAAErB,MAAM,GAC7CqB,aAAa,GACb,CAACgB,iBAAiB,CAACnB,KAAK,CAAC;;AAE7B;AACA,EAAA,IAAMuB,YAAY,GAAGH,OAAO,CAAC,YAAM;AACjC,IAAA,IAAQpB,KAAK,GAAUmB,iBAAiB,CAAhCnB,KAAK;MAAEL,GAAG,GAAKwB,iBAAiB,CAAzBxB,GAAG;IAClB,OAAOsB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAExB,GAAG,CAAC,UAACC,IAAI,EAAK;AAC/B,MAAA,OAAA2B,cAAA,CAAAA,cAAA,CAAA,EAAA,EACK3B,IAAI,CAAA,EAAA,EAAA,EAAA;AACPM,QAAAA,KAAK,EAAEO,UAAU,GAAGA,UAAU,CAACb,IAAI,CAAC,GAAGA,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAGM,KAAK,CAAC;AACpDL,QAAAA,GAAG,EAAED,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAGC,GAAG;AAAC,OAAA,CAAA;AAEpB,IAAA,CAAC,CAAC;EACJ,CAAC,EAAE,CAACsB,UAAU,EAAEE,iBAAiB,EAAEZ,UAAU,CAAC,CAAC;;AAE/C;AACF;AACA;EACEiB,QAAQ,CAACC,eAAe,CAAC,YAAM;IAC7BC,YAAY,CAAC,EAAE,CAAC;AAClB,EAAA,CAAC,EAAE,CAACxB,UAAU,CAAC,CAAC;;AAEhB;AACA,EAAA,IAAMwB,YAAY,GAAG,SAAfA,YAAYA,CAAIC,UAAkB,EAAK;IAC3C,IAAI,CAACA,UAAU,EAAE;AACf;MACAT,aAAa,CAAChB,UAAU,CAAC;AACzB,MAAA;AACF,IAAA;AACA;IACA,IAAM0B,OAAO,GAAG1B,UAAU,CAAC2B,MAAM,CAAC,UAACnC,IAAI,EAAK;AAC1C,MAAA,OAAO,CAAC,EAAC4B,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,MAAA,IAAnBA,mBAAmB,CAAEQ,IAAI,CAAC,UAACnC,GAAG,EAAK;AAAA,QAAA,IAAAoC,SAAA;AAC1C,QAAA,OAAA,CAAAA,SAAA,GAAOrC,IAAI,CAACC,GAAG,CAAC,MAAA,IAAA,IAAAoC,SAAA,KAAA,MAAA,GAAA,MAAA,GAATA,SAAA,CAAWC,QAAQ,CAACL,UAAU,CAAC;AACxC,MAAA,CAAC,CAAC,CAAA;AACJ,IAAA,CAAC,CAAC;IACFT,aAAa,CAACU,OAAO,CAAC;EACxB,CAAC;;AAED;AACF;AACA;AACA;AACE,EAAA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,CAAC,EAAK;AAC9BR,IAAAA,YAAY,CAACQ,CAAC,CAACC,MAAM,CAAC1D,KAAK,CAAC;EAC9B,CAAC;;AAED;AACF;AACA;EACE,IAAMqB,OAAO,GAAGsC,KAAA,CAAMC,cAAc,CAAC,UAAC1C,GAAG,EAAK;AAC5C,IAAA,IAAM2C,UAAU,GAAGpC,UAAU,CAAC4B,IAAI,CAAC,UAACpC,IAAI,EAAA;MAAA,OACtC6C,YAAY,CAAC5C,GAAG,EAAED,IAAI,CAACyB,iBAAiB,CAACxB,GAAG,CAAC,CAAC;AAAA,IAAA,CAChD,CAAC;IACDhB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAGgB,GAAG,EAAE2C,UAAU,CAAC;AAC7B,EAAA,CAAC,CAAC;AAEF,EAAA,IAAME,KAAK,GAAG3C,UAAA,CAAWR,SAAS,EAAE,eAAe,EAAE;IACnD,qBAAqB,EAAEuB,IAAI,KAAK;AAClC,GAAC,CAAC;AAEF,EAAA,oBACE6B,IAAA,CAAA,KAAA,EAAA;AAAK7D,IAAAA,KAAK,EAAEwB,SAAU;AAACf,IAAAA,SAAS,EAAEmD,KAAM;AAAAvD,IAAAA,QAAA,EAAA,CACrCyB,UAAU,KAAK,KAAK,gBACnB+B,IAAA,CAAA,KAAA,EAAA;AAAKpD,MAAAA,SAAS,EAAC,2BAA2B;AAACT,MAAAA,KAAK,EAAE6B,WAAY;MAAAxB,QAAA,EAAA,cAC5DF,GAAA,CAAC2D,kBAAkB,EAAA;AACjBC,QAAAA,QAAQ,EAAEnC,UAAU,GAAGkB,YAAY,GAAGkB,SAAU;AAChDjE,QAAAA,QAAQ,EAAE,CAAC6B,UAAU,GAAGyB,gBAAgB,GAAGW,SAAU;QACrDvC,WAAW,EAAEA,WAAW,IAAI,UAAW;QACvCwC,UAAU,EAAA,IAAA;AACVC,QAAAA,SAAS,EAAEnC;OACZ,CAAC,EACD,CAAC,CAACnC,KAAK,CAACuE,kBAAkB,iBACzBhE,GAAA,CAAA,KAAA,EAAA;AAAKM,QAAAA,SAAS,EAAC,4BAA4B;QAAAJ,QAAA,EACxCT,KAAK,CAACuE;AAAkB,OACtB,CACN;AAAA,KACE,CAAC,GACJ,IAAI,eACRhE,GAAA,CAACR,QAAQ,EAAA;AACPK,MAAAA,KAAK,EAAEA,KAAM;AACbH,MAAAA,KAAK,EAAEA,KAAM;AACbC,MAAAA,QAAQ,EAAE6C,YAAa;AACvB5C,MAAAA,QAAQ,EAAEmB,OAAQ;AAClBjB,MAAAA,SAAS,EAAEA;AAAU,KACtB,CAAC;AAAA,GACC,CAAC;AAEV;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flatbiz/antd",
3
- "version": "5.0.48",
3
+ "version": "5.0.50",
4
4
  "homepage": "https://gitlab.itcjf.com/flatjs-next/node-template-mono",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-D9xbvmEX.js","sources":["@flatbiz/antd/src/code-render/code.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport './style.less';\n\nexport type CodeRenderProps = {\n code?: string;\n className?: string;\n style?: CSSProperties;\n};\n\n/**\n * 代码、json格式化渲染\n * ```\n * 例如:\n * // json数据渲染\n * <CodeWrapper code={JSON.stringify(data, null, 2)}/>\n * \n * // 代码渲染\n * <CodeWrapper code={`def results=[];\ndef datas=表单字段.dataList;\nfor index,data in datas do\n def item = [\n 'a':data.DomainName,\n 'b':data.Owner,\n 'userName': 流程参数.发起人账号\n ];\n results = results+item;\nend\nreturn results;\n` \n}/>\n *\n * ```\n *\n */\nexport const CodeRender = (props: CodeRenderProps) => {\n const { code, className, style } = props;\n return (\n <pre className={classNames('code-render', className)} style={style}>\n <code>{code}</code>\n </pre>\n );\n};\n"],"names":["CodeRender","props","code","className","style","_jsx","classNames","children"],"mappings":";;;;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAsB,EAAK;AACpD,EAAA,IAAQC,IAAI,GAAuBD,KAAK,CAAhCC,IAAI;IAAEC,SAAS,GAAYF,KAAK,CAA1BE,SAAS;IAAEC,KAAK,GAAKH,KAAK,CAAfG,KAAK;AAC9B,EAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKF,IAAAA,SAAS,EAAEG,UAAU,CAAC,aAAa,EAAEH,SAAS,CAAE;AAACC,IAAAA,KAAK,EAAEA,KAAM;AAAAG,IAAAA,QAAA,eACjEF,GAAA,CAAA,MAAA,EAAA;AAAAE,MAAAA,QAAA,EAAOL;KAAW;AAAC,GAChB,CAAC;AAEV;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-menu-N7nz0XoH.js","sources":["@flatbiz/antd/src/search-menu/list-view/index.tsx","@flatbiz/antd/src/search-menu/search-menu.tsx"],"sourcesContent":["import { type CSSProperties, type FC, type ReactElement } from 'react';\nimport { Empty } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport { RollLocationCenter } from '../../roll-location-center/index.js';\nimport { type IListViewItem } from '../type.js';\nimport './style.less';\n\nexport interface IListViewProps {\n dataList: IListViewItem[];\n value?: string;\n onChange?: (key: string, item: IListViewItem) => void;\n style?: CSSProperties;\n /** 自定义空数据提示 */\n emptyView?: ReactElement;\n}\n\n/**\n * 搜索列表\n * @param props\n * @returns search menu list view\n */\nexport const ListView: FC<IListViewProps> = (props) => {\n const { value, dataList, onChange, style, emptyView } = props;\n // 数据判空提示\n if (!dataList?.length) {\n return emptyView ? (\n <>{emptyView}</>\n ) : (\n <Empty\n style={{\n marginTop: '40px',\n }}\n description=\"暂无数据\"\n />\n );\n }\n\n return (\n <ul className=\"v-search-menu-list-view\" style={style}>\n <RollLocationCenter\n activeKey={props.value}\n renderList={dataList.map((item) => {\n return {\n activeKey: item.key,\n render: (\n <li\n className={classNames('v-search-menu-list-view-item', {\n 'v-search-menu-list-view-item-active': value == item.key,\n })}\n key={item.key}\n onClick={onChange?.bind(null, item.key, item)}\n >\n {item.label}\n </li>\n ),\n };\n })}\n />\n </ul>\n );\n};\n","import { useMemo, useState } from 'react';\nimport { classNames } from '@dimjs/utils';\nimport { type TPlainObject, valueIsEqual } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport { InputSearchWrapper } from '../input-search-wrapper/index.js';\nimport { type IListViewProps, ListView } from './list-view/index.jsx';\nimport { type ISearchMenuProps } from './type.js';\nimport './style.less';\n\n/**\n * 列表搜索\n * @param props\n * @returns\n */\nexport function SearchMenu(\n props: ISearchMenuProps & Pick<IListViewProps, 'emptyView'>\n) {\n const {\n value,\n onChange,\n dataSource,\n searchKeyList,\n wrapStyle,\n style,\n placeholder,\n fieldNames,\n renderItem,\n lazySearch,\n className,\n searchStyle,\n emptyView,\n showSearch,\n size,\n } = props;\n const [listFilter, setListFilter] = useState<TPlainObject[]>([]);\n\n /** 格式化对象 */\n const mergeFormatOption = useMemo(() => {\n return {\n label: 'label',\n key: 'key',\n ...fieldNames,\n };\n }, [fieldNames]);\n\n /** 可搜索的字段值 */\n const targetSearchKeyList = searchKeyList?.length\n ? searchKeyList\n : [mergeFormatOption.label];\n\n /** 生成菜单列表 */\n const listViewData = useMemo(() => {\n const { label, key } = mergeFormatOption;\n return listFilter?.map((item) => {\n return {\n ...item,\n label: renderItem ? renderItem(item) : item?.[label],\n key: item?.[key],\n };\n });\n }, [listFilter, mergeFormatOption, renderItem]);\n\n /**\n * 数据格式化\n */\n fbaHooks.useEffectCustom(() => {\n handleSearch('');\n }, [dataSource]);\n\n /** 搜索 */\n const handleSearch = (searchWord: string) => {\n if (!searchWord) {\n // 还原列表\n setListFilter(dataSource);\n return;\n }\n // 根据搜索次过滤\n const resList = dataSource.filter((item) => {\n return !!targetSearchKeyList?.find((key) => {\n return item[key]?.includes(searchWord);\n });\n });\n setListFilter(resList);\n };\n\n /**\n * 搜索词变换\n * @param e\n */\n const handleWordChange = (e) => {\n handleSearch(e.target.value);\n };\n\n /**\n * 点击条目\n */\n const onClick = hooks.useCallbackRef((key) => {\n const targetItem = dataSource.find((item) =>\n valueIsEqual(key, item[mergeFormatOption.key])\n );\n onChange?.(key, targetItem);\n });\n\n const cname = classNames(className, 'v-search-menu', {\n 'v-search-menu-small': size === 'small',\n });\n\n return (\n <div style={wrapStyle} className={cname}>\n {showSearch !== false ? (\n <div className=\"v-search-menu-search-area\" style={searchStyle}>\n <InputSearchWrapper\n onSearch={lazySearch ? handleSearch : undefined}\n onChange={!lazySearch ? handleWordChange : undefined}\n placeholder={placeholder || '请输入搜索关键词'}\n allowClear\n />\n {!!props.searchExtraElement && (\n <div className=\"v-search-menu-search-extra\">\n {props.searchExtraElement}\n </div>\n )}\n </div>\n ) : null}\n <ListView\n style={style}\n value={value}\n dataList={listViewData}\n onChange={onClick}\n emptyView={emptyView}\n />\n </div>\n );\n}\n"],"names":["ListView","props","value","dataList","onChange","style","emptyView","length","_jsx","_Fragment","children","Empty","marginTop","description","className","RollLocationCenter","activeKey","renderList","map","item","key","render","_classNames","onClick","bind","label","SearchMenu","dataSource","searchKeyList","wrapStyle","placeholder","fieldNames","renderItem","lazySearch","searchStyle","showSearch","size","_useState","useState","_useState2","_slicedToArray","listFilter","setListFilter","mergeFormatOption","useMemo","_objectSpread","targetSearchKeyList","listViewData","fbaHooks","useEffectCustom","handleSearch","searchWord","resList","filter","find","_item$key","includes","handleWordChange","e","target","_hooks","useCallbackRef","targetItem","valueIsEqual","cname","_jsxs","InputSearchWrapper","onSearch","undefined","allowClear","searchExtraElement"],"mappings":"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"}