# Share Sheet

In-app share panel with an item preview, copy link, people and share options. Pick people, add a note and send; the button confirms who it went to before the panel closes.

> Composed · Pro · Overlays — React Native, Expo Go compatible.

## Install

```bash
npx @lumioui/cli add pro/share-sheet
```

## Import

```tsx
import { ShareSheet } from "@/components/ui/share-sheet/share-sheet";
```

## Variants

- `invite` — Invite link: `npx @lumioui/cli add pro/share-sheet-invite`
- `listing` — Listing share: `npx @lumioui/cli add pro/share-sheet-listing`
- `playlist` — Playlist share: `npx @lumioui/cli add pro/share-sheet-playlist`
- `post` — Post share: `npx @lumioui/cli add pro/share-sheet-post`

## Props

| Prop | Type | Notes |
| --- | --- | --- |
| `open?` | `boolean` | — |
| `defaultOpen?` | `boolean` | — |
| `onOpenChange?` | `(open: boolean) => void` | — |
| `title?` | `string` | Sheet title. Default "Share". |
| `item?` | `ShareItem` | What is being shared. |
| `link?` | `string` | Link row with a Copy pill. |
| `onCopyLink?` | `(link: string) => void` | Called when Copy is pressed (do the clipboard write here). |
| `people?` | `SharePerson[]` | People row. |
| `onSendToPeople?` | `(ids: string[], message: string) => void` | Send to the selected people (with the optional note). Fires on the tap;  the sheet closes after the sent result has held. |
| `actions?` | `ShareAction[]` | Target row — generic share destinations. |
| `footer?` | `React.ReactNode` | Extra content under the targets (a toggle, fine print). |
| `className?` | `string` | — |

## Icons rendered

- `check` — /icons.html?i=check
- `link` — /icons.html?i=link
- `message-circle` — /icons.html?i=message-circle
- `more-horizontal` — /icons.html?i=more-horizontal
- `x` — /icons.html?i=x

Source: https://lumioui.com/components/share-sheet