UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

53 lines (52 loc) 1.95 kB
"use strict"; "use client"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = Th; var _react = require("react"); var _clsx = _interopRequireDefault(require("clsx")); var _TableSortButton = _interopRequireDefault(require("./TableSortButton.js")); var _TableHelpButton = _interopRequireDefault(require("./TableHelpButton.js")); var _TableTrContext = require("./TableTrContext.js"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function Th(componentProps) { const { className, children, sortable, active, reversed, noWrap, highlight: highlightProp, variant, ...props } = componentProps; const trContext = (0, _react.useContext)(_TableTrContext.TableTrContext); const highlight = highlightProp || (trContext === null || trContext === void 0 ? void 0 : trContext.highlight); const role = props.scope === 'row' || props.scope === 'rowgroup' ? 'rowheader' : 'columnheader'; const scope = props.scope === 'row' ? 'row' : props.scope || 'col'; const ariaSort = sortable ? reversed ? 'descending' : 'ascending' : undefined; return (0, _jsxRuntime.jsx)("th", { role: role, scope: scope, "aria-sort": ariaSort, className: (0, _clsx.default)('dnb-table__th', className, sortable && 'dnb-table--sortable', active && 'dnb-table--active', reversed && 'dnb-table--reversed', noWrap && 'dnb-table--no-wrap', highlight && 'dnb-table__th--highlight', variant && `dnb-table__th--${variant}`), ...props, children: children }); } function Horizontal({ className = null, ...rest }) { return (0, _jsxRuntime.jsx)("div", { ...rest, className: (0, _clsx.default)('dnb-table__th__horizontal', className) }); } Th.SortButton = _TableSortButton.default; Th.HelpButton = _TableHelpButton.default; Th.Horizontal = Horizontal; //# sourceMappingURL=TableTh.js.map