/** * @file Shared floating panel frame components for reusable overlay styling */ import * as React from "react"; import styles from "./FloatingPanelFrame.module.css"; export type FloatingPanelFrameProps = React.HTMLAttributes; export const FloatingPanelFrame = React.forwardRef(function FloatingPanelFrame( { className, ...rest }, ref, ) { const frameClassName = className ? `${styles.frame} ${className}` : styles.frame; return
; }); export type FloatingPanelHeaderProps = React.HTMLAttributes; export const FloatingPanelHeader: React.FC = ({ className, ...rest }) => { const headerClassName = className ? `${styles.header} ${className}` : styles.header; return
; }; export type FloatingPanelTitleProps = React.HTMLAttributes; export const FloatingPanelTitle: React.FC = ({ className, ...rest }) => { const titleClassName = className ? `${styles.title} ${className}` : styles.title; return ; }; export type FloatingPanelMetaProps = React.HTMLAttributes; export const FloatingPanelMeta: React.FC = ({ className, ...rest }) => { const metaClassName = className ? `${styles.meta} ${className}` : styles.meta; return ; }; export type FloatingPanelControlsProps = React.HTMLAttributes; export const FloatingPanelControls: React.FC = ({ className, ...rest }) => { const controlsClassName = className ? `${styles.controls} ${className}` : styles.controls; return
; }; export type FloatingPanelContentProps = React.HTMLAttributes; export const FloatingPanelContent = React.forwardRef( function FloatingPanelContent({ className, ...rest }, ref) { const contentClassName = className ? `${styles.content} ${className}` : styles.content; return
; }, ); FloatingPanelFrame.displayName = "FloatingPanelFrame"; FloatingPanelHeader.displayName = "FloatingPanelHeader"; FloatingPanelTitle.displayName = "FloatingPanelTitle"; FloatingPanelMeta.displayName = "FloatingPanelMeta"; FloatingPanelControls.displayName = "FloatingPanelControls"; FloatingPanelContent.displayName = "FloatingPanelContent";