@vtex/styleguide
Version:
> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))
80 lines (56 loc) • 2.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _body = require("../context/body");
var _data = require("../context/data");
var _measures = require("../context/measures");
var _testing = require("../context/testing");
var _useTableMotion = require("../hooks/useTableMotion");
var _useTableMotion2 = _interopRequireDefault(_useTableMotion);
var _Row = require("./Row");
var _Row2 = _interopRequireDefault(_Row);
var _LoadedView = require("./LoadedView");
var _LoadedView2 = _interopRequireDefault(_LoadedView);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
function Tbody(_ref, ref) {
var children = _ref.children,
rest = _objectWithoutPropertiesLoose(_ref, ["children"]);
var _useDataContext = (0, _data.useDataContext)(),
items = _useDataContext.items;
var _useMeasuresContext = (0, _measures.useMeasuresContext)(),
rowHeight = _useMeasuresContext.rowHeight;
var _useBodyContext = (0, _body.useBodyContext)(),
rowKey = _useBodyContext.rowKey;
var _useTestingContext = (0, _testing.useTestingContext)(),
testId = _useTestingContext.testId;
var motion = (0, _useTableMotion2.default)(_Row.ROW_TRANSITIONS);
return _react2.default.createElement(_LoadedView2.default, null, _react2.default.createElement("tbody", _extends({
ref: ref
}, rest, {
"data-testid": testId + "__body"
}), items == null ? void 0 : items.map(function (data, index) {
var key = rowKey({
rowData: data
});
var props = {
data: data,
motion: motion,
height: rowHeight
};
return children ? children({
props: props,
key: key,
index: index
}) : _react2.default.createElement(_Row2.default, _extends({
key: key
}, props));
})));
}
var FowardedTbody = _react2.default.memo((0, _react.forwardRef)(Tbody));
FowardedTbody.Row = _Row2.default;
exports.default = FowardedTbody;