UNPKG

rsuite

Version:

A suite of react components

45 lines 1.48 kB
'use client'; import _extends from "@babel/runtime/helpers/esm/extends"; import React from 'react'; import upperFirst from 'lodash/upperFirst'; import { forwardRef } from "../../internals/utils/index.js"; import { getWeekKeys } from "../../internals/utils/date/index.js"; import { useStyles } from "../../internals/hooks/index.js"; import { useCalendar } from "../hooks/index.js"; const GridHeaderRow = forwardRef((props, ref) => { const { as: Component = 'div', className, classPrefix = 'calendar-table', ...rest } = props; const { locale, showWeekNumbers, weekStart } = useCalendar(); const { merge, prefix } = useStyles(classPrefix); const classes = merge(className, prefix('row', 'header-row')); const weeks = getWeekKeys(weekStart); return /*#__PURE__*/React.createElement(Component, _extends({ role: "row" }, rest, { ref: ref, className: classes }), showWeekNumbers && /*#__PURE__*/React.createElement("div", { className: prefix('header-cell'), role: "columnheader" }), weeks.map(key => /*#__PURE__*/React.createElement("div", { key: key, className: prefix('header-cell'), role: "columnheader", "aria-label": upperFirst(key) }, /*#__PURE__*/React.createElement("span", { className: prefix('header-cell-content') }, locale === null || locale === void 0 ? void 0 : locale[key])))); }); GridHeaderRow.displayName = 'CalendarGridHeaderRow'; export default GridHeaderRow;