Files
sfera/src/components/admin/ui-kit-section.tsx
Veronika Smirnova c586ddc868 Обновление системной документации и UI Kit админ панели
- Обновлен CLAUDE.md с добавлением принципов качества кода
- Расширен interaction-integrity-rules.md новыми правилами взаимодействия
- Дополнен rules-complete.md техническими требованиями
- Добавлен демо-компонент вариантов кнопки "Назад" в UI Kit
- Обновлены компоненты админ панели и страницы создания расходников
- Уточнены visual-design-rules.md для компонента BackButton
- Исправлены ESLint ошибки и предупреждения

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 10:29:18 +03:00

268 lines
9.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

'use client'
import React from 'react'
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'
import { AnimationsDemo } from './ui-kit/animations-demo'
import { BackButtonVariantsDemo } from './ui-kit/back-button-variants-demo'
import { BusinessDemo } from './ui-kit/business-demo'
import { BusinessProcessesDemo } from './ui-kit/business-processes-demo'
import { ButtonsDemo } from './ui-kit/buttons-demo'
import { CardsDemo } from './ui-kit/cards-demo'
import { ColorsDemo } from './ui-kit/colors-demo'
import { FormsDemo } from './ui-kit/forms-demo'
import { FulfillmentWarehouse2Demo } from './ui-kit/fulfillment-warehouse-2-demo'
import { FulfillmentWarehouseDemo } from './ui-kit/fulfillment-warehouse-demo'
import { IconsDemo } from './ui-kit/icons-demo'
import { InteractiveDemo } from './ui-kit/interactive-demo'
import { LayoutsDemo } from './ui-kit/layouts-demo'
import { MediaDemo } from './ui-kit/media-demo'
import { NavigationDemo } from './ui-kit/navigation-demo'
import { SpecializedDemo } from './ui-kit/specialized-demo'
import { StatesDemo } from './ui-kit/states-demo'
import { SuppliesDemo } from './ui-kit/supplies-demo'
import { SuppliesNavigationDemo } from './ui-kit/supplies-navigation-demo'
import { TimesheetDemo } from './ui-kit/timesheet-demo'
import { TypographyDemo } from './ui-kit/typography-demo'
import { WBWarehouseDemo } from './ui-kit/wb-warehouse-demo'
const UIKitSection = React.memo(() => {
return (
<div className="p-8">
<div className="mb-8">
<h1 className="text-3xl font-bold text-white mb-2">UI Kit</h1>
<p className="text-white/70">Полная коллекция компонентов дизайн-системы SferaV</p>
</div>
<Tabs defaultValue="buttons" className="w-full">
<TabsList className="flex flex-wrap gap-1 bg-white/5 backdrop-blur border-white/10 p-2 rounded-lg mb-8 h-auto">
<TabsTrigger
value="buttons"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Кнопки
</TabsTrigger>
<TabsTrigger
value="forms"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Формы
</TabsTrigger>
<TabsTrigger
value="cards"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Карточки
</TabsTrigger>
<TabsTrigger
value="typography"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Типографика
</TabsTrigger>
<TabsTrigger
value="colors"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Цвета
</TabsTrigger>
<TabsTrigger
value="icons"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Иконки
</TabsTrigger>
<TabsTrigger
value="layouts"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Макеты
</TabsTrigger>
<TabsTrigger
value="navigation"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Навигация
</TabsTrigger>
<TabsTrigger
value="back-button-variants"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Кнопки Назад
</TabsTrigger>
<TabsTrigger
value="specialized"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Специальные
</TabsTrigger>
<TabsTrigger
value="animations"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Анимации
</TabsTrigger>
<TabsTrigger
value="states"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Состояния
</TabsTrigger>
<TabsTrigger
value="media"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Медиа
</TabsTrigger>
<TabsTrigger
value="interactive"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Интерактивные
</TabsTrigger>
<TabsTrigger
value="business"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Бизнес
</TabsTrigger>
<TabsTrigger
value="timesheet"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Табель
</TabsTrigger>
<TabsTrigger
value="fulfillment-warehouse"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Склад фулфилмент
</TabsTrigger>
<TabsTrigger
value="fulfillment-warehouse-2"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Склад фулфилмент - 2
</TabsTrigger>
<TabsTrigger
value="supplies"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Поставки
</TabsTrigger>
<TabsTrigger
value="wb-warehouse"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Склад WB
</TabsTrigger>
<TabsTrigger
value="supplies-navigation"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Навигация поставок
</TabsTrigger>
<TabsTrigger
value="business-processes"
className="data-[state=active]:bg-white/20 data-[state=active]:text-white text-white/70 text-xs px-3 py-2"
>
Бизнес-процессы
</TabsTrigger>
</TabsList>
<TabsContent value="buttons" className="space-y-6">
<ButtonsDemo />
</TabsContent>
<TabsContent value="forms" className="space-y-6">
<FormsDemo />
</TabsContent>
<TabsContent value="cards" className="space-y-6">
<CardsDemo />
</TabsContent>
<TabsContent value="typography" className="space-y-6">
<TypographyDemo />
</TabsContent>
<TabsContent value="colors" className="space-y-6">
<ColorsDemo />
</TabsContent>
<TabsContent value="icons" className="space-y-6">
<IconsDemo />
</TabsContent>
<TabsContent value="layouts" className="space-y-6">
<LayoutsDemo />
</TabsContent>
<TabsContent value="navigation" className="space-y-6">
<NavigationDemo />
</TabsContent>
<TabsContent value="specialized" className="space-y-6">
<SpecializedDemo />
</TabsContent>
<TabsContent value="animations" className="space-y-6">
<AnimationsDemo />
</TabsContent>
<TabsContent value="states" className="space-y-6">
<StatesDemo />
</TabsContent>
<TabsContent value="media" className="space-y-6">
<MediaDemo />
</TabsContent>
<TabsContent value="interactive" className="space-y-6">
<InteractiveDemo />
</TabsContent>
<TabsContent value="business" className="space-y-6">
<BusinessDemo />
</TabsContent>
<TabsContent value="timesheet" className="space-y-6">
<TimesheetDemo />
</TabsContent>
<TabsContent value="fulfillment-warehouse" className="space-y-6">
<FulfillmentWarehouseDemo />
</TabsContent>
<TabsContent value="fulfillment-warehouse-2" className="space-y-6">
<FulfillmentWarehouse2Demo />
</TabsContent>
<TabsContent value="supplies" className="space-y-6">
<SuppliesDemo />
</TabsContent>
<TabsContent value="wb-warehouse" className="space-y-6">
<WBWarehouseDemo />
</TabsContent>
<TabsContent value="supplies-navigation" className="space-y-6">
<SuppliesNavigationDemo />
</TabsContent>
<TabsContent value="back-button-variants" className="space-y-6">
<BackButtonVariantsDemo />
</TabsContent>
<TabsContent value="business-processes" className="space-y-6">
<BusinessProcessesDemo />
</TabsContent>
</Tabs>
</div>
)
})
UIKitSection.displayName = 'UIKitSection'
export { UIKitSection }