184 lines
5.2 KiB
TypeScript
184 lines
5.2 KiB
TypeScript
/**
|
|
* @/ui — single source of truth для UI primitives.
|
|
*
|
|
* <p>Stage 3.9: @nstart/ui удалён. Все экспорты резолвят к локальным
|
|
* shadcn primitives в `./components/`. Имена сохранены в nstart-compat форме
|
|
* чтобы существующий код работал без массового рефактора imports.
|
|
*
|
|
* <p>Группы:
|
|
* <ol>
|
|
* <li><b>Handoff typography utility</b> — Cap, ScopeDot/Badge/Strip.</li>
|
|
* <li><b>Atomic</b> — Button, Badge, Alert, IconButton, Input, Label,
|
|
* Separator, Skeleton, Switch.</li>
|
|
* <li><b>Form fields</b> — TextInput, TextArea, Checkbox, FieldLabel/Hint/
|
|
* Error, FormActions, DatePicker, MultiSelect, SearchInput.</li>
|
|
* <li><b>Layout</b> — Card*, Panel, PageHeader, EmptyState, LoadingBlock,
|
|
* Tabs (legacy items-API + Radix root primitives).</li>
|
|
* <li><b>Overlays</b> — Modal (Dialog adapter), Drawer (Sheet adapter), Sheet*,
|
|
* Dialog*, Popover*, DropdownMenu*, Tooltip*.</li>
|
|
* <li><b>Switches</b> — LanguageSwitch.</li>
|
|
* <li><b>Toast</b> — Toaster, toast (sonner).</li>
|
|
* </ol>
|
|
*/
|
|
|
|
// === Atomic ===
|
|
export { Button, buttonVariants, type ButtonProps } from './components/button'
|
|
export { Badge, type BadgeProps } from './components/badge'
|
|
export { Alert, type AlertProps } from './components/alert'
|
|
export {
|
|
QueryErrorState,
|
|
type QueryErrorStateProps,
|
|
} from './components/query-error'
|
|
export { IconButton, type IconButtonProps } from './components/icon-button'
|
|
export { Input, type InputProps } from './components/input'
|
|
export { Label } from './components/label'
|
|
export { Separator } from './components/separator'
|
|
export { Skeleton } from './components/skeleton'
|
|
export { Switch } from './components/switch'
|
|
|
|
// === Handoff design primitives ===
|
|
export { Cap, type CapProps } from './components/cap'
|
|
export {
|
|
ScopeDot,
|
|
ScopeBadge,
|
|
ScopeStrip,
|
|
type DataScope as ScopeKind,
|
|
} from './components/scope'
|
|
|
|
// === Form fields ===
|
|
export { TextInput, type TextInputProps } from './components/text-input'
|
|
export { TextArea, type TextAreaProps } from './components/textarea'
|
|
export { Checkbox } from './components/checkbox'
|
|
export {
|
|
FieldLabel,
|
|
FieldHint,
|
|
FieldError,
|
|
type FieldLabelProps,
|
|
} from './components/field'
|
|
export { FormActions, type FormActionsProps } from './components/form-actions'
|
|
export { DatePicker, type DatePickerProps } from './components/date-picker'
|
|
export {
|
|
DateRangePicker,
|
|
type DateRangePickerProps,
|
|
type DateRangePickerValue,
|
|
} from './components/date-range-picker'
|
|
export {
|
|
MultiSelect,
|
|
type MultiSelectOption,
|
|
type MultiSelectProps,
|
|
} from './components/multi-select'
|
|
export {
|
|
SingleSelect,
|
|
type SelectOption,
|
|
type SingleSelectProps,
|
|
} from './components/single-select'
|
|
export { SearchInput, type SearchInputProps } from './components/search-input'
|
|
|
|
// === Layout ===
|
|
export {
|
|
Card,
|
|
CardHeader,
|
|
CardTitle,
|
|
CardDescription,
|
|
CardContent,
|
|
CardFooter,
|
|
} from './components/card'
|
|
export { Panel, type PanelProps } from './components/panel'
|
|
export { PageHeader, type PageHeaderProps } from './components/page-header'
|
|
export { EmptyState, type EmptyStateProps } from './components/empty-state'
|
|
export { LoadingBlock, type LoadingBlockProps } from './components/loading-block'
|
|
export { GlobeLoader, type GlobeLoaderProps } from './components/globe-loader'
|
|
|
|
// === Tables ===
|
|
export {
|
|
Table,
|
|
TableHeader,
|
|
TableBody,
|
|
TableFooter,
|
|
TableRow,
|
|
TableHead,
|
|
TableHeaderCell,
|
|
TableCell,
|
|
TableCaption,
|
|
TableEmpty,
|
|
type TableHeaderCellProps,
|
|
type TableCellProps,
|
|
type TableEmptyProps,
|
|
} from './components/table'
|
|
|
|
// === Tabs (legacy items[] API + Radix primitives для нового кода) ===
|
|
export { TabsSimple as Tabs, type TabItem, type TabsSimpleProps } from './components/tabs-simple'
|
|
export {
|
|
Tabs as TabsRoot,
|
|
TabsList,
|
|
TabsTrigger,
|
|
TabsContent,
|
|
} from './components/tabs'
|
|
|
|
// === Overlays ===
|
|
export { Modal, type ModalProps } from './components/modal'
|
|
export { Drawer, type DrawerProps } from './components/drawer'
|
|
export {
|
|
Dialog,
|
|
DialogTrigger,
|
|
DialogPortal,
|
|
DialogClose,
|
|
DialogOverlay,
|
|
DialogContent,
|
|
DialogHeader,
|
|
DialogFooter,
|
|
DialogTitle,
|
|
DialogDescription,
|
|
type DialogContentProps,
|
|
} from './components/dialog'
|
|
export {
|
|
Sheet,
|
|
SheetTrigger,
|
|
SheetClose,
|
|
SheetPortal,
|
|
SheetContent,
|
|
SheetHeader,
|
|
SheetFooter,
|
|
SheetTitle,
|
|
SheetDescription,
|
|
type SheetContentProps,
|
|
} from './components/sheet'
|
|
export {
|
|
Popover,
|
|
PopoverTrigger,
|
|
PopoverAnchor,
|
|
PopoverContent,
|
|
} from './components/popover'
|
|
export {
|
|
Tooltip,
|
|
TooltipProvider,
|
|
TooltipTrigger,
|
|
TooltipContent,
|
|
} from './components/tooltip'
|
|
export {
|
|
DropdownMenu,
|
|
DropdownMenuTrigger,
|
|
DropdownMenuContent,
|
|
DropdownMenuItem,
|
|
DropdownMenuCheckboxItem,
|
|
DropdownMenuRadioItem,
|
|
DropdownMenuLabel,
|
|
DropdownMenuSeparator,
|
|
DropdownMenuGroup,
|
|
DropdownMenuPortal,
|
|
DropdownMenuSub,
|
|
DropdownMenuSubTrigger,
|
|
DropdownMenuSubContent,
|
|
DropdownMenuRadioGroup,
|
|
} from './components/dropdown-menu'
|
|
|
|
// === Switches ===
|
|
export {
|
|
LanguageSwitch,
|
|
type LanguageOption,
|
|
type LanguageSwitchProps,
|
|
} from './components/language-switch'
|
|
|
|
// === Toast (sonner) ===
|
|
export { Toaster, toast } from './components/toaster'
|