zcw-shared 2.25.0 → 2.26.0
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/README.md +73 -13
- package/dist/functions/ai/buildResolvedLlmToolsList.d.ts +0 -1
- package/dist/functions/ai/buildResolvedLlmToolsList.js +0 -1
- package/dist/functions/ai/buildResolvedLlmToolsList.js.map +1 -1
- package/dist/functions/array/filterListExcludingIds.d.ts +0 -1
- package/dist/functions/array/filterListExcludingIds.js +0 -1
- package/dist/functions/array/filterListExcludingIds.js.map +1 -1
- package/dist/functions/browser/readBrowserAppendToBodyDeps.d.ts +3 -0
- package/dist/functions/browser/readBrowserAppendToBodyDeps.js +8 -0
- package/dist/functions/browser/readBrowserAppendToBodyDeps.js.map +1 -0
- package/dist/functions/browser/readBrowserDetectDeps.d.ts +2 -0
- package/dist/functions/browser/readBrowserDetectDeps.js +8 -5
- package/dist/functions/browser/readBrowserDetectDeps.js.map +1 -1
- package/dist/functions/browser/readBrowserHost.d.ts +57 -0
- package/dist/functions/browser/readBrowserHost.js +61 -0
- package/dist/functions/browser/readBrowserHost.js.map +1 -0
- package/dist/functions/browser/readBrowserImageCompressDeps.d.ts +2 -0
- package/dist/functions/browser/readBrowserImageCompressDeps.js +13 -10
- package/dist/functions/browser/readBrowserImageCompressDeps.js.map +1 -1
- package/dist/functions/browser/readBrowserLassoSelectionEnvironment.d.ts +4 -0
- package/dist/functions/browser/readBrowserLassoSelectionEnvironment.js +23 -0
- package/dist/functions/browser/readBrowserLassoSelectionEnvironment.js.map +1 -0
- package/dist/functions/browser/readBrowserVueHookDeps.d.ts +14 -0
- package/dist/functions/browser/readBrowserVueHookDeps.js +85 -0
- package/dist/functions/browser/readBrowserVueHookDeps.js.map +1 -0
- package/dist/functions/browser/requireBrowserLocalStorage.d.ts +2 -1
- package/dist/functions/browser/requireBrowserLocalStorage.js +3 -6
- package/dist/functions/browser/requireBrowserLocalStorage.js.map +1 -1
- package/dist/functions/chat/chatAppearancePrefs.d.ts +6 -1
- package/dist/functions/chat/chatAppearancePrefs.js +6 -4
- package/dist/functions/chat/chatAppearancePrefs.js.map +1 -1
- package/dist/functions/chat/createBrowserChatAppearanceModeAccess.d.ts +2 -1
- package/dist/functions/chat/createBrowserChatAppearanceModeAccess.js +8 -11
- package/dist/functions/chat/createBrowserChatAppearanceModeAccess.js.map +1 -1
- package/dist/functions/chat/createBrowserChatDownloadDirectoryPrefAccess.d.ts +2 -1
- package/dist/functions/chat/createBrowserChatDownloadDirectoryPrefAccess.js +12 -12
- package/dist/functions/chat/createBrowserChatDownloadDirectoryPrefAccess.js.map +1 -1
- package/dist/functions/chat/createBrowserChatFileMessageLocalPathAccess.d.ts +2 -1
- package/dist/functions/chat/createBrowserChatFileMessageLocalPathAccess.js +7 -14
- package/dist/functions/chat/createBrowserChatFileMessageLocalPathAccess.js.map +1 -1
- package/dist/functions/chat/createBrowserChatRootFontSizeAccess.d.ts +2 -1
- package/dist/functions/chat/createBrowserChatRootFontSizeAccess.js +14 -13
- package/dist/functions/chat/createBrowserChatRootFontSizeAccess.js.map +1 -1
- package/dist/functions/cloudDisk/collectElementIdsInContentLassoBox.d.ts +1 -19
- package/dist/functions/cloudDisk/collectElementIdsInContentLassoBox.js +1 -34
- package/dist/functions/cloudDisk/collectElementIdsInContentLassoBox.js.map +1 -1
- package/dist/functions/cloudDisk/createBrowserCloudDiskPrivacyStorageAccess.d.ts +2 -1
- package/dist/functions/cloudDisk/createBrowserCloudDiskPrivacyStorageAccess.js +11 -19
- package/dist/functions/cloudDisk/createBrowserCloudDiskPrivacyStorageAccess.js.map +1 -1
- package/dist/functions/cloudDisk/createBrowserCloudDiskQuickAccessStorageAccess.d.ts +2 -1
- package/dist/functions/cloudDisk/createBrowserCloudDiskQuickAccessStorageAccess.js +7 -11
- package/dist/functions/cloudDisk/createBrowserCloudDiskQuickAccessStorageAccess.js.map +1 -1
- package/dist/functions/dom/appTheme.d.ts +10 -0
- package/dist/functions/dom/appTheme.js +11 -0
- package/dist/functions/dom/appTheme.js.map +1 -0
- package/dist/functions/dom/copyHtmlAndPlainToClipboard.d.ts +3 -1
- package/dist/functions/dom/copyHtmlAndPlainToClipboard.js +14 -10
- package/dist/functions/dom/copyHtmlAndPlainToClipboard.js.map +1 -1
- package/dist/functions/dom/copyTextToClipboard.d.ts +3 -1
- package/dist/functions/dom/copyTextToClipboard.js +5 -4
- package/dist/functions/dom/copyTextToClipboard.js.map +1 -1
- package/dist/functions/dom/createTooltipLongPressHandlers.d.ts +24 -0
- package/dist/functions/dom/createTooltipLongPressHandlers.js +84 -0
- package/dist/functions/dom/createTooltipLongPressHandlers.js.map +1 -0
- package/dist/functions/dom/domDocumentSelection.d.ts +4 -0
- package/dist/functions/dom/domDocumentSelection.js +39 -0
- package/dist/functions/dom/domDocumentSelection.js.map +1 -0
- package/dist/functions/dom/domSelectionInElement.d.ts +4 -3
- package/dist/functions/dom/domSelectionInElement.js +10 -10
- package/dist/functions/dom/domSelectionInElement.js.map +1 -1
- package/dist/functions/dom/fetchBlobFromUrl.d.ts +7 -1
- package/dist/functions/dom/fetchBlobFromUrl.js +7 -5
- package/dist/functions/dom/fetchBlobFromUrl.js.map +1 -1
- package/dist/functions/dom/fileDrag.d.ts +11 -0
- package/dist/functions/dom/fileDrag.js +14 -0
- package/dist/functions/dom/fileDrag.js.map +1 -0
- package/dist/functions/dom/imageBlobToPng.d.ts +5 -4
- package/dist/functions/dom/imageBlobToPng.js +23 -16
- package/dist/functions/dom/imageBlobToPng.js.map +1 -1
- package/dist/functions/dom/lassoSelection.d.ts +84 -0
- package/dist/functions/dom/lassoSelection.js +199 -0
- package/dist/functions/dom/lassoSelection.js.map +1 -0
- package/dist/functions/dom/readBrowserDomDeps.d.ts +41 -0
- package/dist/functions/dom/readBrowserDomDeps.js +63 -0
- package/dist/functions/dom/readBrowserDomDeps.js.map +1 -0
- package/dist/functions/dom/resolveOverlayTeleportParent.d.ts +7 -0
- package/dist/functions/dom/resolveOverlayTeleportParent.js +11 -0
- package/dist/functions/dom/resolveOverlayTeleportParent.js.map +1 -0
- package/dist/functions/dom/safeBrowserDom.d.ts +17 -0
- package/dist/functions/dom/safeBrowserDom.js +42 -0
- package/dist/functions/dom/safeBrowserDom.js.map +1 -0
- package/dist/functions/dom/writeImageBlobToClipboard.d.ts +5 -1
- package/dist/functions/dom/writeImageBlobToClipboard.js +8 -5
- package/dist/functions/dom/writeImageBlobToClipboard.js.map +1 -1
- package/dist/functions/download/createBrowserDownloadDepsFromGlobalThis.d.ts +2 -0
- package/dist/functions/download/createBrowserDownloadDepsFromGlobalThis.js +9 -10
- package/dist/functions/download/createBrowserDownloadDepsFromGlobalThis.js.map +1 -1
- package/dist/functions/file/isJpegImageFile.d.ts +0 -1
- package/dist/functions/file/isJpegImageFile.js +0 -1
- package/dist/functions/file/isJpegImageFile.js.map +1 -1
- package/dist/functions/im/assignChatConversationToWindowLocation.d.ts +5 -1
- package/dist/functions/im/assignChatConversationToWindowLocation.js +5 -4
- package/dist/functions/im/assignChatConversationToWindowLocation.js.map +1 -1
- package/dist/functions/im/copyUsingClonedRangesOrMessagePlainText.d.ts +5 -1
- package/dist/functions/im/copyUsingClonedRangesOrMessagePlainText.js +11 -8
- package/dist/functions/im/copyUsingClonedRangesOrMessagePlainText.js.map +1 -1
- package/dist/functions/im/executeCopyChatMessageContent.d.ts +4 -1
- package/dist/functions/im/executeCopyChatMessageContent.js +6 -3
- package/dist/functions/im/executeCopyChatMessageContent.js.map +1 -1
- package/dist/functions/im/imBubbleSelectionClipboard.d.ts +2 -1
- package/dist/functions/im/imBubbleSelectionClipboard.js +10 -11
- package/dist/functions/im/imBubbleSelectionClipboard.js.map +1 -1
- package/dist/functions/im/imChatMessagePagination.d.ts +0 -1
- package/dist/functions/im/imChatMessagePagination.js +0 -1
- package/dist/functions/im/imChatMessagePagination.js.map +1 -1
- package/dist/functions/im/imImagePixelExtra.d.ts +0 -1
- package/dist/functions/im/imImagePixelExtra.js +0 -1
- package/dist/functions/im/imImagePixelExtra.js.map +1 -1
- package/dist/functions/im/imOrchestrationTypes.d.ts +5 -0
- package/dist/functions/im/imOrchestrationTypes.js +2 -0
- package/dist/functions/im/imOrchestrationTypes.js.map +1 -0
- package/dist/functions/im/imOutboundMediaHelpers.d.ts +7 -1
- package/dist/functions/im/imOutboundMediaHelpers.js +15 -7
- package/dist/functions/im/imOutboundMediaHelpers.js.map +1 -1
- package/dist/functions/im/index.d.ts +2 -2
- package/dist/functions/im/index.js +2 -2
- package/dist/functions/im/index.js.map +1 -1
- package/dist/functions/im/newImClientMessageIdFromBrowser.d.ts +4 -3
- package/dist/functions/im/newImClientMessageIdFromBrowser.js +7 -15
- package/dist/functions/im/newImClientMessageIdFromBrowser.js.map +1 -1
- package/dist/functions/number/clampIndex.d.ts +1 -0
- package/dist/functions/number/clampIndex.js +6 -0
- package/dist/functions/number/clampIndex.js.map +1 -0
- package/dist/functions/release/capacitorOtaReleaseManifestFetch.d.ts +2 -1
- package/dist/functions/release/capacitorOtaReleaseManifestFetch.js +3 -2
- package/dist/functions/release/capacitorOtaReleaseManifestFetch.js.map +1 -1
- package/dist/functions/release/capacitorReleaseManifestFetch.d.ts +2 -1
- package/dist/functions/release/capacitorReleaseManifestFetch.js +3 -2
- package/dist/functions/release/capacitorReleaseManifestFetch.js.map +1 -1
- package/dist/functions/release/capacitorUpdateDefaults.d.ts +4 -0
- package/dist/functions/release/capacitorUpdateDefaults.js +10 -10
- package/dist/functions/release/capacitorUpdateDefaults.js.map +1 -1
- package/dist/functions/release/createCapacitorUpdateFetchDeps.js +13 -7
- package/dist/functions/release/createCapacitorUpdateFetchDeps.js.map +1 -1
- package/dist/functions/release/createReleaseManifestFetchDeps.d.ts +1 -2
- package/dist/functions/release/createReleaseManifestFetchDeps.js +5 -10
- package/dist/functions/release/createReleaseManifestFetchDeps.js.map +1 -1
- package/dist/functions/release/electronReleaseManifestFetch.d.ts +4 -1
- package/dist/functions/release/electronReleaseManifestFetch.js +12 -7
- package/dist/functions/release/electronReleaseManifestFetch.js.map +1 -1
- package/dist/functions/release/isCapacitorWebViewOnViteDevServer.js +4 -4
- package/dist/functions/release/isCapacitorWebViewOnViteDevServer.js.map +1 -1
- package/dist/functions/release/readBrowserReleaseDeps.d.ts +14 -0
- package/dist/functions/release/readBrowserReleaseDeps.js +19 -0
- package/dist/functions/release/readBrowserReleaseDeps.js.map +1 -0
- package/dist/functions/release/releaseUpdateDismissSession.d.ts +3 -2
- package/dist/functions/release/releaseUpdateDismissSession.js +10 -7
- package/dist/functions/release/releaseUpdateDismissSession.js.map +1 -1
- package/dist/functions/release/verifyHttpContentLength.d.ts +2 -0
- package/dist/functions/release/verifyHttpContentLength.js +4 -1
- package/dist/functions/release/verifyHttpContentLength.js.map +1 -1
- package/dist/functions/storage/createBrowserSessionStorageKit.d.ts +12 -0
- package/dist/functions/storage/createBrowserSessionStorageKit.js +16 -0
- package/dist/functions/storage/createBrowserSessionStorageKit.js.map +1 -0
- package/dist/functions/storage/createBrowserStringStorageKit.d.ts +12 -0
- package/dist/functions/storage/createBrowserStringStorageKit.js +14 -0
- package/dist/functions/storage/createBrowserStringStorageKit.js.map +1 -0
- package/dist/functions/wallet/createBrowserWalletPayPasswordSessionAccess.d.ts +2 -1
- package/dist/functions/wallet/createBrowserWalletPayPasswordSessionAccess.js +5 -9
- package/dist/functions/wallet/createBrowserWalletPayPasswordSessionAccess.js.map +1 -1
- package/dist/permissions/catalog.d.ts +4 -0
- package/dist/permissions/catalog.js +22 -0
- package/dist/permissions/catalog.js.map +1 -1
- package/dist/vue-hooks/browser/useBrowserFileObjectUrlMap.d.ts +7 -0
- package/dist/vue-hooks/browser/useBrowserFileObjectUrlMap.js +7 -0
- package/dist/vue-hooks/browser/useBrowserFileObjectUrlMap.js.map +1 -0
- package/dist/vue-hooks/browser/useFileObjectUrlMap.d.ts +19 -0
- package/dist/vue-hooks/browser/useFileObjectUrlMap.js +46 -0
- package/dist/vue-hooks/browser/useFileObjectUrlMap.js.map +1 -0
- package/dist/vue-hooks/dom/useBrowserFocusVisible.d.ts +9 -0
- package/dist/vue-hooks/dom/useBrowserFocusVisible.js +8 -0
- package/dist/vue-hooks/dom/useBrowserFocusVisible.js.map +1 -0
- package/dist/vue-hooks/dom/useBrowserLassoSelection.d.ts +16 -0
- package/dist/vue-hooks/dom/useBrowserLassoSelection.js +7 -0
- package/dist/vue-hooks/dom/useBrowserLassoSelection.js.map +1 -0
- package/dist/vue-hooks/dom/useFocusVisible.d.ts +17 -0
- package/dist/vue-hooks/dom/useFocusVisible.js +53 -0
- package/dist/vue-hooks/dom/useFocusVisible.js.map +1 -0
- package/dist/vue-hooks/dom/useLassoSelection.d.ts +53 -0
- package/dist/vue-hooks/dom/useLassoSelection.js +244 -0
- package/dist/vue-hooks/dom/useLassoSelection.js.map +1 -0
- package/dist/vue-hooks/time/useBrowserDelayedTrue.d.ts +2 -0
- package/dist/vue-hooks/time/useBrowserDelayedTrue.js +7 -0
- package/dist/vue-hooks/time/useBrowserDelayedTrue.js.map +1 -0
- package/dist/vue-hooks/time/useDelayedTrue.d.ts +11 -0
- package/dist/vue-hooks/time/useDelayedTrue.js +29 -0
- package/dist/vue-hooks/time/useDelayedTrue.js.map +1 -0
- package/package.json +29 -2
- package/types/component-material.d.ts +40 -0
- package/types/lowcode.d.ts +63 -0
- package/types/rbac.d.ts +0 -3
- package/types/vue.d.ts +9 -1
- package/dist/functions/file/extractVideoCover.d.ts +0 -6
- package/dist/functions/file/extractVideoCover.js +0 -57
- package/dist/functions/file/extractVideoCover.js.map +0 -1
- package/dist/functions/im/imInlineContentTokens.d.ts +0 -49
- package/dist/functions/im/imInlineContentTokens.js +0 -185
- package/dist/functions/im/imInlineContentTokens.js.map +0 -1
- package/dist/functions/im/materializeUploadFileFromMediaBlobRecord.d.ts +0 -7
- package/dist/functions/im/materializeUploadFileFromMediaBlobRecord.js +0 -10
- package/dist/functions/im/materializeUploadFileFromMediaBlobRecord.js.map +0 -1
- package/dist/functions/im/parseImMentionSegments.d.ts +0 -19
- package/dist/functions/im/parseImMentionSegments.js +0 -92
- package/dist/functions/im/parseImMentionSegments.js.map +0 -1
- package/dist/functions/image/compressImageToWidth.d.ts +0 -12
- package/dist/functions/image/compressImageToWidth.js +0 -44
- package/dist/functions/image/compressImageToWidth.js.map +0 -1
- package/dist/functions/image/compressJpgToTargetSize.d.ts +0 -13
- package/dist/functions/image/compressJpgToTargetSize.js +0 -132
- package/dist/functions/image/compressJpgToTargetSize.js.map +0 -1
- package/dist/functions/image/compressToTargetSize.d.ts +0 -13
- package/dist/functions/image/compressToTargetSizeJpg.d.ts +0 -13
- package/dist/functions/image/compressToTargetSizeJpg.js +0 -132
- package/dist/functions/image/compressToTargetSizeJpg.js.map +0 -1
- package/dist/permissions/allPermissionCode.js.map +0 -1
- package/dist/permissions/definePermissionGroup.js.map +0 -1
- package/dist/permissions/groups.js.map +0 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export function useDelayedTrue(source, deps, delayMs = 500) {
|
|
2
|
+
const delayed = deps.vue.ref(false);
|
|
3
|
+
let timer = null;
|
|
4
|
+
deps.vue.watch(source, (v) => {
|
|
5
|
+
if (timer != null) {
|
|
6
|
+
deps.host.clearTimeout(timer);
|
|
7
|
+
timer = null;
|
|
8
|
+
}
|
|
9
|
+
if (!v) {
|
|
10
|
+
delayed.value = false;
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
if (delayMs <= 0) {
|
|
14
|
+
delayed.value = true;
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
timer = deps.host.setTimeout(() => {
|
|
18
|
+
timer = null;
|
|
19
|
+
if (source.value)
|
|
20
|
+
delayed.value = true;
|
|
21
|
+
}, delayMs);
|
|
22
|
+
}, { immediate: true });
|
|
23
|
+
deps.vue.onUnmounted(() => {
|
|
24
|
+
if (timer != null)
|
|
25
|
+
deps.host.clearTimeout(timer);
|
|
26
|
+
});
|
|
27
|
+
return delayed;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=useDelayedTrue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDelayedTrue.js","sourceRoot":"","sources":["../../../src/vue-hooks/time/useDelayedTrue.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,cAAc,CAC5B,MAAoB,EACpB,IAAwB,EACxB,OAAO,GAAG,GAAG;IAEb,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACnC,IAAI,KAAK,GAAmD,IAAI,CAAA;IAEhE,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,MAAM,EACN,CAAC,CAAC,EAAE,EAAE;QACJ,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;YAC7B,KAAK,GAAG,IAAI,CAAA;QACd,CAAC;QACD,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;YACrB,OAAM;QACR,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;YACpB,OAAM;QACR,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAChC,KAAK,GAAG,IAAI,CAAA;YACZ,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;QACxC,CAAC,EAAE,OAAO,CAAC,CAAA;IACb,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAA;IAED,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE;QACxB,IAAI,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zcw-shared",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.26.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"references",
|
|
6
6
|
"dist",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"typescript": "^5.8.3",
|
|
34
34
|
"vitepress": "^1.6.4",
|
|
35
35
|
"vue": "^3.5.22",
|
|
36
|
-
"zcw-vue-ui": "^1.
|
|
36
|
+
"zcw-vue-ui": "^1.30.0"
|
|
37
37
|
},
|
|
38
38
|
"exports": {
|
|
39
39
|
"./constants/aiChatSuggestions": "./dist/constants/aiChatSuggestions.js",
|
|
@@ -173,9 +173,13 @@
|
|
|
173
173
|
"./functions/browser/isMobile": "./dist/functions/browser/isMobile.js",
|
|
174
174
|
"./functions/browser/isNonNativeBrowserShell": "./dist/functions/browser/isNonNativeBrowserShell.js",
|
|
175
175
|
"./functions/browser/isWeChat": "./dist/functions/browser/isWeChat.js",
|
|
176
|
+
"./functions/browser/readBrowserAppendToBodyDeps": "./dist/functions/browser/readBrowserAppendToBodyDeps.js",
|
|
176
177
|
"./functions/browser/readBrowserDetectDeps": "./dist/functions/browser/readBrowserDetectDeps.js",
|
|
178
|
+
"./functions/browser/readBrowserHost": "./dist/functions/browser/readBrowserHost.js",
|
|
177
179
|
"./functions/browser/readBrowserImageCompressDeps": "./dist/functions/browser/readBrowserImageCompressDeps.js",
|
|
180
|
+
"./functions/browser/readBrowserLassoSelectionEnvironment": "./dist/functions/browser/readBrowserLassoSelectionEnvironment.js",
|
|
178
181
|
"./functions/browser/readBrowserOsInfo": "./dist/functions/browser/readBrowserOsInfo.js",
|
|
182
|
+
"./functions/browser/readBrowserVueHookDeps": "./dist/functions/browser/readBrowserVueHookDeps.js",
|
|
179
183
|
"./functions/browser/requireBrowserLocalStorage": "./dist/functions/browser/requireBrowserLocalStorage.js",
|
|
180
184
|
"./functions/browser/shortcutModKeyHint": "./dist/functions/browser/shortcutModKeyHint.js",
|
|
181
185
|
"./functions/build/readCapacitorShellExecBuildFlag": "./dist/functions/build/readCapacitorShellExecBuildFlag.js",
|
|
@@ -262,16 +266,20 @@
|
|
|
262
266
|
"./functions/design-tokens/generateVariables": "./dist/functions/design-tokens/generateVariables.js",
|
|
263
267
|
"./functions/design-tokens/mixColors": "./dist/functions/design-tokens/mixColors.js",
|
|
264
268
|
"./functions/design-tokens/parseDesignTokens": "./dist/functions/design-tokens/parseDesignTokens.js",
|
|
269
|
+
"./functions/dom/appTheme": "./dist/functions/dom/appTheme.js",
|
|
265
270
|
"./functions/dom/computePosition": "./dist/functions/dom/computePosition.js",
|
|
266
271
|
"./functions/dom/copyHtmlAndPlainToClipboard": "./dist/functions/dom/copyHtmlAndPlainToClipboard.js",
|
|
267
272
|
"./functions/dom/copyTextToClipboard": "./dist/functions/dom/copyTextToClipboard.js",
|
|
268
273
|
"./functions/dom/createSharedKeyboardCenter": "./dist/functions/dom/createSharedKeyboardCenter.js",
|
|
269
274
|
"./functions/dom/createThrottledEventListener": "./dist/functions/dom/createThrottledEventListener.js",
|
|
275
|
+
"./functions/dom/createTooltipLongPressHandlers": "./dist/functions/dom/createTooltipLongPressHandlers.js",
|
|
270
276
|
"./functions/dom/demonstrateResourceLoading": "./dist/functions/dom/demonstrateResourceLoading.js",
|
|
271
277
|
"./functions/dom/detectOverflow": "./dist/functions/dom/detectOverflow.js",
|
|
278
|
+
"./functions/dom/domDocumentSelection": "./dist/functions/dom/domDocumentSelection.js",
|
|
272
279
|
"./functions/dom/domSelectionInElement": "./dist/functions/dom/domSelectionInElement.js",
|
|
273
280
|
"./functions/dom/executeCopyTextToClipboard": "./dist/functions/dom/executeCopyTextToClipboard.js",
|
|
274
281
|
"./functions/dom/fetchBlobFromUrl": "./dist/functions/dom/fetchBlobFromUrl.js",
|
|
282
|
+
"./functions/dom/fileDrag": "./dist/functions/dom/fileDrag.js",
|
|
275
283
|
"./functions/dom/getAlignment": "./dist/functions/dom/getAlignment.js",
|
|
276
284
|
"./functions/dom/getBasePlacement": "./dist/functions/dom/getBasePlacement.js",
|
|
277
285
|
"./functions/dom/getCrossAxisFlip": "./dist/functions/dom/getCrossAxisFlip.js",
|
|
@@ -283,9 +291,13 @@
|
|
|
283
291
|
"./functions/dom/imageBlobToPng": "./dist/functions/dom/imageBlobToPng.js",
|
|
284
292
|
"./functions/dom/isTextTruncated": "./dist/functions/dom/isTextTruncated.js",
|
|
285
293
|
"./functions/dom/isValidPlacement": "./dist/functions/dom/isValidPlacement.js",
|
|
294
|
+
"./functions/dom/lassoSelection": "./dist/functions/dom/lassoSelection.js",
|
|
286
295
|
"./functions/dom/localFileInput": "./dist/functions/dom/localFileInput.js",
|
|
287
296
|
"./functions/dom/pickFile": "./dist/functions/dom/pickFile.js",
|
|
297
|
+
"./functions/dom/readBrowserDomDeps": "./dist/functions/dom/readBrowserDomDeps.js",
|
|
288
298
|
"./functions/dom/resolveChatMessageImageFromContextMenu": "./dist/functions/dom/resolveChatMessageImageFromContextMenu.js",
|
|
299
|
+
"./functions/dom/resolveOverlayTeleportParent": "./dist/functions/dom/resolveOverlayTeleportParent.js",
|
|
300
|
+
"./functions/dom/safeBrowserDom": "./dist/functions/dom/safeBrowserDom.js",
|
|
289
301
|
"./functions/dom/writeImageBlobToClipboard": "./dist/functions/dom/writeImageBlobToClipboard.js",
|
|
290
302
|
"./functions/download/adaptDownloadDispatcherForUrlFeedback": "./dist/functions/download/adaptDownloadDispatcherForUrlFeedback.js",
|
|
291
303
|
"./functions/download/buildCapacitorDownloadRelativePath": "./dist/functions/download/buildCapacitorDownloadRelativePath.js",
|
|
@@ -483,6 +495,7 @@
|
|
|
483
495
|
"./functions/im/imMessageNormalize": "./dist/functions/im/imMessageNormalize.js",
|
|
484
496
|
"./functions/im/imMessageToChatMessage": "./dist/functions/im/imMessageToChatMessage.js",
|
|
485
497
|
"./functions/im/imMultiSelectBatchAction": "./dist/functions/im/imMultiSelectBatchAction.js",
|
|
498
|
+
"./functions/im/imOrchestrationTypes": "./dist/functions/im/imOrchestrationTypes.js",
|
|
486
499
|
"./functions/im/imOutboundListSummary": "./dist/functions/im/imOutboundListSummary.js",
|
|
487
500
|
"./functions/im/imOutboundMediaHelpers": "./dist/functions/im/imOutboundMediaHelpers.js",
|
|
488
501
|
"./functions/im/imOutboundPatch": "./dist/functions/im/imOutboundPatch.js",
|
|
@@ -581,6 +594,7 @@
|
|
|
581
594
|
"./functions/math/percentile": "./dist/functions/math/percentile.js",
|
|
582
595
|
"./functions/math/sum": "./dist/functions/math/sum.js",
|
|
583
596
|
"./functions/number/clamp": "./dist/functions/number/clamp.js",
|
|
597
|
+
"./functions/number/clampIndex": "./dist/functions/number/clampIndex.js",
|
|
584
598
|
"./functions/number/formatNumber": "./dist/functions/number/formatNumber.js",
|
|
585
599
|
"./functions/number/random": "./dist/functions/number/random.js",
|
|
586
600
|
"./functions/number/range": "./dist/functions/number/range.js",
|
|
@@ -660,6 +674,7 @@
|
|
|
660
674
|
"./functions/release/openElectronDesktopClientDownload": "./dist/functions/release/openElectronDesktopClientDownload.js",
|
|
661
675
|
"./functions/release/pickCapacitorAndroidPackage": "./dist/functions/release/pickCapacitorAndroidPackage.js",
|
|
662
676
|
"./functions/release/pickElectronReleasePackage": "./dist/functions/release/pickElectronReleasePackage.js",
|
|
677
|
+
"./functions/release/readBrowserReleaseDeps": "./dist/functions/release/readBrowserReleaseDeps.js",
|
|
663
678
|
"./functions/release/releaseUpdateDismissSession": "./dist/functions/release/releaseUpdateDismissSession.js",
|
|
664
679
|
"./functions/release/releaseUpdatePolicy": "./dist/functions/release/releaseUpdatePolicy.js",
|
|
665
680
|
"./functions/release/sanitizeCapacitorDownloadFileName": "./dist/functions/release/sanitizeCapacitorDownloadFileName.js",
|
|
@@ -670,6 +685,8 @@
|
|
|
670
685
|
"./functions/software/findSoftware": "./dist/functions/software/findSoftware.js",
|
|
671
686
|
"./functions/sse/namedSseStream": "./dist/functions/sse/namedSseStream.js",
|
|
672
687
|
"./functions/storage/clearAppCachePreservingAuth": "./dist/functions/storage/clearAppCachePreservingAuth.js",
|
|
688
|
+
"./functions/storage/createBrowserSessionStorageKit": "./dist/functions/storage/createBrowserSessionStorageKit.js",
|
|
689
|
+
"./functions/storage/createBrowserStringStorageKit": "./dist/functions/storage/createBrowserStringStorageKit.js",
|
|
673
690
|
"./functions/storage/useDexieShortcuts": "./dist/functions/storage/useDexieShortcuts.js",
|
|
674
691
|
"./functions/storage/useLocalStorage": "./dist/functions/storage/useLocalStorage.js",
|
|
675
692
|
"./functions/storage/useSessionStorage": "./dist/functions/storage/useSessionStorage.js",
|
|
@@ -803,8 +820,10 @@
|
|
|
803
820
|
"./vue-hooks/browser/useBattery": "./dist/vue-hooks/browser/useBattery.js",
|
|
804
821
|
"./vue-hooks/browser/useBluetooth": "./dist/vue-hooks/browser/useBluetooth.js",
|
|
805
822
|
"./vue-hooks/browser/useBridgeMessage": "./dist/vue-hooks/browser/useBridgeMessage.js",
|
|
823
|
+
"./vue-hooks/browser/useBrowserFileObjectUrlMap": "./dist/vue-hooks/browser/useBrowserFileObjectUrlMap.js",
|
|
806
824
|
"./vue-hooks/browser/useCamera": "./dist/vue-hooks/browser/useCamera.js",
|
|
807
825
|
"./vue-hooks/browser/useClipboard": "./dist/vue-hooks/browser/useClipboard.js",
|
|
826
|
+
"./vue-hooks/browser/useFileObjectUrlMap": "./dist/vue-hooks/browser/useFileObjectUrlMap.js",
|
|
808
827
|
"./vue-hooks/browser/useFileUpload": "./dist/vue-hooks/browser/useFileUpload.js",
|
|
809
828
|
"./vue-hooks/browser/useFullscreen": "./dist/vue-hooks/browser/useFullscreen.js",
|
|
810
829
|
"./vue-hooks/browser/useGamepad": "./dist/vue-hooks/browser/useGamepad.js",
|
|
@@ -821,9 +840,13 @@
|
|
|
821
840
|
"./vue-hooks/browser/useWechatJSSDK": "./dist/vue-hooks/browser/useWechatJSSDK.js",
|
|
822
841
|
"./vue-hooks/dom/useAppendToBody": "./dist/vue-hooks/dom/useAppendToBody.js",
|
|
823
842
|
"./vue-hooks/dom/useAutoUpdate": "./dist/vue-hooks/dom/useAutoUpdate.js",
|
|
843
|
+
"./vue-hooks/dom/useBrowserFocusVisible": "./dist/vue-hooks/dom/useBrowserFocusVisible.js",
|
|
844
|
+
"./vue-hooks/dom/useBrowserLassoSelection": "./dist/vue-hooks/dom/useBrowserLassoSelection.js",
|
|
824
845
|
"./vue-hooks/dom/useClickOutside": "./dist/vue-hooks/dom/useClickOutside.js",
|
|
825
846
|
"./vue-hooks/dom/useDraggable": "./dist/vue-hooks/dom/useDraggable.js",
|
|
826
847
|
"./vue-hooks/dom/useEventListener": "./dist/vue-hooks/dom/useEventListener.js",
|
|
848
|
+
"./vue-hooks/dom/useFocusVisible": "./dist/vue-hooks/dom/useFocusVisible.js",
|
|
849
|
+
"./vue-hooks/dom/useLassoSelection": "./dist/vue-hooks/dom/useLassoSelection.js",
|
|
827
850
|
"./vue-hooks/dom/useResizable": "./dist/vue-hooks/dom/useResizable.js",
|
|
828
851
|
"./vue-hooks/history/useDebouncedRefHistory": "./dist/vue-hooks/history/useDebouncedRefHistory.js",
|
|
829
852
|
"./vue-hooks/history/useManualRefHistory": "./dist/vue-hooks/history/useManualRefHistory.js",
|
|
@@ -841,6 +864,8 @@
|
|
|
841
864
|
"./vue-hooks/state/useToggle": "./dist/vue-hooks/state/useToggle.js",
|
|
842
865
|
"./vue-hooks/state/useTokenManager": "./dist/vue-hooks/state/useTokenManager.js",
|
|
843
866
|
"./vue-hooks/state/useUserManager": "./dist/vue-hooks/state/useUserManager.js",
|
|
867
|
+
"./vue-hooks/time/useBrowserDelayedTrue": "./dist/vue-hooks/time/useBrowserDelayedTrue.js",
|
|
868
|
+
"./vue-hooks/time/useDelayedTrue": "./dist/vue-hooks/time/useDelayedTrue.js",
|
|
844
869
|
"./vue-hooks/time/useInterval": "./dist/vue-hooks/time/useInterval.js",
|
|
845
870
|
"./vue-hooks/time/useTimeout": "./dist/vue-hooks/time/useTimeout.js",
|
|
846
871
|
"./vue-hooks/worker/useWebWorker": "./dist/vue-hooks/worker/useWebWorker.js",
|
|
@@ -869,6 +894,7 @@
|
|
|
869
894
|
"./types/cloud-disk-config": "./types/cloud-disk-config.d.ts",
|
|
870
895
|
"./types/cloud-disk": "./types/cloud-disk.d.ts",
|
|
871
896
|
"./types/color": "./types/color.d.ts",
|
|
897
|
+
"./types/component-material": "./types/component-material.d.ts",
|
|
872
898
|
"./types/design-system": "./types/design-system.d.ts",
|
|
873
899
|
"./types/download": "./types/download.d.ts",
|
|
874
900
|
"./types/electron-release-manifest": "./types/electron-release-manifest.d.ts",
|
|
@@ -890,6 +916,7 @@
|
|
|
890
916
|
"./types/im-wallet-message": "./types/im-wallet-message.d.ts",
|
|
891
917
|
"./types/ios-build": "./types/ios-build.d.ts",
|
|
892
918
|
"./types/llm-openai-wire": "./types/llm-openai-wire.d.ts",
|
|
919
|
+
"./types/lowcode": "./types/lowcode.d.ts",
|
|
893
920
|
"./types/music": "./types/music.d.ts",
|
|
894
921
|
"./types/named-sse": "./types/named-sse.d.ts",
|
|
895
922
|
"./types/notification": "./types/notification.d.ts",
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Component } from 'vue'
|
|
2
|
+
|
|
3
|
+
/** 组件物料属性字段类型(设计器属性面板) */
|
|
4
|
+
export type ComponentPropFieldType =
|
|
5
|
+
| 'string'
|
|
6
|
+
| 'number'
|
|
7
|
+
| 'boolean'
|
|
8
|
+
| { type: 'select'; options: string[] }
|
|
9
|
+
|
|
10
|
+
/** 组件物料元信息(由 types.ts Props + 模板 slots + vue-ui materialMeta 推导) */
|
|
11
|
+
export interface ComponentMaterialMeta {
|
|
12
|
+
props: Record<string, ComponentPropFieldType>
|
|
13
|
+
slots?: string[]
|
|
14
|
+
acceptsChildren?: boolean
|
|
15
|
+
/** vue-ui materialMeta.type:component 叶子 / container 容器 */
|
|
16
|
+
materialType?: 'component' | 'container'
|
|
17
|
+
/** 拖入画布时的初始 prop(覆盖类型推导的空字符串/0/false) */
|
|
18
|
+
defaultProps?: Record<string, unknown>
|
|
19
|
+
/** 叶子组件默认插槽文案(如按钮文字;不写入 schema,仅辅助首次展示) */
|
|
20
|
+
defaultSlotContent?: Partial<Record<string, string>>
|
|
21
|
+
/** 来自 vue-ui materialMeta.preview:设计器画布尺寸与需挂接的 slot */
|
|
22
|
+
preview?: {
|
|
23
|
+
minWidth?: number
|
|
24
|
+
minHeight?: number
|
|
25
|
+
slots?: string[]
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** 组件物料条目(运行时含 Vue 组件引用) */
|
|
30
|
+
export interface ComponentMaterialItem {
|
|
31
|
+
id: string
|
|
32
|
+
displayName: string
|
|
33
|
+
component: Component
|
|
34
|
+
meta: ComponentMaterialMeta
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface ComponentMaterialCategory {
|
|
38
|
+
category: string
|
|
39
|
+
children: ComponentMaterialItem[]
|
|
40
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/** 低代码页面 schema(存库 / 运行时) */
|
|
2
|
+
export interface LowcodePageSchema {
|
|
3
|
+
version: '1.0'
|
|
4
|
+
root: LowcodeNodeSnapshot[]
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/** 可序列化节点(不含 Vue Component 引用) */
|
|
8
|
+
export interface LowcodeNodeSnapshot {
|
|
9
|
+
id: string
|
|
10
|
+
typeId: string
|
|
11
|
+
props: Record<string, unknown>
|
|
12
|
+
children?: LowcodeNodeSnapshot[]
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface LowcodeApp {
|
|
16
|
+
id: string
|
|
17
|
+
app_key: string
|
|
18
|
+
name: string
|
|
19
|
+
description?: string | null
|
|
20
|
+
status: 'active' | 'inactive'
|
|
21
|
+
created_at?: string
|
|
22
|
+
updated_at?: string
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface LowcodePage {
|
|
26
|
+
id: string
|
|
27
|
+
app_id: string
|
|
28
|
+
page_key: string
|
|
29
|
+
title: string
|
|
30
|
+
route_path: string
|
|
31
|
+
draft_schema: LowcodePageSchema | Record<string, unknown>
|
|
32
|
+
published_schema?: LowcodePageSchema | Record<string, unknown> | null
|
|
33
|
+
published_at?: string | null
|
|
34
|
+
status: 'active' | 'inactive'
|
|
35
|
+
created_at?: string
|
|
36
|
+
updated_at?: string
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export interface LowcodePageDetail extends LowcodePage {
|
|
40
|
+
app_key: string
|
|
41
|
+
app_name: string
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface LowcodeRuntimePage {
|
|
45
|
+
app_key: string
|
|
46
|
+
page_key: string
|
|
47
|
+
title: string
|
|
48
|
+
route_path: string
|
|
49
|
+
schema: LowcodePageSchema | Record<string, unknown>
|
|
50
|
+
published_at?: string | null
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface LowcodeRuntimePageMeta {
|
|
54
|
+
page_key: string
|
|
55
|
+
title: string
|
|
56
|
+
route_path: string
|
|
57
|
+
published_at?: string | null
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export const EMPTY_LOWCODE_PAGE_SCHEMA: LowcodePageSchema = {
|
|
61
|
+
version: '1.0',
|
|
62
|
+
root: [],
|
|
63
|
+
}
|
package/types/rbac.d.ts
CHANGED
package/types/vue.d.ts
CHANGED
|
@@ -6,6 +6,10 @@ import type { Ref, InjectionKey, WatchStopHandle } from 'vue'
|
|
|
6
6
|
* 用于 Vue Hooks 的依赖注入,所有属性都是可选的
|
|
7
7
|
*/
|
|
8
8
|
export interface VueCompositionAPI {
|
|
9
|
+
/** 组件卸载前的钩子 */
|
|
10
|
+
onBeforeUnmount?: (fn: () => void) => void
|
|
11
|
+
/** 解包 MaybeRef */
|
|
12
|
+
toValue?: <T>(source: T) => T
|
|
9
13
|
/** 创建响应式引用 */
|
|
10
14
|
ref?: <T>(value: T) => Ref<T>
|
|
11
15
|
/** 创建浅响应式引用 */
|
|
@@ -19,7 +23,11 @@ export interface VueCompositionAPI {
|
|
|
19
23
|
/** 注入依赖 */
|
|
20
24
|
inject?: <T>(key: InjectionKey<T> | string, defaultValue?: T) => T | undefined
|
|
21
25
|
/** 监听响应式数据变化 */
|
|
22
|
-
watch?: <T>(
|
|
26
|
+
watch?: <T>(
|
|
27
|
+
source: (() => T) | Ref<T>,
|
|
28
|
+
callback: (newValue: T, oldValue: T) => void,
|
|
29
|
+
options?: { deep?: boolean; flush?: 'pre' | 'post' | 'sync'; immediate?: boolean },
|
|
30
|
+
) => WatchStopHandle
|
|
23
31
|
}
|
|
24
32
|
|
|
25
33
|
/**
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
export async function extractVideoCoverAsFile(videoFile, options = {}) {
|
|
2
|
-
const { seekTimeSec = 0.1, quality = 0.9, mimeType = 'image/jpeg', maxWidth = 1080, } = options;
|
|
3
|
-
if (typeof document === 'undefined') {
|
|
4
|
-
throw new Error('当前环境不支持视频封面提取');
|
|
5
|
-
}
|
|
6
|
-
const video = document.createElement('video');
|
|
7
|
-
video.preload = 'metadata';
|
|
8
|
-
video.muted = true;
|
|
9
|
-
video.playsInline = true;
|
|
10
|
-
const objectUrl = URL.createObjectURL(videoFile);
|
|
11
|
-
video.src = objectUrl;
|
|
12
|
-
try {
|
|
13
|
-
await new Promise((resolve, reject) => {
|
|
14
|
-
const onLoaded = () => resolve();
|
|
15
|
-
const onError = () => reject(new Error('读取视频失败,无法提取封面'));
|
|
16
|
-
video.addEventListener('loadedmetadata', onLoaded, { once: true });
|
|
17
|
-
video.addEventListener('error', onError, { once: true });
|
|
18
|
-
});
|
|
19
|
-
const duration = Number.isFinite(video.duration) ? video.duration : 0;
|
|
20
|
-
const targetTime = Math.max(0, Math.min(seekTimeSec, duration > 0 ? Math.max(0, duration - 0.05) : seekTimeSec));
|
|
21
|
-
await new Promise((resolve, reject) => {
|
|
22
|
-
const onSeeked = () => resolve();
|
|
23
|
-
const onError = () => reject(new Error('定位视频帧失败,无法提取封面'));
|
|
24
|
-
video.addEventListener('seeked', onSeeked, { once: true });
|
|
25
|
-
video.addEventListener('error', onError, { once: true });
|
|
26
|
-
video.currentTime = targetTime;
|
|
27
|
-
});
|
|
28
|
-
const srcW = Math.max(1, video.videoWidth || 1);
|
|
29
|
-
const srcH = Math.max(1, video.videoHeight || 1);
|
|
30
|
-
const scale = srcW > maxWidth ? maxWidth / srcW : 1;
|
|
31
|
-
const outW = Math.max(1, Math.round(srcW * scale));
|
|
32
|
-
const outH = Math.max(1, Math.round(srcH * scale));
|
|
33
|
-
const canvas = document.createElement('canvas');
|
|
34
|
-
canvas.width = outW;
|
|
35
|
-
canvas.height = outH;
|
|
36
|
-
const ctx = canvas.getContext('2d');
|
|
37
|
-
if (!ctx)
|
|
38
|
-
throw new Error('创建封面画布失败');
|
|
39
|
-
ctx.drawImage(video, 0, 0, outW, outH);
|
|
40
|
-
const blob = await new Promise((resolve, reject) => {
|
|
41
|
-
canvas.toBlob((b) => {
|
|
42
|
-
if (!b) {
|
|
43
|
-
reject(new Error('生成封面失败'));
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
resolve(b);
|
|
47
|
-
}, mimeType, quality);
|
|
48
|
-
});
|
|
49
|
-
const ext = mimeType === 'image/png' ? 'png' : 'jpg';
|
|
50
|
-
const base = videoFile.name.replace(/\.[^/.]+$/, '') || 'video-cover';
|
|
51
|
-
return new File([blob], `${base}-cover.${ext}`, { type: mimeType });
|
|
52
|
-
}
|
|
53
|
-
finally {
|
|
54
|
-
URL.revokeObjectURL(objectUrl);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=extractVideoCover.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extractVideoCover.js","sourceRoot":"","sources":["../../../src/functions/file/extractVideoCover.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
export declare function formatImFileToken(filePath: string): string;
|
|
2
|
-
export declare const formatImLocalFileToken: typeof formatImFileToken;
|
|
3
|
-
export declare function formatImImageLocalToken(attachKey: string): string;
|
|
4
|
-
export interface ImImageIntrinsicDimensions {
|
|
5
|
-
width: number;
|
|
6
|
-
height: number;
|
|
7
|
-
}
|
|
8
|
-
export declare function formatImImageUrlToken(url: string, dimensions?: ImImageIntrinsicDimensions): string;
|
|
9
|
-
export declare function parseImImageUrlTokenPayload(payload: string): {
|
|
10
|
-
url: string;
|
|
11
|
-
width?: number;
|
|
12
|
-
height?: number;
|
|
13
|
-
};
|
|
14
|
-
export type ImRichContentSegment = {
|
|
15
|
-
type: 'text';
|
|
16
|
-
text: string;
|
|
17
|
-
} | {
|
|
18
|
-
type: 'mention';
|
|
19
|
-
userId: string;
|
|
20
|
-
raw: string;
|
|
21
|
-
label?: string;
|
|
22
|
-
} | {
|
|
23
|
-
type: 'file';
|
|
24
|
-
path: string;
|
|
25
|
-
raw: string;
|
|
26
|
-
} | {
|
|
27
|
-
type: 'image';
|
|
28
|
-
url: string;
|
|
29
|
-
raw: string;
|
|
30
|
-
pending: boolean;
|
|
31
|
-
attachKey?: string;
|
|
32
|
-
width?: number;
|
|
33
|
-
height?: number;
|
|
34
|
-
};
|
|
35
|
-
export declare function parseImRichContentSegments(content: string): ImRichContentSegment[];
|
|
36
|
-
export declare function contentHasImageLocalTokens(content: string): boolean;
|
|
37
|
-
export declare function replaceImImageLocalToken(content: string, attachKey: string, url: string, dimensions?: ImImageIntrinsicDimensions): string;
|
|
38
|
-
export declare function replaceImImageUrlToken(content: string, fromUrl: string, toUrl: string, dimensions?: ImImageIntrinsicDimensions): string;
|
|
39
|
-
export declare function contentHasImRichInlineTokens(content: string): boolean;
|
|
40
|
-
export type MaterializeImRichContentOptions = {
|
|
41
|
-
resolveMentionLabel?: (userId: string) => string;
|
|
42
|
-
mentionFallbackLabel?: (userId: string) => string;
|
|
43
|
-
formatLocalFilePath?: (path: string) => string;
|
|
44
|
-
preserveLocalFileTokens?: boolean;
|
|
45
|
-
preserveImageUrlTokens?: boolean;
|
|
46
|
-
formatImageUrl?: (url: string) => string;
|
|
47
|
-
formatImagePending?: () => string;
|
|
48
|
-
};
|
|
49
|
-
export declare function materializeImRichContentTokensInText(content: string, options?: MaterializeImRichContentOptions): string;
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { parseImMentionTokenPayload } from './parseImMentionSegments.js';
|
|
2
|
-
export function formatImFileToken(filePath) {
|
|
3
|
-
const p = filePath.trim();
|
|
4
|
-
return `local-file:[${p}]`;
|
|
5
|
-
}
|
|
6
|
-
export const formatImLocalFileToken = formatImFileToken;
|
|
7
|
-
export function formatImImageLocalToken(attachKey) {
|
|
8
|
-
const k = attachKey.trim();
|
|
9
|
-
return `img:[local:${k}]`;
|
|
10
|
-
}
|
|
11
|
-
export function formatImImageUrlToken(url, dimensions) {
|
|
12
|
-
const u = url.trim();
|
|
13
|
-
if (!u)
|
|
14
|
-
return '';
|
|
15
|
-
const w = Math.round(dimensions?.width ?? 0);
|
|
16
|
-
const h = Math.round(dimensions?.height ?? 0);
|
|
17
|
-
if (w > 0 && h > 0) {
|
|
18
|
-
return `img:[url:${u};w:${w};h:${h}]`;
|
|
19
|
-
}
|
|
20
|
-
return `img:[url:${u}]`;
|
|
21
|
-
}
|
|
22
|
-
export function parseImImageUrlTokenPayload(payload) {
|
|
23
|
-
const raw = payload.trim();
|
|
24
|
-
if (!raw)
|
|
25
|
-
return { url: '' };
|
|
26
|
-
const body = raw.startsWith('url:') ? raw.slice(4) : raw;
|
|
27
|
-
if (!body)
|
|
28
|
-
return { url: '' };
|
|
29
|
-
const dimMatch = body.match(/;w:(\d+);h:(\d+)$/);
|
|
30
|
-
if (dimMatch?.index != null) {
|
|
31
|
-
const width = Number.parseInt(dimMatch[1], 10);
|
|
32
|
-
const height = Number.parseInt(dimMatch[2], 10);
|
|
33
|
-
const url = body.slice(0, dimMatch.index).trim();
|
|
34
|
-
return {
|
|
35
|
-
url,
|
|
36
|
-
...(width > 0 && height > 0 ? { width, height } : {}),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
return { url: body.trim() };
|
|
40
|
-
}
|
|
41
|
-
const INLINE_TOKEN_RE = /@\[uid:([^\]]+)\]|local-file:\[([^\]]+)\]|file:\[([^\]]+)\]|img:\[local:([^\]]+)\]|img:\[url:([^\]]+)\]/g;
|
|
42
|
-
export function parseImRichContentSegments(content) {
|
|
43
|
-
if (!content)
|
|
44
|
-
return [{ type: 'text', text: '' }];
|
|
45
|
-
const segments = [];
|
|
46
|
-
let last = 0;
|
|
47
|
-
const re = new RegExp(INLINE_TOKEN_RE.source, 'g');
|
|
48
|
-
let m;
|
|
49
|
-
while ((m = re.exec(content)) !== null) {
|
|
50
|
-
if (m.index > last) {
|
|
51
|
-
segments.push({ type: 'text', text: content.slice(last, m.index) });
|
|
52
|
-
}
|
|
53
|
-
if (m[1] != null) {
|
|
54
|
-
const parsed = parseImMentionTokenPayload(m[1]);
|
|
55
|
-
segments.push({
|
|
56
|
-
type: 'mention',
|
|
57
|
-
userId: parsed.userId,
|
|
58
|
-
raw: m[0],
|
|
59
|
-
...(parsed.label ? { label: parsed.label } : {}),
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
else if (m[2] != null) {
|
|
63
|
-
segments.push({ type: 'file', path: m[2], raw: m[0] });
|
|
64
|
-
}
|
|
65
|
-
else if (m[3] != null) {
|
|
66
|
-
segments.push({ type: 'file', path: m[3], raw: m[0] });
|
|
67
|
-
}
|
|
68
|
-
else if (m[4] != null) {
|
|
69
|
-
segments.push({
|
|
70
|
-
type: 'image',
|
|
71
|
-
url: '',
|
|
72
|
-
attachKey: m[4],
|
|
73
|
-
raw: m[0],
|
|
74
|
-
pending: true,
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
else if (m[5] != null) {
|
|
78
|
-
const parsed = parseImImageUrlTokenPayload(m[5]);
|
|
79
|
-
segments.push({
|
|
80
|
-
type: 'image',
|
|
81
|
-
url: parsed.url,
|
|
82
|
-
...(parsed.width != null && parsed.height != null
|
|
83
|
-
? { width: parsed.width, height: parsed.height }
|
|
84
|
-
: {}),
|
|
85
|
-
raw: m[0],
|
|
86
|
-
pending: false,
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
last = m.index + m[0].length;
|
|
90
|
-
}
|
|
91
|
-
if (last < content.length) {
|
|
92
|
-
segments.push({ type: 'text', text: content.slice(last) });
|
|
93
|
-
}
|
|
94
|
-
if (segments.length === 0) {
|
|
95
|
-
return [{ type: 'text', text: content }];
|
|
96
|
-
}
|
|
97
|
-
return segments;
|
|
98
|
-
}
|
|
99
|
-
export function contentHasImageLocalTokens(content) {
|
|
100
|
-
return /img:\[local:[^\]]+\]/.test(content);
|
|
101
|
-
}
|
|
102
|
-
export function replaceImImageLocalToken(content, attachKey, url, dimensions) {
|
|
103
|
-
const from = formatImImageLocalToken(attachKey);
|
|
104
|
-
const to = formatImImageUrlToken(url, dimensions);
|
|
105
|
-
return content.includes(from) ? content.split(from).join(to) : content;
|
|
106
|
-
}
|
|
107
|
-
export function replaceImImageUrlToken(content, fromUrl, toUrl, dimensions) {
|
|
108
|
-
const to = formatImImageUrlToken(toUrl, dimensions);
|
|
109
|
-
const fromWithDims = formatImImageUrlToken(fromUrl, dimensions);
|
|
110
|
-
if (content.includes(fromWithDims)) {
|
|
111
|
-
return content.split(fromWithDims).join(to);
|
|
112
|
-
}
|
|
113
|
-
const fromPlain = formatImImageUrlToken(fromUrl);
|
|
114
|
-
if (content.includes(fromPlain)) {
|
|
115
|
-
return content.split(fromPlain).join(to);
|
|
116
|
-
}
|
|
117
|
-
return content;
|
|
118
|
-
}
|
|
119
|
-
const INLINE_TOKEN_IN_TEXT = /@\[uid:|local-file:\[|img:\[|file:\[/;
|
|
120
|
-
export function contentHasImRichInlineTokens(content) {
|
|
121
|
-
return INLINE_TOKEN_IN_TEXT.test(content ?? '');
|
|
122
|
-
}
|
|
123
|
-
function basenameFromPath(path) {
|
|
124
|
-
const p = path.trim();
|
|
125
|
-
if (!p)
|
|
126
|
-
return '';
|
|
127
|
-
const parts = p.split(/[/\\]/);
|
|
128
|
-
return parts[parts.length - 1] || p;
|
|
129
|
-
}
|
|
130
|
-
function defaultFormatLocalFilePath(path) {
|
|
131
|
-
const name = basenameFromPath(path);
|
|
132
|
-
return name ? `[文件] ${name}` : '[文件]';
|
|
133
|
-
}
|
|
134
|
-
function defaultFormatMentionLabel(userId, options, embeddedLabel) {
|
|
135
|
-
const id = userId.trim();
|
|
136
|
-
const label = embeddedLabel?.trim() ||
|
|
137
|
-
options?.resolveMentionLabel?.(id)?.trim() ||
|
|
138
|
-
options?.mentionFallbackLabel?.(id)?.trim();
|
|
139
|
-
if (label)
|
|
140
|
-
return `@${label}`;
|
|
141
|
-
if (id.length > 14)
|
|
142
|
-
return `@${id.slice(0, 12)}…`;
|
|
143
|
-
return `@${id || '…'}`;
|
|
144
|
-
}
|
|
145
|
-
export function materializeImRichContentTokensInText(content, options) {
|
|
146
|
-
const raw = content ?? '';
|
|
147
|
-
if (!raw || !INLINE_TOKEN_IN_TEXT.test(raw))
|
|
148
|
-
return raw;
|
|
149
|
-
const segments = parseImRichContentSegments(raw);
|
|
150
|
-
let out = '';
|
|
151
|
-
for (const seg of segments) {
|
|
152
|
-
if (seg.type === 'text') {
|
|
153
|
-
out += seg.text;
|
|
154
|
-
continue;
|
|
155
|
-
}
|
|
156
|
-
if (seg.type === 'mention') {
|
|
157
|
-
out += defaultFormatMentionLabel(seg.userId, options, seg.label);
|
|
158
|
-
continue;
|
|
159
|
-
}
|
|
160
|
-
if (seg.type === 'file') {
|
|
161
|
-
if (options?.preserveLocalFileTokens) {
|
|
162
|
-
out += seg.raw;
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
out +=
|
|
166
|
-
options?.formatLocalFilePath?.(seg.path) ??
|
|
167
|
-
defaultFormatLocalFilePath(seg.path);
|
|
168
|
-
}
|
|
169
|
-
continue;
|
|
170
|
-
}
|
|
171
|
-
if (seg.type === 'image') {
|
|
172
|
-
if (seg.pending) {
|
|
173
|
-
out += options?.formatImagePending?.() ?? '[图片]';
|
|
174
|
-
}
|
|
175
|
-
else if (options?.preserveImageUrlTokens) {
|
|
176
|
-
out += seg.raw;
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
out += options?.formatImageUrl?.(seg.url) ?? '[图片]';
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
return out;
|
|
184
|
-
}
|
|
185
|
-
//# sourceMappingURL=imInlineContentTokens.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"imInlineContentTokens.js","sourceRoot":"","sources":["../../../src/functions/im/imInlineContentTokens.ts"],"names":[],"mappings":"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"}
|