@dcl/hooks 0.0.3-20250530143135.commit-48d49bb → 0.0.4-20250602144920.commit-48673f0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -32
- package/cjs/hooks/index.d.ts +0 -1
- package/cjs/hooks/index.js +1 -3
- package/cjs/hooks/index.js.map +1 -1
- package/esm/hooks/index.d.ts +0 -1
- package/esm/hooks/index.js +0 -1
- package/esm/hooks/index.js.map +1 -1
- package/package.json +2 -2
- package/cjs/hooks/useShare.d.ts +0 -18
- package/cjs/hooks/useShare.js +0 -34
- package/cjs/hooks/useShare.js.map +0 -1
- package/esm/hooks/useShare.d.ts +0 -18
- package/esm/hooks/useShare.js +0 -38
- package/esm/hooks/useShare.js.map +0 -1
package/README.md
CHANGED
|
@@ -19,7 +19,6 @@ npm install @dcl/hooks
|
|
|
19
19
|
- `usePatchState`: Partial state updates for complex objects
|
|
20
20
|
- `useAsyncEffect`: Async version of useEffect
|
|
21
21
|
- `useAsyncMemo`: Async version of useMemo
|
|
22
|
-
- `useShare`: Hook for sharing content using the Web Share API
|
|
23
22
|
|
|
24
23
|
## Examples
|
|
25
24
|
|
|
@@ -67,37 +66,6 @@ function BrowserInfo() {
|
|
|
67
66
|
}
|
|
68
67
|
```
|
|
69
68
|
|
|
70
|
-
### useShare
|
|
71
|
-
|
|
72
|
-
```typescript
|
|
73
|
-
import { useShare } from '@dcl/hooks'
|
|
74
|
-
|
|
75
|
-
function ShareButton() {
|
|
76
|
-
const [share, shareState] = useShare()
|
|
77
|
-
|
|
78
|
-
const handleShare = async () => {
|
|
79
|
-
await share({
|
|
80
|
-
title: 'My Decentraland Experience',
|
|
81
|
-
text: 'Check out what I found in Decentraland!',
|
|
82
|
-
url: 'https://play.decentraland.org',
|
|
83
|
-
thumbnail: 'https://example.com/thumbnail.jpg' // optional
|
|
84
|
-
})
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (!shareState.isSupported) {
|
|
88
|
-
return <div>Sharing is not supported in this browser</div>
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return (
|
|
92
|
-
<div>
|
|
93
|
-
<button onClick={handleShare} disabled={shareState.isSharing}>
|
|
94
|
-
{shareState.isSharing ? 'Sharing...' : 'Share'}
|
|
95
|
-
</button>
|
|
96
|
-
{shareState.error && <div>Error: {shareState.error.message}</div>}
|
|
97
|
-
</div>
|
|
98
|
-
)
|
|
99
|
-
}
|
|
100
|
-
```
|
|
101
69
|
|
|
102
70
|
## License
|
|
103
71
|
|
package/cjs/hooks/index.d.ts
CHANGED
package/cjs/hooks/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createAsyncMemoState = exports.useAsyncMemo = exports.useAsyncEffect = exports.usePatchState = exports.useAsyncTasks = exports.useAsyncTask = exports.createAsyncStateState = exports.useAsyncState = exports.useAdvancedUserAgentData = void 0;
|
|
4
4
|
// Hooks
|
|
5
5
|
var useAdvancedUserAgentData_1 = require("./useAdvancedUserAgentData");
|
|
6
6
|
Object.defineProperty(exports, "useAdvancedUserAgentData", { enumerable: true, get: function () { return useAdvancedUserAgentData_1.useAdvancedUserAgentData; } });
|
|
@@ -18,6 +18,4 @@ Object.defineProperty(exports, "useAsyncEffect", { enumerable: true, get: functi
|
|
|
18
18
|
var useAsyncMemo_1 = require("./useAsyncMemo");
|
|
19
19
|
Object.defineProperty(exports, "useAsyncMemo", { enumerable: true, get: function () { return useAsyncMemo_1.useAsyncMemo; } });
|
|
20
20
|
Object.defineProperty(exports, "createAsyncMemoState", { enumerable: true, get: function () { return useAsyncMemo_1.createAsyncMemoState; } });
|
|
21
|
-
var useShare_1 = require("./useShare");
|
|
22
|
-
Object.defineProperty(exports, "useShare", { enumerable: true, get: function () { return useShare_1.useShare; } });
|
|
23
21
|
//# sourceMappingURL=index.js.map
|
package/cjs/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;AAIA,QAAQ;AACR,uEAAqE;AAA5D,oIAAA,wBAAwB,OAAA;AACjC,iDAAsE;AAA7D,8GAAA,aAAa,OAAA;AAAE,sHAAA,qBAAqB,OAAA;AAC7C,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AACrB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,mDAAiD;AAAxC,gHAAA,cAAc,OAAA;AACvB,+CAAmE;AAA1D,4GAAA,YAAY,OAAA;AAAE,oHAAA,oBAAoB,OAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;AAIA,QAAQ;AACR,uEAAqE;AAA5D,oIAAA,wBAAwB,OAAA;AACjC,iDAAsE;AAA7D,8GAAA,aAAa,OAAA;AAAE,sHAAA,qBAAqB,OAAA;AAC7C,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AACrB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,mDAAiD;AAAxC,gHAAA,cAAc,OAAA;AACvB,+CAAmE;AAA1D,4GAAA,YAAY,OAAA;AAAE,oHAAA,oBAAoB,OAAA"}
|
package/esm/hooks/index.d.ts
CHANGED
package/esm/hooks/index.js
CHANGED
|
@@ -6,5 +6,4 @@ export { useAsyncTasks } from "./useAsyncTasks";
|
|
|
6
6
|
export { usePatchState } from "./usePatchState";
|
|
7
7
|
export { useAsyncEffect } from "./useAsyncEffect";
|
|
8
8
|
export { useAsyncMemo, createAsyncMemoState } from "./useAsyncMemo";
|
|
9
|
-
export { useShare } from "./useShare";
|
|
10
9
|
//# sourceMappingURL=index.js.map
|
package/esm/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,QAAQ;AACR,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,QAAQ;AACR,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/hooks",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4-20250602144920.commit-48673f0",
|
|
4
4
|
"main": "cjs/index.js",
|
|
5
5
|
"module": "esm/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
"^src/(.*)$": "<rootDir>/src/$1"
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
|
-
"commit": "
|
|
81
|
+
"commit": "48673f04fe638b77a20fc2a8651391c8fb64f597"
|
|
82
82
|
}
|
package/cjs/hooks/useShare.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
type DCLShareData = ShareData & {
|
|
2
|
-
thumbnail?: string;
|
|
3
|
-
};
|
|
4
|
-
type ShareState = {
|
|
5
|
-
data: DCLShareData | null;
|
|
6
|
-
isSupported: boolean;
|
|
7
|
-
isSharing: boolean;
|
|
8
|
-
error: Error | null;
|
|
9
|
-
};
|
|
10
|
-
declare const useShare: () => readonly [(shareData: DCLShareData) => Promise<void>, {
|
|
11
|
-
close: () => void;
|
|
12
|
-
data: DCLShareData | null;
|
|
13
|
-
isSupported: boolean;
|
|
14
|
-
isSharing: boolean;
|
|
15
|
-
error: Error | null;
|
|
16
|
-
}];
|
|
17
|
-
export { useShare };
|
|
18
|
-
export type { DCLShareData, ShareState };
|
package/cjs/hooks/useShare.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useShare = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const useShare = () => {
|
|
7
|
-
const [state, setState] = (0, react_1.useState)({
|
|
8
|
-
data: null,
|
|
9
|
-
isSupported: typeof navigator !== "undefined" && !!navigator.share,
|
|
10
|
-
isSharing: false,
|
|
11
|
-
error: null,
|
|
12
|
-
});
|
|
13
|
-
const share = (0, react_1.useCallback)((shareData) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
-
if (!state.isSupported) {
|
|
15
|
-
setState((prev) => (Object.assign(Object.assign({}, prev), { data: shareData })));
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
try {
|
|
19
|
-
setState((prev) => (Object.assign(Object.assign({}, prev), { isSharing: true, error: null })));
|
|
20
|
-
yield navigator.share(shareData);
|
|
21
|
-
setState((prev) => (Object.assign(Object.assign({}, prev), { isSharing: false, data: null })));
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
setState((prev) => (Object.assign(Object.assign({}, prev), { isSharing: false, error: error instanceof Error ? error : new Error("Error al compartir"), data: shareData })));
|
|
25
|
-
}
|
|
26
|
-
}), [state.isSupported]);
|
|
27
|
-
const close = (0, react_1.useCallback)(() => {
|
|
28
|
-
setState((prev) => (Object.assign(Object.assign({}, prev), { data: null, error: null })));
|
|
29
|
-
}, []);
|
|
30
|
-
const shareState = (0, react_1.useMemo)(() => (Object.assign(Object.assign({}, state), { close })), [state, close]);
|
|
31
|
-
return [share, shareState];
|
|
32
|
-
};
|
|
33
|
-
exports.useShare = useShare;
|
|
34
|
-
//# sourceMappingURL=useShare.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useShare.js","sourceRoot":"","sources":["../../src/hooks/useShare.ts"],"names":[],"mappings":";;;;AAAA,iCAAsD;AAatD,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAa;QAC7C,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,OAAO,SAAS,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK;QAClE,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,IAAI;KACZ,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,IAAA,mBAAW,EACvB,CAAO,SAAuB,EAAE,EAAE;QAChC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAM,IAAI,KAAE,IAAI,EAAE,SAAS,IAAG,CAAC,CAAA;YAClD,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAM,IAAI,KAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAG,CAAC,CAAA;YAC/D,MAAM,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAChC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAM,IAAI,KAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,IAAG,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCACd,IAAI,KACP,SAAS,EAAE,KAAK,EAChB,KAAK,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,EAClE,IAAI,EAAE,SAAS,IACf,CAAC,CAAA;QACL,CAAC;IACH,CAAC,CAAA,EACD,CAAC,KAAK,CAAC,WAAW,CAAC,CACpB,CAAA;IAED,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAM,IAAI,KAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAG,CAAC,CAAA;IAC5D,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,UAAU,GAAG,IAAA,eAAO,EACxB,GAAG,EAAE,CAAC,iCACD,KAAK,KACR,KAAK,IACL,EACF,CAAC,KAAK,EAAE,KAAK,CAAC,CACf,CAAA;IAED,OAAO,CAAC,KAAK,EAAE,UAAU,CAAU,CAAA;AACrC,CAAC,CAAA;AAEQ,4BAAQ"}
|
package/esm/hooks/useShare.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
type DCLShareData = ShareData & {
|
|
2
|
-
thumbnail?: string;
|
|
3
|
-
};
|
|
4
|
-
type ShareState = {
|
|
5
|
-
data: DCLShareData | null;
|
|
6
|
-
isSupported: boolean;
|
|
7
|
-
isSharing: boolean;
|
|
8
|
-
error: Error | null;
|
|
9
|
-
};
|
|
10
|
-
declare const useShare: () => readonly [(shareData: DCLShareData) => Promise<void>, {
|
|
11
|
-
close: () => void;
|
|
12
|
-
data: DCLShareData | null;
|
|
13
|
-
isSupported: boolean;
|
|
14
|
-
isSharing: boolean;
|
|
15
|
-
error: Error | null;
|
|
16
|
-
}];
|
|
17
|
-
export { useShare };
|
|
18
|
-
export type { DCLShareData, ShareState };
|
package/esm/hooks/useShare.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { useCallback, useMemo, useState } from "react";
|
|
2
|
-
const useShare = () => {
|
|
3
|
-
const [state, setState] = useState({
|
|
4
|
-
data: null,
|
|
5
|
-
isSupported: typeof navigator !== "undefined" && !!navigator.share,
|
|
6
|
-
isSharing: false,
|
|
7
|
-
error: null,
|
|
8
|
-
});
|
|
9
|
-
const share = useCallback(async (shareData) => {
|
|
10
|
-
if (!state.isSupported) {
|
|
11
|
-
setState((prev) => ({ ...prev, data: shareData }));
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
setState((prev) => ({ ...prev, isSharing: true, error: null }));
|
|
16
|
-
await navigator.share(shareData);
|
|
17
|
-
setState((prev) => ({ ...prev, isSharing: false, data: null }));
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
setState((prev) => ({
|
|
21
|
-
...prev,
|
|
22
|
-
isSharing: false,
|
|
23
|
-
error: error instanceof Error ? error : new Error("Error al compartir"),
|
|
24
|
-
data: shareData,
|
|
25
|
-
}));
|
|
26
|
-
}
|
|
27
|
-
}, [state.isSupported]);
|
|
28
|
-
const close = useCallback(() => {
|
|
29
|
-
setState((prev) => ({ ...prev, data: null, error: null }));
|
|
30
|
-
}, []);
|
|
31
|
-
const shareState = useMemo(() => ({
|
|
32
|
-
...state,
|
|
33
|
-
close,
|
|
34
|
-
}), [state, close]);
|
|
35
|
-
return [share, shareState];
|
|
36
|
-
};
|
|
37
|
-
export { useShare };
|
|
38
|
-
//# sourceMappingURL=useShare.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useShare.js","sourceRoot":"","sources":["../../src/hooks/useShare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAatD,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAa;QAC7C,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,OAAO,SAAS,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK;QAClE,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,IAAI;KACZ,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,WAAW,CACvB,KAAK,EAAE,SAAuB,EAAE,EAAE;QAChC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;YAClD,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAC/D,MAAM,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAChC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClB,GAAG,IAAI;gBACP,SAAS,EAAE,KAAK;gBAChB,KAAK,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC;gBAClE,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC,CAAA;QACL,CAAC;IACH,CAAC,EACD,CAAC,KAAK,CAAC,WAAW,CAAC,CACpB,CAAA;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC5D,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,CAAC;QACL,GAAG,KAAK;QACR,KAAK;KACN,CAAC,EACF,CAAC,KAAK,EAAE,KAAK,CAAC,CACf,CAAA;IAED,OAAO,CAAC,KAAK,EAAE,UAAU,CAAU,CAAA;AACrC,CAAC,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|