diff --git a/patches/react-native-render-html+6.3.1+002+fix-console-warning.patch b/patches/react-native-render-html+6.3.1+002+fix-console-warning.patch new file mode 100644 index 000000000000..b364e484ba59 --- /dev/null +++ b/patches/react-native-render-html+6.3.1+002+fix-console-warning.patch @@ -0,0 +1,719 @@ +diff --git a/node_modules/react-native-render-html/lib/commonjs/TChildrenRenderer.js b/node_modules/react-native-render-html/lib/commonjs/TChildrenRenderer.js +index 9d16738..bbc66a0 100644 +--- a/node_modules/react-native-render-html/lib/commonjs/TChildrenRenderer.js ++++ b/node_modules/react-native-render-html/lib/commonjs/TChildrenRenderer.js +@@ -3,7 +3,7 @@ + Object.defineProperty(exports, "__esModule", { + value: true + }); +-exports.default = exports.tchildrenRendererDefaultProps = void 0; ++exports.default = void 0; + + var _renderChildren = _interopRequireDefault(require("./renderChildren")); + +@@ -15,15 +15,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de + */ + const TChildrenRenderer = _renderChildren.default.bind(null); + +-const tchildrenRendererDefaultProps = { +- propsForChildren: {} +-}; +-/** +- * @ignore +- */ +- +-exports.tchildrenRendererDefaultProps = tchildrenRendererDefaultProps; +-TChildrenRenderer.defaultProps = tchildrenRendererDefaultProps; + var _default = TChildrenRenderer; + exports.default = _default; + //# sourceMappingURL=TChildrenRenderer.js.map +\ No newline at end of file +diff --git a/node_modules/react-native-render-html/lib/commonjs/TNodeChildrenRenderer.js b/node_modules/react-native-render-html/lib/commonjs/TNodeChildrenRenderer.js +index 50b43ca..5ecf4a4 100644 +--- a/node_modules/react-native-render-html/lib/commonjs/TNodeChildrenRenderer.js ++++ b/node_modules/react-native-render-html/lib/commonjs/TNodeChildrenRenderer.js +@@ -8,8 +8,6 @@ exports.default = void 0; + + var _SharedPropsProvider = require("./context/SharedPropsProvider"); + +-var _TChildrenRenderer = require("./TChildrenRenderer"); +- + var _renderChildren = _interopRequireDefault(require("./renderChildren")); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +@@ -78,12 +76,7 @@ function TNodeChildrenRenderer(props) { + + return (0, _renderChildren.default)(useTNodeChildrenProps(props)); + } +-/** +- * @ignore +- */ +- + +-TNodeChildrenRenderer.defaultProps = _TChildrenRenderer.tchildrenRendererDefaultProps; + var _default = TNodeChildrenRenderer; + exports.default = _default; + //# sourceMappingURL=TNodeChildrenRenderer.js.map +\ No newline at end of file +diff --git a/node_modules/react-native-render-html/lib/commonjs/TNodeRenderer.js b/node_modules/react-native-render-html/lib/commonjs/TNodeRenderer.js +index eafc942..e083941 100644 +--- a/node_modules/react-native-render-html/lib/commonjs/TNodeRenderer.js ++++ b/node_modules/react-native-render-html/lib/commonjs/TNodeRenderer.js +@@ -57,7 +57,11 @@ const TNodeRenderer = /*#__PURE__*/(0, _react.memo)(function MemoizedTNodeRender + const sharedProps = (0, _SharedPropsProvider.useSharedProps)(); + const renderRegistry = (0, _RenderRegistryProvider.useRendererRegistry)(); + const TNodeChildrenRenderer = (0, _TChildrenRendererContext.useTNodeChildrenRenderer)(); +- const tnodeProps = { ...props, ++ const tnodeProps = { ++ propsFromParent: { ++ collapsedMarginTop: null ++ }, ++ ...props, + TNodeChildrenRenderer, + sharedProps + }; +@@ -109,13 +113,6 @@ const TNodeRenderer = /*#__PURE__*/(0, _react.memo)(function MemoizedTNodeRender + const renderFn = tnode.type === 'block' || tnode.type === 'document' ? _renderBlockContent.default : _renderTextualContent.default; + return Renderer === null ? renderFn(assembledProps) : /*#__PURE__*/_react.default.createElement(Renderer, assembledProps); + }); +-const defaultProps = { +- propsFromParent: { +- collapsedMarginTop: null +- } +-}; // @ts-expect-error default props must be defined +- +-TNodeRenderer.defaultProps = defaultProps; + var _default = TNodeRenderer; + exports.default = _default; + //# sourceMappingURL=TNodeRenderer.js.map +\ No newline at end of file +diff --git a/node_modules/react-native-render-html/lib/commonjs/TRenderEngineProvider.js b/node_modules/react-native-render-html/lib/commonjs/TRenderEngineProvider.js +index 3a700b6..4011a1b 100644 +--- a/node_modules/react-native-render-html/lib/commonjs/TRenderEngineProvider.js ++++ b/node_modules/react-native-render-html/lib/commonjs/TRenderEngineProvider.js +@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", { + }); + exports.useAmbientTRenderEngine = useAmbientTRenderEngine; + exports.default = TRenderEngineProvider; +-exports.defaultTRenderEngineProviderProps = exports.defaultFallbackFonts = exports.tRenderEngineProviderPropTypes = void 0; + + var _react = _interopRequireDefault(require("react")); + +@@ -23,38 +22,6 @@ const defaultTRenderEngine = {}; + + const TRenderEngineContext = /*#__PURE__*/_react.default.createContext(defaultTRenderEngine); + +-const tRenderEngineProviderPropTypes = { +- customHTMLElementModels: _propTypes.default.object.isRequired, +- enableCSSInlineProcessing: _propTypes.default.bool, +- enableUserAgentStyles: _propTypes.default.bool, +- idsStyles: _propTypes.default.object, +- ignoredDomTags: _propTypes.default.array, +- ignoreDomNode: _propTypes.default.func, +- domVisitors: _propTypes.default.object, +- ignoredStyles: _propTypes.default.array.isRequired, +- allowedStyles: _propTypes.default.array, +- htmlParserOptions: _propTypes.default.object, +- tagsStyles: _propTypes.default.object, +- classesStyles: _propTypes.default.object, +- emSize: _propTypes.default.number.isRequired, +- baseStyle: _propTypes.default.object, +- systemFonts: _propTypes.default.arrayOf(_propTypes.default.string), +- fallbackFonts: _propTypes.default.shape({ +- serif: _propTypes.default.string, +- 'sans-serif': _propTypes.default.string, +- monospace: _propTypes.default.string +- }), +- setMarkersForTNode: _propTypes.default.func, +- dangerouslyDisableHoisting: _propTypes.default.bool, +- dangerouslyDisableWhitespaceCollapsing: _propTypes.default.bool, +- selectDomRoot: _propTypes.default.func +-}; +-/** +- * Default fallback font for special keys such as 'sans-serif', 'monospace', +- * 'serif', based on current platform. +- */ +- +-exports.tRenderEngineProviderPropTypes = tRenderEngineProviderPropTypes; + const defaultFallbackFonts = { + 'sans-serif': _reactNative.Platform.select({ + ios: 'system', +@@ -70,33 +37,6 @@ const defaultFallbackFonts = { + }) + }; + exports.defaultFallbackFonts = defaultFallbackFonts; +-const defaultTRenderEngineProviderProps = { +- htmlParserOptions: { +- decodeEntities: true +- }, +- emSize: 14, +- ignoredDomTags: [], +- ignoredStyles: [], +- baseStyle: { +- fontSize: 14 +- }, +- tagsStyles: {}, +- classesStyles: {}, +- enableUserAgentStyles: true, +- enableCSSInlineProcessing: true, +- customHTMLElementModels: {}, +- fallbackFonts: defaultFallbackFonts, +- systemFonts: _defaultSystemFonts.default +-}; +-/** +- * Use the ambient transient render engine. +- * +- * @returns The ambient transient render engine. +- * +- * @public +- */ +- +-exports.defaultTRenderEngineProviderProps = defaultTRenderEngineProviderProps; + + function useAmbientTRenderEngine() { + const engine = _react.default.useContext(TRenderEngineContext); +@@ -119,22 +59,26 @@ function useAmbientTRenderEngine() { + + function TRenderEngineProvider({ + children, ++ htmlParserOptions = { ++ decodeEntities: true ++ }, ++ emSize = 14, ++ ignoredDomTags = [], ++ ignoredStyles = [], ++ baseStyle = { fontSize: 14 }, ++ tagsStyles = {}, ++ classesStyles = {}, ++ enableUserAgentStyles = true, ++ enableCSSInlineProcessing = true, ++ customHTMLElementModels = {}, ++ fallbackFonts = defaultFallbackFonts, ++ systemFonts = defaultSystemFonts, + ...config + }) { +- const engine = (0, _useTRenderEngine.default)(config); ++ const engine = (0, _useTRenderEngine.default)({htmlParserOptions, emSize, ignoredDomTags, ignoredStyles, baseStyle, tagsStyles, classesStyles, enableUserAgentStyles, enableCSSInlineProcessing, customHTMLElementModels, fallbackFonts, systemFonts, ...config}); + return /*#__PURE__*/_react.default.createElement(TRenderEngineContext.Provider, { + value: engine + }, children); + } +-/** +- * @ignore +- */ +- +- +-TRenderEngineProvider.defaultProps = defaultTRenderEngineProviderProps; +-/** +- * @ignore +- */ + +-TRenderEngineProvider.propTypes = tRenderEngineProviderPropTypes; + //# sourceMappingURL=TRenderEngineProvider.js.map +\ No newline at end of file +diff --git a/node_modules/react-native-render-html/lib/commonjs/elements/IMGElement.js b/node_modules/react-native-render-html/lib/commonjs/elements/IMGElement.js +index 1be151a..3a076d4 100644 +--- a/node_modules/react-native-render-html/lib/commonjs/elements/IMGElement.js ++++ b/node_modules/react-native-render-html/lib/commonjs/elements/IMGElement.js +@@ -7,8 +7,6 @@ exports.default = void 0; + + var _react = _interopRequireDefault(require("react")); + +-var _propTypes = _interopRequireDefault(require("prop-types")); +- + var _useIMGElementState = _interopRequireDefault(require("./useIMGElementState")); + + var _IMGElementContentSuccess = _interopRequireDefault(require("./IMGElementContentSuccess")); +@@ -19,15 +17,10 @@ var _IMGElementContentLoading = _interopRequireDefault(require("./IMGElementCont + + var _IMGElementContentError = _interopRequireDefault(require("./IMGElementContentError")); + +-var _defaultInitialImageDimensions = _interopRequireDefault(require("./defaultInitialImageDimensions")); +- + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +-function identity(arg) { +- return arg; +-} + /** + * A component to render images based on an internal loading state. + * +@@ -37,8 +30,6 @@ function identity(arg) { + * {@link IMGElementContentSuccess}, {@link IMGElementContentLoading} + * and {@link IMGElementContentError} for customization. + */ +- +- + function IMGElement(props) { + const state = (0, _useIMGElementState.default)(props); + let content; +@@ -59,43 +50,6 @@ function IMGElement(props) { + }), content); + } + +-const imgDimensionsType = _propTypes.default.shape({ +- width: _propTypes.default.number, +- height: _propTypes.default.number +-}); +- +-const propTypes = { +- source: _propTypes.default.object.isRequired, +- alt: _propTypes.default.string, +- altColor: _propTypes.default.string, +- height: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), +- width: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), +- style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]), +- computeMaxWidth: _propTypes.default.func.isRequired, +- contentWidth: _propTypes.default.number, +- enableExperimentalPercentWidth: _propTypes.default.bool, +- initialDimensions: imgDimensionsType, +- onPress: _propTypes.default.func, +- testID: _propTypes.default.string, +- objectFit: _propTypes.default.string, +- cachedNaturalDimensions: imgDimensionsType, +- containerProps: _propTypes.default.object +-}; +-/** +- * @ignore +- */ +- +-IMGElement.propTypes = propTypes; +-/** +- * @ignore +- */ +- +-IMGElement.defaultProps = { +- enableExperimentalPercentWidth: false, +- computeMaxWidth: identity, +- imagesInitialDimensions: _defaultInitialImageDimensions.default, +- style: {} +-}; + var _default = IMGElement; + exports.default = _default; + //# sourceMappingURL=IMGElement.js.map +\ No newline at end of file +diff --git a/node_modules/react-native-render-html/src/RenderHTMLConfigProvider.tsx b/node_modules/react-native-render-html/src/RenderHTMLConfigProvider.tsx +index 0df5375..925062a 100644 +--- a/node_modules/react-native-render-html/src/RenderHTMLConfigProvider.tsx ++++ b/node_modules/react-native-render-html/src/RenderHTMLConfigProvider.tsx +@@ -1,5 +1,4 @@ + import React, { PropsWithChildren, ReactElement, useMemo } from 'react'; +-import PropTypes from 'prop-types'; + import RenderersPropsProvider from './context/RenderersPropsProvider'; + import SharedPropsProvider from './context/SharedPropsProvider'; + import TChildrenRenderersContext from './context/TChildrenRendererContext'; +@@ -20,29 +19,6 @@ const childrenRendererContext = { + TNodeChildrenRenderer + }; + +-export type RenderHTMLConfigPropTypes = Record; +- +-export const renderHTMLConfigPropTypes: RenderHTMLConfigPropTypes = { +- bypassAnonymousTPhrasingNodes: PropTypes.bool, +- defaultTextProps: PropTypes.object, +- defaultViewProps: PropTypes.object, +- enableExperimentalBRCollapsing: PropTypes.bool, +- enableExperimentalGhostLinesPrevention: PropTypes.bool, +- enableExperimentalMarginCollapsing: PropTypes.bool, +- remoteErrorView: PropTypes.func, +- remoteLoadingView: PropTypes.func, +- debug: PropTypes.bool, +- computeEmbeddedMaxWidth: PropTypes.func, +- renderersProps: PropTypes.object, +- WebView: PropTypes.any, +- GenericPressable: PropTypes.any, +- defaultWebViewProps: PropTypes.object, +- pressableHightlightColor: PropTypes.string, +- customListStyleSpecs: PropTypes.object, +- renderers: PropTypes.object, +- provideEmbeddedHeaders: PropTypes.func +-}; +- + /** + * A component to provide configuration for {@link RenderHTMLSource} + * descendants, to be used in conjunction with {@link TRenderEngineProvider}. +@@ -85,8 +61,3 @@ export default function RenderHTMLConfigProvider( + + ); + } +- +-/** +- * @ignore +- */ +-RenderHTMLConfigProvider.propTypes = renderHTMLConfigPropTypes; +diff --git a/node_modules/react-native-render-html/src/RenderHTMLSource.tsx b/node_modules/react-native-render-html/src/RenderHTMLSource.tsx +index c91da52..fd0e052 100644 +--- a/node_modules/react-native-render-html/src/RenderHTMLSource.tsx ++++ b/node_modules/react-native-render-html/src/RenderHTMLSource.tsx +@@ -1,7 +1,6 @@ + import equals from 'ramda/src/equals'; + import React, { memo, ReactElement, useMemo } from 'react'; + import { Dimensions } from 'react-native'; +-import PropTypes from 'prop-types'; + import ttreeEventsContext from './context/ttreeEventsContext'; + import isUriSource from './helpers/isUriSource'; + import { SourceLoaderProps, TTreeEvents } from './internal-types'; +@@ -25,29 +24,6 @@ export type RenderHTMLSourcePropTypes = Record< + any + >; + +-export const renderSourcePropTypes: RenderHTMLSourcePropTypes = { +- source: PropTypes.oneOfType([ +- PropTypes.shape({ +- html: PropTypes.string.isRequired, +- baseUrl: PropTypes.string +- }), +- PropTypes.shape({ +- dom: PropTypes.object.isRequired, +- baseUrl: PropTypes.string +- }), +- PropTypes.shape({ +- uri: PropTypes.string.isRequired, +- method: PropTypes.string, +- body: PropTypes.any, +- headers: PropTypes.object +- }) +- ]), +- onTTreeChange: PropTypes.func, +- onHTMLLoaded: PropTypes.func, +- onDocumentMetadataLoaded: PropTypes.func, +- contentWidth: PropTypes.number +-}; +- + function isEmptySource(source: undefined | HTMLSource) { + return ( + !source || +@@ -136,9 +112,4 @@ const RenderHTMLSource = memo( + } + ); + +-/** +- * @ignore +- */ +-(RenderHTMLSource as any).propTypes = renderSourcePropTypes; +- + export default RenderHTMLSource; +diff --git a/node_modules/react-native-render-html/src/TChildrenRenderer.tsx b/node_modules/react-native-render-html/src/TChildrenRenderer.tsx +index 618a592..e12888e 100644 +--- a/node_modules/react-native-render-html/src/TChildrenRenderer.tsx ++++ b/node_modules/react-native-render-html/src/TChildrenRenderer.tsx +@@ -9,16 +9,4 @@ import renderChildren from './renderChildren'; + const TChildrenRenderer: FunctionComponent = + renderChildren.bind(null); + +-export const tchildrenRendererDefaultProps: Pick< +- TChildrenRendererProps, +- 'propsForChildren' +-> = { +- propsForChildren: {} +-}; +- +-/** +- * @ignore +- */ +-TChildrenRenderer.defaultProps = tchildrenRendererDefaultProps; +- + export default TChildrenRenderer; +diff --git a/node_modules/react-native-render-html/src/TNodeChildrenRenderer.tsx b/node_modules/react-native-render-html/src/TNodeChildrenRenderer.tsx +index bf5aef6..b820de0 100644 +--- a/node_modules/react-native-render-html/src/TNodeChildrenRenderer.tsx ++++ b/node_modules/react-native-render-html/src/TNodeChildrenRenderer.tsx +@@ -1,7 +1,6 @@ + import { ReactElement } from 'react'; + import { TNode } from '@native-html/transient-render-engine'; + import { useSharedProps } from './context/SharedPropsProvider'; +-import { tchildrenRendererDefaultProps } from './TChildrenRenderer'; + import { + TChildrenRendererProps, + TNodeChildrenRendererProps +@@ -73,9 +72,4 @@ function TNodeChildrenRenderer( + return renderChildren(useTNodeChildrenProps(props)); + } + +-/** +- * @ignore +- */ +-TNodeChildrenRenderer.defaultProps = tchildrenRendererDefaultProps; +- + export default TNodeChildrenRenderer; +diff --git a/node_modules/react-native-render-html/src/TNodeRenderer.tsx b/node_modules/react-native-render-html/src/TNodeRenderer.tsx +index d32140f..0804ba7 100644 +--- a/node_modules/react-native-render-html/src/TNodeRenderer.tsx ++++ b/node_modules/react-native-render-html/src/TNodeRenderer.tsx +@@ -49,6 +49,7 @@ const TNodeRenderer = memo(function MemoizedTNodeRenderer( + const renderRegistry = useRendererRegistry(); + const TNodeChildrenRenderer = useTNodeChildrenRenderer(); + const tnodeProps = { ++ propsFromParent: { collapsedMarginTop: null }, + ...props, + TNodeChildrenRenderer, + sharedProps +@@ -120,16 +121,6 @@ const TNodeRenderer = memo(function MemoizedTNodeRenderer( + : React.createElement(Renderer as any, assembledProps); + }); + +-const defaultProps: Required, 'propsFromParent'>> = +- { +- propsFromParent: { +- collapsedMarginTop: null +- } +- }; +- +-// @ts-expect-error default props must be defined +-TNodeRenderer.defaultProps = defaultProps; +- + export { + TDefaultBlockRenderer, + TDefaultPhrasingRenderer, +diff --git a/node_modules/react-native-render-html/src/TRenderEngineProvider.tsx b/node_modules/react-native-render-html/src/TRenderEngineProvider.tsx +index 95b60df..db6fe0b 100644 +--- a/node_modules/react-native-render-html/src/TRenderEngineProvider.tsx ++++ b/node_modules/react-native-render-html/src/TRenderEngineProvider.tsx +@@ -1,7 +1,6 @@ + import TRenderEngine from '@native-html/transient-render-engine'; + import React, { PropsWithChildren, ReactElement } from 'react'; + import { Platform } from 'react-native'; +-import PropTypes from 'prop-types'; + import useTRenderEngine from './hooks/useTRenderEngine'; + import { TRenderEngineConfig } from './shared-types'; + import defaultSystemFonts from './defaultSystemFonts'; +@@ -11,36 +10,6 @@ const defaultTRenderEngine = {} as any; + const TRenderEngineContext = + React.createContext(defaultTRenderEngine); + +-export const tRenderEngineProviderPropTypes: Record< +- keyof TRenderEngineConfig, +- any +-> = { +- customHTMLElementModels: PropTypes.object.isRequired, +- enableCSSInlineProcessing: PropTypes.bool, +- enableUserAgentStyles: PropTypes.bool, +- idsStyles: PropTypes.object, +- ignoredDomTags: PropTypes.array, +- ignoreDomNode: PropTypes.func, +- domVisitors: PropTypes.object, +- ignoredStyles: PropTypes.array.isRequired, +- allowedStyles: PropTypes.array, +- htmlParserOptions: PropTypes.object, +- tagsStyles: PropTypes.object, +- classesStyles: PropTypes.object, +- emSize: PropTypes.number.isRequired, +- baseStyle: PropTypes.object, +- systemFonts: PropTypes.arrayOf(PropTypes.string), +- fallbackFonts: PropTypes.shape({ +- serif: PropTypes.string, +- 'sans-serif': PropTypes.string, +- monospace: PropTypes.string +- }), +- setMarkersForTNode: PropTypes.func, +- dangerouslyDisableHoisting: PropTypes.bool, +- dangerouslyDisableWhitespaceCollapsing: PropTypes.bool, +- selectDomRoot: PropTypes.func +-}; +- + /** + * Default fallback font for special keys such as 'sans-serif', 'monospace', + * 'serif', based on current platform. +@@ -51,23 +20,6 @@ export const defaultFallbackFonts = { + serif: Platform.select({ ios: 'Times New Roman', default: 'serif' }) + }; + +-export const defaultTRenderEngineProviderProps: TRenderEngineConfig = { +- htmlParserOptions: { +- decodeEntities: true +- }, +- emSize: 14, +- ignoredDomTags: [], +- ignoredStyles: [], +- baseStyle: { fontSize: 14 }, +- tagsStyles: {}, +- classesStyles: {}, +- enableUserAgentStyles: true, +- enableCSSInlineProcessing: true, +- customHTMLElementModels: {}, +- fallbackFonts: defaultFallbackFonts, +- systemFonts: defaultSystemFonts +-}; +- + /** + * Use the ambient transient render engine. + * +@@ -97,22 +49,26 @@ export function useAmbientTRenderEngine() { + */ + export default function TRenderEngineProvider({ + children, ++ htmlParserOptions = { ++ decodeEntities: true ++ }, ++ emSize = 14, ++ ignoredDomTags = [], ++ ignoredStyles = [], ++ baseStyle = { fontSize: 14 }, ++ tagsStyles = {}, ++ classesStyles = {}, ++ enableUserAgentStyles = true, ++ enableCSSInlineProcessing = true, ++ customHTMLElementModels = {}, ++ fallbackFonts = defaultFallbackFonts, ++ systemFonts = defaultSystemFonts, + ...config + }: PropsWithChildren): ReactElement { +- const engine = useTRenderEngine(config); ++ const engine = useTRenderEngine({htmlParserOptions, emSize, ignoredDomTags, ignoredStyles, baseStyle, tagsStyles, classesStyles, enableUserAgentStyles, enableCSSInlineProcessing, customHTMLElementModels, fallbackFonts, systemFonts, ...config}); + return ( + + {children} + + ); + } +- +-/** +- * @ignore +- */ +-TRenderEngineProvider.defaultProps = defaultTRenderEngineProviderProps; +- +-/** +- * @ignore +- */ +-TRenderEngineProvider.propTypes = tRenderEngineProviderPropTypes; +diff --git a/node_modules/react-native-render-html/src/elements/IMGElement.tsx b/node_modules/react-native-render-html/src/elements/IMGElement.tsx +index 573e7c1..a6fc90b 100644 +--- a/node_modules/react-native-render-html/src/elements/IMGElement.tsx ++++ b/node_modules/react-native-render-html/src/elements/IMGElement.tsx +@@ -1,19 +1,13 @@ + import React, { ReactElement, ReactNode } from 'react'; +-import PropTypes from 'prop-types'; + import useIMGElementState from './useIMGElementState'; + import IMGElementContentSuccess from './IMGElementContentSuccess'; + import IMGElementContainer from './IMGElementContainer'; + import IMGElementContentLoading from './IMGElementContentLoading'; + import IMGElementContentError from './IMGElementContentError'; + import type { IMGElementProps } from './img-types'; +-import defaultImageInitialDimensions from './defaultInitialImageDimensions'; + + export type { IMGElementProps } from './img-types'; + +-function identity(arg: any) { +- return arg; +-} +- + /** + * A component to render images based on an internal loading state. + * +@@ -44,42 +38,4 @@ function IMGElement(props: IMGElementProps): ReactElement { + ); + } + +-const imgDimensionsType = PropTypes.shape({ +- width: PropTypes.number, +- height: PropTypes.number +-}); +- +-const propTypes: Record = { +- source: PropTypes.object.isRequired, +- alt: PropTypes.string, +- altColor: PropTypes.string, +- height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), +- width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), +- style: PropTypes.oneOfType([PropTypes.object, PropTypes.array]), +- computeMaxWidth: PropTypes.func.isRequired, +- contentWidth: PropTypes.number, +- enableExperimentalPercentWidth: PropTypes.bool, +- initialDimensions: imgDimensionsType, +- onPress: PropTypes.func, +- testID: PropTypes.string, +- objectFit: PropTypes.string, +- cachedNaturalDimensions: imgDimensionsType, +- containerProps: PropTypes.object +-}; +- +-/** +- * @ignore +- */ +-IMGElement.propTypes = propTypes; +- +-/** +- * @ignore +- */ +-IMGElement.defaultProps = { +- enableExperimentalPercentWidth: false, +- computeMaxWidth: identity, +- imagesInitialDimensions: defaultImageInitialDimensions, +- style: {} +-}; +- + export default IMGElement; +diff --git a/node_modules/react-native-render-html/src/elements/useIMGElementState.ts b/node_modules/react-native-render-html/src/elements/useIMGElementState.ts +index 6590d21..b603f26 100644 +--- a/node_modules/react-native-render-html/src/elements/useIMGElementState.ts ++++ b/node_modules/react-native-render-html/src/elements/useIMGElementState.ts +@@ -63,6 +63,10 @@ function useImageNaturalDimensions

(props: { + }; + } + ++function identity(arg: any) { ++ return arg; ++} ++ + function useFetchedNaturalDimensions(props: { + cachedNaturalDimensions?: ImageDimensions; + source: ImageURISource; +@@ -116,7 +120,7 @@ export default function useIMGElementState( + altColor, + source, + contentWidth, +- computeMaxWidth, ++ computeMaxWidth = identity, + objectFit, + initialDimensions = defaultImageInitialDimensions, + cachedNaturalDimensions +diff --git a/node_modules/react-native-render-html/src/elements/useImageSpecifiedDimensions.ts b/node_modules/react-native-render-html/src/elements/useImageSpecifiedDimensions.ts +index 5d6271b..710c73f 100644 +--- a/node_modules/react-native-render-html/src/elements/useImageSpecifiedDimensions.ts ++++ b/node_modules/react-native-render-html/src/elements/useImageSpecifiedDimensions.ts +@@ -71,8 +71,7 @@ function deriveSpecifiedDimensionsFromProps({ + export default function useImageSpecifiedDimensions( + props: UseIMGElementStateProps + ) { +- const { contentWidth, enableExperimentalPercentWidth, style, width, height } = +- props; ++ const { contentWidth, enableExperimentalPercentWidth = false, style = {}, width, height } = props + const flatStyle = useMemo(() => StyleSheet.flatten(style) || {}, [style]); + const specifiedDimensions = useMemo( + () => +diff --git a/node_modules/react-native-render-html/src/index.ts b/node_modules/react-native-render-html/src/index.ts +index 8569583..b59ec49 100644 +--- a/node_modules/react-native-render-html/src/index.ts ++++ b/node_modules/react-native-render-html/src/index.ts +@@ -128,7 +128,6 @@ export { + export { default as TNodeRenderer } from './TNodeRenderer'; + export { + default as TRenderEngineProvider, +- defaultFallbackFonts, + useAmbientTRenderEngine + } from './TRenderEngineProvider'; + export { default as RenderHTMLConfigProvider } from './RenderHTMLConfigProvider'; +diff --git a/node_modules/react-native-render-html/src/renderChildren.tsx b/node_modules/react-native-render-html/src/renderChildren.tsx +index a669402..be9ffd6 100644 +--- a/node_modules/react-native-render-html/src/renderChildren.tsx ++++ b/node_modules/react-native-render-html/src/renderChildren.tsx +@@ -4,8 +4,6 @@ import TNodeRenderer from './TNodeRenderer'; + import { TChildrenRendererProps } from './shared-types'; + import collapseTopMarginForChild from './helpers/collapseTopMarginForChild'; + +-const empty = {}; +- + const mapCollapsibleChildren = ( + propsForChildren: TChildrenRendererProps['propsForChildren'], + renderChild: TChildrenRendererProps['renderChild'], +@@ -39,7 +37,7 @@ const mapCollapsibleChildren = ( + + export default function renderChildren({ + tchildren, +- propsForChildren = empty, ++ propsForChildren = {}, + disableMarginCollapsing, + renderChild + }: TChildrenRendererProps): ReactElement {