11import { ref , Ref } from "../api" ;
22import { FALSE_OP , isClient } from "../utils" ;
33
4- declare global {
5- interface NavigatorShareData {
6- url : string ;
7- text : string ;
8- title : string ;
9- }
4+ interface NavigatorShareData {
5+ url : string ;
6+ text : string ;
7+ title : string ;
8+ }
109
11- interface Navigator {
12- share : ( data : Partial < NavigatorShareData > ) => Promise < any > ;
13- canShare : ( data : Partial < NavigatorShareData > ) => boolean ;
14- }
10+ interface NavigatorShareDefinition {
11+ share : ( data : Partial < NavigatorShareData > ) => Promise < any > ;
12+ canShare : ( data : Partial < NavigatorShareData > ) => boolean ;
13+ }
14+
15+ declare global {
16+ interface Navigator extends NavigatorShareDefinition { }
1517}
1618
1719interface ShareReturn {
@@ -34,11 +36,11 @@ interface ShareReturn {
3436 /**
3537 * Share information with user
3638 */
37- share : Navigator [ "share" ] ;
39+ share : NavigatorShareDefinition [ "share" ] ;
3840 /**
3941 * Check if you can share with user
4042 */
41- canShare : Navigator [ "canShare" ] ;
43+ canShare : NavigatorShareDefinition [ "canShare" ] ;
4244}
4345
4446/**
@@ -49,8 +51,8 @@ interface ShareReturn {
4951export function useShare ( data ?: Partial < NavigatorShareData > ) : ShareReturn {
5052 const supported = isClient && "share" in navigator ;
5153
52- let share : Navigator [ "share" ] = ( ) => Promise . resolve ( false ) ;
53- let canShare : Navigator [ "canShare" ] = FALSE_OP ;
54+ let share : NavigatorShareDefinition [ "share" ] = ( ) => Promise . resolve ( false ) ;
55+ let canShare : NavigatorShareDefinition [ "canShare" ] = FALSE_OP ;
5456 let shared = ref ( false ) ;
5557 let cancelled = ref ( false ) ;
5658
0 commit comments