UNPKG

@ntragas/pouncejstest

Version:

A collection of UI components from Panther labs

58 lines (44 loc) 2.05 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = exports.useTable = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _react = _interopRequireDefault(require("react")); var _Box = _interopRequireDefault(require("../Box")); var TableContext = /*#__PURE__*/_react.default.createContext({}); var useTable = function useTable() { return _react.default.useContext(TableContext); }; exports.useTable = useTable; var Table = /*#__PURE__*/_react.default.forwardRef(function Table(_ref, ref) { var _ref$layout = _ref.layout, layout = _ref$layout === void 0 ? 'auto' : _ref$layout, _ref$size = _ref.size, size = _ref$size === void 0 ? 'medium' : _ref$size, _ref$stickyHeader = _ref.stickyHeader, stickyHeader = _ref$stickyHeader === void 0 ? false : _ref$stickyHeader, _ref$hoverable = _ref.hoverable, hoverable = _ref$hoverable === void 0 ? false : _ref$hoverable, _ref$rowSeparationStr = _ref.rowSeparationStrategy, rowSeparationStrategy = _ref$rowSeparationStr === void 0 ? 'background' : _ref$rowSeparationStr, rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["layout", "size", "stickyHeader", "hoverable", "rowSeparationStrategy"]); var contextValue = _react.default.useMemo(function () { return { size, hoverable, rowSeparationStrategy, stickyHeader }; }, [size, rowSeparationStrategy, hoverable, stickyHeader]); return /*#__PURE__*/_react.default.createElement(TableContext.Provider, { value: contextValue }, /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({ as: "table", tableLayout: layout, ref: ref, width: 1 }, rest))); }); var _default = /*#__PURE__*/_react.default.memo(Table); exports.default = _default;