diff --git a/package.json b/package.json index fc5cd02a03253..486d943f89a0e 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "@elastic/datemath": "link:packages/elastic-datemath", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@^8.0.0-canary", "@elastic/ems-client": "7.11.0", - "@elastic/eui": "31.4.0", + "@elastic/eui": "/Users/thompsongl/src/eui/elastic-eui-31.5.0.tgz", "@elastic/filesaver": "1.1.2", "@elastic/good": "^9.0.1-kibana3", "@elastic/node-crypto": "1.2.1", @@ -107,6 +107,7 @@ "@elastic/request-crypto": "1.1.4", "@elastic/safer-lodash-set": "link:packages/elastic-safer-lodash-set", "@elastic/search-ui-app-search-connector": "^1.5.0", + "@emotion/react": "^11.1.4", "@hapi/boom": "^9.1.1", "@hapi/cookie": "^11.0.2", "@hapi/good-squeeze": "6.0.0", @@ -358,6 +359,7 @@ "@elastic/makelogs": "^6.0.0", "@elastic/maki": "6.3.0", "@elastic/ui-ace": "0.2.3", + "@emotion/babel-preset-css-prop": "^11.0.0", "@istanbuljs/schema": "^0.1.2", "@jest/reporters": "^26.5.2", "@kbn/babel-code-parser": "link:packages/kbn-babel-code-parser", diff --git a/packages/kbn-babel-preset/webpack_preset.js b/packages/kbn-babel-preset/webpack_preset.js index ca7ea40ff0fe1..5af88bf1f93a9 100644 --- a/packages/kbn-babel-preset/webpack_preset.js +++ b/packages/kbn-babel-preset/webpack_preset.js @@ -20,12 +20,17 @@ module.exports = () => { }, ], require('./common_preset'), - ], - plugins: [ [ - require.resolve('babel-plugin-styled-components'), + require.resolve('@emotion/babel-preset-css-prop'), { - fileName: false, + labelFormat: '[local]', + // importMap: { + // '@elastic/eui': { + // css: { + // canonicalImport: ['@emotion/react', 'css'], + // }, + // }, + // }, }, ], ], @@ -42,5 +47,11 @@ module.exports = () => { ], }, }, + overrides: [ + { + exclude: [/x-pack[\/\\]plugins[\/\\]canvas[\/\\]/], + plugins: [[require.resolve('babel-plugin-styled-components')]], + }, + ], }; }; diff --git a/packages/kbn-ui-shared-deps/entry.js b/packages/kbn-ui-shared-deps/entry.js index c02489afe7bc2..565ec91e0ee6b 100644 --- a/packages/kbn-ui-shared-deps/entry.js +++ b/packages/kbn-ui-shared-deps/entry.js @@ -28,6 +28,7 @@ export const ReactDomServer = require('react-dom/server'); export const ReactRouter = require('react-router'); // eslint-disable-line export const ReactRouterDom = require('react-router-dom'); export const StyledComponents = require('styled-components'); +export const EmotionReact = require('@emotion/react'); Moment.tz.load(require('moment-timezone/data/packed/latest.json')); diff --git a/packages/kbn-ui-shared-deps/index.js b/packages/kbn-ui-shared-deps/index.js index 79b4bde787851..ad7decde81785 100644 --- a/packages/kbn-ui-shared-deps/index.js +++ b/packages/kbn-ui-shared-deps/index.js @@ -31,6 +31,7 @@ exports.externals = { 'react-router': '__kbnSharedDeps__.ReactRouter', 'react-router-dom': '__kbnSharedDeps__.ReactRouterDom', 'styled-components': '__kbnSharedDeps__.StyledComponents', + '@emotion/react': '__kbnSharedDeps__.EmotionReact', '@kbn/monaco': '__kbnSharedDeps__.KbnMonaco', '@kbn/ui-shared-deps/theme': '__kbnSharedDeps__.Theme', // this is how plugins/consumers from npm load monaco diff --git a/x-pack/plugins/canvas/canvas_plugin_src/renderers/filters/dropdown_filter/component/dropdown_filter.tsx b/x-pack/plugins/canvas/canvas_plugin_src/renderers/filters/dropdown_filter/component/dropdown_filter.tsx index 395384ddab5a9..590e89e8d1ce6 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/renderers/filters/dropdown_filter/component/dropdown_filter.tsx +++ b/x-pack/plugins/canvas/canvas_plugin_src/renderers/filters/dropdown_filter/component/dropdown_filter.tsx @@ -8,6 +8,7 @@ import { EuiIcon } from '@elastic/eui'; import PropTypes from 'prop-types'; import React, { ChangeEvent, FocusEvent, FunctionComponent } from 'react'; +import { css } from '@emotion/react'; import { ComponentStrings } from '../../../../../i18n'; const { DropdownFilter: strings } = ComponentStrings; @@ -60,10 +61,15 @@ export const DropdownFilter: FunctionComponent = ({ ); }); + const styles = css` + color: #ff0000; + `; + /* eslint-disable jsx-a11y/no-onchange */ return (