{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "tooltip", "title": "Tooltip", "description": "Polaris-styled Tooltip component.", "dependencies": [], "devDependencies": [ "@shopify/polaris-types" ], "registryDependencies": [ "@polaris-shadcn/theme", "@polaris-shadcn/utils" ], "files": [ { "path": "registry/templates/components/ui/tooltip.tsx", "content": "import * as React from \"react\";\nimport { cn } from \"../../lib/utils\";\n\ntype STooltipProps = React.ComponentPropsWithoutRef<\"s-tooltip\">;\n\nexport interface TooltipProviderProps {\n children?: React.ReactNode;\n}\n\nconst TooltipProvider = ({ children }: TooltipProviderProps) => {\n return <>{children};\n};\nTooltipProvider.displayName = \"TooltipProvider\";\n\nexport interface TooltipProps {\n children?: React.ReactNode;\n}\n\nconst Tooltip = ({ children }: TooltipProps) => {\n return <>{children};\n};\nTooltip.displayName = \"Tooltip\";\n\nexport interface TooltipTriggerProps\n extends React.ComponentPropsWithoutRef<\"span\"> {\n tooltipId?: string;\n asChild?: boolean;\n}\n\nconst TooltipTrigger = React.forwardRef(\n ({ tooltipId, children, asChild, ...props }, ref) => {\n if (asChild && React.isValidElement(children)) {\n return React.cloneElement(\n children as React.ReactElement>,\n {\n ref,\n interestFor: tooltipId,\n ...props,\n },\n );\n }\n\n return (\n )}\n {...props}\n >\n {children}\n \n );\n },\n);\nTooltipTrigger.displayName = \"TooltipTrigger\";\n\nexport interface TooltipContentProps extends STooltipProps {\n className?: string;\n}\n\nconst TooltipContent = React.forwardRef<\n HTMLElementTagNameMap[\"s-tooltip\"],\n TooltipContentProps\n>(({ id, className, children, ...props }, ref) => {\n return (\n \n {typeof children === \"string\" ? {children} : children}\n \n );\n});\nTooltipContent.displayName = \"TooltipContent\";\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n", "type": "registry:ui" } ], "type": "registry:ui" }