diff --git a/packages/commerce/package.json b/packages/commerce/package.json
index 0b31f504..58185eca 100644
--- a/packages/commerce/package.json
+++ b/packages/commerce/package.json
@@ -1,6 +1,6 @@
{
"name": "@hanzo/commerce",
- "version": "7.1.5",
+ "version": "7.1.20",
"description": "e-commerce framework.",
"publishConfig": {
"registry": "https://registry.npmjs.org/",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 0a483914..9e6a862c 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@hanzo/ui",
- "version": "3.8.21",
+ "version": "3.8.24",
"description": "Library that contains shared UI primitives, support for a common design system, and other boilerplate support.",
"publishConfig": {
"registry": "https://registry.npmjs.org/",
@@ -66,6 +66,7 @@
"@radix-ui/react-toast": "^1.1.5",
"@radix-ui/react-toggle": "^1.0.3",
"@radix-ui/react-toggle-group": "^1.0.4",
+ "@radix-ui/react-tooltip": "^1.0.6",
"@splinetool/react-spline": "^2.2.6",
"@splinetool/runtime": "^1.0.75",
"@tailwindcss/container-queries": "^0.1.1",
diff --git a/packages/ui/primitives/index.ts b/packages/ui/primitives/index.ts
index ea044ddc..18339711 100644
--- a/packages/ui/primitives/index.ts
+++ b/packages/ui/primitives/index.ts
@@ -169,6 +169,9 @@ export {
TabsContent
} from './tabs'
+export * from './tooltip'
+
+
export { default as ActionButton } from './action-button'
export { default as ApplyTypography, type TypographySize} from './apply-typography'
export { default as AspectRatio } from './aspect-ratio'
diff --git a/packages/ui/primitives/input.tsx b/packages/ui/primitives/input.tsx
index 08c8a91b..2d31afd1 100644
--- a/packages/ui/primitives/input.tsx
+++ b/packages/ui/primitives/input.tsx
@@ -15,7 +15,7 @@ const Input = React.forwardRef
(
className={cn(
'flex h-10 w-full rounded-md border border-muted-3 bg-inherit px-3 py-2 text-sm ring-offset-background ' +
'file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-2 ' +
- 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ' +
+ 'focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 ' +
'first-letter:disabled:cursor-not-allowed disabled:opacity-50',
className
)}
diff --git a/packages/ui/primitives/tooltip.tsx b/packages/ui/primitives/tooltip.tsx
new file mode 100644
index 00000000..57c9595b
--- /dev/null
+++ b/packages/ui/primitives/tooltip.tsx
@@ -0,0 +1,30 @@
+'use client'
+
+import * as React from 'react'
+import * as TooltipPrimitive from '@radix-ui/react-tooltip'
+
+import { cn } from '../util'
+
+const TooltipProvider = TooltipPrimitive.Provider
+
+const Tooltip = TooltipPrimitive.Root
+
+const TooltipTrigger = TooltipPrimitive.Trigger
+
+const TooltipContent = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, sideOffset = 4, ...props }, ref) => (
+
+))
+TooltipContent.displayName = TooltipPrimitive.Content.displayName
+
+export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0b19982e..b984de30 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -478,6 +478,9 @@ importers:
'@radix-ui/react-toggle-group':
specifier: ^1.0.4
version: 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-tooltip':
+ specifier: ^1.0.6
+ version: 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@splinetool/react-spline':
specifier: ^2.2.6
version: 2.2.6(@splinetool/runtime@1.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)