UNPKG

@native-html/heuristic-table-plugin

Version:

🔠 A 100% native component using heuristics to render tables in react-native-render-html

64 lines (55 loc) • 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useHtmlTableProps; var _react = require("react"); var _reactNativeRenderHtml = require("react-native-render-html"); var _TableLayout = _interopRequireDefault(require("./TableLayout")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function useTableLayout({ tnode, settings }) { return (0, _react.useMemo)(() => { return new _TableLayout.default(tnode, settings); }, [tnode, settings]); } /** * Customize the rendering logic of the table renderer via this hook. * * @param props - Props from custom renderer props. * @param options - Customize this hook behavior. * * @returns props for the {@link HTMLTable} component. * * @public */ function useHtmlTableProps({ sharedProps, tnode, ...props }, options = {}) { var _table$forceStretch; const table = (0, _reactNativeRenderHtml.useRendererProps)('table'); const forceStretch = (_table$forceStretch = table === null || table === void 0 ? void 0 : table.forceStretch) !== null && _table$forceStretch !== void 0 ? _table$forceStretch : false; const sharedContentWidth = (0, _reactNativeRenderHtml.useContentWidth)(); const contentWidth = typeof options.overrideContentWidth === 'number' ? options.overrideContentWidth : sharedContentWidth; const settings = (0, _react.useMemo)(() => ({ contentWidth, forceStretch }), [contentWidth, forceStretch]); const layout = useTableLayout({ tnode, settings }); return { layout, settings, config: table || {}, sharedProps, tnode, ...props }; } //# sourceMappingURL=useHtmlTableProps.js.map