@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.
Files changed (669) hide show
  1. package/README.md +21 -0
  2. package/app.ts +1 -0
  3. package/audio.ts +1 -0
  4. package/auth-session.ts +1 -0
  5. package/bin/spark.cjs +5 -0
  6. package/clipboard.ts +1 -0
  7. package/config-plugin.cjs +1 -0
  8. package/config.cjs +1 -0
  9. package/config.d.cts +1 -0
  10. package/context-menu.ts +1 -0
  11. package/dialogs.ts +2 -0
  12. package/drag-drop.ts +1 -0
  13. package/expo-config.cjs +1 -0
  14. package/expo-metro.cjs +1 -0
  15. package/files.ts +1 -0
  16. package/global-shortcuts.ts +1 -0
  17. package/init-template.cjs +2 -0
  18. package/links.ts +1 -0
  19. package/menus.ts +1 -0
  20. package/message-dialog.ts +1 -0
  21. package/metro-gate.cjs +1 -0
  22. package/metro.cjs +1 -0
  23. package/native.cjs +1 -0
  24. package/notifications.ts +1 -0
  25. package/package.json +161 -0
  26. package/processes.ts +1 -0
  27. package/runtime-entry.cjs +1 -0
  28. package/schema.json +305 -0
  29. package/secure-storage.ts +1 -0
  30. package/settings.ts +1 -0
  31. package/shortcuts.ts +1 -0
  32. package/sqlite.ts +1 -0
  33. package/system.ts +1 -0
  34. package/tray.ts +1 -0
  35. package/ui-uniwind.ts +1 -0
  36. package/ui.ts +1 -0
  37. package/universal.cjs +1 -0
  38. package/updates.ts +1 -0
  39. package/vendor/node_modules/@legendapp/spark-audio/RNSparkAudio.podspec +18 -0
  40. package/vendor/node_modules/@legendapp/spark-audio/macos/RNSparkAudio.h +4 -0
  41. package/vendor/node_modules/@legendapp/spark-audio/macos/RNSparkAudio.mm +154 -0
  42. package/vendor/node_modules/@legendapp/spark-audio/package.json +49 -0
  43. package/vendor/node_modules/@legendapp/spark-audio/src/NativeSparkAudio.ts +3 -0
  44. package/vendor/node_modules/@legendapp/spark-audio/src/desktop.ts +39 -0
  45. package/vendor/node_modules/@legendapp/spark-audio/src/index.android.ts +1 -0
  46. package/vendor/node_modules/@legendapp/spark-audio/src/index.ios.ts +1 -0
  47. package/vendor/node_modules/@legendapp/spark-audio/src/index.ts +1 -0
  48. package/vendor/node_modules/@legendapp/spark-audio/src/index.web.ts +42 -0
  49. package/vendor/node_modules/@legendapp/spark-audio/src/index.windows.ts +1 -0
  50. package/vendor/node_modules/@legendapp/spark-audio/src/media-session-unavailable.ts +5 -0
  51. package/vendor/node_modules/@legendapp/spark-audio/src/media-session.ts +25 -0
  52. package/vendor/node_modules/@legendapp/spark-audio/src/media-session.web.ts +35 -0
  53. package/vendor/node_modules/@legendapp/spark-audio/src/media-types.ts +32 -0
  54. package/vendor/node_modules/@legendapp/spark-audio/src/mobile.ts +38 -0
  55. package/vendor/node_modules/@legendapp/spark-audio/src/status-listeners.ts +22 -0
  56. package/vendor/node_modules/@legendapp/spark-audio/src/types.ts +21 -0
  57. package/vendor/node_modules/@legendapp/spark-audio/windows/ExperimentalFeatures.props +33 -0
  58. package/vendor/node_modules/@legendapp/spark-audio/windows/LICENSE +25 -0
  59. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/ReactPackageProvider.cpp +20 -0
  60. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/ReactPackageProvider.h +24 -0
  61. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/ReactPackageProvider.idl +9 -0
  62. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.cpp +2 -0
  63. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.def +3 -0
  64. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.h +146 -0
  65. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.rc +0 -0
  66. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.vcxproj +143 -0
  67. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.vcxproj.filters +44 -0
  68. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/pch.cpp +1 -0
  69. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/pch.h +30 -0
  70. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/resource.h +5 -0
  71. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/targetver.h +8 -0
  72. package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio.sln +43 -0
  73. package/vendor/node_modules/@legendapp/spark-auth-session/package.json +41 -0
  74. package/vendor/node_modules/@legendapp/spark-auth-session/src/core.ts +68 -0
  75. package/vendor/node_modules/@legendapp/spark-auth-session/src/index.android.ts +1 -0
  76. package/vendor/node_modules/@legendapp/spark-auth-session/src/index.ios.ts +1 -0
  77. package/vendor/node_modules/@legendapp/spark-auth-session/src/index.ts +22 -0
  78. package/vendor/node_modules/@legendapp/spark-auth-session/src/index.web.ts +1 -0
  79. package/vendor/node_modules/@legendapp/spark-auth-session/src/mobile.ts +52 -0
  80. package/vendor/node_modules/@legendapp/spark-auth-session/src/types.ts +38 -0
  81. package/vendor/node_modules/@legendapp/spark-cli/dist/add-desktop.js +164 -0
  82. package/vendor/node_modules/@legendapp/spark-cli/dist/build-mode.js +7 -0
  83. package/vendor/node_modules/@legendapp/spark-cli/dist/build.js +278 -0
  84. package/vendor/node_modules/@legendapp/spark-cli/dist/commands.js +107 -0
  85. package/vendor/node_modules/@legendapp/spark-cli/dist/create.js +99 -0
  86. package/vendor/node_modules/@legendapp/spark-cli/dist/credentials.js +69 -0
  87. package/vendor/node_modules/@legendapp/spark-cli/dist/dev-command.js +81 -0
  88. package/vendor/node_modules/@legendapp/spark-cli/dist/dev.js +408 -0
  89. package/vendor/node_modules/@legendapp/spark-cli/dist/examples.js +43 -0
  90. package/vendor/node_modules/@legendapp/spark-cli/dist/executable.js +19 -0
  91. package/vendor/node_modules/@legendapp/spark-cli/dist/expo-dev-extension.cjs +51 -0
  92. package/vendor/node_modules/@legendapp/spark-cli/dist/expo-dev-patch.cjs +38 -0
  93. package/vendor/node_modules/@legendapp/spark-cli/dist/expo-dev-preload.cjs +19 -0
  94. package/vendor/node_modules/@legendapp/spark-cli/dist/expo-metro.cjs +41 -0
  95. package/vendor/node_modules/@legendapp/spark-cli/dist/expo-native.cjs +10 -0
  96. package/vendor/node_modules/@legendapp/spark-cli/dist/expo-node.js +21 -0
  97. package/vendor/node_modules/@legendapp/spark-cli/dist/go-profile.js +20 -0
  98. package/vendor/node_modules/@legendapp/spark-cli/dist/helpers.js +79 -0
  99. package/vendor/node_modules/@legendapp/spark-cli/dist/index.js +263 -0
  100. package/vendor/node_modules/@legendapp/spark-cli/dist/init-template.cjs +25 -0
  101. package/vendor/node_modules/@legendapp/spark-cli/dist/local.js +124 -0
  102. package/vendor/node_modules/@legendapp/spark-cli/dist/macos-release.js +7 -0
  103. package/vendor/node_modules/@legendapp/spark-cli/dist/metro-gate.cjs +33 -0
  104. package/vendor/node_modules/@legendapp/spark-cli/dist/metro.cjs +63 -0
  105. package/vendor/node_modules/@legendapp/spark-cli/dist/metro.js +25 -0
  106. package/vendor/node_modules/@legendapp/spark-cli/dist/npm-bin/npm +6 -0
  107. package/vendor/node_modules/@legendapp/spark-cli/dist/npm-bin/npm.cmd +1 -0
  108. package/vendor/node_modules/@legendapp/spark-cli/dist/pack-archive.js +23 -0
  109. package/vendor/node_modules/@legendapp/spark-cli/dist/package-manager.js +45 -0
  110. package/vendor/node_modules/@legendapp/spark-cli/dist/package.js +199 -0
  111. package/vendor/node_modules/@legendapp/spark-cli/dist/platform.js +34 -0
  112. package/vendor/node_modules/@legendapp/spark-cli/dist/process.js +57 -0
  113. package/vendor/node_modules/@legendapp/spark-cli/dist/project.js +324 -0
  114. package/vendor/node_modules/@legendapp/spark-cli/dist/release.js +42 -0
  115. package/vendor/node_modules/@legendapp/spark-cli/dist/release.json +37 -0
  116. package/vendor/node_modules/@legendapp/spark-cli/dist/runner-install.js +138 -0
  117. package/vendor/node_modules/@legendapp/spark-cli/dist/runtime-entry.cjs +1 -0
  118. package/vendor/node_modules/@legendapp/spark-cli/dist/sdk-install.js +66 -0
  119. package/vendor/node_modules/@legendapp/spark-cli/dist/sdk-transfer.js +113 -0
  120. package/vendor/node_modules/@legendapp/spark-cli/dist/session-status.js +22 -0
  121. package/vendor/node_modules/@legendapp/spark-cli/dist/signing.js +175 -0
  122. package/vendor/node_modules/@legendapp/spark-cli/dist/universal.cjs +28 -0
  123. package/vendor/node_modules/@legendapp/spark-cli/dist/updates.js +110 -0
  124. package/vendor/node_modules/@legendapp/spark-cli/dist/windows-associations.js +45 -0
  125. package/vendor/node_modules/@legendapp/spark-cli/dist/windows-associations.ps1 +57 -0
  126. package/vendor/node_modules/@legendapp/spark-cli/dist/windows-geometry.js +33 -0
  127. package/vendor/node_modules/@legendapp/spark-cli/dist/windows-metro.js +112 -0
  128. package/vendor/node_modules/@legendapp/spark-cli/dist/windows.js +141 -0
  129. package/vendor/node_modules/@legendapp/spark-cli/package.json +22 -0
  130. package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/App.tsx +29 -0
  131. package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/app.json +11 -0
  132. package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/assets/icon.png +0 -0
  133. package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/desktop.config.json +19 -0
  134. package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/gitignore +8 -0
  135. package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/index.ts +5 -0
  136. package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/metro.config.js +3 -0
  137. package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/package.json +55 -0
  138. package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/tsconfig.json +10 -0
  139. package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/App.tsx +34 -0
  140. package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/Git.macos.tsx +13 -0
  141. package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/Git.tsx +1 -0
  142. package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/compare.ts +12 -0
  143. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/App.tsx +34 -0
  144. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.macos.tsx +57 -0
  145. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.tsx +13 -0
  146. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.web.tsx +14 -0
  147. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.windows.tsx +57 -0
  148. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/document.ts +58 -0
  149. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.desktop.ts +24 -0
  150. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.macos.ts +7 -0
  151. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.ts +31 -0
  152. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.web.ts +21 -0
  153. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.windows.ts +1 -0
  154. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/sessions.ts +8 -0
  155. package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/useDocument.ts +6 -0
  156. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.desktop.tsx +31 -0
  157. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.macos.tsx +1 -0
  158. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.tsx +14 -0
  159. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.web.tsx +20 -0
  160. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.windows.tsx +1 -0
  161. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.desktop.tsx +28 -0
  162. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.macos.tsx +1 -0
  163. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.tsx +2 -0
  164. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.windows.tsx +1 -0
  165. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/document.ts +58 -0
  166. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.desktop.ts +24 -0
  167. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.macos.ts +7 -0
  168. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.ts +31 -0
  169. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.web.ts +21 -0
  170. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.windows.ts +1 -0
  171. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/lifecycle-types.ts +10 -0
  172. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/lifetime.ts +23 -0
  173. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/records.ts +51 -0
  174. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/storage.ts +6 -0
  175. package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/useModel.ts +6 -0
  176. package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.desktop.tsx +4 -0
  177. package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.macos.tsx +1 -0
  178. package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.tsx +1 -0
  179. package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.windows.tsx +1 -0
  180. package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/App.tsx +38 -0
  181. package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.desktop.ts +7 -0
  182. package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.macos.ts +1 -0
  183. package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.ts +18 -0
  184. package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.web.ts +37 -0
  185. package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.windows.ts +1 -0
  186. package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/model.ts +91 -0
  187. package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/store.ts +10 -0
  188. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.desktop.tsx +5 -0
  189. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.macos.tsx +1 -0
  190. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.tsx +1 -0
  191. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.windows.tsx +1 -0
  192. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/App.tsx +92 -0
  193. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.desktop.ts +25 -0
  194. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.macos.ts +1 -0
  195. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.ts +7 -0
  196. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.windows.ts +1 -0
  197. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Theme.tsx +17 -0
  198. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/model.ts +61 -0
  199. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/search.ts +3 -0
  200. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/session.ts +16 -0
  201. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/store.ts +4 -0
  202. package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/window-session.ts +62 -0
  203. package/vendor/node_modules/@legendapp/spark-cli/templates/universal/App.tsx +57 -0
  204. package/vendor/node_modules/@legendapp/spark-cli/templates/universal/app.json +15 -0
  205. package/vendor/node_modules/@legendapp/spark-cli/templates/universal/assets/icon.png +0 -0
  206. package/vendor/node_modules/@legendapp/spark-cli/templates/universal/desktop.config.json +62 -0
  207. package/vendor/node_modules/@legendapp/spark-cli/templates/universal/gitignore +10 -0
  208. package/vendor/node_modules/@legendapp/spark-cli/templates/universal/global.css +31 -0
  209. package/vendor/node_modules/@legendapp/spark-cli/templates/universal/index.ts +4 -0
  210. package/vendor/node_modules/@legendapp/spark-cli/templates/universal/metro.config.js +7 -0
  211. package/vendor/node_modules/@legendapp/spark-cli/templates/universal/package.json +70 -0
  212. package/vendor/node_modules/@legendapp/spark-cli/templates/universal/react-native.config.js +2 -0
  213. package/vendor/node_modules/@legendapp/spark-cli/templates/universal/tsconfig.json +10 -0
  214. package/vendor/node_modules/@legendapp/spark-cli/templates/universal/uniwind-types.d.ts +10 -0
  215. package/vendor/node_modules/@legendapp/spark-cli/templates/windows/App.tsx +16 -0
  216. package/vendor/node_modules/@legendapp/spark-cli/templates/windows/app.json +11 -0
  217. package/vendor/node_modules/@legendapp/spark-cli/templates/windows/assets/icon.png +0 -0
  218. package/vendor/node_modules/@legendapp/spark-cli/templates/windows/desktop.config.json +10 -0
  219. package/vendor/node_modules/@legendapp/spark-cli/templates/windows/gitignore +8 -0
  220. package/vendor/node_modules/@legendapp/spark-cli/templates/windows/index.ts +3 -0
  221. package/vendor/node_modules/@legendapp/spark-cli/templates/windows/metro.config.js +3 -0
  222. package/vendor/node_modules/@legendapp/spark-cli/templates/windows/package.json +56 -0
  223. package/vendor/node_modules/@legendapp/spark-cli/templates/windows/react-native.config.js +2 -0
  224. package/vendor/node_modules/@legendapp/spark-cli/templates/windows/tsconfig.json +10 -0
  225. package/vendor/node_modules/@legendapp/spark-clipboard/RNDesktopClipboard.podspec +16 -0
  226. package/vendor/node_modules/@legendapp/spark-clipboard/macos/RNDesktopClipboard.h +4 -0
  227. package/vendor/node_modules/@legendapp/spark-clipboard/macos/RNDesktopClipboard.mm +87 -0
  228. package/vendor/node_modules/@legendapp/spark-clipboard/package.json +52 -0
  229. package/vendor/node_modules/@legendapp/spark-clipboard/react-native.config.js +6 -0
  230. package/vendor/node_modules/@legendapp/spark-clipboard/src/NativeDesktopClipboard.ts +6 -0
  231. package/vendor/node_modules/@legendapp/spark-clipboard/src/desktop.ts +39 -0
  232. package/vendor/node_modules/@legendapp/spark-clipboard/src/expo.ts +12 -0
  233. package/vendor/node_modules/@legendapp/spark-clipboard/src/formats.ts +1 -0
  234. package/vendor/node_modules/@legendapp/spark-clipboard/src/index.android.ts +1 -0
  235. package/vendor/node_modules/@legendapp/spark-clipboard/src/index.ios.ts +1 -0
  236. package/vendor/node_modules/@legendapp/spark-clipboard/src/index.ts +1 -0
  237. package/vendor/node_modules/@legendapp/spark-clipboard/src/index.web.ts +1 -0
  238. package/vendor/node_modules/@legendapp/spark-clipboard/src/index.windows.ts +1 -0
  239. package/vendor/node_modules/@legendapp/spark-clipboard/windows/ExperimentalFeatures.props +33 -0
  240. package/vendor/node_modules/@legendapp/spark-clipboard/windows/LICENSE +25 -0
  241. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/ReactPackageProvider.cpp +20 -0
  242. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/ReactPackageProvider.h +24 -0
  243. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/ReactPackageProvider.idl +9 -0
  244. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.cpp +2 -0
  245. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.def +3 -0
  246. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.h +119 -0
  247. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.rc +0 -0
  248. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.vcxproj +143 -0
  249. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.vcxproj.filters +44 -0
  250. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/pch.cpp +1 -0
  251. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/pch.h +30 -0
  252. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/resource.h +5 -0
  253. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/targetver.h +8 -0
  254. package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard.sln +43 -0
  255. package/vendor/node_modules/@legendapp/spark-context-menu/RNContextMenu.podspec +16 -0
  256. package/vendor/node_modules/@legendapp/spark-context-menu/macos/RNContextMenu.h +9 -0
  257. package/vendor/node_modules/@legendapp/spark-context-menu/macos/RNContextMenu.mm +160 -0
  258. package/vendor/node_modules/@legendapp/spark-context-menu/package.json +46 -0
  259. package/vendor/node_modules/@legendapp/spark-context-menu/react-native.config.js +6 -0
  260. package/vendor/node_modules/@legendapp/spark-context-menu/src/NativeContextMenu.ts +8 -0
  261. package/vendor/node_modules/@legendapp/spark-context-menu/src/index.ts +29 -0
  262. package/vendor/node_modules/@legendapp/spark-context-menu/windows/ExperimentalFeatures.props +33 -0
  263. package/vendor/node_modules/@legendapp/spark-context-menu/windows/LICENSE +25 -0
  264. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/ReactPackageProvider.cpp +20 -0
  265. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/ReactPackageProvider.h +24 -0
  266. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/ReactPackageProvider.idl +9 -0
  267. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.cpp +2 -0
  268. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.def +3 -0
  269. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.h +112 -0
  270. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.rc +0 -0
  271. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.vcxproj +143 -0
  272. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.vcxproj.filters +44 -0
  273. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/pch.cpp +1 -0
  274. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/pch.h +30 -0
  275. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/resource.h +5 -0
  276. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/targetver.h +8 -0
  277. package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu.sln +43 -0
  278. package/vendor/node_modules/@legendapp/spark-desktop-app/RNDesktopApp.podspec +15 -0
  279. package/vendor/node_modules/@legendapp/spark-desktop-app/macos/RNDesktopApp.h +4 -0
  280. package/vendor/node_modules/@legendapp/spark-desktop-app/macos/RNDesktopApp.mm +34 -0
  281. package/vendor/node_modules/@legendapp/spark-desktop-app/macos/SparkDesktop.h +23 -0
  282. package/vendor/node_modules/@legendapp/spark-desktop-app/macos/SparkDesktop.mm +135 -0
  283. package/vendor/node_modules/@legendapp/spark-desktop-app/macos/SparkWindow.mm +81 -0
  284. package/vendor/node_modules/@legendapp/spark-desktop-app/package.json +39 -0
  285. package/vendor/node_modules/@legendapp/spark-desktop-app/react-native.config.js +6 -0
  286. package/vendor/node_modules/@legendapp/spark-desktop-app/src/NativeDesktopApp.ts +8 -0
  287. package/vendor/node_modules/@legendapp/spark-desktop-app/src/api.ts +42 -0
  288. package/vendor/node_modules/@legendapp/spark-desktop-app/src/index.ts +1 -0
  289. package/vendor/node_modules/@legendapp/spark-desktop-app/src/index.windows.ts +1 -0
  290. package/vendor/node_modules/@legendapp/spark-desktop-config/app.plugin.cjs +75 -0
  291. package/vendor/node_modules/@legendapp/spark-desktop-config/config.cjs +161 -0
  292. package/vendor/node_modules/@legendapp/spark-desktop-config/config.d.cts +13 -0
  293. package/vendor/node_modules/@legendapp/spark-desktop-config/entitlements.cjs +23 -0
  294. package/vendor/node_modules/@legendapp/spark-desktop-config/expo.cjs +26 -0
  295. package/vendor/node_modules/@legendapp/spark-desktop-config/fabric-lifecycle.cjs +125 -0
  296. package/vendor/node_modules/@legendapp/spark-desktop-config/helpers.cjs +20 -0
  297. package/vendor/node_modules/@legendapp/spark-desktop-config/identity.cjs +28 -0
  298. package/vendor/node_modules/@legendapp/spark-desktop-config/keyboard-events.cjs +44 -0
  299. package/vendor/node_modules/@legendapp/spark-desktop-config/package.json +19 -0
  300. package/vendor/node_modules/@legendapp/spark-desktop-config/schema.json +305 -0
  301. package/vendor/node_modules/@legendapp/spark-desktop-config/updates.cjs +24 -0
  302. package/vendor/node_modules/@legendapp/spark-desktop-config/windows.plugin.cjs +72 -0
  303. package/vendor/node_modules/@legendapp/spark-desktop-host/AppDelegate.mm +79 -0
  304. package/vendor/node_modules/@legendapp/spark-desktop-host/package.json +13 -0
  305. package/vendor/node_modules/@legendapp/spark-desktop-host/windows/SparkComponentGeometry.h +9 -0
  306. package/vendor/node_modules/@legendapp/spark-desktop-host/windows/application.inc +647 -0
  307. package/vendor/node_modules/@legendapp/spark-desktop-host/windows/notifications.inc +60 -0
  308. package/vendor/node_modules/@legendapp/spark-desktop-host/windows/runtime.inc +63 -0
  309. package/vendor/node_modules/@legendapp/spark-desktop-host/windows/runtimes.inc +162 -0
  310. package/vendor/node_modules/@legendapp/spark-desktop-links/RNDesktopLinks.podspec +17 -0
  311. package/vendor/node_modules/@legendapp/spark-desktop-links/common/AuthLoopback.h +121 -0
  312. package/vendor/node_modules/@legendapp/spark-desktop-links/macos/RNDesktopLinks.h +4 -0
  313. package/vendor/node_modules/@legendapp/spark-desktop-links/macos/RNDesktopLinks.mm +79 -0
  314. package/vendor/node_modules/@legendapp/spark-desktop-links/package.json +53 -0
  315. package/vendor/node_modules/@legendapp/spark-desktop-links/react-native.config.js +6 -0
  316. package/vendor/node_modules/@legendapp/spark-desktop-links/src/NativeDesktopLinks.ts +6 -0
  317. package/vendor/node_modules/@legendapp/spark-desktop-links/src/api.ts +37 -0
  318. package/vendor/node_modules/@legendapp/spark-desktop-links/src/expo.ts +5 -0
  319. package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.android.ts +1 -0
  320. package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.ios.ts +1 -0
  321. package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.ts +1 -0
  322. package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.web.ts +1 -0
  323. package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.windows.ts +1 -0
  324. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/ExperimentalFeatures.props +33 -0
  325. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/LICENSE +25 -0
  326. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/ReactPackageProvider.cpp +20 -0
  327. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/ReactPackageProvider.h +24 -0
  328. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/ReactPackageProvider.idl +9 -0
  329. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.cpp +2 -0
  330. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.def +3 -0
  331. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.h +128 -0
  332. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.rc +0 -0
  333. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.vcxproj +143 -0
  334. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.vcxproj.filters +44 -0
  335. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/pch.cpp +1 -0
  336. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/pch.h +30 -0
  337. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/resource.h +5 -0
  338. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/targetver.h +8 -0
  339. package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks.sln +43 -0
  340. package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/RNDesktopShortcuts.podspec +16 -0
  341. package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/macos/RNDesktopShortcuts.h +4 -0
  342. package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/macos/RNDesktopShortcuts.mm +56 -0
  343. package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/package.json +43 -0
  344. package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/NativeDesktopShortcuts.ts +8 -0
  345. package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/accelerator.ts +22 -0
  346. package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/api.ts +20 -0
  347. package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/index.ts +1 -0
  348. package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/index.windows.ts +1 -0
  349. package/vendor/node_modules/@legendapp/spark-desktop-windows/RNDesktopWindows.podspec +17 -0
  350. package/vendor/node_modules/@legendapp/spark-desktop-windows/macos/RNDesktopWindows.h +4 -0
  351. package/vendor/node_modules/@legendapp/spark-desktop-windows/macos/RNDesktopWindows.mm +210 -0
  352. package/vendor/node_modules/@legendapp/spark-desktop-windows/package.json +44 -0
  353. package/vendor/node_modules/@legendapp/spark-desktop-windows/src/NativeDesktopWindowManager.ts +6 -0
  354. package/vendor/node_modules/@legendapp/spark-desktop-windows/src/api.ts +79 -0
  355. package/vendor/node_modules/@legendapp/spark-desktop-windows/src/index.ts +1 -0
  356. package/vendor/node_modules/@legendapp/spark-desktop-windows/src/index.windows.ts +1 -0
  357. package/vendor/node_modules/@legendapp/spark-desktop-windows/src/windows-options.ts +11 -0
  358. package/vendor/node_modules/@legendapp/spark-drag-drop/RNDesktopDrag.podspec +20 -0
  359. package/vendor/node_modules/@legendapp/spark-drag-drop/macos/RNDesktopDragView.h +4 -0
  360. package/vendor/node_modules/@legendapp/spark-drag-drop/macos/RNDesktopDragView.mm +94 -0
  361. package/vendor/node_modules/@legendapp/spark-drag-drop/package.json +44 -0
  362. package/vendor/node_modules/@legendapp/spark-drag-drop/react-native.config.js +6 -0
  363. package/vendor/node_modules/@legendapp/spark-drag-drop/src/DesktopDragViewNativeComponent.ts +16 -0
  364. package/vendor/node_modules/@legendapp/spark-drag-drop/src/contracts.ts +28 -0
  365. package/vendor/node_modules/@legendapp/spark-drag-drop/src/index.tsx +17 -0
  366. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/ExperimentalFeatures.props +33 -0
  367. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/LICENSE +25 -0
  368. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/ReactPackageProvider.cpp +21 -0
  369. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/ReactPackageProvider.h +24 -0
  370. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/ReactPackageProvider.idl +9 -0
  371. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.cpp +2 -0
  372. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.def +3 -0
  373. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.h +209 -0
  374. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.rc +0 -0
  375. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.vcxproj +143 -0
  376. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.vcxproj.filters +44 -0
  377. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/pch.cpp +1 -0
  378. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/pch.h +30 -0
  379. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/resource.h +5 -0
  380. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/targetver.h +8 -0
  381. package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop.sln +43 -0
  382. package/vendor/node_modules/@legendapp/spark-file-dialog/RNFileDialog.podspec +17 -0
  383. package/vendor/node_modules/@legendapp/spark-file-dialog/ios/RNFileDialog.h +9 -0
  384. package/vendor/node_modules/@legendapp/spark-file-dialog/ios/RNFileDialog.mm +259 -0
  385. package/vendor/node_modules/@legendapp/spark-file-dialog/package.json +43 -0
  386. package/vendor/node_modules/@legendapp/spark-file-dialog/src/NativeFileDialog.ts +13 -0
  387. package/vendor/node_modules/@legendapp/spark-file-dialog/src/index.ts +89 -0
  388. package/vendor/node_modules/@legendapp/spark-file-dialog/src/index.windows.ts +15 -0
  389. package/vendor/node_modules/@legendapp/spark-file-dialog/src/options.ts +16 -0
  390. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/ExperimentalFeatures.props +33 -0
  391. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/LICENSE +25 -0
  392. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/ReactPackageProvider.cpp +20 -0
  393. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/ReactPackageProvider.h +24 -0
  394. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/ReactPackageProvider.idl +9 -0
  395. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.cpp +2 -0
  396. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.def +3 -0
  397. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.h +128 -0
  398. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.rc +0 -0
  399. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.vcxproj +143 -0
  400. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.vcxproj.filters +44 -0
  401. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/pch.cpp +1 -0
  402. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/pch.h +30 -0
  403. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/resource.h +5 -0
  404. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/targetver.h +8 -0
  405. package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog.sln +43 -0
  406. package/vendor/node_modules/@legendapp/spark-file-system/RNDesktopFileSystem.podspec +17 -0
  407. package/vendor/node_modules/@legendapp/spark-file-system/macos/RNDesktopFileSystem.h +4 -0
  408. package/vendor/node_modules/@legendapp/spark-file-system/macos/RNDesktopFileSystem.mm +211 -0
  409. package/vendor/node_modules/@legendapp/spark-file-system/package.json +47 -0
  410. package/vendor/node_modules/@legendapp/spark-file-system/react-native.config.js +6 -0
  411. package/vendor/node_modules/@legendapp/spark-file-system/src/NativeDesktopFileSystem.ts +8 -0
  412. package/vendor/node_modules/@legendapp/spark-file-system/src/handles.ts +45 -0
  413. package/vendor/node_modules/@legendapp/spark-file-system/src/index.ts +61 -0
  414. package/vendor/node_modules/@legendapp/spark-file-system/src/path.ts +9 -0
  415. package/vendor/node_modules/@legendapp/spark-file-system/windows/ExperimentalFeatures.props +33 -0
  416. package/vendor/node_modules/@legendapp/spark-file-system/windows/LICENSE +25 -0
  417. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/ReactPackageProvider.cpp +20 -0
  418. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/ReactPackageProvider.h +24 -0
  419. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/ReactPackageProvider.idl +9 -0
  420. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.cpp +2 -0
  421. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.def +3 -0
  422. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.h +295 -0
  423. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.rc +0 -0
  424. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.vcxproj +144 -0
  425. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.vcxproj.filters +45 -0
  426. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/Trash.h +52 -0
  427. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/pch.cpp +1 -0
  428. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/pch.h +30 -0
  429. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/resource.h +5 -0
  430. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/targetver.h +8 -0
  431. package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem.sln +43 -0
  432. package/vendor/node_modules/@legendapp/spark-global-shortcuts/RNDesktopGlobalShortcuts.podspec +17 -0
  433. package/vendor/node_modules/@legendapp/spark-global-shortcuts/macos/RNDesktopGlobalShortcuts.h +3 -0
  434. package/vendor/node_modules/@legendapp/spark-global-shortcuts/macos/RNDesktopGlobalShortcuts.mm +65 -0
  435. package/vendor/node_modules/@legendapp/spark-global-shortcuts/package.json +46 -0
  436. package/vendor/node_modules/@legendapp/spark-global-shortcuts/react-native.config.js +6 -0
  437. package/vendor/node_modules/@legendapp/spark-global-shortcuts/src/NativeDesktopGlobalShortcuts.ts +3 -0
  438. package/vendor/node_modules/@legendapp/spark-global-shortcuts/src/accelerator.ts +22 -0
  439. package/vendor/node_modules/@legendapp/spark-global-shortcuts/src/index.ts +16 -0
  440. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/ExperimentalFeatures.props +33 -0
  441. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/LICENSE +25 -0
  442. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/ReactPackageProvider.cpp +20 -0
  443. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/ReactPackageProvider.h +24 -0
  444. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/ReactPackageProvider.idl +9 -0
  445. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.cpp +2 -0
  446. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.def +3 -0
  447. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.h +80 -0
  448. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.rc +0 -0
  449. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.vcxproj +143 -0
  450. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.vcxproj.filters +44 -0
  451. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/pch.cpp +1 -0
  452. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/pch.h +30 -0
  453. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/resource.h +5 -0
  454. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/targetver.h +8 -0
  455. package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts.sln +43 -0
  456. package/vendor/node_modules/@legendapp/spark-message-dialog/RNDesktopMessageDialog.podspec +17 -0
  457. package/vendor/node_modules/@legendapp/spark-message-dialog/macos/RNDesktopMessageDialog.h +3 -0
  458. package/vendor/node_modules/@legendapp/spark-message-dialog/macos/RNDesktopMessageDialog.mm +36 -0
  459. package/vendor/node_modules/@legendapp/spark-message-dialog/package.json +46 -0
  460. package/vendor/node_modules/@legendapp/spark-message-dialog/react-native.config.js +6 -0
  461. package/vendor/node_modules/@legendapp/spark-message-dialog/src/NativeDesktopMessageDialog.ts +3 -0
  462. package/vendor/node_modules/@legendapp/spark-message-dialog/src/index.ts +13 -0
  463. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/ExperimentalFeatures.props +33 -0
  464. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/LICENSE +25 -0
  465. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/ReactPackageProvider.cpp +20 -0
  466. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/ReactPackageProvider.h +24 -0
  467. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/ReactPackageProvider.idl +9 -0
  468. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.cpp +2 -0
  469. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.def +3 -0
  470. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.h +145 -0
  471. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.rc +0 -0
  472. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.vcxproj +143 -0
  473. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.vcxproj.filters +44 -0
  474. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/pch.cpp +1 -0
  475. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/pch.h +30 -0
  476. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/resource.h +5 -0
  477. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/targetver.h +8 -0
  478. package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog.sln +43 -0
  479. package/vendor/node_modules/@legendapp/spark-native-menu/RNNativeMenu.podspec +17 -0
  480. package/vendor/node_modules/@legendapp/spark-native-menu/ios/RNNativeMenu.h +10 -0
  481. package/vendor/node_modules/@legendapp/spark-native-menu/ios/RNNativeMenu.mm +632 -0
  482. package/vendor/node_modules/@legendapp/spark-native-menu/package.json +41 -0
  483. package/vendor/node_modules/@legendapp/spark-native-menu/src/NativeMenu.ts +13 -0
  484. package/vendor/node_modules/@legendapp/spark-native-menu/src/api.ts +128 -0
  485. package/vendor/node_modules/@legendapp/spark-native-menu/src/index.ts +1 -0
  486. package/vendor/node_modules/@legendapp/spark-native-menu/src/index.windows.ts +1 -0
  487. package/vendor/node_modules/@legendapp/spark-native-menu/src/windows-menus.ts +43 -0
  488. package/vendor/node_modules/@legendapp/spark-notifications/RNDesktopNotifications.podspec +17 -0
  489. package/vendor/node_modules/@legendapp/spark-notifications/macos/RNDesktopNotifications.h +4 -0
  490. package/vendor/node_modules/@legendapp/spark-notifications/macos/RNDesktopNotifications.mm +111 -0
  491. package/vendor/node_modules/@legendapp/spark-notifications/package.json +46 -0
  492. package/vendor/node_modules/@legendapp/spark-notifications/react-native.config.js +6 -0
  493. package/vendor/node_modules/@legendapp/spark-notifications/src/NativeDesktopNotifications.ts +4 -0
  494. package/vendor/node_modules/@legendapp/spark-notifications/src/index.ts +53 -0
  495. package/vendor/node_modules/@legendapp/spark-notifications/windows/ExperimentalFeatures.props +33 -0
  496. package/vendor/node_modules/@legendapp/spark-notifications/windows/LICENSE +25 -0
  497. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/ReactPackageProvider.cpp +20 -0
  498. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/ReactPackageProvider.h +24 -0
  499. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/ReactPackageProvider.idl +9 -0
  500. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.cpp +2 -0
  501. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.def +3 -0
  502. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.h +132 -0
  503. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.rc +0 -0
  504. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.vcxproj +143 -0
  505. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.vcxproj.filters +44 -0
  506. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/pch.cpp +1 -0
  507. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/pch.h +30 -0
  508. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/resource.h +5 -0
  509. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/targetver.h +8 -0
  510. package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications.sln +43 -0
  511. package/vendor/node_modules/@legendapp/spark-processes/RNDesktopProcesses.podspec +17 -0
  512. package/vendor/node_modules/@legendapp/spark-processes/macos/RNDesktopProcesses.h +3 -0
  513. package/vendor/node_modules/@legendapp/spark-processes/macos/RNDesktopProcesses.mm +153 -0
  514. package/vendor/node_modules/@legendapp/spark-processes/package.json +46 -0
  515. package/vendor/node_modules/@legendapp/spark-processes/react-native.config.js +6 -0
  516. package/vendor/node_modules/@legendapp/spark-processes/src/NativeDesktopProcesses.ts +3 -0
  517. package/vendor/node_modules/@legendapp/spark-processes/src/index.ts +39 -0
  518. package/vendor/node_modules/@legendapp/spark-processes/windows/ExperimentalFeatures.props +33 -0
  519. package/vendor/node_modules/@legendapp/spark-processes/windows/LICENSE +25 -0
  520. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/ReactPackageProvider.cpp +20 -0
  521. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/ReactPackageProvider.h +24 -0
  522. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/ReactPackageProvider.idl +9 -0
  523. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.cpp +2 -0
  524. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.def +3 -0
  525. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.h +171 -0
  526. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.rc +0 -0
  527. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.vcxproj +143 -0
  528. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.vcxproj.filters +44 -0
  529. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/pch.cpp +1 -0
  530. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/pch.h +30 -0
  531. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/resource.h +5 -0
  532. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/targetver.h +8 -0
  533. package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses.sln +43 -0
  534. package/vendor/node_modules/@legendapp/spark-secure-storage/RNDesktopSecureStorage.podspec +17 -0
  535. package/vendor/node_modules/@legendapp/spark-secure-storage/macos/RNDesktopSecureStorage.h +4 -0
  536. package/vendor/node_modules/@legendapp/spark-secure-storage/macos/RNDesktopSecureStorage.mm +53 -0
  537. package/vendor/node_modules/@legendapp/spark-secure-storage/package.json +52 -0
  538. package/vendor/node_modules/@legendapp/spark-secure-storage/react-native.config.js +6 -0
  539. package/vendor/node_modules/@legendapp/spark-secure-storage/src/NativeDesktopSecureStorage.ts +6 -0
  540. package/vendor/node_modules/@legendapp/spark-secure-storage/src/desktop.ts +24 -0
  541. package/vendor/node_modules/@legendapp/spark-secure-storage/src/expo.ts +14 -0
  542. package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.android.ts +1 -0
  543. package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.ios.ts +1 -0
  544. package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.ts +1 -0
  545. package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.web.ts +1 -0
  546. package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.windows.ts +2 -0
  547. package/vendor/node_modules/@legendapp/spark-secure-storage/src/options.ts +6 -0
  548. package/vendor/node_modules/@legendapp/spark-secure-storage/src/unavailable.ts +5 -0
  549. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/ExperimentalFeatures.props +33 -0
  550. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/LICENSE +25 -0
  551. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/ReactPackageProvider.cpp +20 -0
  552. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/ReactPackageProvider.h +24 -0
  553. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/ReactPackageProvider.idl +9 -0
  554. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.cpp +2 -0
  555. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.def +3 -0
  556. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.h +48 -0
  557. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.rc +0 -0
  558. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.vcxproj +143 -0
  559. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.vcxproj.filters +44 -0
  560. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/pch.cpp +1 -0
  561. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/pch.h +30 -0
  562. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/resource.h +5 -0
  563. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/targetver.h +8 -0
  564. package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage.sln +43 -0
  565. package/vendor/node_modules/@legendapp/spark-settings/package.json +13 -0
  566. package/vendor/node_modules/@legendapp/spark-settings/src/filename.ts +1 -0
  567. package/vendor/node_modules/@legendapp/spark-settings/src/filename.windows.ts +9 -0
  568. package/vendor/node_modules/@legendapp/spark-settings/src/index.ts +19 -0
  569. package/vendor/node_modules/@legendapp/spark-settings/src/store.ts +37 -0
  570. package/vendor/node_modules/@legendapp/spark-sqlite/package.json +16 -0
  571. package/vendor/node_modules/@legendapp/spark-sqlite/src/index.ts +7 -0
  572. package/vendor/node_modules/@legendapp/spark-system/RNDesktopSystem.podspec +17 -0
  573. package/vendor/node_modules/@legendapp/spark-system/macos/RNDesktopSystem.h +3 -0
  574. package/vendor/node_modules/@legendapp/spark-system/macos/RNDesktopSystem.mm +108 -0
  575. package/vendor/node_modules/@legendapp/spark-system/package.json +46 -0
  576. package/vendor/node_modules/@legendapp/spark-system/react-native.config.js +6 -0
  577. package/vendor/node_modules/@legendapp/spark-system/src/NativeDesktopSystem.ts +3 -0
  578. package/vendor/node_modules/@legendapp/spark-system/src/index.ts +35 -0
  579. package/vendor/node_modules/@legendapp/spark-system/windows/ExperimentalFeatures.props +33 -0
  580. package/vendor/node_modules/@legendapp/spark-system/windows/LICENSE +25 -0
  581. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/ReactPackageProvider.cpp +20 -0
  582. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/ReactPackageProvider.h +24 -0
  583. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/ReactPackageProvider.idl +9 -0
  584. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.cpp +2 -0
  585. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.def +3 -0
  586. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.h +154 -0
  587. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.rc +0 -0
  588. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.vcxproj +143 -0
  589. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.vcxproj.filters +44 -0
  590. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/pch.cpp +1 -0
  591. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/pch.h +30 -0
  592. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/resource.h +5 -0
  593. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/targetver.h +8 -0
  594. package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem.sln +43 -0
  595. package/vendor/node_modules/@legendapp/spark-tray/RNDesktopTray.podspec +17 -0
  596. package/vendor/node_modules/@legendapp/spark-tray/macos/RNDesktopTray.h +4 -0
  597. package/vendor/node_modules/@legendapp/spark-tray/macos/RNDesktopTray.mm +63 -0
  598. package/vendor/node_modules/@legendapp/spark-tray/package.json +46 -0
  599. package/vendor/node_modules/@legendapp/spark-tray/react-native.config.js +6 -0
  600. package/vendor/node_modules/@legendapp/spark-tray/src/NativeDesktopTray.ts +4 -0
  601. package/vendor/node_modules/@legendapp/spark-tray/src/index.ts +46 -0
  602. package/vendor/node_modules/@legendapp/spark-tray/windows/ExperimentalFeatures.props +33 -0
  603. package/vendor/node_modules/@legendapp/spark-tray/windows/LICENSE +25 -0
  604. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/ReactPackageProvider.cpp +20 -0
  605. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/ReactPackageProvider.h +24 -0
  606. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/ReactPackageProvider.idl +9 -0
  607. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.cpp +2 -0
  608. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.def +3 -0
  609. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.h +133 -0
  610. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.rc +0 -0
  611. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.vcxproj +143 -0
  612. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.vcxproj.filters +44 -0
  613. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/pch.cpp +1 -0
  614. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/pch.h +30 -0
  615. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/resource.h +5 -0
  616. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/targetver.h +8 -0
  617. package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray.sln +43 -0
  618. package/vendor/node_modules/@legendapp/spark-ui/RNSparkUI.podspec +17 -0
  619. package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkButton.h +4 -0
  620. package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkButton.mm +51 -0
  621. package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkSelect.h +4 -0
  622. package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkSelect.mm +53 -0
  623. package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkTextInput.h +4 -0
  624. package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkTextInput.mm +45 -0
  625. package/vendor/node_modules/@legendapp/spark-ui/package.json +61 -0
  626. package/vendor/node_modules/@legendapp/spark-ui/react-native.config.js +5 -0
  627. package/vendor/node_modules/@legendapp/spark-ui/src/SparkButtonNativeComponent.ts +12 -0
  628. package/vendor/node_modules/@legendapp/spark-ui/src/SparkSelectNativeComponent.ts +10 -0
  629. package/vendor/node_modules/@legendapp/spark-ui/src/SparkTextInputNativeComponent.ts +9 -0
  630. package/vendor/node_modules/@legendapp/spark-ui/src/index.android.tsx +25 -0
  631. package/vendor/node_modules/@legendapp/spark-ui/src/index.ios.tsx +30 -0
  632. package/vendor/node_modules/@legendapp/spark-ui/src/index.tsx +27 -0
  633. package/vendor/node_modules/@legendapp/spark-ui/src/index.web.tsx +23 -0
  634. package/vendor/node_modules/@legendapp/spark-ui/src/index.windows.tsx +42 -0
  635. package/vendor/node_modules/@legendapp/spark-ui/src/select.ts +7 -0
  636. package/vendor/node_modules/@legendapp/spark-ui/src/types.ts +28 -0
  637. package/vendor/node_modules/@legendapp/spark-ui/uniwind.ts +8 -0
  638. package/vendor/node_modules/@legendapp/spark-ui/uniwind.web.ts +17 -0
  639. package/vendor/node_modules/@legendapp/spark-ui/windows/ExperimentalFeatures.props +33 -0
  640. package/vendor/node_modules/@legendapp/spark-ui/windows/LICENSE +25 -0
  641. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/ReactPackageProvider.cpp +21 -0
  642. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/ReactPackageProvider.h +24 -0
  643. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/ReactPackageProvider.idl +9 -0
  644. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkAppearance.h +61 -0
  645. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.cpp +2 -0
  646. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.def +3 -0
  647. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.h +181 -0
  648. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.rc +0 -0
  649. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.vcxproj +144 -0
  650. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.vcxproj.filters +44 -0
  651. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/pch.cpp +1 -0
  652. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/pch.h +30 -0
  653. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/resource.h +5 -0
  654. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/targetver.h +8 -0
  655. package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI.sln +43 -0
  656. package/vendor/node_modules/@legendapp/spark-updates/RNDesktopUpdates.podspec +18 -0
  657. package/vendor/node_modules/@legendapp/spark-updates/Sparkle.podspec.json +39 -0
  658. package/vendor/node_modules/@legendapp/spark-updates/macos/RNDesktopUpdates.h +4 -0
  659. package/vendor/node_modules/@legendapp/spark-updates/macos/RNDesktopUpdates.mm +72 -0
  660. package/vendor/node_modules/@legendapp/spark-updates/package.json +44 -0
  661. package/vendor/node_modules/@legendapp/spark-updates/src/NativeDesktopUpdates.ts +4 -0
  662. package/vendor/node_modules/@legendapp/spark-updates/src/index.ts +23 -0
  663. package/vendor/node_modules/@legendapp/spark-webview/package.json +15 -0
  664. package/vendor/node_modules/@legendapp/spark-webview/src/index.ts +2 -0
  665. package/vendor/node_modules/@legendapp/spark-window-options/index.cjs +25 -0
  666. package/vendor/node_modules/@legendapp/spark-window-options/index.d.ts +12 -0
  667. package/vendor/node_modules/@legendapp/spark-window-options/package.json +12 -0
  668. package/webview.ts +1 -0
  669. package/windows.ts +1 -0
@@ -0,0 +1,44 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <ItemGroup>
4
+ <Filter Include="Source Files">
5
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
6
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
7
+ </Filter>
8
+ <Filter Include="Header Files">
9
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
10
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
11
+ </Filter>
12
+ <Filter Include="Resource Files">
13
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
14
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
15
+ </Filter>
16
+ </ItemGroup>
17
+ <ItemGroup>
18
+ <ClInclude Include="targetver.h">
19
+ <Filter>Header Files</Filter>
20
+ </ClInclude>
21
+ <ClInclude Include="resource.h">
22
+ <Filter>Header Files</Filter>
23
+ </ClInclude>
24
+ <ClInclude Include="SparkContextMenu.h">
25
+ <Filter>Header Files</Filter>
26
+ </ClInclude>
27
+ <ClInclude Include="pch.h">
28
+ <Filter>Header Files</Filter>
29
+ </ClInclude>
30
+ </ItemGroup>
31
+ <ItemGroup>
32
+ <ClCompile Include="SparkContextMenu.cpp">
33
+ <Filter>Source Files</Filter>
34
+ </ClCompile>
35
+ <ClCompile Include="pch.cpp">
36
+ <Filter>Source Files</Filter>
37
+ </ClCompile>
38
+ </ItemGroup>
39
+ <ItemGroup>
40
+ <ResourceCompile Include="SparkContextMenu.rc">
41
+ <Filter>Resource Files</Filter>
42
+ </ResourceCompile>
43
+ </ItemGroup>
44
+ </Project>
@@ -0,0 +1,30 @@
1
+ // pch.h : include file for standard system include files,
2
+ // or project specific include files that are used frequently, but
3
+ // are changed infrequently
4
+ //
5
+
6
+ #pragma once
7
+
8
+ #include "targetver.h"
9
+
10
+ #define NOMINMAX 1
11
+ #define WIN32_LEAN_AND_MEAN 1
12
+ #define WINRT_LEAN_AND_MEAN 1
13
+
14
+ // Windows Header Files
15
+ #include <windows.h>
16
+ #undef GetCurrentTime
17
+ #include <unknwn.h>
18
+
19
+ // WinRT Header Files
20
+ #include <winrt/base.h>
21
+ #include <CppWinRTIncludes.h>
22
+ #include <winrt/Microsoft.ReactNative.h>
23
+
24
+ // C RunTime Header Files
25
+ #include <malloc.h>
26
+ #include <memory.h>
27
+ #include <stdlib.h>
28
+ #include <tchar.h>
29
+
30
+ // Reference additional headers your project requires here
@@ -0,0 +1,5 @@
1
+ //
2
+ // Microsoft Visual C++ generated include file.
3
+ // Used by SparkContextMenu.rc
4
+
5
+ #pragma once
@@ -0,0 +1,8 @@
1
+ #pragma once
2
+
3
+ // Including SDKDDKVer.h defines the highest available Windows platform.
4
+
5
+ // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
6
+ // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
7
+
8
+ #include <SDKDDKVer.h>
@@ -0,0 +1,43 @@
1
+
2
+ Microsoft Visual Studio Solution File, Format Version 12.00
3
+ # Visual Studio Version 17
4
+ VisualStudioVersion = 17.3.32929.385
5
+ MinimumVisualStudioVersion = 10.0.40219.1
6
+ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SparkContextMenu", "SparkContextMenu\SparkContextMenu.vcxproj", "{9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}"
7
+ EndProject
8
+ Global
9
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
10
+ Debug|x64 = Debug|x64
11
+ Debug|x86 = Debug|x86
12
+ Debug|ARM64 = Debug|ARM64
13
+ Release|x64 = Release|x64
14
+ Release|x86 = Release|x86
15
+ Release|ARM64 = Release|ARM64
16
+ EndGlobalSection
17
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
18
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Debug|x64.ActiveCfg = Debug|x64
19
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Debug|x64.Build.0 = Debug|x64
20
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Debug|x64.Deploy.0 = Debug|x64
21
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Debug|x86.ActiveCfg = Debug|Win32
22
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Debug|x86.Build.0 = Debug|Win32
23
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Debug|x86.Deploy.0 = Debug|Win32
24
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Debug|ARM64.ActiveCfg = Debug|ARM64
25
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Debug|ARM64.Build.0 = Debug|ARM64
26
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Debug|ARM64.Deploy.0 = Debug|ARM64
27
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Release|x64.ActiveCfg = Release|x64
28
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Release|x64.Build.0 = Release|x64
29
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Release|x64.Deploy.0 = Release|x64
30
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Release|x86.ActiveCfg = Release|Win32
31
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Release|x86.Build.0 = Release|Win32
32
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Release|x86.Deploy.0 = Release|Win32
33
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Release|ARM64.ActiveCfg = Release|ARM64
34
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Release|ARM64.Build.0 = Release|ARM64
35
+ {9C2F5D53-F74C-47EE-9FA3-B9103CC871B5}.Release|ARM64.Deploy.0 = Release|ARM64
36
+ EndGlobalSection
37
+ GlobalSection(SolutionProperties) = preSolution
38
+ HideSolutionNode = FALSE
39
+ EndGlobalSection
40
+ GlobalSection(ExtensibilityGlobals) = postSolution
41
+ SolutionGuid = {F89EC25A-0D76-4635-A46F-E7034B64EB1E}
42
+ EndGlobalSection
43
+ EndGlobal
@@ -0,0 +1,15 @@
1
+ require "json"
2
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
3
+ Pod::Spec.new do |s|
4
+ s.name = "RNDesktopApp"
5
+ s.version = package["version"]
6
+ s.summary = "Desktop desktop-app"
7
+ s.license = { :type => "MIT" }
8
+ s.author = "Legend"
9
+ s.homepage = "https://legendapp.com"
10
+ s.source = { :path => "." }
11
+ s.platforms = { :osx => "14.0" }
12
+ s.source_files = "macos/**/*.{h,m,mm}"
13
+ s.dependency "React-Core"
14
+ s.dependency "ReactCodegen"
15
+ end
@@ -0,0 +1,4 @@
1
+ #import <RNDesktopAppSpec/RNDesktopAppSpec.h>
2
+ #import <React/RCTEventEmitter.h>
3
+ @interface RNDesktopApp : RCTEventEmitter <NativeDesktopAppSpec>
4
+ @end
@@ -0,0 +1,34 @@
1
+ #import "RNDesktopApp.h"
2
+ #import "SparkDesktop.h"
3
+ extern void SparkSetQuitGuard(BOOL value);
4
+ extern void SparkReplyQuit(BOOL allow, NSUInteger generation);
5
+ @implementation RNDesktopApp
6
+ RCT_EXPORT_MODULE(NativeDesktopApp)
7
+ + (BOOL)requiresMainQueueSetup { return YES; }
8
+ - (dispatch_queue_t)methodQueue { return dispatch_get_main_queue(); }
9
+ - (NSArray<NSString *> *)supportedEvents { return @[@"desktop"]; }
10
+ - (void)startObserving { [NSNotificationCenter.defaultCenter addObserver:self selector:@selector(event:) name:SparkDesktopEvent object:nil]; }
11
+ - (void)stopObserving { [NSNotificationCenter.defaultCenter removeObserver:self]; }
12
+ - (void)event:(NSNotification *)note { [self sendEventWithName:@"desktop" body:note.userInfo]; }
13
+ - (void)invalidate { [self stopObserving]; dispatch_async(dispatch_get_main_queue(), ^{ SparkSetQuitGuard(NO); }); [super invalidate]; }
14
+ - (void)call:(NSString *)method args:(NSString *)json resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
15
+ dispatch_async(dispatch_get_main_queue(), ^{
16
+ NSDictionary *args = SparkArgs(json);
17
+ if ([method isEqual:@"context"]) resolve(SparkJSON(SparkContext()));
18
+ else if ([method isEqual:@"initialURL"]) resolve(SparkJSON(SparkInitialURL()));
19
+ else if ([method isEqual:@"pendingURLs"]) resolve(SparkJSON(SparkPendingURLs()));
20
+ else if ([method isEqual:@"quit"]) { resolve(@"null");
21
+ // AppKit can enter a modal run loop while awaiting the JS decision. Do
22
+ // not hold the main GCD queue that must deliver that decision.
23
+ [NSRunLoop.mainRunLoop performBlock:^{ [NSApp terminate:nil]; }]; }
24
+ else if ([method isEqual:@"quitGuard"]) { SparkSetQuitGuard([args[@"enabled"] boolValue]); resolve(@"null"); }
25
+ else if ([method isEqual:@"replyQuit"]) { SparkReplyQuit([args[@"allow"] boolValue], [args[@"requestId"] unsignedIntegerValue]); resolve(@"null"); }
26
+ else if ([method isEqual:@"hide"]) { [NSApp hide:nil]; resolve(@"null"); }
27
+ else if ([method isEqual:@"activate"]) { [NSApp activateIgnoringOtherApps:YES]; resolve(@"null"); }
28
+ else SparkInvalid(reject, @"Unknown app operation");
29
+ });
30
+ }
31
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params {
32
+ return std::make_shared<facebook::react::NativeDesktopAppSpecJSI>(params);
33
+ }
34
+ @end
@@ -0,0 +1,23 @@
1
+ #import <AppKit/AppKit.h>
2
+ #import <React/RCTBridgeModule.h>
3
+
4
+ FOUNDATION_EXPORT NSString * const SparkDesktopEvent;
5
+ FOUNDATION_EXPORT BOOL SparkAcquireInstance(void);
6
+ FOUNDATION_EXPORT NSDictionary *SparkContext(void);
7
+ FOUNDATION_EXPORT NSDictionary *SparkInitialProps(NSString *windowID, NSDictionary *props);
8
+ FOUNDATION_EXPORT NSString *SparkNamespace(void);
9
+ FOUNDATION_EXPORT void SparkEmit(NSDictionary *event);
10
+ FOUNDATION_EXPORT void SparkOpenURLs(NSArray<NSURL *> *urls);
11
+ FOUNDATION_EXPORT NSArray *SparkPendingURLs(void);
12
+ FOUNDATION_EXPORT NSString *SparkInitialURL(void);
13
+ FOUNDATION_EXPORT void SparkMarkLaunchComplete(void);
14
+ FOUNDATION_EXPORT NSApplicationTerminateReply SparkShouldQuit(void);
15
+ FOUNDATION_EXPORT NSString *SparkJSON(id value);
16
+ FOUNDATION_EXPORT NSDictionary *SparkArgs(NSString *json);
17
+ FOUNDATION_EXPORT void SparkReject(RCTPromiseRejectBlock reject, NSError *error);
18
+ FOUNDATION_EXPORT void SparkInvalid(RCTPromiseRejectBlock reject, NSString *message);
19
+ FOUNDATION_EXPORT NSDictionary *SparkWindowConfiguration(void);
20
+ FOUNDATION_EXPORT void SparkApplyWindowOptions(NSWindow *window, NSDictionary *options);
21
+ FOUNDATION_EXPORT NSView *SparkWindowContent(NSView *root);
22
+ FOUNDATION_EXPORT void SparkRestoreWindow(NSWindow *window, NSString *key, NSDictionary *options);
23
+ FOUNDATION_EXPORT NSMenu *SparkDockMenu;
@@ -0,0 +1,135 @@
1
+ #import "SparkDesktop.h"
2
+ #import <CommonCrypto/CommonDigest.h>
3
+ #import <sys/file.h>
4
+ #import <fcntl.h>
5
+ #import <unistd.h>
6
+ NSString * const SparkDesktopEvent = @"SparkDesktopEvent";
7
+ static BOOL quitGuard = NO;
8
+ static BOOL quitting = NO;
9
+ static NSUInteger quitGeneration = 0;
10
+ static NSMutableArray *pendingURLs;
11
+ static NSString *initialURL;
12
+ static BOOL launchComplete = NO;
13
+
14
+ NSString *SparkJSON(id value) {
15
+ NSData *data = [NSJSONSerialization dataWithJSONObject:value ?: NSNull.null options:NSJSONWritingFragmentsAllowed error:nil];
16
+ return data ? [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] : @"null";
17
+ }
18
+ NSDictionary *SparkArgs(NSString *json) {
19
+ id value = [NSJSONSerialization JSONObjectWithData:[json dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];
20
+ return [value isKindOfClass:NSDictionary.class] ? value : @{};
21
+ }
22
+ void SparkInvalid(RCTPromiseRejectBlock reject, NSString *message) { reject(@"E_INVALID_ARGUMENT", message, nil); }
23
+ void SparkReject(RCTPromiseRejectBlock reject, NSError *error) {
24
+ NSString *code = @"E_IO";
25
+ if ([error.domain isEqualToString:NSCocoaErrorDomain]) {
26
+ if (error.code == NSFileReadNoSuchFileError || error.code == NSFileNoSuchFileError) code = @"E_NOT_FOUND";
27
+ if (error.code == NSFileReadNoPermissionError || error.code == NSFileWriteNoPermissionError) code = @"E_PERMISSION";
28
+ if (error.code == NSFileWriteFileExistsError) code = @"E_EXISTS";
29
+ }
30
+ reject(code, error.localizedDescription ?: @"Native operation failed", error);
31
+ }
32
+ NSDictionary *SparkContext(void) {
33
+ static NSDictionary *context;
34
+ static dispatch_once_t once;
35
+ dispatch_once(&once, ^{
36
+ NSBundle *bundle = NSBundle.mainBundle;
37
+ NSString *runtimePath = [bundle pathForResource:@"spark-runtime" ofType:@"json"];
38
+ NSData *data = runtimePath ? [NSData dataWithContentsOfFile:runtimePath] : nil;
39
+ NSDictionary *runtime = data ? [NSJSONSerialization JSONObjectWithData:data options:0 error:nil] : @{};
40
+ NSString *project = [bundle objectForInfoDictionaryKey:@"SparkProjectIdentifier"] ?: bundle.bundleIdentifier;
41
+ NSString *version = [bundle objectForInfoDictionaryKey:@"CFBundleShortVersionString"] ?: @"0.0.0";
42
+ NSString *name = [bundle objectForInfoDictionaryKey:@"CFBundleDisplayName"] ?: [bundle objectForInfoDictionaryKey:@"CFBundleName"];
43
+ #if DEBUG
44
+ // Only the reusable Go host takes identity from its launching CLI.
45
+ if ([runtime[@"mode"] isEqual:@"go"]) {
46
+ project = NSProcessInfo.processInfo.environment[@"SPARK_PROJECT_ID"] ?: project;
47
+ version = NSProcessInfo.processInfo.environment[@"SPARK_PROJECT_VERSION"] ?: version;
48
+ name = NSProcessInfo.processInfo.environment[@"SPARK_PROJECT_NAME"] ?: name;
49
+ }
50
+ #endif
51
+ context = @{ @"projectId": project ?: @"desktop.app", @"name": name ?: @"Desktop App",
52
+ @"version": version,
53
+ @"runtime": runtime ?: @{}, @"launchArguments": NSProcessInfo.processInfo.arguments };
54
+ });
55
+ return context;
56
+ }
57
+ NSString *SparkNamespace(void) {
58
+ NSString *project = SparkContext()[@"projectId"];
59
+ NSData *data = [project dataUsingEncoding:NSUTF8StringEncoding];
60
+ unsigned char hash[CC_SHA256_DIGEST_LENGTH];
61
+ CC_SHA256(data.bytes, (CC_LONG)data.length, hash);
62
+ NSMutableString *result = [NSMutableString stringWithString:@"spark.desktop."];
63
+ for (int i = 0; i < CC_SHA256_DIGEST_LENGTH; i++) [result appendFormat:@"%02x", hash[i]];
64
+ return result;
65
+ }
66
+ NSDictionary *SparkInitialProps(NSString *windowID, NSDictionary *props) {
67
+ NSMutableDictionary *result = [SparkContext() mutableCopy];
68
+ result[@"windowId"] = windowID;
69
+ result[@"windowProps"] = props ?: @{};
70
+ return result;
71
+ }
72
+ void SparkEmit(NSDictionary *event) {
73
+ NSCAssert(NSThread.isMainThread, @"Desktop events are main-thread confined");
74
+ [NSNotificationCenter.defaultCenter postNotificationName:SparkDesktopEvent object:nil userInfo:event];
75
+ }
76
+ void SparkMarkLaunchComplete(void) { launchComplete = YES; }
77
+ NSString *SparkInitialURL(void) { return initialURL; }
78
+ void SparkOpenURLs(NSArray<NSURL *> *urls) {
79
+ if (!pendingURLs) pendingURLs = [NSMutableArray new];
80
+ for (NSURL *url in urls) {
81
+ if (!launchComplete && !url.isFileURL && !initialURL) initialURL = url.absoluteString;
82
+ NSDictionary *event = @{ @"type": url.isFileURL ? @"openFile" : @"openURL", @"url": url.absoluteString,
83
+ @"id": NSUUID.UUID.UUIDString, @"initial": @(!launchComplete) };
84
+ [pendingURLs addObject:event];
85
+ if (pendingURLs.count > 100) [pendingURLs removeObjectAtIndex:0];
86
+ SparkEmit(event);
87
+ }
88
+ }
89
+ NSArray *SparkPendingURLs(void) { return [pendingURLs copy] ?: @[]; }
90
+ void SparkSetQuitGuard(BOOL value) {
91
+ if (value != quitGuard) {
92
+ if (value) [NSProcessInfo.processInfo disableSuddenTermination];
93
+ else [NSProcessInfo.processInfo enableSuddenTermination];
94
+ }
95
+ quitGuard = value;
96
+ if (!value && quitting) { quitting = NO; [NSApp replyToApplicationShouldTerminate:NO]; }
97
+ }
98
+ void SparkReplyQuit(BOOL allow, NSUInteger generation) {
99
+ if (!quitting || generation != quitGeneration) return;
100
+ quitting = NO;
101
+ [NSApp replyToApplicationShouldTerminate:allow];
102
+ }
103
+ NSApplicationTerminateReply SparkShouldQuit(void) {
104
+ if (!quitGuard) return NSTerminateNow;
105
+ if (quitting) return NSTerminateLater;
106
+ quitting = YES;
107
+ NSUInteger generation = ++quitGeneration;
108
+ // Emit after returning Later so synchronous JS replies cannot race AppKit.
109
+ dispatch_async(dispatch_get_main_queue(), ^{ SparkEmit(@{ @"type": @"beforeQuit", @"requestId": @(generation) }); });
110
+ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 30 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
111
+ if (quitting && generation == quitGeneration) SparkReplyQuit(NO, generation);
112
+ });
113
+ return NSTerminateLater;
114
+ }
115
+
116
+ BOOL SparkAcquireInstance(void) {
117
+ static int lockFD = -1;
118
+ static id observer;
119
+ NSString *lockPath = [NSTemporaryDirectory() stringByAppendingPathComponent:[SparkNamespace() stringByAppendingString:@".lock"]];
120
+ lockFD = open(lockPath.fileSystemRepresentation, O_CREAT | O_RDWR | O_NOFOLLOW | O_CLOEXEC, 0600);
121
+ if (lockFD < 0) { NSLog(@"Unable to establish desktop instance lock: %s", strerror(errno)); return YES; }
122
+ NSString *name = [SparkNamespace() stringByAppendingString:@".secondInstance"];
123
+ if (flock(lockFD, LOCK_EX | LOCK_NB) != 0) {
124
+ close(lockFD); lockFD = -1;
125
+ [NSDistributedNotificationCenter.defaultCenter postNotificationName:name object:nil userInfo:@{ @"arguments": NSProcessInfo.processInfo.arguments } deliverImmediately:YES];
126
+ return NO;
127
+ }
128
+ observer = [NSDistributedNotificationCenter.defaultCenter addObserverForName:name object:nil queue:NSOperationQueue.mainQueue usingBlock:^(NSNotification *note) {
129
+ [NSApp activateIgnoringOtherApps:YES];
130
+ for (NSWindow *window in NSApp.windows) if ([window.identifier isEqual:@"spark.main"]) [window makeKeyAndOrderFront:nil];
131
+ SparkEmit(@{ @"type": @"secondInstance", @"arguments": note.userInfo[@"arguments"] ?: @[] });
132
+ }];
133
+ return YES;
134
+ }
135
+ NSMenu *SparkDockMenu = nil;
@@ -0,0 +1,81 @@
1
+ #import "SparkDesktop.h"
2
+ #import <objc/runtime.h>
3
+ static char optionsKey;
4
+ NSDictionary *SparkWindowConfiguration(void) {
5
+ #if DEBUG
6
+ if ([SparkContext()[@"runtime"][@"mode"] isEqual:@"go"]) {
7
+ NSString *json = NSProcessInfo.processInfo.environment[@"SPARK_WINDOW_CONFIG"];
8
+ return json ? SparkArgs(json) : @{};
9
+ }
10
+ #endif
11
+ return [NSBundle.mainBundle objectForInfoDictionaryKey:@"SparkWindowConfiguration"] ?: @{};
12
+ }
13
+ NSView *SparkWindowContent(NSView *root) {
14
+ NSVisualEffectView *content = [[NSVisualEffectView alloc] initWithFrame:root.frame];
15
+ content.material = NSVisualEffectMaterialWindowBackground;
16
+ content.blendingMode = NSVisualEffectBlendingModeBehindWindow;
17
+ content.state = NSVisualEffectStateFollowsWindowActiveState;
18
+ root.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable;
19
+ [content addSubview:root];
20
+ return content;
21
+ }
22
+ void SparkApplyWindowOptions(NSWindow *window, NSDictionary *patch) {
23
+ NSMutableDictionary *options = [objc_getAssociatedObject(window, &optionsKey) mutableCopy] ?: [NSMutableDictionary new];
24
+ [options addEntriesFromDictionary:patch];
25
+ objc_setAssociatedObject(window, &optionsKey, options, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
26
+ NSString *style = options[@"titleBarStyle"] ?: @"default";
27
+ NSWindowStyleMask mask = [style isEqual:@"borderless"] ? NSWindowStyleMaskBorderless : NSWindowStyleMaskTitled;
28
+ if ([window isKindOfClass:NSPanel.class]) mask |= NSWindowStyleMaskNonactivatingPanel;
29
+ if (!options[@"resizable"] || [options[@"resizable"] boolValue]) mask |= NSWindowStyleMaskResizable;
30
+ if (!options[@"closable"] || [options[@"closable"] boolValue]) mask |= NSWindowStyleMaskClosable;
31
+ if (!options[@"minimizable"] || [options[@"minimizable"] boolValue]) mask |= NSWindowStyleMaskMiniaturizable;
32
+ if ([style isEqual:@"overlay"] || [style isEqual:@"hidden"]) mask |= NSWindowStyleMaskFullSizeContentView;
33
+ window.styleMask = mask | (window.styleMask & NSWindowStyleMaskFullScreen);
34
+ window.titlebarAppearsTransparent = ![style isEqual:@"default"];
35
+ window.titleVisibility = [style isEqual:@"default"] ? NSWindowTitleVisible : NSWindowTitleHidden;
36
+ BOOL hideButtons = [style isEqual:@"hidden"] || (options[@"trafficLights"] && ![options[@"trafficLights"] boolValue]);
37
+ for (NSNumber *button in @[@(NSWindowCloseButton), @(NSWindowMiniaturizeButton), @(NSWindowZoomButton)]) [window standardWindowButton:(NSWindowButton)button.integerValue].hidden = hideButtons;
38
+ window.level = [options[@"alwaysOnTop"] boolValue] ? ([window isKindOfClass:NSPanel.class] ? NSStatusWindowLevel : NSFloatingWindowLevel) : NSNormalWindowLevel;
39
+ window.hasShadow = !options[@"hasShadow"] || [options[@"hasShadow"] boolValue];
40
+ window.opaque = ![options[@"transparent"] boolValue];
41
+ NSString *appearance = options[@"appearance"];
42
+ window.appearance = [appearance isEqual:@"dark"] ? [NSAppearance appearanceNamed:NSAppearanceNameDarkAqua] : [appearance isEqual:@"light"] ? [NSAppearance appearanceNamed:NSAppearanceNameAqua] : nil;
43
+ NSString *color = options[@"backgroundColor"];
44
+ NSColor *background = window.opaque ? NSColor.windowBackgroundColor : NSColor.clearColor;
45
+ if (color.length == 7 || color.length == 9) {
46
+ unsigned long long rgba = 0; [[NSScanner scannerWithString:[color substringFromIndex:1]] scanHexLongLong:&rgba];
47
+ if (color.length == 7) rgba = (rgba << 8) | 255;
48
+ background = [NSColor colorWithSRGBRed:((rgba >> 24) & 255) / 255.0 green:((rgba >> 16) & 255) / 255.0 blue:((rgba >> 8) & 255) / 255.0 alpha:(rgba & 255) / 255.0];
49
+ }
50
+ window.backgroundColor = background;
51
+ NSDictionary *materials = @{ @"sidebar": @(NSVisualEffectMaterialSidebar), @"windowBackground": @(NSVisualEffectMaterialWindowBackground), @"hudWindow": @(NSVisualEffectMaterialHUDWindow), @"popover": @(NSVisualEffectMaterialPopover) };
52
+ if ([window.contentView isKindOfClass:NSVisualEffectView.class]) {
53
+ NSVisualEffectView *view = (NSVisualEffectView *)window.contentView;
54
+ NSNumber *material = materials[options[@"material"] ?: @"none"];
55
+ view.material = material ? (NSVisualEffectMaterial)material.integerValue : NSVisualEffectMaterialWindowBackground;
56
+ // Disable the effect without hiding the content's React subview.
57
+ view.state = material ? NSVisualEffectStateFollowsWindowActiveState : NSVisualEffectStateInactive;
58
+ view.blendingMode = material ? NSVisualEffectBlendingModeBehindWindow : NSVisualEffectBlendingModeWithinWindow;
59
+ view.wantsLayer = YES;
60
+ view.layer.backgroundColor = material ? NSColor.clearColor.CGColor : background.CGColor;
61
+ }
62
+ window.contentMinSize = NSMakeSize(options[@"minWidth"] ? [options[@"minWidth"] doubleValue] : 100, options[@"minHeight"] ? [options[@"minHeight"] doubleValue] : 100);
63
+ window.contentMaxSize = NSMakeSize(options[@"maxWidth"] ? [options[@"maxWidth"] doubleValue] : 20000, options[@"maxHeight"] ? [options[@"maxHeight"] doubleValue] : 20000);
64
+ NSSize size = [window contentRectForFrameRect:window.frame].size;
65
+ if (patch[@"width"]) size.width = [patch[@"width"] doubleValue];
66
+ if (patch[@"height"]) size.height = [patch[@"height"] doubleValue];
67
+ size.width = MIN(MAX(size.width, window.contentMinSize.width), window.contentMaxSize.width);
68
+ size.height = MIN(MAX(size.height, window.contentMinSize.height), window.contentMaxSize.height);
69
+ [window setContentSize:size];
70
+ if (options[@"title"]) window.title = options[@"title"];
71
+ }
72
+ void SparkRestoreWindow(NSWindow *window, NSString *key, NSDictionary *options) {
73
+ [window center];
74
+ if ([options[@"restoreFrame"] boolValue]) {
75
+ NSString *name = [NSString stringWithFormat:@"%@.%@", SparkNamespace(), key];
76
+ [window setFrameUsingName:name]; [window setFrameAutosaveName:name];
77
+ // Restored dimensions respect current constraints, rather than overriding them.
78
+ SparkApplyWindowOptions(window, @{});
79
+ [window setFrame:[window constrainFrameRect:window.frame toScreen:window.screen ?: NSScreen.mainScreen] display:NO];
80
+ }
81
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@legendapp/spark-desktop-app",
3
+ "version": "0.0.1-next.2",
4
+ "license": "MIT",
5
+ "main": "src/index",
6
+ "react-native": "src/index",
7
+ "files": [
8
+ "src",
9
+ "macos",
10
+ "*.podspec",
11
+ "react-native.config.js"
12
+ ],
13
+ "peerDependencies": {
14
+ "react": "19.1.4",
15
+ "react-native": "0.81.6"
16
+ },
17
+ "codegenConfig": {
18
+ "name": "RNDesktopAppSpec",
19
+ "type": "modules",
20
+ "jsSrcsDir": "src",
21
+ "ios": {
22
+ "modulesProvider": {
23
+ "NativeDesktopApp": "RNDesktopApp"
24
+ }
25
+ }
26
+ },
27
+ "spark": {
28
+ "sdk": false,
29
+ "nativeModules": [
30
+ "NativeDesktopApp"
31
+ ],
32
+ "pod": "RNDesktopApp",
33
+ "platforms": [
34
+ "macos"
35
+ ],
36
+ "requires": []
37
+ },
38
+ "private": true
39
+ }
@@ -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
+ export interface Spec extends TurboModule {
4
+ call(method: string, args: string): Promise<string>;
5
+ addListener(eventName: string): void;
6
+ removeListeners(count: number): void;
7
+ }
8
+ export default TurboModuleRegistry.getEnforcing<Spec>("NativeDesktopApp");
@@ -0,0 +1,42 @@
1
+ import { NativeEventEmitter } from "react-native";
2
+ import Native from "./NativeDesktopApp";
3
+ export type AppContext = {
4
+ projectId: string; name: string; version: string;
5
+ runtime: { mode?: string; modules?: Record<string, string> };
6
+ launchArguments: string[];
7
+ };
8
+ export type DesktopEvent = { type: string; id?: string; url?: string; windowId?: string; [key: string]: unknown };
9
+ const events = new NativeEventEmitter(Native);
10
+ export async function callApp<T = void>(method: string, args: object = {}): Promise<T> {
11
+ return JSON.parse(await Native.call(method, JSON.stringify(args))) as T;
12
+ }
13
+ export const getAppContext = () => callApp<AppContext>("context");
14
+ export const quit = () => callApp("quit");
15
+ export const hide = () => callApp("hide");
16
+ export const activate = () => callApp("activate");
17
+ export function onDesktopEvent(listener: (event: DesktopEvent) => void) {
18
+ return events.addListener("desktop", listener);
19
+ }
20
+ export function onAppEvent(listener: (event: DesktopEvent) => void) {
21
+ return onDesktopEvent(event => { if (["activate", "deactivate", "reopen", "beforeQuit", "secondInstance"].includes(event.type)) listener(event); });
22
+ }
23
+ /** Await registration before enabling edits. A rejection or timeout cancels quit. */
24
+ export async function beforeQuit(handler: () => boolean | Promise<boolean>) {
25
+ if (quitHandlerRegistered) throw new Error("A beforeQuit handler is already registered");
26
+ quitHandlerRegistered = true;
27
+ let removed = false;
28
+ const subscription = onDesktopEvent(event => {
29
+ if (event.type === "beforeQuit") void Promise.resolve().then(handler).then(
30
+ allow => callApp("replyQuit", { allow: !removed && allow === true, requestId: event.requestId }),
31
+ () => callApp("replyQuit", { allow: false, requestId: event.requestId }),
32
+ ).catch(console.error);
33
+ });
34
+ try { await callApp("quitGuard", { enabled: true }); }
35
+ catch (error) { subscription.remove(); quitHandlerRegistered = false; throw error; }
36
+ return { async remove() {
37
+ if (removed) return;
38
+ removed = true; subscription.remove(); quitHandlerRegistered = false;
39
+ await callApp("quitGuard", { enabled: false });
40
+ } };
41
+ }
42
+ let quitHandlerRegistered = false;
@@ -0,0 +1 @@
1
+ export * from "./api";
@@ -0,0 +1,75 @@
1
+ const { statePath } = require("./config.cjs");
2
+ const fs = require("node:fs");
3
+ const path = require("node:path");
4
+ const {
5
+ withAppDelegate,
6
+ withPodfile,
7
+ withInfoPlist,
8
+ withEntitlementsPlist,
9
+ } = require("expo-desktop-config-plugins");
10
+ const { identity } = require("./identity.cjs");
11
+ const { resolveEntitlements } = require("./entitlements.cjs");
12
+
13
+ module.exports = function withSparkDesktop(config) {
14
+ if (config.platforms?.length === 1 && config.platforms[0] === "windows") return require("./windows.plugin.cjs")(config);
15
+ // The upstream base mod merges template entitlements into config before
16
+ // callbacks run. Capture the declared values before that mutation.
17
+ const declaredEntitlements = structuredClone(config.macos?.entitlements ?? {});
18
+ config = withEntitlementsPlist(config, (mod) => {
19
+ const selection = statePath(mod.modRequest.projectRoot, "native-selection.json", "macos");
20
+ const packages = fs.existsSync(selection)
21
+ ? JSON.parse(fs.readFileSync(selection, "utf8")).included.map((pkg) => JSON.parse(fs.readFileSync(path.join(pkg.root, "package.json"), "utf8")))
22
+ : [];
23
+ // Own the generated entitlements; the desktop template's sandbox defaults
24
+ // are not the framework's direct-distribution policy.
25
+ mod.modResults = resolveEntitlements({ macos: { entitlements: declaredEntitlements } }, packages);
26
+ return mod;
27
+ });
28
+ config = withAppDelegate(config, (mod) => {
29
+ // Own this adapter; application customizations belong in configuration/plugins.
30
+ mod.modResults.contents = fs.readFileSync(
31
+ require.resolve("@legendapp/spark-desktop-host/AppDelegate.mm"),
32
+ "utf8",
33
+ );
34
+ return mod;
35
+ });
36
+ config = withInfoPlist(config, (mod) => {
37
+ const generated = identity(config);
38
+ for (const key of ["SUFeedURL", "SUPublicEDKey", "SUEnableAutomaticChecks", "SUAutomaticallyUpdate", "SUAllowsAutomaticUpdates", "SUEnableSystemProfiling", "SURequireSignedFeed", "SUVerifyUpdateBeforeExtraction"])
39
+ if (!(key in generated)) delete mod.modResults[key];
40
+ Object.assign(mod.modResults, generated);
41
+ mod.modResults.SparkFrameworkVersion = "0.1.0-prototype.0";
42
+ mod.modResults.NSAppTransportSecurity = { NSAllowsLocalNetworking: true };
43
+ return mod;
44
+ });
45
+ return withPodfile(config, (mod) => {
46
+ require("./fabric-lifecycle.cjs").installSurfaceLifecyclePatch(mod.modRequest.projectRoot);
47
+ require("./keyboard-events.cjs").installKeyboardEventsPatch(mod.modRequest.projectRoot);
48
+ // The beta template passes the resolved package to use_react_native!, but
49
+ // post_install otherwise resets Xcode script paths to ../node_modules.
50
+ mod.modResults.contents = mod.modResults.contents.replace(
51
+ "react_native_post_install(installer)",
52
+ 'react_native_post_install(installer, "#{config[:reactNativePath]}-macos")',
53
+ );
54
+ const selectionFile = statePath(mod.modRequest.projectRoot, "native-selection.json", "macos");
55
+ const included = fs.existsSync(selectionFile) ? JSON.parse(fs.readFileSync(selectionFile, "utf8")).included : [];
56
+ const updatePackage = included.find(pkg => pkg.name === "@legendapp/spark-updates");
57
+ // Pin the spec and archive with the SDK, avoiding a mutable CocoaPods index.
58
+ const sparkleMarker = "# spark: Sparkle pod";
59
+ mod.modResults.contents = mod.modResults.contents.replace(/^.*# spark: Sparkle pod\n/gm, "");
60
+ if (updatePackage) {
61
+ const spec = path.join(updatePackage.root, "Sparkle.podspec.json");
62
+ const rubyPath = JSON.stringify(spec).replace(/#\{/g, "\\#{");
63
+ mod.modResults.contents += `\npod 'Sparkle', :podspec => ${rubyPath} ${sparkleMarker}\n`;
64
+ }
65
+ const autolinkMarker = "# spark: macOS autolinking";
66
+ if (!mod.modResults.contents.includes(autolinkMarker)) {
67
+ mod.modResults.contents = `${autolinkMarker}\nENV['SPARK_DESKTOP_AUTOLINK'] = 'macos'\n${mod.modResults.contents}`;
68
+ }
69
+ const marker = "# spark: Fabric enabled";
70
+ if (!mod.modResults.contents.includes(marker)) {
71
+ mod.modResults.contents = `${marker}\nENV['RCT_NEW_ARCH_ENABLED'] = '1'\n${mod.modResults.contents}`;
72
+ }
73
+ return mod;
74
+ });
75
+ };