Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ffa4f2c

Browse files
committed
feat(heuristic-table): support [email protected]
1 parent 6de42c8 commit ffa4f2c

File tree

8 files changed

+23
-20
lines changed

8 files changed

+23
-20
lines changed

packages/heuristic-table-plugin/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
"peerDependencies": {
7070
"react": ">= 16.8.0",
7171
"react-native": ">= 0.63.0",
72-
"react-native-render-html": ">= 6.0.0-alpha.25 || >= 6.0.0-beta.0 || 6.x"
72+
"react-native-render-html": ">= 6.0.0-beta.0 || 6.x"
7373
},
7474
"author": "Jules Sam. Randolph <[email protected]> (https://github.com/jsamr)",
7575
"homepage": "https://github.com/native-html/plugins/tree/master/packages/heuristic-table-plugin#readme",

packages/heuristic-table-plugin/src/TdRenderer.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import React from 'react';
22
import { CustomBlockRenderer } from 'react-native-render-html';
3-
import { TableCellPropsFromParent } from './shared-types';
43
import useHtmlTableCellProps from './useHtmlTableCellProps';
54

65
/**
@@ -9,9 +8,7 @@ import useHtmlTableCellProps from './useHtmlTableCellProps';
98
* @param props - Component props.
109
* @public
1110
*/
12-
const TdRenderer: CustomBlockRenderer<TableCellPropsFromParent> = function (
13-
props
14-
) {
11+
const TdRenderer: CustomBlockRenderer = function TdRenderer(props) {
1512
return React.createElement(
1613
props.TDefaultRenderer,
1714
useHtmlTableCellProps(props)

packages/heuristic-table-plugin/src/ThRenderer.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import React from 'react';
22
import { CustomBlockRenderer } from 'react-native-render-html';
3-
import { TableCellPropsFromParent } from './shared-types';
43
import useHtmlTableCellProps from './useHtmlTableCellProps';
54

65
/**
@@ -9,9 +8,7 @@ import useHtmlTableCellProps from './useHtmlTableCellProps';
98
* @param props - Component props.
109
* @public
1110
*/
12-
const ThRenderer: CustomBlockRenderer<TableCellPropsFromParent> = function (
13-
props
14-
) {
11+
const ThRenderer: CustomBlockRenderer = function ThRenderer(props) {
1512
return React.createElement(
1613
props.TDefaultRenderer,
1714
useHtmlTableCellProps(props)

packages/heuristic-table-plugin/src/TreeRenderer.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ export default function TreeRenderer({
1919
return (
2020
<View style={{ width: node.width }}>
2121
<TNodeRenderer
22-
propsFromParent={{ cell: node, collapsedMarginTop: null, config }}
22+
propsFromParent={
23+
{ cell: node, collapsedMarginTop: null, config } as any
24+
}
2325
tnode={node.tnode}
2426
/>
2527
</View>

packages/heuristic-table-plugin/src/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { CustomBlockRenderer } from 'react-native-render-html';
2+
import { HeuristicTablePluginConfig, Settings } from './shared-types';
23
import TableRenderer from './TableRenderer';
34
import TdRenderer from './TdRenderer';
45
import ThRenderer from './ThRenderer';
@@ -33,4 +34,13 @@ export { default as useHtmlTableProps } from './useHtmlTableProps';
3334
export { default as useHtmlTableCellProps } from './useHtmlTableCellProps';
3435
export { default as HTMLTable } from './HTMLTable';
3536

37+
declare module 'react-native-render-html' {
38+
interface RenderersProps {
39+
/**
40+
* Configuration for `@native-html/heuristic-table-plugin` table renderer.
41+
*/
42+
table?: Settings & HeuristicTablePluginConfig;
43+
}
44+
}
45+
3646
export default renderers;

packages/heuristic-table-plugin/src/shared-types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ViewStyle } from 'react-native';
22
import {
3-
CustomTagRendererProps,
3+
CustomRendererProps,
44
PropsFromParent,
55
TBlock,
66
TNode
@@ -164,7 +164,7 @@ export interface HeuristicTablePluginConfig {
164164
*
165165
* @public
166166
*/
167-
export interface HTMLTableProps extends CustomTagRendererProps<TBlock> {
167+
export interface HTMLTableProps extends CustomRendererProps<TBlock> {
168168
layout: TableLayout;
169169
config: HeuristicTablePluginConfig;
170170
settings: Settings;

packages/heuristic-table-plugin/src/useHtmlTableCellProps.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { DefaultTagRendererProps, TBlock } from 'react-native-render-html';
1+
import { TBlock, CustomRendererProps } from 'react-native-render-html';
22
import { TableCellPropsFromParent } from './shared-types';
33

44
/**
@@ -11,11 +11,8 @@ import { TableCellPropsFromParent } from './shared-types';
1111
export default function useHtmlTableCellProps({
1212
propsFromParent,
1313
...props
14-
}: DefaultTagRendererProps<
15-
TBlock,
16-
TableCellPropsFromParent
17-
>): DefaultTagRendererProps<TBlock, TableCellPropsFromParent> {
18-
const { config, cell } = propsFromParent;
14+
}: CustomRendererProps<TBlock>): CustomRendererProps<TBlock> {
15+
const { config, cell } = propsFromParent as TableCellPropsFromParent;
1916
const styleFromConfig = config?.getStyleForCell?.call(null, cell);
2017
let spanStyles = {};
2118
if (cell.lenY > 1) {

packages/heuristic-table-plugin/src/useHtmlTableProps.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useMemo } from 'react';
22
import {
3-
CustomTagRendererProps,
3+
CustomRendererProps,
44
TBlock,
55
TNode,
66
useContentWidth,
@@ -32,7 +32,7 @@ function useTableLayout({
3232
* @public
3333
*/
3434
export default function useHtmlTableProps(
35-
{ sharedProps, tnode, ...props }: CustomTagRendererProps<TBlock>,
35+
{ sharedProps, tnode, ...props }: CustomRendererProps<TBlock>,
3636
options: {
3737
/**
3838
* If present, overrides contentWidth from shared props.

0 commit comments

Comments
 (0)