@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
64 lines (63 loc) • 2.57 kB
JavaScript
"use client";
require("../../_virtual/_rolldown/runtime.cjs");
const require_use_props = require("../../core/MantineProvider/use-props/use-props.cjs");
const require_factory = require("../../core/factory/factory.cjs");
const require_Box = require("../../core/Box/Box.cjs");
const require_Table_context = require("./Table.context.cjs");
const require_Table_module = require("./Table.module.cjs");
let react_jsx_runtime = require("react/jsx-runtime");
//#region packages/@mantine/core/src/components/Table/Table.components.tsx
function getDataAttributes(ctx, options) {
if (!options) return;
const data = {};
if (options.columnBorder && ctx.withColumnBorders) data["data-with-column-border"] = true;
if (options.rowBorder && ctx.withRowBorders) data["data-with-row-border"] = true;
if (options.striped && ctx.striped) data["data-striped"] = ctx.striped;
if (options.highlightOnHover && ctx.highlightOnHover) data["data-hover"] = true;
if (options.captionSide && ctx.captionSide) data["data-side"] = ctx.captionSide;
if (options.stickyHeader && ctx.stickyHeader) data["data-sticky"] = true;
return data;
}
function tableElement(element, options) {
const name = `Table${element.charAt(0).toUpperCase()}${element.slice(1)}`;
const Component = require_factory.factory((_props) => {
const props = require_use_props.useProps(name, {}, _props);
const { classNames, className, style, styles, ...others } = props;
const ctx = require_Table_context.useTableContext();
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Box.Box, {
component: element,
...getDataAttributes(ctx, options),
...ctx.getStyles(element, {
className,
classNames,
style,
styles,
props
}),
...others
});
});
Component.displayName = `@mantine/core/${name}`;
Component.classes = require_Table_module.default;
return Component;
}
const TableTh = tableElement("th", { columnBorder: true });
const TableTd = tableElement("td", { columnBorder: true });
const TableTr = tableElement("tr", {
rowBorder: true,
striped: true,
highlightOnHover: true
});
const TableThead = tableElement("thead", { stickyHeader: true });
const TableTbody = tableElement("tbody");
const TableTfoot = tableElement("tfoot");
const TableCaption = tableElement("caption", { captionSide: true });
//#endregion
exports.TableCaption = TableCaption;
exports.TableTbody = TableTbody;
exports.TableTd = TableTd;
exports.TableTfoot = TableTfoot;
exports.TableTh = TableTh;
exports.TableThead = TableThead;
exports.TableTr = TableTr;
//# sourceMappingURL=Table.components.cjs.map