UNPKG

@vtex/styleguide

Version:

> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))

139 lines (106 loc) 4.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _index = require("./Toolbar/index"); var _index2 = _interopRequireDefault(_index); var _Pagination = require("./Pagination"); var _Pagination2 = _interopRequireDefault(_Pagination); var _BulkActions = require("./BulkActions"); var _BulkActions2 = _interopRequireDefault(_BulkActions); var _FilterBar = require("./FilterBar"); var _FilterBar2 = _interopRequireDefault(_FilterBar); var _useTableMotion = require("./hooks/useTableMotion"); var _useTableMotion2 = _interopRequireDefault(_useTableMotion); var _Totalizer = require("./Totalizer"); var _Totalizer2 = _interopRequireDefault(_Totalizer); var _ActionBar = require("./ActionBar"); var _ActionBar2 = _interopRequireDefault(_ActionBar); var _Sections = require("./Sections"); var _Sections2 = _interopRequireDefault(_Sections); var _measures = require("./context/measures"); var _testing = require("./context/testing"); var _loading = require("./context/loading"); var _data = require("./context/data"); var _head = require("./context/head"); var _body = require("./context/body"); 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 Table(_ref, ref) { var children = _ref.children, measures = _ref.measures, isRowActive = _ref.isRowActive, loading = _ref.loading, emptyState = _ref.emptyState, onRowClick = _ref.onRowClick, items = _ref.items, empty = _ref.empty, rowKey = _ref.rowKey, highlightOnHover = _ref.highlightOnHover, columns = _ref.columns, sorting = _ref.sorting, testId = _ref.testId, stickyHeader = _ref.stickyHeader, composableSections = _ref.composableSections, disableScroll = _ref.disableScroll; return _react2.default.createElement(_testing.TestingProvider, { testId: testId }, _react2.default.createElement(_loading.LoadingProvider, { empty: empty, loading: loading, emptyState: emptyState }, _react2.default.createElement(_measures.MeasuresProvider, { measures: measures }, _react2.default.createElement(_data.DataProvider, { columns: columns, items: items }, _react2.default.createElement(_head.HeadProvider, { sorting: sorting, sticky: stickyHeader }, _react2.default.createElement(_body.BodyProvider, { onRowClick: onRowClick, isRowActive: isRowActive, rowKey: rowKey, highlightOnHover: highlightOnHover }, _react2.default.createElement(MotionContainer, null, composableSections ? children : _react2.default.createElement(_react.Fragment, null, children, _react2.default.createElement(_Sections2.default, { ref: ref, disableScroll: disableScroll }, _react2.default.createElement(_Sections2.default.Head, null), _react2.default.createElement(_Sections2.default.Body, null)))))))))); } function MotionContainer(_ref2) { var children = _ref2.children; var motion = (0, _useTableMotion2.default)(); var _useTestingContext = (0, _testing.useTestingContext)(), testId = _useTestingContext.testId; var _useMeasuresContext = (0, _measures.useMeasuresContext)(), tableHeight = _useMeasuresContext.tableHeight; return _react2.default.createElement("div", { "data-testid": testId + "__container", style: _extends({ minHeight: tableHeight }, motion), className: "flex flex-column" }, children); } var FowardedTable = (0, _react.forwardRef)(Table); FowardedTable.Toolbar = _index2.default; FowardedTable.FilterBar = _FilterBar2.default; FowardedTable.Totalizer = _Totalizer2.default; FowardedTable.Pagination = _Pagination2.default; FowardedTable.Bulk = _BulkActions2.default; FowardedTable.ActionBar = _ActionBar2.default; FowardedTable.Sections = _Sections2.default; FowardedTable.defaultProps = { rowKey: function rowKey(_ref3) { var rowData = _ref3.rowData; return "row-" + rowData.id; }, loading: false, empty: false, highlightOnHover: false, testId: 'vtex-table-v2', stickyHeader: false }; exports.default = FowardedTable;