UNPKG

@vandrei977/react-native-render-html

Version:

The hackable, full-featured Open Source HTML rendering solution for React Native.

101 lines (98 loc) 5.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = RenderHTMLConfigProvider; exports.renderHTMLConfigPropTypes = void 0; var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _RenderersPropsProvider = _interopRequireDefault(require("./context/RenderersPropsProvider")); var _SharedPropsProvider = _interopRequireDefault(require("./context/SharedPropsProvider")); var _TChildrenRendererContext = _interopRequireDefault(require("./context/TChildrenRendererContext")); var _TNodeChildrenRenderer = _interopRequireDefault(require("./TNodeChildrenRenderer")); var _TChildrenRenderer = _interopRequireDefault(require("./TChildrenRenderer")); var _sourceLoaderContext = _interopRequireWildcard(require("./context/sourceLoaderContext")); var _RenderRegistryProvider = _interopRequireDefault(require("./context/RenderRegistryProvider")); var _TRenderEngineProvider = require("./TRenderEngineProvider"); var _useProfiler = _interopRequireDefault(require("./hooks/useProfiler")); var _ListStyleSpecsProvider = _interopRequireDefault(require("./context/ListStyleSpecsProvider")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } const childrenRendererContext = { TChildrenRenderer: _TChildrenRenderer.default, TNodeChildrenRenderer: _TNodeChildrenRenderer.default }; const renderHTMLConfigPropTypes = exports.renderHTMLConfigPropTypes = { bypassAnonymousTPhrasingNodes: _propTypes.default.bool, defaultTextProps: _propTypes.default.object, defaultViewProps: _propTypes.default.object, enableExperimentalBRCollapsing: _propTypes.default.bool, enableExperimentalGhostLinesPrevention: _propTypes.default.bool, enableExperimentalMarginCollapsing: _propTypes.default.bool, remoteErrorView: _propTypes.default.func, remoteLoadingView: _propTypes.default.func, handleSelection: _propTypes.default.func, handleWordTap: _propTypes.default.func, shouldHandleTap: _propTypes.default.bool, debug: _propTypes.default.bool, computeEmbeddedMaxWidth: _propTypes.default.func, renderersProps: _propTypes.default.object, WebView: _propTypes.default.any, GenericPressable: _propTypes.default.any, defaultWebViewProps: _propTypes.default.object, pressableHightlightColor: _propTypes.default.string, customListStyleSpecs: _propTypes.default.object, renderers: _propTypes.default.object, provideEmbeddedHeaders: _propTypes.default.func }; /** * A component to provide configuration for {@link RenderHTMLSource} * descendants, to be used in conjunction with {@link TRenderEngineProvider}. */ function RenderHTMLConfigProvider(props) { const { remoteErrorView, remoteLoadingView, renderersProps, children, renderers, ...sharedProps } = props; const engine = (0, _TRenderEngineProvider.useAmbientTRenderEngine)(); const profile = (0, _useProfiler.default)({ prop: 'remoteErrorView or remoteLoadingView' }); const sourceLoaderConfig = (0, _react.useMemo)(() => { typeof __DEV__ === 'boolean' && __DEV__ && profile(); return { remoteErrorView: remoteErrorView || _sourceLoaderContext.defaultRenderError, remoteLoadingView: remoteLoadingView || _sourceLoaderContext.defaultRenderLoading }; }, [remoteErrorView, remoteLoadingView, profile]); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_RenderRegistryProvider.default, { renderers: renderers, elementModels: engine.getHTMLElementsModels(), children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SharedPropsProvider.default, { ...sharedProps, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListStyleSpecsProvider.default, { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RenderersPropsProvider.default, { renderersProps: renderersProps, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TChildrenRendererContext.default.Provider, { value: childrenRendererContext, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sourceLoaderContext.default.Provider, { value: sourceLoaderConfig, children: children }) }) }) }) }) }); } /** * @ignore */ RenderHTMLConfigProvider.propTypes = renderHTMLConfigPropTypes; //# sourceMappingURL=RenderHTMLConfigProvider.js.map