"use client"
import React, { ComponentPropsWithoutRef } from "react"
import { useContextSelector } from "use-context-selector"
import { classNames } from "../../utils"
import { Button } from "../Button"
import { SpaceBetween, SpaceBetweenProps } from "../SpaceBetween"
import { Text, TextBodyProps } from "../Text"
import { ChartContext } from "./ChartContext"
const ChartPanelBase = ({
children,
className,
...props
}: ComponentPropsWithoutRef<"figure">) => {
return (
{children}
)
}
const ChartPanelTitle = ({
children,
size = "md",
weight = "semibold",
...rest
}: TextBodyProps) => {
return (
{children}
)
}
const ChartPanelHeader = ({ className, ...rest }: SpaceBetweenProps) => {
return (
)
}
const ChartPanelResetZoom = () => {
const [isZoomed, resetZoom] = useContextSelector(ChartContext, v => [
v.isZoomed,
v.resetZoom,
])
// if not zoomed then don't show the reset button
if (!isZoomed) {
return <>>
}
return (
)
}
export const ChartPanel = Object.assign(ChartPanelBase, {
Header: ChartPanelHeader,
Title: ChartPanelTitle,
ResetZoom: ChartPanelResetZoom,
})