tpmjs/packages/ui/src/Icon/variants.ts
Ajax Davis 137de1c353 feat: add collections feature for organizing tools
- 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
2026-01-02 02:35:32 +10:00

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',
},
});