UNPKG

es-grid-template

Version:

es-grid-template

44 lines 1.56 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import React, { Fragment } from "react"; import classnames from "classnames"; import { getTemplate } from "../utils"; import styled from "styled-components"; const HeaderStyle = styled.div.withConfig({ displayName: "HeaderStyle", componentId: "es-grid-template__sc-ibhq66-0" })([""]); const HeaderContent = props => { const { t, id, wrapSettings, column, onCopy, ...rest } = props; const { headerTooltip, headerText, columnGroupText, headerTemplate, headerTextWrap, ellipsis } = props.column ?? {}; const text = React.useMemo(() => { return columnGroupText ?? headerText; }, [columnGroupText, headerText]); const tooltip = React.useMemo(() => { return t ? t?.(headerTooltip ?? columnGroupText ?? headerText) : headerTooltip ?? columnGroupText ?? headerText; }, [columnGroupText, headerText, headerTooltip, t]); return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(HeaderStyle, _extends({}, rest, { className: classnames('', { 'ui-rc-table-cell-ellipsis': ellipsis !== false && headerTextWrap !== true, 'header-text-wrap': headerTextWrap ?? (wrapSettings?.wrapMode === 'Header' || wrapSettings?.wrapMode === 'Both') }), "data-tooltip-id": `${id}-tooltip-header`, "data-tooltip-content": tooltip, "data-tooltip-offset": 16, onCopy: onCopy }), headerTemplate ? getTemplate(headerTemplate, column) : t ? t(text) : text)); }; export default HeaderContent;