UNPKG

@coveord/plasma-mantine

Version:

A Plasma flavoured Mantine theme

97 lines (96 loc) 4.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "TableHeader", { enumerable: true, get: function() { return TableHeader; } }); var _object_spread = require("@swc/helpers/_/_object_spread"); var _object_spread_props = require("@swc/helpers/_/_object_spread_props"); var _object_without_properties = require("@swc/helpers/_/_object_without_properties"); var _jsxruntime = require("react/jsx-runtime"); var _plasmareacticons = require("@coveord/plasma-react-icons"); var _core = require("@mantine/core"); var _Button = require("../../Button/Button.js"); var _TableLayoutControl = require("../layouts/TableLayoutControl.js"); var _TableHeaderActions = require("../table-actions/TableHeaderActions.js"); var _Table = require("../Table.js"); var _TableContext = require("../TableContext.js"); var defaultProps = { unselectAllLabel: 'Unselect all', selectedCountLabel: function selectedCountLabel(count) { return "".concat(count, " selected"); }, showActions: true, borderTop: true }; var TableHeader = (0, _core.factory)(function(props, ref) { var _useTableContext = (0, _TableContext.useTableContext)(), store = _useTableContext.store, getStyles = _useTableContext.getStyles; var _useProps = (0, _core.useProps)('PlasmaTableHeader', defaultProps, props), showActions = _useProps.showActions, unselectAllLabel = _useProps.unselectAllLabel, selectedCountLabel = _useProps.selectedCountLabel, borderTop = _useProps.borderTop, children = _useProps.children, classNames = _useProps.classNames, className = _useProps.className, styles = _useProps.styles, style = _useProps.style, _vars = _useProps.vars, others = _object_without_properties._(_useProps, [ "showActions", "unselectAllLabel", "selectedCountLabel", "borderTop", "children", "classNames", "className", "styles", "style", "vars" ]); var selectedRows = store.getSelectedRows(); var stylesApiProps = { classNames: classNames, styles: styles }; var innerStyles = getStyles('headerGridInner', stylesApiProps); var gridStyles = getStyles('headerGrid', stylesApiProps); return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, _object_spread_props._(_object_spread._({ ref: ref }, getStyles('headerRoot', _object_spread._({ className: className, style: style }, stylesApiProps)), others), { mod: { 'with-border-top': borderTop }, children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Grid, { justify: "flex-start", align: "center", classNames: { inner: innerStyles.className, root: gridStyles.className }, styles: { inner: innerStyles.style, root: gridStyles.style }, children: [ store.multiRowSelectionEnabled && selectedRows.length > 0 ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Grid.Col, _object_spread_props._(_object_spread._({ span: "auto" }, getStyles('headerCol', stylesApiProps)), { order: _Table.TableComponentsOrder.MultiSelectInfo, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Tooltip, { label: unselectAllLabel, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Button.Button.Quaternary, { onClick: store.clearRowSelection, disabled: !store.rowSelectionEnabled, leftSection: /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.CrossSize16Px, { height: 16 }), children: selectedCountLabel(selectedRows.length) }) }) })) : null, children, showActions ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableHeaderActions.TableHeaderActions, {}) : null, /*#__PURE__*/ (0, _jsxruntime.jsx)(_TableLayoutControl.TableLayoutControl, {}) ] }) })); }); TableHeader.displayName = 'Table.Header'; //# sourceMappingURL=TableHeader.js.map