Opens the native share sheet with typed outcomes — a cancelled sheet is dismissed rather than an error, files are gated behind canShare, and the fallback reports its own success or failure.
npx shadcn@latest add @zyeon/use-web-shareZyeon UI limits how often it can be asked, and useWebShare hasn't had its turn. Its source will show here once it has.