@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 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
 
@@ -7,4 +7,3 @@ export { useAsyncTasks } from "./useAsyncTasks";
7
7
  export { usePatchState } from "./usePatchState";
8
8
  export { useAsyncEffect } from "./useAsyncEffect";
9
9
  export { useAsyncMemo, createAsyncMemoState } from "./useAsyncMemo";
10
- export { useShare } from "./useShare";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useShare = exports.createAsyncMemoState = exports.useAsyncMemo = exports.useAsyncEffect = exports.usePatchState = exports.useAsyncTasks = exports.useAsyncTask = exports.createAsyncStateState = exports.useAsyncState = exports.useAdvancedUserAgentData = void 0;
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
@@ -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;AAC3C,uCAAqC;AAA5B,oGAAA,QAAQ,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"}
@@ -7,4 +7,3 @@ export { useAsyncTasks } from "./useAsyncTasks";
7
7
  export { usePatchState } from "./usePatchState";
8
8
  export { useAsyncEffect } from "./useAsyncEffect";
9
9
  export { useAsyncMemo, createAsyncMemoState } from "./useAsyncMemo";
10
- export { useShare } from "./useShare";
@@ -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
@@ -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;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,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-20250530143135.commit-48d49bb",
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": "48d49bb011054675ca9cca7b5634689d97b18df3"
81
+ "commit": "48673f04fe638b77a20fc2a8651391c8fb64f597"
82
82
  }
@@ -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 };
@@ -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"}
@@ -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 };
@@ -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"}