@flatbiz/antd 5.2.7 → 5.2.8
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/{content-C6Qc7y_K.js → content-CXmBn9B0.js} +2 -2
- package/dist/content-CXmBn9B0.js.map +1 -0
- package/dist/{content-Px6O7VBy.js → content-DnpCk2LR.js} +245 -103
- package/dist/content-DnpCk2LR.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/markdown-editor/index.css +1 -0
- package/dist/markdown-editor/index.d.ts +4 -1
- package/dist/markdown-editor/index.js +53 -2
- package/dist/markdown-editor/index.js.map +1 -1
- package/dist/upload-multi-type/index.js +8 -6
- package/dist/upload-multi-type/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/content-C6Qc7y_K.js.map +0 -1
- package/dist/content-Px6O7VBy.js.map +0 -1
|
@@ -4,7 +4,7 @@ import { a as _slicedToArray, c as _toConsumableArray } from './_rollupPluginBab
|
|
|
4
4
|
import { useState, useMemo } from 'react';
|
|
5
5
|
import { useMemoizedFn } from 'ahooks';
|
|
6
6
|
import { Button, Tabs, Spin, message } from 'antd';
|
|
7
|
-
import { dialogPreviewImage } from '
|
|
7
|
+
import { d as dialogPreviewImage } from './preview-image-BGEPfC0y.js';
|
|
8
8
|
import { U as UploadWrapper } from './upload-wrapper-DmZglNR4.js';
|
|
9
9
|
import _DeleteOutlined from '@ant-design/icons/es/icons/DeleteOutlined.js';
|
|
10
10
|
import _EyeOutlined from '@ant-design/icons/es/icons/EyeOutlined.js';
|
|
@@ -294,4 +294,4 @@ var UploadMultiType = function UploadMultiType(props) {
|
|
|
294
294
|
};
|
|
295
295
|
|
|
296
296
|
export { UploadMultiType as U };
|
|
297
|
-
//# sourceMappingURL=content-
|
|
297
|
+
//# sourceMappingURL=content-CXmBn9B0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-CXmBn9B0.js","sources":["@flatbiz/antd/src/upload-multi-type/file-view.tsx","@flatbiz/antd/src/upload-multi-type/content.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport { DeleteOutlined, EyeOutlined } from '@ant-design/icons';\nimport type { UploadMultiTypeFileItem } from './type.js';\n\nconst IMAGE_EXTENSIONS = [\n 'png',\n 'jpg',\n 'jpeg',\n 'gif',\n 'webp',\n 'bmp',\n 'svg',\n 'heic',\n 'heif',\n];\n\nfunction isImageFile(name?: string, url?: string): boolean {\n const str = name || url || '';\n const ext = str.slice(str.lastIndexOf('.') + 1).toLowerCase();\n return IMAGE_EXTENSIONS.includes(ext);\n}\n\nexport const FileListView = (props: {\n uploadList: UploadMultiTypeFileItem[];\n onPreview: (url: string) => void;\n onRemove: (index: number) => void;\n disabled?: boolean;\n}) => {\n const { uploadList, onPreview, onRemove } = props;\n\n if (!props.uploadList?.length) {\n return null;\n }\n return (\n <ul className=\"upload-multi-type-file-list\">\n {uploadList.map((item, index) => {\n const isImage = isImageFile(item.name, item.url);\n return (\n <li\n key={`${item.url}-${index}`}\n className=\"upload-multi-type-file-item\"\n >\n <span className=\"upload-multi-type-file-name\" title={item.name}>\n {isImage ? (\n <span\n className=\"upload-multi-type-file-name-image\"\n onClick={() => onPreview(item.url)}\n >\n {item.name}\n </span>\n ) : (\n <span>{item.name}</span>\n )}\n </span>\n <span className=\"upload-multi-type-file-actions\">\n {isImage ? (\n <Button\n type=\"text\"\n size=\"small\"\n icon={<EyeOutlined />}\n className=\"upload-multi-type-action-btn\"\n onClick={() => onPreview(item.url)}\n aria-label=\"预览\"\n />\n ) : null}\n <Button\n type=\"text\"\n size=\"small\"\n hidden={props.disabled}\n icon={<DeleteOutlined />}\n className=\"upload-multi-type-action-btn upload-multi-type-action-btn-danger\"\n onClick={() => onRemove(index)}\n aria-label=\"删除\"\n />\n </span>\n </li>\n );\n })}\n </ul>\n );\n};\n","import { useMemo, useState } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nimport { message, Spin, Tabs } from 'antd';\nimport { dialogPreviewImage } from '../dialog-preview-image/preview-image.jsx';\nimport { UploadWrapper } from '../upload-wrapper/upload-wrapper.jsx';\nimport { FileListView } from './file-view.jsx';\nimport type { UploadMultiTypeFileItem } from './type.js';\nimport './style.less';\n\nfunction getImageFileFromPaste(e: React.ClipboardEvent): File | null {\n const items = e.clipboardData?.items;\n if (!items) return null;\n for (let i = 0; i < items.length; i++) {\n if (items[i].type.indexOf('image') !== -1) {\n return items[i].getAsFile();\n }\n }\n return null;\n}\n\ntype UploadMultiTypeProps = {\n value?: string[] | UploadMultiTypeFileItem[];\n onChange?: (v: any) => void;\n /** 上传文件 */\n onUploadFile: (file: File) => Promise<UploadMultiTypeFileItem>;\n /** 最大上传数量 */\n maxCount?: number;\n /** 上传文件类型,例如:image/*, video/*, audio/* */\n accept?: string;\n /** 只上传图片,默认:false;设置accept时,此配置无效 */\n onlyUploadImage?: boolean;\n\n disabled?: boolean;\n};\n\n/**\n * 上传组件,同时支持多种上传方式,支持【点击&拖拽上传】、【粘贴上传】\n * ```\n * @example\n * const onUploadFile = useMemoizedFn(async (file: File) => {\n * const formData = new FormData();\n * formData.append('file', file);\n * const respData = await serviceHandle.upload<{\n * url: string;\n * name?: string;\n * }>('https://pubtest.hnapay.com/api/file/upload', formData);\n * return respData;\n * });\n *\n * <UploadMultiType onUploadFile={onUploadFile} maxCount={1} />\n * ```\n */\nexport const UploadMultiType = (props: UploadMultiTypeProps) => {\n const { value, onChange } = props;\n const [showPasteSuccess, setShowPasteSuccess] = useState(false);\n const [loading, setLoading] = useState(false);\n const maxCount = props.maxCount;\n const [uploadList, setUploadList] = useState<UploadMultiTypeFileItem[]>(() =>\n Array.isArray(value) && value.length > 0\n ? value.map((item: any) => ({\n name: item?.name ?? item?.url?.split?.('/').pop(),\n url: item?.url ?? '',\n }))\n : []\n );\n\n const onChangeHandler = useMemoizedFn(async (data: any) => {\n const files = data as File[];\n if (!files?.length) return;\n setLoading(true);\n try {\n const respData = await props.onUploadFile?.(files[0]);\n const fileName = respData?.name || respData?.url.split('/').pop();\n const newItem = { name: fileName, url: respData?.url };\n if (maxCount && maxCount == 1) {\n setUploadList([newItem]);\n onChange?.([newItem]);\n } else {\n setUploadList((prev) => {\n let prevListNew = prev;\n if (maxCount && prevListNew.length >= maxCount) {\n prevListNew = prevListNew.slice(0, maxCount - 1);\n }\n const mergedList = [...prevListNew, newItem];\n onChange?.(mergedList);\n return mergedList;\n });\n }\n } catch (error) {\n void message.error(error?.['message'] || '上传操作失败');\n throw error;\n } finally {\n setLoading(false);\n }\n });\n\n const onPaste = useMemoizedFn(async (e: React.ClipboardEvent) => {\n e.preventDefault();\n const file = getImageFileFromPaste(e);\n if (!file) return;\n await onChangeHandler?.([file]);\n setShowPasteSuccess(true);\n setTimeout(() => {\n setShowPasteSuccess(false);\n }, 1500);\n });\n const onPreview = useMemoizedFn((url: string) => {\n dialogPreviewImage.show({ imageUrl: url });\n });\n\n const onRemove = useMemoizedFn((index: number) => {\n setUploadList((prev) => {\n const next = prev.filter((_, i) => i !== index);\n onChange?.(next);\n return next;\n });\n });\n\n const accept = useMemo(() => {\n if (props.accept) {\n return props.accept;\n }\n return props.onlyUploadImage ? 'image/*' : undefined;\n }, [props.accept, props.onlyUploadImage]);\n\n if (props.disabled) {\n if (!uploadList?.length) {\n return null;\n }\n return (\n <div className=\"v-upload-multi-type-disabled\">\n <FileListView\n uploadList={uploadList}\n onPreview={onPreview}\n onRemove={onRemove}\n disabled={props.disabled}\n />\n </div>\n );\n }\n\n return (\n <div className={'v-upload-multi-type'}>\n <div className=\"v-upload-multi-type-inner\">\n <Tabs\n destroyOnHidden={false}\n items={[\n {\n key: 'dragger',\n label: '点击&拖拽上传',\n forceRender: true,\n children: (\n <Spin spinning={loading}>\n <UploadWrapper\n name=\"file\"\n accept={accept}\n maxCount={maxCount}\n autoSubmit={false}\n onChange={onChangeHandler}\n isDragger\n showUploadList={false}\n />\n </Spin>\n ),\n },\n {\n key: 'paste',\n label: '粘贴上传',\n forceRender: true,\n children: (\n <Spin spinning={loading}>\n <div\n className=\"upload-image-paste-zone\"\n onPaste={onPaste}\n tabIndex={0}\n role=\"textbox\"\n aria-label=\"粘贴图片区域\"\n >\n {showPasteSuccess ? (\n <span className=\"upload-image-paste-tip success\">\n 已粘贴上传图片成功\n </span>\n ) : (\n <span className=\"upload-image-paste-tip\">\n 在此区域点击后使用 Ctrl+V / Cmd+V 粘贴图片\n </span>\n )}\n </div>\n </Spin>\n ),\n },\n ]}\n />\n {uploadList.length > 0 ? (\n <FileListView\n uploadList={uploadList}\n onPreview={onPreview}\n onRemove={onRemove}\n disabled={props.disabled}\n />\n ) : null}\n </div>\n </div>\n );\n};\n"],"names":["IMAGE_EXTENSIONS","isImageFile","name","url","str","ext","slice","lastIndexOf","toLowerCase","includes","FileListView","props","_props$uploadList","uploadList","onPreview","onRemove","length","_jsx","className","children","map","item","index","isImage","_jsxs","title","onClick","Button","type","size","icon","_EyeOutlined","hidden","disabled","_DeleteOutlined","concat","getImageFileFromPaste","e","_e$clipboardData","items","clipboardData","i","indexOf","getAsFile","UploadMultiType","value","onChange","_useState","useState","_useState2","_slicedToArray","showPasteSuccess","setShowPasteSuccess","_useState3","_useState4","loading","setLoading","maxCount","_useState5","Array","isArray","_item$name","_item$url","_item$url$split","_item$url2","split","call","pop","_useState6","setUploadList","onChangeHandler","useMemoizedFn","data","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","$boundEx","bind","files","_props$onUploadFile","respData","fileName","newItem","$Try_1_Post","$Try_1_Catch","error","message","resolve","onUploadFile","then","$await_2","prev","prevListNew","mergedList","_toConsumableArray","onPaste","file","preventDefault","$await_3","setTimeout","dialogPreviewImage","show","imageUrl","next","filter","_","accept","useMemo","onlyUploadImage","undefined","Tabs","destroyOnHidden","key","label","forceRender","Spin","spinning","UploadWrapper","autoSubmit","isDragger","showUploadList","tabIndex","role"],"mappings":"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"}
|
|
@@ -2,13 +2,66 @@
|
|
|
2
2
|
|
|
3
3
|
import { _ as _objectWithoutProperties, a as _slicedToArray, b as _objectSpread2 } from './_rollupPluginBabelHelpers-BspM60Sw.js';
|
|
4
4
|
import _CloseCircleFilled from '@ant-design/icons/es/icons/CloseCircleFilled.js';
|
|
5
|
-
import { useRef, useState, useEffect, useMemo } from 'react';
|
|
6
|
-
import { Button, message, Spin } from 'antd';
|
|
7
|
-
import {
|
|
5
|
+
import { useRef, useState, useEffect, useCallback, useMemo } from 'react';
|
|
6
|
+
import { Button, InputNumber, message, Spin } from 'antd';
|
|
7
|
+
import { openNewWindow, getUuid, loadScripts, loadStyles } from '@flatbiz/utils';
|
|
8
8
|
import { classNames } from '@dimjs/utils/class-names/class-names';
|
|
9
|
-
import { useSize } from 'ahooks';
|
|
10
|
-
import {
|
|
9
|
+
import { useMemoizedFn, useSize } from 'ahooks';
|
|
10
|
+
import { C as CardLayout } from './card-layout-P-Qb5pCT.js';
|
|
11
|
+
import { C as CodeRender } from './code-Dbu2QlhZ.js';
|
|
12
|
+
import { d as dialogModal } from './dialog-modal-CGMNBSgq.js';
|
|
11
13
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
14
|
+
import { getCodeString } from 'rehype-rewrite';
|
|
15
|
+
import { isObject } from '@dimjs/lang/is-object';
|
|
16
|
+
import { isString } from '@dimjs/lang/is-string';
|
|
17
|
+
import { A as AlertWrapper } from './alert-DGRFbqqK.js';
|
|
18
|
+
import { E as EasyForm } from './form-ByFljQr9.js';
|
|
19
|
+
import { F as FormItemHidden } from './form-item-hidden-BtQvJEx7.js';
|
|
20
|
+
import { F as FormItemWrapper } from './form-item-wrapper-Ci7-5IKi.js';
|
|
21
|
+
import { G as Gap } from './gap-5v_ndf2v.js';
|
|
22
|
+
import { U as UploadMultiType } from './content-CXmBn9B0.js';
|
|
23
|
+
|
|
24
|
+
var MermaidViewBtn = function MermaidViewBtn() {
|
|
25
|
+
var handeClick = function handeClick() {
|
|
26
|
+
dialogModal.open({
|
|
27
|
+
title: 'Mermaid图形示例',
|
|
28
|
+
content: function content() {
|
|
29
|
+
return /*#__PURE__*/jsxs("div", {
|
|
30
|
+
children: [/*#__PURE__*/jsx(CardLayout, {
|
|
31
|
+
title: '示例',
|
|
32
|
+
subTitle: '在Markdown中使用Mermaid图形',
|
|
33
|
+
layoutType: "tight",
|
|
34
|
+
children: /*#__PURE__*/jsx(CodeRender, {
|
|
35
|
+
code: "```mermaid\nsequenceDiagram\n native->>haipay\u670D\u52A1\u7AEF:\u83B7\u53D6accessToken\n haipay\u670D\u52A1\u7AEF->>tc\u670D\u52A1\u7AEF: \u8C03\u7528tc\u7684\u63A5\u53E3\u83B7\u53D6accessToken\n tc\u670D\u52A1\u7AEF->>haipay\u670D\u52A1\u7AEF: \u8FD4\u56DEaccessToken\n haipay\u670D\u52A1\u7AEF-->>native: \u5C06accessToken\u8FD4\u56DEnative\n native->>tch5: \u5C06accessToken\u8FD4\u56DE\u7ED9tch5\uFF0C\u8FDB\u884C\u767B\u5F55"
|
|
36
|
+
})
|
|
37
|
+
}), /*#__PURE__*/jsx(Button, {
|
|
38
|
+
block: true,
|
|
39
|
+
type: "primary",
|
|
40
|
+
ghost: true,
|
|
41
|
+
style: {
|
|
42
|
+
marginTop: 20
|
|
43
|
+
},
|
|
44
|
+
onClick: function onClick() {
|
|
45
|
+
openNewWindow('https://docs.min2k.com/zh/mermaid/syntax/pie.html');
|
|
46
|
+
},
|
|
47
|
+
children: "\u67E5\u770B\u66F4\u591A\u793A\u4F8B"
|
|
48
|
+
})]
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
okHidden: true,
|
|
52
|
+
cancelHidden: true
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
return /*#__PURE__*/jsx(Button, {
|
|
56
|
+
type: "default",
|
|
57
|
+
size: "small",
|
|
58
|
+
style: {
|
|
59
|
+
fontSize: 12
|
|
60
|
+
},
|
|
61
|
+
onClick: handeClick,
|
|
62
|
+
children: "\u652F\u6301Mermaid\u56FE\u5F62"
|
|
63
|
+
}, "imageUpload");
|
|
64
|
+
};
|
|
12
65
|
|
|
13
66
|
var _excluded$1 = ["children", "className"];
|
|
14
67
|
var PluginMermaidCode = function PluginMermaidCode(_ref) {
|
|
@@ -122,15 +175,163 @@ var PluginMermaidCode = function PluginMermaidCode(_ref) {
|
|
|
122
175
|
});
|
|
123
176
|
};
|
|
124
177
|
|
|
125
|
-
|
|
126
|
-
|
|
178
|
+
function getImageDimensions(url) {
|
|
179
|
+
return new Promise(function (resolve, reject) {
|
|
180
|
+
var img = new Image();
|
|
181
|
+
img.onload = function () {
|
|
182
|
+
resolve({
|
|
183
|
+
width: img.naturalWidth,
|
|
184
|
+
height: img.naturalHeight
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
img.onerror = function () {
|
|
188
|
+
reject(new Error('图片加载失败'));
|
|
189
|
+
};
|
|
190
|
+
img.src = url;
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
var UploadImageContent = function UploadImageContent(props) {
|
|
194
|
+
var onValuesChange = useCallback(function (changedFields) {
|
|
195
|
+
return new Promise(function ($return, $error) {
|
|
196
|
+
if (changedFields.imageUrls) {
|
|
197
|
+
var imageUrls = changedFields.imageUrls;
|
|
198
|
+
if (!(imageUrls !== null && imageUrls !== void 0 && imageUrls.length)) return $return();
|
|
199
|
+
var imageUrl = isString(imageUrls[0]) ? imageUrls[0] : imageUrls[0].url;
|
|
200
|
+
getImageDimensions(imageUrl).then(function (_ref) {
|
|
201
|
+
var width = _ref.width,
|
|
202
|
+
height = _ref.height;
|
|
203
|
+
props.form.setFieldsValue({
|
|
204
|
+
width: width,
|
|
205
|
+
height: height
|
|
206
|
+
});
|
|
207
|
+
}).catch(function () {});
|
|
208
|
+
}
|
|
209
|
+
return $return();
|
|
210
|
+
});
|
|
211
|
+
}, [props.form]);
|
|
212
|
+
var onUploadFile = useMemoizedFn(function (file) {
|
|
213
|
+
return new Promise(function ($return, $error) {
|
|
214
|
+
var _props$onUploadImage, formData, respData;
|
|
215
|
+
formData = new FormData();
|
|
216
|
+
formData.append('file', file);
|
|
217
|
+
return Promise.resolve((_props$onUploadImage = props.onUploadImage) === null || _props$onUploadImage === void 0 ? void 0 : _props$onUploadImage.call(props, file)).then(function ($await_1) {
|
|
218
|
+
try {
|
|
219
|
+
respData = $await_1;
|
|
220
|
+
return $return(respData);
|
|
221
|
+
} catch ($boundEx) {
|
|
222
|
+
return $error($boundEx);
|
|
223
|
+
}
|
|
224
|
+
}, $error);
|
|
225
|
+
});
|
|
226
|
+
});
|
|
227
|
+
return /*#__PURE__*/jsxs(EasyForm, {
|
|
228
|
+
form: props.form,
|
|
229
|
+
onValuesChange: onValuesChange,
|
|
230
|
+
initialValues: {
|
|
231
|
+
file: [{
|
|
232
|
+
url: 'https://file.40017.cn/jinfu/arbitrarily/umm4vdnm25z6kffm.png',
|
|
233
|
+
name: 'xxx1.png'
|
|
234
|
+
}, {
|
|
235
|
+
url: 'https://file.40017.cn/jinfu/arbitrarily/umm4vdnm25z6kffm.png',
|
|
236
|
+
name: 'xxx2.png'
|
|
237
|
+
}]
|
|
238
|
+
},
|
|
239
|
+
children: [/*#__PURE__*/jsx(FormItemHidden, {
|
|
240
|
+
name: "height"
|
|
241
|
+
}), /*#__PURE__*/jsx(FormItemWrapper, {
|
|
242
|
+
name: "imageUrls",
|
|
243
|
+
label: "\u56FE\u7247",
|
|
244
|
+
rules: [{
|
|
245
|
+
required: true,
|
|
246
|
+
message: '请选择或粘贴图片'
|
|
247
|
+
}],
|
|
248
|
+
noStyle: true,
|
|
249
|
+
children: /*#__PURE__*/jsx(UploadMultiType, {
|
|
250
|
+
onUploadFile: onUploadFile,
|
|
251
|
+
maxCount: 1
|
|
252
|
+
})
|
|
253
|
+
}), /*#__PURE__*/jsx(Gap, {
|
|
254
|
+
height: 12
|
|
255
|
+
}), /*#__PURE__*/jsx(FormItemWrapper, {
|
|
256
|
+
name: "width",
|
|
257
|
+
label: "\u5BBD\u5EA6",
|
|
258
|
+
children: /*#__PURE__*/jsx(InputNumber, {
|
|
259
|
+
placeholder: "\u8BF7\u8F93\u5165\u5BBD\u5EA6",
|
|
260
|
+
style: {
|
|
261
|
+
width: '200px'
|
|
262
|
+
},
|
|
263
|
+
addonAfter: "px"
|
|
264
|
+
})
|
|
265
|
+
}), /*#__PURE__*/jsx(AlertWrapper, {
|
|
266
|
+
size: "small",
|
|
267
|
+
description: "\u53EF\u4FEE\u6539\u5BBD\u5EA6\u8FDB\u884C\u7B49\u6BD4\u7F29\u653E\u663E\u793A"
|
|
268
|
+
})]
|
|
269
|
+
});
|
|
270
|
+
};
|
|
127
271
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
*/
|
|
272
|
+
var UploadImageBtn = function UploadImageBtn(props) {
|
|
273
|
+
var handleImageClick = function handleImageClick() {
|
|
274
|
+
dialogModal.open({
|
|
275
|
+
title: '上传图片',
|
|
276
|
+
content: function content(form) {
|
|
277
|
+
return /*#__PURE__*/jsx(UploadImageContent, {
|
|
278
|
+
form: form,
|
|
279
|
+
onUploadImage: props.onUploadImage
|
|
280
|
+
});
|
|
281
|
+
},
|
|
282
|
+
okText: '确定',
|
|
283
|
+
onOk: function onOk(form) {
|
|
284
|
+
return new Promise(function ($return, $error) {
|
|
285
|
+
var values, imageUrls, imageItem, _props$onUploadResult, _props$onUploadResult2, name;
|
|
286
|
+
return Promise.resolve(form.validateFields()).then(function ($await_2) {
|
|
287
|
+
try {
|
|
288
|
+
values = $await_2;
|
|
289
|
+
try {
|
|
290
|
+
imageUrls = values.imageUrls;
|
|
291
|
+
if (!(imageUrls !== null && imageUrls !== void 0 && imageUrls.length)) return $return();
|
|
292
|
+
imageItem = imageUrls[0];
|
|
293
|
+
if (isObject(imageItem)) {
|
|
294
|
+
(_props$onUploadResult = props.onUploadResult) === null || _props$onUploadResult === void 0 || _props$onUploadResult.call(props, {
|
|
295
|
+
url: imageItem.url,
|
|
296
|
+
name: imageItem.name,
|
|
297
|
+
width: values.width
|
|
298
|
+
});
|
|
299
|
+
} else {
|
|
300
|
+
name = imageItem.split('/').pop();
|
|
301
|
+
(_props$onUploadResult2 = props.onUploadResult) === null || _props$onUploadResult2 === void 0 || _props$onUploadResult2.call(props, {
|
|
302
|
+
url: imageItem,
|
|
303
|
+
name: name,
|
|
304
|
+
width: values.width
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
} catch (error) {
|
|
308
|
+
message.error((error === null || error === void 0 ? void 0 : error['message']) || '上传图片失败');
|
|
309
|
+
return $return(Promise.reject());
|
|
310
|
+
}
|
|
311
|
+
return $return(Promise.resolve());
|
|
312
|
+
} catch ($boundEx) {
|
|
313
|
+
return $error($boundEx);
|
|
314
|
+
}
|
|
315
|
+
}, $error);
|
|
316
|
+
});
|
|
317
|
+
},
|
|
318
|
+
onCancel: function onCancel() {
|
|
319
|
+
console.log('onCancel');
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
};
|
|
323
|
+
return /*#__PURE__*/jsx(Button, {
|
|
324
|
+
type: "default",
|
|
325
|
+
size: "small",
|
|
326
|
+
style: {
|
|
327
|
+
fontSize: 12
|
|
328
|
+
},
|
|
329
|
+
onClick: handleImageClick,
|
|
330
|
+
children: "\u4E0A\u4F20\u56FE\u7247"
|
|
331
|
+
});
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
var _excluded = ["value", "onChange", "onUploadImage", "readonly", "isDarkMode", "className", "style", "readonlyHeightAuto", "height", "hideBorder"];
|
|
134
335
|
var ReactMdEditor = function ReactMdEditor(props) {
|
|
135
336
|
var value = props.value,
|
|
136
337
|
onChange = props.onChange,
|
|
@@ -156,106 +357,56 @@ var ReactMdEditor = function ReactMdEditor(props) {
|
|
|
156
357
|
// 编辑器实例引用(用于操作内容)
|
|
157
358
|
var editorRef = useRef(null);
|
|
158
359
|
// 隐藏的文件选择器ref
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
// 触发文件选择框
|
|
162
|
-
var handleImageClick = function handleImageClick() {
|
|
163
|
-
var _fileInputRef$current;
|
|
164
|
-
(_fileInputRef$current = fileInputRef.current) === null || _fileInputRef$current === void 0 || _fileInputRef$current.click();
|
|
165
|
-
};
|
|
360
|
+
useRef(null);
|
|
166
361
|
var onInnerChange = function onInnerChange(value) {
|
|
167
362
|
setInnerValue(value);
|
|
168
363
|
onChange === null || onChange === void 0 || onChange(value);
|
|
169
364
|
};
|
|
170
365
|
|
|
171
366
|
// 处理图片选择(核心:读取图片并插入)
|
|
172
|
-
var
|
|
173
|
-
|
|
174
|
-
var
|
|
175
|
-
|
|
176
|
-
if (
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
367
|
+
var onUploadResult = function onUploadResult(respData) {
|
|
368
|
+
try {
|
|
369
|
+
var imageMarkdown = "\n<img src=\"".concat(respData.url, "\" width=\"").concat(respData.width, "\" alt=\"").concat(respData.name, "\">\n");
|
|
370
|
+
// 将图片Markdown插入到编辑器光标位置
|
|
371
|
+
if (editorRef.current) {
|
|
372
|
+
var _editorRef$current;
|
|
373
|
+
var textarea = (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current['textarea'];
|
|
374
|
+
var cursorPosition = textarea.selectionStart;
|
|
375
|
+
var newContent = (innerValue === null || innerValue === void 0 ? void 0 : innerValue.slice(0, cursorPosition)) + imageMarkdown + (innerValue === null || innerValue === void 0 ? void 0 : innerValue.slice(cursorPosition));
|
|
376
|
+
onInnerChange(newContent);
|
|
182
377
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
} catch ($boundEx) {
|
|
187
|
-
return $error($boundEx);
|
|
188
|
-
}
|
|
189
|
-
};
|
|
190
|
-
var $Try_1_Catch = function (error) {
|
|
191
|
-
try {
|
|
192
|
-
message.error((error === null || error === void 0 ? void 0 : error['']) || '图片上传失败');
|
|
193
|
-
return $Try_1_Post();
|
|
194
|
-
} catch ($boundEx) {
|
|
195
|
-
return $error($boundEx);
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
try {
|
|
199
|
-
return Promise.resolve(onUploadImage === null || onUploadImage === void 0 ? void 0 : onUploadImage(file)).then(function ($await_2) {
|
|
200
|
-
try {
|
|
201
|
-
imageUrl = $await_2;
|
|
202
|
-
imageMarkdown = "\n\n");
|
|
203
|
-
// 将图片Markdown插入到编辑器光标位置
|
|
204
|
-
if (editorRef.current) {
|
|
205
|
-
textarea = (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current['textarea'];
|
|
206
|
-
cursorPosition = textarea.selectionStart;
|
|
207
|
-
newContent = (innerValue === null || innerValue === void 0 ? void 0 : innerValue.slice(0, cursorPosition)) + imageMarkdown + (innerValue === null || innerValue === void 0 ? void 0 : innerValue.slice(cursorPosition));
|
|
208
|
-
onInnerChange(newContent);
|
|
209
|
-
// 清空文件选择框,避免重复选择同一文件无响应
|
|
210
|
-
e.target.value = '';
|
|
211
|
-
}
|
|
212
|
-
return $Try_1_Post();
|
|
213
|
-
} catch ($boundEx) {
|
|
214
|
-
return $Try_1_Catch($boundEx);
|
|
215
|
-
}
|
|
216
|
-
}, $Try_1_Catch);
|
|
217
|
-
} catch (error) {
|
|
218
|
-
$Try_1_Catch(error);
|
|
219
|
-
}
|
|
220
|
-
});
|
|
378
|
+
} catch (error) {
|
|
379
|
+
message.error((error === null || error === void 0 ? void 0 : error['message']) || '添加图片失败');
|
|
380
|
+
}
|
|
221
381
|
};
|
|
222
|
-
var imageUploadCommand = {
|
|
382
|
+
var imageUploadCommand = onUploadImage ? {
|
|
223
383
|
name: 'imageUpload',
|
|
224
384
|
keyCommand: 'imageUpload',
|
|
225
385
|
render: function render() {
|
|
226
|
-
return /*#__PURE__*/jsx(
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
}
|
|
232
|
-
onClick
|
|
233
|
-
children: "\u4E0A\u4F20\u56FE\u7247"
|
|
386
|
+
return /*#__PURE__*/jsx(UploadImageBtn, {
|
|
387
|
+
onUploadResult: onUploadResult,
|
|
388
|
+
onUploadImage: onUploadImage
|
|
389
|
+
// type="default"
|
|
390
|
+
// size="small"
|
|
391
|
+
// style={{ fontSize: 12 }}
|
|
392
|
+
// onClick={handleImageClick}
|
|
234
393
|
}, "imageUpload");
|
|
235
394
|
}
|
|
236
|
-
};
|
|
395
|
+
} : null;
|
|
237
396
|
// 支持 mermaid 语法
|
|
238
397
|
var mermaidCommand = {
|
|
239
398
|
name: 'mermaid',
|
|
240
399
|
keyCommand: 'mermaid',
|
|
241
400
|
render: function render() {
|
|
242
|
-
return /*#__PURE__*/jsx(
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
style: {
|
|
246
|
-
fontSize: 12
|
|
247
|
-
},
|
|
248
|
-
onClick: function onClick() {
|
|
249
|
-
openNewWindow('https://docs.min2k.com/zh/mermaid/syntax/pie.html');
|
|
250
|
-
},
|
|
251
|
-
children: "\u652F\u6301Mermaid\u56FE\u5F62"
|
|
252
|
-
}, "mermaid");
|
|
401
|
+
return /*#__PURE__*/jsx(MermaidViewBtn
|
|
402
|
+
// type="default"
|
|
403
|
+
, {}, "mermaid");
|
|
253
404
|
}
|
|
254
405
|
};
|
|
255
406
|
var MDEditor = window['@uiw/react-md-editor'].default;
|
|
256
407
|
var commands = window['@uiw/react-md-editor'].commands;
|
|
257
408
|
var extraCommands = [];
|
|
258
|
-
if (
|
|
409
|
+
if (imageUploadCommand && !readonly) {
|
|
259
410
|
extraCommands = [imageUploadCommand, commands.divider, mermaidCommand, commands.divider, commands.fullscreen];
|
|
260
411
|
} else {
|
|
261
412
|
extraCommands = [mermaidCommand, commands.divider, commands.fullscreen];
|
|
@@ -286,11 +437,11 @@ var ReactMdEditor = function ReactMdEditor(props) {
|
|
|
286
437
|
if (autoHeight) return false;
|
|
287
438
|
return restProps.visibleDragbar;
|
|
288
439
|
}, [autoHeight, restProps.visibleDragbar]);
|
|
289
|
-
return /*#__PURE__*/
|
|
440
|
+
return /*#__PURE__*/jsx("div", {
|
|
290
441
|
style: style,
|
|
291
442
|
className: classNames('v-markdown-editor', className),
|
|
292
443
|
id: id,
|
|
293
|
-
children:
|
|
444
|
+
children: /*#__PURE__*/jsx(MDEditor, _objectSpread2(_objectSpread2({
|
|
294
445
|
highlightEnable: true
|
|
295
446
|
}, restProps), {}, {
|
|
296
447
|
style: {
|
|
@@ -310,16 +461,7 @@ var ReactMdEditor = function ReactMdEditor(props) {
|
|
|
310
461
|
code: PluginMermaidCode
|
|
311
462
|
}
|
|
312
463
|
}
|
|
313
|
-
}))
|
|
314
|
-
type: "file",
|
|
315
|
-
ref: fileInputRef,
|
|
316
|
-
accept: "image/*" // 只允许选择图片
|
|
317
|
-
,
|
|
318
|
-
onChange: handleFileChange,
|
|
319
|
-
style: {
|
|
320
|
-
display: 'none'
|
|
321
|
-
}
|
|
322
|
-
})]
|
|
464
|
+
}))
|
|
323
465
|
});
|
|
324
466
|
};
|
|
325
467
|
|
|
@@ -411,4 +553,4 @@ var MarkdownEditor = function MarkdownEditor(props) {
|
|
|
411
553
|
};
|
|
412
554
|
|
|
413
555
|
export { MarkdownEditor as M };
|
|
414
|
-
//# sourceMappingURL=content-
|
|
556
|
+
//# sourceMappingURL=content-DnpCk2LR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-DnpCk2LR.js","sources":["@flatbiz/antd/src/markdown-editor/mermaid-view/index.tsx","@flatbiz/antd/src/markdown-editor/plugin-mermaid.tsx","@flatbiz/antd/src/markdown-editor/upload-image/content.tsx","@flatbiz/antd/src/markdown-editor/upload-image/index.tsx","@flatbiz/antd/src/markdown-editor/editor.tsx","@flatbiz/antd/src/markdown-editor/content.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport { openNewWindow } from '@flatbiz/utils';\nimport { CardLayout } from '../../card-layout/card-layout.jsx';\nimport { CodeRender } from '../../code-render/code.jsx';\nimport { dialogModal } from '../../dialog-modal/dialog-modal.jsx';\n\nexport const MermaidViewBtn = () => {\n const handeClick = () => {\n dialogModal.open({\n title: 'Mermaid图形示例',\n content: () => {\n return (\n <div>\n <CardLayout\n title={'示例'}\n subTitle={'在Markdown中使用Mermaid图形'}\n layoutType=\"tight\"\n >\n <CodeRender\n code={`\\`\\`\\`mermaid\nsequenceDiagram\n native->>haipay服务端:获取accessToken\n haipay服务端->>tc服务端: 调用tc的接口获取accessToken\n tc服务端->>haipay服务端: 返回accessToken\n haipay服务端-->>native: 将accessToken返回native\n native->>tch5: 将accessToken返回给tch5,进行登录`}\n />\n </CardLayout>\n <Button\n block\n type=\"primary\"\n ghost\n style={{ marginTop: 20 }}\n onClick={() => {\n openNewWindow(\n 'https://docs.min2k.com/zh/mermaid/syntax/pie.html'\n );\n }}\n >\n 查看更多示例\n </Button>\n </div>\n );\n },\n okHidden: true,\n cancelHidden: true,\n });\n };\n\n return (\n <Button\n key=\"imageUpload\"\n type=\"default\"\n size=\"small\"\n style={{ fontSize: 12 }}\n onClick={handeClick}\n >\n 支持Mermaid图形\n </Button>\n );\n};\n","import { useEffect, useRef, useState } from 'react';\nimport { getCodeString } from 'rehype-rewrite';\nimport { getUuid } from '@flatbiz/utils';\n\nexport const PluginMermaidCode = ({\n children = [],\n className,\n ...props\n}: any) => {\n const demoid = useRef(getUuid());\n const [svgContent, setSvgContent] = useState<string>('');\n const renderAbortRef = useRef<boolean>(false);\n const isMermaid =\n className && /^language-mermaid/.test(className.toLocaleLowerCase());\n const code = children\n ? getCodeString(props.node.children)\n : children[0] || '';\n\n useEffect(() => {\n if (isMermaid && code) {\n // 标记之前的渲染为已取消\n renderAbortRef.current = true;\n\n // 重置取消标志\n renderAbortRef.current = false;\n\n // 生成新的唯一 ID\n const currentId = getUuid();\n demoid.current = currentId;\n\n // 创建一个临时的隐藏容器用于 Mermaid 渲染\n const tempContainer = document.createElement('div');\n tempContainer.style.position = 'absolute';\n tempContainer.style.visibility = 'hidden';\n tempContainer.style.width = '0';\n tempContainer.style.height = '0';\n tempContainer.style.top = '-9999px';\n tempContainer.style.left = '-9999px';\n tempContainer.id = currentId;\n document.body.appendChild(tempContainer);\n\n // 使用 requestAnimationFrame 确保在正确的时机渲染\n const frameId = requestAnimationFrame(() => {\n if (renderAbortRef.current) {\n // 清理临时容器\n try {\n if (tempContainer.parentNode) {\n document.body.removeChild(tempContainer);\n }\n } catch {\n // 忽略清理错误\n }\n return;\n }\n const mermaid = window['mermaid'];\n // 在临时容器中渲染\n mermaid\n .render(currentId, code)\n .then(({ svg }) => {\n // 检查是否已被取消\n if (renderAbortRef.current) {\n return;\n }\n\n // 使用 React state 更新 SVG 内容,而不是直接操作 DOM\n setSvgContent(svg);\n })\n .catch((error) => {\n if (!renderAbortRef.current) {\n console.log('Mermaid render error:', error);\n setSvgContent('');\n }\n })\n .finally(() => {\n // 清理临时容器\n try {\n if (tempContainer.parentNode) {\n document.body.removeChild(tempContainer);\n }\n } catch {\n // 忽略清理错误\n }\n });\n });\n\n // 清理函数:取消正在进行的渲染\n return () => {\n renderAbortRef.current = true;\n cancelAnimationFrame(frameId);\n\n // 清理临时容器\n try {\n if (tempContainer.parentNode) {\n document.body.removeChild(tempContainer);\n }\n } catch {\n // 忽略清理错误\n }\n };\n } else {\n setSvgContent('');\n }\n\n return undefined;\n }, [isMermaid, code]);\n\n if (isMermaid) {\n return (\n <code\n className={className}\n data-name=\"mermaid\"\n dangerouslySetInnerHTML={{ __html: svgContent }}\n />\n );\n }\n return <code className={className}>{children}</code>;\n};\n","import { useCallback } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nimport type { FormInstance } from 'antd';\nimport { InputNumber } from 'antd';\nimport { isString } from '@dimjs/lang';\nimport { AlertWrapper } from '../../alert-wrapper/alert.jsx';\nimport { EasyForm } from '../../easy-form/form.jsx';\nimport { FormItemHidden } from '../../form-item-hidden/form-item-hidden.jsx';\nimport { FormItemWrapper } from '../../form-item-wrapper/form-item-wrapper.jsx';\nimport { Gap } from '../../gap/gap.jsx';\nimport { UploadMultiType } from '../../upload-multi-type/content.jsx';\n\nfunction getImageDimensions(\n url: string\n): Promise<{ width: number; height: number }> {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => {\n resolve({ width: img.naturalWidth, height: img.naturalHeight });\n };\n img.onerror = () => {\n reject(new Error('图片加载失败'));\n };\n img.src = url;\n });\n}\n\nexport const UploadImageContent = (props: {\n form: FormInstance;\n onUploadImage: (file: File) => Promise<{ url: string; name: string }>;\n}) => {\n const onValuesChange = useCallback(\n async (changedFields: any) => {\n if (changedFields.imageUrls) {\n const imageUrls = changedFields.imageUrls;\n if (!imageUrls?.length) return;\n const imageUrl = isString(imageUrls[0])\n ? imageUrls[0]\n : imageUrls[0].url;\n getImageDimensions(imageUrl)\n .then(({ width, height }) => {\n props.form.setFieldsValue({ width, height });\n })\n .catch(() => {});\n }\n },\n [props.form]\n );\n\n const onUploadFile = useMemoizedFn(async (file: File) => {\n const formData = new FormData();\n formData.append('file', file);\n const respData = await props.onUploadImage?.(file);\n return respData;\n });\n\n return (\n <EasyForm\n form={props.form}\n onValuesChange={onValuesChange}\n initialValues={{\n file: [\n {\n url: 'https://file.40017.cn/jinfu/arbitrarily/umm4vdnm25z6kffm.png',\n name: 'xxx1.png',\n },\n {\n url: 'https://file.40017.cn/jinfu/arbitrarily/umm4vdnm25z6kffm.png',\n name: 'xxx2.png',\n },\n ],\n }}\n >\n <FormItemHidden name=\"height\" />\n <FormItemWrapper\n name=\"imageUrls\"\n label=\"图片\"\n rules={[{ required: true, message: '请选择或粘贴图片' }]}\n noStyle\n >\n <UploadMultiType onUploadFile={onUploadFile} maxCount={1} />\n </FormItemWrapper>\n <Gap height={12} />\n <FormItemWrapper name=\"width\" label=\"宽度\">\n <InputNumber\n placeholder=\"请输入宽度\"\n style={{ width: '200px' }}\n addonAfter=\"px\"\n />\n </FormItemWrapper>\n\n <AlertWrapper size=\"small\" description=\"可修改宽度进行等比缩放显示\" />\n </EasyForm>\n );\n};\n","import { Button, message } from 'antd';\nimport { isObject } from '@dimjs/lang';\nimport { dialogModal } from '../../dialog-modal/dialog-modal.jsx';\nimport { UploadImageContent } from './content.jsx';\n\nexport const UploadImageBtn = (props: {\n onUploadResult: (respData: {\n url: string;\n name: string;\n width: number;\n }) => void;\n onUploadImage: (file: File) => Promise<{ url: string; name: string }>;\n}) => {\n const handleImageClick = () => {\n dialogModal.open({\n title: '上传图片',\n content: (form) => {\n return (\n <UploadImageContent form={form} onUploadImage={props.onUploadImage} />\n );\n },\n okText: '确定',\n onOk: async (form) => {\n const values = await form.validateFields();\n try {\n const imageUrls = values.imageUrls;\n if (!imageUrls?.length) return;\n const imageItem = imageUrls[0];\n if (isObject(imageItem)) {\n props.onUploadResult?.({\n url: imageItem.url,\n name: imageItem.name,\n width: values.width,\n });\n } else {\n const name = imageItem.split('/').pop();\n props.onUploadResult?.({\n url: imageItem,\n name: name,\n width: values.width,\n });\n }\n } catch (error) {\n message.error(error?.['message'] || '上传图片失败');\n return Promise.reject();\n }\n return Promise.resolve();\n },\n onCancel: () => {\n console.log('onCancel');\n },\n });\n };\n\n return (\n <Button\n type=\"default\"\n size=\"small\"\n style={{ fontSize: 12 }}\n onClick={handleImageClick}\n >\n 上传图片\n </Button>\n );\n};\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport { useSize } from 'ahooks';\nimport { message } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport { getUuid } from '@flatbiz/utils';\nimport { MermaidViewBtn } from './mermaid-view/index.jsx';\nimport { PluginMermaidCode } from './plugin-mermaid.jsx';\nimport type { MarkdownEditorProps } from './type.js';\nimport { UploadImageBtn } from './upload-image/index.jsx';\n// import MDEditor from '@uiw/react-md-editor';\n\n/**\n * ```\n * 使用:@uiw/react-md-editor 组件\n * 文档:https://www.npmjs.com/package/@uiw/react-md-editor\n * ```\n */\nexport const ReactMdEditor = (props: MarkdownEditorProps) => {\n const {\n value,\n onChange,\n onUploadImage,\n readonly,\n isDarkMode,\n className,\n style,\n readonlyHeightAuto,\n height,\n hideBorder,\n ...restProps\n } = props;\n const [innerValue, setInnerValue] = useState<string | undefined>(value);\n\n const readonlyHeightAutoFt = readonlyHeightAuto ?? true;\n\n useEffect(() => {\n console.log('props.value', props.value);\n setInnerValue(props.value);\n }, [props.value]);\n\n // 编辑器实例引用(用于操作内容)\n const editorRef = useRef(null);\n // 隐藏的文件选择器ref\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n // 触发文件选择框\n const handleImageClick = () => {\n fileInputRef.current?.click();\n };\n\n const onInnerChange = (value?: string) => {\n setInnerValue(value);\n onChange?.(value);\n };\n\n // 处理图片选择(核心:读取图片并插入)\n const onUploadResult = (respData: {\n url: string;\n name: string;\n width: number;\n }) => {\n try {\n const imageMarkdown = `\\n<img src=\"${respData.url}\" width=\"${respData.width}\" alt=\"${respData.name}\">\\n`;\n // 将图片Markdown插入到编辑器光标位置\n if (editorRef.current) {\n const textarea = editorRef.current?.['textarea'] as HTMLTextAreaElement;\n const cursorPosition = textarea.selectionStart;\n const newContent =\n innerValue?.slice(0, cursorPosition) +\n imageMarkdown +\n innerValue?.slice(cursorPosition);\n onInnerChange(newContent);\n }\n } catch (error) {\n message.error(error?.['message'] || '添加图片失败');\n }\n };\n\n const imageUploadCommand = onUploadImage\n ? {\n name: 'imageUpload',\n keyCommand: 'imageUpload',\n render: () => {\n return (\n <UploadImageBtn\n key=\"imageUpload\"\n onUploadResult={onUploadResult}\n onUploadImage={onUploadImage}\n // type=\"default\"\n // size=\"small\"\n // style={{ fontSize: 12 }}\n // onClick={handleImageClick}\n />\n );\n },\n }\n : null;\n // 支持 mermaid 语法\n const mermaidCommand = {\n name: 'mermaid',\n keyCommand: 'mermaid',\n render: () => {\n return (\n <MermaidViewBtn\n // type=\"default\"\n key=\"mermaid\"\n // size=\"small\"\n // style={{ fontSize: 12 }}\n // onClick={() => {\n // openNewWindow('https://docs.min2k.com/zh/mermaid/syntax/pie.html');\n // }}\n />\n );\n },\n };\n\n const MDEditor = window['@uiw/react-md-editor'].default;\n const commands = window['@uiw/react-md-editor'].commands;\n\n let extraCommands: any[] = [];\n\n if (imageUploadCommand && !readonly) {\n extraCommands = [\n imageUploadCommand,\n commands.divider,\n mermaidCommand,\n commands.divider,\n commands.fullscreen,\n ];\n } else {\n extraCommands = [mermaidCommand, commands.divider, commands.fullscreen];\n }\n\n const preview = readonly ? 'preview' : 'live';\n\n const dataColorMode = isDarkMode ? 'dark' : 'light';\n\n const commandsFt = useMemo(() => {\n if (readonly) return [];\n return undefined;\n }, [readonly]);\n\n const id = useMemo(() => {\n return getUuid();\n }, []);\n\n const wmdeMarkdownSize = useSize(() =>\n document.querySelector(`#${id} .wmde-markdown`)\n );\n\n const autoHeight = useMemo(() => {\n return readonly && readonlyHeightAutoFt;\n }, [readonly, readonlyHeightAutoFt]);\n\n const heightFt = useMemo(() => {\n if (autoHeight) {\n return (wmdeMarkdownSize?.height ?? 0) + 25;\n }\n return height;\n }, [autoHeight, wmdeMarkdownSize?.height, height]);\n\n const visibleDragbarFt = useMemo(() => {\n if (autoHeight) return false;\n return restProps.visibleDragbar;\n }, [autoHeight, restProps.visibleDragbar]);\n return (\n <div\n style={style}\n className={classNames('v-markdown-editor', className)}\n id={id}\n >\n <MDEditor\n highlightEnable={true}\n {...restProps}\n style={{ boxShadow: hideBorder ? 'none' : undefined }}\n height={heightFt}\n ref={editorRef}\n value={innerValue}\n preview={preview}\n onChange={onInnerChange}\n visibleDragbar={visibleDragbarFt}\n data-color-mode={dataColorMode}\n extraCommands={extraCommands}\n commands={commandsFt}\n previewOptions={{\n components: {\n code: PluginMermaidCode,\n },\n }}\n />\n {/* 隐藏的文件选择输入框 */}\n {/* <input\n type=\"file\"\n ref={fileInputRef}\n accept=\"image/*\" // 只允许选择图片\n onChange={handleFileChange}\n style={{ display: 'none' }}\n /> */}\n </div>\n );\n};\n","import { useEffect, useState } from 'react';\nimport { Spin } from 'antd';\nimport { CloseCircleFilled } from '@ant-design/icons';\nimport { loadScripts, loadStyles } from '@flatbiz/utils';\nimport { ReactMdEditor } from './editor.jsx';\nimport type { MarkdownEditorProps } from './type.js';\n\n/**\n * markdown编辑器\n * ```\n * 1. 使用@uiw/react-md-editor组件\n * 2. 动态加载 mermaid.js 和 mdeditor.js 和 mdeditor.css\n * //oss.ly.com/newpay/cdn/react-md-editor/mermaid.11.12.0.min.js\n * //oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.js\n * //oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.css\n * ```\n */\nexport const MarkdownEditor = (props: MarkdownEditorProps) => {\n const [renderFlag, setRenderFlag] = useState(false);\n const [errorMsg, setErrorMsg] = useState<string | null>(null);\n\n useEffect(() => {\n Promise.all([\n loadScripts({\n scriptUrls: [\n '//oss.ly.com/newpay/cdn/react-md-editor/mermaid.11.12.0.min.js',\n '//oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.js',\n ],\n checkFn: () => {\n const isLoaded = window['@uiw/react-md-editor'] && window['mermaid'];\n return isLoaded;\n },\n intervalMs: 20,\n }),\n loadStyles({\n styleUrls: [\n '//oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.css',\n ],\n }),\n ])\n .then(() => {\n setRenderFlag(true);\n })\n .catch((error) => {\n console.error(error);\n setRenderFlag(true);\n setErrorMsg(error?.message || 'Markdown编辑器加载失败');\n });\n }, []);\n\n if (!renderFlag) {\n return (\n <Spin\n tip={<div style={{ marginTop: 10 }}>Markdown编辑器加载中</div>}\n size=\"small\"\n >\n <div\n style={{\n padding: 50,\n background: 'rgba(0, 0, 0, 0.05)',\n borderRadius: 4,\n }}\n />\n </Spin>\n );\n }\n\n if (errorMsg) {\n return (\n <div style={{ textAlign: 'center', padding: 20, background: '#fff' }}>\n <CloseCircleFilled style={{ color: '#f00', fontSize: 30 }} />\n <div style={{ color: '#f00', marginTop: 10, fontSize: 16 }}>\n Markdown编辑器加载失败\n </div>\n <div style={{ color: '#898989', marginTop: 5, fontSize: 12 }}>\n {errorMsg}\n </div>\n </div>\n );\n }\n\n return <ReactMdEditor {...props} />;\n};\n"],"names":["MermaidViewBtn","handeClick","dialogModal","open","title","content","_jsxs","children","_jsx","CardLayout","subTitle","layoutType","CodeRender","code","Button","block","type","ghost","style","marginTop","onClick","openNewWindow","okHidden","cancelHidden","size","fontSize","PluginMermaidCode","_ref","_ref$children","className","props","_objectWithoutProperties","_excluded","demoid","useRef","getUuid","_useState","useState","_useState2","_slicedToArray","svgContent","setSvgContent","renderAbortRef","isMermaid","test","toLocaleLowerCase","getCodeString","node","useEffect","current","currentId","tempContainer","document","createElement","position","visibility","width","height","top","left","id","body","appendChild","frameId","requestAnimationFrame","parentNode","removeChild","_unused","mermaid","window","render","then","_ref2","svg","catch","error","console","log","finally","_unused2","cancelAnimationFrame","_unused3","undefined","dangerouslySetInnerHTML","__html","getImageDimensions","url","Promise","resolve","reject","img","Image","onload","naturalWidth","naturalHeight","onerror","Error","src","UploadImageContent","onValuesChange","useCallback","changedFields","$return","$error","imageUrls","length","imageUrl","_isString","form","setFieldsValue","onUploadFile","useMemoizedFn","file","_props$onUploadImage","formData","respData","FormData","append","onUploadImage","call","$await_1","$boundEx","EasyForm","initialValues","name","FormItemHidden","FormItemWrapper","label","rules","required","message","noStyle","UploadMultiType","maxCount","Gap","InputNumber","placeholder","addonAfter","AlertWrapper","description","UploadImageBtn","handleImageClick","okText","onOk","values","imageItem","_props$onUploadResult","_props$onUploadResult2","validateFields","$await_2","_isObject","onUploadResult","split","pop","onCancel","ReactMdEditor","value","onChange","readonly","isDarkMode","readonlyHeightAuto","hideBorder","restProps","innerValue","setInnerValue","readonlyHeightAutoFt","editorRef","onInnerChange","imageMarkdown","concat","_editorRef$current","textarea","cursorPosition","selectionStart","newContent","slice","imageUploadCommand","keyCommand","mermaidCommand","MDEditor","default","commands","extraCommands","divider","fullscreen","preview","dataColorMode","commandsFt","useMemo","wmdeMarkdownSize","useSize","querySelector","autoHeight","heightFt","_wmdeMarkdownSize$hei","visibleDragbarFt","visibleDragbar","_classNames","_objectSpread","highlightEnable","boxShadow","ref","previewOptions","components","MarkdownEditor","renderFlag","setRenderFlag","_useState3","_useState4","errorMsg","setErrorMsg","all","loadScripts","scriptUrls","checkFn","isLoaded","intervalMs","loadStyles","styleUrls","Spin","tip","padding","background","borderRadius","textAlign","_CloseCircleFilled","color"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4439,7 +4439,10 @@ export type MarkdownEditorProps = {
|
|
|
4439
4439
|
value?: string;
|
|
4440
4440
|
onChange?: (value?: string) => void;
|
|
4441
4441
|
/** 图片上传回调,配置后,在工具栏中显示上传图片按钮 */
|
|
4442
|
-
onUploadImage?: (file: File) => Promise<
|
|
4442
|
+
onUploadImage?: (file: File) => Promise<{
|
|
4443
|
+
url: string;
|
|
4444
|
+
name: string;
|
|
4445
|
+
}>;
|
|
4443
4446
|
/**
|
|
4444
4447
|
* 当高度参数为百分比时,拖动条无效
|
|
4445
4448
|
* ```
|
package/dist/index.js
CHANGED
|
@@ -212,7 +212,7 @@ export { I as InputTextAreaWrapper } from './input-text-area-wrapper-xOYbr_W-.js
|
|
|
212
212
|
export { I as InputWrapper } from './input-wrapper-BlzWXhi9.js';
|
|
213
213
|
export { L as LabelValueRender } from './label-value-PpVVP7P9.js';
|
|
214
214
|
export { LocalLoading } from './local-loading/index.js';
|
|
215
|
-
export { M as MarkdownEditor } from './content-
|
|
215
|
+
export { M as MarkdownEditor } from './content-DnpCk2LR.js';
|
|
216
216
|
export { M as MentionEditor } from './mention-editor-DKDH7LIL.js';
|
|
217
217
|
export { M as MentionsWrapper } from './mentions-B9WSplSU.js';
|
|
218
218
|
export { M as ModalAction } from './modal-action-kQ60nGCG.js';
|
|
@@ -263,7 +263,7 @@ export { T as TreeModalSelector } from './selector-Btr3mVki.js';
|
|
|
263
263
|
export { T as TreeSelectorWrapper } from './selector-CUEdkyTP.js';
|
|
264
264
|
export { TreeWrapper } from './tree-wrapper/index.js';
|
|
265
265
|
export { types } from './types/index.js';
|
|
266
|
-
export { U as UploadMultiType } from './content-
|
|
266
|
+
export { U as UploadMultiType } from './content-CXmBn9B0.js';
|
|
267
267
|
export { U as UploadWrapper } from './upload-wrapper-DmZglNR4.js';
|
|
268
268
|
export { X as XMindPreview } from './x-mind-preview-Bx7UmHAu.js';
|
|
269
269
|
import './_rollupPluginBabelHelpers-BspM60Sw.js';
|
|
@@ -360,7 +360,6 @@ import '@ant-design/icons/es/icons/CaretDownFilled.js';
|
|
|
360
360
|
import '@dimjs/model-react';
|
|
361
361
|
import '@dimjs/utils/tree/walk-through-tree';
|
|
362
362
|
import 'dequal';
|
|
363
|
-
import '@flatbiz/antd';
|
|
364
363
|
import '@ant-design/icons/es/icons/EyeOutlined.js';
|
|
365
364
|
import 'simple-mind-map';
|
|
366
365
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.alert-wrapper-small{padding:5px 15px}.alert-wrapper-small .ant-alert-message{font-size:14px;margin-bottom:0}.alert-wrapper-small .ant-alert-description{font-size:12px}.alert-wrapper-small.ant-alert-with-description .ant-alert-icon{font-size:16px;margin-right:8px;margin-top:3px}.alert-wrapper-default{padding:10px 15px}.alert-wrapper-default .ant-alert-message{margin-bottom:0}.alert-wrapper-large{padding:15px}.alert-wrapper-large .ant-alert-message{margin-bottom:0}.block-layout{background-color:var(--block-bg-color)}.light-theme .block-layout{color:rgba(0,0,0,.88)}.dark-theme .block-layout{color:hsla(0,0%,100%,.85)}.bw-center-loading{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ant-btn.button-remove-gap{height:auto;line-height:normal;margin:0;min-height:auto;padding:0}.card-layout{border-radius:6px;padding:15px}.card-layout-title-sign{padding-left:10px;position:relative}.card-layout-title-sign:before{background:var(--color-primary,#1677ff);border-radius:3px;content:"";height:13px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.card-layout-title{align-items:center;display:flex;position:relative}.card-layout-title+.card-layout-content{margin-top:8px;padding-left:10px}.card-layout-title-content{font-size:16px;font-weight:500}.card-layout-subtitle,.card-layout-title-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-layout-subtitle{color:#767676;flex:1;font-size:12px}.card-layout-title-extra{margin-left:15px}.card-layout-desc{color:#767676;margin-top:5px}.card-layout-desc,.card-layout-desc-list{font-size:12px;opacity:.7;padding-left:10px}.card-layout-desc+.card-layout-content,.card-layout-desc-list+.card-layout-content{margin-top:8px;padding-left:10px}.card-layout+.card-layout{margin-top:8px}.card-layout-title-fixed{display:flex;flex-direction:column;height:100%;overflow:hidden}.card-layout-title-fixed>.card-layout-content{flex:1;overflow-y:auto}.card-layout-small{padding:8px 15px}.card-layout-small .card-layout-content{margin-top:0}.card-layout-small .card-layout-title-content{font-size:14px}.card-layout-small .card-layout-title-sign:before{height:11px}.card-layout-tight{border-radius:0;padding:0}.code-render{background-color:#f5f5f5;border-radius:4px;color:#676767;font-size:14px;line-height:1.5;margin:0;padding:10px}.code-render-small{font-size:12px}.v-dialog-modal.ant-modal .ant-modal-body{overflow-x:hidden;overflow-y:auto;padding:10px 24px 20px}.v-dialog-modal.ant-modal .ant-modal-content{padding:20px 0}.v-dialog-modal.ant-modal .ant-modal-header{padding:0 24px}.v-dialog-modal.ant-modal .ant-modal-footer{margin:0;padding:10px 24px 0}.v-dialog-modal-title-extra .ant-modal-close{right:5px;top:5px}.easy-form:not(".easy-form-pure"){background-color:var(--block-bg-color)}.easy-form-anchor{height:0;width:0}.v-flex-layout{display:flex}.v-flex-vertical{flex-direction:column}.upload-image-paste-zone{align-items:center;border:1px dashed #d9d9d9;border-radius:6px;cursor:text;display:flex;justify-content:center;min-height:80px;outline:none;padding:16px;transition:border-color .2s}.upload-image-paste-zone:focus{border-color:#1677ff}.upload-image-paste-zone .upload-image-paste-tip{color:#8c8c8c;font-size:13px}.upload-image-paste-zone .upload-image-paste-tip.success{color:#52c41a}.upload-multi-type-file-list{background:#fafafa;border:1px solid #f0f0f0;border-radius:6px;list-style:none;margin:12px 0 0;padding:0}.upload-multi-type-file-list .upload-multi-type-file-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;font-size:10px;justify-content:space-between;padding:3px 12px}.upload-multi-type-file-list .upload-multi-type-file-item:last-child{border-bottom:none}.upload-multi-type-file-list .upload-multi-type-file-name{color:rgba(0,0,0,.88);flex:1;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-multi-type-file-list .upload-multi-type-file-actions{align-items:center;display:flex;flex-shrink:0;gap:0;margin-left:8px}.upload-multi-type-file-list .upload-multi-type-action-btn{color:#8c8c8c;padding:4px}.upload-multi-type-file-list .upload-multi-type-action-btn:hover{color:#1677ff}.upload-multi-type-file-list .upload-multi-type-action-btn.upload-multi-type-action-btn-danger:hover{color:#ff4d4f}.upload-multi-type-file-name-image{color:#1677ff;cursor:pointer}.v-upload-multi-type{background:#e0e0e0;border-radius:6px;padding:10px}.v-upload-multi-type .v-upload-multi-type-inner{background:#fff;border-radius:6px;padding:0 15px 15px}.v-file-upload .ant-upload-span{cursor:pointer}.ant-upload-list-picture .v-upload-list-item-extra-actions .ant-btn-icon,.ant-upload-list-text .v-upload-list-item-extra-actions .ant-btn-icon{color:rgba(0,0,0,.45)}.ant-upload-list-picture .v-upload-list-item-extra-actions .ant-btn,.ant-upload-list-text .v-upload-list-item-extra-actions .ant-btn{height:20px;margin:0 0 0 5px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions,.ant-upload-list-text .v-upload-list-item-extra-actions{opacity:0;transition:opacity .3s}.ant-upload-list-picture-card .ant-upload-list-item:hover .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .ant-upload-list-item:hover .v-upload-list-item-extra-actions,.ant-upload-list-text .ant-upload-list-item:hover .v-upload-list-item-extra-actions{opacity:1}.ant-upload-list-picture-card .v-upload-list-item-actions-wrapper .ant-upload-list-item-actions,.ant-upload-list-picture-circle .v-upload-list-item-actions-wrapper .ant-upload-list-item-actions{inset-inline-start:auto!important;width:auto!important}.ant-upload-list-picture-card .v-upload-list-item-actions-wrapper .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .v-upload-list-item-actions-wrapper .v-upload-list-item-extra-actions{position:absolute;z-index:10}.ant-upload-list-picture-card .v-upload-list-item-actions-wrapper .v-upload-list-item-extra-actions .ant-btn-icon,.ant-upload-list-picture-circle .v-upload-list-item-actions-wrapper .v-upload-list-item-extra-actions .ant-btn-icon{color:#fff}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-2-1 .ant-upload-list-item-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-2-1 .ant-upload-list-item-actions{right:38px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-2-1 .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-2-1 .v-upload-list-item-extra-actions{right:15px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-2-2 .ant-upload-list-item-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-2-2 .ant-upload-list-item-actions{left:15px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-2-2 .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-2-2 .v-upload-list-item-extra-actions{right:8px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-2-2 .v-upload-list-item-extra-actions .ant-btn,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-2-2 .v-upload-list-item-extra-actions .ant-btn{width:20px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-1-1 .ant-upload-list-item-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-1-1 .ant-upload-list-item-actions{right:47px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-1-1 .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-1-1 .v-upload-list-item-extra-actions{right:20px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-1-2 .ant-upload-list-item-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-1-2 .ant-upload-list-item-actions{right:60px}.ant-upload-list-picture-card .v-upload-list-item-extra-actions-1-2 .v-upload-list-item-extra-actions,.ant-upload-list-picture-circle .v-upload-list-item-extra-actions-1-2 .v-upload-list-item-extra-actions{right:14px}.v-upload-dragger .ant-upload-drag{align-items:center;display:flex;min-height:80px}.v-upload-dragger .v-upload-dragger-content{align-items:center;color:#8c8c8c;display:flex;flex-direction:column;font-size:13px;justify-content:center}
|
|
@@ -6,7 +6,10 @@ export type MarkdownEditorProps = {
|
|
|
6
6
|
value?: string;
|
|
7
7
|
onChange?: (value?: string) => void;
|
|
8
8
|
/** 图片上传回调,配置后,在工具栏中显示上传图片按钮 */
|
|
9
|
-
onUploadImage?: (file: File) => Promise<
|
|
9
|
+
onUploadImage?: (file: File) => Promise<{
|
|
10
|
+
url: string;
|
|
11
|
+
name: string;
|
|
12
|
+
}>;
|
|
10
13
|
/**
|
|
11
14
|
* 当高度参数为百分比时,拖动条无效
|
|
12
15
|
* ```
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
+
import './../box-grid/index.css';
|
|
3
|
+
import './../fba-hooks/index.css';
|
|
4
|
+
import './../pre-defined-class-name/index.css';
|
|
2
5
|
import './index.css';
|
|
3
6
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
4
7
|
|
|
5
|
-
export { M as MarkdownEditor } from '../content-
|
|
8
|
+
export { M as MarkdownEditor } from '../content-DnpCk2LR.js';
|
|
6
9
|
import '../_rollupPluginBabelHelpers-BspM60Sw.js';
|
|
7
10
|
import '@ant-design/icons/es/icons/CloseCircleFilled.js';
|
|
8
11
|
import 'react';
|
|
@@ -10,6 +13,54 @@ import 'antd';
|
|
|
10
13
|
import '@flatbiz/utils';
|
|
11
14
|
import '@dimjs/utils/class-names/class-names';
|
|
12
15
|
import 'ahooks';
|
|
13
|
-
import '
|
|
16
|
+
import '../card-layout-P-Qb5pCT.js';
|
|
17
|
+
import '@dimjs/lang/is-array';
|
|
18
|
+
import '@dimjs/utils/extend/extend';
|
|
19
|
+
import '../layout-2woF_D6T.js';
|
|
14
20
|
import 'react/jsx-runtime';
|
|
21
|
+
import '../code-Dbu2QlhZ.js';
|
|
22
|
+
import '../index-C6y8q2MK.js';
|
|
23
|
+
import '../_commonjsHelpers-a3yINl_6.js';
|
|
24
|
+
import '../dialog-modal-CGMNBSgq.js';
|
|
25
|
+
import '@dimjs/lang/is-string';
|
|
26
|
+
import '@dimjs/lang/is-promise';
|
|
27
|
+
import 'react-dom/client';
|
|
28
|
+
import '../button-wrapper-BGjkUPpk.js';
|
|
29
|
+
import '@ant-design/icons/es/icons/LoadingOutlined.js';
|
|
30
|
+
import '../config-provider-wrapper-Bxh9JdL4.js';
|
|
31
|
+
import 'antd/es/locale/en_US.js';
|
|
32
|
+
import 'antd/es/locale/zh_CN.js';
|
|
33
|
+
import 'dayjs';
|
|
34
|
+
import 'dayjs/plugin/advancedFormat.js';
|
|
35
|
+
import 'dayjs/plugin/customParseFormat.js';
|
|
36
|
+
import 'dayjs/plugin/localeData.js';
|
|
37
|
+
import 'dayjs/plugin/utc.js';
|
|
38
|
+
import 'dayjs/plugin/weekday.js';
|
|
39
|
+
import 'dayjs/plugin/weekOfYear.js';
|
|
40
|
+
import 'dayjs/plugin/weekYear.js';
|
|
41
|
+
import '../fba-hooks/index.js';
|
|
42
|
+
import '../use-responsive-point-Bp3D3lZT.js';
|
|
43
|
+
import '../fba-utils-CusZeveq.js';
|
|
44
|
+
import 'dayjs/locale/en.js';
|
|
45
|
+
import 'dayjs/locale/zh-cn.js';
|
|
46
|
+
import '../flex-layout-BGtMe7zr.js';
|
|
47
|
+
import 'rehype-rewrite';
|
|
48
|
+
import '@dimjs/lang/is-object';
|
|
49
|
+
import '../alert-DGRFbqqK.js';
|
|
50
|
+
import '../form-ByFljQr9.js';
|
|
51
|
+
import '../box-grid/index.js';
|
|
52
|
+
import '@dimjs/lang/is-number';
|
|
53
|
+
import '../form-wrapper-DBDMN0mN.js';
|
|
54
|
+
import '../pre-defined-class-name/index.js';
|
|
55
|
+
import '../form-item-hidden-BtQvJEx7.js';
|
|
56
|
+
import '../form-item-wrapper-Ci7-5IKi.js';
|
|
57
|
+
import '../gap-5v_ndf2v.js';
|
|
58
|
+
import '../content-CXmBn9B0.js';
|
|
59
|
+
import '../preview-image-BGEPfC0y.js';
|
|
60
|
+
import '../upload-wrapper-DmZglNR4.js';
|
|
61
|
+
import '@ant-design/icons/es/icons/PlusOutlined.js';
|
|
62
|
+
import '@dimjs/lang/is-plain-object';
|
|
63
|
+
import 'react-dom';
|
|
64
|
+
import '@ant-design/icons/es/icons/DeleteOutlined.js';
|
|
65
|
+
import '@ant-design/icons/es/icons/EyeOutlined.js';
|
|
15
66
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -3,19 +3,24 @@ import './../fba-hooks/index.css';
|
|
|
3
3
|
import './index.css';
|
|
4
4
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
5
5
|
|
|
6
|
-
export { U as UploadMultiType } from '../content-
|
|
6
|
+
export { U as UploadMultiType } from '../content-CXmBn9B0.js';
|
|
7
7
|
import '../_rollupPluginBabelHelpers-BspM60Sw.js';
|
|
8
8
|
import 'react';
|
|
9
9
|
import 'ahooks';
|
|
10
10
|
import 'antd';
|
|
11
|
-
import '
|
|
11
|
+
import '../preview-image-BGEPfC0y.js';
|
|
12
|
+
import '@dimjs/lang/is-string';
|
|
13
|
+
import 'react-dom/client';
|
|
14
|
+
import '@flatbiz/utils';
|
|
15
|
+
import '../fba-hooks/index.js';
|
|
16
|
+
import '../use-responsive-point-Bp3D3lZT.js';
|
|
17
|
+
import 'react/jsx-runtime';
|
|
12
18
|
import '../upload-wrapper-DmZglNR4.js';
|
|
13
19
|
import '@ant-design/icons/es/icons/PlusOutlined.js';
|
|
14
20
|
import '@dimjs/utils/class-names/class-names';
|
|
15
21
|
import '@dimjs/lang/is-plain-object';
|
|
16
22
|
import '@dimjs/utils/extend/extend';
|
|
17
23
|
import 'react-dom';
|
|
18
|
-
import '@flatbiz/utils';
|
|
19
24
|
import '../button-wrapper-BGjkUPpk.js';
|
|
20
25
|
import '@ant-design/icons/es/icons/LoadingOutlined.js';
|
|
21
26
|
import '@dimjs/lang/is-promise';
|
|
@@ -30,13 +35,10 @@ import 'dayjs/plugin/utc.js';
|
|
|
30
35
|
import 'dayjs/plugin/weekday.js';
|
|
31
36
|
import 'dayjs/plugin/weekOfYear.js';
|
|
32
37
|
import 'dayjs/plugin/weekYear.js';
|
|
33
|
-
import '../fba-hooks/index.js';
|
|
34
|
-
import '../use-responsive-point-Bp3D3lZT.js';
|
|
35
38
|
import '../fba-utils-CusZeveq.js';
|
|
36
39
|
import '@dimjs/lang/is-array';
|
|
37
40
|
import 'dayjs/locale/en.js';
|
|
38
41
|
import 'dayjs/locale/zh-cn.js';
|
|
39
|
-
import 'react/jsx-runtime';
|
|
40
42
|
import '@ant-design/icons/es/icons/DeleteOutlined.js';
|
|
41
43
|
import '@ant-design/icons/es/icons/EyeOutlined.js';
|
|
42
44
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"content-C6Qc7y_K.js","sources":["@flatbiz/antd/src/upload-multi-type/file-view.tsx","@flatbiz/antd/src/upload-multi-type/content.tsx"],"sourcesContent":["import { Button } from 'antd';\nimport { DeleteOutlined, EyeOutlined } from '@ant-design/icons';\nimport type { UploadMultiTypeFileItem } from './type.js';\n\nconst IMAGE_EXTENSIONS = [\n 'png',\n 'jpg',\n 'jpeg',\n 'gif',\n 'webp',\n 'bmp',\n 'svg',\n 'heic',\n 'heif',\n];\n\nfunction isImageFile(name?: string, url?: string): boolean {\n const str = name || url || '';\n const ext = str.slice(str.lastIndexOf('.') + 1).toLowerCase();\n return IMAGE_EXTENSIONS.includes(ext);\n}\n\nexport const FileListView = (props: {\n uploadList: UploadMultiTypeFileItem[];\n onPreview: (url: string) => void;\n onRemove: (index: number) => void;\n disabled?: boolean;\n}) => {\n const { uploadList, onPreview, onRemove } = props;\n\n if (!props.uploadList?.length) {\n return null;\n }\n return (\n <ul className=\"upload-multi-type-file-list\">\n {uploadList.map((item, index) => {\n const isImage = isImageFile(item.name, item.url);\n return (\n <li\n key={`${item.url}-${index}`}\n className=\"upload-multi-type-file-item\"\n >\n <span className=\"upload-multi-type-file-name\" title={item.name}>\n {isImage ? (\n <span\n className=\"upload-multi-type-file-name-image\"\n onClick={() => onPreview(item.url)}\n >\n {item.name}\n </span>\n ) : (\n <span>{item.name}</span>\n )}\n </span>\n <span className=\"upload-multi-type-file-actions\">\n {isImage ? (\n <Button\n type=\"text\"\n size=\"small\"\n icon={<EyeOutlined />}\n className=\"upload-multi-type-action-btn\"\n onClick={() => onPreview(item.url)}\n aria-label=\"预览\"\n />\n ) : null}\n <Button\n type=\"text\"\n size=\"small\"\n hidden={props.disabled}\n icon={<DeleteOutlined />}\n className=\"upload-multi-type-action-btn upload-multi-type-action-btn-danger\"\n onClick={() => onRemove(index)}\n aria-label=\"删除\"\n />\n </span>\n </li>\n );\n })}\n </ul>\n );\n};\n","import { useMemo, useState } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nimport { message, Spin, Tabs } from 'antd';\nimport { dialogPreviewImage } from '@flatbiz/antd';\nimport { UploadWrapper } from '../upload-wrapper/upload-wrapper.jsx';\nimport { FileListView } from './file-view.jsx';\nimport type { UploadMultiTypeFileItem } from './type.js';\nimport './style.less';\n\nfunction getImageFileFromPaste(e: React.ClipboardEvent): File | null {\n const items = e.clipboardData?.items;\n if (!items) return null;\n for (let i = 0; i < items.length; i++) {\n if (items[i].type.indexOf('image') !== -1) {\n return items[i].getAsFile();\n }\n }\n return null;\n}\n\ntype UploadMultiTypeProps = {\n value?: string[] | UploadMultiTypeFileItem[];\n onChange?: (v: any) => void;\n /** 上传文件 */\n onUploadFile: (file: File) => Promise<UploadMultiTypeFileItem>;\n /** 最大上传数量 */\n maxCount?: number;\n /** 上传文件类型,例如:image/*, video/*, audio/* */\n accept?: string;\n /** 只上传图片,默认:false;设置accept时,此配置无效 */\n onlyUploadImage?: boolean;\n\n disabled?: boolean;\n};\n\n/**\n * 上传组件,同时支持多种上传方式,支持【点击&拖拽上传】、【粘贴上传】\n * ```\n * @example\n * const onUploadFile = useMemoizedFn(async (file: File) => {\n * const formData = new FormData();\n * formData.append('file', file);\n * const respData = await serviceHandle.upload<{\n * url: string;\n * name?: string;\n * }>('https://pubtest.hnapay.com/api/file/upload', formData);\n * return respData;\n * });\n *\n * <UploadMultiType onUploadFile={onUploadFile} maxCount={1} />\n * ```\n */\nexport const UploadMultiType = (props: UploadMultiTypeProps) => {\n const { value, onChange } = props;\n const [showPasteSuccess, setShowPasteSuccess] = useState(false);\n const [loading, setLoading] = useState(false);\n const maxCount = props.maxCount;\n const [uploadList, setUploadList] = useState<UploadMultiTypeFileItem[]>(() =>\n Array.isArray(value) && value.length > 0\n ? value.map((item: any) => ({\n name: item?.name ?? item?.url?.split?.('/').pop(),\n url: item?.url ?? '',\n }))\n : []\n );\n\n const onChangeHandler = useMemoizedFn(async (data: any) => {\n const files = data as File[];\n if (!files?.length) return;\n setLoading(true);\n try {\n const respData = await props.onUploadFile?.(files[0]);\n const fileName = respData?.name || respData?.url.split('/').pop();\n const newItem = { name: fileName, url: respData?.url };\n if (maxCount && maxCount == 1) {\n setUploadList([newItem]);\n onChange?.([newItem]);\n } else {\n setUploadList((prev) => {\n let prevListNew = prev;\n if (maxCount && prevListNew.length >= maxCount) {\n prevListNew = prevListNew.slice(0, maxCount - 1);\n }\n const mergedList = [...prevListNew, newItem];\n onChange?.(mergedList);\n return mergedList;\n });\n }\n } catch (error) {\n void message.error(error?.['message'] || '上传操作失败');\n throw error;\n } finally {\n setLoading(false);\n }\n });\n\n const onPaste = useMemoizedFn(async (e: React.ClipboardEvent) => {\n e.preventDefault();\n const file = getImageFileFromPaste(e);\n if (!file) return;\n await onChangeHandler?.([file]);\n setShowPasteSuccess(true);\n setTimeout(() => {\n setShowPasteSuccess(false);\n }, 1500);\n });\n const onPreview = useMemoizedFn((url: string) => {\n dialogPreviewImage.show({ imageUrl: url });\n });\n\n const onRemove = useMemoizedFn((index: number) => {\n setUploadList((prev) => {\n const next = prev.filter((_, i) => i !== index);\n onChange?.(next);\n return next;\n });\n });\n\n const accept = useMemo(() => {\n if (props.accept) {\n return props.accept;\n }\n return props.onlyUploadImage ? 'image/*' : undefined;\n }, [props.accept, props.onlyUploadImage]);\n\n if (props.disabled) {\n if (!uploadList?.length) {\n return null;\n }\n return (\n <div className=\"v-upload-multi-type-disabled\">\n <FileListView\n uploadList={uploadList}\n onPreview={onPreview}\n onRemove={onRemove}\n disabled={props.disabled}\n />\n </div>\n );\n }\n\n return (\n <div className={'v-upload-multi-type'}>\n <div className=\"v-upload-multi-type-inner\">\n <Tabs\n destroyOnHidden={false}\n items={[\n {\n key: 'dragger',\n label: '点击&拖拽上传',\n forceRender: true,\n children: (\n <Spin spinning={loading}>\n <UploadWrapper\n name=\"file\"\n accept={accept}\n maxCount={maxCount}\n autoSubmit={false}\n onChange={onChangeHandler}\n isDragger\n showUploadList={false}\n />\n </Spin>\n ),\n },\n {\n key: 'paste',\n label: '粘贴上传',\n forceRender: true,\n children: (\n <Spin spinning={loading}>\n <div\n className=\"upload-image-paste-zone\"\n onPaste={onPaste}\n tabIndex={0}\n role=\"textbox\"\n aria-label=\"粘贴图片区域\"\n >\n {showPasteSuccess ? (\n <span className=\"upload-image-paste-tip success\">\n 已粘贴上传图片成功\n </span>\n ) : (\n <span className=\"upload-image-paste-tip\">\n 在此区域点击后使用 Ctrl+V / Cmd+V 粘贴图片\n </span>\n )}\n </div>\n </Spin>\n ),\n },\n ]}\n />\n {uploadList.length > 0 ? (\n <FileListView\n uploadList={uploadList}\n onPreview={onPreview}\n onRemove={onRemove}\n disabled={props.disabled}\n />\n ) : null}\n </div>\n </div>\n );\n};\n"],"names":["IMAGE_EXTENSIONS","isImageFile","name","url","str","ext","slice","lastIndexOf","toLowerCase","includes","FileListView","props","_props$uploadList","uploadList","onPreview","onRemove","length","_jsx","className","children","map","item","index","isImage","_jsxs","title","onClick","Button","type","size","icon","_EyeOutlined","hidden","disabled","_DeleteOutlined","concat","getImageFileFromPaste","e","_e$clipboardData","items","clipboardData","i","indexOf","getAsFile","UploadMultiType","value","onChange","_useState","useState","_useState2","_slicedToArray","showPasteSuccess","setShowPasteSuccess","_useState3","_useState4","loading","setLoading","maxCount","_useState5","Array","isArray","_item$name","_item$url","_item$url$split","_item$url2","split","call","pop","_useState6","setUploadList","onChangeHandler","useMemoizedFn","data","Promise","$return","$error","$Try_1_Finally","$Try_1_Exit","$Try_1_Value","$boundEx","bind","files","_props$onUploadFile","respData","fileName","newItem","$Try_1_Post","$Try_1_Catch","error","message","resolve","onUploadFile","then","$await_2","prev","prevListNew","mergedList","_toConsumableArray","onPaste","file","preventDefault","$await_3","setTimeout","dialogPreviewImage","show","imageUrl","next","filter","_","accept","useMemo","onlyUploadImage","undefined","Tabs","destroyOnHidden","key","label","forceRender","Spin","spinning","UploadWrapper","autoSubmit","isDragger","showUploadList","tabIndex","role"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"content-Px6O7VBy.js","sources":["@flatbiz/antd/src/markdown-editor/plugin-mermaid.tsx","@flatbiz/antd/src/markdown-editor/editor.tsx","@flatbiz/antd/src/markdown-editor/content.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { getCodeString } from 'rehype-rewrite';\nimport { getUuid } from '@flatbiz/utils';\n\nexport const PluginMermaidCode = ({\n children = [],\n className,\n ...props\n}: any) => {\n const demoid = useRef(getUuid());\n const [svgContent, setSvgContent] = useState<string>('');\n const renderAbortRef = useRef<boolean>(false);\n const isMermaid =\n className && /^language-mermaid/.test(className.toLocaleLowerCase());\n const code = children\n ? getCodeString(props.node.children)\n : children[0] || '';\n\n useEffect(() => {\n if (isMermaid && code) {\n // 标记之前的渲染为已取消\n renderAbortRef.current = true;\n\n // 重置取消标志\n renderAbortRef.current = false;\n\n // 生成新的唯一 ID\n const currentId = getUuid();\n demoid.current = currentId;\n\n // 创建一个临时的隐藏容器用于 Mermaid 渲染\n const tempContainer = document.createElement('div');\n tempContainer.style.position = 'absolute';\n tempContainer.style.visibility = 'hidden';\n tempContainer.style.width = '0';\n tempContainer.style.height = '0';\n tempContainer.style.top = '-9999px';\n tempContainer.style.left = '-9999px';\n tempContainer.id = currentId;\n document.body.appendChild(tempContainer);\n\n // 使用 requestAnimationFrame 确保在正确的时机渲染\n const frameId = requestAnimationFrame(() => {\n if (renderAbortRef.current) {\n // 清理临时容器\n try {\n if (tempContainer.parentNode) {\n document.body.removeChild(tempContainer);\n }\n } catch {\n // 忽略清理错误\n }\n return;\n }\n const mermaid = window['mermaid'];\n // 在临时容器中渲染\n mermaid\n .render(currentId, code)\n .then(({ svg }) => {\n // 检查是否已被取消\n if (renderAbortRef.current) {\n return;\n }\n\n // 使用 React state 更新 SVG 内容,而不是直接操作 DOM\n setSvgContent(svg);\n })\n .catch((error) => {\n if (!renderAbortRef.current) {\n console.log('Mermaid render error:', error);\n setSvgContent('');\n }\n })\n .finally(() => {\n // 清理临时容器\n try {\n if (tempContainer.parentNode) {\n document.body.removeChild(tempContainer);\n }\n } catch {\n // 忽略清理错误\n }\n });\n });\n\n // 清理函数:取消正在进行的渲染\n return () => {\n renderAbortRef.current = true;\n cancelAnimationFrame(frameId);\n\n // 清理临时容器\n try {\n if (tempContainer.parentNode) {\n document.body.removeChild(tempContainer);\n }\n } catch {\n // 忽略清理错误\n }\n };\n } else {\n setSvgContent('');\n }\n\n return undefined;\n }, [isMermaid, code]);\n\n if (isMermaid) {\n return (\n <code\n className={className}\n data-name=\"mermaid\"\n dangerouslySetInnerHTML={{ __html: svgContent }}\n />\n );\n }\n return <code className={className}>{children}</code>;\n};\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport { useSize } from 'ahooks';\nimport { Button, message } from 'antd';\nimport { classNames } from '@dimjs/utils';\nimport { getUuid, openNewWindow } from '@flatbiz/utils';\nimport { PluginMermaidCode } from './plugin-mermaid.jsx';\nimport type { MarkdownEditorProps } from './type.js';\n// import MDEditor from '@uiw/react-md-editor';\n\n/**\n * ```\n * 使用:@uiw/react-md-editor 组件\n * 文档:https://www.npmjs.com/package/@uiw/react-md-editor\n * ```\n */\nexport const ReactMdEditor = (props: MarkdownEditorProps) => {\n const {\n value,\n onChange,\n onUploadImage,\n readonly,\n isDarkMode,\n className,\n style,\n readonlyHeightAuto,\n height,\n hideBorder,\n ...restProps\n } = props;\n const [innerValue, setInnerValue] = useState<string | undefined>(value);\n\n const readonlyHeightAutoFt = readonlyHeightAuto ?? true;\n\n useEffect(() => {\n console.log('props.value', props.value);\n setInnerValue(props.value);\n }, [props.value]);\n\n // 编辑器实例引用(用于操作内容)\n const editorRef = useRef(null);\n // 隐藏的文件选择器ref\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n // 触发文件选择框\n const handleImageClick = () => {\n fileInputRef.current?.click();\n };\n\n const onInnerChange = (value?: string) => {\n setInnerValue(value);\n onChange?.(value);\n };\n\n // 处理图片选择(核心:读取图片并插入)\n const handleFileChange = async (e) => {\n const file = e.target.files?.[0];\n if (!file) return;\n\n // 只允许图片类型\n if (!file.type.startsWith('image/')) {\n alert('请选择图片文件(jpg/png/gif等)');\n return;\n }\n try {\n const imageUrl = await onUploadImage?.(file);\n const imageMarkdown = `\\n\\n`;\n // 将图片Markdown插入到编辑器光标位置\n if (editorRef.current) {\n const textarea = editorRef.current?.['textarea'] as HTMLTextAreaElement;\n const cursorPosition = textarea.selectionStart;\n const newContent =\n innerValue?.slice(0, cursorPosition) +\n imageMarkdown +\n innerValue?.slice(cursorPosition);\n onInnerChange(newContent);\n // 清空文件选择框,避免重复选择同一文件无响应\n e.target.value = '';\n }\n } catch (error) {\n message.error(error?.[''] || '图片上传失败');\n }\n };\n\n const imageUploadCommand = {\n name: 'imageUpload',\n keyCommand: 'imageUpload',\n render: () => {\n return (\n <Button\n key=\"imageUpload\"\n type=\"default\"\n size=\"small\"\n style={{ fontSize: 12 }}\n onClick={handleImageClick}\n >\n 上传图片\n </Button>\n );\n },\n };\n // 支持 mermaid 语法\n const mermaidCommand = {\n name: 'mermaid',\n keyCommand: 'mermaid',\n render: () => {\n return (\n <Button\n type=\"default\"\n key=\"mermaid\"\n size=\"small\"\n style={{ fontSize: 12 }}\n onClick={() => {\n openNewWindow('https://docs.min2k.com/zh/mermaid/syntax/pie.html');\n }}\n >\n 支持Mermaid图形\n </Button>\n );\n },\n };\n\n const MDEditor = window['@uiw/react-md-editor'].default;\n const commands = window['@uiw/react-md-editor'].commands;\n\n let extraCommands: any[] = [];\n\n if (onUploadImage && !readonly) {\n extraCommands = [\n imageUploadCommand,\n commands.divider,\n mermaidCommand,\n commands.divider,\n commands.fullscreen,\n ];\n } else {\n extraCommands = [mermaidCommand, commands.divider, commands.fullscreen];\n }\n\n const preview = readonly ? 'preview' : 'live';\n\n const dataColorMode = isDarkMode ? 'dark' : 'light';\n\n const commandsFt = useMemo(() => {\n if (readonly) return [];\n return undefined;\n }, [readonly]);\n\n const id = useMemo(() => {\n return getUuid();\n }, []);\n\n const wmdeMarkdownSize = useSize(() =>\n document.querySelector(`#${id} .wmde-markdown`)\n );\n\n const autoHeight = useMemo(() => {\n return readonly && readonlyHeightAutoFt;\n }, [readonly, readonlyHeightAutoFt]);\n\n const heightFt = useMemo(() => {\n if (autoHeight) {\n return (wmdeMarkdownSize?.height ?? 0) + 25;\n }\n return height;\n }, [autoHeight, wmdeMarkdownSize?.height, height]);\n\n const visibleDragbarFt = useMemo(() => {\n if (autoHeight) return false;\n return restProps.visibleDragbar;\n }, [autoHeight, restProps.visibleDragbar]);\n return (\n <div\n style={style}\n className={classNames('v-markdown-editor', className)}\n id={id}\n >\n <MDEditor\n highlightEnable={true}\n {...restProps}\n style={{ boxShadow: hideBorder ? 'none' : undefined }}\n height={heightFt}\n ref={editorRef}\n value={innerValue}\n preview={preview}\n onChange={onInnerChange}\n visibleDragbar={visibleDragbarFt}\n data-color-mode={dataColorMode}\n extraCommands={extraCommands}\n commands={commandsFt}\n previewOptions={{\n components: {\n code: PluginMermaidCode,\n },\n }}\n />\n {/* 隐藏的文件选择输入框 */}\n <input\n type=\"file\"\n ref={fileInputRef}\n accept=\"image/*\" // 只允许选择图片\n onChange={handleFileChange}\n style={{ display: 'none' }}\n />\n </div>\n );\n};\n","import { useEffect, useState } from 'react';\nimport { Spin } from 'antd';\nimport { CloseCircleFilled } from '@ant-design/icons';\nimport { loadScripts, loadStyles } from '@flatbiz/utils';\nimport { ReactMdEditor } from './editor.jsx';\nimport type { MarkdownEditorProps } from './type.js';\n\n/**\n * markdown编辑器\n * ```\n * 1. 使用@uiw/react-md-editor组件\n * 2. 动态加载 mermaid.js 和 mdeditor.js 和 mdeditor.css\n * //oss.ly.com/newpay/cdn/react-md-editor/mermaid.11.12.0.min.js\n * //oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.js\n * //oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.css\n * ```\n */\nexport const MarkdownEditor = (props: MarkdownEditorProps) => {\n const [renderFlag, setRenderFlag] = useState(false);\n const [errorMsg, setErrorMsg] = useState<string | null>(null);\n\n useEffect(() => {\n Promise.all([\n loadScripts({\n scriptUrls: [\n '//oss.ly.com/newpay/cdn/react-md-editor/mermaid.11.12.0.min.js',\n '//oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.js',\n ],\n checkFn: () => {\n const isLoaded = window['@uiw/react-md-editor'] && window['mermaid'];\n return isLoaded;\n },\n intervalMs: 20,\n }),\n loadStyles({\n styleUrls: [\n '//oss.ly.com/newpay/cdn/react-md-editor/4.0.11/mdeditor.min.css',\n ],\n }),\n ])\n .then(() => {\n setRenderFlag(true);\n })\n .catch((error) => {\n console.error(error);\n setRenderFlag(true);\n setErrorMsg(error?.message || 'Markdown编辑器加载失败');\n });\n }, []);\n\n if (!renderFlag) {\n return (\n <Spin\n tip={<div style={{ marginTop: 10 }}>Markdown编辑器加载中</div>}\n size=\"small\"\n >\n <div\n style={{\n padding: 50,\n background: 'rgba(0, 0, 0, 0.05)',\n borderRadius: 4,\n }}\n />\n </Spin>\n );\n }\n\n if (errorMsg) {\n return (\n <div style={{ textAlign: 'center', padding: 20, background: '#fff' }}>\n <CloseCircleFilled style={{ color: '#f00', fontSize: 30 }} />\n <div style={{ color: '#f00', marginTop: 10, fontSize: 16 }}>\n Markdown编辑器加载失败\n </div>\n <div style={{ color: '#898989', marginTop: 5, fontSize: 12 }}>\n {errorMsg}\n </div>\n </div>\n );\n }\n\n return <ReactMdEditor {...props} />;\n};\n"],"names":["PluginMermaidCode","_ref","_ref$children","children","className","props","_objectWithoutProperties","_excluded","demoid","useRef","getUuid","_useState","useState","_useState2","_slicedToArray","svgContent","setSvgContent","renderAbortRef","isMermaid","test","toLocaleLowerCase","code","getCodeString","node","useEffect","current","currentId","tempContainer","document","createElement","style","position","visibility","width","height","top","left","id","body","appendChild","frameId","requestAnimationFrame","parentNode","removeChild","_unused","mermaid","window","render","then","_ref2","svg","catch","error","console","log","finally","_unused2","cancelAnimationFrame","_unused3","undefined","_jsx","dangerouslySetInnerHTML","__html","ReactMdEditor","value","onChange","onUploadImage","readonly","isDarkMode","readonlyHeightAuto","hideBorder","restProps","innerValue","setInnerValue","readonlyHeightAutoFt","editorRef","fileInputRef","handleImageClick","_fileInputRef$current","click","onInnerChange","handleFileChange","e","Promise","$return","$error","_e$target$files","file","imageUrl","imageMarkdown","_editorRef$current","textarea","cursorPosition","newContent","target","files","type","startsWith","alert","$Try_1_Post","$boundEx","$Try_1_Catch","message","resolve","$await_2","concat","selectionStart","slice","imageUploadCommand","name","keyCommand","Button","size","fontSize","onClick","mermaidCommand","openNewWindow","MDEditor","default","commands","extraCommands","divider","fullscreen","preview","dataColorMode","commandsFt","useMemo","wmdeMarkdownSize","useSize","querySelector","autoHeight","heightFt","_wmdeMarkdownSize$hei","visibleDragbarFt","visibleDragbar","_jsxs","_classNames","_objectSpread","highlightEnable","boxShadow","ref","previewOptions","components","accept","display","MarkdownEditor","renderFlag","setRenderFlag","_useState3","_useState4","errorMsg","setErrorMsg","all","loadScripts","scriptUrls","checkFn","isLoaded","intervalMs","loadStyles","styleUrls","Spin","tip","marginTop","padding","background","borderRadius","textAlign","_CloseCircleFilled","color"],"mappings":"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"}
|