@elastic/eui
Version:
Elastic UI Component Library
62 lines (61 loc) • 3.67 kB
JavaScript
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import { css } from '@emotion/react';
import { euiBorderStyles, euiShadow, euiShadowHover } from '@elastic/eui-theme-common';
import { euiCanAnimate, logicalCSS, logicalTextAlignCSS } from '../../global_styling';
import { highContrastModeStyles } from '../../global_styling/functions/high_contrast';
export var euiPanelBorderStyles = function euiPanelBorderStyles(euiThemeContext, options) {
var euiTheme = euiThemeContext.euiTheme;
var _ref3 = options !== null && options !== void 0 ? options : {},
borderColor = _ref3.borderColor;
return highContrastModeStyles(euiThemeContext, {
none: "\n /* Using a pseudo element for the border instead of floating border only\n because the transparent border might otherwise be visible with arbitrary\n full-width/height content in light mode. */\n ".concat(euiBorderStyles(euiThemeContext, {
borderColor: borderColor !== null && borderColor !== void 0 ? borderColor : euiTheme.colors.borderBaseFloating
}), "\n "),
preferred: "\n border: ".concat(euiTheme.border.thin, ";\n ")
});
};
var _ref = process.env.NODE_ENV === "production" ? {
name: "122lw0e-grow",
styles: "flex-grow:1;label:grow;"
} : {
name: "122lw0e-grow",
styles: "flex-grow:1;label:grow;",
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
};
var _ref2 = process.env.NODE_ENV === "production" ? {
name: "z103qm-euiPanel",
styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;"
} : {
name: "z103qm-euiPanel",
styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;",
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
};
export var euiPanelStyles = function euiPanelStyles(euiThemeContext) {
var euiTheme = euiThemeContext.euiTheme;
return {
// Base
euiPanel: _ref2,
grow: _ref,
hasShadow: /*#__PURE__*/css(euiShadow(euiThemeContext, 'm'), ";;label:hasShadow;"),
hasBorder: /*#__PURE__*/css(euiPanelBorderStyles(euiThemeContext, {
borderColor: euiTheme.border.color
}), ";;label:hasBorder;"),
radius: {
none: /*#__PURE__*/css(";label:none;"),
m: /*#__PURE__*/css("border-radius:", euiTheme.border.radius.medium, ";;label:m;")
},
// Setup interactive behavior
isClickable: /*#__PURE__*/css(euiCanAnimate, "{transition:box-shadow ", euiTheme.animation.fast, " ", euiTheme.animation.resistance, ",transform ", euiTheme.animation.fast, " ", euiTheme.animation.resistance, ";}&:enabled{display:block;", logicalCSS('width', '100%'), " ", logicalTextAlignCSS('left'), ";}&:hover,&:focus{", highContrastModeStyles(euiThemeContext, {
none: euiShadowHover(euiThemeContext, 'l'),
// Windows high contrast themes ignore box-shadows - use a filter workaround instead
preferred: "\n &:not(.euiPanel--transparent) {\n filter: drop-shadow(0 ".concat(euiTheme.border.width.thick, " 0 ").concat(euiTheme.border.color, ");\n }\n ")
}), " transform:translateY(-2px);cursor:pointer;};label:isClickable;")
};
};