@ozen-ui/kit
Version:
React component library
13 lines (12 loc) • 1.44 kB
JavaScript
import { __assign, __rest } from "tslib";
import React, { forwardRef } from 'react';
import { useThemeProps } from '../../hooks/useThemeProps';
import { cn } from '../../utils/classname';
import './Table.css';
import { TABLE_DEFAULT_COMPRESSED, TABLE_DEFAULT_DIVIDER, TABLE_DEFAULT_FULL_WIDTH, TABLE_DEFAULT_SIZE, TABLE_DEFAULT_STICKY_HEADER, TABLE_DEFAULT_STRIPED, } from './constants';
export var cnTable = cn('Table');
export var Table = forwardRef(function (inProps, ref) {
var _a = useThemeProps({ name: 'Table', props: inProps }), _b = _a.size, size = _b === void 0 ? TABLE_DEFAULT_SIZE : _b, _c = _a.divider, divider = _c === void 0 ? TABLE_DEFAULT_DIVIDER : _c, _d = _a.fullWidth, fullWidth = _d === void 0 ? TABLE_DEFAULT_FULL_WIDTH : _d, _e = _a.stickyHeader, stickyHeader = _e === void 0 ? TABLE_DEFAULT_STICKY_HEADER : _e, _f = _a.compressed, compressed = _f === void 0 ? TABLE_DEFAULT_COMPRESSED : _f, _g = _a.striped, striped = _g === void 0 ? TABLE_DEFAULT_STRIPED : _g, children = _a.children, className = _a.className, other = __rest(_a, ["size", "divider", "fullWidth", "stickyHeader", "compressed", "striped", "children", "className"]);
return (React.createElement("table", __assign({ className: cnTable({ compressed: compressed, size: size, stickyHeader: stickyHeader, fullWidth: fullWidth, divider: divider, striped: striped }, [className]) }, other, { ref: ref }), children));
});
Table.displayName = 'Table';