{
  "buttonDefault": "interface ButtonProps {\n  children?: string\n  onClick?: () => void\n}\n\nfunction DefaultButton({ children = \"Default\", onClick }: ButtonProps) {\n  return <Button onClick={onClick}>{children}</Button>\n}",
  "buttonSecondary": "interface ButtonProps {\n  children?: string\n  variant?: \"default\" | \"secondary\" | \"destructive\" | \"outline\" | \"ghost\" | \"link\"\n  onClick?: () => void\n}\n\nfunction CustomButton({ children = \"Secondary\", variant = \"secondary\", onClick }: ButtonProps) {\n  return <Button variant={variant} onClick={onClick}>{children}</Button>\n}",
  "buttonDestructive": "interface DestructiveButtonProps {\n  children?: string\n  onClick?: () => void\n}\n\nfunction DestructiveButton({ children = \"Destructive\", onClick }: DestructiveButtonProps) {\n  return <Button variant=\"destructive\" onClick={onClick}>{children}</Button>\n}",
  "buttonOutline": "interface OutlineButtonProps {\n  children?: string\n  onClick?: () => void\n}\n\nfunction OutlineButton({ children = \"Outline\", onClick }: OutlineButtonProps) {\n  return <Button variant=\"outline\" onClick={onClick}>{children}</Button>\n}",
  "buttonGhost": "interface GhostButtonProps {\n  children?: string\n  onClick?: () => void\n}\n\nfunction GhostButton({ children = \"Ghost\", onClick }: GhostButtonProps) {\n  return <Button variant=\"ghost\" onClick={onClick}>{children}</Button>\n}",
  "buttonLink": "interface LinkButtonProps {\n  children?: string\n  onClick?: () => void\n}\n\nfunction LinkButton({ children = \"Link\", onClick }: LinkButtonProps) {\n  return <Button variant=\"link\" onClick={onClick}>{children}</Button>\n}",
  "buttonSizes": "interface ButtonSizesProps {\n  smallText?: string\n  defaultText?: string\n  largeText?: string\n  onSmallClick?: () => void\n  onDefaultClick?: () => void\n  onLargeClick?: () => void\n  onIconClick?: () => void\n}\n\nfunction ButtonSizes({ \n  smallText = \"Small\", \n  defaultText = \"Default\", \n  largeText = \"Large\",\n  onSmallClick,\n  onDefaultClick,\n  onLargeClick,\n  onIconClick\n}: ButtonSizesProps) {\n  return (\n    <>\n      <Button size=\"sm\" onClick={onSmallClick}>{smallText}</Button>\n      <Button size=\"default\" onClick={onDefaultClick}>{defaultText}</Button>\n      <Button size=\"lg\" onClick={onLargeClick}>{largeText}</Button>\n      <Button size=\"icon\" onClick={onIconClick}>\n        <Heart weight=\"fill\" />\n      </Button>\n    </>\n  )\n}",
  "buttonWithIcons": "interface IconButtonProps {\n  primaryText?: string\n  secondaryText?: string\n  onPrimaryClick?: () => void\n  onSecondaryClick?: () => void\n}\n\nfunction IconButtons({ \n  primaryText = \"Favorite\", \n  secondaryText = \"Add Item\",\n  onPrimaryClick,\n  onSecondaryClick\n}: IconButtonProps) {\n  return (\n    <>\n      <Button onClick={onPrimaryClick}>\n        <Star weight=\"fill\" />\n        {primaryText}\n      </Button>\n      <Button variant=\"outline\" onClick={onSecondaryClick}>\n        <Plus weight=\"bold\" />\n        {secondaryText}\n      </Button>\n    </>\n  )\n}",
  "badgeVariants": "interface BadgeVariantsProps {\n  defaultText?: string\n  secondaryText?: string\n  destructiveText?: string\n  outlineText?: string\n}\n\nfunction BadgeVariants({ \n  defaultText = \"Default\",\n  secondaryText = \"Secondary\",\n  destructiveText = \"Destructive\",\n  outlineText = \"Outline\"\n}: BadgeVariantsProps) {\n  return (\n    <>\n      <Badge>{defaultText}</Badge>\n      <Badge variant=\"secondary\">{secondaryText}</Badge>\n      <Badge variant=\"destructive\">{destructiveText}</Badge>\n      <Badge variant=\"outline\">{outlineText}</Badge>\n    </>\n  )\n}",
  "badgeWithIcons": "interface IconBadgeProps {\n  completedText?: string\n  failedText?: string\n}\n\nfunction IconBadges({ \n  completedText = \"Completed\",\n  failedText = \"Failed\"\n}: IconBadgeProps) {\n  return (\n    <>\n      <Badge>\n        <Check weight=\"bold\" className=\"mr-1\" />\n        {completedText}\n      </Badge>\n      <Badge variant=\"destructive\">\n        <X weight=\"bold\" className=\"mr-1\" />\n        {failedText}\n      </Badge>\n    </>\n  )\n}",
  "inputBasic": "interface InputProps {\n  placeholder?: string\n  value?: string\n  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n}\n\nfunction BasicInput({ placeholder = \"Default input\", value, onChange }: InputProps) {\n  return <Input placeholder={placeholder} value={value} onChange={onChange} />\n}",
  "inputWithIcon": "interface SearchInputProps {\n  placeholder?: string\n  value?: string\n  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n}\n\nfunction SearchInput({ placeholder = \"Search...\", value, onChange }: SearchInputProps) {\n  return (\n    <div className=\"relative\">\n      <MagnifyingGlass className=\"absolute left-3 top-1/2 -translate-y-1/2 h-5 w-5 text-muted-foreground\" />\n      <Input placeholder={placeholder} className=\"pl-10\" value={value} onChange={onChange} />\n    </div>\n  )\n}",
  "inputTypes": "interface TypedInputsProps {\n  textPlaceholder?: string\n  emailPlaceholder?: string\n  passwordPlaceholder?: string\n  numberPlaceholder?: string\n  onTextChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n  onEmailChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n  onPasswordChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n  onNumberChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n}\n\nfunction TypedInputs({ \n  textPlaceholder = \"Text input\",\n  emailPlaceholder = \"email@example.com\",\n  passwordPlaceholder = \"Password\",\n  numberPlaceholder = \"123\",\n  onTextChange,\n  onEmailChange,\n  onPasswordChange,\n  onNumberChange\n}: TypedInputsProps) {\n  return (\n    <>\n      <Input type=\"text\" placeholder={textPlaceholder} onChange={onTextChange} />\n      <Input type=\"email\" placeholder={emailPlaceholder} onChange={onEmailChange} />\n      <Input type=\"password\" placeholder={passwordPlaceholder} onChange={onPasswordChange} />\n      <Input type=\"number\" placeholder={numberPlaceholder} onChange={onNumberChange} />\n    </>\n  )\n}"
}