{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "button",
  "title": "TIS Button",
  "author": "TIS Experience Engineering",
  "description": "Button React com API shadcn, primitive Base UI e classes públicas do DS TIS.",
  "dependencies": [
    "@base-ui/react@1.6.0",
    "class-variance-authority@0.7.1",
    "clsx@2.1.1",
    "tailwind-merge@3.6.0",
    "ds-tis@github:tis-experience/ds-tis#dd4c906943847cb7664a72a0c7637a378b39adcc"
  ],
  "files": [
    {
      "path": "registry/tis/button.tsx",
      "content": "import * as React from \"react\"\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"./tis-utils\"\n\nconst buttonVariants = cva(\"ds-button\", {\n  variants: {\n    variant: {\n      default: \"ds-button--brand\",\n      toned: \"ds-button--toned\",\n      outline: \"ds-button--outline\",\n      ghost: \"ds-button--ghost\",\n      success: \"ds-button--success\",\n      destructive: \"ds-button--danger\",\n    },\n    size: {\n      default: null,\n      sm: \"ds-button--sm\",\n      lg: \"ds-button--lg\",\n      icon: \"ds-button--icon-only\",\n      \"icon-sm\": \"ds-button--icon-only ds-button--sm\",\n      \"icon-lg\": \"ds-button--icon-only ds-button--lg\",\n    },\n  },\n  defaultVariants: {\n    variant: \"default\",\n    size: \"default\",\n  },\n})\n\nfunction ButtonLabel({ className, ...props }: React.ComponentProps<\"span\">) {\n  return (\n    <span\n      data-slot=\"button-label\"\n      className={cn(\"ds-button__label\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction Button({\n  className,\n  variant = \"default\",\n  size = \"default\",\n  children,\n  ...props\n}: ButtonPrimitive.Props & VariantProps<typeof buttonVariants>) {\n  const content =\n    typeof children === \"string\" || typeof children === \"number\" ? (\n      <ButtonLabel>{children}</ButtonLabel>\n    ) : (\n      children\n    )\n\n  return (\n    <ButtonPrimitive\n      data-slot=\"button\"\n      className={cn(buttonVariants({ variant, size }), className)}\n      {...props}\n    >\n      {content}\n    </ButtonPrimitive>\n  )\n}\n\nexport { Button, ButtonLabel, buttonVariants }\n",
      "type": "registry:ui",
      "target": "@ui/button.tsx"
    },
    {
      "path": "registry/tis/tis-utils.ts",
      "content": "import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n  return twMerge(clsx(inputs))\n}\n",
      "type": "registry:lib",
      "target": "@ui/tis-utils.ts"
    }
  ],
  "css": {
    "@import \"ds-tis/css\"": {}
  },
  "meta": {
    "provider": "Base UI",
    "providerRole": "output-provider",
    "status": "beta"
  },
  "docs": "Mantenha @import \"ds-tis/css\" como o primeiro import do CSS global.",
  "type": "registry:ui"
}