@zero-library/common 2.0.6 → 2.0.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/index.cjs.js +21 -4
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.esm.js +21 -5
- package/dist/index.esm.js.map +1 -1
- package/package.json +4 -3
package/dist/index.cjs.js
CHANGED
|
@@ -44,6 +44,7 @@ var TiptapLink = require('@tiptap/extension-link');
|
|
|
44
44
|
var state = require('@tiptap/pm/state');
|
|
45
45
|
var view = require('@tiptap/pm/view');
|
|
46
46
|
var react$1 = require('@floating-ui/react');
|
|
47
|
+
var TurndownService = require('turndown');
|
|
47
48
|
var core = require('@tiptap/core');
|
|
48
49
|
|
|
49
50
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -82,6 +83,7 @@ var TableCell__default = /*#__PURE__*/_interopDefault(TableCell);
|
|
|
82
83
|
var TableHeader__default = /*#__PURE__*/_interopDefault(TableHeader);
|
|
83
84
|
var TableRow__default = /*#__PURE__*/_interopDefault(TableRow);
|
|
84
85
|
var TiptapLink__default = /*#__PURE__*/_interopDefault(TiptapLink);
|
|
86
|
+
var TurndownService__default = /*#__PURE__*/_interopDefault(TurndownService);
|
|
85
87
|
|
|
86
88
|
// src/components/File/styles.module.less
|
|
87
89
|
var styles_module_default = {
|
|
@@ -701,6 +703,7 @@ var downloadFile = (url, name) => {
|
|
|
701
703
|
document.body.appendChild(a);
|
|
702
704
|
a.click();
|
|
703
705
|
document.body.removeChild(a);
|
|
706
|
+
window.URL.revokeObjectURL(url);
|
|
704
707
|
};
|
|
705
708
|
var addUrlLastSlash = (url = "") => {
|
|
706
709
|
const u = new URL(url, "https://logosdata.cn");
|
|
@@ -1018,6 +1021,9 @@ axios__default.default.interceptors.request.use(
|
|
|
1018
1021
|
);
|
|
1019
1022
|
axios__default.default.interceptors.response.use(
|
|
1020
1023
|
function(response) {
|
|
1024
|
+
if (isBlob(response.data)) {
|
|
1025
|
+
return response;
|
|
1026
|
+
}
|
|
1021
1027
|
if (response.data?.code !== OK && response.data?.code !== OK2) {
|
|
1022
1028
|
const isPermission = response.data?.code === PERMISSION_DENIED;
|
|
1023
1029
|
if (response.config?.showError !== false) {
|
|
@@ -4947,6 +4953,7 @@ var SearchAndReplace = core.Extension.create({
|
|
|
4947
4953
|
}
|
|
4948
4954
|
});
|
|
4949
4955
|
var searchAndReplace_default = SearchAndReplace;
|
|
4956
|
+
var turndown = new TurndownService__default.default();
|
|
4950
4957
|
var MainToolbarContent = ({
|
|
4951
4958
|
onHighlighterClick,
|
|
4952
4959
|
onLinkClick,
|
|
@@ -5006,7 +5013,7 @@ var MobileToolbarContent = ({ type, onBack }) => /* @__PURE__ */ jsxRuntime.jsxs
|
|
|
5006
5013
|
/* @__PURE__ */ jsxRuntime.jsx(ToolbarSeparator, {}),
|
|
5007
5014
|
type === "highlighter" ? /* @__PURE__ */ jsxRuntime.jsx(HighlightContent, {}) : /* @__PURE__ */ jsxRuntime.jsx(LinkContent, {})
|
|
5008
5015
|
] });
|
|
5009
|
-
var MarkdownEditor_default = ({ value = "", onChange, onScrollPage, searchValue, disabled, extraNav, showToolbar = true, onQuote }) => {
|
|
5016
|
+
var MarkdownEditor_default = ({ value = "", onChange, onScrollPage, searchValue, disabled, extraNav, showToolbar = true, onQuote, onDownloadFile }) => {
|
|
5010
5017
|
const isMobile = useMobile();
|
|
5011
5018
|
const windowSize = useWindowSize();
|
|
5012
5019
|
const lastContentRef = React16.useRef("");
|
|
@@ -5067,13 +5074,17 @@ var MarkdownEditor_default = ({ value = "", onChange, onScrollPage, searchValue,
|
|
|
5067
5074
|
// })
|
|
5068
5075
|
],
|
|
5069
5076
|
content: "",
|
|
5070
|
-
onUpdate: (
|
|
5071
|
-
const markdownOutput =
|
|
5077
|
+
onUpdate: () => {
|
|
5078
|
+
const markdownOutput = getMarkdown();
|
|
5072
5079
|
if (markdownOutput === lastContentRef.current) return;
|
|
5073
5080
|
lastContentRef.current = markdownOutput;
|
|
5074
5081
|
onChange?.(markdownOutput);
|
|
5075
5082
|
}
|
|
5076
5083
|
});
|
|
5084
|
+
const getMarkdown = () => {
|
|
5085
|
+
if (!editor) return "";
|
|
5086
|
+
return turndown.turndown(editor.getHTML());
|
|
5087
|
+
};
|
|
5077
5088
|
const bodyRect = useCursorVisibility({
|
|
5078
5089
|
editor,
|
|
5079
5090
|
overlayHeight: toolbarRef.current?.getBoundingClientRect().height ?? 0
|
|
@@ -5181,11 +5192,17 @@ var MarkdownEditor_default = ({ value = "", onChange, onScrollPage, searchValue,
|
|
|
5181
5192
|
) : /* @__PURE__ */ jsxRuntime.jsx(MobileToolbarContent, { type: mobileView === "highlighter" ? "highlighter" : "link", onBack: () => setMobileView("main") })
|
|
5182
5193
|
}
|
|
5183
5194
|
) });
|
|
5195
|
+
const downloadFile2 = () => {
|
|
5196
|
+
onDownloadFile?.(getMarkdown(), "docx");
|
|
5197
|
+
};
|
|
5184
5198
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames2__default.default("height-full", "editor-parent"), children: /* @__PURE__ */ jsxRuntime.jsxs(react.EditorContext.Provider, { value: { editor }, children: [
|
|
5185
5199
|
showToolbar && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5186
5200
|
/* @__PURE__ */ jsxRuntime.jsxs(antd.Flex, { justify: "end", align: "center", children: [
|
|
5187
5201
|
NsToolBar({ isBubble: false }),
|
|
5188
|
-
extraNav && /* @__PURE__ */ jsxRuntime.
|
|
5202
|
+
extraNav && /* @__PURE__ */ jsxRuntime.jsxs(antd.Flex, { align: "center", className: "m-l-16 m-r-16", children: [
|
|
5203
|
+
onDownloadFile && /* @__PURE__ */ jsxRuntime.jsx(antd.Tag, { bordered: false, color: "default", className: "cursor-pointer", onClick: downloadFile2, children: "\u4E0B\u8F7D" }),
|
|
5204
|
+
extraNav
|
|
5205
|
+
] })
|
|
5189
5206
|
] }),
|
|
5190
5207
|
!isMobile && /* @__PURE__ */ jsxRuntime.jsx(react.BubbleMenu, { editor, children: NsToolBar({ isBubble: true }) })
|
|
5191
5208
|
] }),
|