Files
stack/packages/mosaic/framework/skills/vueuse-functions/references/useShare.md
T
fargo 1a822493ba format: apply repo prettier (3.8.1) to the folded skills tree
963 markdown files reformatted with the repository's pinned prettier so
pnpm format:check covers the folded tree like every other repo file.

The formatter's embedded-language pass also normalized code fences
(TS semicolons, closed HTML tags in examples, lowercased CSS hex colors,
one renumbered list that skipped an index). Alphanumeric token deltas vs
the fold commit were audited file-by-file; all are formatter-equivalent
markup normalizations plus the four sanitized skills.
2026-08-19 14:37:17 -05:00

1.5 KiB
Raw Blame History

category
category
Browser

useShare

Reactive Web Share API. The Browser provides features that can share content in text or file.

The share method has to be called following a user gesture like a button click. It cant simply be called on page load for example. Thats in place to help prevent abuse.

Usage

import { useShare } from '@vueuse/core';

const { share, isSupported } = useShare();

function startShare() {
  share({
    title: 'Hello',
    text: 'Hello my friend!',
    url: location.href,
  });
}

Passing a source ref

You can pass a ref to it, changes from the source ref will be reflected to your sharing options.

import { ref } from 'vue';

const shareOptions = ref<ShareOptions>({ text: 'foo' });
const { share, isSupported } = useShare(shareOptions);

shareOptions.value.text = 'bar';

share();

Type Declarations

export interface UseShareOptions {
  title?: string;
  files?: File[];
  text?: string;
  url?: string;
}
/**
 * Reactive Web Share API.
 *
 * @see https://vueuse.org/useShare
 * @param shareOptions
 * @param options
 *
 * @__NO_SIDE_EFFECTS__
 */
export declare function useShare(
  shareOptions?: MaybeRefOrGetter<UseShareOptions>,
  options?: ConfigurableNavigator,
): {
  isSupported: ComputedRef<boolean>;
  share: (overrideOptions?: MaybeRefOrGetter<UseShareOptions>) => Promise<void>;
};
export type UseShareReturn = ReturnType<typeof useShare>;