@flatbiz/antd 5.0.16 → 5.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{drag-C1CCBzbn.js → drag-CSVvyXEN.js} +2 -2
- package/dist/{drag-C1CCBzbn.js.map → drag-CSVvyXEN.js.map} +1 -1
- package/dist/drag-editable-table/index.d.ts +4 -0
- package/dist/drag-editable-table/index.js +3 -3
- package/dist/editable-table/index.d.ts +4 -0
- package/dist/editable-table/index.js +2 -2
- package/dist/{editable-table-BgRLIKDS.js → editable-table-BDjZl2ZY.js} +2 -2
- package/dist/{editable-table-BgRLIKDS.js.map → editable-table-BDjZl2ZY.js.map} +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.js +4 -4
- package/dist/local-loading/index.css +1 -1
- package/dist/local-loading/index.d.ts +4 -2
- package/dist/local-loading/index.js +10 -5
- package/dist/local-loading/index.js.map +1 -1
- package/dist/{tabs-D2IfpmxW.js → tabs-CbMuUsXN.js} +5 -3
- package/dist/tabs-CbMuUsXN.js.map +1 -0
- package/dist/tabs-sticky/index.d.ts +3 -1
- package/dist/tabs-sticky/index.js +1 -1
- package/dist/upload-wrapper/index.d.ts +4 -0
- package/dist/upload-wrapper/index.js +1 -1
- package/dist/{upload-wrapper-BUfwwddm.js → upload-wrapper-DarS_SOE.js} +89 -19
- package/dist/upload-wrapper-DarS_SOE.js.map +1 -0
- package/package.json +1 -1
- package/dist/tabs-D2IfpmxW.js.map +0 -1
- package/dist/upload-wrapper-BUfwwddm.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upload-wrapper-BUfwwddm.js","sources":["@flatbiz/antd/src/upload-wrapper/upload-wrapper.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Fragment, useMemo, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport type { UploadProps } from 'antd';\nimport { Button, message, Upload } from 'antd';\nimport type { UploadChangeParam } from 'antd/lib/upload';\nimport type { UploadFile, UploadListType } from 'antd/lib/upload/interface.js';\nimport { PlusOutlined } from '@ant-design/icons';\nimport { isPlainObject } from '@dimjs/lang';\nimport { classNames, extend } from '@dimjs/utils';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { isUndefinedOrNull, toArray } from '@flatbiz/utils';\nimport { hooks } from '@wove/react';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport './style.less';\n\nexport type UploadWrapperFileItem = {\n uid: string;\n name: string;\n url?: string;\n};\n\nexport type UploadWrapperProps<T extends TPlainObject = TPlainObject> = {\n value?: T[] | T;\n onChange?: (value?: T[]) => void;\n onUploadError?: (message?: string) => void;\n onUploadChange?: (info: UploadChangeParam<UploadFile>) => void;\n /**\n * 属性取值映射\n */\n fieldNames?: {\n uid: string;\n name?: string;\n url?: string;\n /** 文件大小 */\n size?: string | number;\n };\n /**\n * 接口响应数据适配器,如果配置了fieldNames,适配器返回值会再进过fieldNames转换\n */\n onRequestResultAdapter?: (respData: TAny) => TPlainObject;\n /** 操作触发显示文本 */\n triggerText?: string;\n /** 超过maxCount 隐藏上传入口 */\n limitHidden?: boolean;\n /**\n * 自动提交,默认:true\n * ```\n * 1. 自定义beforeUpload配置后 autoSubmit 失效\n * ```\n */\n autoSubmit?: boolean;\n} & Omit<UploadProps, 'onChange' | 'fileList'>;\n\n/**\n * 文件上传\n * ```\n * demo: https://fex.qa.tcshuke.com/docs/admin/main/file/upload\n * 1. 可通过配置children替换默认上传触发布局\n * 2. 接口返回结构:\n * formData上传接口返回值\n * {\n * code: '0000',\n * data: {\n * uid: '唯一值,可使用fileKey值'\n * name: '文件名称'\n * url: '预览地址'\n * }\n * }\n * 3. 如果接口返回的不是上面的字段名称,可通过fieldNames配置接口返回字段名称映射\n *\n * 4. 最佳使用方式,与Form结合使用\n * <Form.Item name=\"attachmentList\" label=\"附件\">\n * <UploadWrapper action={uploadUrl} />\n * </Form.Item>\n *\n * 5. 回填数据结构\n * [{\n * uid: '唯一值',\n * name(非必填): 'image.png',\n * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',\n * }]\n * 1. 其中 uid、name、url 可为其他命名,通过 fieldNames 进行映射即可,\n * 2. 其他需要的字段可在对象中添加 responseData 对象\n * 例如:\n * [{\n * uid: '唯一值',\n * name(非必填): 'image.png',\n * url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',\n * responseData: { 'xx':'xxx' }\n * }]\n * ```\n *\n */\nexport const UploadWrapper = (props: UploadWrapperProps) => {\n const {\n onChange,\n onUploadError,\n value,\n triggerText,\n limitHidden,\n autoSubmit,\n ...otherProps\n } = props;\n const [uploadList, setUploadList] = useState<UploadWrapperFileItem[]>();\n const fieldNames = extend(\n {\n uid: 'uid',\n name: 'name',\n url: 'url',\n size: 'size',\n },\n props.fieldNames\n );\n\n const valueList = useMemo(\n () => (isUndefinedOrNull(value) ? undefined : toArray<TPlainObject>(value)),\n [value]\n );\n\n fbaHooks.useEffectCustom(() => {\n const errorList =\n uploadList?.filter((item) => item['status'] === 'error') || [];\n let newList = [] as TAny[];\n valueList?.forEach((item) => {\n // 判断item 为 File类型\n if (item['lastModified']) {\n newList.push(item);\n } else {\n newList.push({\n uid: item[fieldNames.uid],\n name: item[fieldNames.name],\n url: item[fieldNames.url],\n size: item[fieldNames.size],\n responseData: item['responseData'],\n status: 'done',\n isOriginal: true,\n });\n }\n });\n if (errorList.length > 0) {\n const newErrorList = errorList.map((item) => {\n return {\n uid: item.uid,\n name: item.name,\n status: 'error',\n isOriginal: true,\n response: item['response'],\n };\n }) as TAny[];\n newList = newList.concat(newErrorList);\n }\n setUploadList(newList);\n }, [fieldNames.name, fieldNames.uid, fieldNames.url, valueList]);\n\n const handleResponse = (fileList: UploadFile<TAny>[]) => {\n const newFileList: TAny[] = [];\n let hasError = false;\n fileList.forEach((item) => {\n if (item['isOriginal']) {\n if (item['status'] !== 'error') {\n const target: TPlainObject = {\n [fieldNames.uid]: item.uid,\n [fieldNames.name]: item.name,\n [fieldNames.url]: item.url,\n };\n if (!isUndefinedOrNull(item.size)) {\n target[fieldNames.size] = item.size;\n }\n if (item['responseData']) {\n target.responseData = item['responseData'];\n }\n newFileList.push(target);\n }\n } else if (isPlainObject(item.response)) {\n if (item.response.code === '0000') {\n const respData = item.response.data;\n const result = (props.onRequestResultAdapter?.(respData) ||\n respData) as TPlainObject;\n const target: TPlainObject = {\n [fieldNames.uid]: result[fieldNames.uid] || item.uid,\n [fieldNames.name]: result[fieldNames.name] || item.name,\n [fieldNames.url]: result[fieldNames.url],\n };\n if (!isUndefinedOrNull(result[fieldNames.size])) {\n target[fieldNames.size] = result[fieldNames.size];\n }\n newFileList.push({\n ...target,\n responseData: respData,\n });\n } else {\n const errorMsg = item.response.message || '上传失败';\n hasError = true;\n item.status = 'error';\n item.response = item.response.message || '上传失败';\n if (onUploadError) {\n onUploadError?.(errorMsg);\n } else {\n void message.error('上传操作失败...');\n }\n }\n }\n });\n if (hasError) {\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n }\n onChange?.(newFileList);\n };\n\n const onUploadChange = hooks.useCallbackRef((info) => {\n const fileList = info.fileList as TPlainObject[];\n if (info.file.status === 'done') {\n const newFileList = [...info.fileList];\n const donwList = newFileList.filter(\n (item) => item.status === 'done' || item['isOriginal']\n );\n\n const allDone = donwList.length === newFileList.length;\n if (allDone) {\n handleResponse(newFileList);\n }\n flushSync(() => setUploadList(newFileList));\n return;\n } else if (info.file.status === 'removed') {\n const uid = info.file.uid;\n const targetList = valueList !== undefined ? [...valueList] : [];\n const targetIndex = targetList.findIndex((item) => {\n const tempUid = item[fieldNames.uid] || item.uid;\n return tempUid === uid;\n });\n if (targetIndex >= 0) {\n targetList.splice(targetIndex, 1);\n }\n onChange?.(targetList);\n } else if (info.file.status === 'error') {\n if (onUploadError) {\n onUploadError();\n } else {\n void message.error('上传操作失败...');\n }\n }\n // https://github.com/ant-design/ant-design/issues/2423\n setUploadList([...fileList] as UploadWrapperFileItem[]);\n props.onUploadChange?.(info);\n });\n\n const hiddenEmtry = useMemo(() => {\n if (otherProps.maxCount === undefined || !limitHidden) return false;\n if (otherProps.maxCount === 0) return true;\n if (uploadList && uploadList.length >= otherProps.maxCount) return true;\n return false;\n }, [limitHidden, otherProps.maxCount, uploadList]);\n\n const beforeUpload = (_file, fileList) => {\n if (autoSubmit === false) {\n const maxCount = otherProps.maxCount;\n let mergeList = [...(valueList || []), ...fileList];\n let uploadListMerge = [...(uploadList || []), ...fileList];\n if (maxCount !== undefined && maxCount !== null) {\n if (mergeList.length > maxCount) {\n mergeList = mergeList.slice(mergeList.length - maxCount);\n uploadListMerge = uploadListMerge.slice(\n uploadListMerge.length - maxCount\n );\n }\n }\n setUploadList(uploadListMerge);\n props.onChange?.(mergeList);\n return false;\n }\n return true;\n };\n\n return (\n <Upload\n beforeUpload={beforeUpload}\n {...otherProps}\n onChange={onUploadChange}\n fileList={uploadList}\n className={classNames('v-upload-wrapper', otherProps.className)}\n >\n {otherProps.disabled || hiddenEmtry ? null : (\n <UploadTrigger triggerText={triggerText} listType={otherProps.listType}>\n {props.children}\n </UploadTrigger>\n )}\n </Upload>\n );\n};\n\nconst UploadTrigger = (props: {\n listType?: UploadListType;\n children?: ReactNode | ReactNode[];\n triggerText?: string;\n}) => {\n if (props.children) return <Fragment>{props.children}</Fragment>;\n if (props.listType === 'picture-card') {\n return (\n <div>\n <PlusOutlined />\n <div style={{ marginTop: 8 }}>{props.triggerText || '上传图片'}</div>\n </div>\n );\n }\n if (props.listType === 'picture') {\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择图片上传'}\n </Button>\n );\n }\n return (\n <Button type=\"primary\" ghost>\n {props.triggerText || '选择文件上传'}\n </Button>\n );\n};\n"],"names":["UploadWrapper","props","onChange","onUploadError","value","triggerText","limitHidden","autoSubmit","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","uploadList","setUploadList","fieldNames","_extend","uid","name","url","size","valueList","useMemo","isUndefinedOrNull","undefined","toArray","fbaHooks","useEffectCustom","errorList","filter","item","newList","forEach","push","responseData","status","isOriginal","length","newErrorList","map","response","concat","handleResponse","fileList","newFileList","hasError","target","_defineProperty","_isPlainObject","code","_props$onRequestResul","respData","data","result","onRequestResultAdapter","call","_objectSpread","errorMsg","message","error","_toConsumableArray","onUploadChange","_hooks","useCallbackRef","info","_props$onUploadChange","file","donwList","allDone","flushSync","targetList","targetIndex","findIndex","tempUid","splice","hiddenEmtry","maxCount","beforeUpload","_file","_props$onChange","mergeList","uploadListMerge","slice","_jsx","Upload","className","_classNames","children","disabled","UploadTrigger","listType","Fragment","_jsxs","_PlusOutlined","style","marginTop","Button","type","ghost"],"mappings":";;;;;;;;;;;;;;;;AAsDA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaA,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAyB,EAAK;AAC1D,EAAA,IACEC,QAAQ,GAOND,KAAK,CAPPC,QAAQ;IACRC,aAAa,GAMXF,KAAK,CANPE,aAAa;IACbC,KAAK,GAKHH,KAAK,CALPG,KAAK;IACLC,WAAW,GAITJ,KAAK,CAJPI,WAAW;IACXC,WAAW,GAGTL,KAAK,CAHPK,WAAW;IACXC,UAAU,GAERN,KAAK,CAFPM,UAAU;AACPC,IAAAA,UAAU,GAAAC,wBAAA,CACXR,KAAK,EAAAS,SAAA,CAAA;AACT,EAAA,IAAAC,SAAA,GAAoCC,QAAQ,EAA2B;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhEI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA;EAChC,IAAMI,UAAU,GAAGC,MAAA,CACjB;AACEC,IAAAA,GAAG,EAAE,KAAK;AACVC,IAAAA,IAAI,EAAE,MAAM;AACZC,IAAAA,GAAG,EAAE,KAAK;AACVC,IAAAA,IAAI,EAAE;AACR,GAAC,EACDrB,KAAK,CAACgB,UACR,CAAC;EAED,IAAMM,SAAS,GAAGC,OAAO,CACvB,YAAA;IAAA,OAAOC,iBAAiB,CAACrB,KAAK,CAAC,GAAGsB,SAAS,GAAGC,OAAO,CAAevB,KAAK,CAAC;AAAA,GAAC,EAC3E,CAACA,KAAK,CACR,CAAC;EAEDwB,QAAQ,CAACC,eAAe,CAAC,YAAM;AAC7B,IAAA,IAAMC,SAAS,GACb,CAAAf,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEgB,MAAM,CAAC,UAACC,IAAI,EAAA;AAAA,MAAA,OAAKA,IAAI,CAAC,QAAQ,CAAC,KAAK,OAAO;AAAA,KAAA,CAAC,KAAI,EAAE;IAChE,IAAIC,OAAO,GAAG,EAAY;IAC1BV,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,CAAEW,OAAO,CAAC,UAACF,IAAI,EAAK;AAC3B;AACA,MAAA,IAAIA,IAAI,CAAC,cAAc,CAAC,EAAE;AACxBC,QAAAA,OAAO,CAACE,IAAI,CAACH,IAAI,CAAC;AACpB,OAAC,MAAM;QACLC,OAAO,CAACE,IAAI,CAAC;AACXhB,UAAAA,GAAG,EAAEa,IAAI,CAACf,UAAU,CAACE,GAAG,CAAC;AACzBC,UAAAA,IAAI,EAAEY,IAAI,CAACf,UAAU,CAACG,IAAI,CAAC;AAC3BC,UAAAA,GAAG,EAAEW,IAAI,CAACf,UAAU,CAACI,GAAG,CAAC;AACzBC,UAAAA,IAAI,EAAEU,IAAI,CAACf,UAAU,CAACK,IAAI,CAAC;AAC3Bc,UAAAA,YAAY,EAAEJ,IAAI,CAAC,cAAc,CAAC;AAClCK,UAAAA,MAAM,EAAE,MAAM;AACdC,UAAAA,UAAU,EAAE;AACd,SAAC,CAAC;AACJ;AACF,KAAC,CAAC;AACF,IAAA,IAAIR,SAAS,CAACS,MAAM,GAAG,CAAC,EAAE;MACxB,IAAMC,YAAY,GAAGV,SAAS,CAACW,GAAG,CAAC,UAACT,IAAI,EAAK;QAC3C,OAAO;UACLb,GAAG,EAAEa,IAAI,CAACb,GAAG;UACbC,IAAI,EAAEY,IAAI,CAACZ,IAAI;AACfiB,UAAAA,MAAM,EAAE,OAAO;AACfC,UAAAA,UAAU,EAAE,IAAI;UAChBI,QAAQ,EAAEV,IAAI,CAAC,UAAU;SAC1B;AACH,OAAC,CAAW;AACZC,MAAAA,OAAO,GAAGA,OAAO,CAACU,MAAM,CAACH,YAAY,CAAC;AACxC;IACAxB,aAAa,CAACiB,OAAO,CAAC;AACxB,GAAC,EAAE,CAAChB,UAAU,CAACG,IAAI,EAAEH,UAAU,CAACE,GAAG,EAAEF,UAAU,CAACI,GAAG,EAAEE,SAAS,CAAC,CAAC;AAEhE,EAAA,IAAMqB,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,QAA4B,EAAK;IACvD,IAAMC,WAAmB,GAAG,EAAE;IAC9B,IAAIC,QAAQ,GAAG,KAAK;AACpBF,IAAAA,QAAQ,CAACX,OAAO,CAAC,UAACF,IAAI,EAAK;AACzB,MAAA,IAAIA,IAAI,CAAC,YAAY,CAAC,EAAE;AACtB,QAAA,IAAIA,IAAI,CAAC,QAAQ,CAAC,KAAK,OAAO,EAAE;AAC9B,UAAA,IAAMgB,MAAoB,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACvBhC,UAAU,CAACE,GAAG,EAAGa,IAAI,CAACb,GAAG,CACzBF,EAAAA,UAAU,CAACG,IAAI,EAAGY,IAAI,CAACZ,IAAI,CAAA,EAC3BH,UAAU,CAACI,GAAG,EAAGW,IAAI,CAACX,GAAG,CAC3B;AACD,UAAA,IAAI,CAACI,iBAAiB,CAACO,IAAI,CAACV,IAAI,CAAC,EAAE;YACjC0B,MAAM,CAAC/B,UAAU,CAACK,IAAI,CAAC,GAAGU,IAAI,CAACV,IAAI;AACrC;AACA,UAAA,IAAIU,IAAI,CAAC,cAAc,CAAC,EAAE;AACxBgB,YAAAA,MAAM,CAACZ,YAAY,GAAGJ,IAAI,CAAC,cAAc,CAAC;AAC5C;AACAc,UAAAA,WAAW,CAACX,IAAI,CAACa,MAAM,CAAC;AAC1B;OACD,MAAM,IAAIE,aAAA,CAAclB,IAAI,CAACU,QAAQ,CAAC,EAAE;AACvC,QAAA,IAAIV,IAAI,CAACU,QAAQ,CAACS,IAAI,KAAK,MAAM,EAAE;AAAA,UAAA,IAAAC,qBAAA;AACjC,UAAA,IAAMC,QAAQ,GAAGrB,IAAI,CAACU,QAAQ,CAACY,IAAI;UACnC,IAAMC,MAAM,GAAI,CAAAH,CAAAA,qBAAA,GAAAnD,KAAK,CAACuD,sBAAsB,MAAAJ,IAAAA,IAAAA,qBAAA,uBAA5BA,qBAAA,CAAAK,IAAA,CAAAxD,KAAK,EAA0BoD,QAAQ,CAAC,KACtDA,QAAyB;UAC3B,IAAML,QAAoB,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CACvBhC,EAAAA,EAAAA,UAAU,CAACE,GAAG,EAAGoC,MAAM,CAACtC,UAAU,CAACE,GAAG,CAAC,IAAIa,IAAI,CAACb,GAAG,CACnDF,EAAAA,UAAU,CAACG,IAAI,EAAGmC,MAAM,CAACtC,UAAU,CAACG,IAAI,CAAC,IAAIY,IAAI,CAACZ,IAAI,GACtDH,UAAU,CAACI,GAAG,EAAGkC,MAAM,CAACtC,UAAU,CAACI,GAAG,CAAC,CACzC;UACD,IAAI,CAACI,iBAAiB,CAAC8B,MAAM,CAACtC,UAAU,CAACK,IAAI,CAAC,CAAC,EAAE;YAC/C0B,QAAM,CAAC/B,UAAU,CAACK,IAAI,CAAC,GAAGiC,MAAM,CAACtC,UAAU,CAACK,IAAI,CAAC;AACnD;AACAwB,UAAAA,WAAW,CAACX,IAAI,CAAAuB,cAAA,CAAAA,cAAA,KACXV,QAAM,CAAA,EAAA,EAAA,EAAA;AACTZ,YAAAA,YAAY,EAAEiB;AAAQ,WAAA,CACvB,CAAC;AACJ,SAAC,MAAM;UACL,IAAMM,QAAQ,GAAG3B,IAAI,CAACU,QAAQ,CAACkB,OAAO,IAAI,MAAM;AAChDb,UAAAA,QAAQ,GAAG,IAAI;UACff,IAAI,CAACK,MAAM,GAAG,OAAO;UACrBL,IAAI,CAACU,QAAQ,GAAGV,IAAI,CAACU,QAAQ,CAACkB,OAAO,IAAI,MAAM;AAC/C,UAAA,IAAIzD,aAAa,EAAE;AACjBA,YAAAA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,IAAbA,aAAa,CAAGwD,QAAQ,CAAC;AAC3B,WAAC,MAAM;AACL,YAAA,KAAKC,OAAO,CAACC,KAAK,CAAC,WAAW,CAAC;AACjC;AACF;AACF;AACF,KAAC,CAAC;AACF,IAAA,IAAId,QAAQ,EAAE;AACZ/B,MAAAA,aAAa,CAAA8C,kBAAA,CAAKjB,QAAQ,CAA4B,CAAC;AACzD;AACA3C,IAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,IAARA,QAAQ,CAAG4C,WAAW,CAAC;GACxB;EAED,IAAMiB,cAAc,GAAGC,KAAA,CAAMC,cAAc,CAAC,UAACC,IAAI,EAAK;AAAA,IAAA,IAAAC,qBAAA;AACpD,IAAA,IAAMtB,QAAQ,GAAGqB,IAAI,CAACrB,QAA0B;AAChD,IAAA,IAAIqB,IAAI,CAACE,IAAI,CAAC/B,MAAM,KAAK,MAAM,EAAE;AAC/B,MAAA,IAAMS,WAAW,GAAAgB,kBAAA,CAAOI,IAAI,CAACrB,QAAQ,CAAC;AACtC,MAAA,IAAMwB,QAAQ,GAAGvB,WAAW,CAACf,MAAM,CACjC,UAACC,IAAI,EAAA;QAAA,OAAKA,IAAI,CAACK,MAAM,KAAK,MAAM,IAAIL,IAAI,CAAC,YAAY,CAAC;AAAA,OACxD,CAAC;MAED,IAAMsC,OAAO,GAAGD,QAAQ,CAAC9B,MAAM,KAAKO,WAAW,CAACP,MAAM;AACtD,MAAA,IAAI+B,OAAO,EAAE;QACX1B,cAAc,CAACE,WAAW,CAAC;AAC7B;AACAyB,MAAAA,SAAS,CAAC,YAAA;QAAA,OAAMvD,aAAa,CAAC8B,WAAW,CAAC;OAAC,CAAA;AAC3C,MAAA;KACD,MAAM,IAAIoB,IAAI,CAACE,IAAI,CAAC/B,MAAM,KAAK,SAAS,EAAE;AACzC,MAAA,IAAMlB,GAAG,GAAG+C,IAAI,CAACE,IAAI,CAACjD,GAAG;MACzB,IAAMqD,UAAU,GAAGjD,SAAS,KAAKG,SAAS,GAAAoC,kBAAA,CAAOvC,SAAS,CAAA,GAAI,EAAE;MAChE,IAAMkD,WAAW,GAAGD,UAAU,CAACE,SAAS,CAAC,UAAC1C,IAAI,EAAK;QACjD,IAAM2C,OAAO,GAAG3C,IAAI,CAACf,UAAU,CAACE,GAAG,CAAC,IAAIa,IAAI,CAACb,GAAG;QAChD,OAAOwD,OAAO,KAAKxD,GAAG;AACxB,OAAC,CAAC;MACF,IAAIsD,WAAW,IAAI,CAAC,EAAE;AACpBD,QAAAA,UAAU,CAACI,MAAM,CAACH,WAAW,EAAE,CAAC,CAAC;AACnC;AACAvE,MAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,IAARA,QAAQ,CAAGsE,UAAU,CAAC;KACvB,MAAM,IAAIN,IAAI,CAACE,IAAI,CAAC/B,MAAM,KAAK,OAAO,EAAE;AACvC,MAAA,IAAIlC,aAAa,EAAE;AACjBA,QAAAA,aAAa,EAAE;AACjB,OAAC,MAAM;AACL,QAAA,KAAKyD,OAAO,CAACC,KAAK,CAAC,WAAW,CAAC;AACjC;AACF;AACA;AACA7C,IAAAA,aAAa,CAAA8C,kBAAA,CAAKjB,QAAQ,CAA4B,CAAC;AACvD,IAAA,CAAAsB,qBAAA,GAAAlE,KAAK,CAAC8D,cAAc,MAAAI,IAAAA,IAAAA,qBAAA,KAApBA,KAAAA,CAAAA,IAAAA,qBAAA,CAAAV,IAAA,CAAAxD,KAAK,EAAkBiE,IAAI,CAAC;AAC9B,GAAC,CAAC;AAEF,EAAA,IAAMW,WAAW,GAAGrD,OAAO,CAAC,YAAM;IAChC,IAAIhB,UAAU,CAACsE,QAAQ,KAAKpD,SAAS,IAAI,CAACpB,WAAW,EAAE,OAAO,KAAK;AACnE,IAAA,IAAIE,UAAU,CAACsE,QAAQ,KAAK,CAAC,EAAE,OAAO,IAAI;IAC1C,IAAI/D,UAAU,IAAIA,UAAU,CAACwB,MAAM,IAAI/B,UAAU,CAACsE,QAAQ,EAAE,OAAO,IAAI;AACvE,IAAA,OAAO,KAAK;GACb,EAAE,CAACxE,WAAW,EAAEE,UAAU,CAACsE,QAAQ,EAAE/D,UAAU,CAAC,CAAC;EAElD,IAAMgE,YAAY,GAAG,SAAfA,YAAYA,CAAIC,KAAK,EAAEnC,QAAQ,EAAK;IACxC,IAAItC,UAAU,KAAK,KAAK,EAAE;AAAA,MAAA,IAAA0E,eAAA;AACxB,MAAA,IAAMH,QAAQ,GAAGtE,UAAU,CAACsE,QAAQ;AACpC,MAAA,IAAII,SAAS,GAAA,EAAA,CAAAvC,MAAA,CAAAmB,kBAAA,CAAQvC,SAAS,IAAI,EAAE,CAAA,EAAAuC,kBAAA,CAAMjB,QAAQ,CAAC,CAAA;AACnD,MAAA,IAAIsC,eAAe,GAAA,EAAA,CAAAxC,MAAA,CAAAmB,kBAAA,CAAQ/C,UAAU,IAAI,EAAE,CAAA,EAAA+C,kBAAA,CAAMjB,QAAQ,CAAC,CAAA;AAC1D,MAAA,IAAIiC,QAAQ,KAAKpD,SAAS,IAAIoD,QAAQ,KAAK,IAAI,EAAE;AAC/C,QAAA,IAAII,SAAS,CAAC3C,MAAM,GAAGuC,QAAQ,EAAE;UAC/BI,SAAS,GAAGA,SAAS,CAACE,KAAK,CAACF,SAAS,CAAC3C,MAAM,GAAGuC,QAAQ,CAAC;UACxDK,eAAe,GAAGA,eAAe,CAACC,KAAK,CACrCD,eAAe,CAAC5C,MAAM,GAAGuC,QAC3B,CAAC;AACH;AACF;MACA9D,aAAa,CAACmE,eAAe,CAAC;AAC9B,MAAA,CAAAF,eAAA,GAAAhF,KAAK,CAACC,QAAQ,MAAA+E,IAAAA,IAAAA,eAAA,KAAdA,KAAAA,CAAAA,IAAAA,eAAA,CAAAxB,IAAA,CAAAxD,KAAK,EAAYiF,SAAS,CAAC;AAC3B,MAAA,OAAO,KAAK;AACd;AACA,IAAA,OAAO,IAAI;GACZ;AAED,EAAA,oBACEG,GAAA,CAACC,MAAM,EAAA5B,cAAA,CAAAA,cAAA,CAAA;AACLqB,IAAAA,YAAY,EAAEA;AAAa,GAAA,EACvBvE,UAAU,CAAA,EAAA,EAAA,EAAA;AACdN,IAAAA,QAAQ,EAAE6D,cAAe;AACzBlB,IAAAA,QAAQ,EAAE9B,UAAW;IACrBwE,SAAS,EAAEC,UAAA,CAAW,kBAAkB,EAAEhF,UAAU,CAAC+E,SAAS,CAAE;IAAAE,QAAA,EAE/DjF,UAAU,CAACkF,QAAQ,IAAIb,WAAW,GAAG,IAAI,gBACxCQ,GAAA,CAACM,aAAa,EAAA;AAACtF,MAAAA,WAAW,EAAEA,WAAY;MAACuF,QAAQ,EAAEpF,UAAU,CAACoF,QAAS;MAAAH,QAAA,EACpExF,KAAK,CAACwF;KACM;AAChB,GAAA,CACK,CAAC;AAEb;AAEA,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAI1F,KAItB,EAAK;AACJ,EAAA,IAAIA,KAAK,CAACwF,QAAQ,EAAE,oBAAOJ,GAAA,CAACQ,QAAQ,EAAA;IAAAJ,QAAA,EAAExF,KAAK,CAACwF;AAAQ,GAAW,CAAC;AAChE,EAAA,IAAIxF,KAAK,CAAC2F,QAAQ,KAAK,cAAc,EAAE;AACrC,IAAA,oBACEE,IAAA,CAAA,KAAA,EAAA;AAAAL,MAAAA,QAAA,gBACEJ,GAAA,CAAAU,aAAA,EAAe,EAAA,CAAC,eAChBV,GAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,KAAK,EAAE;AAAEC,UAAAA,SAAS,EAAE;SAAI;AAAAR,QAAAA,QAAA,EAAExF,KAAK,CAACI,WAAW,IAAI;AAAM,OAAM,CAAC;AAAA,KAC9D,CAAC;AAEV;AACA,EAAA,IAAIJ,KAAK,CAAC2F,QAAQ,KAAK,SAAS,EAAE;IAChC,oBACEP,GAAA,CAACa,MAAM,EAAA;AAACC,MAAAA,IAAI,EAAC,SAAS;MAACC,KAAK,EAAA,IAAA;AAAAX,MAAAA,QAAA,EACzBxF,KAAK,CAACI,WAAW,IAAI;AAAQ,KACxB,CAAC;AAEb;EACA,oBACEgF,GAAA,CAACa,MAAM,EAAA;AAACC,IAAAA,IAAI,EAAC,SAAS;IAACC,KAAK,EAAA,IAAA;AAAAX,IAAAA,QAAA,EACzBxF,KAAK,CAACI,WAAW,IAAI;AAAQ,GACxB,CAAC;AAEb,CAAC;;;;"}
|