import React from 'react' import { AnimationProps, SvgAttributesGetters, DataAccessor, NativeEventHandlers, } from '../lib/types' import { useCartesianContext } from './internal' import { combineGetters, createDataScale } from '../lib/scales' import { Elements } from './Elements' export interface RectsProps extends AnimationProps, SvgAttributesGetters, NativeEventHandlers { data: T[] 'x-data'?: DataAccessor 'y-data'?: DataAccessor 'data-width'?: DataAccessor 'data-height'?: DataAccessor } export function Rects({ 'x-data': dataX, 'y-data': dataY, 'data-width': dataWidth, 'data-height': dataHeight, ...props }: RectsProps) { const { xScale, yScale } = useCartesianContext() const x = createDataScale(dataX, xScale, 0) const y = createDataScale(dataY, yScale, 0) const width = createDataScale(dataWidth, xScale, 0) const height = createDataScale(dataHeight, yScale, 0) return ( ) }