## Share Sheet (S—151)

A share card: copy the link with a tick, pick access (anyone / team / invite-only), and share targets as a row of icons.

- URL: https://sundaeui.dev/components/share-sheet
- Category: UI components · Art direction: Refined
- Access: Free (no account needed)
- Stack: React 18+, TypeScript, plain CSS; dependencies: none
- Install: `npx shadcn@latest add https://sundaeui.dev/r/share-sheet.json`
- Tags: permissions, link, social, share, invite, copy

The link sits in a field with a copy button that confirms in place. Access is a small select that rewrites the hint under it.
Targets (email, message, X, LinkedIn) are monochrome glyph buttons; on devices with the Web Share API, a More button opens the native sheet.

### Usage

```tsx
import { ShareSheet } from '@/components/sundae/share-sheet'

<ShareSheet />
```

### Props

- `url` (`string`, required): Link to share.
- `title` (`string`): What is being shared.
- `onAccessChange` (`(a: "anyone" | "team" | "invite") => void`): Called when access changes.
- `fill` (`'dark' | 'light'`, default `'dark'`): Surface: dark or light.

### When to use

- Docs, boards, files, referral links.

### When not to use

- Sharing private data publicly by default: start at invite-only.

### Accessibility

- Copy announces “Link copied”; access is a native select with a described hint.
- Every target is a labelled link or button.
- Reduced motion removes the movement and keeps every state change.
