+
diff --git a/apps/v4/examples/base/input-group-with-addons.tsx b/apps/v4/examples/base/input-group-with-addons.tsx
index 17ad2ced5a..3ea51c2d00 100644
--- a/apps/v4/examples/base/input-group-with-addons.tsx
+++ b/apps/v4/examples/base/input-group-with-addons.tsx
@@ -1,3 +1,5 @@
+"use client"
+
import {
Field,
FieldDescription,
diff --git a/apps/v4/examples/base/input-group-with-tooltip.tsx b/apps/v4/examples/base/input-group-with-tooltip.tsx
index 0b67a004e6..ee3d1295a4 100644
--- a/apps/v4/examples/base/input-group-with-tooltip.tsx
+++ b/apps/v4/examples/base/input-group-with-tooltip.tsx
@@ -1,4 +1,5 @@
-import { Button } from "@/examples/base/ui/button"
+"use client"
+
import { ButtonGroup, ButtonGroupText } from "@/examples/base/ui/button-group"
import {
DropdownMenu,
@@ -12,7 +13,6 @@ import {
FieldGroup,
FieldLabel,
} from "@/examples/base/ui/field"
-import { Input } from "@/examples/base/ui/input"
import {
InputGroup,
InputGroupAddon,
diff --git a/apps/v4/examples/radix/input-group-block-end.tsx b/apps/v4/examples/radix/input-group-block-end.tsx
new file mode 100644
index 0000000000..d25cf8601d
--- /dev/null
+++ b/apps/v4/examples/radix/input-group-block-end.tsx
@@ -0,0 +1,49 @@
+import {
+ Field,
+ FieldDescription,
+ FieldGroup,
+ FieldLabel,
+} from "@/examples/radix/ui/field"
+import {
+ InputGroup,
+ InputGroupAddon,
+ InputGroupButton,
+ InputGroupInput,
+ InputGroupText,
+ InputGroupTextarea,
+} from "@/examples/radix/ui/input-group"
+
+export function InputGroupBlockEnd() {
+ return (
+
+
+ Input
+
+
+
+ USD
+
+
+ Footer positioned below the input.
+
+
+ Textarea
+
+
+
+ 0/280
+
+ Post
+
+
+
+
+ Footer positioned below the textarea.
+
+
+
+ )
+}
diff --git a/apps/v4/examples/radix/input-group-block-start.tsx b/apps/v4/examples/radix/input-group-block-start.tsx
new file mode 100644
index 0000000000..803466ffd7
--- /dev/null
+++ b/apps/v4/examples/radix/input-group-block-start.tsx
@@ -0,0 +1,56 @@
+import {
+ Field,
+ FieldDescription,
+ FieldGroup,
+ FieldLabel,
+} from "@/examples/radix/ui/field"
+import {
+ InputGroup,
+ InputGroupAddon,
+ InputGroupButton,
+ InputGroupInput,
+ InputGroupText,
+ InputGroupTextarea,
+} from "@/examples/radix/ui/input-group"
+import { CopyIcon, FileCodeIcon } from "lucide-react"
+
+export function InputGroupBlockStart() {
+ return (
+
+
+ Input
+
+
+
+ Full Name
+
+
+ Header positioned above the input.
+
+
+ Textarea
+
+
+
+
+ script.js
+
+
+ Copy
+
+
+
+
+ Header positioned above the textarea.
+
+
+
+ )
+}
diff --git a/apps/v4/examples/radix/input-group-demo.tsx b/apps/v4/examples/radix/input-group-demo.tsx
index eb7e6ce5df..f2bf4ce3e9 100644
--- a/apps/v4/examples/radix/input-group-demo.tsx
+++ b/apps/v4/examples/radix/input-group-demo.tsx
@@ -1,100 +1,18 @@
-import {
- DropdownMenu,
- DropdownMenuContent,
- DropdownMenuGroup,
- DropdownMenuItem,
- DropdownMenuTrigger,
-} from "@/examples/radix/ui/dropdown-menu"
import {
InputGroup,
InputGroupAddon,
- InputGroupButton,
InputGroupInput,
- InputGroupText,
- InputGroupTextarea,
} from "@/examples/radix/ui/input-group"
-import { Separator } from "@/examples/radix/ui/separator"
-import {
- Tooltip,
- TooltipContent,
- TooltipTrigger,
-} from "@/examples/radix/ui/tooltip"
-import { IconCheck, IconInfoCircle, IconPlus } from "@tabler/icons-react"
-import { ArrowUpIcon, Search } from "lucide-react"
+import { Search } from "lucide-react"
-export default function InputGroupDemo() {
+export function InputGroupDemo() {
return (
-
-
-
-
-
-
- 12 results
-
-
-
-
- https://
-
-
-
-
-
-
-
-
- This is content in a tooltip.
-
-
-
-
-
-
-
-
-
-
-
- Auto
-
-
-
- Auto
- Agent
- Manual
-
-
-
- 52% used
-
-
-
- Send
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 12 results
+
)
}
diff --git a/apps/v4/examples/radix/input-group-inline-end.tsx b/apps/v4/examples/radix/input-group-inline-end.tsx
new file mode 100644
index 0000000000..580a926b89
--- /dev/null
+++ b/apps/v4/examples/radix/input-group-inline-end.tsx
@@ -0,0 +1,26 @@
+import { Field, FieldDescription, FieldLabel } from "@/examples/radix/ui/field"
+import {
+ InputGroup,
+ InputGroupAddon,
+ InputGroupInput,
+} from "@/examples/radix/ui/input-group"
+import { EyeOffIcon } from "lucide-react"
+
+export function InputGroupInlineEnd() {
+ return (
+
+ Input
+
+
+
+
+
+
+ Icon positioned at the end.
+
+ )
+}
diff --git a/apps/v4/examples/radix/input-group-inline-start.tsx b/apps/v4/examples/radix/input-group-inline-start.tsx
new file mode 100644
index 0000000000..e125b8ac70
--- /dev/null
+++ b/apps/v4/examples/radix/input-group-inline-start.tsx
@@ -0,0 +1,22 @@
+import { Field, FieldDescription, FieldLabel } from "@/examples/radix/ui/field"
+import {
+ InputGroup,
+ InputGroupAddon,
+ InputGroupInput,
+} from "@/examples/radix/ui/input-group"
+import { SearchIcon } from "lucide-react"
+
+export function InputGroupInlineStart() {
+ return (
+
+ Input
+
+
+
+
+
+
+ Icon positioned at the start.
+
+ )
+}
diff --git a/apps/v4/examples/radix/input-group-kbd.tsx b/apps/v4/examples/radix/input-group-kbd.tsx
new file mode 100644
index 0000000000..0f4ba18afb
--- /dev/null
+++ b/apps/v4/examples/radix/input-group-kbd.tsx
@@ -0,0 +1,21 @@
+import {
+ InputGroup,
+ InputGroupAddon,
+ InputGroupInput,
+} from "@/examples/radix/ui/input-group"
+import { Kbd } from "@/examples/radix/ui/kbd"
+import { SearchIcon } from "lucide-react"
+
+export function InputGroupKbd() {
+ return (
+
+
+
+
+
+
+ ⌘K
+
+
+ )
+}
diff --git a/apps/v4/examples/radix/input-group-spinner.tsx b/apps/v4/examples/radix/input-group-spinner.tsx
index c47d634ae6..39ba3cb247 100644
--- a/apps/v4/examples/radix/input-group-spinner.tsx
+++ b/apps/v4/examples/radix/input-group-spinner.tsx
@@ -10,27 +10,27 @@ import { LoaderIcon } from "lucide-react"
export default function InputGroupSpinner() {
return (
-
-
+
+
-
-
+
+
-
-
+
+
Saving...
-
-
+
+