@apps-in-toss/framework 0.0.14 → 0.0.15
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 +231 -32
- package/dist/index.d.cts +22 -7
- package/dist/index.d.ts +22 -7
- package/dist/index.js +227 -25
- package/dist/plugins/index.cjs +344 -308
- package/dist/plugins/index.d.cts +23 -3
- package/dist/plugins/index.d.ts +23 -3
- package/dist/plugins/index.js +350 -317
- package/package.json +8 -8
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,38 @@ __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 WEBVIEW_TYPES = {
|
|
448
|
+
partner: import_react_native11.PartnerWebViewScreen,
|
|
449
|
+
external: import_react_native11.ExternalWebViewScreen,
|
|
450
|
+
game: GameWebView
|
|
451
|
+
};
|
|
452
|
+
function mergeSchemeQueryParamsInto(url) {
|
|
453
|
+
const baseUrl = new URL(url);
|
|
454
|
+
const schemeUrl = new URL((0, import_react_native_bedrock5.getSchemeUri)());
|
|
455
|
+
baseUrl.pathname = schemeUrl.pathname;
|
|
456
|
+
for (const [key, value] of schemeUrl.searchParams.entries()) {
|
|
457
|
+
baseUrl.searchParams.set(key, value);
|
|
458
|
+
}
|
|
459
|
+
return baseUrl;
|
|
460
|
+
}
|
|
461
|
+
function getWebViewUri(local) {
|
|
462
|
+
if (__DEV__) {
|
|
463
|
+
const devUrl = `http://${local.host}:${local.port}`;
|
|
464
|
+
return mergeSchemeQueryParamsInto(devUrl).toString();
|
|
465
|
+
}
|
|
466
|
+
const { url: rawUrl } = AppsInTossModule.getWebBundleURL({});
|
|
467
|
+
const url = mergeSchemeQueryParamsInto(rawUrl);
|
|
468
|
+
const deploymentId = env.getDeploymentId();
|
|
469
|
+
if (deploymentId) {
|
|
470
|
+
url.searchParams.set("_deploymentId", deploymentId);
|
|
471
|
+
}
|
|
472
|
+
return url.toString();
|
|
473
|
+
}
|
|
474
|
+
function WebView({ type, local, onMessage, ...props }) {
|
|
475
|
+
const uri = (0, import_react3.useMemo)(() => getWebViewUri(local), [local]);
|
|
476
|
+
const handler = (0, import_react_native_bedrock5.useBridgeHandler)({
|
|
305
477
|
onMessage,
|
|
306
478
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
307
479
|
eventListenerMap: event_bridges_exports,
|
|
@@ -318,14 +490,41 @@ function WebView({ local, onMessage, ...props }) {
|
|
|
318
490
|
...async_bridges_exports
|
|
319
491
|
}
|
|
320
492
|
});
|
|
321
|
-
|
|
322
|
-
|
|
493
|
+
const baseProps = (0, import_react3.useMemo)(() => {
|
|
494
|
+
switch (type) {
|
|
495
|
+
case "partner": {
|
|
496
|
+
return {
|
|
497
|
+
header: {
|
|
498
|
+
...props.header,
|
|
499
|
+
icon: toIcon(appsInTossGlobals.brandIcon),
|
|
500
|
+
title: appsInTossGlobals.brandDisplayName,
|
|
501
|
+
rightButtons: void 0
|
|
502
|
+
// TODO: onClick 이벤트를 받아야 하기에 런타임에서 설정 받아야 함
|
|
503
|
+
}
|
|
504
|
+
};
|
|
505
|
+
}
|
|
506
|
+
case "external": {
|
|
507
|
+
return {
|
|
508
|
+
header: {
|
|
509
|
+
...props.header,
|
|
510
|
+
icon: toIcon(appsInTossGlobals.brandIcon),
|
|
511
|
+
title: appsInTossGlobals.brandDisplayName
|
|
512
|
+
}
|
|
513
|
+
};
|
|
514
|
+
}
|
|
515
|
+
default: {
|
|
516
|
+
return {};
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
}, [type, props]);
|
|
520
|
+
const BaseWebView = WEBVIEW_TYPES[type];
|
|
521
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
522
|
+
BaseWebView,
|
|
323
523
|
{
|
|
324
524
|
ref: handler.ref,
|
|
525
|
+
...baseProps,
|
|
325
526
|
...props,
|
|
326
|
-
source: {
|
|
327
|
-
uri
|
|
328
|
-
},
|
|
527
|
+
source: { uri },
|
|
329
528
|
sharedCookiesEnabled: true,
|
|
330
529
|
thirdPartyCookiesEnabled: true,
|
|
331
530
|
cacheEnabled: false,
|
|
@@ -338,12 +537,12 @@ function WebView({ local, onMessage, ...props }) {
|
|
|
338
537
|
}
|
|
339
538
|
|
|
340
539
|
// src/hooks/useGeolocation.ts
|
|
341
|
-
var
|
|
342
|
-
var
|
|
540
|
+
var import_react4 = require("react");
|
|
541
|
+
var import_react_native_bedrock6 = require("react-native-bedrock");
|
|
343
542
|
function useGeolocation({ accuracy, distanceInterval, timeInterval }) {
|
|
344
|
-
const isVisible = (0,
|
|
345
|
-
const [location, setLocation] = (0,
|
|
346
|
-
(0,
|
|
543
|
+
const isVisible = (0, import_react_native_bedrock6.useVisibility)();
|
|
544
|
+
const [location, setLocation] = (0, import_react4.useState)(null);
|
|
545
|
+
(0, import_react4.useEffect)(() => {
|
|
347
546
|
if (!isVisible) {
|
|
348
547
|
return;
|
|
349
548
|
}
|
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 };
|