zcw-shared 2.25.0 → 2.27.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/constants/agentAvatar3d.d.ts +15 -0
- package/dist/constants/agentAvatar3d.js +64 -0
- package/dist/constants/agentAvatar3d.js.map +1 -0
- package/dist/constants/agentAvatar3dModular.d.ts +34 -0
- package/dist/constants/agentAvatar3dModular.js +93 -0
- package/dist/constants/agentAvatar3dModular.js.map +1 -0
- package/dist/constants/agentPresence3dLabels.d.ts +11 -0
- package/dist/constants/agentPresence3dLabels.js +12 -0
- package/dist/constants/agentPresence3dLabels.js.map +1 -0
- package/dist/constants/aiApiRoutes.d.ts +8 -0
- package/dist/constants/aiApiRoutes.js +23 -0
- package/dist/constants/aiApiRoutes.js.map +1 -0
- package/dist/functions/ai/agentAvatar3dArkitMorph.d.ts +14 -0
- package/dist/functions/ai/agentAvatar3dArkitMorph.js +149 -0
- package/dist/functions/ai/agentAvatar3dArkitMorph.js.map +1 -0
- package/dist/functions/ai/agentAvatar3dCapabilities.d.ts +44 -0
- package/dist/functions/ai/agentAvatar3dCapabilities.js +121 -0
- package/dist/functions/ai/agentAvatar3dCapabilities.js.map +1 -0
- package/dist/functions/ai/agentAvatar3dFacePresets.d.ts +13 -0
- package/dist/functions/ai/agentAvatar3dFacePresets.js +79 -0
- package/dist/functions/ai/agentAvatar3dFacePresets.js.map +1 -0
- package/dist/functions/ai/agentAvatar3dMaterialTint.d.ts +7 -0
- package/dist/functions/ai/agentAvatar3dMaterialTint.js +45 -0
- package/dist/functions/ai/agentAvatar3dMaterialTint.js.map +1 -0
- package/dist/functions/ai/agentAvatar3dMorphCatalog.d.ts +18 -0
- package/dist/functions/ai/agentAvatar3dMorphCatalog.js +222 -0
- package/dist/functions/ai/agentAvatar3dMorphCatalog.js.map +1 -0
- package/dist/functions/ai/applyAiAgentAvatar3dFace.d.ts +23 -0
- package/dist/functions/ai/applyAiAgentAvatar3dFace.js +140 -0
- package/dist/functions/ai/applyAiAgentAvatar3dFace.js.map +1 -0
- 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/ai/getEffectiveAvatar3dMorphWeights.d.ts +3 -0
- package/dist/functions/ai/getEffectiveAvatar3dMorphWeights.js +28 -0
- package/dist/functions/ai/getEffectiveAvatar3dMorphWeights.js.map +1 -0
- package/dist/functions/ai/normalizeAiAgentAvatar3d.d.ts +4 -0
- package/dist/functions/ai/normalizeAiAgentAvatar3d.js +57 -0
- package/dist/functions/ai/normalizeAiAgentAvatar3d.js.map +1 -0
- package/dist/functions/ai/normalizeAiAgentAvatar3dFace.d.ts +4 -0
- package/dist/functions/ai/normalizeAiAgentAvatar3dFace.js +84 -0
- package/dist/functions/ai/normalizeAiAgentAvatar3dFace.js.map +1 -0
- package/dist/functions/ai/normalizeAiAgentAvatar3dModular.d.ts +14 -0
- package/dist/functions/ai/normalizeAiAgentAvatar3dModular.js +92 -0
- package/dist/functions/ai/normalizeAiAgentAvatar3dModular.js.map +1 -0
- package/dist/functions/ai/proceduralHumanoidMorph.d.ts +5 -0
- package/dist/functions/ai/proceduralHumanoidMorph.js +9 -0
- package/dist/functions/ai/proceduralHumanoidMorph.js.map +1 -0
- package/dist/functions/ai/randomizeAgentAvatar3dAppearance.d.ts +9 -0
- package/dist/functions/ai/randomizeAgentAvatar3dAppearance.js +108 -0
- package/dist/functions/ai/randomizeAgentAvatar3dAppearance.js.map +1 -0
- package/dist/functions/ai/randomizeModularAvatar3dAppearance.d.ts +7 -0
- package/dist/functions/ai/randomizeModularAvatar3dAppearance.js +60 -0
- package/dist/functions/ai/randomizeModularAvatar3dAppearance.js.map +1 -0
- package/dist/functions/ai/resolveAvatar3dModular.d.ts +4 -0
- package/dist/functions/ai/resolveAvatar3dModular.js +22 -0
- package/dist/functions/ai/resolveAvatar3dModular.js.map +1 -0
- package/dist/functions/api/createApiClient.d.ts +1 -6
- package/dist/functions/api/createApiClient.js +1 -55
- package/dist/functions/api/createApiClient.js.map +1 -1
- package/dist/functions/api/createPublicAuthRequest.js +3 -1
- package/dist/functions/api/createPublicAuthRequest.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 +60 -0
- package/dist/functions/browser/readBrowserHost.js +98 -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 +20 -11
- 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 +103 -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/chatMorePageConfig.js +8 -0
- package/dist/functions/chat/chatMorePageConfig.js.map +1 -1
- package/dist/functions/chat/chatShellTabConfig.d.ts +4 -1
- package/dist/functions/chat/chatShellTabConfig.js +14 -2
- package/dist/functions/chat/chatShellTabConfig.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 +13 -13
- package/dist/functions/chat/createBrowserChatRootFontSizeAccess.js.map +1 -1
- package/dist/functions/cloudDisk/buildCloudDiskListTabResult.d.ts +2 -2
- 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/cloudDisk/extractCloudDiskPrivateFolderData.d.ts +3 -3
- package/dist/functions/cloudDisk/extractCloudDiskPrivateFolderData.js.map +1 -1
- package/dist/functions/cloudDisk/mapCloudDiskFileToNode.d.ts +2 -2
- package/dist/functions/cloudDisk/mapCloudDiskFileToNode.js.map +1 -1
- package/dist/functions/cloudDisk/sortCloudDiskNodes.js +4 -4
- package/dist/functions/cloudDisk/sortCloudDiskNodes.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 +65 -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/forwardBundleItemToChatMessage.js +9 -7
- package/dist/functions/im/forwardBundleItemToChatMessage.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/imChatMessageCopyPlain.js +2 -2
- package/dist/functions/im/imChatMessageCopyPlain.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/imForwardBundleTitle.js +2 -2
- package/dist/functions/im/imForwardBundleTitle.js.map +1 -1
- package/dist/functions/im/imForwardSnapshot.js +2 -2
- package/dist/functions/im/imForwardSnapshot.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/imMessageNormalize.d.ts +2 -2
- 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/imPlaceholderSnippet.d.ts +1 -1
- package/dist/functions/im/imPlaceholderSnippet.js +1 -1
- package/dist/functions/im/imPlaceholderSnippet.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/qiankun/bootstrapQiankunDomPatch.d.ts +1 -0
- package/dist/functions/qiankun/bootstrapQiankunDomPatch.js +165 -0
- package/dist/functions/qiankun/bootstrapQiankunDomPatch.js.map +1 -0
- package/dist/functions/qiankun/createQiankunVueApp.d.ts +2 -0
- package/dist/functions/qiankun/createQiankunVueApp.js +4 -1
- package/dist/functions/qiankun/createQiankunVueApp.js.map +1 -1
- 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/vue-router/normalizeWebHistoryBase.d.ts +1 -0
- package/dist/functions/vue-router/normalizeWebHistoryBase.js +19 -0
- package/dist/functions/vue-router/normalizeWebHistoryBase.js.map +1 -0
- package/dist/functions/vue-router/pushInAppRoute.d.ts +6 -0
- package/dist/functions/vue-router/pushInAppRoute.js +13 -0
- package/dist/functions/vue-router/pushInAppRoute.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 +6 -0
- package/dist/permissions/catalog.js +33 -0
- package/dist/permissions/catalog.js.map +1 -1
- package/dist/schemas/auth.schema.d.ts +11 -358
- package/dist/schemas/auth.schema.js +5 -35
- package/dist/schemas/auth.schema.js.map +1 -1
- package/dist/schemas/video.schema.d.ts +98 -156
- package/dist/schemas/video.schema.js +9 -13
- package/dist/schemas/video.schema.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 +245 -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 +55 -2
- package/types/address.d.ts +4 -35
- package/types/ai-admin.d.ts +33 -0
- package/types/ai-agent.d.ts +43 -0
- package/types/ai-chat.d.ts +39 -23
- package/types/api-contract-helpers.d.ts +24 -0
- package/types/api-contract.d.ts +6 -0
- package/types/auth.d.ts +15 -27
- package/types/cloud-disk.d.ts +38 -50
- package/types/community.d.ts +7 -0
- package/types/component-material.d.ts +40 -0
- package/types/im-ai-agent.d.ts +1 -1
- package/types/im-api.d.ts +12 -8
- package/types/im-call.d.ts +4 -3
- package/types/lowcode.d.ts +26 -0
- package/types/music.d.ts +4 -30
- package/types/notification.d.ts +4 -34
- package/types/openapi.d.ts +25040 -0
- package/types/order.d.ts +5 -57
- package/types/org.d.ts +13 -0
- package/types/oss.d.ts +4 -23
- package/types/page-config.d.ts +14 -14
- package/types/payment.d.ts +10 -20
- package/types/performance.d.ts +4 -11
- package/types/product.d.ts +5 -37
- package/types/rbac.d.ts +10 -34
- package/types/recharge.d.ts +11 -0
- package/types/report.d.ts +7 -25
- package/types/review.d.ts +11 -13
- package/types/sticker-pack.d.ts +10 -25
- package/types/user.d.ts +11 -33
- package/types/video.d.ts +15 -66
- 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,14 @@
|
|
|
1
|
+
export function hasExternalFileDrag(dt) {
|
|
2
|
+
if (!dt)
|
|
3
|
+
return false;
|
|
4
|
+
if (Array.from(dt.types).includes('Files'))
|
|
5
|
+
return true;
|
|
6
|
+
if (dt.items?.length) {
|
|
7
|
+
for (const item of Array.from(dt.items)) {
|
|
8
|
+
if (item.kind === 'file')
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=fileDrag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileDrag.js","sourceRoot":"","sources":["../../../src/functions/dom/fileDrag.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,mBAAmB,CAAC,EAA+C;IACjF,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAA;IACrB,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IACvD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAA;QACvC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Blob } from '../../../references/blob.d';
|
|
2
2
|
import type { HTMLImageElement } from '../../../references/dom.d';
|
|
3
|
-
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
3
|
+
import { type DomImageCanvasDeps } from './readBrowserDomDeps';
|
|
4
|
+
export declare function imageElementToPngBlob(img: HTMLImageElement, deps?: DomImageCanvasDeps): Promise<Blob>;
|
|
5
|
+
export declare function imageUrlToPngBlob(url: string, crossOrigin?: boolean, deps?: DomImageCanvasDeps): Promise<Blob>;
|
|
6
|
+
export declare function blobToPngBlob(blob: Blob, deps?: DomImageCanvasDeps): Promise<Blob>;
|
|
7
|
+
export declare function normalizeImageBlobForClipboard(blob: Blob, deps?: DomImageCanvasDeps): Promise<Blob>;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
+
import { readBrowserDomImageCanvasDeps, } from './readBrowserDomDeps.js';
|
|
1
2
|
function canvasToPngBlob(canvas) {
|
|
2
3
|
return new Promise((resolve, reject) => {
|
|
3
4
|
canvas.toBlob((blob) => (blob ? resolve(blob) : reject(new Error('toBlob failed'))), 'image/png');
|
|
4
5
|
});
|
|
5
6
|
}
|
|
6
|
-
function drawImageToCanvas(img) {
|
|
7
|
+
function drawImageToCanvas(img, deps) {
|
|
7
8
|
if (!img.complete || img.naturalWidth <= 0) {
|
|
8
9
|
throw new Error('image not ready');
|
|
9
10
|
}
|
|
10
|
-
const
|
|
11
|
-
const canvas = doc.createElement('canvas');
|
|
11
|
+
const canvas = deps.document.createElement('canvas');
|
|
12
12
|
canvas.width = img.naturalWidth;
|
|
13
13
|
canvas.height = img.naturalHeight;
|
|
14
14
|
const ctx = canvas.getContext('2d');
|
|
@@ -22,18 +22,23 @@ function drawImageToCanvas(img) {
|
|
|
22
22
|
}
|
|
23
23
|
return canvas;
|
|
24
24
|
}
|
|
25
|
-
export function imageElementToPngBlob(img) {
|
|
26
|
-
|
|
25
|
+
export function imageElementToPngBlob(img, deps) {
|
|
26
|
+
const resolved = deps ?? readBrowserDomImageCanvasDeps();
|
|
27
|
+
if (!resolved)
|
|
28
|
+
return Promise.reject(new Error('browser image deps unavailable'));
|
|
29
|
+
return canvasToPngBlob(drawImageToCanvas(img, resolved));
|
|
27
30
|
}
|
|
28
|
-
export function imageUrlToPngBlob(url, crossOrigin = true) {
|
|
29
|
-
const
|
|
31
|
+
export function imageUrlToPngBlob(url, crossOrigin = true, deps) {
|
|
32
|
+
const resolved = deps ?? readBrowserDomImageCanvasDeps();
|
|
33
|
+
if (!resolved)
|
|
34
|
+
return Promise.reject(new Error('browser image deps unavailable'));
|
|
30
35
|
return new Promise((resolve, reject) => {
|
|
31
|
-
const img = new
|
|
36
|
+
const img = new resolved.Image();
|
|
32
37
|
if (crossOrigin)
|
|
33
38
|
img.crossOrigin = 'anonymous';
|
|
34
39
|
img.onload = () => {
|
|
35
40
|
try {
|
|
36
|
-
void canvasToPngBlob(drawImageToCanvas(img)).then(resolve, reject);
|
|
41
|
+
void canvasToPngBlob(drawImageToCanvas(img, resolved)).then(resolve, reject);
|
|
37
42
|
}
|
|
38
43
|
catch (e) {
|
|
39
44
|
reject(e);
|
|
@@ -43,23 +48,25 @@ export function imageUrlToPngBlob(url, crossOrigin = true) {
|
|
|
43
48
|
img.src = url;
|
|
44
49
|
});
|
|
45
50
|
}
|
|
46
|
-
export async function blobToPngBlob(blob) {
|
|
51
|
+
export async function blobToPngBlob(blob, deps) {
|
|
47
52
|
if (blob.type === 'image/png')
|
|
48
53
|
return blob;
|
|
49
|
-
const
|
|
50
|
-
|
|
54
|
+
const resolved = deps ?? readBrowserDomImageCanvasDeps();
|
|
55
|
+
if (!resolved)
|
|
56
|
+
throw new Error('browser image deps unavailable');
|
|
57
|
+
const objectUrl = resolved.URL.createObjectURL(blob);
|
|
51
58
|
try {
|
|
52
|
-
return await imageUrlToPngBlob(objectUrl, false);
|
|
59
|
+
return await imageUrlToPngBlob(objectUrl, false, resolved);
|
|
53
60
|
}
|
|
54
61
|
finally {
|
|
55
|
-
|
|
62
|
+
resolved.URL.revokeObjectURL(objectUrl);
|
|
56
63
|
}
|
|
57
64
|
}
|
|
58
|
-
export async function normalizeImageBlobForClipboard(blob) {
|
|
65
|
+
export async function normalizeImageBlobForClipboard(blob, deps) {
|
|
59
66
|
if (blob.type === 'image/png')
|
|
60
67
|
return blob;
|
|
61
68
|
try {
|
|
62
|
-
return await blobToPngBlob(blob);
|
|
69
|
+
return await blobToPngBlob(blob, deps);
|
|
63
70
|
}
|
|
64
71
|
catch {
|
|
65
72
|
return blob;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageBlobToPng.js","sourceRoot":"","sources":["../../../src/functions/dom/imageBlobToPng.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"imageBlobToPng.js","sourceRoot":"","sources":["../../../src/functions/dom/imageBlobToPng.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
export type LassoBoxRect = {
|
|
2
|
+
left: number;
|
|
3
|
+
top: number;
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
};
|
|
7
|
+
type ClientRectLike = {
|
|
8
|
+
left: number;
|
|
9
|
+
top: number;
|
|
10
|
+
width: number;
|
|
11
|
+
height: number;
|
|
12
|
+
right: number;
|
|
13
|
+
bottom: number;
|
|
14
|
+
};
|
|
15
|
+
type LassoScrollViewport = {
|
|
16
|
+
scrollLeft: number;
|
|
17
|
+
scrollTop: number;
|
|
18
|
+
scrollWidth: number;
|
|
19
|
+
scrollHeight: number;
|
|
20
|
+
clientHeight: number;
|
|
21
|
+
getBoundingClientRect(): {
|
|
22
|
+
top: number;
|
|
23
|
+
left: number;
|
|
24
|
+
height: number;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
type LassoRowElement = {
|
|
28
|
+
getAttribute(name: string): string | null;
|
|
29
|
+
getBoundingClientRect(): ClientRectLike;
|
|
30
|
+
};
|
|
31
|
+
type LassoContentRoot = {
|
|
32
|
+
querySelectorAll(selectors: string): Iterable<LassoRowElement>;
|
|
33
|
+
};
|
|
34
|
+
export declare const DEFAULT_DRAG_ENTER_MIN_PX = 32;
|
|
35
|
+
export declare const LASSO_STROKE_PAD_PX = 4;
|
|
36
|
+
export declare const EDGE_SCROLL_ZONE_PX = 56;
|
|
37
|
+
export declare const EDGE_SCROLL_MAX_PX_PER_FRAME = 18;
|
|
38
|
+
export declare const LASSO_INTERACTIVE_SELECTOR = "a[href],button,input,textarea,select,[contenteditable=\"true\"],[role=\"checkbox\"]";
|
|
39
|
+
export declare const defaultLassoBoxClass = "pointer-events-none absolute z-[var(--z-index-float)] box-border border border-[var(--brand-color-6)] bg-[color-mix(in_srgb,var(--brand-color-6)_20%,transparent)]";
|
|
40
|
+
type AxisRect = {
|
|
41
|
+
left: number;
|
|
42
|
+
top: number;
|
|
43
|
+
width: number;
|
|
44
|
+
height: number;
|
|
45
|
+
right: number;
|
|
46
|
+
bottom: number;
|
|
47
|
+
};
|
|
48
|
+
export declare function rectsOverlap(a: LassoBoxRect | ClientRectLike | AxisRect, b: LassoBoxRect | ClientRectLike | AxisRect): boolean;
|
|
49
|
+
export declare function isPrimaryPointer(e: {
|
|
50
|
+
button: number;
|
|
51
|
+
isPrimary: boolean;
|
|
52
|
+
}): boolean;
|
|
53
|
+
export declare function meetsDragEnterThreshold(dx: number, dy: number, minPx: number): boolean;
|
|
54
|
+
export declare function strokeBounds(x1: number, y1: number, x2: number, y2: number, strokePadPx?: number): ClientRectLike;
|
|
55
|
+
export declare function clientPointToContent(clientX: number, clientY: number, viewport: LassoScrollViewport): {
|
|
56
|
+
x: number;
|
|
57
|
+
y: number;
|
|
58
|
+
};
|
|
59
|
+
export declare function startContentPoint(startClientX: number, startClientY: number, startScrollLeft: number, startScrollTop: number, viewport: LassoScrollViewport): {
|
|
60
|
+
x: number;
|
|
61
|
+
y: number;
|
|
62
|
+
};
|
|
63
|
+
export declare function clipContentRectToScrollable(rect: ClientRectLike, viewport: LassoScrollViewport): ClientRectLike;
|
|
64
|
+
export declare function lassoBoxInScrollContent(contentRect: ClientRectLike, viewport: LassoScrollViewport): LassoBoxRect | null;
|
|
65
|
+
export declare function collectRowElByItemId(root: LassoContentRoot, rowIdAttribute: string): Map<string, LassoRowElement>;
|
|
66
|
+
export declare function nearestItemByPoint<T extends {
|
|
67
|
+
id: string;
|
|
68
|
+
}>(items: readonly T[], rowElByItemId: Map<string, LassoRowElement>, clientX: number, clientY: number): T | null;
|
|
69
|
+
export declare function pointerHitsInteractive(target: unknown, selector?: string): boolean;
|
|
70
|
+
export declare function resolveLassoSeed<T extends {
|
|
71
|
+
id: string;
|
|
72
|
+
}>(items: readonly T[], rowElByItemId: Map<string, LassoRowElement>, rowIdAttribute: string, target: unknown, clientX: number, clientY: number): {
|
|
73
|
+
item: T;
|
|
74
|
+
rowEl: LassoRowElement;
|
|
75
|
+
} | null;
|
|
76
|
+
export declare function computeViewportEdgeScrollDelta(clientY: number, viewport: LassoScrollViewport, edgeScrollZonePx?: number, edgeScrollMaxPxPerFrame?: number): number;
|
|
77
|
+
export declare function collectElementIdsInContentLassoBox(box: LassoBoxRect, viewport: LassoScrollViewport, contentRoot: LassoContentRoot, idAttribute: string): string[];
|
|
78
|
+
export declare function mapItemsByRowIds<T extends {
|
|
79
|
+
id: string | number;
|
|
80
|
+
}>(items: readonly T[], rowIds: readonly string[]): T[];
|
|
81
|
+
export declare function idsInClientLasso<T extends {
|
|
82
|
+
id: string;
|
|
83
|
+
}>(items: readonly T[], rowElByItemId: Map<string, LassoRowElement>, startClientX: number, startClientY: number, endClientX: number, endClientY: number, itemSelectable?: (item: T) => boolean): string[];
|
|
84
|
+
export {};
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
export const DEFAULT_DRAG_ENTER_MIN_PX = 32;
|
|
2
|
+
export const LASSO_STROKE_PAD_PX = 4;
|
|
3
|
+
export const EDGE_SCROLL_ZONE_PX = 56;
|
|
4
|
+
export const EDGE_SCROLL_MAX_PX_PER_FRAME = 18;
|
|
5
|
+
export const LASSO_INTERACTIVE_SELECTOR = 'a[href],button,input,textarea,select,[contenteditable="true"],[role="checkbox"]';
|
|
6
|
+
export const defaultLassoBoxClass = 'pointer-events-none absolute z-[var(--z-index-float)] box-border border border-[var(--brand-color-6)] bg-[color-mix(in_srgb,var(--brand-color-6)_20%,transparent)]';
|
|
7
|
+
function toAxisRect(box) {
|
|
8
|
+
return {
|
|
9
|
+
left: box.left,
|
|
10
|
+
top: box.top,
|
|
11
|
+
width: box.width,
|
|
12
|
+
height: box.height,
|
|
13
|
+
right: box.left + box.width,
|
|
14
|
+
bottom: box.top + box.height,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function toClientRectLike(rect) {
|
|
18
|
+
return {
|
|
19
|
+
left: rect.left,
|
|
20
|
+
top: rect.top,
|
|
21
|
+
width: rect.width,
|
|
22
|
+
height: rect.height,
|
|
23
|
+
right: rect.left + rect.width,
|
|
24
|
+
bottom: rect.top + rect.height,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function rectsOverlap(a, b) {
|
|
28
|
+
const ar = 'right' in a ? a : toAxisRect(a);
|
|
29
|
+
const br = 'right' in b ? b : toAxisRect(b);
|
|
30
|
+
return !(ar.right < br.left || ar.left > br.right || ar.bottom < br.top || ar.top > br.bottom);
|
|
31
|
+
}
|
|
32
|
+
export function isPrimaryPointer(e) {
|
|
33
|
+
return e.button === 0 && e.isPrimary;
|
|
34
|
+
}
|
|
35
|
+
export function meetsDragEnterThreshold(dx, dy, minPx) {
|
|
36
|
+
return Math.hypot(dx, dy) >= minPx;
|
|
37
|
+
}
|
|
38
|
+
export function strokeBounds(x1, y1, x2, y2, strokePadPx = LASSO_STROKE_PAD_PX) {
|
|
39
|
+
const left = Math.min(x1, x2) - strokePadPx;
|
|
40
|
+
const top = Math.min(y1, y2) - strokePadPx;
|
|
41
|
+
const right = Math.max(x1, x2) + strokePadPx;
|
|
42
|
+
const bottom = Math.max(y1, y2) + strokePadPx;
|
|
43
|
+
return toClientRectLike({
|
|
44
|
+
left,
|
|
45
|
+
top,
|
|
46
|
+
width: right - left,
|
|
47
|
+
height: bottom - top,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
export function clientPointToContent(clientX, clientY, viewport) {
|
|
51
|
+
const r = viewport.getBoundingClientRect();
|
|
52
|
+
return {
|
|
53
|
+
x: clientX - r.left + viewport.scrollLeft,
|
|
54
|
+
y: clientY - r.top + viewport.scrollTop,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export function startContentPoint(startClientX, startClientY, startScrollLeft, startScrollTop, viewport) {
|
|
58
|
+
const r = viewport.getBoundingClientRect();
|
|
59
|
+
return {
|
|
60
|
+
x: startClientX - r.left + startScrollLeft,
|
|
61
|
+
y: startClientY - r.top + startScrollTop,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export function clipContentRectToScrollable(rect, viewport) {
|
|
65
|
+
const maxW = viewport.scrollWidth;
|
|
66
|
+
const maxH = viewport.scrollHeight;
|
|
67
|
+
const left = Math.max(0, Math.min(rect.left, maxW));
|
|
68
|
+
const top = Math.max(0, Math.min(rect.top, maxH));
|
|
69
|
+
const right = Math.max(left, Math.min(rect.right, maxW));
|
|
70
|
+
const bottom = Math.max(top, Math.min(rect.bottom, maxH));
|
|
71
|
+
return toClientRectLike({
|
|
72
|
+
left,
|
|
73
|
+
top,
|
|
74
|
+
width: right - left,
|
|
75
|
+
height: bottom - top,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
export function lassoBoxInScrollContent(contentRect, viewport) {
|
|
79
|
+
const clipped = clipContentRectToScrollable(contentRect, viewport);
|
|
80
|
+
if (clipped.width <= 0 || clipped.height <= 0)
|
|
81
|
+
return null;
|
|
82
|
+
return {
|
|
83
|
+
left: clipped.left,
|
|
84
|
+
top: clipped.top,
|
|
85
|
+
width: clipped.width,
|
|
86
|
+
height: clipped.height,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
export function collectRowElByItemId(root, rowIdAttribute) {
|
|
90
|
+
const map = new Map();
|
|
91
|
+
for (const node of root.querySelectorAll(`[${rowIdAttribute}]`)) {
|
|
92
|
+
const id = node.getAttribute(rowIdAttribute);
|
|
93
|
+
if (id)
|
|
94
|
+
map.set(id, node);
|
|
95
|
+
}
|
|
96
|
+
return map;
|
|
97
|
+
}
|
|
98
|
+
export function nearestItemByPoint(items, rowElByItemId, clientX, clientY) {
|
|
99
|
+
let best = null;
|
|
100
|
+
for (const item of items) {
|
|
101
|
+
const row = rowElByItemId.get(String(item.id));
|
|
102
|
+
if (!row)
|
|
103
|
+
continue;
|
|
104
|
+
const r = row.getBoundingClientRect();
|
|
105
|
+
const dx = clientX - Math.max(r.left, Math.min(clientX, r.right));
|
|
106
|
+
const dy = clientY - Math.max(r.top, Math.min(clientY, r.bottom));
|
|
107
|
+
const d2 = dx * dx + dy * dy;
|
|
108
|
+
if (!best || d2 < best.d2)
|
|
109
|
+
best = { item, d2 };
|
|
110
|
+
}
|
|
111
|
+
return best?.item ?? null;
|
|
112
|
+
}
|
|
113
|
+
export function pointerHitsInteractive(target, selector = LASSO_INTERACTIVE_SELECTOR) {
|
|
114
|
+
const el = target;
|
|
115
|
+
if (!el || typeof el.closest !== 'function')
|
|
116
|
+
return true;
|
|
117
|
+
return !!el.closest(selector);
|
|
118
|
+
}
|
|
119
|
+
export function resolveLassoSeed(items, rowElByItemId, rowIdAttribute, target, clientX, clientY) {
|
|
120
|
+
const el = target;
|
|
121
|
+
const rowFromTarget = el && typeof el.closest === 'function'
|
|
122
|
+
? el.closest(`[${rowIdAttribute}]`)
|
|
123
|
+
: null;
|
|
124
|
+
if (rowFromTarget) {
|
|
125
|
+
const id = rowFromTarget.getAttribute(rowIdAttribute);
|
|
126
|
+
if (id) {
|
|
127
|
+
const item = items.find((x) => String(x.id) === id);
|
|
128
|
+
if (item)
|
|
129
|
+
return { item, rowEl: rowFromTarget };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
const nearest = nearestItemByPoint(items, rowElByItemId, clientX, clientY);
|
|
133
|
+
if (!nearest)
|
|
134
|
+
return null;
|
|
135
|
+
const rowEl = rowElByItemId.get(String(nearest.id));
|
|
136
|
+
if (!rowEl)
|
|
137
|
+
return null;
|
|
138
|
+
return { item: nearest, rowEl };
|
|
139
|
+
}
|
|
140
|
+
export function computeViewportEdgeScrollDelta(clientY, viewport, edgeScrollZonePx = EDGE_SCROLL_ZONE_PX, edgeScrollMaxPxPerFrame = EDGE_SCROLL_MAX_PX_PER_FRAME) {
|
|
141
|
+
const maxTop = viewport.scrollHeight - viewport.clientHeight;
|
|
142
|
+
if (maxTop <= 0)
|
|
143
|
+
return 0;
|
|
144
|
+
const { top, height } = viewport.getBoundingClientRect();
|
|
145
|
+
const yInViewport = clientY - top;
|
|
146
|
+
if (yInViewport < edgeScrollZonePx) {
|
|
147
|
+
if (viewport.scrollTop <= 0)
|
|
148
|
+
return 0;
|
|
149
|
+
const depth = 1 - Math.max(0, yInViewport) / edgeScrollZonePx;
|
|
150
|
+
return -edgeScrollMaxPxPerFrame * depth;
|
|
151
|
+
}
|
|
152
|
+
if (yInViewport > height - edgeScrollZonePx) {
|
|
153
|
+
if (viewport.scrollTop >= maxTop - 0.5)
|
|
154
|
+
return 0;
|
|
155
|
+
const distPastZone = yInViewport - (height - edgeScrollZonePx);
|
|
156
|
+
const depth = Math.min(1, distPastZone / edgeScrollZonePx);
|
|
157
|
+
return edgeScrollMaxPxPerFrame * depth;
|
|
158
|
+
}
|
|
159
|
+
return 0;
|
|
160
|
+
}
|
|
161
|
+
export function collectElementIdsInContentLassoBox(box, viewport, contentRoot, idAttribute) {
|
|
162
|
+
const lassoRect = toAxisRect(box);
|
|
163
|
+
const viewportRect = viewport.getBoundingClientRect();
|
|
164
|
+
const ids = [];
|
|
165
|
+
for (const node of contentRoot.querySelectorAll(`[${idAttribute}]`)) {
|
|
166
|
+
const id = node.getAttribute(idAttribute)?.trim();
|
|
167
|
+
if (!id)
|
|
168
|
+
continue;
|
|
169
|
+
const row = node.getBoundingClientRect();
|
|
170
|
+
const rowInContent = toAxisRect({
|
|
171
|
+
left: row.left - viewportRect.left + viewport.scrollLeft,
|
|
172
|
+
top: row.top - viewportRect.top + viewport.scrollTop,
|
|
173
|
+
width: row.width,
|
|
174
|
+
height: row.height,
|
|
175
|
+
});
|
|
176
|
+
if (rectsOverlap(rowInContent, lassoRect)) {
|
|
177
|
+
ids.push(id);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return ids;
|
|
181
|
+
}
|
|
182
|
+
export function mapItemsByRowIds(items, rowIds) {
|
|
183
|
+
const idSet = new Set(rowIds.map(String));
|
|
184
|
+
return items.filter((item) => idSet.has(String(item.id)));
|
|
185
|
+
}
|
|
186
|
+
export function idsInClientLasso(items, rowElByItemId, startClientX, startClientY, endClientX, endClientY, itemSelectable) {
|
|
187
|
+
const lassoClientRect = strokeBounds(startClientX, startClientY, endClientX, endClientY);
|
|
188
|
+
const out = [];
|
|
189
|
+
for (const item of items) {
|
|
190
|
+
if (itemSelectable && !itemSelectable(item))
|
|
191
|
+
continue;
|
|
192
|
+
const row = rowElByItemId.get(String(item.id));
|
|
193
|
+
if (row && rectsOverlap(toClientRectLike(row.getBoundingClientRect()), lassoClientRect)) {
|
|
194
|
+
out.push(item.id);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return out;
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=lassoSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lassoSelection.js","sourceRoot":"","sources":["../../../src/functions/dom/lassoSelection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Blob } from '../../../references/blob.d';
|
|
2
|
+
import type { Navigator } from '../../../references/browser.d';
|
|
3
|
+
import type { Document } from '../../../references/dom.d';
|
|
4
|
+
import type { Window } from '../../../references/browser.d';
|
|
5
|
+
import type { setTimeout, clearTimeout } from '../../../references/timer.d';
|
|
6
|
+
import type { FetchFunction } from '../../../references/fetch.d';
|
|
7
|
+
import type { URL as URLConstructor } from '../../../references/url.d';
|
|
8
|
+
import type { PickFileDeps } from './pickFile';
|
|
9
|
+
import { type DomMutableSelection, type ReadBrowserHostDeps } from '../browser/readBrowserHost';
|
|
10
|
+
export type { DomMutableSelection } from '../browser/readBrowserHost';
|
|
11
|
+
export type DomClipboardItemConstructor = new (items: Record<string, Blob>) => unknown;
|
|
12
|
+
export interface DomClipboardDeps {
|
|
13
|
+
document: Document;
|
|
14
|
+
navigator?: Navigator;
|
|
15
|
+
getSelection?: () => DomMutableSelection | null;
|
|
16
|
+
ClipboardItem?: DomClipboardItemConstructor;
|
|
17
|
+
Blob?: Window['Blob'];
|
|
18
|
+
}
|
|
19
|
+
export interface DomImageCanvasDeps {
|
|
20
|
+
document: Document;
|
|
21
|
+
Image: Window['Image'];
|
|
22
|
+
URL: Window['URL'];
|
|
23
|
+
}
|
|
24
|
+
export interface DomFetchBlobDeps {
|
|
25
|
+
fetch: FetchFunction;
|
|
26
|
+
URLConstructor?: typeof URLConstructor;
|
|
27
|
+
}
|
|
28
|
+
export interface DomTimerDeps {
|
|
29
|
+
setTimeout: typeof setTimeout;
|
|
30
|
+
clearTimeout: typeof clearTimeout;
|
|
31
|
+
}
|
|
32
|
+
export interface DomSelectionDeps {
|
|
33
|
+
getSelection?: () => DomMutableSelection | null;
|
|
34
|
+
document?: Document;
|
|
35
|
+
}
|
|
36
|
+
export declare function readBrowserDomClipboardDeps(hostDeps?: ReadBrowserHostDeps): DomClipboardDeps | undefined;
|
|
37
|
+
export declare function readBrowserDomImageCanvasDeps(hostDeps?: ReadBrowserHostDeps): DomImageCanvasDeps | undefined;
|
|
38
|
+
export declare function readBrowserDomFetchBlobDeps(hostDeps?: ReadBrowserHostDeps): DomFetchBlobDeps | undefined;
|
|
39
|
+
export declare function readBrowserDomTimerDeps(hostDeps?: ReadBrowserHostDeps): DomTimerDeps;
|
|
40
|
+
export declare function readBrowserDomSelectionDeps(hostDeps?: ReadBrowserHostDeps): DomSelectionDeps;
|
|
41
|
+
export declare function readBrowserPickFileDeps(hostDeps?: ReadBrowserHostDeps): PickFileDeps | undefined;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { readBrowserHostDepsFromGlobalThis, resolveBrowserHostCreateElement, resolveBrowserHostFetch, resolveBrowserHostSelection, } from '../browser/readBrowserHost.js';
|
|
2
|
+
export function readBrowserDomClipboardDeps(hostDeps = readBrowserHostDepsFromGlobalThis()) {
|
|
3
|
+
const host = hostDeps.host;
|
|
4
|
+
if (!host.document)
|
|
5
|
+
return undefined;
|
|
6
|
+
return {
|
|
7
|
+
document: host.document,
|
|
8
|
+
navigator: host.navigator,
|
|
9
|
+
getSelection: () => resolveBrowserHostSelection(host),
|
|
10
|
+
ClipboardItem: host.ClipboardItem,
|
|
11
|
+
Blob: host.Blob,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export function readBrowserDomImageCanvasDeps(hostDeps = readBrowserHostDepsFromGlobalThis()) {
|
|
15
|
+
const host = hostDeps.host;
|
|
16
|
+
if (!host.document || !host.Image || !host.URL)
|
|
17
|
+
return undefined;
|
|
18
|
+
return {
|
|
19
|
+
document: host.document,
|
|
20
|
+
Image: host.Image,
|
|
21
|
+
URL: host.URL,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function readBrowserDomFetchBlobDeps(hostDeps = readBrowserHostDepsFromGlobalThis()) {
|
|
25
|
+
const host = hostDeps.host;
|
|
26
|
+
const fetch = resolveBrowserHostFetch(host);
|
|
27
|
+
if (!fetch)
|
|
28
|
+
return undefined;
|
|
29
|
+
return {
|
|
30
|
+
fetch,
|
|
31
|
+
URLConstructor: host.URLConstructor,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function readBrowserDomTimerDeps(hostDeps = readBrowserHostDepsFromGlobalThis()) {
|
|
35
|
+
const host = hostDeps.host;
|
|
36
|
+
const fallbackSetTimeout = ((fn) => {
|
|
37
|
+
fn();
|
|
38
|
+
return 0;
|
|
39
|
+
});
|
|
40
|
+
const fallbackClearTimeout = (() => { });
|
|
41
|
+
return {
|
|
42
|
+
setTimeout: host.setTimeout ?? fallbackSetTimeout,
|
|
43
|
+
clearTimeout: host.clearTimeout ?? fallbackClearTimeout,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export function readBrowserDomSelectionDeps(hostDeps = readBrowserHostDepsFromGlobalThis()) {
|
|
47
|
+
const host = hostDeps.host;
|
|
48
|
+
return {
|
|
49
|
+
getSelection: () => resolveBrowserHostSelection(host),
|
|
50
|
+
document: host.document,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export function readBrowserPickFileDeps(hostDeps = readBrowserHostDepsFromGlobalThis()) {
|
|
54
|
+
const doc = hostDeps.host.document;
|
|
55
|
+
const setTimeoutFn = hostDeps.host.setTimeout;
|
|
56
|
+
const createElement = resolveBrowserHostCreateElement(doc);
|
|
57
|
+
if (!createElement || !doc?.body || !setTimeoutFn)
|
|
58
|
+
return undefined;
|
|
59
|
+
return {
|
|
60
|
+
createElement,
|
|
61
|
+
body: doc.body,
|
|
62
|
+
setTimeout: setTimeoutFn,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=readBrowserDomDeps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readBrowserDomDeps.js","sourceRoot":"","sources":["../../../src/functions/dom/readBrowserDomDeps.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,uBAAuB,EACvB,2BAA2B,GAG5B,MAAM,4BAA4B,CAAA;AAmCnC,MAAM,UAAU,2BAA2B,CACzC,WAAgC,iCAAiC,EAAE;IAEnE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IACpC,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,YAAY,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC;QACrD,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,WAAgC,iCAAiC,EAAE;IAEnE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAA;IAChE,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAA;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,WAAgC,iCAAiC,EAAE;IAEnE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IAC1B,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,OAAO;QACL,KAAK;QACL,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,WAAgC,iCAAiC,EAAE;IAEnE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IAC1B,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAc,EAAE,EAAE;QAC7C,EAAE,EAAE,CAAA;QACJ,OAAO,CAAC,CAAA;IACV,CAAC,CAAsB,CAAA;IACvB,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAE,CAAC,CAAwB,CAAA;IAC9D,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,kBAAkB;QACjD,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,oBAAoB;KACxD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,WAAgC,iCAAiC,EAAE;IAEnE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;IAC1B,OAAO;QACL,YAAY,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC;QACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,WAAgC,iCAAiC,EAAE;IAEnE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAA;IAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAA;IAC7C,MAAM,aAAa,GAAG,+BAA+B,CAAC,GAAG,CAAC,CAAA;IAC1D,IAAI,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAA;IACnE,OAAO;QACL,aAAa;QACb,IAAI,EAAE,GAAG,CAAC,IAA4B;QACtC,UAAU,EAAE,YAAY;KACzB,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Document, HTMLElement } from '../../../references/dom.d';
|
|
2
|
+
type OverlayTeleportDocument = Document & {
|
|
3
|
+
body: HTMLElement;
|
|
4
|
+
querySelector(selectors: string): HTMLElement | null;
|
|
5
|
+
};
|
|
6
|
+
export declare function resolveOverlayTeleportParent(teleportTo: string | boolean | undefined, doc: OverlayTeleportDocument | null | undefined): HTMLElement | null;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function resolveOverlayTeleportParent(teleportTo, doc) {
|
|
2
|
+
if (!doc)
|
|
3
|
+
return null;
|
|
4
|
+
if (teleportTo === false)
|
|
5
|
+
return null;
|
|
6
|
+
if (typeof teleportTo === 'string' && teleportTo !== 'body') {
|
|
7
|
+
return doc.querySelector(teleportTo) ?? doc.body;
|
|
8
|
+
}
|
|
9
|
+
return doc.body;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=resolveOverlayTeleportParent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveOverlayTeleportParent.js","sourceRoot":"","sources":["../../../src/functions/dom/resolveOverlayTeleportParent.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,4BAA4B,CAC1C,UAAwC,EACxC,GAA+C;IAE/C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,IAAI,CAAA;IACrC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC5D,OAAQ,GAAG,CAAC,aAAa,CAAC,UAAU,CAAwB,IAAI,GAAG,CAAC,IAAI,CAAA;IAC1E,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type ScrollableElement = {
|
|
2
|
+
scrollTop: number;
|
|
3
|
+
scrollHeight: number;
|
|
4
|
+
clientHeight: number;
|
|
5
|
+
scrollTo?: (options: {
|
|
6
|
+
top: number;
|
|
7
|
+
behavior?: string;
|
|
8
|
+
}) => void;
|
|
9
|
+
};
|
|
10
|
+
export declare function safeSetElementScrollTop(el: ScrollableElement, scrollTop: number): boolean;
|
|
11
|
+
export declare function safeAdjustElementScrollTop(el: ScrollableElement, delta: number): boolean;
|
|
12
|
+
export declare function safeCssSetProperty(style: {
|
|
13
|
+
setProperty(name: string, value: string): void;
|
|
14
|
+
}, name: string, value: string): boolean;
|
|
15
|
+
export declare function safeClearDomSelection(getSelection?: () => {
|
|
16
|
+
removeAllRanges(): void;
|
|
17
|
+
} | null): void;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export function safeSetElementScrollTop(el, scrollTop) {
|
|
2
|
+
try {
|
|
3
|
+
el.scrollTop = scrollTop;
|
|
4
|
+
return true;
|
|
5
|
+
}
|
|
6
|
+
catch {
|
|
7
|
+
try {
|
|
8
|
+
el.scrollTo?.({ top: scrollTop, behavior: 'auto' });
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function safeAdjustElementScrollTop(el, delta) {
|
|
17
|
+
try {
|
|
18
|
+
const maxTop = Math.max(0, el.scrollHeight - el.clientHeight);
|
|
19
|
+
const next = Math.min(maxTop, Math.max(0, el.scrollTop + delta));
|
|
20
|
+
return safeSetElementScrollTop(el, next);
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export function safeCssSetProperty(style, name, value) {
|
|
27
|
+
try {
|
|
28
|
+
style.setProperty(name, value);
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export function safeClearDomSelection(getSelection) {
|
|
36
|
+
try {
|
|
37
|
+
getSelection?.()?.removeAllRanges();
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=safeBrowserDom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safeBrowserDom.js","sourceRoot":"","sources":["../../../src/functions/dom/safeBrowserDom.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,uBAAuB,CAAC,EAAqB,EAAE,SAAiB;IAC9E,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,GAAG,SAAS,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;YACnD,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,EAAqB,EAAE,KAAa;IAC7E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,CAAA;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAA;QAChE,OAAO,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAyD,EACzD,IAAY,EACZ,KAAa;IAEb,IAAI,CAAC;QACH,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,YAAuD;IAEvD,IAAI,CAAC;QACH,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { Blob } from '../../../references/blob.d';
|
|
2
|
+
import { type DomClipboardDeps } from './readBrowserDomDeps';
|
|
2
3
|
export type WriteImageBlobToClipboardDeps = {
|
|
3
4
|
writeElectron?: (blob: Blob) => Promise<boolean>;
|
|
4
5
|
writeWeb?: (blob: Blob) => Promise<boolean>;
|
|
5
6
|
};
|
|
6
7
|
export declare function writeImageBlobToClipboardWithDeps(blob: Blob, deps: WriteImageBlobToClipboardDeps): Promise<boolean>;
|
|
7
|
-
export
|
|
8
|
+
export type WriteImageBlobViaWebClipboardDeps = Pick<DomClipboardDeps, 'navigator' | 'ClipboardItem'> & {
|
|
9
|
+
blobToPng?: (blob: Blob) => Promise<Blob>;
|
|
10
|
+
};
|
|
11
|
+
export declare function writeImageBlobViaWebClipboard(blob: Blob, deps?: WriteImageBlobViaWebClipboardDeps): Promise<boolean>;
|