@qontinui/ui-bridge-native 0.6.4 → 0.6.5
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/dist/debug/index.js.map +1 -1
- package/dist/debug/index.mjs.map +1 -1
- package/dist/index.js +21 -15
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +21 -15
- package/dist/index.mjs.map +1 -1
- package/dist/react/UIBridgeNativeProvider.d.ts.map +1 -1
- package/dist/react/index.js +21 -15
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +22 -16
- package/dist/react/index.mjs.map +1 -1
- package/dist/server/handlers.d.ts +14 -0
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/index.js +3 -11
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +3 -11
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/types.d.ts +18 -0
- package/dist/server/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/react/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createContext, useRef, useState, useCallback, useEffect, useMemo, use } from 'react';
|
|
2
|
-
import { StyleSheet, Platform } from 'react-native';
|
|
2
|
+
import { Dimensions, StyleSheet, Platform } from 'react-native';
|
|
3
3
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
@@ -1557,8 +1557,8 @@ function error(message, code) {
|
|
|
1557
1557
|
function createDesignHandlers(registry) {
|
|
1558
1558
|
function getScreenDimensions() {
|
|
1559
1559
|
try {
|
|
1560
|
-
const { Dimensions } = __require("react-native");
|
|
1561
|
-
const screen =
|
|
1560
|
+
const { Dimensions: Dimensions2 } = __require("react-native");
|
|
1561
|
+
const screen = Dimensions2.get("screen");
|
|
1562
1562
|
return { width: screen.width, height: screen.height };
|
|
1563
1563
|
} catch {
|
|
1564
1564
|
return { width: 0, height: 0 };
|
|
@@ -2192,15 +2192,6 @@ async function executeWorkflowStep(step, registry, executor) {
|
|
|
2192
2192
|
};
|
|
2193
2193
|
}
|
|
2194
2194
|
}
|
|
2195
|
-
function getWindowDimensions() {
|
|
2196
|
-
try {
|
|
2197
|
-
const { Dimensions } = __require("react-native");
|
|
2198
|
-
const win = Dimensions.get("window");
|
|
2199
|
-
return { width: win.width, height: win.height };
|
|
2200
|
-
} catch {
|
|
2201
|
-
return { width: 0, height: 0 };
|
|
2202
|
-
}
|
|
2203
|
-
}
|
|
2204
2195
|
function success2(data) {
|
|
2205
2196
|
return {
|
|
2206
2197
|
success: true,
|
|
@@ -2408,7 +2399,7 @@ function createServerHandlers(registry, executor, config) {
|
|
|
2408
2399
|
},
|
|
2409
2400
|
getPageHealth: async (ctx) => {
|
|
2410
2401
|
const bodyViewport = ctx.body?.viewport;
|
|
2411
|
-
const viewport = bodyViewport ??
|
|
2402
|
+
const viewport = bodyViewport ?? config?.viewportProvider?.() ?? { width: 0, height: 0 };
|
|
2412
2403
|
const elements = registry.getAllElements().map((e) => ({
|
|
2413
2404
|
type: e.type,
|
|
2414
2405
|
state: e.getState()
|
|
@@ -3379,7 +3370,8 @@ var NativeUIBridgeServer = class {
|
|
|
3379
3370
|
this.handlers = createServerHandlers(registry, executor, {
|
|
3380
3371
|
appInfo: this.config.appInfo,
|
|
3381
3372
|
consoleErrorBuffer: this.consoleErrorBuffer,
|
|
3382
|
-
networkRequestBuffer: this.networkRequestBuffer
|
|
3373
|
+
networkRequestBuffer: this.networkRequestBuffer,
|
|
3374
|
+
viewportProvider: this.config.viewportProvider
|
|
3383
3375
|
});
|
|
3384
3376
|
this.handlers.getMethods = async () => {
|
|
3385
3377
|
const testHooks = this.config.testHooks === true;
|
|
@@ -5145,7 +5137,17 @@ function UIBridgeNativeProvider({
|
|
|
5145
5137
|
serverPort: config.serverPort || 8087,
|
|
5146
5138
|
cors: true,
|
|
5147
5139
|
appInfo: config.appInfo,
|
|
5148
|
-
testHooks: features.testHooks === true
|
|
5140
|
+
testHooks: features.testHooks === true,
|
|
5141
|
+
// Injected device-viewport getter for POST /control/page-health. The
|
|
5142
|
+
// server doesn't import `react-native` itself — the require/import
|
|
5143
|
+
// pattern there crashed the host RN app in 0.6.3/0.6.4 (Metro/Hermes
|
|
5144
|
+
// raised `unknownModuleError` past every try/catch). This provider
|
|
5145
|
+
// already has a live react-native import, so it's the safe injection
|
|
5146
|
+
// point. See feedback_metro_require_gotcha for the full incident.
|
|
5147
|
+
viewportProvider: () => {
|
|
5148
|
+
const win = Dimensions.get("window");
|
|
5149
|
+
return { width: win.width, height: win.height };
|
|
5150
|
+
}
|
|
5149
5151
|
});
|
|
5150
5152
|
server.setAdapter(serverAdapter);
|
|
5151
5153
|
if (navigationProvider) {
|
|
@@ -5240,7 +5242,11 @@ function UIBridgeNativeProvider({
|
|
|
5240
5242
|
serverPort: config.serverPort || 8087,
|
|
5241
5243
|
cors: true,
|
|
5242
5244
|
appInfo: config.appInfo,
|
|
5243
|
-
testHooks: features.testHooks === true
|
|
5245
|
+
testHooks: features.testHooks === true,
|
|
5246
|
+
viewportProvider: () => {
|
|
5247
|
+
const win = Dimensions.get("window");
|
|
5248
|
+
return { width: win.width, height: win.height };
|
|
5249
|
+
}
|
|
5244
5250
|
});
|
|
5245
5251
|
if (navigationProvider) bareServer.setNavigationProvider(navigationProvider);
|
|
5246
5252
|
if (screenshotProvider) bareServer.setScreenshotProvider(screenshotProvider);
|