{renderLegend({
// Pass flexDirection for @vx/legend to arrange legend items
diff --git a/plugins/superset-ui-plugins/packages/superset-ui-preset-chart-xy/src/components/tooltip/TooltipFrame.tsx b/plugins/superset-ui-plugins/packages/superset-ui-preset-chart-xy/src/components/tooltip/TooltipFrame.tsx
index a37df9ab38..e4e3857959 100644
--- a/plugins/superset-ui-plugins/packages/superset-ui-preset-chart-xy/src/components/tooltip/TooltipFrame.tsx
+++ b/plugins/superset-ui-plugins/packages/superset-ui-preset-chart-xy/src/components/tooltip/TooltipFrame.tsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { PureComponent } from 'react';
type Props = {
className?: string;
@@ -7,7 +7,7 @@ type Props = {
const CONTAINER_STYLE = { padding: 8 };
-class TooltipFrame extends React.PureComponent
{
+class TooltipFrame extends PureComponent {
static defaultProps = {
className: '',
};
diff --git a/plugins/superset-ui-plugins/packages/superset-ui-preset-chart-xy/src/components/tooltip/TooltipTable.tsx b/plugins/superset-ui-plugins/packages/superset-ui-preset-chart-xy/src/components/tooltip/TooltipTable.tsx
index aeee7f88ad..6d7ddfa5ee 100644
--- a/plugins/superset-ui-plugins/packages/superset-ui-preset-chart-xy/src/components/tooltip/TooltipTable.tsx
+++ b/plugins/superset-ui-plugins/packages/superset-ui-preset-chart-xy/src/components/tooltip/TooltipTable.tsx
@@ -1,4 +1,4 @@
-import React, { CSSProperties } from 'react';
+import React, { CSSProperties, PureComponent } from 'react';
type Props = {
className?: string;
@@ -12,7 +12,7 @@ type Props = {
const VALUE_CELL_STYLE: CSSProperties = { paddingLeft: 8, textAlign: 'right' };
-export default class TooltipTable extends React.PureComponent {
+export default class TooltipTable extends PureComponent {
static defaultProps = {
className: '',
data: [],
diff --git a/plugins/superset-ui-plugins/packages/superset-ui-preset-chart-xy/src/encodeable/AbstractEncoder.ts b/plugins/superset-ui-plugins/packages/superset-ui-preset-chart-xy/src/encodeable/AbstractEncoder.ts
index 6e041dfc79..4be464c009 100644
--- a/plugins/superset-ui-plugins/packages/superset-ui-preset-chart-xy/src/encodeable/AbstractEncoder.ts
+++ b/plugins/superset-ui-plugins/packages/superset-ui-preset-chart-xy/src/encodeable/AbstractEncoder.ts
@@ -1,52 +1,80 @@
import { Value } from 'vega-lite/build/src/fielddef';
-import ChannelEncoder from './ChannelEncoder';
-import { ChannelOptions } from './types/Channel';
-import { ChannelDef, isFieldDef } from './types/FieldDef';
+import { ObjectWithKeysFromAndValueType } from './types/Base';
+import { ChannelOptions, EncodingFromChannelsAndOutputs, ChannelType } from './types/Channel';
import { FullSpec, BaseOptions, PartialSpec } from './types/Specification';
-
-export type ObjectWithKeysFromAndValueType = { [key in keyof T]: V };
-
-export type ChannelOutputs = ObjectWithKeysFromAndValueType;
-
-export type BaseEncoding