Skip to content

Commit 489f8f4

Browse files
committed
feat(iframe-plugin): support [email protected]
1 parent 604e76e commit 489f8f4

File tree

4 files changed

+12
-12
lines changed

4 files changed

+12
-12
lines changed

packages/iframe-plugin/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
"react": "16.13.1",
5454
"react-native": "^0.63.2",
5555
"react-native-builder-bob": "^0.17.1",
56-
"react-native-render-html": "6.0.0-alpha.20",
56+
"react-native-render-html": "6.0.0-alpha.23",
5757
"react-native-webview": "11.0.0",
5858
"react-test-renderer": "16.13.1",
5959
"release-it": "^14.3.0",
@@ -68,7 +68,7 @@
6868
"peerDependencies": {
6969
"react": ">= 16.8.0",
7070
"react-native": ">= 0.59.0",
71-
"react-native-render-html": ">= 6.0.0-alpha.20 < 6.0.0-alpha.23"
71+
"react-native-render-html": ">= 6.0.0-alpha.23 || 6.x"
7272
},
7373
"author": "Jules Sam. Randolph <[email protected]> (https://github.com/jsamr)",
7474
"homepage": "https://github.com/native-html/plugins/tree/master/packages/iframe-plugin#readme",

packages/iframe-plugin/src/HTMLIframe.tsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ import {
77
useWebshell
88
} from '@formidable-webview/webshell';
99
import { StyleProp, ViewStyle } from 'react-native';
10-
import {
11-
HtmlAttributesDictionary,
12-
RenderHTMLProps
13-
} from 'react-native-render-html';
10+
import { RenderersPropsBase } from 'react-native-render-html';
1411
import { linkPressTargetToOnDOMLinkPressArgs } from '@native-html/plugins-core';
1512

1613
/**
@@ -81,12 +78,12 @@ export interface HTMLIframeProps<WebViewProps = any> extends IframeConfig {
8178
/**
8279
* Handle link press events.
8380
*/
84-
onLinkPress?: RenderHTMLProps['onLinkPress'];
81+
onLinkPress?: RenderersPropsBase['a']['onPress'];
8582

8683
/**
8784
* Html attributes for this iframe node.
8885
*/
89-
htmlAttribs: HtmlAttributesDictionary;
86+
htmlAttribs: Record<string, string>;
9087

9188
/**
9289
* When scalesPageToFit is enabled, scales the WebView zoom level to make sure the

packages/iframe-plugin/src/__tests__/IframeRenderer.test.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ describe('iframe renderer', () => {
1313
renderers={{
1414
iframe: IframeRenderer
1515
}}
16+
contentWidth={10}
1617
source={{
1718
html:
1819
'<iframe width="300" height="300" src="https://google.com/" />'

packages/iframe-plugin/src/useHtmlIframeProps.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import {
33
CustomTagRendererProps,
44
useDocumentMetadata,
55
useSharedProps,
6-
useNormalizedUrl
6+
useNormalizedUrl,
7+
useRendererProps
78
} from 'react-native-render-html';
89
import extractPrintDimensions, {
910
ExtractPrintDimensionsParams
@@ -32,12 +33,13 @@ export default function useHtmlIframeProps(
3233
): HTMLIframeProps | null {
3334
const {
3435
WebView,
35-
onLinkPress,
3636
defaultWebViewProps,
3737
contentWidth,
38-
computeEmbeddedMaxWidth,
39-
renderersProps: { iframe: globalIframeConfig } = {}
38+
computeEmbeddedMaxWidth
4039
} = useSharedProps();
40+
const globalIframeConfig = useRendererProps('table');
41+
const { onPress: onLinkPress } = useRendererProps('a');
42+
4143
const resolvedConfig = {
4244
...defaultIframeConfig,
4345
...globalIframeConfig,

0 commit comments

Comments
 (0)