// FloatContent.tsx — Float 서브탭 래퍼 import { useState } from 'react'; import type { DesignTheme } from './designTheme'; import { FloatModalContent } from './float/FloatModalContent'; import { FloatDropdownContent } from './float/FloatDropdownContent'; import { FloatOverlayContent } from './float/FloatOverlayContent'; import { FloatToastContent } from './float/FloatToastContent'; type FloatSubTab = 'modal' | 'dropdown' | 'overlay' | 'toast'; const SUB_TABS: { id: FloatSubTab; label: string; desc: string }[] = [ { id: 'modal', label: 'Modal', desc: 'Dialog · Confirm' }, { id: 'dropdown', label: 'Dropdown', desc: 'ComboBox · Select' }, { id: 'overlay', label: 'Overlay', desc: 'Map Layer · Popup' }, { id: 'toast', label: 'Toast', desc: 'Notification · Alert' }, ]; interface FloatContentProps { theme: DesignTheme; } export const FloatContent = ({ theme }: FloatContentProps) => { const [activeSubTab, setActiveSubTab] = useState('modal'); const t = theme; const isDark = t.mode === 'dark'; const renderSubContent = () => { switch (activeSubTab) { case 'modal': return ; case 'dropdown': return ; case 'overlay': return ; case 'toast': return ; } }; return (
{/* 서브탭 헤더 */}

Float

화면 위에 떠서 표시되는 UI 패턴 카탈로그 — Modal, Dropdown, Overlay, Toast

{/* 서브탭 바 */}
{/* 서브탭 콘텐츠 */}
{renderSubContent()}
); }; export default FloatContent;