Files
mdm-ordinis/ordinis-admin-ui/src/ui/index.ts
T
2026-05-10 21:47:24 +00:00

126 lines
3.7 KiB
TypeScript

/**
* Barrel re-export для shadcn-style UI primitives.
*
* <p>Это единая точка входа для UI компонентов в admin-ui. Цель — постепенно
* переключить все импорты с {@code @nstart/ui} на {@code @/ui}, и затем
* удалить @nstart/ui из package.json.
*
* <p>Phase 2 миграции (handoff plan): новые компоненты — Radix primitives +
* Tailwind v4 tokens. Phase 3 — каждый touched файл переносится с {@code
* @nstart/ui} на {@code @/ui} имена. Phase 4 — pkg removed.
*
* <p>Все компоненты используют наши design tokens (--color-ink, --color-accent
* etc.) через @theme inline в styles.css.
*/
// Buttons + actions
export { Button, buttonVariants, type ButtonProps } from './components/button'
export { IconButton, type IconButtonProps } from './components/icon-button'
// Inputs
export { Input, type InputProps } from './components/input'
export { Label } from './components/label'
export { SearchInput, type SearchInputProps } from './components/search-input'
// Form layout
export { FormActions, type FormActionsProps } from './components/form-actions'
// Status / feedback
export { Badge, type BadgeProps } from './components/badge'
export { Alert, type AlertProps } from './components/alert'
export { Skeleton } from './components/skeleton'
export { LoadingBlock, type LoadingBlockProps } from './components/loading-block'
export { EmptyState, type EmptyStateProps } from './components/empty-state'
// Surfaces
export {
Card,
CardHeader,
CardTitle,
CardDescription,
CardContent,
CardFooter,
} from './components/card'
export { Separator } from './components/separator'
export { PageHeader, type PageHeaderProps } from './components/page-header'
// Overlays
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'
// Navigation
export { Tabs, TabsList, TabsTrigger, TabsContent } from './components/tabs'
export {
DropdownMenu,
DropdownMenuTrigger,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuCheckboxItem,
DropdownMenuRadioItem,
DropdownMenuLabel,
DropdownMenuSeparator,
DropdownMenuGroup,
DropdownMenuPortal,
DropdownMenuSub,
DropdownMenuSubTrigger,
DropdownMenuSubContent,
DropdownMenuRadioGroup,
} from './components/dropdown-menu'
// Form controls
export { Checkbox } from './components/checkbox'
export { Switch } from './components/switch'
// Domain-specific atoms (handoff design system)
export { Cap, type CapProps } from './components/cap'
export {
ScopeDot,
ScopeBadge,
ScopeStrip,
type DataScope,
} from './components/scope'
// === @nstart/ui compatibility aliases ===
// Чтобы упростить миграцию touched файлов: перевод import только-source,
// not всего code. Каждый alias документирован, как соотносится с новым API.
export { Card as Panel } from './components/card'
export { Dialog as Modal } from './components/dialog'
export { Sheet as Drawer } from './components/sheet'
export { Input as TextInput } from './components/input'