UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

60 lines (59 loc) 2.1 kB
"use strict"; "use client"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = Th; var _react = require("react"); var _clsx = require("clsx"); var _TableSortButton = _interopRequireDefault(require("./TableSortButton.js")); var _TableHelpButton = _interopRequireDefault(require("./TableHelpButton.js")); var _TableTrContext = require("./TableTrContext.js"); var _TableThContext = require("./TableThContext.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, sortedBefore, ...props } = componentProps; const trContext = (0, _react.useContext)(_TableTrContext.TableTrContext); const highlight = highlightProp || 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.clsx)('dnb-table__th', sortable && 'dnb-table--sortable', active && 'dnb-table--active', reversed && 'dnb-table--reversed', sortedBefore && !active && 'dnb-table--sort-off', noWrap && 'dnb-table--no-wrap', highlight && 'dnb-table__th--highlight', variant && `dnb-table__th--${variant}`, className), ...props, children: (0, _jsxRuntime.jsx)(_TableThContext.TableThContext, { value: { reversed }, children: children }) }); } function Horizontal({ className = null, ...rest }) { return (0, _jsxRuntime.jsx)("div", { ...rest, className: (0, _clsx.clsx)('dnb-table__th__horizontal', className) }); } Th.SortButton = _TableSortButton.default; Th.HelpButton = _TableHelpButton.default; Th.Horizontal = Horizontal; //# sourceMappingURL=TableTh.js.map