"use client" import { Badge } from "@/components/ui/badge" import { SectionHeading } from "@/components/ui/section-heading" import { ComponentContainer } from "@/components/ui/component-container" import { commonProperties, getIconByName, generateIconImport, generateIconJSX, getActualValue, } from "@/utils/component-properties" export function BadgesSection() { // Define badge properties const badgeProperties = [ commonProperties.badgeVariant, { name: "text", type: "text", defaultValue: "Badge", label: "Text", description: "The text content of the badge", }, commonProperties.icon, commonProperties.iconPosition, ] // Render badge based on properties const renderBadge = (props: Record) => { const icon = getIconByName(props.icon) const actualVariant = getActualValue(props.variant) const actualIconPosition = getActualValue(props.iconPosition) return ( {actualIconPosition === "left" && icon && ( {icon} )} {props.text} {actualIconPosition === "right" && icon && ( {icon} )} ) } // Generate badge code const generateBadgeCode = (props: Record) => { const actualVariant = getActualValue(props.variant) const actualIconPosition = getActualValue(props.iconPosition) const actualIcon = getActualValue(props.icon) let code = `import { Badge } from "@/components/ui/badge"\n` if (actualIcon !== "none") { code += generateIconImport(props.icon) } code += "\n" code += `` if (actualIcon !== "none" && actualIconPosition === "left") { code += `\n ${generateIconJSX(props.icon)}` } code += actualIcon !== "none" && actualIconPosition === "left" ? "\n " : "" code += props.text if (actualIcon !== "none" && actualIconPosition === "right") { code += `\n ${generateIconJSX(props.icon)}` } code += actualIcon !== "none" ? "\n" : "" code += `` return code } return (
Badge Default Secondary Destructive Outline`} >
Default Secondary Destructive Outline
Success Warning Error Info Neutral`} >
Success Warning Error Info Neutral

Usage

            {`import { Badge } from "@/components/ui/badge"`}
          
) }