## Overview Create a reusable `Button` component in `frontend/contrib/` that covers all variants used across the platform. ## Location All work must be inside `frontend/contrib/components/ui/`. ## Acceptance Criteria - [ ] Variants: `primary`, `secondary`, `danger`, `outline`, `ghost` - [ ] Sizes: `sm`, `md` (default), `lg` - [ ] Loading state: shows spinner and disables interaction - [ ] Accepts `leftIcon` and `rightIcon` props - [ ] Fully typed with TypeScript props interface - [ ] Uses Tailwind CSS for styling
Overview
Create a reusable
Buttoncomponent infrontend/contrib/that covers all variants used across the platform.Location
All work must be inside
frontend/contrib/components/ui/.Acceptance Criteria
primary,secondary,danger,outline,ghostsm,md(default),lgleftIconandrightIconprops