input-group-label-demo

PreviousNext
Docs
pureuiexample

Preview

Loading preview…
registry/pure-ui/examples/input-group/input-group-label-demo.tsx
import {
  InputGroup,
  InputGroupAddon,
  InputGroupButton,
  InputGroupInput,
  InputGroupText,
  InputGroupTextarea,
} from "@/registry/pure-ui/ui/input-group";
import {
  Tooltip,
  TooltipTrigger,
  TooltipPopup,
  TooltipProvider,
} from "@/registry/pure-ui/ui/tooltip";
import { Label } from "@/registry/pure-ui/ui/label";
import { InfoIcon } from "lucide-react";

export function InputGroupLabelDemo() {
  return (
    <div className="grid w-full max-w-sm gap-4">
      <InputGroup>
        <InputGroupInput id="email" placeholder="Krishna" />
        <InputGroupAddon>
          <Label htmlFor="email">@</Label>
        </InputGroupAddon>
      </InputGroup>

      <InputGroup>
        <InputGroupInput id="email-2" placeholder="krishna@kam-ui.com" />
        <InputGroupAddon align="block-start">
          <Label htmlFor="email-2" className="text-foreground">
            Email
          </Label>
          <TooltipProvider>
            <Tooltip>
              <TooltipTrigger
                render={
                  <InputGroupButton
                    variant="ghost"
                    aria-label="Help"
                    className="ml-auto rounded-full"
                    size="icon-xs"
                  />
                }
              >
                <InfoIcon />
              </TooltipTrigger>
              <TooltipPopup>
                <p>We&apos;ll use this to send you notifications</p>
              </TooltipPopup>
            </Tooltip>
          </TooltipProvider>
        </InputGroupAddon>
      </InputGroup>
    </div>
  );
}

Installation

npx shadcn@latest add @pureui/input-group-label-demo

Usage

import { InputGroupLabelDemo } from "@/components/input-group-label-demo"
<InputGroupLabelDemo />