- Add Collection and CollectionTool models to Prisma schema - Create Zod validation schemas for collections - Implement full CRUD API routes for collections - Add tool management endpoints (add/remove tools) - Create UI components: CollectionCard, CollectionForm, CollectionList, AddToolSearch, CollectionToolList - Add /dashboard/collections pages for list and detail views - Add new icons to @tpmjs/ui: folder, plus, trash, edit, box, search, loader, arrowLeft, alertCircle, globe - Add xs size variant to Icon component - Add Collections link to dashboard page Features: - Full CRUD for named collections - Public/private visibility toggle - Tool search to add tools to collections - Ownership-based access control - Collection limit: 50 per user - Tool limit: 100 per collection
29 lines
516 B
TypeScript
29 lines
516 B
TypeScript
import { createVariants } from '../system/variants';
|
|
|
|
/**
|
|
* Icon variant definitions
|
|
* Uses custom variant system for type-safe class composition
|
|
*/
|
|
export const iconVariants = createVariants({
|
|
base: [
|
|
// Display
|
|
'inline-block',
|
|
// Fill
|
|
'fill-current',
|
|
].join(' '),
|
|
|
|
variants: {
|
|
size: {
|
|
xs: 'w-3 h-3', // 12px
|
|
sm: 'w-4 h-4', // 16px
|
|
md: 'w-5 h-5', // 20px
|
|
lg: 'w-6 h-6', // 24px
|
|
},
|
|
},
|
|
|
|
compoundVariants: [],
|
|
|
|
defaultVariants: {
|
|
size: 'md',
|
|
},
|
|
});
|