UNPKG

@coveord/plasma-mantine

Version:

A Plasma flavoured Mantine theme

124 lines (123 loc) 5.45 kB
"use strict"; 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