UNPKG

@nodeject/ui-components

Version:

UI library for non-trivial components

36 lines (35 loc) 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LayoutTalk = void 0; var React = require("react"); var react_1 = require("react"); var index_1 = require("./index"); var styles = require("./Layout.module.less"); var LayoutTalk = function (props) { var isChronologicalOrder = props.isChronologicalOrder === undefined ? false : props.isChronologicalOrder; var _a = react_1.useState(true), showGoToBottomButton = _a[0], setGoToBottomButtonVisibility = _a[1]; var onContentBottomReached = function (bottomReached) { setGoToBottomButtonVisibility(!bottomReached); bottomReached && props.onContentBottomReached(); }; var _b = react_1.useState(false), showGoToTopButton = _b[0], setGoToTopButtonVisibility = _b[1]; var onContentTopReached = function (topReached) { setGoToTopButtonVisibility(!topReached); topReached && props.onContentTopReached(); }; var goToTopButton = !isChronologicalOrder && (React.createElement(index_1.GoToButton, { visible: showGoToTopButton, to: 'top', content: props.goToTopButton })); var goToBottomButton = (React.createElement(index_1.GoToButton, { visible: showGoToBottomButton, to: 'bottom', content: props.goToBottomButton })); return (React.createElement("div", { className: styles.layout }, React.createElement("div", { className: styles.container }, React.createElement("div", { className: styles.header }, React.createElement(index_1.Header, { content: props.headerContent }), goToTopButton), React.createElement("div", { className: styles.content, id: props.target }, React.createElement(index_1.Content, { content: props.content, onContentBottomReached: onContentBottomReached, onContentTopReached: onContentTopReached, targetId: props.target })), React.createElement("div", { className: styles.footer }, goToBottomButton, React.createElement(index_1.Footer, { content: props.footerContent }))))); }; exports.LayoutTalk = LayoutTalk;