@apps-in-toss/framework 0.0.14 → 0.0.16
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/index.cjs +243 -32
- package/dist/index.d.cts +22 -7
- package/dist/index.d.ts +22 -7
- package/dist/index.js +239 -25
- package/dist/plugins/index.cjs +8 -33566
- package/dist/plugins/index.d.cts +1 -76
- package/dist/plugins/index.d.ts +1 -76
- package/dist/plugins/index.js +1 -33581
- package/package.json +9 -17
- package/plugins.d.ts +1 -1
package/dist/index.cjs
CHANGED
|
@@ -49,10 +49,49 @@ __export(src_exports, {
|
|
|
49
49
|
module.exports = __toCommonJS(src_exports);
|
|
50
50
|
|
|
51
51
|
// src/core/registerApp.tsx
|
|
52
|
+
var import_react_native2 = require("@toss-design-system/react-native");
|
|
52
53
|
var import_react_native_bedrock = require("react-native-bedrock");
|
|
54
|
+
|
|
55
|
+
// src/core/hooks/useAppsInTossBridge.ts
|
|
56
|
+
var import_react_native = require("@toss-design-system/react-native");
|
|
57
|
+
var import_react = require("react");
|
|
58
|
+
|
|
59
|
+
// src/core/utils/getAppsInTossGlobals.ts
|
|
60
|
+
function getAppsInTossGlobals() {
|
|
61
|
+
if (global.__appsInToss == null) {
|
|
62
|
+
throw new Error("invalid apps-in-toss globals");
|
|
63
|
+
}
|
|
64
|
+
return global.__appsInToss;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// src/core/utils/toIcon.ts
|
|
68
|
+
function toIcon(source) {
|
|
69
|
+
return source.startsWith("http") ? { source: { uri: source } } : { name: source };
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// src/core/hooks/useAppsInTossBridge.ts
|
|
73
|
+
function useAppsInTossBridge() {
|
|
74
|
+
const controller = (0, import_react_native.useBridge)();
|
|
75
|
+
const appsInTossGlobals2 = getAppsInTossGlobals();
|
|
76
|
+
(0, import_react.useEffect)(() => {
|
|
77
|
+
const commonProps = {
|
|
78
|
+
serviceName: appsInTossGlobals2.brandDisplayName,
|
|
79
|
+
icon: toIcon(appsInTossGlobals2.brandIcon),
|
|
80
|
+
color: appsInTossGlobals2.brandPrimaryColor,
|
|
81
|
+
colorMode: appsInTossGlobals2.brandBridgeColorMode
|
|
82
|
+
};
|
|
83
|
+
controller.open({ ...commonProps });
|
|
84
|
+
}, []);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// src/core/registerApp.tsx
|
|
53
88
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
54
89
|
function AppsInTossContainer(Container, { children, ...initialProps }) {
|
|
55
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Container, { ...initialProps, children });
|
|
90
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Container, { ...initialProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native2.TDSProvider, { colorPreference: "light", token: { color: { primary: getAppsInTossGlobals().brandPrimaryColor } }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TDSContainer, { ...initialProps, children }) }) });
|
|
91
|
+
}
|
|
92
|
+
function TDSContainer({ children }) {
|
|
93
|
+
useAppsInTossBridge();
|
|
94
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
|
|
56
95
|
}
|
|
57
96
|
function registerApp(container, { context }) {
|
|
58
97
|
return import_react_native_bedrock.Bedrock.registerApp(AppsInTossContainer.bind(null, container), {
|
|
@@ -81,8 +120,8 @@ var import_react_native_bedrock3 = require("react-native-bedrock");
|
|
|
81
120
|
var import_react_native_bedrock2 = require("react-native-bedrock");
|
|
82
121
|
|
|
83
122
|
// src/native-modules/AppsInTossModule.ts
|
|
84
|
-
var
|
|
85
|
-
var AppsInTossModuleInstance =
|
|
123
|
+
var import_react_native3 = require("react-native");
|
|
124
|
+
var AppsInTossModuleInstance = import_react_native3.NativeModules.AppsInTossModule;
|
|
86
125
|
var AppsInTossModule = AppsInTossModuleInstance;
|
|
87
126
|
|
|
88
127
|
// src/native-modules/getPermission.ts
|
|
@@ -108,8 +147,8 @@ async function requestPermission(permission) {
|
|
|
108
147
|
}
|
|
109
148
|
|
|
110
149
|
// src/native-event-emitter/nativeEventEmitter.ts
|
|
111
|
-
var
|
|
112
|
-
var nativeEventEmitter = new
|
|
150
|
+
var import_react_native4 = require("react-native");
|
|
151
|
+
var nativeEventEmitter = new import_react_native4.NativeEventEmitter(AppsInTossModuleInstance);
|
|
113
152
|
|
|
114
153
|
// src/native-event-emitter/event-plugins/UpdateLocationEvent.ts
|
|
115
154
|
var UpdateLocationEvent = class extends import_react_native_bedrock2.BedrockEventDefinition {
|
|
@@ -250,12 +289,127 @@ var TossPay = {
|
|
|
250
289
|
};
|
|
251
290
|
|
|
252
291
|
// src/components/WebView.tsx
|
|
253
|
-
var
|
|
254
|
-
var
|
|
255
|
-
var
|
|
292
|
+
var import_react_native11 = require("@toss-design-system/react-native");
|
|
293
|
+
var import_react3 = require("react");
|
|
294
|
+
var import_react_native_bedrock5 = require("react-native-bedrock");
|
|
256
295
|
var bedrockAsyncBridges = __toESM(require("react-native-bedrock/async-bridges"), 1);
|
|
257
296
|
var bedrockConstantBridges = __toESM(require("react-native-bedrock/constant-bridges"), 1);
|
|
258
297
|
|
|
298
|
+
// src/components/GameWebView.tsx
|
|
299
|
+
var import_react_native_webview = require("@react-native-bedrock/native/react-native-webview");
|
|
300
|
+
var import_react2 = require("react");
|
|
301
|
+
var import_react_native10 = require("react-native");
|
|
302
|
+
var import_react_native_bedrock4 = require("react-native-bedrock");
|
|
303
|
+
|
|
304
|
+
// src/components/GameWebViewNavigationBar/GameNavigationBar.tsx
|
|
305
|
+
var import_react_native_svg = require("@react-native-bedrock/native/react-native-svg");
|
|
306
|
+
var import_react_native8 = require("@toss-design-system/react-native");
|
|
307
|
+
var import_react_native9 = require("react-native");
|
|
308
|
+
|
|
309
|
+
// src/components/GameWebViewNavigationBar/HeaderRight.tsx
|
|
310
|
+
var import_react_native6 = require("react-native");
|
|
311
|
+
|
|
312
|
+
// src/components/GameWebViewNavigationBar/byPlatform.ts
|
|
313
|
+
var import_react_native5 = require("react-native");
|
|
314
|
+
function byPlatform({
|
|
315
|
+
...props
|
|
316
|
+
}) {
|
|
317
|
+
return (props[import_react_native5.Platform.OS] ?? props.fallback)();
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
// src/components/GameWebViewNavigationBar/constants.ts
|
|
321
|
+
var RIGHT_MARGIN = 24;
|
|
322
|
+
var IOS_DEFAULT_MARGIN = 20;
|
|
323
|
+
|
|
324
|
+
// src/components/GameWebViewNavigationBar/HeaderRight.tsx
|
|
325
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
326
|
+
function IOSHeaderRight(props) {
|
|
327
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native6.View, { style: styles.ios, ...props });
|
|
328
|
+
}
|
|
329
|
+
function AndroidHeaderRight(props) {
|
|
330
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_native6.View, { style: styles.android, ...props });
|
|
331
|
+
}
|
|
332
|
+
function HeaderRight(props) {
|
|
333
|
+
return byPlatform({
|
|
334
|
+
ios: () => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(IOSHeaderRight, { ...props }),
|
|
335
|
+
android: () => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(AndroidHeaderRight, { ...props }),
|
|
336
|
+
fallback: () => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(IOSHeaderRight, { ...props })
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
var styles = import_react_native6.StyleSheet.create({
|
|
340
|
+
ios: {
|
|
341
|
+
marginRight: -IOS_DEFAULT_MARGIN + RIGHT_MARGIN,
|
|
342
|
+
flexDirection: "row"
|
|
343
|
+
},
|
|
344
|
+
android: {
|
|
345
|
+
flexDirection: "row"
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
// src/components/GameWebViewNavigationBar/useSafeAreaTop.ts
|
|
350
|
+
var import_react_native_safe_area_context = require("@react-native-bedrock/native/react-native-safe-area-context");
|
|
351
|
+
var import_react_native7 = require("react-native");
|
|
352
|
+
function useSafeAreaTop() {
|
|
353
|
+
const safeAreaInsets = (0, import_react_native_safe_area_context.useSafeAreaInsets)();
|
|
354
|
+
const hasDynamicIsland = import_react_native7.Platform.OS === "ios" && safeAreaInsets.top > 50;
|
|
355
|
+
const safeAreaTop = hasDynamicIsland ? safeAreaInsets.top - 5 : safeAreaInsets.top;
|
|
356
|
+
return safeAreaTop;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
// src/components/GameWebViewNavigationBar/GameNavigationBar.tsx
|
|
360
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
361
|
+
var originXML = '<svg fill="none" height="30" viewBox="0 0 30 30" width="30" xmlns="https://www.w3.org/2000/svg"><rect fill="#031832" fill-opacity=".46" height="30" rx="15" width="30"/><rect height="29.5" rx="14.75" stroke="#d9d9ff" stroke-opacity=".11" stroke-width=".5" width="29.5" x=".25" y=".25"/><path clip-rule="evenodd" d="m16.5119 15.0014 4.7092-4.7092c.0929-.0928.1666-.2031.2169-.32441.0503-.12134.0762-.25141.0762-.38276.0001-.13136-.0258-.26144-.076-.38281s-.1239-.23166-.2167-.32457c-.0929-.09291-.2031-.16662-.3245-.21692-.1213-.05031-.2514-.07622-.3827-.07626-.1314-.00004-.2615.0258-.3828.07603-.1214.05023-.2317.12388-.3246.21673l-4.7092 4.70997-4.71-4.70997c-.1897-.17718-.4408-.27373-.70034-.26927s-.5072.10959-.69069.2932c-.1835.1836-.28848.43132-.29279.69087-.00432.25954.09238.51057.26968.70017l4.71004 4.7092-4.71004 4.7092c-.1392.1401-.23385.3183-.27204.5121-.0382.1939-.01823.3946.05739.5771s.20351.3386.36759.4486.35702.169.55456.1697c.25583 0 .51164-.0975.70664-.2925l4.71-4.71 4.7092 4.71c.0927.093.2029.1668.3243.2172.1213.0504.2514.0763.3828.0763s.2614-.0259.3828-.0763c.1213-.0504.2315-.1242.3243-.2172.0929-.0929.1667-.2032.217-.3246s.0762-.2515.0762-.3829-.0259-.2616-.0762-.383-.1241-.2317-.217-.3245z" fill="#fdfdfe" fill-opacity=".89" fill-rule="evenodd"/></svg>';
|
|
362
|
+
function GameNavigationBar({ onClose }) {
|
|
363
|
+
const safeAreaTop = useSafeAreaTop();
|
|
364
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
|
|
365
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native8.PageNavbar, { preference: { type: "none" } }),
|
|
366
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
367
|
+
import_react_native9.View,
|
|
368
|
+
{
|
|
369
|
+
style: {
|
|
370
|
+
width: "100%",
|
|
371
|
+
height: import_react_native9.Platform.OS === "ios" ? 44 : 54,
|
|
372
|
+
flexDirection: "row",
|
|
373
|
+
alignItems: "center",
|
|
374
|
+
justifyContent: "flex-end",
|
|
375
|
+
position: "absolute",
|
|
376
|
+
zIndex: 9999,
|
|
377
|
+
marginTop: safeAreaTop,
|
|
378
|
+
paddingRight: import_react_native9.Platform.OS === "ios" ? 10 : 8
|
|
379
|
+
},
|
|
380
|
+
pointerEvents: "box-none",
|
|
381
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(HeaderRight, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
382
|
+
import_react_native9.TouchableOpacity,
|
|
383
|
+
{
|
|
384
|
+
hitSlop: { left: 8, right: 8 },
|
|
385
|
+
style: {
|
|
386
|
+
padding: import_react_native9.Platform.OS === "ios" ? 7 : 9
|
|
387
|
+
},
|
|
388
|
+
onPress: onClose,
|
|
389
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native_svg.SvgXml, { xml: originXML, width: 30, height: 30 })
|
|
390
|
+
}
|
|
391
|
+
) })
|
|
392
|
+
}
|
|
393
|
+
)
|
|
394
|
+
] });
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
// src/components/GameWebView.tsx
|
|
398
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
399
|
+
var GameWebView = (0, import_react2.forwardRef)(function GameWebView2(props, ref) {
|
|
400
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
|
|
401
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
402
|
+
GameNavigationBar,
|
|
403
|
+
{
|
|
404
|
+
onClose: () => {
|
|
405
|
+
(0, import_react_native_bedrock4.closeView)();
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
),
|
|
409
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_native10.View, { style: { flex: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_native_webview.WebView, { ref, ...props }) })
|
|
410
|
+
] });
|
|
411
|
+
});
|
|
412
|
+
|
|
259
413
|
// src/async-bridges.ts
|
|
260
414
|
var async_bridges_exports = {};
|
|
261
415
|
__export(async_bridges_exports, {
|
|
@@ -288,20 +442,42 @@ __export(event_bridges_exports, {
|
|
|
288
442
|
});
|
|
289
443
|
|
|
290
444
|
// src/components/WebView.tsx
|
|
291
|
-
var
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
445
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
446
|
+
var appsInTossGlobals = getAppsInTossGlobals();
|
|
447
|
+
var TYPES = ["partner", "external", "game"];
|
|
448
|
+
var WEBVIEW_TYPES = {
|
|
449
|
+
partner: import_react_native11.PartnerWebViewScreen,
|
|
450
|
+
external: import_react_native11.ExternalWebViewScreen,
|
|
451
|
+
game: GameWebView
|
|
452
|
+
};
|
|
453
|
+
function mergeSchemeQueryParamsInto(url) {
|
|
454
|
+
const baseUrl = new URL(url);
|
|
455
|
+
const schemeUrl = new URL((0, import_react_native_bedrock5.getSchemeUri)());
|
|
456
|
+
baseUrl.pathname = schemeUrl.pathname;
|
|
457
|
+
for (const [key, value] of schemeUrl.searchParams.entries()) {
|
|
458
|
+
baseUrl.searchParams.set(key, value);
|
|
459
|
+
}
|
|
460
|
+
return baseUrl;
|
|
461
|
+
}
|
|
462
|
+
function getWebViewUri(local) {
|
|
463
|
+
if (__DEV__) {
|
|
464
|
+
const devUrl = `http://${local.host}:${local.port}`;
|
|
465
|
+
return mergeSchemeQueryParamsInto(devUrl).toString();
|
|
466
|
+
}
|
|
467
|
+
const { url: rawUrl } = AppsInTossModule.getWebBundleURL({});
|
|
468
|
+
const url = mergeSchemeQueryParamsInto(rawUrl);
|
|
469
|
+
const deploymentId = env.getDeploymentId();
|
|
470
|
+
if (deploymentId) {
|
|
471
|
+
url.searchParams.set("_deploymentId", deploymentId);
|
|
472
|
+
}
|
|
473
|
+
return url.toString();
|
|
474
|
+
}
|
|
475
|
+
function WebView({ type, local, onMessage, ...props }) {
|
|
476
|
+
if (!TYPES.includes(type)) {
|
|
477
|
+
throw new Error(`Invalid WebView type: '${type}'`);
|
|
478
|
+
}
|
|
479
|
+
const uri = (0, import_react3.useMemo)(() => getWebViewUri(local), [local]);
|
|
480
|
+
const handler = (0, import_react_native_bedrock5.useBridgeHandler)({
|
|
305
481
|
onMessage,
|
|
306
482
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
307
483
|
eventListenerMap: event_bridges_exports,
|
|
@@ -318,14 +494,43 @@ function WebView({ local, onMessage, ...props }) {
|
|
|
318
494
|
...async_bridges_exports
|
|
319
495
|
}
|
|
320
496
|
});
|
|
321
|
-
|
|
322
|
-
|
|
497
|
+
const baseProps = (0, import_react3.useMemo)(() => {
|
|
498
|
+
switch (type) {
|
|
499
|
+
case "partner": {
|
|
500
|
+
const headerOnlyProp = {
|
|
501
|
+
header: {
|
|
502
|
+
..."header" in props ? props.header : {},
|
|
503
|
+
icon: toIcon(ensureValue(appsInTossGlobals.brandIcon, "icon")),
|
|
504
|
+
title: ensureValue(appsInTossGlobals.brandDisplayName, "displayName"),
|
|
505
|
+
rightButtons: void 0
|
|
506
|
+
// TODO: onClick 이벤트를 받아야 하기에 런타임에서 설정 받아야 함
|
|
507
|
+
}
|
|
508
|
+
};
|
|
509
|
+
return headerOnlyProp;
|
|
510
|
+
}
|
|
511
|
+
case "external": {
|
|
512
|
+
const headerOnlyProp = {
|
|
513
|
+
header: {
|
|
514
|
+
..."header" in props ? props.header : {},
|
|
515
|
+
icon: toIcon(ensureValue(appsInTossGlobals.brandIcon, "icon")),
|
|
516
|
+
title: ensureValue(appsInTossGlobals.brandDisplayName, "displayName")
|
|
517
|
+
}
|
|
518
|
+
};
|
|
519
|
+
return headerOnlyProp;
|
|
520
|
+
}
|
|
521
|
+
default: {
|
|
522
|
+
return {};
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
}, [type, props]);
|
|
526
|
+
const BaseWebView = WEBVIEW_TYPES[type];
|
|
527
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
528
|
+
BaseWebView,
|
|
323
529
|
{
|
|
324
530
|
ref: handler.ref,
|
|
325
531
|
...props,
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
},
|
|
532
|
+
...baseProps,
|
|
533
|
+
source: { uri },
|
|
329
534
|
sharedCookiesEnabled: true,
|
|
330
535
|
thirdPartyCookiesEnabled: true,
|
|
331
536
|
cacheEnabled: false,
|
|
@@ -336,14 +541,20 @@ function WebView({ local, onMessage, ...props }) {
|
|
|
336
541
|
}
|
|
337
542
|
);
|
|
338
543
|
}
|
|
544
|
+
function ensureValue(value, name) {
|
|
545
|
+
if (value === void 0) {
|
|
546
|
+
throw new Error(`${name} is required`);
|
|
547
|
+
}
|
|
548
|
+
return value;
|
|
549
|
+
}
|
|
339
550
|
|
|
340
551
|
// src/hooks/useGeolocation.ts
|
|
341
|
-
var
|
|
342
|
-
var
|
|
552
|
+
var import_react4 = require("react");
|
|
553
|
+
var import_react_native_bedrock6 = require("react-native-bedrock");
|
|
343
554
|
function useGeolocation({ accuracy, distanceInterval, timeInterval }) {
|
|
344
|
-
const isVisible = (0,
|
|
345
|
-
const [location, setLocation] = (0,
|
|
346
|
-
(0,
|
|
555
|
+
const isVisible = (0, import_react_native_bedrock6.useVisibility)();
|
|
556
|
+
const [location, setLocation] = (0, import_react4.useState)(null);
|
|
557
|
+
(0, import_react4.useEffect)(() => {
|
|
347
558
|
if (!isVisible) {
|
|
348
559
|
return;
|
|
349
560
|
}
|
package/dist/index.d.cts
CHANGED
|
@@ -2,6 +2,7 @@ import { ComponentType, PropsWithChildren } from 'react';
|
|
|
2
2
|
import { InitialProps, BedrockProps } from 'react-native-bedrock';
|
|
3
3
|
import { EmitterSubscription } from 'react-native';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
+
import { PartnerWebViewScreenProps, ExternalWebViewScreenProps } from '@toss-design-system/react-native';
|
|
5
6
|
import { WebViewProps as WebViewProps$1 } from '@react-native-bedrock/native/react-native-webview';
|
|
6
7
|
|
|
7
8
|
type AppsInTossProps = Pick<BedrockProps, 'context'>;
|
|
@@ -1039,13 +1040,27 @@ declare const TossPay: {
|
|
|
1039
1040
|
executePayment: typeof executePayment;
|
|
1040
1041
|
};
|
|
1041
1042
|
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1043
|
+
type GameWebViewProps$1 = WebViewProps$1;
|
|
1044
|
+
|
|
1045
|
+
type WebViewProps = PartnerWebViewProps | ExternalWebViewProps | GameWebViewProps;
|
|
1046
|
+
interface PartnerWebViewProps extends Omit<PartnerWebViewScreenProps, InternalProps> {
|
|
1047
|
+
type: 'partner';
|
|
1048
|
+
local: LocalNetwork;
|
|
1049
|
+
}
|
|
1050
|
+
interface ExternalWebViewProps extends Omit<ExternalWebViewScreenProps, InternalProps> {
|
|
1051
|
+
type: 'external';
|
|
1052
|
+
local: LocalNetwork;
|
|
1053
|
+
}
|
|
1054
|
+
interface GameWebViewProps extends Omit<GameWebViewProps$1, InternalProps> {
|
|
1055
|
+
type: 'game';
|
|
1056
|
+
local: LocalNetwork;
|
|
1057
|
+
}
|
|
1058
|
+
interface LocalNetwork {
|
|
1059
|
+
port: number;
|
|
1060
|
+
host: string;
|
|
1047
1061
|
}
|
|
1048
|
-
|
|
1062
|
+
type InternalProps = 'source' | 'cacheEnabled' | 'sharedCookiesEnabled' | 'thirdPartyCookiesEnabled' | 'injectedJavaScriptBeforeContentLoaded';
|
|
1063
|
+
declare function WebView({ type, local, onMessage, ...props }: WebViewProps): react_jsx_runtime.JSX.Element;
|
|
1049
1064
|
|
|
1050
1065
|
type UseGeolocationOptions = Omit<StartUpdateLocationOptions, 'callback'>;
|
|
1051
1066
|
/**
|
|
@@ -1097,4 +1112,4 @@ declare const env: {
|
|
|
1097
1112
|
getDeploymentId: () => string | undefined;
|
|
1098
1113
|
};
|
|
1099
1114
|
|
|
1100
|
-
export { Accuracy, AppsInToss, type ContactEntity, type FetchAlbumPhotosOptions, type GetCurrentLocationOptions, type ImageResponse, type Location, type LocationCoords, type OpenCameraOptions, type StartUpdateLocationOptions, type StartUpdateLocationSubscription, TossPay, type UpdateLocationEventEmitter, type UseGeolocationOptions, WebView, type WebViewProps, appLogin, env, fetchAlbumPhotos, fetchContacts, getClipboardText, getCurrentLocation, getOperationalEnvironment, openCamera, setClipboardText, startUpdateLocation, useGeolocation };
|
|
1115
|
+
export { Accuracy, AppsInToss, type ContactEntity, type ExternalWebViewProps, type FetchAlbumPhotosOptions, type GameWebViewProps, type GetCurrentLocationOptions, type ImageResponse, type Location, type LocationCoords, type OpenCameraOptions, type PartnerWebViewProps, type StartUpdateLocationOptions, type StartUpdateLocationSubscription, TossPay, type UpdateLocationEventEmitter, type UseGeolocationOptions, WebView, type WebViewProps, appLogin, env, fetchAlbumPhotos, fetchContacts, getClipboardText, getCurrentLocation, getOperationalEnvironment, openCamera, setClipboardText, startUpdateLocation, useGeolocation };
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { ComponentType, PropsWithChildren } from 'react';
|
|
|
2
2
|
import { InitialProps, BedrockProps } from 'react-native-bedrock';
|
|
3
3
|
import { EmitterSubscription } from 'react-native';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
+
import { PartnerWebViewScreenProps, ExternalWebViewScreenProps } from '@toss-design-system/react-native';
|
|
5
6
|
import { WebViewProps as WebViewProps$1 } from '@react-native-bedrock/native/react-native-webview';
|
|
6
7
|
|
|
7
8
|
type AppsInTossProps = Pick<BedrockProps, 'context'>;
|
|
@@ -1039,13 +1040,27 @@ declare const TossPay: {
|
|
|
1039
1040
|
executePayment: typeof executePayment;
|
|
1040
1041
|
};
|
|
1041
1042
|
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1043
|
+
type GameWebViewProps$1 = WebViewProps$1;
|
|
1044
|
+
|
|
1045
|
+
type WebViewProps = PartnerWebViewProps | ExternalWebViewProps | GameWebViewProps;
|
|
1046
|
+
interface PartnerWebViewProps extends Omit<PartnerWebViewScreenProps, InternalProps> {
|
|
1047
|
+
type: 'partner';
|
|
1048
|
+
local: LocalNetwork;
|
|
1049
|
+
}
|
|
1050
|
+
interface ExternalWebViewProps extends Omit<ExternalWebViewScreenProps, InternalProps> {
|
|
1051
|
+
type: 'external';
|
|
1052
|
+
local: LocalNetwork;
|
|
1053
|
+
}
|
|
1054
|
+
interface GameWebViewProps extends Omit<GameWebViewProps$1, InternalProps> {
|
|
1055
|
+
type: 'game';
|
|
1056
|
+
local: LocalNetwork;
|
|
1057
|
+
}
|
|
1058
|
+
interface LocalNetwork {
|
|
1059
|
+
port: number;
|
|
1060
|
+
host: string;
|
|
1047
1061
|
}
|
|
1048
|
-
|
|
1062
|
+
type InternalProps = 'source' | 'cacheEnabled' | 'sharedCookiesEnabled' | 'thirdPartyCookiesEnabled' | 'injectedJavaScriptBeforeContentLoaded';
|
|
1063
|
+
declare function WebView({ type, local, onMessage, ...props }: WebViewProps): react_jsx_runtime.JSX.Element;
|
|
1049
1064
|
|
|
1050
1065
|
type UseGeolocationOptions = Omit<StartUpdateLocationOptions, 'callback'>;
|
|
1051
1066
|
/**
|
|
@@ -1097,4 +1112,4 @@ declare const env: {
|
|
|
1097
1112
|
getDeploymentId: () => string | undefined;
|
|
1098
1113
|
};
|
|
1099
1114
|
|
|
1100
|
-
export { Accuracy, AppsInToss, type ContactEntity, type FetchAlbumPhotosOptions, type GetCurrentLocationOptions, type ImageResponse, type Location, type LocationCoords, type OpenCameraOptions, type StartUpdateLocationOptions, type StartUpdateLocationSubscription, TossPay, type UpdateLocationEventEmitter, type UseGeolocationOptions, WebView, type WebViewProps, appLogin, env, fetchAlbumPhotos, fetchContacts, getClipboardText, getCurrentLocation, getOperationalEnvironment, openCamera, setClipboardText, startUpdateLocation, useGeolocation };
|
|
1115
|
+
export { Accuracy, AppsInToss, type ContactEntity, type ExternalWebViewProps, type FetchAlbumPhotosOptions, type GameWebViewProps, type GetCurrentLocationOptions, type ImageResponse, type Location, type LocationCoords, type OpenCameraOptions, type PartnerWebViewProps, type StartUpdateLocationOptions, type StartUpdateLocationSubscription, TossPay, type UpdateLocationEventEmitter, type UseGeolocationOptions, WebView, type WebViewProps, appLogin, env, fetchAlbumPhotos, fetchContacts, getClipboardText, getCurrentLocation, getOperationalEnvironment, openCamera, setClipboardText, startUpdateLocation, useGeolocation };
|