diff --git a/packages/nivo-line/src/legacy/LineDotsSvg.js b/packages/nivo-line/src/legacy/LineDotsSvg.js
deleted file mode 100644
index 609a941d0..000000000
--- a/packages/nivo-line/src/legacy/LineDotsSvg.js
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * This file is part of the nivo project.
- *
- * Copyright 2016-present, Raphaƫl Benitte.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-import React from 'react'
-import PropTypes from 'prop-types'
-import compose from 'recompose/compose'
-import withPropsOnChange from 'recompose/withPropsOnChange'
-import pure from 'recompose/pure'
-import setDisplayName from 'recompose/setDisplayName'
-import { TransitionMotion, spring } from 'react-motion'
-import { motionPropTypes } from '@nivo/core'
-import { getLabelGenerator } from '@nivo/core'
-import { DotsItem } from '@nivo/core'
-
-const LineDots = ({
- lines,
-
- symbol,
- size,
- color,
- borderWidth,
- borderColor,
-
- // labels
- enableLabel,
- getLabel,
- labelYOffset,
-
- // theming
- theme,
-
- // motion
- animate,
- motionStiffness,
- motionDamping,
-}) => {
- const points = lines.reduce((acc, line) => {
- const { id, points } = line
-
- return [
- ...acc,
- ...points.filter(point => point.value !== null).map(point => {
- const pointData = {
- serie: { id },
- x: point.key,
- y: point.value,
- }
-
- return {
- key: `${id}.${point.x}`,
- x: point.x,
- y: point.y,
- fill: color(line),
- stroke: borderColor(line),
- label: enableLabel ? getLabel(pointData) : null,
- }
- }),
- ]
- }, [])
-
- if (animate !== true) {
- return (
-
- {points.map(point => (
-
- ))}
-
- )
- }
- const springConfig = {
- motionDamping,
- motionStiffness,
- }
-
- return (
- {
- return {
- key: point.key,
- data: point,
- style: {
- x: spring(point.x, springConfig),
- y: spring(point.y, springConfig),
- size: spring(size, springConfig),
- },
- }
- })}
- >
- {interpolatedStyles => (
-
- {interpolatedStyles.map(({ key, style, data: point }) => (
-
- ))}
-
- )}
-
- )
-}
-
-LineDots.ropTypes = {
- lines: PropTypes.arrayOf(
- PropTypes.shape({
- id: PropTypes.string.isRequired,
- })
- ),
-
- symbol: PropTypes.func,
- size: PropTypes.number.isRequired,
- color: PropTypes.func.isRequired,
- borderWidth: PropTypes.number.isRequired,
- borderColor: PropTypes.func.isRequired,
-
- // labels
- enableLabel: PropTypes.bool.isRequired,
- label: PropTypes.oneOfType([PropTypes.string, PropTypes.func]).isRequired,
- labelFormat: PropTypes.string,
- labelYOffset: PropTypes.number,
-
- // theming
- theme: PropTypes.shape({
- dots: PropTypes.shape({
- textColor: PropTypes.string.isRequired,
- fontSize: PropTypes.string.isRequired,
- }).isRequired,
- }).isRequired,
-
- // motion
- ...motionPropTypes,
-}
-
-LineDots.defaultProps = {
- // labels
- enableLabel: false,
- label: 'y',
-}
-
-const enhance = compose(
- withPropsOnChange(['label', 'labelFormat'], ({ label, labelFormat }) => ({
- getLabel: getLabelGenerator(label, labelFormat),
- })),
- pure
-)
-
-export default setDisplayName('LineDots')(enhance(LineDots))