{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"puzzle","type":"registry:component","title":"Puzzle","description":"puzzle from coolicons in Line with regular corners. piece, jigsaw, plugin, extension, addon, integration, solve. Other styles and corners: @coolicons/<style>/<radius>/puzzle with line, duocolor, duotone, fill or bulk and sharp or round. Leave out regular, like @coolicons/fill/puzzle, and use @coolicons/puzzle for line with regular corners.","categories":["Sports & Games"],"author":"coolicons <https://coolicons.cool>","docs":"https://coolicons.cool/icons/puzzle","meta":{"icon":"puzzle","style":"line","radius":"regular"},"files":[{"path":"registry/icons/puzzle.tsx","type":"registry:component","content":"import type { SVGProps } from \"react\";\n\ntype IconProps = Omit<SVGProps<SVGSVGElement>, \"children\"> & {\n  size?: number | string;\n  strokeWidth?: number | string;\n  title?: string;\n};\n\nexport function Puzzle({ size = 24, strokeWidth = 2, title, ...props }: IconProps) {\n  return (\n    <svg\n      width={size}\n      height={size}\n      viewBox=\"0 0 24 24\"\n      fill=\"none\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      role={title ? \"img\" : undefined}\n      aria-hidden={title ? undefined : true}\n      {...props}\n    >\n      {title ? <title>{title}</title> : null}\n      <path d=\"M16 7H19C20.10457 7 21 7.89543 21 9V12C19.89543 11.44772 18.55228 11.89543 18 13C17.68524 13.62951 17.68524 14.37049 18 15C18.55228 16.10457 19.89543 16.55228 21 16V19C21 20.10457 20.10457 21 19 21H9C7.89543 21 7 20.10457 7 19V16C5.89543 16.55228 4.55228 16.10457 4 15C3.68524 14.37049 3.68524 13.62951 4 13C4.55228 11.89543 5.89543 11.44772 7 12V9C7 7.89543 7.89543 7 9 7H12C11.44772 5.89543 11.89543 4.55228 13 4C13.62951 3.68524 14.37049 3.68524 15 4C16.10457 4.55228 16.55228 5.89543 16 7Z\" stroke=\"currentColor\" strokeWidth={strokeWidth} strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n    </svg>\n  );\n}\n","target":"@components/icons/puzzle.tsx"}]}
