@legendapp/spark 0.0.1-next.2
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 +21 -0
- package/app.ts +1 -0
- package/audio.ts +1 -0
- package/auth-session.ts +1 -0
- package/bin/spark.cjs +5 -0
- package/clipboard.ts +1 -0
- package/config-plugin.cjs +1 -0
- package/config.cjs +1 -0
- package/config.d.cts +1 -0
- package/context-menu.ts +1 -0
- package/dialogs.ts +2 -0
- package/drag-drop.ts +1 -0
- package/expo-config.cjs +1 -0
- package/expo-metro.cjs +1 -0
- package/files.ts +1 -0
- package/global-shortcuts.ts +1 -0
- package/init-template.cjs +2 -0
- package/links.ts +1 -0
- package/menus.ts +1 -0
- package/message-dialog.ts +1 -0
- package/metro-gate.cjs +1 -0
- package/metro.cjs +1 -0
- package/native.cjs +1 -0
- package/notifications.ts +1 -0
- package/package.json +161 -0
- package/processes.ts +1 -0
- package/runtime-entry.cjs +1 -0
- package/schema.json +305 -0
- package/secure-storage.ts +1 -0
- package/settings.ts +1 -0
- package/shortcuts.ts +1 -0
- package/sqlite.ts +1 -0
- package/system.ts +1 -0
- package/tray.ts +1 -0
- package/ui-uniwind.ts +1 -0
- package/ui.ts +1 -0
- package/universal.cjs +1 -0
- package/updates.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/RNSparkAudio.podspec +18 -0
- package/vendor/node_modules/@legendapp/spark-audio/macos/RNSparkAudio.h +4 -0
- package/vendor/node_modules/@legendapp/spark-audio/macos/RNSparkAudio.mm +154 -0
- package/vendor/node_modules/@legendapp/spark-audio/package.json +49 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/NativeSparkAudio.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/desktop.ts +39 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.web.ts +42 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/media-session-unavailable.ts +5 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/media-session.ts +25 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/media-session.web.ts +35 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/media-types.ts +32 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/mobile.ts +38 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/status-listeners.ts +22 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/types.ts +21 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.def +3 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.h +146 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/package.json +41 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/core.ts +68 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/index.ts +22 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/index.web.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/mobile.ts +52 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/types.ts +38 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/add-desktop.js +164 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/build-mode.js +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/build.js +278 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/commands.js +107 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/create.js +99 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/credentials.js +69 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/dev-command.js +81 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/dev.js +408 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/examples.js +43 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/executable.js +19 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-dev-extension.cjs +51 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-dev-patch.cjs +38 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-dev-preload.cjs +19 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-metro.cjs +41 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-native.cjs +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-node.js +21 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/go-profile.js +20 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/helpers.js +79 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/index.js +263 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/init-template.cjs +25 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/local.js +124 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/macos-release.js +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/metro-gate.cjs +33 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/metro.cjs +63 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/metro.js +25 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/npm-bin/npm +6 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/npm-bin/npm.cmd +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/pack-archive.js +23 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/package-manager.js +45 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/package.js +199 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/platform.js +34 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/process.js +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/project.js +324 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/release.js +42 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/release.json +37 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/runner-install.js +138 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/runtime-entry.cjs +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/sdk-install.js +66 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/sdk-transfer.js +113 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/session-status.js +22 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/signing.js +175 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/universal.cjs +28 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/updates.js +110 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows-associations.js +45 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows-associations.ps1 +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows-geometry.js +33 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows-metro.js +112 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows.js +141 -0
- package/vendor/node_modules/@legendapp/spark-cli/package.json +22 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/App.tsx +29 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/app.json +11 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/assets/icon.png +0 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/desktop.config.json +19 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/gitignore +8 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/index.ts +5 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/metro.config.js +3 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/package.json +55 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/tsconfig.json +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/App.tsx +34 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/Git.macos.tsx +13 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/Git.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/compare.ts +12 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/App.tsx +34 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.macos.tsx +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.tsx +13 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.web.tsx +14 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.windows.tsx +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/document.ts +58 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.desktop.ts +24 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.macos.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.ts +31 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.web.ts +21 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/sessions.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/useDocument.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.desktop.tsx +31 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.macos.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.tsx +14 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.web.tsx +20 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.windows.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.desktop.tsx +28 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.macos.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.tsx +2 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.windows.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/document.ts +58 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.desktop.ts +24 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.macos.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.ts +31 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.web.ts +21 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/lifecycle-types.ts +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/lifetime.ts +23 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/records.ts +51 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/storage.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/useModel.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.desktop.tsx +4 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.macos.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.windows.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/App.tsx +38 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.desktop.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.macos.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.ts +18 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.web.ts +37 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/model.ts +91 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/store.ts +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.desktop.tsx +5 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.macos.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.windows.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/App.tsx +92 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.desktop.ts +25 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.macos.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Theme.tsx +17 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/model.ts +61 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/search.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/session.ts +16 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/store.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/window-session.ts +62 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/App.tsx +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/app.json +15 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/assets/icon.png +0 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/desktop.config.json +62 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/gitignore +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/global.css +31 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/index.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/metro.config.js +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/package.json +70 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/react-native.config.js +2 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/tsconfig.json +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/uniwind-types.d.ts +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/App.tsx +16 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/app.json +11 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/assets/icon.png +0 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/desktop.config.json +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/gitignore +8 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/index.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/metro.config.js +3 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/package.json +56 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/react-native.config.js +2 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/tsconfig.json +10 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/RNDesktopClipboard.podspec +16 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/macos/RNDesktopClipboard.h +4 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/macos/RNDesktopClipboard.mm +87 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/package.json +52 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/NativeDesktopClipboard.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/desktop.ts +39 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/expo.ts +12 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/formats.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.web.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.def +3 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.h +119 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/RNContextMenu.podspec +16 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/macos/RNContextMenu.h +9 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/macos/RNContextMenu.mm +160 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/src/NativeContextMenu.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/src/index.ts +29 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.def +3 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.h +112 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/RNDesktopApp.podspec +15 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/RNDesktopApp.h +4 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/RNDesktopApp.mm +34 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/SparkDesktop.h +23 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/SparkDesktop.mm +135 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/SparkWindow.mm +81 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/package.json +39 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/src/NativeDesktopApp.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/src/api.ts +42 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/app.plugin.cjs +75 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/config.cjs +161 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/config.d.cts +13 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/entitlements.cjs +23 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/expo.cjs +26 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/fabric-lifecycle.cjs +125 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/helpers.cjs +20 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/identity.cjs +28 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/keyboard-events.cjs +44 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/package.json +19 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/schema.json +305 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/updates.cjs +24 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/windows.plugin.cjs +72 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/AppDelegate.mm +79 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/package.json +13 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/SparkComponentGeometry.h +9 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/application.inc +647 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/notifications.inc +60 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/runtime.inc +63 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/runtimes.inc +162 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/RNDesktopLinks.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/common/AuthLoopback.h +121 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/macos/RNDesktopLinks.h +4 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/macos/RNDesktopLinks.mm +79 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/package.json +53 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/NativeDesktopLinks.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/api.ts +37 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/expo.ts +5 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.web.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.def +3 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.h +128 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/RNDesktopShortcuts.podspec +16 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/macos/RNDesktopShortcuts.h +4 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/macos/RNDesktopShortcuts.mm +56 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/package.json +43 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/NativeDesktopShortcuts.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/accelerator.ts +22 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/api.ts +20 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/RNDesktopWindows.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/macos/RNDesktopWindows.h +4 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/macos/RNDesktopWindows.mm +210 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/package.json +44 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/NativeDesktopWindowManager.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/api.ts +79 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/windows-options.ts +11 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/RNDesktopDrag.podspec +20 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/macos/RNDesktopDragView.h +4 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/macos/RNDesktopDragView.mm +94 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/package.json +44 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/src/DesktopDragViewNativeComponent.ts +16 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/src/contracts.ts +28 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/src/index.tsx +17 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/ReactPackageProvider.cpp +21 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.def +3 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.h +209 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/RNFileDialog.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/ios/RNFileDialog.h +9 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/ios/RNFileDialog.mm +259 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/package.json +43 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/src/NativeFileDialog.ts +13 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/src/index.ts +89 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/src/index.windows.ts +15 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/src/options.ts +16 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.def +3 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.h +128 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-file-system/RNDesktopFileSystem.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-file-system/macos/RNDesktopFileSystem.h +4 -0
- package/vendor/node_modules/@legendapp/spark-file-system/macos/RNDesktopFileSystem.mm +211 -0
- package/vendor/node_modules/@legendapp/spark-file-system/package.json +47 -0
- package/vendor/node_modules/@legendapp/spark-file-system/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-file-system/src/NativeDesktopFileSystem.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-file-system/src/handles.ts +45 -0
- package/vendor/node_modules/@legendapp/spark-file-system/src/index.ts +61 -0
- package/vendor/node_modules/@legendapp/spark-file-system/src/path.ts +9 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.def +3 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.h +295 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.vcxproj +144 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.vcxproj.filters +45 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/Trash.h +52 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/RNDesktopGlobalShortcuts.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/macos/RNDesktopGlobalShortcuts.h +3 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/macos/RNDesktopGlobalShortcuts.mm +65 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/src/NativeDesktopGlobalShortcuts.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/src/accelerator.ts +22 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/src/index.ts +16 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.def +3 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.h +80 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/RNDesktopMessageDialog.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/macos/RNDesktopMessageDialog.h +3 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/macos/RNDesktopMessageDialog.mm +36 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/src/NativeDesktopMessageDialog.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/src/index.ts +13 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.def +3 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.h +145 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/RNNativeMenu.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/ios/RNNativeMenu.h +10 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/ios/RNNativeMenu.mm +632 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/package.json +41 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/NativeMenu.ts +13 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/api.ts +128 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/windows-menus.ts +43 -0
- package/vendor/node_modules/@legendapp/spark-notifications/RNDesktopNotifications.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-notifications/macos/RNDesktopNotifications.h +4 -0
- package/vendor/node_modules/@legendapp/spark-notifications/macos/RNDesktopNotifications.mm +111 -0
- package/vendor/node_modules/@legendapp/spark-notifications/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-notifications/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-notifications/src/NativeDesktopNotifications.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-notifications/src/index.ts +53 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.def +3 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.h +132 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-processes/RNDesktopProcesses.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-processes/macos/RNDesktopProcesses.h +3 -0
- package/vendor/node_modules/@legendapp/spark-processes/macos/RNDesktopProcesses.mm +153 -0
- package/vendor/node_modules/@legendapp/spark-processes/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-processes/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-processes/src/NativeDesktopProcesses.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-processes/src/index.ts +39 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.def +3 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.h +171 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/RNDesktopSecureStorage.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/macos/RNDesktopSecureStorage.h +4 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/macos/RNDesktopSecureStorage.mm +53 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/package.json +52 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/NativeDesktopSecureStorage.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/desktop.ts +24 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/expo.ts +14 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.web.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.windows.ts +2 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/options.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/unavailable.ts +5 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.def +3 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.h +48 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-settings/package.json +13 -0
- package/vendor/node_modules/@legendapp/spark-settings/src/filename.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-settings/src/filename.windows.ts +9 -0
- package/vendor/node_modules/@legendapp/spark-settings/src/index.ts +19 -0
- package/vendor/node_modules/@legendapp/spark-settings/src/store.ts +37 -0
- package/vendor/node_modules/@legendapp/spark-sqlite/package.json +16 -0
- package/vendor/node_modules/@legendapp/spark-sqlite/src/index.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-system/RNDesktopSystem.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-system/macos/RNDesktopSystem.h +3 -0
- package/vendor/node_modules/@legendapp/spark-system/macos/RNDesktopSystem.mm +108 -0
- package/vendor/node_modules/@legendapp/spark-system/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-system/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-system/src/NativeDesktopSystem.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-system/src/index.ts +35 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.def +3 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.h +154 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-tray/RNDesktopTray.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-tray/macos/RNDesktopTray.h +4 -0
- package/vendor/node_modules/@legendapp/spark-tray/macos/RNDesktopTray.mm +63 -0
- package/vendor/node_modules/@legendapp/spark-tray/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-tray/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-tray/src/NativeDesktopTray.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-tray/src/index.ts +46 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.def +3 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.h +133 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-ui/RNSparkUI.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkButton.h +4 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkButton.mm +51 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkSelect.h +4 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkSelect.mm +53 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkTextInput.h +4 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkTextInput.mm +45 -0
- package/vendor/node_modules/@legendapp/spark-ui/package.json +61 -0
- package/vendor/node_modules/@legendapp/spark-ui/react-native.config.js +5 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/SparkButtonNativeComponent.ts +12 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/SparkSelectNativeComponent.ts +10 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/SparkTextInputNativeComponent.ts +9 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.android.tsx +25 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.ios.tsx +30 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.tsx +27 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.web.tsx +23 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.windows.tsx +42 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/select.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/types.ts +28 -0
- package/vendor/node_modules/@legendapp/spark-ui/uniwind.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-ui/uniwind.web.ts +17 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/ReactPackageProvider.cpp +21 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkAppearance.h +61 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.def +3 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.h +181 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.vcxproj +144 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-updates/RNDesktopUpdates.podspec +18 -0
- package/vendor/node_modules/@legendapp/spark-updates/Sparkle.podspec.json +39 -0
- package/vendor/node_modules/@legendapp/spark-updates/macos/RNDesktopUpdates.h +4 -0
- package/vendor/node_modules/@legendapp/spark-updates/macos/RNDesktopUpdates.mm +72 -0
- package/vendor/node_modules/@legendapp/spark-updates/package.json +44 -0
- package/vendor/node_modules/@legendapp/spark-updates/src/NativeDesktopUpdates.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-updates/src/index.ts +23 -0
- package/vendor/node_modules/@legendapp/spark-webview/package.json +15 -0
- package/vendor/node_modules/@legendapp/spark-webview/src/index.ts +2 -0
- package/vendor/node_modules/@legendapp/spark-window-options/index.cjs +25 -0
- package/vendor/node_modules/@legendapp/spark-window-options/index.d.ts +12 -0
- package/vendor/node_modules/@legendapp/spark-window-options/package.json +12 -0
- package/webview.ts +1 -0
- package/windows.ts +1 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
#import "RNContextMenu.h"
|
|
2
|
+
|
|
3
|
+
#import <React/RCTBridgeModule.h>
|
|
4
|
+
#import <React/RCTUtils.h>
|
|
5
|
+
#import <TargetConditionals.h>
|
|
6
|
+
|
|
7
|
+
#if TARGET_OS_OSX
|
|
8
|
+
#import <AppKit/AppKit.h>
|
|
9
|
+
#endif
|
|
10
|
+
|
|
11
|
+
@interface RNContextMenu ()
|
|
12
|
+
#if TARGET_OS_OSX
|
|
13
|
+
<NSMenuDelegate>
|
|
14
|
+
#endif
|
|
15
|
+
@property (nonatomic, copy) RCTPromiseResolveBlock pendingResolve;
|
|
16
|
+
@property (nonatomic, strong) id activeMenu;
|
|
17
|
+
@property (nonatomic, assign) BOOL didResolveSelection;
|
|
18
|
+
@end
|
|
19
|
+
|
|
20
|
+
@implementation RNContextMenu
|
|
21
|
+
|
|
22
|
+
RCT_EXPORT_MODULE(NativeContextMenu)
|
|
23
|
+
|
|
24
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
25
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
26
|
+
{
|
|
27
|
+
return std::make_shared<facebook::react::NativeContextMenuSpecJSI>(params);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
- (id)parseJSON:(NSString *)json fallback:(id)fallback
|
|
31
|
+
{
|
|
32
|
+
NSData *data = [json dataUsingEncoding:NSUTF8StringEncoding];
|
|
33
|
+
if (!data) {
|
|
34
|
+
return fallback;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
id value = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
|
|
38
|
+
return value ?: fallback;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
- (void)showMenu:(NSString *)itemsJson
|
|
42
|
+
locationJson:(NSString *)locationJson
|
|
43
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
44
|
+
reject:(RCTPromiseRejectBlock)reject
|
|
45
|
+
{
|
|
46
|
+
#if TARGET_OS_OSX
|
|
47
|
+
RCTExecuteOnMainQueue(^{
|
|
48
|
+
NSArray *items = [self parseJSON:itemsJson fallback:@[]];
|
|
49
|
+
NSDictionary *location = [self parseJSON:locationJson fallback:@{}];
|
|
50
|
+
if (![items isKindOfClass:[NSArray class]] || items.count == 0) {
|
|
51
|
+
resolve(@"");
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (self.pendingResolve) {
|
|
56
|
+
reject(@"E_BUSY", @"A context menu is already open", nil);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
self.pendingResolve = resolve;
|
|
61
|
+
self.didResolveSelection = NO;
|
|
62
|
+
|
|
63
|
+
NSMenu *menu = [[NSMenu alloc] initWithTitle:@"ContextMenu"];
|
|
64
|
+
menu.autoenablesItems = NO;
|
|
65
|
+
menu.delegate = self;
|
|
66
|
+
|
|
67
|
+
for (NSDictionary *itemConfig in items) {
|
|
68
|
+
if (![itemConfig isKindOfClass:[NSDictionary class]]) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if ([itemConfig[@"separator"] boolValue]) { [menu addItem:NSMenuItem.separatorItem]; continue; }
|
|
73
|
+
NSString *title = [itemConfig[@"title"] isKindOfClass:[NSString class]] ? itemConfig[@"title"] : @"";
|
|
74
|
+
NSString *itemId = [itemConfig[@"id"] isKindOfClass:[NSString class]] ? itemConfig[@"id"] : title;
|
|
75
|
+
BOOL enabled = itemConfig[@"enabled"] ? [itemConfig[@"enabled"] boolValue] : YES;
|
|
76
|
+
NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:title action:@selector(handleMenuItem:) keyEquivalent:@""];
|
|
77
|
+
item.target = self;
|
|
78
|
+
item.representedObject = itemId ?: @"";
|
|
79
|
+
item.enabled = enabled;
|
|
80
|
+
item.state = [itemConfig[@"checked"] boolValue] ? NSControlStateValueOn : NSControlStateValueOff;
|
|
81
|
+
[menu addItem:item];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (menu.numberOfItems == 0) {
|
|
85
|
+
self.pendingResolve(@"");
|
|
86
|
+
self.pendingResolve = nil;
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
NSWindow *window = NSApp.keyWindow ?: NSApp.mainWindow;
|
|
91
|
+
NSView *targetView = window.contentView;
|
|
92
|
+
if (!targetView) {
|
|
93
|
+
self.pendingResolve(@"");
|
|
94
|
+
self.pendingResolve = nil;
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
double x = [location[@"x"] isKindOfClass:[NSNumber class]] ? [location[@"x"] doubleValue] : 0;
|
|
99
|
+
double y = [location[@"y"] isKindOfClass:[NSNumber class]] ? [location[@"y"] doubleValue] : 0;
|
|
100
|
+
NSPoint point = NSMakePoint(x, y);
|
|
101
|
+
if (!targetView.isFlipped) {
|
|
102
|
+
point.y = NSHeight(targetView.bounds) - point.y;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
self.activeMenu = menu;
|
|
106
|
+
// Tracking runs a nested event loop. Enter from the run loop, rather
|
|
107
|
+
// than holding the main dispatch queue needed by other native calls.
|
|
108
|
+
[NSRunLoop.mainRunLoop performBlock:^{
|
|
109
|
+
if (self.activeMenu == menu) [menu popUpMenuPositioningItem:nil atLocation:point inView:targetView];
|
|
110
|
+
}];
|
|
111
|
+
});
|
|
112
|
+
#else
|
|
113
|
+
resolve(@"");
|
|
114
|
+
#endif
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
#if TARGET_OS_OSX
|
|
118
|
+
- (void)invalidate
|
|
119
|
+
{
|
|
120
|
+
RCTExecuteOnMainQueue(^{
|
|
121
|
+
((NSMenu *)self.activeMenu).delegate = nil;
|
|
122
|
+
[(NSMenu *)self.activeMenu cancelTracking];
|
|
123
|
+
if (self.pendingResolve) self.pendingResolve(@"");
|
|
124
|
+
self.pendingResolve = nil; self.activeMenu = nil;
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
- (void)handleMenuItem:(NSMenuItem *)sender
|
|
129
|
+
{
|
|
130
|
+
if (!self.pendingResolve) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
self.didResolveSelection = YES;
|
|
135
|
+
NSString *itemId = [sender.representedObject isKindOfClass:[NSString class]] ? sender.representedObject : @"";
|
|
136
|
+
self.pendingResolve(itemId ?: @"");
|
|
137
|
+
self.pendingResolve = nil;
|
|
138
|
+
((NSMenu *)self.activeMenu).delegate = nil;
|
|
139
|
+
self.activeMenu = nil;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
- (void)menuDidClose:(NSMenu *)menu
|
|
143
|
+
{
|
|
144
|
+
if (menu != self.activeMenu) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
149
|
+
if (!self.didResolveSelection && self.pendingResolve) {
|
|
150
|
+
self.pendingResolve(@"");
|
|
151
|
+
}
|
|
152
|
+
self.pendingResolve = nil;
|
|
153
|
+
((NSMenu *)self.activeMenu).delegate = nil;
|
|
154
|
+
self.activeMenu = nil;
|
|
155
|
+
self.didResolveSelection = NO;
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
#endif
|
|
159
|
+
|
|
160
|
+
@end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@legendapp/spark-context-menu",
|
|
3
|
+
"version": "0.0.1-next.2",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"main": "src/index.ts",
|
|
6
|
+
"react-native": "src/index.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"src",
|
|
9
|
+
"macos",
|
|
10
|
+
"*.podspec",
|
|
11
|
+
"windows",
|
|
12
|
+
"react-native.config.js"
|
|
13
|
+
],
|
|
14
|
+
"peerDependencies": {
|
|
15
|
+
"react": "19.1.4",
|
|
16
|
+
"react-native": "0.81.6"
|
|
17
|
+
},
|
|
18
|
+
"codegenConfig": {
|
|
19
|
+
"name": "RNContextMenuSpec",
|
|
20
|
+
"type": "modules",
|
|
21
|
+
"jsSrcsDir": "src",
|
|
22
|
+
"ios": {
|
|
23
|
+
"modulesProvider": {
|
|
24
|
+
"NativeContextMenu": "RNContextMenu"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"spark": {
|
|
29
|
+
"sdk": true,
|
|
30
|
+
"nativeModules": [
|
|
31
|
+
"NativeContextMenu"
|
|
32
|
+
],
|
|
33
|
+
"pod": "RNContextMenu",
|
|
34
|
+
"platforms": [
|
|
35
|
+
"macos",
|
|
36
|
+
"windows"
|
|
37
|
+
],
|
|
38
|
+
"requires": [
|
|
39
|
+
"@legendapp/spark-desktop-app"
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@legendapp/spark-desktop-app": "0.0.1-next.2"
|
|
44
|
+
},
|
|
45
|
+
"private": true
|
|
46
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Expo Desktop currently invokes the Apple autolinker with --platform ios.
|
|
2
|
+
// Its generated Podfile identifies macOS explicitly; ordinary iOS apps use Expo backends.
|
|
3
|
+
module.exports = { dependency: { platforms: {
|
|
4
|
+
ios: process.env.SPARK_DESKTOP_AUTOLINK === "macos" ? {} : null,
|
|
5
|
+
android: null,
|
|
6
|
+
} } };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TurboModule } from "react-native";
|
|
2
|
+
import { TurboModuleRegistry } from "react-native";
|
|
3
|
+
|
|
4
|
+
export interface Spec extends TurboModule {
|
|
5
|
+
showMenu(itemsJson: string, locationJson: string): Promise<string>;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export default TurboModuleRegistry.getEnforcing<Spec>("NativeContextMenu");
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Platform } from "react-native";
|
|
2
|
+
import NativeContextMenu from "./NativeContextMenu";
|
|
3
|
+
|
|
4
|
+
export type ContextMenuItem = {
|
|
5
|
+
id: string;
|
|
6
|
+
title: string;
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
checked?: boolean;
|
|
9
|
+
separator?: boolean;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export type ContextMenuLocation = {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export async function showContextMenu(items: ContextMenuItem[], location: ContextMenuLocation) {
|
|
18
|
+
if (Platform.OS !== "macos" && Platform.OS !== "windows") {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (!Number.isFinite(location.x) || !Number.isFinite(location.y)) throw new Error("Menu location must be finite");
|
|
23
|
+
const ids = items.filter(item => !item.separator).map(item => item.id);
|
|
24
|
+
if (new Set(ids).size !== ids.length) throw new Error("Context menu ids must be unique");
|
|
25
|
+
const result = await NativeContextMenu.showMenu(JSON.stringify(items), JSON.stringify(location));
|
|
26
|
+
return result.length > 0 ? result : null;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { default as NativeContextMenu } from "./NativeContextMenu";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
3
|
+
|
|
4
|
+
<PropertyGroup Label="Microsoft.ReactNative Experimental Features">
|
|
5
|
+
<!--
|
|
6
|
+
Required for building a New Architecture project.
|
|
7
|
+
|
|
8
|
+
Library projects can change this value to test against Old and New
|
|
9
|
+
Architectures when building the library project's local sln file.
|
|
10
|
+
|
|
11
|
+
Otherwise this value will be decided by the consuming RNW app.
|
|
12
|
+
|
|
13
|
+
See https://microsoft.github.io/react-native-windows/docs/new-architecture
|
|
14
|
+
-->
|
|
15
|
+
<RnwNewArch>true</RnwNewArch>
|
|
16
|
+
|
|
17
|
+
<!--
|
|
18
|
+
Changes compilation to assume use of Microsoft.ReactNative NuGet packages
|
|
19
|
+
instead of building the framework from source. Defaults to true.
|
|
20
|
+
|
|
21
|
+
This is set during library project creation and is used when building
|
|
22
|
+
the library project's local sln file.
|
|
23
|
+
|
|
24
|
+
Otherwise this value will be decided by the consuming RNW app.
|
|
25
|
+
|
|
26
|
+
See https://microsoft.github.io/react-native-windows/docs/nuget
|
|
27
|
+
-->
|
|
28
|
+
<UseExperimentalNuget>true</UseExperimentalNuget>
|
|
29
|
+
|
|
30
|
+
<ReactExperimentalFeaturesSet>true</ReactExperimentalFeaturesSet>
|
|
31
|
+
</PropertyGroup>
|
|
32
|
+
|
|
33
|
+
</Project>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
4
|
+
|
|
5
|
+
Portions derived from React Native:
|
|
6
|
+
|
|
7
|
+
Copyright (c) 2015-present, Facebook, Inc.
|
|
8
|
+
|
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
10
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
11
|
+
in the Software without restriction, including without limitation the rights
|
|
12
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
14
|
+
furnished to do so, subject to the following conditions:
|
|
15
|
+
|
|
16
|
+
The above copyright notice and this permission notice shall be included in all
|
|
17
|
+
copies or substantial portions of the Software.
|
|
18
|
+
|
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
25
|
+
SOFTWARE.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#include "pch.h"
|
|
2
|
+
|
|
3
|
+
#include "ReactPackageProvider.h"
|
|
4
|
+
#if __has_include("ReactPackageProvider.g.cpp")
|
|
5
|
+
#include "ReactPackageProvider.g.cpp"
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
#include "SparkContextMenu.h"
|
|
9
|
+
|
|
10
|
+
using namespace winrt::Microsoft::ReactNative;
|
|
11
|
+
|
|
12
|
+
namespace winrt::SparkContextMenu::implementation
|
|
13
|
+
{
|
|
14
|
+
|
|
15
|
+
void ReactPackageProvider::CreatePackage(IReactPackageBuilder const &packageBuilder) noexcept
|
|
16
|
+
{
|
|
17
|
+
AddAttributedModules(packageBuilder, true);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
} // namespace winrt::SparkContextMenu::implementation
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include "ReactPackageProvider.g.h"
|
|
4
|
+
|
|
5
|
+
using namespace winrt::Microsoft::ReactNative;
|
|
6
|
+
|
|
7
|
+
namespace winrt::SparkContextMenu::implementation
|
|
8
|
+
{
|
|
9
|
+
|
|
10
|
+
struct ReactPackageProvider : ReactPackageProviderT<ReactPackageProvider>
|
|
11
|
+
{
|
|
12
|
+
ReactPackageProvider() = default;
|
|
13
|
+
|
|
14
|
+
void CreatePackage(IReactPackageBuilder const &packageBuilder) noexcept;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
} // namespace winrt::SparkContextMenu::implementation
|
|
18
|
+
|
|
19
|
+
namespace winrt::SparkContextMenu::factory_implementation
|
|
20
|
+
{
|
|
21
|
+
|
|
22
|
+
struct ReactPackageProvider : ReactPackageProviderT<ReactPackageProvider, implementation::ReactPackageProvider> {};
|
|
23
|
+
|
|
24
|
+
} // namespace winrt::SparkContextMenu::factory_implementation
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include "NativeModules.h"
|
|
3
|
+
#include <commctrl.h>
|
|
4
|
+
#include <winrt/Windows.Data.Json.h>
|
|
5
|
+
#include <atomic>
|
|
6
|
+
#include <functional>
|
|
7
|
+
#include <memory>
|
|
8
|
+
#include <vector>
|
|
9
|
+
#include <set>
|
|
10
|
+
#include <cmath>
|
|
11
|
+
#include <climits>
|
|
12
|
+
#pragma comment(lib, "Comctl32.lib")
|
|
13
|
+
namespace winrt::SparkContextMenu {
|
|
14
|
+
namespace React = Microsoft::ReactNative;
|
|
15
|
+
namespace Json = Windows::Data::Json;
|
|
16
|
+
// Match the framework's own top-level windows, never another process's HWND.
|
|
17
|
+
inline HWND Parent(std::wstring const &id, bool explicitId) {
|
|
18
|
+
HWND active = GetActiveWindow();
|
|
19
|
+
if (!explicitId && active && GetPropW(active, L"Spark.ReactWindow")) return active;
|
|
20
|
+
struct Search { std::wstring property; HWND found = nullptr; } search{L"Spark.Window." + (explicitId ? id : L"main")};
|
|
21
|
+
EnumWindows([](HWND hwnd, LPARAM value) -> BOOL {
|
|
22
|
+
auto search = reinterpret_cast<Search *>(value); DWORD process = 0; GetWindowThreadProcessId(hwnd, &process);
|
|
23
|
+
if (process == GetCurrentProcessId() && GetPropW(hwnd, search->property.c_str())) { search->found = hwnd; return FALSE; }
|
|
24
|
+
return TRUE;
|
|
25
|
+
}, reinterpret_cast<LPARAM>(&search));
|
|
26
|
+
return search.found;
|
|
27
|
+
}
|
|
28
|
+
// Modal Win32 APIs pump a nested loop. Start outside the RN dispatcher callback
|
|
29
|
+
// so React can still deliver another call (which must reject E_BUSY).
|
|
30
|
+
inline LRESULT CALLBACK TaskProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) {
|
|
31
|
+
if (message == WM_NCCREATE) {
|
|
32
|
+
auto pending = reinterpret_cast<std::unique_ptr<std::function<void()>> *>(reinterpret_cast<CREATESTRUCTW *>(lparam)->lpCreateParams);
|
|
33
|
+
SetWindowLongPtrW(hwnd, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(pending->release()));
|
|
34
|
+
}
|
|
35
|
+
if (message == WM_APP + 1) {
|
|
36
|
+
auto raw = reinterpret_cast<std::function<void()> *>(GetWindowLongPtrW(hwnd, GWLP_USERDATA));
|
|
37
|
+
SetWindowLongPtrW(hwnd, GWLP_USERDATA, 0); std::unique_ptr<std::function<void()>> action(raw); DestroyWindow(hwnd);
|
|
38
|
+
if (action) (*action)(); return 0;
|
|
39
|
+
}
|
|
40
|
+
if (message == WM_NCDESTROY) {
|
|
41
|
+
delete reinterpret_cast<std::function<void()> *>(GetWindowLongPtrW(hwnd, GWLP_USERDATA)); SetWindowLongPtrW(hwnd, GWLP_USERDATA, 0);
|
|
42
|
+
}
|
|
43
|
+
return DefWindowProcW(hwnd, message, wparam, lparam);
|
|
44
|
+
}
|
|
45
|
+
inline void Schedule(React::ReactContext context, std::function<void()> action, std::function<void()> failure) {
|
|
46
|
+
context.UIDispatcher().Post([action = std::move(action), failure = std::move(failure)]() {
|
|
47
|
+
const wchar_t *name = L"SparkContextMenuTask";
|
|
48
|
+
WNDCLASSW cls{}; cls.lpfnWndProc = TaskProc; cls.hInstance = GetModuleHandleW(nullptr); cls.lpszClassName = name;
|
|
49
|
+
if (!RegisterClassW(&cls) && GetLastError() != ERROR_CLASS_ALREADY_EXISTS) { failure(); return; }
|
|
50
|
+
auto pending = std::make_unique<std::function<void()>>(action);
|
|
51
|
+
// Ownership passes on WM_NCCREATE. This class always accepts creation.
|
|
52
|
+
auto hwnd = CreateWindowExW(0, name, L"", 0, 0, 0, 0, 0, HWND_MESSAGE, nullptr, cls.hInstance, &pending);
|
|
53
|
+
if (!hwnd) { failure(); return; }
|
|
54
|
+
if (!PostMessageW(hwnd, WM_APP + 1, 0, 0)) { DestroyWindow(hwnd); failure(); }
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
struct MenuState {
|
|
58
|
+
std::atomic<bool> busy{false}, stopped{false};
|
|
59
|
+
std::atomic<HWND> owner{nullptr};
|
|
60
|
+
};
|
|
61
|
+
struct MenuHandle { HMENU value = CreatePopupMenu(); ~MenuHandle() { if (value) DestroyMenu(value); } };
|
|
62
|
+
REACT_MODULE(SparkContextMenu, L"NativeContextMenu")
|
|
63
|
+
struct SparkContextMenu {
|
|
64
|
+
React::ReactContext context;
|
|
65
|
+
std::shared_ptr<MenuState> state = std::make_shared<MenuState>();
|
|
66
|
+
REACT_INIT(Initialize) void Initialize(React::ReactContext const &value) noexcept { context = value; }
|
|
67
|
+
~SparkContextMenu() {
|
|
68
|
+
state->stopped = true;
|
|
69
|
+
if (auto owner = state->owner.load()) PostMessageW(owner, WM_CANCELMODE, 0, 0);
|
|
70
|
+
}
|
|
71
|
+
REACT_METHOD(showMenu) void showMenu(std::string encoded, std::string location, React::ReactPromise<std::string> promise) noexcept {
|
|
72
|
+
if (state->busy.exchange(true)) { promise.Reject(React::ReactError{"E_BUSY", "A context menu is already open"}); return; }
|
|
73
|
+
auto current = state;
|
|
74
|
+
Schedule(context, [current, encoded, location, promise] {
|
|
75
|
+
try {
|
|
76
|
+
if (current->stopped) { current->busy = false; promise.Resolve(""); return; }
|
|
77
|
+
auto items = Json::JsonArray::Parse(to_hstring(encoded));
|
|
78
|
+
auto position = Json::JsonObject::Parse(to_hstring(location));
|
|
79
|
+
auto owner = Parent(L"", false);
|
|
80
|
+
if (!owner || items.Size() == 0) { current->busy = false; promise.Resolve(""); return; }
|
|
81
|
+
if (!IsWindowEnabled(owner)) { current->busy = false; promise.Reject(React::ReactError{"E_BUSY", "Menu parent has a modal operation"}); return; }
|
|
82
|
+
const double x = position.GetNamedNumber(L"x"), y = position.GetNamedNumber(L"y");
|
|
83
|
+
const double scale = static_cast<double>(GetDpiForWindow(owner)) / 96.0;
|
|
84
|
+
if (!std::isfinite(x) || !std::isfinite(y) || std::abs(x * scale) > INT_MAX / 2 || std::abs(y * scale) > INT_MAX / 2) throw hresult_invalid_argument(L"Menu location must be finite and within screen coordinates");
|
|
85
|
+
POINT point{static_cast<LONG>(std::lround(x * scale)), static_cast<LONG>(std::lround(y * scale))};
|
|
86
|
+
if (!ClientToScreen(owner, &point)) throw_last_error();
|
|
87
|
+
MenuHandle menu; if (!menu.value) throw_last_error();
|
|
88
|
+
std::vector<std::string> ids; std::set<std::string> unique;
|
|
89
|
+
for (auto const &value : items) {
|
|
90
|
+
auto item = value.GetObject();
|
|
91
|
+
if (item.GetNamedBoolean(L"separator", false)) { if (!AppendMenuW(menu.value, MF_SEPARATOR, 0, nullptr)) throw_last_error(); continue; }
|
|
92
|
+
auto id = to_string(item.GetNamedString(L"id"));
|
|
93
|
+
if (!unique.insert(id).second) throw hresult_invalid_argument(L"Context menu ids must be unique");
|
|
94
|
+
ids.push_back(id); std::wstring label;
|
|
95
|
+
for (auto c : std::wstring(item.GetNamedString(L"title"))) { label += c; if (c == L'&') label += L'&'; }
|
|
96
|
+
UINT flags = MF_STRING;
|
|
97
|
+
if (!item.GetNamedBoolean(L"enabled", true)) flags |= MF_GRAYED;
|
|
98
|
+
if (item.GetNamedBoolean(L"checked", false)) flags |= MF_CHECKED;
|
|
99
|
+
if (!AppendMenuW(menu.value, flags, static_cast<UINT_PTR>(ids.size()), label.c_str())) throw_last_error();
|
|
100
|
+
}
|
|
101
|
+
current->owner = owner;
|
|
102
|
+
SetLastError(ERROR_SUCCESS);
|
|
103
|
+
const auto selected = TrackPopupMenuEx(menu.value, TPM_RETURNCMD | TPM_NONOTIFY | TPM_RIGHTBUTTON, point.x, point.y, owner, nullptr);
|
|
104
|
+
const auto error = GetLastError(); current->owner = nullptr; current->busy = false;
|
|
105
|
+
if (!selected && error != ERROR_SUCCESS) throw hresult_error(HRESULT_FROM_WIN32(error));
|
|
106
|
+
promise.Resolve(!current->stopped && selected > 0 && static_cast<size_t>(selected) <= ids.size() ? ids[selected - 1] : "");
|
|
107
|
+
} catch (hresult_error const &error) { current->owner = nullptr; current->busy = false; promise.Reject(React::ReactError{error.code() == E_INVALIDARG ? "E_INVALID_ARGUMENT" : "E_MENU", to_string(error.message())}); }
|
|
108
|
+
catch (std::exception const &error) { current->owner = nullptr; current->busy = false; promise.Reject(React::ReactError{"E_MENU", error.what()}); }
|
|
109
|
+
}, [current, promise] { current->busy = false; promise.Reject(React::ReactError{"E_MENU", "Could not schedule native menu"}); });
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- This project was created with react-native-windows 0.81.35 -->
|
|
3
|
+
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
4
|
+
<Import Project="$(SolutionDir)\ExperimentalFeatures.props" Condition="Exists('$(SolutionDir)\ExperimentalFeatures.props')" />
|
|
5
|
+
<PropertyGroup Label="Globals">
|
|
6
|
+
<CppWinRTOptimized>true</CppWinRTOptimized>
|
|
7
|
+
<MinimalCoreWin>true</MinimalCoreWin>
|
|
8
|
+
<ProjectGuid>{9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}</ProjectGuid>
|
|
9
|
+
<ProjectName>SparkContextMenu</ProjectName>
|
|
10
|
+
<Keyword>Win32Proj</Keyword>
|
|
11
|
+
<RootNamespace>SparkContextMenu</RootNamespace>
|
|
12
|
+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
|
13
|
+
<DefaultLanguage>en-US</DefaultLanguage>
|
|
14
|
+
<MinimumVisualStudioVersion>17.0</MinimumVisualStudioVersion>
|
|
15
|
+
<AppxPackage>false</AppxPackage>
|
|
16
|
+
</PropertyGroup>
|
|
17
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
18
|
+
<PropertyGroup Label="ReactNativeWindowsProps">
|
|
19
|
+
<ReactNativeWindowsDir Condition="'$(ReactNativeWindowsDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'node_modules\react-native-windows\package.json'))\node_modules\react-native-windows\</ReactNativeWindowsDir>
|
|
20
|
+
<RunAutolinkCheck>false</RunAutolinkCheck>
|
|
21
|
+
</PropertyGroup>
|
|
22
|
+
<Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.WindowsSdk.Default.props" />
|
|
23
|
+
<ItemGroup Label="ProjectConfigurations">
|
|
24
|
+
<ProjectConfiguration Include="Debug|Win32">
|
|
25
|
+
<Configuration>Debug</Configuration>
|
|
26
|
+
<Platform>Win32</Platform>
|
|
27
|
+
</ProjectConfiguration>
|
|
28
|
+
<ProjectConfiguration Include="Release|Win32">
|
|
29
|
+
<Configuration>Release</Configuration>
|
|
30
|
+
<Platform>Win32</Platform>
|
|
31
|
+
</ProjectConfiguration>
|
|
32
|
+
<ProjectConfiguration Include="Debug|x64">
|
|
33
|
+
<Configuration>Debug</Configuration>
|
|
34
|
+
<Platform>x64</Platform>
|
|
35
|
+
</ProjectConfiguration>
|
|
36
|
+
<ProjectConfiguration Include="Release|x64">
|
|
37
|
+
<Configuration>Release</Configuration>
|
|
38
|
+
<Platform>x64</Platform>
|
|
39
|
+
</ProjectConfiguration>
|
|
40
|
+
<ProjectConfiguration Include="Debug|ARM64">
|
|
41
|
+
<Configuration>Debug</Configuration>
|
|
42
|
+
<Platform>ARM64</Platform>
|
|
43
|
+
</ProjectConfiguration>
|
|
44
|
+
<ProjectConfiguration Include="Release|ARM64">
|
|
45
|
+
<Configuration>Release</Configuration>
|
|
46
|
+
<Platform>ARM64</Platform>
|
|
47
|
+
</ProjectConfiguration>
|
|
48
|
+
</ItemGroup>
|
|
49
|
+
<PropertyGroup Label="Configuration">
|
|
50
|
+
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
51
|
+
<CharacterSet>Unicode</CharacterSet>
|
|
52
|
+
<PlatformToolset>v145</PlatformToolset>
|
|
53
|
+
<GenerateManifest>false</GenerateManifest>
|
|
54
|
+
</PropertyGroup>
|
|
55
|
+
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
|
|
56
|
+
<UseDebugLibraries>true</UseDebugLibraries>
|
|
57
|
+
</PropertyGroup>
|
|
58
|
+
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
|
|
59
|
+
<UseDebugLibraries>false</UseDebugLibraries>
|
|
60
|
+
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
61
|
+
</PropertyGroup>
|
|
62
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
63
|
+
<ImportGroup Label="ExtensionSettings">
|
|
64
|
+
</ImportGroup>
|
|
65
|
+
<ImportGroup Label="PropertySheets">
|
|
66
|
+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
67
|
+
</ImportGroup>
|
|
68
|
+
<ImportGroup Label="ReactNativeWindowsPropertySheets">
|
|
69
|
+
<Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.props" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.props')" />
|
|
70
|
+
</ImportGroup>
|
|
71
|
+
<ItemDefinitionGroup>
|
|
72
|
+
<ClCompile>
|
|
73
|
+
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
74
|
+
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
|
75
|
+
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
|
76
|
+
<WarningLevel>Level4</WarningLevel>
|
|
77
|
+
<SDLCheck>true</SDLCheck>
|
|
78
|
+
<AdditionalOptions>%(AdditionalOptions) /bigobj</AdditionalOptions>
|
|
79
|
+
<DisableSpecificWarnings>4453;28204</DisableSpecificWarnings>
|
|
80
|
+
<PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
81
|
+
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
|
82
|
+
<AdditionalIncludeDirectories>
|
|
83
|
+
$(MSBuildThisFileDirectory);
|
|
84
|
+
%(AdditionalIncludeDirectories)
|
|
85
|
+
</AdditionalIncludeDirectories>
|
|
86
|
+
</ClCompile>
|
|
87
|
+
<Link>
|
|
88
|
+
<AdditionalDependencies>shell32.lib;user32.lib;windowsapp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
89
|
+
<SubSystem>Console</SubSystem>
|
|
90
|
+
<GenerateWindowsMetadata>true</GenerateWindowsMetadata>
|
|
91
|
+
<ModuleDefinitionFile>SparkContextMenu.def</ModuleDefinitionFile>
|
|
92
|
+
</Link>
|
|
93
|
+
</ItemDefinitionGroup>
|
|
94
|
+
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
|
95
|
+
<ClCompile>
|
|
96
|
+
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
97
|
+
</ClCompile>
|
|
98
|
+
</ItemDefinitionGroup>
|
|
99
|
+
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
|
100
|
+
<ClCompile>
|
|
101
|
+
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
102
|
+
</ClCompile>
|
|
103
|
+
</ItemDefinitionGroup>
|
|
104
|
+
<PropertyGroup Label="UserMacros" />
|
|
105
|
+
<ItemGroup>
|
|
106
|
+
<ClInclude Include="SparkContextMenu.h" />
|
|
107
|
+
<ClInclude Include="ReactPackageProvider.h">
|
|
108
|
+
<DependentUpon>ReactPackageProvider.idl</DependentUpon>
|
|
109
|
+
</ClInclude>
|
|
110
|
+
<ClInclude Include="resource.h" />
|
|
111
|
+
<ClInclude Include="pch.h" />
|
|
112
|
+
<ClInclude Include="targetver.h" />
|
|
113
|
+
</ItemGroup>
|
|
114
|
+
<ItemGroup>
|
|
115
|
+
<ClCompile Include="SparkContextMenu.cpp" />
|
|
116
|
+
<ClCompile Include="pch.cpp">
|
|
117
|
+
<PrecompiledHeader>Create</PrecompiledHeader>
|
|
118
|
+
</ClCompile>
|
|
119
|
+
<ClCompile Include="ReactPackageProvider.cpp">
|
|
120
|
+
<DependentUpon>ReactPackageProvider.idl</DependentUpon>
|
|
121
|
+
</ClCompile>
|
|
122
|
+
<ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
|
|
123
|
+
</ItemGroup>
|
|
124
|
+
<ItemGroup>
|
|
125
|
+
<Midl Include="ReactPackageProvider.idl" />
|
|
126
|
+
</ItemGroup>
|
|
127
|
+
<ItemGroup>
|
|
128
|
+
<ResourceCompile Include="SparkContextMenu.rc" />
|
|
129
|
+
</ItemGroup>
|
|
130
|
+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
131
|
+
<ImportGroup Label="ReactNativeWindowsTargets">
|
|
132
|
+
<Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.targets" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.targets')" />
|
|
133
|
+
</ImportGroup>
|
|
134
|
+
<ItemGroup>
|
|
135
|
+
</ItemGroup>
|
|
136
|
+
<Target Name="EnsureReactNativeWindowsTargets" BeforeTargets="PrepareForBuild">
|
|
137
|
+
<PropertyGroup>
|
|
138
|
+
<ErrorText>This project references targets in your node_modules\react-native-windows folder. The missing file is {0}.</ErrorText>
|
|
139
|
+
</PropertyGroup>
|
|
140
|
+
<Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.props')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.props'))" />
|
|
141
|
+
<Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.CppLib.targets'))" />
|
|
142
|
+
</Target>
|
|
143
|
+
</Project>
|