UNPKG

collaborative-ui

Version:

React component library for building real-time collaborative editing applications.

67 lines (66 loc) 2.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CardLayout = void 0; const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const nano_theme_1 = require("nano-theme"); const Split_1 = require("nice-ui/lib/3-list-item/Split"); const Flex_1 = require("nice-ui/lib/3-list-item/Flex"); const Space_1 = require("nice-ui/lib/3-list-item/Space"); const BasicButtonClose_1 = require("nice-ui/lib/2-inline-block/BasicButton/BasicButtonClose"); const BasicTooltip_1 = require("nice-ui/lib/4-card/BasicTooltip"); const use_t_1 = require("use-t"); const css = { block: (0, nano_theme_1.drule)({ ...nano_theme_1.theme.font.mono, d: 'block', bdrad: '5px', trs: 'background 0.6s ease 0s', fz: '.9em', lh: 1.3, bd: '1px solid transparent', pd: 0, mr: 0, '&+&': { mrt: '8px', }, }), header: (0, nano_theme_1.drule)({ pd: '8px 8px 8px 16px', bxz: 'border-box', ai: 'center', }), body: (0, nano_theme_1.drule)({ pd: '8px 8px 8px 16px', bxz: 'border-box', ovy: 'auto', }), }; const CardLayout = ({ left, right, footer, children, onClose, onTitleClick }) => { const [t] = (0, use_t_1.useT)(); const theme = (0, nano_theme_1.useTheme)(); let header = null; if (left || right || onClose) { header = (React.createElement(Split_1.Split, { className: css.header({ bdb: !children ? undefined : `1px solid ${theme.g(0, 0.05)}` }), onClick: onTitleClick }, React.createElement("div", null, left), React.createElement("div", null, React.createElement(Flex_1.Flex, { style: { alignItems: 'center' } }, right, !!onClose && (React.createElement(React.Fragment, null, React.createElement(Space_1.Space, { horizontal: true, size: 0 }), React.createElement(BasicTooltip_1.BasicTooltip, { renderTooltip: () => t('Close') }, React.createElement(BasicButtonClose_1.BasicButtonClose, { onClick: onClose })))))))); } return (React.createElement("div", { className: css.block({ col: theme.g(0.3), bg: theme.g(0, 0.02), '&:hover': { bg: theme.bg, bd: `1px solid ${theme.g(0, 0.04)}`, }, }) }, header, !!children && React.createElement("div", { className: css.body() }, children), footer)); }; exports.CardLayout = CardLayout;