"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, })