Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Emotion] Convert EuiCallOut #5870

Merged
merged 7 commits into from
May 6, 2022
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src-docs/src/views/call_out/call_out_example.js
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ export const CallOutExample = {
<EuiCode>s</EuiCode> (small).
</li>
<li>
Use an <EuiCode>icon</EuiCode> prop if it adds context.
Use an <EuiCode>iconType</EuiCode> if it adds context.
</li>
</ul>
</EuiText>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';

import { EuiCallOut, EuiLink } from '../../../../src/components';
import { EuiCallOut, EuiLink } from '../../../../src';

export default () => (
<EuiCallOut title="Sorry, there was an error" color="danger" iconType="alert">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';

import { EuiCallOut, EuiLink, EuiSpacer } from '../../../../src/components';
import { EuiCallOut, EuiLink, EuiSpacer } from '../../../../src';

export default () => (
<div>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';

import { EuiCallOut, EuiLink } from '../../../../src/components';
import { EuiCallOut, EuiLink } from '../../../../src';

export default () => (
<EuiCallOut title="Good news, everyone!" color="success" iconType="user">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';

import { EuiCallOut, EuiLink, EuiButton } from '../../../../src/components';
import { EuiCallOut, EuiLink, EuiButton } from '../../../../src';

export default () => (
<EuiCallOut title="Proceed with caution!" color="warning" iconType="help">
Expand Down
44 changes: 20 additions & 24 deletions src/components/call_out/__snapshots__/call_out.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
exports[`EuiCallOut is rendered 1`] = `
<div
aria-label="aria-label"
class="euiCallOut euiCallOut--primary testClass1 testClass2"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--primary euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--primary testClass1 testClass2 css-1flvw80-euiCallOut"
data-test-subj="test subject string"
>
<div
class="euiText euiText--small"
class="euiText euiText--small css-i7i3v9-euiCallOut__description"
>
<div
class="euiTextColor euiTextColor--default"
Expand All @@ -20,91 +20,87 @@ exports[`EuiCallOut is rendered 1`] = `

exports[`EuiCallOut props color danger is rendered 1`] = `
<div
class="euiCallOut euiCallOut--danger"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--danger euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--danger css-1flvw80-euiCallOut"
/>
`;

exports[`EuiCallOut props color primary is rendered 1`] = `
<div
class="euiCallOut euiCallOut--primary"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--primary euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--primary css-1flvw80-euiCallOut"
/>
`;

exports[`EuiCallOut props color success is rendered 1`] = `
<div
class="euiCallOut euiCallOut--success"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--success euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--success css-1flvw80-euiCallOut"
/>
`;

exports[`EuiCallOut props color warning is rendered 1`] = `
<div
class="euiCallOut euiCallOut--warning"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--warning euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--warning css-1flvw80-euiCallOut"
/>
`;

exports[`EuiCallOut props heading h1 is rendered 1`] = `
<div
class="euiCallOut euiCallOut--primary"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--primary euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--primary css-1flvw80-euiCallOut"
/>
`;

exports[`EuiCallOut props heading h2 is rendered 1`] = `
<div
class="euiCallOut euiCallOut--primary"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--primary euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--primary css-1flvw80-euiCallOut"
/>
`;

exports[`EuiCallOut props heading h3 is rendered 1`] = `
<div
class="euiCallOut euiCallOut--primary"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--primary euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--primary css-1flvw80-euiCallOut"
/>
`;

exports[`EuiCallOut props heading h4 is rendered 1`] = `
<div
class="euiCallOut euiCallOut--primary"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--primary euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--primary css-1flvw80-euiCallOut"
/>
`;

exports[`EuiCallOut props heading h5 is rendered 1`] = `
<div
class="euiCallOut euiCallOut--primary"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--primary euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--primary css-1flvw80-euiCallOut"
/>
`;

exports[`EuiCallOut props heading h6 is rendered 1`] = `
<div
class="euiCallOut euiCallOut--primary"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--primary euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--primary css-1flvw80-euiCallOut"
/>
`;

exports[`EuiCallOut props heading p is rendered 1`] = `
<div
class="euiCallOut euiCallOut--primary"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--primary euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--primary css-1flvw80-euiCallOut"
/>
`;

exports[`EuiCallOut props iconType is rendered 1`] = `
<div
class="euiCallOut euiCallOut--primary"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--primary euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--primary css-1flvw80-euiCallOut"
/>
`;

exports[`EuiCallOut props title is rendered 1`] = `
<div
class="euiCallOut euiCallOut--primary"
class="euiPanel euiPanel--paddingMedium euiPanel--borderRadiusNone euiPanel--primary euiPanel--noShadow euiPanel--noBorder euiCallOut euiCallOut--primary css-1flvw80-euiCallOut"
>
<div
class="euiCallOutHeader"
<p
class="euiTitle euiCallOutHeader__title css-1ps1ss5-euiTitle-xs-euiCallOutHeader-primary"
>
<span
class="euiCallOutHeader__title"
>
Title
</span>
</div>
Title
</p>
<div
class="euiText euiText--small"
class="euiText euiText--small css-i7i3v9-euiCallOut__description"
>
<div
class="euiTextColor euiTextColor--default"
Expand Down
58 changes: 0 additions & 58 deletions src/components/call_out/_call_out.scss

This file was deleted.

1 change: 0 additions & 1 deletion src/components/call_out/_index.scss
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
@import 'variables';
@import 'mixins';

@import 'call_out';
16 changes: 6 additions & 10 deletions src/components/call_out/_mixins.scss
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
// Kibana's Ace Editor uses this function, can't remove yet
// https://github.com/elastic/kibana/blob/main/src/core/public/styles/_ace_overrides.scss
// As well as deprecation notices
// https://github.com/elastic/kibana/blob/main/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/_step_progress.scss
@function euiCallOutColor($type: 'primary', $returnBackgroundOrForeground: 'background') {
Comment on lines +1 to 5
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if we want to leave comments specifically pointing to Kibana files, but figured since I found them anyway?

@warn 'euiCallOutColor() is set for deprecation. Please consider using EuiCallOut directly.';

@if (map-has-key($euiCallOutTypes, $type)) {
$color: map-get($euiCallOutTypes, $type);
$backgroundColor: tintOrShade($color, 90%, 70%);
Expand All @@ -15,13 +21,3 @@
@warn 'Incorrect type of call out provided. See the $euiCallOutTypes map for allowed values.';
}
}

@mixin euiCallOutTitle($size: null) {
@if ($size == 's') {
@include euiTitle('xxs');
font-weight: $euiFontWeightRegular;
} @else {
@include euiTitle('xs');
font-weight: $euiFontWeightRegular;
}
}
2 changes: 1 addition & 1 deletion src/components/call_out/_variables.scss
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Modifier naming and colors.
// Used in mixin that's used in Kibana
$euiCallOutTypes: (
primary: $euiColorPrimary,
success: $euiColorSuccess,
Expand Down
47 changes: 47 additions & 0 deletions src/components/call_out/call_out.styles.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* 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 { logicalCSS } from '../../global_styling';
import { UseEuiTheme } from '../../services';

export const euiCallOutStyles = ({ euiTheme }: UseEuiTheme) => {
return {
euiCallOut: css``,
euiCallOut__icon: css`
position: relative;
${logicalCSS('top', '-1px')};
${logicalCSS('margin-right', euiTheme.size.s)};
`,
euiCallOut__description: css`
${logicalCSS('margin-top', euiTheme.size.s)};
`,
};
};

export const euiCallOutHeadingStyles = ({ euiTheme }: UseEuiTheme) => {
return {
euiCallOutHeader: css`
font-weight: ${euiTheme.font.weight.medium};
margin-bottom: 0 !important; // In case it's nested inside EuiText
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specificity shot me on this one

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sometimes an !important tag is what's needed.

`,

primary: css`
color: ${euiTheme.colors.primaryText};
`,
success: css`
color: ${euiTheme.colors.successText};
`,
warning: css`
color: ${euiTheme.colors.warningText};
`,
danger: css`
color: ${euiTheme.colors.dangerText};
`,
};
};
Loading