@zero-library/common 2.2.10 → 2.2.12
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 +55 -19
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.mts +55 -10
- package/dist/index.d.ts +55 -10
- package/dist/index.esm.js +51 -20
- package/dist/index.esm.js.map +1 -1
- package/package.json +7 -1
package/dist/index.cjs.js
CHANGED
|
@@ -9,12 +9,18 @@ var React16 = require('react');
|
|
|
9
9
|
var AES = require('crypto-js/aes');
|
|
10
10
|
var encUtf8 = require('crypto-js/enc-utf8');
|
|
11
11
|
var MarkdownIt = require('markdown-it');
|
|
12
|
+
var markdownItDefList = require('markdown-it-deflist');
|
|
13
|
+
var markdownItEmoji = require('markdown-it-emoji');
|
|
14
|
+
var markdownItFootnote = require('markdown-it-footnote');
|
|
15
|
+
var markdownItTaskLists = require('markdown-it-task-lists');
|
|
12
16
|
var Decimal = require('decimal.js');
|
|
13
17
|
var dayjs = require('dayjs');
|
|
14
18
|
var relativeTime = require('dayjs/plugin/relativeTime');
|
|
15
19
|
var axios = require('axios');
|
|
20
|
+
var markdownItKatex = require('@traptitech/markdown-it-katex');
|
|
16
21
|
var parse = require('html-react-parser');
|
|
17
22
|
var jsonrepair = require('jsonrepair');
|
|
23
|
+
require('katex/dist/katex.min.css');
|
|
18
24
|
var core$1 = require('@react-pdf-viewer/core');
|
|
19
25
|
var pageNavigation = require('@react-pdf-viewer/page-navigation');
|
|
20
26
|
var thumbnail = require('@react-pdf-viewer/thumbnail');
|
|
@@ -72,10 +78,14 @@ var React16__namespace = /*#__PURE__*/_interopNamespace(React16);
|
|
|
72
78
|
var AES__default = /*#__PURE__*/_interopDefault(AES);
|
|
73
79
|
var encUtf8__default = /*#__PURE__*/_interopDefault(encUtf8);
|
|
74
80
|
var MarkdownIt__default = /*#__PURE__*/_interopDefault(MarkdownIt);
|
|
81
|
+
var markdownItDefList__default = /*#__PURE__*/_interopDefault(markdownItDefList);
|
|
82
|
+
var markdownItFootnote__default = /*#__PURE__*/_interopDefault(markdownItFootnote);
|
|
83
|
+
var markdownItTaskLists__default = /*#__PURE__*/_interopDefault(markdownItTaskLists);
|
|
75
84
|
var Decimal__default = /*#__PURE__*/_interopDefault(Decimal);
|
|
76
85
|
var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
|
|
77
86
|
var relativeTime__default = /*#__PURE__*/_interopDefault(relativeTime);
|
|
78
87
|
var axios__default = /*#__PURE__*/_interopDefault(axios);
|
|
88
|
+
var markdownItKatex__default = /*#__PURE__*/_interopDefault(markdownItKatex);
|
|
79
89
|
var parse__default = /*#__PURE__*/_interopDefault(parse);
|
|
80
90
|
var zh_CN__default = /*#__PURE__*/_interopDefault(zh_CN);
|
|
81
91
|
var Table__default = /*#__PURE__*/_interopDefault(Table);
|
|
@@ -600,7 +610,7 @@ var getWebSocketUrl = (path, customHost) => {
|
|
|
600
610
|
const host = customHost || window.location.host;
|
|
601
611
|
return `${protocol}//${host}${path}`;
|
|
602
612
|
};
|
|
603
|
-
|
|
613
|
+
var transform = (source, fieldMap) => {
|
|
604
614
|
const result = {};
|
|
605
615
|
for (const [targetKey, mapping] of Object.entries(fieldMap)) {
|
|
606
616
|
const key = targetKey;
|
|
@@ -613,10 +623,10 @@ function transform(source, fieldMap) {
|
|
|
613
623
|
}
|
|
614
624
|
}
|
|
615
625
|
return result;
|
|
616
|
-
}
|
|
617
|
-
|
|
626
|
+
};
|
|
627
|
+
var transforms = (sources, fieldMap) => {
|
|
618
628
|
return sources?.map((source) => transform(source, fieldMap)) || [];
|
|
619
|
-
}
|
|
629
|
+
};
|
|
620
630
|
var convertCurrency = (money = "") => {
|
|
621
631
|
let newMoney = money;
|
|
622
632
|
const cnNums = ["\u96F6", "\u58F9", "\u8D30", "\u53C1", "\u8086", "\u4F0D", "\u9646", "\u67D2", "\u634C", "\u7396"];
|
|
@@ -762,7 +772,7 @@ var executeScript = (script, params) => {
|
|
|
762
772
|
console.error("unsafe script");
|
|
763
773
|
}
|
|
764
774
|
};
|
|
765
|
-
|
|
775
|
+
var aesEncrypt = (data, key) => {
|
|
766
776
|
if (!key) throw new Error("AES Encrypt: key is required");
|
|
767
777
|
if (isNullOrUnDef(data)) return "";
|
|
768
778
|
try {
|
|
@@ -772,8 +782,8 @@ function aesEncrypt(data, key) {
|
|
|
772
782
|
console.error("AES Encrypt error:", err);
|
|
773
783
|
throw new Error("AES Encrypt failed");
|
|
774
784
|
}
|
|
775
|
-
}
|
|
776
|
-
|
|
785
|
+
};
|
|
786
|
+
var aesDecrypt = (data, key) => {
|
|
777
787
|
if (!key) throw new Error("AES Decrypt: key is required");
|
|
778
788
|
if (!data) return null;
|
|
779
789
|
try {
|
|
@@ -785,8 +795,8 @@ function aesDecrypt(data, key) {
|
|
|
785
795
|
console.error("AES Decrypt error:", err);
|
|
786
796
|
return null;
|
|
787
797
|
}
|
|
788
|
-
}
|
|
789
|
-
|
|
798
|
+
};
|
|
799
|
+
var formatSize = (value, options = {}) => {
|
|
790
800
|
if (isNullOrUnDef(value) || !isNumberNoNaN(Number(value))) return value;
|
|
791
801
|
const UNIT_LIST = ["B", "KB", "MB", "GB", "TB", "PB"];
|
|
792
802
|
const { from = "KB", precision: precision2 = 2, trimZero = false, maxUnit } = options;
|
|
@@ -806,20 +816,45 @@ function formatSize(value, options = {}) {
|
|
|
806
816
|
index++;
|
|
807
817
|
}
|
|
808
818
|
return `${toFixed(size, precision2, !trimZero)}${UNIT_LIST[index]}`;
|
|
809
|
-
}
|
|
819
|
+
};
|
|
810
820
|
var markdownToText = (() => {
|
|
811
821
|
const md2 = new MarkdownIt__default.default({
|
|
812
822
|
html: true,
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
});
|
|
823
|
+
breaks: true
|
|
824
|
+
}).use(markdownItTaskLists__default.default).use(markdownItEmoji.full).use(markdownItFootnote__default.default).use(markdownItDefList__default.default);
|
|
816
825
|
return (markdown) => {
|
|
817
826
|
if (!isString(markdown)) return "";
|
|
818
827
|
const html = md2.render(markdown);
|
|
819
|
-
const text = html.replace(/<[^>]+>/g, "
|
|
828
|
+
const text = html.replace(/<[^>]+>/g, " ").replace(/"/g, '"').replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/'/g, "'").replace(/\s+/g, " ").trim();
|
|
820
829
|
return text;
|
|
821
830
|
};
|
|
822
831
|
})();
|
|
832
|
+
var findTreeNodesByIds = (tree, ids, formatFn, options = {}) => {
|
|
833
|
+
const { id = "id", children = "children" } = options;
|
|
834
|
+
if (!ids?.length) {
|
|
835
|
+
return [];
|
|
836
|
+
}
|
|
837
|
+
const result = [];
|
|
838
|
+
const idSet = new Set(ids);
|
|
839
|
+
const dfs = (nodes) => {
|
|
840
|
+
for (const node of nodes) {
|
|
841
|
+
if (idSet.size === 0) break;
|
|
842
|
+
const nodeId = node[id];
|
|
843
|
+
if (idSet.has(nodeId)) {
|
|
844
|
+
idSet.delete(nodeId);
|
|
845
|
+
const formatted = formatFn ? formatFn(node) : { ...node, [children]: void 0 };
|
|
846
|
+
if (!isNullOrUnDef(formatted)) {
|
|
847
|
+
result.push(formatted);
|
|
848
|
+
}
|
|
849
|
+
}
|
|
850
|
+
if (node[children]?.length && idSet.size > 0) {
|
|
851
|
+
dfs(node[children]);
|
|
852
|
+
}
|
|
853
|
+
}
|
|
854
|
+
};
|
|
855
|
+
dfs(tree);
|
|
856
|
+
return result;
|
|
857
|
+
};
|
|
823
858
|
dayjs__default.default.extend(relativeTime__default.default);
|
|
824
859
|
var DEFAULT_DATE_TIME_FORMAT = "YYYY-MM-DD HH:mm:ss";
|
|
825
860
|
var DEFAULT_DATE_FORMAT = "YYYY-MM-DD";
|
|
@@ -1301,7 +1336,7 @@ var LazyComponent_default = ({ type, customComponents, ...rest }) => {
|
|
|
1301
1336
|
] });
|
|
1302
1337
|
return /* @__PURE__ */ jsxRuntime.jsx(React16.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { children: "\u52A0\u8F7D\u4E2D..." }), children: /* @__PURE__ */ jsxRuntime.jsx(LazyComponent, { ...rest }) });
|
|
1303
1338
|
};
|
|
1304
|
-
var md = MarkdownIt__default.default({ html: true, breaks: true });
|
|
1339
|
+
var md = MarkdownIt__default.default({ html: true, breaks: true }).use(markdownItTaskLists__default.default).use(markdownItEmoji.full).use(markdownItFootnote__default.default).use(markdownItDefList__default.default).use(markdownItKatex__default.default);
|
|
1305
1340
|
md.renderer.rules.link_open = function(tokens, idx, options, env, self) {
|
|
1306
1341
|
const token = tokens[idx];
|
|
1307
1342
|
token.attrPush(["target", "_blank"]);
|
|
@@ -1615,7 +1650,7 @@ var useDeepEffect_default = (effect, deps) => {
|
|
|
1615
1650
|
prevDepsRef.current = deps;
|
|
1616
1651
|
return effect();
|
|
1617
1652
|
}
|
|
1618
|
-
}, [depsChanged]);
|
|
1653
|
+
}, [depsChanged, effect, ...deps]);
|
|
1619
1654
|
};
|
|
1620
1655
|
var useRefState_default = (init) => {
|
|
1621
1656
|
const [state, setState] = React16.useState(init);
|
|
@@ -2029,7 +2064,7 @@ var PdfPreview_default = ({ password, fileUrl, pageNo = 1, scale = 1, isHasThumb
|
|
|
2029
2064
|
}, 500);
|
|
2030
2065
|
onSetPageNo?.(currentPage + 1);
|
|
2031
2066
|
}, [currentPage]);
|
|
2032
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: embedRef, className: styles_module_default.nsPreviewPdf, children: /* @__PURE__ */ jsxRuntime.jsx(core$1.Worker, { workerUrl:
|
|
2067
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: embedRef, className: styles_module_default.nsPreviewPdf, children: /* @__PURE__ */ jsxRuntime.jsx(core$1.Worker, { workerUrl: `https://logosdata.cn/public/pdf/pdf.worker.min.js`, children: /* @__PURE__ */ jsxRuntime.jsxs(antd.Splitter, { onResize: setSizes, children: [
|
|
2033
2068
|
isHasThumbnails && /* @__PURE__ */ jsxRuntime.jsx(antd.Splitter.Panel, { resizable: false, size: sizes[0], min: 250, max: 500, collapsible: true, children: /* @__PURE__ */ jsxRuntime.jsx(Thumbnails, {}) }),
|
|
2034
2069
|
/* @__PURE__ */ jsxRuntime.jsx(antd.Splitter.Panel, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "height-full", children: [
|
|
2035
2070
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2050,13 +2085,13 @@ var PdfPreview_default = ({ password, fileUrl, pageNo = 1, scale = 1, isHasThumb
|
|
|
2050
2085
|
// 启用 CMap 支持,解决中文字体显示问题
|
|
2051
2086
|
// cMapUrl: 指定 CMap 文件的 URL,用于处理非拉丁字符(如中文)
|
|
2052
2087
|
// cMapPacked: 使用压缩的 CMap 文件以提高性能
|
|
2053
|
-
cMapUrl: "
|
|
2088
|
+
cMapUrl: "https://logosdata.cn/public/pdf/pdfjs-dist@3.2.146/cmaps/",
|
|
2054
2089
|
// 使用可用的源
|
|
2055
2090
|
cMapPacked: true,
|
|
2056
2091
|
// 禁用字体子集化,确保完整字体加载
|
|
2057
2092
|
disableFontFace: false,
|
|
2058
2093
|
// 启用标准字体支持
|
|
2059
|
-
standardFontDataUrl: "
|
|
2094
|
+
standardFontDataUrl: "https://logosdata.cn/public/pdf/pdfjs-dist@3.2.146/standard_fonts/",
|
|
2060
2095
|
// 设置字体回退策略
|
|
2061
2096
|
fallbackFontName: "Helvetica"
|
|
2062
2097
|
});
|
|
@@ -6083,6 +6118,7 @@ exports.downloadFile = downloadFile;
|
|
|
6083
6118
|
exports.emit = emit;
|
|
6084
6119
|
exports.emitToChild = emitToChild;
|
|
6085
6120
|
exports.executeScript = executeScript;
|
|
6121
|
+
exports.findTreeNodesByIds = findTreeNodesByIds;
|
|
6086
6122
|
exports.formatDate = formatDate;
|
|
6087
6123
|
exports.formatNumberWithCommas = formatNumberWithCommas;
|
|
6088
6124
|
exports.formatSize = formatSize;
|