@coveord/plasma-mantine
Version:
A Plasma flavoured Mantine theme
124 lines (123 loc) • 5.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "Header", {
enumerable: true,
get: function() {
return Header;
}
});
var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
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 _core = require("@mantine/core");
var _react = require("react");
var _Headercontext = require("./Header.context.js");
var _Headermodulecss = /*#__PURE__*/ _interop_require_default._(require("./Header.module.css"));
var _HeaderBreadcrumbAnchor = require("./HeaderBreadcrumbs/HeaderBreadcrumbAnchor.js");
var _HeaderBreadcrumbs = require("./HeaderBreadcrumbs/HeaderBreadcrumbs.js");
var _HeaderBreadcrumbText = require("./HeaderBreadcrumbs/HeaderBreadcrumbText.js");
var _HeaderDocAnchor = require("./HeaderDocAnchor/HeaderDocAnchor.js");
var _HeaderRight = require("./HeaderRight/HeaderRight.js");
var defaultProps = {
variant: 'primary',
justify: 'space-between',
wrap: 'nowrap'
};
var getSpacing = function getSpacing(variant) {
return variant === 'secondary' ? 'xxs' : 'xs';
};
var Header = (0, _core.factory)(function(_props, ref) {
var props = (0, _core.useProps)('PlasmaHeader', defaultProps, _props);
var className = props.className, description = props.description, borderBottom = props.borderBottom, variant = props.variant, children = props.children, style = props.style, classNames = props.classNames, unstyled = props.unstyled, vars = props.vars, styles = props.styles, TitleComponent = props.titleComponent, others = _object_without_properties._(props, [
"className",
"description",
"borderBottom",
"variant",
"children",
"style",
"classNames",
"unstyled",
"vars",
"styles",
"titleComponent"
]);
var getStyles = (0, _core.useStyles)({
name: 'PlasmaHeader',
props: props,
classes: _Headermodulecss.default,
className: className,
style: style,
classNames: classNames,
styles: styles,
unstyled: unstyled,
vars: vars
});
var stylesApiProps = {
classNames: classNames,
styles: styles
};
var convertedChildren = _react.Children.toArray(children);
var breadcrumbs = convertedChildren.find(function(child) {
return child.type === _HeaderBreadcrumbs.HeaderBreadcrumbs;
});
var right = convertedChildren.find(function(child) {
return child.type === _HeaderRight.HeaderRight;
});
var docAnchor = convertedChildren.find(function(child) {
return child.type === _HeaderDocAnchor.HeaderDocAnchor;
});
var otherChildren = convertedChildren.filter(function(child) {
return child.type !== _HeaderBreadcrumbs.HeaderBreadcrumbs && child.type !== _HeaderRight.HeaderRight && child.type !== _HeaderDocAnchor.HeaderDocAnchor;
});
return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Headercontext.HeaderProvider, {
value: {
getStyles: getStyles
},
children: [
/*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Group, _object_spread_props._(_object_spread._({
ref: ref,
variant: variant
}, getStyles('root'), others), {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Stack, {
gap: getSpacing(variant),
children: [
breadcrumbs,
/*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Title, _object_spread_props._(_object_spread._({
variant: variant,
component: TitleComponent,
order: variant === 'primary' ? 1 : 3
}, getStyles('title', stylesApiProps)), {
children: [
otherChildren,
docAnchor
]
})),
/*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Text, _object_spread_props._(_object_spread._({
component: "div"
}, getStyles('description', stylesApiProps)), {
size: variant === 'primary' ? 'md' : 'sm',
children: description
}))
]
}),
right
]
})),
borderBottom ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Divider, _object_spread_props._(_object_spread._({}, getStyles('divider', stylesApiProps)), {
size: "xs"
})) : null
]
});
});
Header.displayName = 'Header';
Header.Breadcrumbs = _HeaderBreadcrumbs.HeaderBreadcrumbs;
Header.BreadcrumbAnchor = _HeaderBreadcrumbAnchor.HeaderBreadcrumbAnchor;
Header.BreadcrumbText = _HeaderBreadcrumbText.HeaderBreadcrumbText;
Header.Right = _HeaderRight.HeaderRight;
Header.DocAnchor = _HeaderDocAnchor.HeaderDocAnchor;
//# sourceMappingURL=Header.js.map