@zero-library/common 2.4.2 → 2.4.3
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 +51 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.mts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.esm.js +51 -3
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -359,10 +359,12 @@ type ToolbarItem = 'undo-redo' | 'heading' | 'list' | 'block' | 'format' | 'scri
|
|
|
359
359
|
* 分页功能配置接口
|
|
360
360
|
*/
|
|
361
361
|
interface PageNoConfig {
|
|
362
|
+
/** 当前页码,默认为1 */
|
|
363
|
+
pageNo?: number;
|
|
362
364
|
/** 是否启用分页功能,默认为false */
|
|
363
365
|
enabled: boolean;
|
|
364
366
|
/** 页面滚动回调 */
|
|
365
|
-
onScrollPage?: (
|
|
367
|
+
onScrollPage?: (pageNo: number) => void;
|
|
366
368
|
}
|
|
367
369
|
|
|
368
370
|
/**
|
|
@@ -2501,4 +2503,4 @@ declare function createTokenManager({ key, storage }: TokenManagerProps): {
|
|
|
2501
2503
|
clear: () => void;
|
|
2502
2504
|
};
|
|
2503
2505
|
|
|
2504
|
-
export { type AnnotationConfig, type AnnotationType, _default$q as AudioPlayer, type AudioPlayerProps, BusinessCode, type CacheMessage, type CollectionConfig, type CollectionType, type ComponentMapType, DEFAULT_DATE_FORMAT, DEFAULT_DATE_TIME_FORMAT, DEFAULT_YEAR_MONTH_DAY_FORMAT, DEFAULT_YEAR_MONTH_FORMAT, _default$p as DocxPreview, type DocxPreviewProps, _default$o as FileIcon, type FileIconProps, _default$n as FilePreview, _default$m as FilePreviewDrawer, type FilePreviewDrawerProps, type FilePreviewProps, type FindTreeNodesOptions, type FormatSizeOptions, HttpStatus, _default$h as Iframe, type IframeProps, _default$g as LazyComponent, type LazyComponentProps, _default$e as MarkDrawing, type MarkDrawingProps, _default$f as MarkdownEditor, type MarkdownEditorProps, _default$l as MarkdownPreview, type MarkdownPreviewProps, MultiEmailValidator, _default$k as PdfImagePreview, type PdfImagePreviewProps, _default$j as PdfPreview, type PdfPreviewProps, PhoneOrMobileValidator, RegBankCardNo, RegDetailAddress, RegEmail, RegFixedTelePhone, RegIdentityCardNo, RegMobile, RegNumNo, RegPassword, RegSmsCode, RegTaxNo, RegTelePhone, type RenderControl, _default$d as RenderMarkdown, type RenderMarkdownProps, _default$c as RenderWrapper, type RenderWrapperProps, type RequestConfig, type SecureManagerProps, type SetIntervalType, type SizeUnit, ThanNumLengthValidator, ThanNumValidator, type TokenManagerProps, _default$b as UserAvatar, type UserAvatarProps, _default$i as VideoPlayer, type VideoPlayerProps, type WebSocketProps, type WebSocketType, absVal, addUrlLastSlash, aesDecrypt, aesEncrypt, arrToObj, buildUrlParams, cachedMessage, calculate, compareNum, convertCurrency, convertNewlineToBr, copyText, createRequest, createSecureManager, createTokenManager, decimalPlaces, deepCopy, deepEqual, deepMerge, dividedBy, downloadFile, emit, emitToChild, executeScript, findTreeNodesByIds, formatDate, formatNumberWithCommas, formatSize, genNonDuplicateID, generateRandomNumbers, getAllUrlParams, getDeviceId, getEndOfTimestamp, getFileName, getFileSuffixName, getRowSpanCount, getStartOfTimestamp, getTimestamp, getWebSocketUrl, htmlToMarkdown, htmlToText, importThirdPartyFile, is, isArray, isBlob, isBoolean, isDate, isDef, isElement, isEmpty, isEmptyObj, isExpire, isExternal, isFunction, isInteger, isJson, isLocalhost, isMap, isNegative, isNull, isNullOrUnDef, isNumber, isNumberNoNaN, isObject, isPromise, isReferenceType, isRegExp, isScriptSafe, isSet, isString, isUnDef, isWindow, markdownToText, minus, objToOptions, plus, precision, processItemList, propsMerge, setInterval, setUrlMainSource, shouldRender, times, toFixed, transform, transforms, _default$9 as useAsyncQueue, _default$8 as useAutoRefresh, _default$7 as useCountDown, _default$6 as useCreateValtioContext, _default$5 as useDebounce, _default$4 as useDeepEffect, _default$a as useIframeRelayBridge, _default$3 as useRefState, _default$2 as useSyncInput, _default$1 as useThrottle, _default as useWebSocket };
|
|
2506
|
+
export { type AnnotationConfig, type AnnotationType, _default$q as AudioPlayer, type AudioPlayerProps, BusinessCode, type CacheMessage, type CollectionConfig, type CollectionType, type ComponentMapType, DEFAULT_DATE_FORMAT, DEFAULT_DATE_TIME_FORMAT, DEFAULT_YEAR_MONTH_DAY_FORMAT, DEFAULT_YEAR_MONTH_FORMAT, _default$p as DocxPreview, type DocxPreviewProps, _default$o as FileIcon, type FileIconProps, _default$n as FilePreview, _default$m as FilePreviewDrawer, type FilePreviewDrawerProps, type FilePreviewProps, type FindTreeNodesOptions, type FormatSizeOptions, HttpStatus, _default$h as Iframe, type IframeProps, _default$g as LazyComponent, type LazyComponentProps, _default$e as MarkDrawing, type MarkDrawingProps, _default$f as MarkdownEditor, type MarkdownEditorProps, _default$l as MarkdownPreview, type MarkdownPreviewProps, MultiEmailValidator, type PageNoConfig, _default$k as PdfImagePreview, type PdfImagePreviewProps, _default$j as PdfPreview, type PdfPreviewProps, PhoneOrMobileValidator, RegBankCardNo, RegDetailAddress, RegEmail, RegFixedTelePhone, RegIdentityCardNo, RegMobile, RegNumNo, RegPassword, RegSmsCode, RegTaxNo, RegTelePhone, type RenderControl, _default$d as RenderMarkdown, type RenderMarkdownProps, _default$c as RenderWrapper, type RenderWrapperProps, type RequestConfig, type SecureManagerProps, type SetIntervalType, type SizeUnit, ThanNumLengthValidator, ThanNumValidator, type TokenManagerProps, _default$b as UserAvatar, type UserAvatarProps, _default$i as VideoPlayer, type VideoPlayerProps, type WebSocketProps, type WebSocketType, absVal, addUrlLastSlash, aesDecrypt, aesEncrypt, arrToObj, buildUrlParams, cachedMessage, calculate, compareNum, convertCurrency, convertNewlineToBr, copyText, createRequest, createSecureManager, createTokenManager, decimalPlaces, deepCopy, deepEqual, deepMerge, dividedBy, downloadFile, emit, emitToChild, executeScript, findTreeNodesByIds, formatDate, formatNumberWithCommas, formatSize, genNonDuplicateID, generateRandomNumbers, getAllUrlParams, getDeviceId, getEndOfTimestamp, getFileName, getFileSuffixName, getRowSpanCount, getStartOfTimestamp, getTimestamp, getWebSocketUrl, htmlToMarkdown, htmlToText, importThirdPartyFile, is, isArray, isBlob, isBoolean, isDate, isDef, isElement, isEmpty, isEmptyObj, isExpire, isExternal, isFunction, isInteger, isJson, isLocalhost, isMap, isNegative, isNull, isNullOrUnDef, isNumber, isNumberNoNaN, isObject, isPromise, isReferenceType, isRegExp, isScriptSafe, isSet, isString, isUnDef, isWindow, markdownToText, minus, objToOptions, plus, precision, processItemList, propsMerge, setInterval, setUrlMainSource, shouldRender, times, toFixed, transform, transforms, _default$9 as useAsyncQueue, _default$8 as useAutoRefresh, _default$7 as useCountDown, _default$6 as useCreateValtioContext, _default$5 as useDebounce, _default$4 as useDeepEffect, _default$a as useIframeRelayBridge, _default$3 as useRefState, _default$2 as useSyncInput, _default$1 as useThrottle, _default as useWebSocket };
|
package/dist/index.d.ts
CHANGED
|
@@ -359,10 +359,12 @@ type ToolbarItem = 'undo-redo' | 'heading' | 'list' | 'block' | 'format' | 'scri
|
|
|
359
359
|
* 分页功能配置接口
|
|
360
360
|
*/
|
|
361
361
|
interface PageNoConfig {
|
|
362
|
+
/** 当前页码,默认为1 */
|
|
363
|
+
pageNo?: number;
|
|
362
364
|
/** 是否启用分页功能,默认为false */
|
|
363
365
|
enabled: boolean;
|
|
364
366
|
/** 页面滚动回调 */
|
|
365
|
-
onScrollPage?: (
|
|
367
|
+
onScrollPage?: (pageNo: number) => void;
|
|
366
368
|
}
|
|
367
369
|
|
|
368
370
|
/**
|
|
@@ -2501,4 +2503,4 @@ declare function createTokenManager({ key, storage }: TokenManagerProps): {
|
|
|
2501
2503
|
clear: () => void;
|
|
2502
2504
|
};
|
|
2503
2505
|
|
|
2504
|
-
export { type AnnotationConfig, type AnnotationType, _default$q as AudioPlayer, type AudioPlayerProps, BusinessCode, type CacheMessage, type CollectionConfig, type CollectionType, type ComponentMapType, DEFAULT_DATE_FORMAT, DEFAULT_DATE_TIME_FORMAT, DEFAULT_YEAR_MONTH_DAY_FORMAT, DEFAULT_YEAR_MONTH_FORMAT, _default$p as DocxPreview, type DocxPreviewProps, _default$o as FileIcon, type FileIconProps, _default$n as FilePreview, _default$m as FilePreviewDrawer, type FilePreviewDrawerProps, type FilePreviewProps, type FindTreeNodesOptions, type FormatSizeOptions, HttpStatus, _default$h as Iframe, type IframeProps, _default$g as LazyComponent, type LazyComponentProps, _default$e as MarkDrawing, type MarkDrawingProps, _default$f as MarkdownEditor, type MarkdownEditorProps, _default$l as MarkdownPreview, type MarkdownPreviewProps, MultiEmailValidator, _default$k as PdfImagePreview, type PdfImagePreviewProps, _default$j as PdfPreview, type PdfPreviewProps, PhoneOrMobileValidator, RegBankCardNo, RegDetailAddress, RegEmail, RegFixedTelePhone, RegIdentityCardNo, RegMobile, RegNumNo, RegPassword, RegSmsCode, RegTaxNo, RegTelePhone, type RenderControl, _default$d as RenderMarkdown, type RenderMarkdownProps, _default$c as RenderWrapper, type RenderWrapperProps, type RequestConfig, type SecureManagerProps, type SetIntervalType, type SizeUnit, ThanNumLengthValidator, ThanNumValidator, type TokenManagerProps, _default$b as UserAvatar, type UserAvatarProps, _default$i as VideoPlayer, type VideoPlayerProps, type WebSocketProps, type WebSocketType, absVal, addUrlLastSlash, aesDecrypt, aesEncrypt, arrToObj, buildUrlParams, cachedMessage, calculate, compareNum, convertCurrency, convertNewlineToBr, copyText, createRequest, createSecureManager, createTokenManager, decimalPlaces, deepCopy, deepEqual, deepMerge, dividedBy, downloadFile, emit, emitToChild, executeScript, findTreeNodesByIds, formatDate, formatNumberWithCommas, formatSize, genNonDuplicateID, generateRandomNumbers, getAllUrlParams, getDeviceId, getEndOfTimestamp, getFileName, getFileSuffixName, getRowSpanCount, getStartOfTimestamp, getTimestamp, getWebSocketUrl, htmlToMarkdown, htmlToText, importThirdPartyFile, is, isArray, isBlob, isBoolean, isDate, isDef, isElement, isEmpty, isEmptyObj, isExpire, isExternal, isFunction, isInteger, isJson, isLocalhost, isMap, isNegative, isNull, isNullOrUnDef, isNumber, isNumberNoNaN, isObject, isPromise, isReferenceType, isRegExp, isScriptSafe, isSet, isString, isUnDef, isWindow, markdownToText, minus, objToOptions, plus, precision, processItemList, propsMerge, setInterval, setUrlMainSource, shouldRender, times, toFixed, transform, transforms, _default$9 as useAsyncQueue, _default$8 as useAutoRefresh, _default$7 as useCountDown, _default$6 as useCreateValtioContext, _default$5 as useDebounce, _default$4 as useDeepEffect, _default$a as useIframeRelayBridge, _default$3 as useRefState, _default$2 as useSyncInput, _default$1 as useThrottle, _default as useWebSocket };
|
|
2506
|
+
export { type AnnotationConfig, type AnnotationType, _default$q as AudioPlayer, type AudioPlayerProps, BusinessCode, type CacheMessage, type CollectionConfig, type CollectionType, type ComponentMapType, DEFAULT_DATE_FORMAT, DEFAULT_DATE_TIME_FORMAT, DEFAULT_YEAR_MONTH_DAY_FORMAT, DEFAULT_YEAR_MONTH_FORMAT, _default$p as DocxPreview, type DocxPreviewProps, _default$o as FileIcon, type FileIconProps, _default$n as FilePreview, _default$m as FilePreviewDrawer, type FilePreviewDrawerProps, type FilePreviewProps, type FindTreeNodesOptions, type FormatSizeOptions, HttpStatus, _default$h as Iframe, type IframeProps, _default$g as LazyComponent, type LazyComponentProps, _default$e as MarkDrawing, type MarkDrawingProps, _default$f as MarkdownEditor, type MarkdownEditorProps, _default$l as MarkdownPreview, type MarkdownPreviewProps, MultiEmailValidator, type PageNoConfig, _default$k as PdfImagePreview, type PdfImagePreviewProps, _default$j as PdfPreview, type PdfPreviewProps, PhoneOrMobileValidator, RegBankCardNo, RegDetailAddress, RegEmail, RegFixedTelePhone, RegIdentityCardNo, RegMobile, RegNumNo, RegPassword, RegSmsCode, RegTaxNo, RegTelePhone, type RenderControl, _default$d as RenderMarkdown, type RenderMarkdownProps, _default$c as RenderWrapper, type RenderWrapperProps, type RequestConfig, type SecureManagerProps, type SetIntervalType, type SizeUnit, ThanNumLengthValidator, ThanNumValidator, type TokenManagerProps, _default$b as UserAvatar, type UserAvatarProps, _default$i as VideoPlayer, type VideoPlayerProps, type WebSocketProps, type WebSocketType, absVal, addUrlLastSlash, aesDecrypt, aesEncrypt, arrToObj, buildUrlParams, cachedMessage, calculate, compareNum, convertCurrency, convertNewlineToBr, copyText, createRequest, createSecureManager, createTokenManager, decimalPlaces, deepCopy, deepEqual, deepMerge, dividedBy, downloadFile, emit, emitToChild, executeScript, findTreeNodesByIds, formatDate, formatNumberWithCommas, formatSize, genNonDuplicateID, generateRandomNumbers, getAllUrlParams, getDeviceId, getEndOfTimestamp, getFileName, getFileSuffixName, getRowSpanCount, getStartOfTimestamp, getTimestamp, getWebSocketUrl, htmlToMarkdown, htmlToText, importThirdPartyFile, is, isArray, isBlob, isBoolean, isDate, isDef, isElement, isEmpty, isEmptyObj, isExpire, isExternal, isFunction, isInteger, isJson, isLocalhost, isMap, isNegative, isNull, isNullOrUnDef, isNumber, isNumberNoNaN, isObject, isPromise, isReferenceType, isRegExp, isScriptSafe, isSet, isString, isUnDef, isWindow, markdownToText, minus, objToOptions, plus, precision, processItemList, propsMerge, setInterval, setUrlMainSource, shouldRender, times, toFixed, transform, transforms, _default$9 as useAsyncQueue, _default$8 as useAutoRefresh, _default$7 as useCountDown, _default$6 as useCreateValtioContext, _default$5 as useDebounce, _default$4 as useDeepEffect, _default$a as useIframeRelayBridge, _default$3 as useRefState, _default$2 as useSyncInput, _default$1 as useThrottle, _default as useWebSocket };
|
package/dist/index.esm.js
CHANGED
|
@@ -8484,6 +8484,55 @@ var SearchAndReplace = Extension.create({
|
|
|
8484
8484
|
}
|
|
8485
8485
|
});
|
|
8486
8486
|
var searchAndReplace_default = SearchAndReplace;
|
|
8487
|
+
var usePageNo = (pageNoConfig) => {
|
|
8488
|
+
const [editor, setEditor] = useState(null);
|
|
8489
|
+
const lastScrollToPageNoRef = useRef(void 0);
|
|
8490
|
+
const setPageNoEditor = (newEditor) => {
|
|
8491
|
+
setEditor(newEditor);
|
|
8492
|
+
};
|
|
8493
|
+
const onPageChange = useDebounce_default((pageNo = 0) => {
|
|
8494
|
+
lastScrollToPageNoRef.current = pageNo;
|
|
8495
|
+
pageNoConfig?.onScrollPage?.(pageNo);
|
|
8496
|
+
}, 300);
|
|
8497
|
+
useEffect(() => {
|
|
8498
|
+
if (!editor) return;
|
|
8499
|
+
if (!pageNoConfig?.enabled) return;
|
|
8500
|
+
const targetPageNo = pageNoConfig?.pageNo;
|
|
8501
|
+
if (isNullOrUnDef(targetPageNo)) return;
|
|
8502
|
+
if (lastScrollToPageNoRef.current === targetPageNo) return;
|
|
8503
|
+
let rafId = 0;
|
|
8504
|
+
const targetPageNoStr = String(targetPageNo);
|
|
8505
|
+
const findTargetPos = () => {
|
|
8506
|
+
let foundPos = null;
|
|
8507
|
+
editor.state.doc.descendants((node, pos) => {
|
|
8508
|
+
if (!isNullOrUnDef(foundPos)) return false;
|
|
8509
|
+
if (node.type.name !== PAGE_NO_KEY) return true;
|
|
8510
|
+
if (String(node.attrs?.[PAGE_NO_TAG]) === targetPageNoStr) {
|
|
8511
|
+
foundPos = pos;
|
|
8512
|
+
return false;
|
|
8513
|
+
}
|
|
8514
|
+
return true;
|
|
8515
|
+
});
|
|
8516
|
+
return foundPos;
|
|
8517
|
+
};
|
|
8518
|
+
let tries = 0;
|
|
8519
|
+
const tryScroll = () => {
|
|
8520
|
+
const foundPos = findTargetPos();
|
|
8521
|
+
if (!isNullOrUnDef(foundPos)) {
|
|
8522
|
+
scrollEditorViewToPosInNextFrame(editor.view, foundPos, { align: "start", behavior: "smooth" });
|
|
8523
|
+
return;
|
|
8524
|
+
}
|
|
8525
|
+
tries += 1;
|
|
8526
|
+
if (tries < 10) rafId = requestAnimationFrame(tryScroll);
|
|
8527
|
+
};
|
|
8528
|
+
rafId = requestAnimationFrame(tryScroll);
|
|
8529
|
+
return () => cancelAnimationFrame(rafId);
|
|
8530
|
+
}, [editor, pageNoConfig?.enabled, pageNoConfig?.pageNo]);
|
|
8531
|
+
return {
|
|
8532
|
+
setPageNoEditor,
|
|
8533
|
+
onPageChange
|
|
8534
|
+
};
|
|
8535
|
+
};
|
|
8487
8536
|
var MarkdownEditor_default = ({
|
|
8488
8537
|
value = ``,
|
|
8489
8538
|
onChange,
|
|
@@ -8500,9 +8549,7 @@ var MarkdownEditor_default = ({
|
|
|
8500
8549
|
}) => {
|
|
8501
8550
|
const isMobile = useIsBreakpoint();
|
|
8502
8551
|
const lastContentRef = useRef("");
|
|
8503
|
-
const onPageChange =
|
|
8504
|
-
pageNoConfig?.onScrollPage?.(pageIndex ?? 0);
|
|
8505
|
-
}, 300);
|
|
8552
|
+
const { setPageNoEditor, onPageChange } = usePageNo(pageNoConfig);
|
|
8506
8553
|
const {
|
|
8507
8554
|
setAnnotationEditor,
|
|
8508
8555
|
annotations,
|
|
@@ -8638,6 +8685,7 @@ var MarkdownEditor_default = ({
|
|
|
8638
8685
|
if (!editor) return;
|
|
8639
8686
|
setAnnotationEditor(editor);
|
|
8640
8687
|
setCollectionEditor(editor);
|
|
8688
|
+
setPageNoEditor(editor);
|
|
8641
8689
|
}, [editor]);
|
|
8642
8690
|
useEffect(() => {
|
|
8643
8691
|
if (!editor) return;
|