@nodeject/ui-components
Version:
UI library for non-trivial components
36 lines (35 loc) • 2.15 kB
JavaScript
"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;