akanjs 3.0.0-beta.20 → 3.0.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +0 -1
- package/README.md +0 -1
- package/base/baseEnv.ts +40 -3
- package/client/cookie.ts +56 -20
- package/client/device.ts +47 -95
- package/client/frameConfig.ts +2 -2
- package/client/native.ts +44 -0
- package/client/router.ts +11 -1
- package/client/rscNavigation.ts +5 -0
- package/client/storage.ts +68 -39
- package/fetch/client/fetchClient.ts +13 -4
- package/index.ts +47 -46
- package/package.json +6 -87
- package/server/devtools/signalSerializer.ts +1 -2
- package/server/hmr/devHmrController.ts +29 -11
- package/server/resolver/signal.resolver.ts +1 -10
- package/server/routeTreeBuilder.ts +8 -11
- package/server/routing/apiRouter.ts +15 -2
- package/server/rscClient.tsx +1 -2
- package/server/ssrFromRscRenderer.tsx +2 -0
- package/server/webRouter.ts +1 -0
- package/signal/CrossSiteGuard.ts +34 -2
- package/signal/endpoint.ts +12 -7
- package/signal/endpointInfo.ts +13 -0
- package/signal/internal.ts +9 -5
- package/signal/serializer/fetch.serializer.ts +6 -3
- package/signal/slice.ts +34 -24
- package/store/baseSt.ts +0 -1
- package/store/storeInstance.ts +29 -17
- package/types/client/cookie.d.ts +6 -4
- package/types/client/device.d.ts +7 -10
- package/types/client/native.d.ts +26 -0
- package/types/client/rscNavigation.d.ts +4 -0
- package/types/client/storage.d.ts +8 -1
- package/types/index.d.ts +48 -44
- package/types/server/hmr/devHmrController.d.ts +2 -1
- package/types/server/resolver/signal.resolver.d.ts +0 -1
- package/types/server/rscClient.d.ts +0 -3
- package/types/signal/CrossSiteGuard.d.ts +7 -2
- package/types/signal/endpoint.d.ts +1 -1
- package/types/signal/endpointInfo.d.ts +3 -0
- package/types/signal/slice.d.ts +3 -2
- package/types/store/baseSt.d.ts +0 -13
- package/types/vendor/@akanjs/native/packages/cli/src/api.d.ts +182 -0
- package/types/vendor/@akanjs/native/packages/cli/src/commands/build.d.ts +28 -0
- package/types/vendor/@akanjs/native/packages/cli/src/commands/compat.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/cli/src/commands/dev.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/cli/src/commands/doctor.d.ts +37 -0
- package/types/vendor/@akanjs/native/packages/cli/src/commands/plugin.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/cli/src/commands/signing.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/cli/src/commands/test.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/cli/src/commands/toolchain.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/cli/src/commands/update.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/cli/src/config.d.ts +278 -0
- package/types/vendor/@akanjs/native/packages/cli/src/index.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/acl.d.ts +21 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/apilevel.d.ts +40 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/apk.d.ts +36 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/args.d.ts +9 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/boot.d.ts +32 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/chrome.d.ts +6 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/codegen.d.ts +94 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/compat.d.ts +49 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/configkeys.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/csp.d.ts +51 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/env.d.ts +44 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/exec.d.ts +31 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/googleservices.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/hmr.d.ts +120 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/html.d.ts +20 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/icons.d.ts +44 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/image.d.ts +21 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/iossigning.d.ts +81 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/launch.d.ts +51 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/log.d.ts +42 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/manifestmerge.d.ts +18 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/maven.d.ts +97 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/names.d.ts +45 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/native-plugins.d.ts +67 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/nativeconfig.d.ts +11 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/permissions.d.ts +10 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/plist.d.ts +11 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/png.d.ts +11 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/prepare.d.ts +138 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/privacy.d.ts +13 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/project.d.ts +208 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/root.d.ts +1 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/routes.d.ts +1 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/serve.d.ts +17 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/signing.d.ts +14 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/spec.d.ts +96 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/toolchains.d.ts +150 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/updates.d.ts +77 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/vectors.d.ts +13 -0
- package/types/vendor/@akanjs/native/packages/cli/src/lib/xml.d.ts +13 -0
- package/types/vendor/@akanjs/native/packages/cli/src/platforms/android.d.ts +57 -0
- package/types/vendor/@akanjs/native/packages/cli/src/platforms/desktop-update.d.ts +4 -0
- package/types/vendor/@akanjs/native/packages/cli/src/platforms/desktop.d.ts +40 -0
- package/types/vendor/@akanjs/native/packages/cli/src/platforms/index.d.ts +14 -0
- package/types/vendor/@akanjs/native/packages/cli/src/platforms/ios.d.ts +44 -0
- package/types/vendor/@akanjs/native/packages/cli/src/platforms/linux.d.ts +6 -0
- package/types/vendor/@akanjs/native/packages/cli/src/platforms/macos.d.ts +7 -0
- package/types/vendor/@akanjs/native/packages/cli/src/platforms/targets.d.ts +4 -0
- package/types/vendor/@akanjs/native/packages/cli/src/platforms/web-run.d.ts +15 -0
- package/types/vendor/@akanjs/native/packages/cli/src/platforms/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/cli/src/platforms/windows.d.ts +8 -0
- package/types/vendor/@akanjs/native/packages/cli/src/platforms.d.ts +1 -0
- package/types/vendor/@akanjs/native/packages/cli/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/packages/core/src/acl.d.ts +97 -0
- package/types/vendor/@akanjs/native/packages/core/src/boot.d.ts +66 -0
- package/types/vendor/@akanjs/native/packages/core/src/contract.d.ts +35 -0
- package/types/vendor/@akanjs/native/packages/core/src/errors.d.ts +27 -0
- package/types/vendor/@akanjs/native/packages/core/src/files.d.ts +23 -0
- package/types/vendor/@akanjs/native/packages/core/src/index.d.ts +14 -0
- package/types/vendor/@akanjs/native/packages/core/src/kernel.d.ts +112 -0
- package/types/vendor/@akanjs/native/packages/core/src/live.d.ts +12 -0
- package/types/vendor/@akanjs/native/packages/core/src/mime.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/core/src/plugin.d.ts +71 -0
- package/types/vendor/@akanjs/native/packages/core/src/protocol.d.ts +109 -0
- package/types/vendor/@akanjs/native/packages/core/src/runtime.d.ts +66 -0
- package/types/vendor/@akanjs/native/packages/core/src/state.d.ts +28 -0
- package/types/vendor/@akanjs/native/packages/core/src/testing.d.ts +41 -0
- package/types/vendor/@akanjs/native/packages/core/src/version.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/core/src/veto.d.ts +17 -0
- package/types/vendor/@akanjs/native/packages/core/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/packages/desktop/src/deeplinks.d.ts +24 -0
- package/types/vendor/@akanjs/native/packages/desktop/src/delta.d.ts +2 -0
- package/types/vendor/@akanjs/native/packages/desktop/src/dispatcher.d.ts +95 -0
- package/types/vendor/@akanjs/native/packages/desktop/src/ffi.d.ts +144 -0
- package/types/vendor/@akanjs/native/packages/desktop/src/host.d.ts +11 -0
- package/types/vendor/@akanjs/native/packages/desktop/src/lifecycle.d.ts +40 -0
- package/types/vendor/@akanjs/native/packages/desktop/src/main.d.ts +4 -0
- package/types/vendor/@akanjs/native/packages/desktop/src/page-veto.d.ts +17 -0
- package/types/vendor/@akanjs/native/packages/desktop/src/paths.d.ts +25 -0
- package/types/vendor/@akanjs/native/packages/desktop/src/plugin.d.ts +179 -0
- package/types/vendor/@akanjs/native/packages/react/src/index.d.ts +8 -0
- package/types/vendor/@akanjs/native/packages/react/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/accessibility/src/announce.d.ts +8 -0
- package/types/vendor/@akanjs/native/plugins/accessibility/src/index.d.ts +47 -0
- package/types/vendor/@akanjs/native/plugins/accessibility/src/web.d.ts +4 -0
- package/types/vendor/@akanjs/native/plugins/accessibility/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/app/src/desktop.d.ts +3 -0
- package/types/vendor/@akanjs/native/plugins/app/src/index.d.ts +66 -0
- package/types/vendor/@akanjs/native/plugins/app/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/app/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/app-state/src/index.d.ts +19 -0
- package/types/vendor/@akanjs/native/plugins/app-state/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/app-state/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/appearance/src/desktop.d.ts +9 -0
- package/types/vendor/@akanjs/native/plugins/appearance/src/index.d.ts +32 -0
- package/types/vendor/@akanjs/native/plugins/appearance/src/setting.d.ts +6 -0
- package/types/vendor/@akanjs/native/plugins/appearance/src/web.d.ts +3 -0
- package/types/vendor/@akanjs/native/plugins/appearance/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/auth-session/src/args.d.ts +18 -0
- package/types/vendor/@akanjs/native/plugins/auth-session/src/desktop.d.ts +17 -0
- package/types/vendor/@akanjs/native/plugins/auth-session/src/index.d.ts +41 -0
- package/types/vendor/@akanjs/native/plugins/auth-session/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/autostart/src/desktop.d.ts +44 -0
- package/types/vendor/@akanjs/native/plugins/autostart/src/index.d.ts +44 -0
- package/types/vendor/@akanjs/native/plugins/autostart/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/badge/src/count.d.ts +4 -0
- package/types/vendor/@akanjs/native/plugins/badge/src/desktop.d.ts +3 -0
- package/types/vendor/@akanjs/native/plugins/badge/src/index.d.ts +37 -0
- package/types/vendor/@akanjs/native/plugins/badge/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/badge/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/biometric/src/index.d.ts +53 -0
- package/types/vendor/@akanjs/native/plugins/biometric/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/browser/src/args.d.ts +8 -0
- package/types/vendor/@akanjs/native/plugins/browser/src/desktop.d.ts +9 -0
- package/types/vendor/@akanjs/native/plugins/browser/src/index.d.ts +36 -0
- package/types/vendor/@akanjs/native/plugins/browser/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/browser/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/camera/src/desktop.d.ts +5 -0
- package/types/vendor/@akanjs/native/plugins/camera/src/index.d.ts +55 -0
- package/types/vendor/@akanjs/native/plugins/camera/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/camera/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/clipboard/src/desktop.d.ts +8 -0
- package/types/vendor/@akanjs/native/plugins/clipboard/src/index.d.ts +40 -0
- package/types/vendor/@akanjs/native/plugins/clipboard/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/clipboard/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/device/src/desktop.d.ts +33 -0
- package/types/vendor/@akanjs/native/plugins/device/src/index.d.ts +55 -0
- package/types/vendor/@akanjs/native/plugins/device/src/web.d.ts +22 -0
- package/types/vendor/@akanjs/native/plugins/device/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/dialog/src/desktop.d.ts +3 -0
- package/types/vendor/@akanjs/native/plugins/dialog/src/index.d.ts +60 -0
- package/types/vendor/@akanjs/native/plugins/dialog/src/options.d.ts +29 -0
- package/types/vendor/@akanjs/native/plugins/dialog/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/dialog/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/dock/src/desktop.d.ts +3 -0
- package/types/vendor/@akanjs/native/plugins/dock/src/index.d.ts +46 -0
- package/types/vendor/@akanjs/native/plugins/dock/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/file-picker/src/common.d.ts +33 -0
- package/types/vendor/@akanjs/native/plugins/file-picker/src/desktop.d.ts +9 -0
- package/types/vendor/@akanjs/native/plugins/file-picker/src/index.d.ts +84 -0
- package/types/vendor/@akanjs/native/plugins/file-picker/src/web.d.ts +6 -0
- package/types/vendor/@akanjs/native/plugins/file-picker/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/filesystem/src/common.d.ts +49 -0
- package/types/vendor/@akanjs/native/plugins/filesystem/src/desktop.d.ts +8 -0
- package/types/vendor/@akanjs/native/plugins/filesystem/src/index.d.ts +123 -0
- package/types/vendor/@akanjs/native/plugins/filesystem/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/filesystem/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/geolocation/src/index.d.ts +93 -0
- package/types/vendor/@akanjs/native/plugins/geolocation/src/web.d.ts +11 -0
- package/types/vendor/@akanjs/native/plugins/geolocation/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/global-shortcut/src/desktop.d.ts +3 -0
- package/types/vendor/@akanjs/native/plugins/global-shortcut/src/index.d.ts +52 -0
- package/types/vendor/@akanjs/native/plugins/global-shortcut/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/haptics/src/index.d.ts +31 -0
- package/types/vendor/@akanjs/native/plugins/haptics/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/haptics/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/http/src/common.d.ts +71 -0
- package/types/vendor/@akanjs/native/plugins/http/src/desktop.d.ts +5 -0
- package/types/vendor/@akanjs/native/plugins/http/src/index.d.ts +104 -0
- package/types/vendor/@akanjs/native/plugins/http/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/http/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/iap/src/index.d.ts +171 -0
- package/types/vendor/@akanjs/native/plugins/iap/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/keep-awake/src/desktop.d.ts +15 -0
- package/types/vendor/@akanjs/native/plugins/keep-awake/src/index.d.ts +33 -0
- package/types/vendor/@akanjs/native/plugins/keep-awake/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/keep-awake/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/keyboard/src/index.d.ts +42 -0
- package/types/vendor/@akanjs/native/plugins/keyboard/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/keyboard/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/local-notifications/src/desktop.d.ts +29 -0
- package/types/vendor/@akanjs/native/plugins/local-notifications/src/index.d.ts +126 -0
- package/types/vendor/@akanjs/native/plugins/local-notifications/src/schedule.d.ts +38 -0
- package/types/vendor/@akanjs/native/plugins/local-notifications/src/timers.d.ts +25 -0
- package/types/vendor/@akanjs/native/plugins/local-notifications/src/web.d.ts +4 -0
- package/types/vendor/@akanjs/native/plugins/local-notifications/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/menu/src/desktop.d.ts +3 -0
- package/types/vendor/@akanjs/native/plugins/menu/src/index.d.ts +85 -0
- package/types/vendor/@akanjs/native/plugins/menu/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/network/src/index.d.ts +22 -0
- package/types/vendor/@akanjs/native/plugins/network/src/web.d.ts +3 -0
- package/types/vendor/@akanjs/native/plugins/network/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/opener/src/desktop.d.ts +14 -0
- package/types/vendor/@akanjs/native/plugins/opener/src/index.d.ts +33 -0
- package/types/vendor/@akanjs/native/plugins/opener/src/url.d.ts +16 -0
- package/types/vendor/@akanjs/native/plugins/opener/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/opener/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/preferences/src/desktop.d.ts +3 -0
- package/types/vendor/@akanjs/native/plugins/preferences/src/index.d.ts +26 -0
- package/types/vendor/@akanjs/native/plugins/preferences/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/preferences/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/push/src/index.d.ts +57 -0
- package/types/vendor/@akanjs/native/plugins/push/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/screen/src/desktop.d.ts +3 -0
- package/types/vendor/@akanjs/native/plugins/screen/src/index.d.ts +70 -0
- package/types/vendor/@akanjs/native/plugins/screen/src/web.d.ts +18 -0
- package/types/vendor/@akanjs/native/plugins/screen/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/screen-orientation/src/index.d.ts +32 -0
- package/types/vendor/@akanjs/native/plugins/screen-orientation/src/types.d.ts +8 -0
- package/types/vendor/@akanjs/native/plugins/screen-orientation/src/web.d.ts +3 -0
- package/types/vendor/@akanjs/native/plugins/screen-orientation/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/secure-storage/src/desktop.d.ts +16 -0
- package/types/vendor/@akanjs/native/plugins/secure-storage/src/index.d.ts +39 -0
- package/types/vendor/@akanjs/native/plugins/secure-storage/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/share/src/index.d.ts +55 -0
- package/types/vendor/@akanjs/native/plugins/share/src/options.d.ts +6 -0
- package/types/vendor/@akanjs/native/plugins/share/src/web.d.ts +5 -0
- package/types/vendor/@akanjs/native/plugins/share/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/single-instance/src/desktop.d.ts +8 -0
- package/types/vendor/@akanjs/native/plugins/single-instance/src/index.d.ts +25 -0
- package/types/vendor/@akanjs/native/plugins/single-instance/src/socket.d.ts +46 -0
- package/types/vendor/@akanjs/native/plugins/single-instance/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/splash-screen/src/index.d.ts +19 -0
- package/types/vendor/@akanjs/native/plugins/splash-screen/src/web.d.ts +4 -0
- package/types/vendor/@akanjs/native/plugins/splash-screen/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/sqlite/src/common.d.ts +34 -0
- package/types/vendor/@akanjs/native/plugins/sqlite/src/desktop.d.ts +6 -0
- package/types/vendor/@akanjs/native/plugins/sqlite/src/index.d.ts +115 -0
- package/types/vendor/@akanjs/native/plugins/sqlite/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/toast/src/index.d.ts +30 -0
- package/types/vendor/@akanjs/native/plugins/toast/src/queue.d.ts +23 -0
- package/types/vendor/@akanjs/native/plugins/toast/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/toast/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/tray/src/desktop.d.ts +3 -0
- package/types/vendor/@akanjs/native/plugins/tray/src/index.d.ts +113 -0
- package/types/vendor/@akanjs/native/plugins/tray/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/updates/src/desktop.d.ts +4 -0
- package/types/vendor/@akanjs/native/plugins/updates/src/index.d.ts +68 -0
- package/types/vendor/@akanjs/native/plugins/updates/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/window/src/desktop.d.ts +6 -0
- package/types/vendor/@akanjs/native/plugins/window/src/index.d.ts +185 -0
- package/types/vendor/@akanjs/native/plugins/window/src/web.d.ts +2 -0
- package/types/vendor/@akanjs/native/plugins/window/src.d.ts +1 -0
- package/types/vendor/@akanjs/native/plugins/window-state/src/desktop.d.ts +7 -0
- package/types/vendor/@akanjs/native/plugins/window-state/src/index.d.ts +33 -0
- package/types/vendor/@akanjs/native/plugins/window-state/src/state.d.ts +39 -0
- package/types/vendor/@akanjs/native/plugins/window-state/src.d.ts +1 -0
- package/types/webkit/index.d.ts +0 -2
- package/types/webkit/nativeNavigation.d.ts +25 -0
- package/types/webkit/nativePurchase.d.ts +37 -0
- package/types/webkit/useCamera.d.ts +13 -15
- package/types/webkit/useGeoLocation.d.ts +4 -5
- package/types/webkit/usePurchase.d.ts +12 -16
- package/ui/Link/Anchor.tsx +2 -5
- package/ui/System/Client.tsx +2 -6
- package/vendor/@akanjs/native/LICENSE +21 -0
- package/vendor/@akanjs/native/README.ko.md +88 -0
- package/vendor/@akanjs/native/README.md +93 -0
- package/vendor/@akanjs/native/THIRD_PARTY_NOTICES.md +237 -0
- package/vendor/@akanjs/native/native/android/maven.lock.json +1751 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeAcl.kt +243 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeActivity.kt +936 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeApplication.kt +189 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeAssetServer.kt +225 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeBridge.kt +444 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeCompat.kt +55 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeContract.kt +99 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeEd25519.kt +100 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeFileProvider.kt +71 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeKernel.kt +324 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativePlugin.kt +361 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeSpec.kt +100 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeUpdates.kt +305 -0
- package/vendor/@akanjs/native/native/android/src/com/akanjs/runtime/AkanNativeVectors.kt +132 -0
- package/vendor/@akanjs/native/native/desktop/Cargo.lock +2565 -0
- package/vendor/@akanjs/native/native/desktop/Cargo.toml +49 -0
- package/vendor/@akanjs/native/native/desktop/build.rs +19 -0
- package/vendor/@akanjs/native/native/desktop/rust-toolchain.toml +7 -0
- package/vendor/@akanjs/native/native/desktop/src/accelerator.rs +466 -0
- package/vendor/@akanjs/native/native/desktop/src/autostart.rs +158 -0
- package/vendor/@akanjs/native/native/desktop/src/camera.rs +53 -0
- package/vendor/@akanjs/native/native/desktop/src/chrome.rs +710 -0
- package/vendor/@akanjs/native/native/desktop/src/contract.rs +105 -0
- package/vendor/@akanjs/native/native/desktop/src/devproxy.rs +234 -0
- package/vendor/@akanjs/native/native/desktop/src/dialog_args.rs +189 -0
- package/vendor/@akanjs/native/native/desktop/src/dock.rs +209 -0
- package/vendor/@akanjs/native/native/desktop/src/hotkey.rs +209 -0
- package/vendor/@akanjs/native/native/desktop/src/js_panels.rs +125 -0
- package/vendor/@akanjs/native/native/desktop/src/json.rs +272 -0
- package/vendor/@akanjs/native/native/desktop/src/keychain.rs +151 -0
- package/vendor/@akanjs/native/native/desktop/src/lib.rs +2185 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/appearance.rs +177 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/camera.rs +11 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/clipboard.rs +48 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/device.rs +9 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/dialogs.rs +348 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/dock.rs +146 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/hotkey.rs +228 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/keychain.rs +243 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/menu.rs +445 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/mod.rs +116 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/notify.rs +211 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/open.rs +79 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/power.rs +155 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/screen.rs +158 -0
- package/vendor/@akanjs/native/native/desktop/src/linux/tray.rs +604 -0
- package/vendor/@akanjs/native/native/desktop/src/menu.rs +517 -0
- package/vendor/@akanjs/native/native/desktop/src/navigation.rs +381 -0
- package/vendor/@akanjs/native/native/desktop/src/notify.rs +411 -0
- package/vendor/@akanjs/native/native/desktop/src/notify_schedule.rs +382 -0
- package/vendor/@akanjs/native/native/desktop/src/page_menu.rs +287 -0
- package/vendor/@akanjs/native/native/desktop/src/panels.rs +333 -0
- package/vendor/@akanjs/native/native/desktop/src/placement.rs +92 -0
- package/vendor/@akanjs/native/native/desktop/src/routes.rs +153 -0
- package/vendor/@akanjs/native/native/desktop/src/screen.rs +190 -0
- package/vendor/@akanjs/native/native/desktop/src/tray.rs +279 -0
- package/vendor/@akanjs/native/native/desktop/src/vectors.rs +126 -0
- package/vendor/@akanjs/native/native/desktop/src/win/appearance.rs +51 -0
- package/vendor/@akanjs/native/native/desktop/src/win/autostart.rs +77 -0
- package/vendor/@akanjs/native/native/desktop/src/win/camera.rs +34 -0
- package/vendor/@akanjs/native/native/desktop/src/win/clipboard.rs +106 -0
- package/vendor/@akanjs/native/native/desktop/src/win/device.rs +80 -0
- package/vendor/@akanjs/native/native/desktop/src/win/dialogs.rs +917 -0
- package/vendor/@akanjs/native/native/desktop/src/win/dock.rs +228 -0
- package/vendor/@akanjs/native/native/desktop/src/win/hotkey.rs +110 -0
- package/vendor/@akanjs/native/native/desktop/src/win/keychain.rs +103 -0
- package/vendor/@akanjs/native/native/desktop/src/win/menu.rs +500 -0
- package/vendor/@akanjs/native/native/desktop/src/win/mod.rs +100 -0
- package/vendor/@akanjs/native/native/desktop/src/win/msgwin.rs +86 -0
- package/vendor/@akanjs/native/native/desktop/src/win/notify.rs +334 -0
- package/vendor/@akanjs/native/native/desktop/src/win/open.rs +127 -0
- package/vendor/@akanjs/native/native/desktop/src/win/power.rs +64 -0
- package/vendor/@akanjs/native/native/desktop/src/win/registry.rs +87 -0
- package/vendor/@akanjs/native/native/desktop/src/win/screen.rs +127 -0
- package/vendor/@akanjs/native/native/desktop/src/win/tray.rs +280 -0
- package/vendor/@akanjs/native/native/ios/Sources/AkanNativeAcl.swift +241 -0
- package/vendor/@akanjs/native/native/ios/Sources/AkanNativeApp.swift +285 -0
- package/vendor/@akanjs/native/native/ios/Sources/AkanNativeBridge.swift +407 -0
- package/vendor/@akanjs/native/native/ios/Sources/AkanNativeContract.swift +106 -0
- package/vendor/@akanjs/native/native/ios/Sources/AkanNativeKernel.swift +317 -0
- package/vendor/@akanjs/native/native/ios/Sources/AkanNativePlugin.swift +250 -0
- package/vendor/@akanjs/native/native/ios/Sources/AkanNativeSchemeHandler.swift +209 -0
- package/vendor/@akanjs/native/native/ios/Sources/AkanNativeShell.swift +161 -0
- package/vendor/@akanjs/native/native/ios/Sources/AkanNativeSpec.swift +143 -0
- package/vendor/@akanjs/native/native/ios/Sources/AkanNativeUpdates.swift +270 -0
- package/vendor/@akanjs/native/native/ios/Sources/AkanNativeVectors.swift +155 -0
- package/vendor/@akanjs/native/native/ios/Sources/AkanNativeViewController.swift +371 -0
- package/vendor/@akanjs/native/packages/cli/src/api.ts +600 -0
- package/vendor/@akanjs/native/packages/cli/src/commands/build.ts +101 -0
- package/vendor/@akanjs/native/packages/cli/src/commands/compat.ts +53 -0
- package/vendor/@akanjs/native/packages/cli/src/commands/dev.ts +249 -0
- package/vendor/@akanjs/native/packages/cli/src/commands/doctor.ts +536 -0
- package/vendor/@akanjs/native/packages/cli/src/commands/plugin.ts +164 -0
- package/vendor/@akanjs/native/packages/cli/src/commands/signing.ts +32 -0
- package/vendor/@akanjs/native/packages/cli/src/commands/test.ts +130 -0
- package/vendor/@akanjs/native/packages/cli/src/commands/toolchain.ts +143 -0
- package/vendor/@akanjs/native/packages/cli/src/commands/update.ts +168 -0
- package/vendor/@akanjs/native/packages/cli/src/config.ts +257 -0
- package/vendor/@akanjs/native/packages/cli/src/index.ts +77 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/acl.ts +420 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/apilevel.ts +245 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/apk.ts +203 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/args.ts +44 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/boot.ts +73 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/chrome.ts +89 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/codegen.ts +1128 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/compat.ts +185 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/configkeys.ts +91 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/csp.ts +198 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/env.ts +257 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/exec.ts +104 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/googleservices.ts +53 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/hmr.ts +534 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/html.ts +63 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/icons.ts +316 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/image.ts +175 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/iossigning.ts +295 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/launch.ts +98 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/log.ts +105 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/manifestmerge.ts +107 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/maven.ts +244 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/names.ts +202 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/native-plugins.ts +326 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/nativeconfig.ts +68 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/permissions.ts +80 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/plist.ts +139 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/png.ts +240 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/prepare.ts +290 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/privacy.ts +64 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/project.ts +710 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/root.ts +18 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/routes.ts +3 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/serve.ts +83 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/signing.ts +117 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/spec.ts +521 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/toolchains.ts +579 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/updates.ts +160 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/vectors.ts +121 -0
- package/vendor/@akanjs/native/packages/cli/src/lib/xml.ts +72 -0
- package/vendor/@akanjs/native/packages/cli/src/platforms/android.ts +1320 -0
- package/vendor/@akanjs/native/packages/cli/src/platforms/desktop-update.ts +78 -0
- package/vendor/@akanjs/native/packages/cli/src/platforms/desktop.ts +279 -0
- package/vendor/@akanjs/native/packages/cli/src/platforms/index.ts +31 -0
- package/vendor/@akanjs/native/packages/cli/src/platforms/ios.ts +801 -0
- package/vendor/@akanjs/native/packages/cli/src/platforms/linux.ts +52 -0
- package/vendor/@akanjs/native/packages/cli/src/platforms/macos.ts +97 -0
- package/vendor/@akanjs/native/packages/cli/src/platforms/targets.ts +12 -0
- package/vendor/@akanjs/native/packages/cli/src/platforms/web-run.ts +69 -0
- package/vendor/@akanjs/native/packages/cli/src/platforms/web.ts +28 -0
- package/vendor/@akanjs/native/packages/cli/src/platforms/windows.ts +82 -0
- package/vendor/@akanjs/native/packages/core/contract.json +96 -0
- package/vendor/@akanjs/native/packages/core/src/acl.ts +272 -0
- package/vendor/@akanjs/native/packages/core/src/boot.ts +97 -0
- package/vendor/@akanjs/native/packages/core/src/contract.ts +100 -0
- package/vendor/@akanjs/native/packages/core/src/errors.ts +95 -0
- package/vendor/@akanjs/native/packages/core/src/files.ts +105 -0
- package/vendor/@akanjs/native/packages/core/src/index.ts +35 -0
- package/vendor/@akanjs/native/packages/core/src/kernel.ts +281 -0
- package/vendor/@akanjs/native/packages/core/src/live.ts +62 -0
- package/vendor/@akanjs/native/packages/core/src/mime.ts +8 -0
- package/vendor/@akanjs/native/packages/core/src/plugin.ts +358 -0
- package/vendor/@akanjs/native/packages/core/src/protocol.ts +194 -0
- package/vendor/@akanjs/native/packages/core/src/runtime.ts +520 -0
- package/vendor/@akanjs/native/packages/core/src/state.ts +46 -0
- package/vendor/@akanjs/native/packages/core/src/testing.ts +176 -0
- package/vendor/@akanjs/native/packages/core/src/version.ts +2 -0
- package/vendor/@akanjs/native/packages/core/src/veto.ts +55 -0
- package/vendor/@akanjs/native/packages/core/vectors/acl.json +57 -0
- package/vendor/@akanjs/native/packages/core/vectors/bridge.json +76 -0
- package/vendor/@akanjs/native/packages/core/vectors/ed25519.json +29 -0
- package/vendor/@akanjs/native/packages/core/vectors/ids.json +73 -0
- package/vendor/@akanjs/native/packages/core/vectors/navigation.json +75 -0
- package/vendor/@akanjs/native/packages/core/vectors/ranges.json +39 -0
- package/vendor/@akanjs/native/packages/core/vectors/retained.json +17 -0
- package/vendor/@akanjs/native/packages/core/vectors/routes.json +66 -0
- package/vendor/@akanjs/native/packages/core/vectors/scope.json +143 -0
- package/vendor/@akanjs/native/packages/desktop/src/deeplinks.ts +143 -0
- package/vendor/@akanjs/native/packages/desktop/src/delta.ts +174 -0
- package/vendor/@akanjs/native/packages/desktop/src/dispatcher.ts +679 -0
- package/vendor/@akanjs/native/packages/desktop/src/ffi.ts +76 -0
- package/vendor/@akanjs/native/packages/desktop/src/host.ts +355 -0
- package/vendor/@akanjs/native/packages/desktop/src/lifecycle.ts +142 -0
- package/vendor/@akanjs/native/packages/desktop/src/main.ts +133 -0
- package/vendor/@akanjs/native/packages/desktop/src/page-veto.ts +103 -0
- package/vendor/@akanjs/native/packages/desktop/src/paths.ts +59 -0
- package/vendor/@akanjs/native/packages/desktop/src/plugin.ts +232 -0
- package/vendor/@akanjs/native/packages/react/src/index.ts +23 -0
- package/vendor/@akanjs/native/plugins/accessibility/android/AccessibilityPlugin.kt +96 -0
- package/vendor/@akanjs/native/plugins/accessibility/ios/AccessibilityPlugin.swift +92 -0
- package/vendor/@akanjs/native/plugins/accessibility/native-plugin.json +21 -0
- package/vendor/@akanjs/native/plugins/accessibility/src/announce.ts +71 -0
- package/vendor/@akanjs/native/plugins/accessibility/src/index.ts +77 -0
- package/vendor/@akanjs/native/plugins/accessibility/src/web.ts +52 -0
- package/vendor/@akanjs/native/plugins/app/android/AppPlugin.kt +72 -0
- package/vendor/@akanjs/native/plugins/app/ios/AppPlugin.swift +52 -0
- package/vendor/@akanjs/native/plugins/app/native-plugin.json +21 -0
- package/vendor/@akanjs/native/plugins/app/src/desktop.ts +64 -0
- package/vendor/@akanjs/native/plugins/app/src/index.ts +77 -0
- package/vendor/@akanjs/native/plugins/app/src/web.ts +12 -0
- package/vendor/@akanjs/native/plugins/app-state/android/AppStatePlugin.kt +54 -0
- package/vendor/@akanjs/native/plugins/app-state/ios/AppStatePlugin.swift +58 -0
- package/vendor/@akanjs/native/plugins/app-state/native-plugin.json +17 -0
- package/vendor/@akanjs/native/plugins/app-state/src/index.ts +42 -0
- package/vendor/@akanjs/native/plugins/app-state/src/web.ts +33 -0
- package/vendor/@akanjs/native/plugins/appearance/android/AppearancePlugin.kt +133 -0
- package/vendor/@akanjs/native/plugins/appearance/ios/AppearancePlugin.swift +109 -0
- package/vendor/@akanjs/native/plugins/appearance/native-plugin.json +18 -0
- package/vendor/@akanjs/native/plugins/appearance/src/desktop.ts +133 -0
- package/vendor/@akanjs/native/plugins/appearance/src/index.ts +62 -0
- package/vendor/@akanjs/native/plugins/appearance/src/setting.ts +18 -0
- package/vendor/@akanjs/native/plugins/appearance/src/web.ts +25 -0
- package/vendor/@akanjs/native/plugins/auth-session/android/AuthSessionPlugin.kt +171 -0
- package/vendor/@akanjs/native/plugins/auth-session/ios/AuthSessionPlugin.swift +112 -0
- package/vendor/@akanjs/native/plugins/auth-session/native-plugin.json +19 -0
- package/vendor/@akanjs/native/plugins/auth-session/src/args.ts +62 -0
- package/vendor/@akanjs/native/plugins/auth-session/src/desktop.ts +133 -0
- package/vendor/@akanjs/native/plugins/auth-session/src/index.ts +39 -0
- package/vendor/@akanjs/native/plugins/autostart/native-plugin.json +10 -0
- package/vendor/@akanjs/native/plugins/autostart/src/desktop.ts +189 -0
- package/vendor/@akanjs/native/plugins/autostart/src/index.ts +51 -0
- package/vendor/@akanjs/native/plugins/badge/ios/BadgePlugin.swift +92 -0
- package/vendor/@akanjs/native/plugins/badge/native-plugin.json +15 -0
- package/vendor/@akanjs/native/plugins/badge/src/count.ts +12 -0
- package/vendor/@akanjs/native/plugins/badge/src/desktop.ts +24 -0
- package/vendor/@akanjs/native/plugins/badge/src/index.ts +40 -0
- package/vendor/@akanjs/native/plugins/badge/src/web.ts +37 -0
- package/vendor/@akanjs/native/plugins/biometric/android/BiometricPlugin.kt +179 -0
- package/vendor/@akanjs/native/plugins/biometric/ios/BiometricPlugin.swift +129 -0
- package/vendor/@akanjs/native/plugins/biometric/native-plugin.json +22 -0
- package/vendor/@akanjs/native/plugins/biometric/src/index.ts +100 -0
- package/vendor/@akanjs/native/plugins/browser/android/BrowserPlugin.kt +178 -0
- package/vendor/@akanjs/native/plugins/browser/ios/BrowserPlugin.swift +63 -0
- package/vendor/@akanjs/native/plugins/browser/native-plugin.json +22 -0
- package/vendor/@akanjs/native/plugins/browser/src/args.ts +34 -0
- package/vendor/@akanjs/native/plugins/browser/src/desktop.ts +40 -0
- package/vendor/@akanjs/native/plugins/browser/src/index.ts +47 -0
- package/vendor/@akanjs/native/plugins/browser/src/web.ts +60 -0
- package/vendor/@akanjs/native/plugins/camera/android/CameraPlugin.kt +365 -0
- package/vendor/@akanjs/native/plugins/camera/ios/CameraPlugin.swift +296 -0
- package/vendor/@akanjs/native/plugins/camera/native-plugin.json +32 -0
- package/vendor/@akanjs/native/plugins/camera/src/desktop.ts +27 -0
- package/vendor/@akanjs/native/plugins/camera/src/index.ts +85 -0
- package/vendor/@akanjs/native/plugins/camera/src/web.ts +267 -0
- package/vendor/@akanjs/native/plugins/clipboard/android/ClipboardPlugin.kt +51 -0
- package/vendor/@akanjs/native/plugins/clipboard/ios/ClipboardPlugin.swift +35 -0
- package/vendor/@akanjs/native/plugins/clipboard/native-plugin.json +17 -0
- package/vendor/@akanjs/native/plugins/clipboard/src/desktop.ts +66 -0
- package/vendor/@akanjs/native/plugins/clipboard/src/index.ts +72 -0
- package/vendor/@akanjs/native/plugins/clipboard/src/web.ts +69 -0
- package/vendor/@akanjs/native/plugins/device/android/DevicePlugin.kt +70 -0
- package/vendor/@akanjs/native/plugins/device/ios/DevicePlugin.swift +80 -0
- package/vendor/@akanjs/native/plugins/device/native-plugin.json +18 -0
- package/vendor/@akanjs/native/plugins/device/src/desktop.ts +276 -0
- package/vendor/@akanjs/native/plugins/device/src/index.ts +72 -0
- package/vendor/@akanjs/native/plugins/device/src/web.ts +162 -0
- package/vendor/@akanjs/native/plugins/dialog/android/DialogPlugin.kt +260 -0
- package/vendor/@akanjs/native/plugins/dialog/ios/DialogPlugin.swift +198 -0
- package/vendor/@akanjs/native/plugins/dialog/native-plugin.json +18 -0
- package/vendor/@akanjs/native/plugins/dialog/src/desktop.ts +80 -0
- package/vendor/@akanjs/native/plugins/dialog/src/index.ts +87 -0
- package/vendor/@akanjs/native/plugins/dialog/src/options.ts +111 -0
- package/vendor/@akanjs/native/plugins/dialog/src/web.ts +296 -0
- package/vendor/@akanjs/native/plugins/dock/native-plugin.json +10 -0
- package/vendor/@akanjs/native/plugins/dock/src/desktop.ts +34 -0
- package/vendor/@akanjs/native/plugins/dock/src/index.ts +46 -0
- package/vendor/@akanjs/native/plugins/file-picker/android/FilePickerPlugin.kt +316 -0
- package/vendor/@akanjs/native/plugins/file-picker/ios/FilePickerPlugin.swift +366 -0
- package/vendor/@akanjs/native/plugins/file-picker/native-plugin.json +18 -0
- package/vendor/@akanjs/native/plugins/file-picker/src/common.ts +125 -0
- package/vendor/@akanjs/native/plugins/file-picker/src/desktop.ts +164 -0
- package/vendor/@akanjs/native/plugins/file-picker/src/index.ts +187 -0
- package/vendor/@akanjs/native/plugins/file-picker/src/web.ts +158 -0
- package/vendor/@akanjs/native/plugins/filesystem/android/FilesystemPlugin.kt +561 -0
- package/vendor/@akanjs/native/plugins/filesystem/ios/FilesystemPlugin.swift +596 -0
- package/vendor/@akanjs/native/plugins/filesystem/native-plugin.json +45 -0
- package/vendor/@akanjs/native/plugins/filesystem/src/common.ts +150 -0
- package/vendor/@akanjs/native/plugins/filesystem/src/desktop.ts +438 -0
- package/vendor/@akanjs/native/plugins/filesystem/src/index.ts +179 -0
- package/vendor/@akanjs/native/plugins/filesystem/src/web.ts +334 -0
- package/vendor/@akanjs/native/plugins/geolocation/android/GeolocationPlugin.kt +360 -0
- package/vendor/@akanjs/native/plugins/geolocation/ios/GeolocationPlugin.swift +284 -0
- package/vendor/@akanjs/native/plugins/geolocation/native-plugin.json +23 -0
- package/vendor/@akanjs/native/plugins/geolocation/src/index.ts +155 -0
- package/vendor/@akanjs/native/plugins/geolocation/src/web.ts +132 -0
- package/vendor/@akanjs/native/plugins/global-shortcut/native-plugin.json +10 -0
- package/vendor/@akanjs/native/plugins/global-shortcut/src/desktop.ts +36 -0
- package/vendor/@akanjs/native/plugins/global-shortcut/src/index.ts +55 -0
- package/vendor/@akanjs/native/plugins/haptics/android/HapticsPlugin.kt +127 -0
- package/vendor/@akanjs/native/plugins/haptics/ios/HapticsPlugin.swift +127 -0
- package/vendor/@akanjs/native/plugins/haptics/native-plugin.json +19 -0
- package/vendor/@akanjs/native/plugins/haptics/src/index.ts +34 -0
- package/vendor/@akanjs/native/plugins/haptics/src/web.ts +53 -0
- package/vendor/@akanjs/native/plugins/http/android/HttpPlugin.kt +234 -0
- package/vendor/@akanjs/native/plugins/http/android/HttpUrl.kt +182 -0
- package/vendor/@akanjs/native/plugins/http/ios/HttpPlugin.swift +228 -0
- package/vendor/@akanjs/native/plugins/http/ios/HttpUrl.swift +166 -0
- package/vendor/@akanjs/native/plugins/http/native-plugin.json +27 -0
- package/vendor/@akanjs/native/plugins/http/src/common.ts +294 -0
- package/vendor/@akanjs/native/plugins/http/src/desktop.ts +69 -0
- package/vendor/@akanjs/native/plugins/http/src/index.ts +181 -0
- package/vendor/@akanjs/native/plugins/http/src/web.ts +40 -0
- package/vendor/@akanjs/native/plugins/iap/android/IapPlugin.kt +358 -0
- package/vendor/@akanjs/native/plugins/iap/ios/IapPlugin.swift +306 -0
- package/vendor/@akanjs/native/plugins/iap/native-plugin.json +28 -0
- package/vendor/@akanjs/native/plugins/iap/src/index.ts +206 -0
- package/vendor/@akanjs/native/plugins/keep-awake/android/KeepAwakePlugin.kt +48 -0
- package/vendor/@akanjs/native/plugins/keep-awake/ios/KeepAwakePlugin.swift +36 -0
- package/vendor/@akanjs/native/plugins/keep-awake/native-plugin.json +17 -0
- package/vendor/@akanjs/native/plugins/keep-awake/src/desktop.ts +127 -0
- package/vendor/@akanjs/native/plugins/keep-awake/src/index.ts +79 -0
- package/vendor/@akanjs/native/plugins/keep-awake/src/web.ts +78 -0
- package/vendor/@akanjs/native/plugins/keyboard/android/KeyboardPlugin.kt +77 -0
- package/vendor/@akanjs/native/plugins/keyboard/ios/KeyboardPlugin.swift +93 -0
- package/vendor/@akanjs/native/plugins/keyboard/native-plugin.json +18 -0
- package/vendor/@akanjs/native/plugins/keyboard/src/index.ts +78 -0
- package/vendor/@akanjs/native/plugins/keyboard/src/web.ts +57 -0
- package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotificationReceiver.kt +38 -0
- package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotifications.kt +284 -0
- package/vendor/@akanjs/native/plugins/local-notifications/android/LocalNotificationsPlugin.kt +248 -0
- package/vendor/@akanjs/native/plugins/local-notifications/ios/LocalNotificationsPlugin.swift +279 -0
- package/vendor/@akanjs/native/plugins/local-notifications/native-plugin.json +35 -0
- package/vendor/@akanjs/native/plugins/local-notifications/src/desktop.ts +196 -0
- package/vendor/@akanjs/native/plugins/local-notifications/src/index.ts +174 -0
- package/vendor/@akanjs/native/plugins/local-notifications/src/schedule.ts +164 -0
- package/vendor/@akanjs/native/plugins/local-notifications/src/timers.ts +72 -0
- package/vendor/@akanjs/native/plugins/local-notifications/src/web.ts +158 -0
- package/vendor/@akanjs/native/plugins/menu/native-plugin.json +10 -0
- package/vendor/@akanjs/native/plugins/menu/src/desktop.ts +52 -0
- package/vendor/@akanjs/native/plugins/menu/src/index.ts +107 -0
- package/vendor/@akanjs/native/plugins/network/android/NetworkPlugin.kt +124 -0
- package/vendor/@akanjs/native/plugins/network/ios/NetworkPlugin.swift +82 -0
- package/vendor/@akanjs/native/plugins/network/native-plugin.json +19 -0
- package/vendor/@akanjs/native/plugins/network/src/index.ts +59 -0
- package/vendor/@akanjs/native/plugins/network/src/web.ts +43 -0
- package/vendor/@akanjs/native/plugins/opener/android/OpenerPlugin.kt +81 -0
- package/vendor/@akanjs/native/plugins/opener/ios/OpenerPlugin.swift +83 -0
- package/vendor/@akanjs/native/plugins/opener/native-plugin.json +25 -0
- package/vendor/@akanjs/native/plugins/opener/src/desktop.ts +88 -0
- package/vendor/@akanjs/native/plugins/opener/src/index.ts +35 -0
- package/vendor/@akanjs/native/plugins/opener/src/url.ts +39 -0
- package/vendor/@akanjs/native/plugins/opener/src/web.ts +33 -0
- package/vendor/@akanjs/native/plugins/preferences/android/PreferencesPlugin.kt +44 -0
- package/vendor/@akanjs/native/plugins/preferences/ios/PreferencesPlugin.swift +47 -0
- package/vendor/@akanjs/native/plugins/preferences/native-plugin.json +18 -0
- package/vendor/@akanjs/native/plugins/preferences/src/desktop.ts +59 -0
- package/vendor/@akanjs/native/plugins/preferences/src/index.ts +75 -0
- package/vendor/@akanjs/native/plugins/preferences/src/web.ts +55 -0
- package/vendor/@akanjs/native/plugins/push/android/AkanNativeMessagingService.kt +17 -0
- package/vendor/@akanjs/native/plugins/push/android/PushPlugin.kt +257 -0
- package/vendor/@akanjs/native/plugins/push/ios/PushPlugin.swift +169 -0
- package/vendor/@akanjs/native/plugins/push/native-plugin.json +23 -0
- package/vendor/@akanjs/native/plugins/push/src/index.ts +73 -0
- package/vendor/@akanjs/native/plugins/screen/native-plugin.json +10 -0
- package/vendor/@akanjs/native/plugins/screen/src/desktop.ts +50 -0
- package/vendor/@akanjs/native/plugins/screen/src/index.ts +107 -0
- package/vendor/@akanjs/native/plugins/screen/src/web.ts +92 -0
- package/vendor/@akanjs/native/plugins/screen-orientation/android/ScreenOrientationPlugin.kt +113 -0
- package/vendor/@akanjs/native/plugins/screen-orientation/ios/ScreenOrientationPlugin.swift +150 -0
- package/vendor/@akanjs/native/plugins/screen-orientation/native-plugin.json +17 -0
- package/vendor/@akanjs/native/plugins/screen-orientation/src/index.ts +69 -0
- package/vendor/@akanjs/native/plugins/screen-orientation/src/types.ts +26 -0
- package/vendor/@akanjs/native/plugins/screen-orientation/src/web.ts +67 -0
- package/vendor/@akanjs/native/plugins/secure-storage/android/SecureStoragePlugin.kt +184 -0
- package/vendor/@akanjs/native/plugins/secure-storage/ios/SecureStoragePlugin.swift +145 -0
- package/vendor/@akanjs/native/plugins/secure-storage/native-plugin.json +18 -0
- package/vendor/@akanjs/native/plugins/secure-storage/src/desktop.ts +332 -0
- package/vendor/@akanjs/native/plugins/secure-storage/src/index.ts +33 -0
- package/vendor/@akanjs/native/plugins/share/android/SharePlugin.kt +218 -0
- package/vendor/@akanjs/native/plugins/share/ios/SharePlugin.swift +142 -0
- package/vendor/@akanjs/native/plugins/share/native-plugin.json +18 -0
- package/vendor/@akanjs/native/plugins/share/src/index.ts +87 -0
- package/vendor/@akanjs/native/plugins/share/src/options.ts +43 -0
- package/vendor/@akanjs/native/plugins/share/src/web.ts +116 -0
- package/vendor/@akanjs/native/plugins/single-instance/native-plugin.json +10 -0
- package/vendor/@akanjs/native/plugins/single-instance/src/desktop.ts +63 -0
- package/vendor/@akanjs/native/plugins/single-instance/src/index.ts +32 -0
- package/vendor/@akanjs/native/plugins/single-instance/src/socket.ts +248 -0
- package/vendor/@akanjs/native/plugins/splash-screen/android/SplashScreenPlugin.kt +19 -0
- package/vendor/@akanjs/native/plugins/splash-screen/ios/SplashScreenPlugin.swift +20 -0
- package/vendor/@akanjs/native/plugins/splash-screen/native-plugin.json +17 -0
- package/vendor/@akanjs/native/plugins/splash-screen/src/index.ts +24 -0
- package/vendor/@akanjs/native/plugins/splash-screen/src/web.ts +17 -0
- package/vendor/@akanjs/native/plugins/sqlite/android/SqlStatements.kt +121 -0
- package/vendor/@akanjs/native/plugins/sqlite/android/SqlitePlugin.kt +327 -0
- package/vendor/@akanjs/native/plugins/sqlite/ios/SqlitePlugin.swift +361 -0
- package/vendor/@akanjs/native/plugins/sqlite/native-plugin.json +18 -0
- package/vendor/@akanjs/native/plugins/sqlite/src/common.ts +221 -0
- package/vendor/@akanjs/native/plugins/sqlite/src/desktop.ts +140 -0
- package/vendor/@akanjs/native/plugins/sqlite/src/index.ts +114 -0
- package/vendor/@akanjs/native/plugins/toast/android/ToastPlugin.kt +27 -0
- package/vendor/@akanjs/native/plugins/toast/native-plugin.json +14 -0
- package/vendor/@akanjs/native/plugins/toast/src/index.ts +41 -0
- package/vendor/@akanjs/native/plugins/toast/src/queue.ts +77 -0
- package/vendor/@akanjs/native/plugins/toast/src/web.ts +130 -0
- package/vendor/@akanjs/native/plugins/tray/native-plugin.json +10 -0
- package/vendor/@akanjs/native/plugins/tray/src/desktop.ts +73 -0
- package/vendor/@akanjs/native/plugins/tray/src/index.ts +111 -0
- package/vendor/@akanjs/native/plugins/updates/android/UpdatesPlugin.kt +290 -0
- package/vendor/@akanjs/native/plugins/updates/ios/UpdatesPlugin.swift +292 -0
- package/vendor/@akanjs/native/plugins/updates/native-plugin.json +19 -0
- package/vendor/@akanjs/native/plugins/updates/src/desktop.ts +558 -0
- package/vendor/@akanjs/native/plugins/updates/src/index.ts +95 -0
- package/vendor/@akanjs/native/plugins/window/native-plugin.json +32 -0
- package/vendor/@akanjs/native/plugins/window/src/desktop.ts +170 -0
- package/vendor/@akanjs/native/plugins/window/src/index.ts +342 -0
- package/vendor/@akanjs/native/plugins/window/src/web.ts +43 -0
- package/vendor/@akanjs/native/plugins/window-state/native-plugin.json +10 -0
- package/vendor/@akanjs/native/plugins/window-state/src/desktop.ts +73 -0
- package/vendor/@akanjs/native/plugins/window-state/src/index.ts +35 -0
- package/vendor/@akanjs/native/plugins/window-state/src/state.ts +146 -0
- package/webkit/bootCsr.tsx +26 -14
- package/webkit/index.ts +0 -2
- package/webkit/nativeNavigation.ts +116 -0
- package/webkit/nativePurchase.ts +93 -0
- package/webkit/useCamera.tsx +76 -71
- package/webkit/useCsrValues.ts +10 -124
- package/webkit/useGeoLocation.tsx +11 -13
- package/webkit/usePurchase.tsx +68 -123
- package/capacitor.base.config.ts +0 -140
- package/client/capacitor.ts +0 -252
- package/types/capacitor.base.config.d.ts +0 -3
- package/types/client/capacitor.d.ts +0 -290
- package/types/webkit/useCodepush.d.ts +0 -16
- package/types/webkit/useContact.d.ts +0 -11
- package/webkit/useCodepush.tsx +0 -76
- package/webkit/useContact.tsx +0 -45
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { AppInfo, FileRef, ResolvedAcl } from "../../core/src/index.ts";
|
|
2
|
+
import { type BridgeEvent, type BridgeRequest, type BridgeResponse } from "../../core/src/protocol.ts";
|
|
3
|
+
import type { Lifecycle } from "./lifecycle.ts";
|
|
4
|
+
import type { DesktopPlugin, Launch, NativeEvent } from "./plugin.ts";
|
|
5
|
+
/** How long the window waits for one plugin's setup. */
|
|
6
|
+
export declare const SETUP_TIMEOUT_MS = 3000;
|
|
7
|
+
/**
|
|
8
|
+
* How long a page's call to a plugin whose setup is still running (it outlasted SETUP_TIMEOUT_MS)
|
|
9
|
+
* waits for it before it is answered INTERNAL with `retryable`.
|
|
10
|
+
*/
|
|
11
|
+
export declare const SETUP_WAIT_MS = 5000;
|
|
12
|
+
export interface HostServices {
|
|
13
|
+
app: AppInfo;
|
|
14
|
+
appDataDir: string;
|
|
15
|
+
/** Sends an event (numbered for its document) to a window's page. */
|
|
16
|
+
emit(window: number, message: BridgeEvent): void;
|
|
17
|
+
/**
|
|
18
|
+
* Reserved plugin ids the host answers itself ($console, $host): the result, or a throw. `signal`
|
|
19
|
+
* fires when the page cancels the call or goes away.
|
|
20
|
+
*/
|
|
21
|
+
builtins?: Record<string, (req: BridgeRequest, window: number, signal: AbortSignal) => unknown>;
|
|
22
|
+
/** Windows by last focus, most recent first (SH-6). For EmitTarget "focused". */
|
|
23
|
+
focusOrder?(): number[];
|
|
24
|
+
registerFile(path: string, mime: string): FileRef;
|
|
25
|
+
/** Stops serving a FileRef ($bridge.release). False when the URL is not one of this session's. */
|
|
26
|
+
releaseFile?(url: string): boolean;
|
|
27
|
+
shell?(op: string, args?: Record<string, unknown>): Promise<unknown>;
|
|
28
|
+
onNativeEvent?(type: string, listener: (event: NativeEvent) => void): () => void;
|
|
29
|
+
deepLinkSchemes?: readonly string[];
|
|
30
|
+
/** security.shell.externalSchemes from shell.json (L0). */
|
|
31
|
+
externalSchemes?: readonly string[];
|
|
32
|
+
openLinks?(args: readonly string[]): void;
|
|
33
|
+
quit?(code: number): void;
|
|
34
|
+
/** Quit and close sequence (lifecycle.ts). Without it, quit() ends the app at once and nothing can veto. */
|
|
35
|
+
lifecycle?: Lifecycle;
|
|
36
|
+
}
|
|
37
|
+
export interface Dispatcher {
|
|
38
|
+
/** Every plugin's setup finished (or ran out of time): what the window should look like, or exit. */
|
|
39
|
+
launched: Promise<Launch>;
|
|
40
|
+
/** Handles one request body (JSON text) from a window's page and returns the response. Never throws. */
|
|
41
|
+
handle(body: string, window?: number): Promise<BridgeResponse>;
|
|
42
|
+
/**
|
|
43
|
+
* A window's page (re)loaded or the window is gone: its document ends, its subscriptions are
|
|
44
|
+
* gone, and event sources nobody listens to any more stop. Without a window: every page.
|
|
45
|
+
*/
|
|
46
|
+
reset(window?: number): void;
|
|
47
|
+
/** Sends an event to a window's current document whether or not it listens (host built-ins). */
|
|
48
|
+
emitTo(window: number, plugin: string, event: string, data?: unknown): void;
|
|
49
|
+
/** Table sizes for the document churn check (K13, dev $host.info). */
|
|
50
|
+
stats(): DispatcherStats;
|
|
51
|
+
}
|
|
52
|
+
export interface DispatcherStats {
|
|
53
|
+
documents: number;
|
|
54
|
+
/** Ended document ids remembered, all windows. */
|
|
55
|
+
ended: number;
|
|
56
|
+
/** $listen counts, all windows and events. */
|
|
57
|
+
subscriptions: number;
|
|
58
|
+
/** Event sources running. */
|
|
59
|
+
sources: number;
|
|
60
|
+
/** Calls not answered yet. */
|
|
61
|
+
running: number;
|
|
62
|
+
/** Resources owned by live documents (ctx.document.own). */
|
|
63
|
+
resources: number;
|
|
64
|
+
/** ctx.onDocumentEnd listeners. */
|
|
65
|
+
documentListeners: number;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* A document's request ids (bridge v1.1 `once`): each is accepted once. The page numbers its
|
|
69
|
+
* requests upward, but they arrive over HTTP and can overtake each other, so the recent ids are
|
|
70
|
+
* kept in a set and older ones are covered by a floor.
|
|
71
|
+
*/
|
|
72
|
+
export declare class CallIds {
|
|
73
|
+
private floor;
|
|
74
|
+
private readonly seen;
|
|
75
|
+
/** Whether the id was received (or is older than what is remembered). */
|
|
76
|
+
has(id: number): boolean;
|
|
77
|
+
accept(id: number): boolean;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* How long a coalescing event (manifest `coalesce`, architecture review stage 4) waits for a newer one
|
|
81
|
+
* before it is sent: about 10 per second at most.
|
|
82
|
+
*/
|
|
83
|
+
export declare const COALESCE_MS = 100;
|
|
84
|
+
export interface DispatcherOptions {
|
|
85
|
+
setupTimeoutMs?: number;
|
|
86
|
+
setupWaitMs?: number;
|
|
87
|
+
/** The app's resolved capabilities from boot.json (PL-11). Absent: everything is allowed. */
|
|
88
|
+
acl?: ResolvedAcl | null;
|
|
89
|
+
/**
|
|
90
|
+
* boot.json `plugins` (L2 declaration gate): a method or event a plugin does not declare for this
|
|
91
|
+
* platform is NOT_FOUND before the ACL and the plugin, whatever its module implements. Absent: no gate (tests).
|
|
92
|
+
*/
|
|
93
|
+
declarations?: Record<string, unknown>;
|
|
94
|
+
}
|
|
95
|
+
export declare function createDispatcher(plugins: DesktopPlugin[], services: HostServices, options?: DispatcherOptions): Dispatcher;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
export interface DesktopPaths {
|
|
2
|
+
/** The native library: libakan_native_desktop.dylib, akan_native_desktop.dll or libakan_native_desktop.so */
|
|
3
|
+
lib: string;
|
|
4
|
+
/** boot.json, env.runtime.json, shell.json, app/ (platforms/desktop.ts in the CLI) */
|
|
5
|
+
resources: string;
|
|
6
|
+
appDir: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Paths relative to the executable, as the CLI lays them out (packages/cli/src/platforms/*.ts):
|
|
10
|
+
* macOS <App>.app/Contents/MacOS/<exe>, Frameworks/libakan_native_desktop.dylib, Resources/
|
|
11
|
+
* Windows <App>\<exe>.exe, akan_native_desktop.dll, resources\
|
|
12
|
+
* Linux <app>/<exe>, lib/libakan_native_desktop.so, resources/
|
|
13
|
+
* process.execPath is absolute even when the app is started with `open` (cwd = /) or through a
|
|
14
|
+
* symlink. Nothing in the environment overrides them: the app would load whatever library a
|
|
15
|
+
* variable (or a .env file next to it, before the build turned autoloading off) names.
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolvePaths(platform?: NodeJS.Platform, execPath?: string): DesktopPaths;
|
|
18
|
+
/** The C ABI major version this code speaks (lib.rs ABI >> 16). */
|
|
19
|
+
export declare const ABI_MAJOR = 0;
|
|
20
|
+
export declare const SYMBOLS: {
|
|
21
|
+
readonly akan_native_abi: {
|
|
22
|
+
readonly args: readonly [];
|
|
23
|
+
readonly returns: "u32";
|
|
24
|
+
};
|
|
25
|
+
readonly akan_native_init: {
|
|
26
|
+
readonly args: readonly ["u8"];
|
|
27
|
+
readonly returns: "i32";
|
|
28
|
+
};
|
|
29
|
+
readonly akan_native_last_error: {
|
|
30
|
+
readonly args: readonly ["ptr", "u64"];
|
|
31
|
+
readonly returns: "u64";
|
|
32
|
+
};
|
|
33
|
+
readonly akan_native_run: {
|
|
34
|
+
readonly args: readonly ["ptr"];
|
|
35
|
+
readonly returns: "i32";
|
|
36
|
+
};
|
|
37
|
+
readonly akan_native_set_wake: {
|
|
38
|
+
readonly args: readonly ["ptr"];
|
|
39
|
+
readonly returns: "void";
|
|
40
|
+
};
|
|
41
|
+
readonly akan_native_poll: {
|
|
42
|
+
readonly args: readonly ["ptr", "u32"];
|
|
43
|
+
readonly returns: "u32";
|
|
44
|
+
};
|
|
45
|
+
readonly akan_native_respond: {
|
|
46
|
+
readonly args: readonly ["u64", "u16", "ptr", "ptr", "u32"];
|
|
47
|
+
readonly returns: "void";
|
|
48
|
+
};
|
|
49
|
+
readonly akan_native_emit: {
|
|
50
|
+
readonly args: readonly ["u32", "ptr"];
|
|
51
|
+
readonly returns: "void";
|
|
52
|
+
};
|
|
53
|
+
readonly akan_native_register_file: {
|
|
54
|
+
readonly args: readonly ["ptr", "ptr", "ptr"];
|
|
55
|
+
readonly returns: "void";
|
|
56
|
+
};
|
|
57
|
+
readonly akan_native_unregister_file: {
|
|
58
|
+
readonly args: readonly ["ptr"];
|
|
59
|
+
readonly returns: "u8";
|
|
60
|
+
};
|
|
61
|
+
readonly akan_native_quit: {
|
|
62
|
+
readonly args: readonly ["i32"];
|
|
63
|
+
readonly returns: "void";
|
|
64
|
+
};
|
|
65
|
+
readonly akan_native_quit_cancel: {
|
|
66
|
+
readonly args: readonly [];
|
|
67
|
+
readonly returns: "void";
|
|
68
|
+
};
|
|
69
|
+
readonly akan_native_external_open_allowed: {
|
|
70
|
+
readonly args: readonly [];
|
|
71
|
+
readonly returns: "u8";
|
|
72
|
+
};
|
|
73
|
+
readonly akan_native_shell: {
|
|
74
|
+
readonly args: readonly ["u64", "ptr"];
|
|
75
|
+
readonly returns: "void";
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
export declare function openNative(libPath: string): import("bun:ffi").Library<{
|
|
79
|
+
readonly akan_native_abi: {
|
|
80
|
+
readonly args: readonly [];
|
|
81
|
+
readonly returns: "u32";
|
|
82
|
+
};
|
|
83
|
+
readonly akan_native_init: {
|
|
84
|
+
readonly args: readonly ["u8"];
|
|
85
|
+
readonly returns: "i32";
|
|
86
|
+
};
|
|
87
|
+
readonly akan_native_last_error: {
|
|
88
|
+
readonly args: readonly ["ptr", "u64"];
|
|
89
|
+
readonly returns: "u64";
|
|
90
|
+
};
|
|
91
|
+
readonly akan_native_run: {
|
|
92
|
+
readonly args: readonly ["ptr"];
|
|
93
|
+
readonly returns: "i32";
|
|
94
|
+
};
|
|
95
|
+
readonly akan_native_set_wake: {
|
|
96
|
+
readonly args: readonly ["ptr"];
|
|
97
|
+
readonly returns: "void";
|
|
98
|
+
};
|
|
99
|
+
readonly akan_native_poll: {
|
|
100
|
+
readonly args: readonly ["ptr", "u32"];
|
|
101
|
+
readonly returns: "u32";
|
|
102
|
+
};
|
|
103
|
+
readonly akan_native_respond: {
|
|
104
|
+
readonly args: readonly ["u64", "u16", "ptr", "ptr", "u32"];
|
|
105
|
+
readonly returns: "void";
|
|
106
|
+
};
|
|
107
|
+
readonly akan_native_emit: {
|
|
108
|
+
readonly args: readonly ["u32", "ptr"];
|
|
109
|
+
readonly returns: "void";
|
|
110
|
+
};
|
|
111
|
+
readonly akan_native_register_file: {
|
|
112
|
+
readonly args: readonly ["ptr", "ptr", "ptr"];
|
|
113
|
+
readonly returns: "void";
|
|
114
|
+
};
|
|
115
|
+
readonly akan_native_unregister_file: {
|
|
116
|
+
readonly args: readonly ["ptr"];
|
|
117
|
+
readonly returns: "u8";
|
|
118
|
+
};
|
|
119
|
+
readonly akan_native_quit: {
|
|
120
|
+
readonly args: readonly ["i32"];
|
|
121
|
+
readonly returns: "void";
|
|
122
|
+
};
|
|
123
|
+
readonly akan_native_quit_cancel: {
|
|
124
|
+
readonly args: readonly [];
|
|
125
|
+
readonly returns: "void";
|
|
126
|
+
};
|
|
127
|
+
readonly akan_native_external_open_allowed: {
|
|
128
|
+
readonly args: readonly [];
|
|
129
|
+
readonly returns: "u8";
|
|
130
|
+
};
|
|
131
|
+
readonly akan_native_shell: {
|
|
132
|
+
readonly args: readonly ["u64", "ptr"];
|
|
133
|
+
readonly returns: "void";
|
|
134
|
+
};
|
|
135
|
+
}>;
|
|
136
|
+
/** The native library's last error (akan_native_last_error), or "". */
|
|
137
|
+
export declare function lastError(lib: NativeLib): string;
|
|
138
|
+
export type NativeLib = ReturnType<typeof openNative>;
|
|
139
|
+
/** NUL-terminated UTF-8. Native code copies it during the call, so it may be collected afterwards. */
|
|
140
|
+
export declare const cstr: (text: string) => Uint8Array<ArrayBuffer>;
|
|
141
|
+
/** Message kinds in akan_native_poll frames: [u8 kind][u64 reqId LE][u32 webviewId LE][body]. */
|
|
142
|
+
export declare const FRAME_IPC = 1;
|
|
143
|
+
export declare const FRAME_EVENT = 2;
|
|
144
|
+
export declare const FRAME_HEADER = 13;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AkanNativeError } from "../../core/src/index.ts";
|
|
2
|
+
import { type DesktopPlugin } from "./plugin.ts";
|
|
3
|
+
/** A drain handles at most this many frames, or runs this long, before it yields (see drain). */
|
|
4
|
+
export declare const DRAIN_FRAMES = 256;
|
|
5
|
+
export declare const DRAIN_MS = 4;
|
|
6
|
+
/**
|
|
7
|
+
* A failed shell op. Ops may name the error code first ("UNSUPPORTED: no tray on this desktop");
|
|
8
|
+
* other messages are about the arguments.
|
|
9
|
+
*/
|
|
10
|
+
export declare function shellError(message: string): AkanNativeError;
|
|
11
|
+
export declare function startHost(plugins: DesktopPlugin[]): void;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export type QuitReason = "user" | "session" | "lastWindowClosed";
|
|
2
|
+
/** Return false (or resolve to false) to keep the app running / the window open. */
|
|
3
|
+
export type Veto<E> = (event: E) => boolean | void | Promise<boolean | void>;
|
|
4
|
+
export interface LifecycleOptions {
|
|
5
|
+
quitOnLastWindowClosed: boolean;
|
|
6
|
+
/** Ends the process (akan_native_quit). */
|
|
7
|
+
exit(code: number): void;
|
|
8
|
+
/** The app stays after a logout asked it to quit (akan_native_quit_cancel). */
|
|
9
|
+
cancelSessionEnd(): void;
|
|
10
|
+
/** Hides the last window instead of quitting (quitOnLastWindowClosed: false). */
|
|
11
|
+
hideWindow(window: number): Promise<unknown>;
|
|
12
|
+
/** Destroys a window that is not the last one. */
|
|
13
|
+
destroyWindow?(window: number): Promise<unknown>;
|
|
14
|
+
/** The windows that exist, hidden ones included. Default: only the one being closed. */
|
|
15
|
+
windows?(): Promise<number[]>;
|
|
16
|
+
/** How long quit() waits for the onQuit hooks, all together. Default QUIT_HOOK_TIMEOUT. */
|
|
17
|
+
quitHookTimeout?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface Lifecycle {
|
|
20
|
+
onQuit(fn: () => void | Promise<void>): () => void;
|
|
21
|
+
onBeforeQuit(fn: Veto<{
|
|
22
|
+
reason: QuitReason;
|
|
23
|
+
}>): () => void;
|
|
24
|
+
onCloseRequested(fn: Veto<{
|
|
25
|
+
window: number;
|
|
26
|
+
}>): () => void;
|
|
27
|
+
/** A window's close button or Cmd+W: asks the close vetoes, then closeWindow(window). */
|
|
28
|
+
closeRequested(window?: number): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Closes a window without asking: destroys it while another window exists, else a quit
|
|
31
|
+
* request, or hide (quitOnLastWindowClosed: false).
|
|
32
|
+
*/
|
|
33
|
+
closeWindow(window?: number): Promise<void>;
|
|
34
|
+
/** Asks the quit vetoes, then quits. Resolves true when the app quits. */
|
|
35
|
+
requestQuit(reason: QuitReason): Promise<boolean>;
|
|
36
|
+
/** Quits without asking: onQuit hooks, then exit. */
|
|
37
|
+
quit(code?: number): Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
export declare const QUIT_HOOK_TIMEOUT = 2000;
|
|
40
|
+
export declare function createLifecycle(options: LifecycleOptions): Lifecycle;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LaunchWindow } from "./plugin.ts";
|
|
2
|
+
/** The launch phase's window bounds that akan_native_run understands (x and y only together). */
|
|
3
|
+
export declare function launchBounds(window: LaunchWindow): LaunchWindow;
|
|
4
|
+
export declare function startMain(workerUrl: string): Promise<never>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { DesktopContext, EmitTarget } from "./plugin.ts";
|
|
2
|
+
export declare const PAGE_ACK_TIMEOUT = 2000;
|
|
3
|
+
export interface PageVeto<D> {
|
|
4
|
+
readonly listening: boolean;
|
|
5
|
+
/**
|
|
6
|
+
* The plugin's event source: `events: { closeRequested: (emit, ctx) => veto.source(emit, ctx) }`.
|
|
7
|
+
* With `ctx`, a page that reloads or whose window is destroyed while asked drops the request.
|
|
8
|
+
*/
|
|
9
|
+
source(emit: (data: D & {
|
|
10
|
+
id: number;
|
|
11
|
+
}, target?: EmitTarget) => number[] | unknown, ctx?: DesktopContext): () => void;
|
|
12
|
+
/** Resolves false if a page called preventDefault(). */
|
|
13
|
+
ask(data: D, target?: EmitTarget): Promise<boolean>;
|
|
14
|
+
/** The plugin method the pages answer with: { id, allow? }, from `window` (ctx.window). */
|
|
15
|
+
answer(args: unknown, window?: number): void;
|
|
16
|
+
}
|
|
17
|
+
export declare function createPageVeto<D extends object = {}>(ackTimeout?: number): PageVeto<D>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
type Env = Record<string, string | undefined>;
|
|
2
|
+
/**
|
|
3
|
+
* Settings and state the app keeps (preferences, window state, files):
|
|
4
|
+
* macOS ~/Library/Application Support/<id>
|
|
5
|
+
* Windows %APPDATA%\<id> (Roaming: follows the user between PCs)
|
|
6
|
+
* Linux $XDG_DATA_HOME/<id> (~/.local/share/<id>)
|
|
7
|
+
*/
|
|
8
|
+
export declare function appDataDir(id: string, platform?: NodeJS.Platform, env?: Env, home?: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* The webview's own storage and caches (Windows, Linux; WKWebView chooses its own on macOS):
|
|
11
|
+
* Windows %LOCALAPPDATA%\<id>\WebView2 (large and machine-specific: not Roaming)
|
|
12
|
+
* Linux $XDG_DATA_HOME/<id>/webview
|
|
13
|
+
* WebView2's default would be next to the .exe, which is not writable once installed.
|
|
14
|
+
*/
|
|
15
|
+
export declare function webviewDataDir(id: string, platform?: NodeJS.Platform, env?: Env, home?: string): string | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Folders whose files no FileRef may serve (L4): the shell's and the plugins' own storage
|
|
18
|
+
* (preferences, secure storage, databases, update bundles, window state, the webview's data). Only
|
|
19
|
+
* the filesystem plugin's `data` base (<app data>/files) is servable inside the app data folder.
|
|
20
|
+
*/
|
|
21
|
+
export declare function reservedDirs(id: string, platform?: NodeJS.Platform, env?: Env, home?: string): {
|
|
22
|
+
root: string;
|
|
23
|
+
except: string[];
|
|
24
|
+
}[];
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import type { AppInfo, CallScope, FileRef } from "../../core/src/index.ts";
|
|
2
|
+
import type { QuitReason, Veto } from "./lifecycle.ts";
|
|
3
|
+
export type { QuitReason, Veto } from "./lifecycle.ts";
|
|
4
|
+
export { createPageVeto, type PageVeto } from "./page-veto.ts";
|
|
5
|
+
/**
|
|
6
|
+
* Which pages an event goes to. Default: every page that listens. `{ window }`: only that
|
|
7
|
+
* window's page (window events). "focused": only the most recently focused window that listens
|
|
8
|
+
* (something to handle once, like a deep link).
|
|
9
|
+
*/
|
|
10
|
+
export type EmitTarget = {
|
|
11
|
+
window: number;
|
|
12
|
+
} | "focused";
|
|
13
|
+
export interface DesktopContext {
|
|
14
|
+
app: AppInfo;
|
|
15
|
+
/**
|
|
16
|
+
* The window whose page made this call (SH-6; 1 = the window the app opened). Only in method
|
|
17
|
+
* calls; undefined in setup and event sources.
|
|
18
|
+
*/
|
|
19
|
+
readonly window?: number;
|
|
20
|
+
/**
|
|
21
|
+
* What the app's capabilities allow this method call (PL-11): enforce it with
|
|
22
|
+
* `scopePermits(ctx.scope, { field: value }, pathFields, urlFields)` from @akanjs/native/core. Undefined when no
|
|
23
|
+
* matching grant carries scopes (only the plugin's own rules apply). Only in method calls.
|
|
24
|
+
*/
|
|
25
|
+
readonly scope?: CallScope;
|
|
26
|
+
/**
|
|
27
|
+
* Fires when the page gives up on this call (its AbortSignal: v1.1 `cancel`) or the page is gone.
|
|
28
|
+
* The page has its answer by then (CANCELLED or TIMEOUT); stop the work and release what it
|
|
29
|
+
* holds. Only in method calls.
|
|
30
|
+
*/
|
|
31
|
+
readonly signal?: AbortSignal;
|
|
32
|
+
/**
|
|
33
|
+
* The calling page's document (one page load; bridge v1.1 `doc`), for what must not outlive it:
|
|
34
|
+
* `ctx.document.own(() => db.close())`. Only in method calls.
|
|
35
|
+
*/
|
|
36
|
+
readonly document?: DocumentScope;
|
|
37
|
+
/** Per-app data folder, e.g. ~/Library/Application Support/<app id>. Created on first access. */
|
|
38
|
+
readonly appDataDir: string;
|
|
39
|
+
/** Pushes an event of this plugin to the pages that listen. Returns the windows reached. */
|
|
40
|
+
emit(event: string, data?: unknown, target?: EmitTarget): number[];
|
|
41
|
+
/** Serves a local file at /__akan_native/file/<id> for the rest of the session (PL-7). */
|
|
42
|
+
registerFile(path: string, mime: string): FileRef;
|
|
43
|
+
/**
|
|
44
|
+
* Runs a native shell command on the main thread, e.g. shell("window.setTitle", { title }).
|
|
45
|
+
* Window ops act on `args.window`; without it, on the calling window in a method call, else on
|
|
46
|
+
* the most recently focused window.
|
|
47
|
+
*/
|
|
48
|
+
shell(op: string, args?: Record<string, unknown>): Promise<unknown>;
|
|
49
|
+
/** Native shell events ("window", "opened", "pageLoad", …). Returns an unsubscribe function. */
|
|
50
|
+
onNativeEvent(type: string, listener: (event: NativeEvent) => void): () => void;
|
|
51
|
+
/** The app's deep link schemes (deepLinks.schemes in akan-native.config.ts), lowercase. */
|
|
52
|
+
readonly deepLinkSchemes: readonly string[];
|
|
53
|
+
/**
|
|
54
|
+
* What may be handed to the OS (L0): http, https, mailto, tel and security.shell.externalSchemes.
|
|
55
|
+
* Plugins that open URLs outside the app check them and call `externalOpenAllowed()` first.
|
|
56
|
+
*/
|
|
57
|
+
readonly externalSchemes: readonly string[];
|
|
58
|
+
/**
|
|
59
|
+
* Hands a launch's arguments to the "opened" listeners when they are a deep link (D6). Windows
|
|
60
|
+
* and Linux start a new process for a link; single-instance passes that process's arguments
|
|
61
|
+
* here. Anything but a single URL of one of the app's schemes is ignored (deeplinks.ts).
|
|
62
|
+
*/
|
|
63
|
+
openLinks(args: readonly string[]): void;
|
|
64
|
+
/** Ends the app with an exit code, after the onQuit hooks. Does not ask onBeforeQuit. */
|
|
65
|
+
quit(code?: number): void;
|
|
66
|
+
/**
|
|
67
|
+
* Cleanup before the app quits, however it quits (Cmd+Q, window close, app.exit(), logout).
|
|
68
|
+
* All hooks run together and the app waits for them at most 2 s. Returns an unregister function.
|
|
69
|
+
*/
|
|
70
|
+
onQuit(fn: () => void | Promise<void>): () => void;
|
|
71
|
+
/**
|
|
72
|
+
* Runs when any window's page document ends (reload, navigation, window destroyed, renderer
|
|
73
|
+
* gone), after its calls, subscriptions and owned resources were closed. For a plugin's own
|
|
74
|
+
* per-window tables. Returns an unregister function.
|
|
75
|
+
*/
|
|
76
|
+
onDocumentEnd(fn: (doc: DocumentInfo) => void): () => void;
|
|
77
|
+
/** Veto for quit requests (Cmd+Q, Dock, AppleScript, logout, last window closed): return false to keep running. */
|
|
78
|
+
onBeforeQuit(fn: Veto<{
|
|
79
|
+
reason: QuitReason;
|
|
80
|
+
}>): () => void;
|
|
81
|
+
/** Veto for a window's close button and Cmd+W: return false to keep that window open. */
|
|
82
|
+
onCloseRequested(fn: Veto<{
|
|
83
|
+
window: number;
|
|
84
|
+
}>): () => void;
|
|
85
|
+
/**
|
|
86
|
+
* Closes a window without asking (default: the calling window in a method call, else window 1).
|
|
87
|
+
* Another window is left: it is destroyed. It was the last one: the app quits, or hides it when
|
|
88
|
+
* desktop.quitOnLastWindowClosed is false.
|
|
89
|
+
*/
|
|
90
|
+
closeWindow(window?: number): void;
|
|
91
|
+
/**
|
|
92
|
+
* Launch phase: only while setup runs, before the window exists. The host waits for every
|
|
93
|
+
* plugin's setup (async allowed, at most 3 s each) before it creates the window. Calls after
|
|
94
|
+
* that are ignored with a warning.
|
|
95
|
+
*/
|
|
96
|
+
readonly launch: {
|
|
97
|
+
/** Creates the window at these bounds (logical points) instead of the configured size (window-state). */
|
|
98
|
+
setWindow(bounds: LaunchWindow): void;
|
|
99
|
+
/** Ends the app before a window is created; onQuit hooks do not run (single-instance). */
|
|
100
|
+
exit(code?: number): void;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/** Which page load ended. `id` is "" for a page that sends no document id (v1 callers, tests). */
|
|
104
|
+
export interface DocumentInfo {
|
|
105
|
+
window: number;
|
|
106
|
+
id: string;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* One page load of a window (architecture §3.7 Document scope). Module state of a desktop plugin is
|
|
110
|
+
* App scope: keep per-page state here, or keyed by window and cleared in onDocumentEnd.
|
|
111
|
+
*/
|
|
112
|
+
export interface DocumentScope extends DocumentInfo {
|
|
113
|
+
/** True once the page is gone. */
|
|
114
|
+
readonly ended: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Ties a resource to this page: `dispose` runs when it ends (the last owned first), or right away
|
|
117
|
+
* if it already has (a call that finished after its page left). Returns a function that forgets
|
|
118
|
+
* the resource without disposing it (it was closed on request).
|
|
119
|
+
*/
|
|
120
|
+
own(dispose: () => unknown): () => void;
|
|
121
|
+
}
|
|
122
|
+
/** Initial window bounds from the launch phase. The shell drops a position that is on no display. */
|
|
123
|
+
export interface LaunchWindow {
|
|
124
|
+
x?: number;
|
|
125
|
+
y?: number;
|
|
126
|
+
width?: number;
|
|
127
|
+
height?: number;
|
|
128
|
+
maximized?: boolean;
|
|
129
|
+
}
|
|
130
|
+
/** What the launch phase decided; sent to the main thread with "ready". */
|
|
131
|
+
export interface Launch {
|
|
132
|
+
window: LaunchWindow;
|
|
133
|
+
exit?: number;
|
|
134
|
+
}
|
|
135
|
+
export interface NativeEvent {
|
|
136
|
+
type: string;
|
|
137
|
+
[key: string]: unknown;
|
|
138
|
+
}
|
|
139
|
+
type MethodImpl<F> = F extends (args: infer A) => Promise<infer R> ? (args: A, ctx: DesktopContext) => R | Promise<R> : F extends () => Promise<infer R> ? (args: undefined, ctx: DesktopContext) => R | Promise<R> : never;
|
|
140
|
+
export interface DesktopPlugin<Api = any, Events = any> {
|
|
141
|
+
id: string;
|
|
142
|
+
/**
|
|
143
|
+
* Runs once when the plugin host starts, before the window exists and before any page call
|
|
144
|
+
* (e.g. to catch launch events). May be async: the window waits for it (ctx.launch).
|
|
145
|
+
*/
|
|
146
|
+
setup?(ctx: DesktopContext): void | Promise<void>;
|
|
147
|
+
/**
|
|
148
|
+
* "gate": this setup runs before every other one, one gate plugin after the other, and when one
|
|
149
|
+
* decides the launch exits (ctx.launch.exit, e.g. single-instance handing over to the running
|
|
150
|
+
* instance), the other setups do not run at all.
|
|
151
|
+
*/
|
|
152
|
+
launchPhase?: "gate";
|
|
153
|
+
/** A window's page document ended (see DesktopContext.onDocumentEnd). */
|
|
154
|
+
onDocumentEnd?(doc: DocumentInfo, ctx: DesktopContext): void;
|
|
155
|
+
methods: {
|
|
156
|
+
[K in keyof Api]?: MethodImpl<Api[K]>;
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Event sources, started for the first $listen from any page and stopped after the last
|
|
160
|
+
* $unlisten. `emit` reaches the pages that listen (see EmitTarget) and returns their windows
|
|
161
|
+
* (typed `| void` so tests can pass a plain function).
|
|
162
|
+
*/
|
|
163
|
+
events?: {
|
|
164
|
+
[E in keyof Events]?: (emit: (data: Events[E], target?: EmitTarget) => number[] | void, ctx: DesktopContext) => () => void;
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* A plugin that answers some links itself (auth-session's sign-in callback, R10) takes them before
|
|
169
|
+
* the app plugin turns them into urlOpen. `claim` says whether a URL is its own; returns the removal.
|
|
170
|
+
*/
|
|
171
|
+
export declare function claimLinks(claim: (url: string) => boolean): () => void;
|
|
172
|
+
/** Whether a plugin took this link (the app plugin then does not deliver it). */
|
|
173
|
+
export declare function linkClaimed(url: string): boolean;
|
|
174
|
+
export declare function externalOpenAllowed(now?: number): boolean;
|
|
175
|
+
/** The plugin host: plugins' opens share the shell's counter with the page's links. */
|
|
176
|
+
export declare function useShellOpenLimit(limiter: () => boolean): void;
|
|
177
|
+
/** Unit tests only: plugins' tests open many URLs in a row. */
|
|
178
|
+
export declare function limitExternalOpens(enabled: boolean): void;
|
|
179
|
+
export declare function defineDesktopPlugin<Api, Events = {}>(plugin: DesktopPlugin<Api, Events>): DesktopPlugin<Api, Events>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LiveValue, PluginHandle } from "../../core/src/index.ts";
|
|
2
|
+
/** Reads a LiveValue and re-renders when it changes. */
|
|
3
|
+
export declare function useLiveValue<T>(value: LiveValue<T>): T;
|
|
4
|
+
/**
|
|
5
|
+
* Subscribes to a plugin event while the component is mounted (PL-6).
|
|
6
|
+
* The handler may change between renders without resubscribing.
|
|
7
|
+
*/
|
|
8
|
+
export declare function usePluginEvent<Events, E extends keyof Events & string>(plugin: PluginHandle<any, Events>, event: E, handler: (data: Events[E]) => void): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./src/index.d.ts";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AnnouncePriority } from "./index.ts";
|
|
2
|
+
/** Checks announce()'s options; the iOS plugin checks the same. */
|
|
3
|
+
export declare function checkAnnounce(options: unknown): {
|
|
4
|
+
text: string;
|
|
5
|
+
priority: AnnouncePriority;
|
|
6
|
+
};
|
|
7
|
+
/** Adds `text` to the live region of `priority`; resolves once it is in the page. */
|
|
8
|
+
export declare function announceInPage(text: string, priority: AnnouncePriority): Promise<void>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export { checkAnnounce } from "./announce.ts";
|
|
2
|
+
export interface AccessibilityState {
|
|
3
|
+
/**
|
|
4
|
+
* A screen reader is on: VoiceOver on iOS, a touch-exploration service such as TalkBack on
|
|
5
|
+
* Android. null where the host cannot tell: browsers and macOS (a page cannot see VoiceOver).
|
|
6
|
+
*/
|
|
7
|
+
screenReader: boolean | null;
|
|
8
|
+
/**
|
|
9
|
+
* The user asked for less motion: Reduce Motion on iOS, "Remove animations" (animation scales
|
|
10
|
+
* at 0) on Android, `prefers-reduced-motion` on the web and macOS.
|
|
11
|
+
*/
|
|
12
|
+
reduceMotion: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* The user's text size as a factor of the default size (1): iOS Dynamic Type (the body text
|
|
15
|
+
* size / 17 pt), Android Configuration.fontScale, the browser's default font size / 16 px on the
|
|
16
|
+
* web and macOS (1 unless the user changed it; iOS browsers always report 1).
|
|
17
|
+
*/
|
|
18
|
+
fontScale: number;
|
|
19
|
+
}
|
|
20
|
+
/** "polite" waits until the screen reader finished speaking, "assertive" interrupts it. */
|
|
21
|
+
export type AnnouncePriority = "polite" | "assertive";
|
|
22
|
+
/** Screen reader state and announcements (plugins.md §4.1). */
|
|
23
|
+
export interface AccessibilityApi {
|
|
24
|
+
getState(): Promise<AccessibilityState>;
|
|
25
|
+
/**
|
|
26
|
+
* Makes the running screen reader speak `text` (e.g. "3 results", "Saved"), for changes that
|
|
27
|
+
* have no focusable element of their own. Resolves once handed over, also when no screen
|
|
28
|
+
* reader runs (then nothing is spoken). Default priority "polite".
|
|
29
|
+
* iOS: UIAccessibility announcement. Web, macOS and Android: a live region in the page
|
|
30
|
+
* (Android's own announcement API is deprecated in API 36); inside a modal <dialog> the region
|
|
31
|
+
* moves into the dialog, since the rest of the page is inert then.
|
|
32
|
+
*/
|
|
33
|
+
announce(options: {
|
|
34
|
+
text: string;
|
|
35
|
+
priority?: AnnouncePriority;
|
|
36
|
+
}): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
export interface AccessibilityEvents {
|
|
39
|
+
/** One of the state's fields changed. */
|
|
40
|
+
change: AccessibilityState;
|
|
41
|
+
}
|
|
42
|
+
export declare const accessibility: import("../../../packages/core/src/plugin.ts").Plugin<AccessibilityApi, AccessibilityEvents>;
|
|
43
|
+
/**
|
|
44
|
+
* The current accessibility state. Re-renders on every change. Until the host answered, it is
|
|
45
|
+
* the page's own reading (screenReader null, reduceMotion from `prefers-reduced-motion`).
|
|
46
|
+
*/
|
|
47
|
+
export declare function useAccessibility(): AccessibilityState;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AccessibilityApi, AccessibilityEvents, AccessibilityState } from "./index.ts";
|
|
2
|
+
export declare function readFontScale(): number;
|
|
3
|
+
export declare function readWebState(): AccessibilityState;
|
|
4
|
+
export declare const web: import("../../../packages/core/src/plugin.ts").WebPlugin<AccessibilityApi, AccessibilityEvents>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./src/index.d.ts";
|