"use client"; import { FoxInput, FoxInputState, FoxSelect, FoxSelectItem, FoxSelectOption, FoxSelectOptionItem } from "@/@fox/core/components"; import { useEffect, useState, type CSSProperties, type ReactNode } from "react"; import { FoxAddress, type FoxAddressSearchResult, type FoxAddressValue } from "../core/components/fox-address"; import { FoxAlert } from "../core/components/fox-alert"; import { FoxBreadcrumb } from "../core/components/fox-breadcrumb"; import { FoxButton } from "../core/components/fox-button"; import { FoxButtonGroup } from "../core/components/fox-button-group"; import { FoxButtonPanel } from "../core/components/fox-button-panel"; import { FoxCarouselArea } from "../core/components/fox-carousel-area"; import { FoxCarouselButton } from "../core/components/fox-carousel-button"; import { FoxCarouselIndicator } from "../core/components/fox-carousel-indicator"; import { FoxCertified } from "../core/components/fox-certified"; import { FoxCheckIcon } from "../core/components/fox-check-icon"; import { FoxCheckbox } from "../core/components/fox-checkbox"; import { FoxCheckboxGroup } from "../core/components/fox-checkbox-group"; import { FoxConditionalOption } from "../core/components/fox-conditional-option"; import { FoxContextualTrigger } from "../core/components/fox-contextual-trigger"; import { FoxEmail } from "../core/components/fox-email"; import { FoxFileUpload, type FoxFileItem } from "../core/components/fox-file-upload"; import { FoxFormLabel } from "../core/components/fox-form-label"; import { FoxHelperText } from "../core/components/fox-helper-text"; import { FoxIconButton } from "../core/components/fox-icon-button"; import { FoxLinkButton } from "../core/components/fox-link-button"; import { FoxPagination } from "../core/components/fox-pagination"; import { FoxPhoneNumber, type FoxPhoneNumberState } from "../core/components/fox-phone-number"; import { FoxPopover } from "../core/components/fox-popover"; import { FoxRadio } from "../core/components/fox-radio"; import { FoxRadioGroup } from "../core/components/fox-radio-group"; import { FoxRadioIcon } from "../core/components/fox-radio-icon"; import { FoxTag } from "../core/components/fox-tag"; import { FoxTagList } from "../core/components/fox-tag-list"; import { FoxToast } from "../core/components/fox-toast"; import { FoxTextArea, type FoxTextAreaState } from "../core/components/fox-text-area"; import { FoxTextButton } from "../core/components/fox-text-button"; import { FoxToggleSwitch } from "../core/components/fox-toggle-switch"; import { FoxBulletList } from "../core/components/fox-bullet-list"; import { FoxBulletListItem } from "../core/components/fox-bullet-list-item"; import { FoxBadge } from "../core/components/fox-badge"; import { FoxBadgeDot } from "../core/components/fox-badge-dot"; import { FoxBadgeGroup } from "../core/components/fox-badge-group"; import { FoxTable } from "../core/components/fox-table"; import { FoxTableCell } from "../core/components/fox-table-cell"; import { FoxTableRow } from "../core/components/fox-table-row"; import { FoxTab } from "../core/components/fox-tab"; import { FoxTabItem } from "../core/components/fox-tab-item"; import { FoxSpinner } from "../core/components/fox-spinner"; import { FoxSnackbar } from "../core/components/fox-snackbar"; import { FoxSnackbarList } from "../core/components/fox-snackbar-list"; import { FoxStatusIndicator } from "../core/components/fox-status-indicator"; import { FoxStepIndicatorItem } from "../core/components/fox-step-indicator-item"; import { FoxStepIndicator } from "../core/components/fox-step-indicator"; import { FoxChip, type FoxChipItem } from "../core/components/fox-chip"; import { FoxChipArea } from "../core/components/fox-chip-area"; import { FoxSelectText } from "../core/components/fox-select-text"; import { FoxSegmentedControl } from "../core/components/fox-segmented-control"; import { FoxSegmentedControlItem } from "../core/components/fox-segmented-control-item"; import { FoxTooltip } from "../core/components/fox-tooltip"; import { FoxTooltipRich } from "../core/components/fox-tooltip-rich"; import { FoxToggleQuantity } from "../core/components/fox-toggle-quantity"; import { FoxPageHeader } from "../core/components/fox-page-header"; import { FoxModal } from "../core/components/fox-modal"; import { FoxAccordion } from "../core/components/fox-accordion"; import { FoxCard } from "../core/components/fox-card"; import { FoxDisclosure } from "../core/components/fox-disclosure"; import { FoxSortableList } from "../core/components/fox-sortable-list"; import styles from "./dev-test.module.scss"; export interface ComponentExample { /** 해시 링크에 쓰이는 kebab-case 식별자. */ id: string; name: string; description?: string; /** 눈으로 비교해야 하는 조합을 빠짐없이 넣는다 — 예제가 곧 회귀 확인 수단이다. */ variants: { label: string; node: ReactNode }[]; } // 자리 확인용 아이콘. 이 예시안이 곧 사용법 안내라 아이콘 폰트(`fox-ico`)를 그대로 쓴다 — // 손으로 그린 SVG를 두면 "아이콘은 이렇게 넣는다"로 잘못 읽힌다. // 크기는 `font-size`가 정한다. style은 FoxSelect 힌트처럼 작게 써야 하는 자리에 쓴다. function DemoIcon({ style }: { style?: CSSProperties } = {}) { return