@lynx-js/lynxtron 0.0.1-alpha.7 → 0.0.1-alpha.8

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.
@@ -742,10 +742,10 @@ export declare class BaseWindow extends EventEmitter {
742
742
  listener: (event: Event, direction: string) => void
743
743
  ): this;
744
744
  /**
745
- * Emitted when the system context menu is triggered on the window, this is
746
- * normally only triggered when the user right clicks on the non-client area of
747
- * your window. This is the window titlebar or any area you have declared as
748
- * `-webkit-app-region: drag` in a frameless window.
745
+ * Emitted when the system context menu is triggered on the window. This is
746
+ * normally triggered when the user right clicks the system title bar or a
747
+ * draggable region in the Lynx UI. In a frameless window, draggable regions
748
+ * must be explicitly declared using the `-x-app-region: drag` CSS property.
749
749
  *
750
750
  * Calling `event.preventDefault()` will prevent the menu from being displayed.
751
751
  *
@@ -0,0 +1,34 @@
1
+ // Copyright 2026 The Lynxtron Authors. All rights reserved.
2
+ // Licensed under the Apache License Version 2.0 that can be found in the
3
+ // LICENSE file in the root directory of this source tree.
4
+
5
+ import { LynxBridgeInvokeEvent } from './lynx-window';
6
+
7
+ export type LynxBridgeHandler = (
8
+ event: LynxBridgeInvokeEvent,
9
+ args: unknown
10
+ ) => unknown | Promise<unknown>;
11
+
12
+ export interface LynxBridge extends NodeJS.EventEmitter {
13
+ /**
14
+ * Register a handler for an invoke method. The handler will be called when
15
+ * the Lynx side calls `bridge.call(method, args)`.
16
+ *
17
+ * The return value of the handler will be sent back to the Lynx side via
18
+ * `event.sendReply()`.
19
+ */
20
+ handle(method: string, handler: LynxBridgeHandler): void;
21
+
22
+ /**
23
+ * Register a one-time handler for an invoke method. The handler will be
24
+ * removed after it is called once.
25
+ */
26
+ handleOnce(method: string, handler: LynxBridgeHandler): void;
27
+
28
+ /**
29
+ * Remove a previously registered handler for the given method.
30
+ */
31
+ removeHandler(method: string): void;
32
+ }
33
+
34
+ export declare const lynxBridge: LynxBridge;
@@ -19,6 +19,7 @@ export * from './api/base-window';
19
19
  export * from './api/clipboard';
20
20
  export * from './api/event';
21
21
  export * from './api/lynx-window';
22
+ export * from './api/lynx-bridge';
22
23
  export * from './api/lynx-library';
23
24
  export * from './api/touch-bar';
24
25
  export * from './api/screen';
package/lynxtron.js CHANGED
@@ -39,5 +39,6 @@ export const Tray = lynxtron.Tray;
39
39
  export const LynxTemplateData = lynxtron.LynxTemplateData;
40
40
  export const LynxUpdateMeta = lynxtron.LynxUpdateMeta;
41
41
  export const powerMonitor = lynxtron.powerMonitor;
42
+ export const lynxBridge = lynxtron.lynxBridge;
42
43
 
43
44
  export const lynx = Object.freeze({});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lynx-js/lynxtron",
3
- "version": "0.0.1-alpha.7",
3
+ "version": "0.0.1-alpha.8",
4
4
  "description": "lynxtron npm package test",
5
5
  "type": "module",
6
6
  "types": "./apis/lynxtron.d.ts",