
- Обновлен 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>
268 lines
9.7 KiB
TypeScript
268 lines
9.7 KiB
TypeScript
'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 }
|