@tronweb3/tronwallet-adapter-react-ui 1.2.0 → 1.2.1

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.
@@ -52,22 +52,18 @@ const WalletSelectModal = function ({ visible, onClose }) {
52
52
  select(wallet.adapter.name);
53
53
  onClose();
54
54
  }, [select, onClose]);
55
- function show() {
56
- setRender(true);
57
- setFadeIn(true);
58
- }
59
- function close() {
60
- setFadeIn(false);
61
- // setRender(false)
62
- setTimeout(() => setRender(false), 200);
63
- }
55
+ // The unmount is delayed so the fade-out can play. Clearing the timer on cleanup matters:
56
+ // it runs both before the next effect and on unmount, so reopening within those 200ms
57
+ // cancels the pending `setRender(false)` instead of letting it hide the reopened modal.
64
58
  (0, react_1.useEffect)(function () {
65
59
  if (visible) {
66
- show();
67
- }
68
- else {
69
- close();
60
+ setRender(true);
61
+ setFadeIn(true);
62
+ return;
70
63
  }
64
+ setFadeIn(false);
65
+ const timer = setTimeout(() => setRender(false), 200);
66
+ return () => clearTimeout(timer);
71
67
  }, [visible]);
72
68
  (0, react_1.useEffect)(() => {
73
69
  const closeOnEscapeKey = (e) => (e.key === 'Escape' ? onClose() : null);
@@ -77,7 +73,7 @@ const WalletSelectModal = function ({ visible, onClose }) {
77
73
  };
78
74
  }, [onClose]);
79
75
  return render ? (react_1.default.createElement(ReactPortal_js_1.ReactPortal, { wrapperId: "react-portal-modal-container" },
80
- react_1.default.createElement("div", { "data-testid": "wallet-select-modal", ref: nodeRef, className: `adapter-modal ${fadeIn && 'adapter-modal-fade-in'}` },
76
+ react_1.default.createElement("div", { "data-testid": "wallet-select-modal", ref: nodeRef, className: `adapter-modal${fadeIn ? ' adapter-modal-fade-in' : ''}` },
81
77
  react_1.default.createElement("div", { className: "adapter-modal-wrapper" },
82
78
  react_1.default.createElement("div", { className: "adapter-modal-header" },
83
79
  react_1.default.createElement("button", { onClick: onClose, className: "close-button", tabIndex: 0 }),
@@ -1 +1 @@
1
- {"version":3,"file":"WalletSelectModal.js","sourceRoot":"","sources":["../../../src/Modal/WalletSelectModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletSelectModal.js","sourceRoot":"","sources":["../../../src/Modal/WalletSelectModal.tsx"],"names":[],"mappings":"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"}
@@ -16,22 +16,18 @@ export const WalletSelectModal = function ({ visible, onClose }) {
16
16
  select(wallet.adapter.name);
17
17
  onClose();
18
18
  }, [select, onClose]);
19
- function show() {
20
- setRender(true);
21
- setFadeIn(true);
22
- }
23
- function close() {
24
- setFadeIn(false);
25
- // setRender(false)
26
- setTimeout(() => setRender(false), 200);
27
- }
19
+ // The unmount is delayed so the fade-out can play. Clearing the timer on cleanup matters:
20
+ // it runs both before the next effect and on unmount, so reopening within those 200ms
21
+ // cancels the pending `setRender(false)` instead of letting it hide the reopened modal.
28
22
  useEffect(function () {
29
23
  if (visible) {
30
- show();
31
- }
32
- else {
33
- close();
24
+ setRender(true);
25
+ setFadeIn(true);
26
+ return;
34
27
  }
28
+ setFadeIn(false);
29
+ const timer = setTimeout(() => setRender(false), 200);
30
+ return () => clearTimeout(timer);
35
31
  }, [visible]);
36
32
  useEffect(() => {
37
33
  const closeOnEscapeKey = (e) => (e.key === 'Escape' ? onClose() : null);
@@ -41,7 +37,7 @@ export const WalletSelectModal = function ({ visible, onClose }) {
41
37
  };
42
38
  }, [onClose]);
43
39
  return render ? (React.createElement(ReactPortal, { wrapperId: "react-portal-modal-container" },
44
- React.createElement("div", { "data-testid": "wallet-select-modal", ref: nodeRef, className: `adapter-modal ${fadeIn && 'adapter-modal-fade-in'}` },
40
+ React.createElement("div", { "data-testid": "wallet-select-modal", ref: nodeRef, className: `adapter-modal${fadeIn ? ' adapter-modal-fade-in' : ''}` },
45
41
  React.createElement("div", { className: "adapter-modal-wrapper" },
46
42
  React.createElement("div", { className: "adapter-modal-header" },
47
43
  React.createElement("button", { onClick: onClose, className: "close-button", tabIndex: 0 }),
@@ -1 +1 @@
1
- {"version":3,"file":"WalletSelectModal.js","sourceRoot":"","sources":["../../../src/Modal/WalletSelectModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletSelectModal.js","sourceRoot":"","sources":["../../../src/Modal/WalletSelectModal.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WalletSelectModal.d.ts","sourceRoot":"","sources":["../../../src/Modal/WalletSelectModal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAKnD,KAAK,UAAU,GAAG,iBAAiB,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC,CAAC;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,UAAU,CA+E5C,CAAC"}
1
+ {"version":3,"file":"WalletSelectModal.d.ts","sourceRoot":"","sources":["../../../src/Modal/WalletSelectModal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAKnD,KAAK,UAAU,GAAG,iBAAiB,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC,CAAC;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,UAAU,CA4E5C,CAAC"}
package/package.json CHANGED
@@ -1,73 +1,73 @@
1
1
  {
2
- "name": "@tronweb3/tronwallet-adapter-react-ui",
3
- "version": "1.2.0",
4
- "description": "A set of out-of-the-box components to make it easy to interact with Tron wallets.",
5
- "keywords": [
6
- "TRON",
7
- "TronWeb",
8
- "adapter"
9
- ],
10
- "author": "tronweb3",
11
- "repository": {
12
- "type": "git",
13
- "url": "https://github.com/tronweb3/tronwallet-adapter"
14
- },
15
- "license": "MIT",
16
- "type": "module",
17
- "sideEffects": false,
18
- "engines": {
19
- "node": ">=16",
20
- "pnpm": ">=7"
21
- },
22
- "main": "./lib/cjs/index.js",
23
- "module": "./lib/esm/index.js",
24
- "types": "./lib/types/index.d.ts",
25
- "exports": {
26
- ".": {
27
- "types": "./lib/types/index.d.ts",
28
- "import": "./lib/esm/index.js",
29
- "require": "./lib/cjs/index.js"
2
+ "name": "@tronweb3/tronwallet-adapter-react-ui",
3
+ "version": "1.2.1",
4
+ "description": "A set of out-of-the-box components to make it easy to interact with Tron wallets.",
5
+ "keywords": [
6
+ "TRON",
7
+ "TronWeb",
8
+ "adapter"
9
+ ],
10
+ "author": "tronweb3",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/tronweb3/tronwallet-adapter"
30
14
  },
31
- "./style.css": "./style.css"
32
- },
33
- "files": [
34
- "lib",
35
- "src",
36
- "LICENSE",
37
- "style.css"
38
- ],
39
- "publishConfig": {
40
- "access": "public"
41
- },
42
- "peerDependencies": {
43
- "react": "*",
44
- "react-dom": "*",
45
- "@tronweb3/tronwallet-abstract-adapter": "*",
46
- "@tronweb3/tronwallet-adapter-react-hooks": "*"
47
- },
48
- "devDependencies": {
49
- "@testing-library/jest-dom": "5.17.0",
50
- "@testing-library/react": "16.3.2",
51
- "@testing-library/user-event": "13.5.0",
52
- "@types/react": "18.3.3",
53
- "@types/react-dom": "18.3.0",
54
- "@types/testing-library__jest-dom": "5.14.9",
55
- "@vitejs/plugin-react": "5.2.0",
56
- "@vitest/browser": "3.2.4",
57
- "@vitest/ui": "3.2.4",
58
- "happy-dom": "20.8.9",
59
- "react": "18.3.1",
60
- "react-dom": "18.3.1",
61
- "shx": "0.3.4",
62
- "vitest": "3.2.4",
63
- "@tronweb3/tronwallet-abstract-adapter": "^1.2.0",
64
- "@tronweb3/tronwallet-adapter-tronlink": "^1.2.0",
65
- "@tronweb3/tronwallet-adapter-react-hooks": "^1.1.12"
66
- },
67
- "scripts": {
68
- "clean": "shx mkdir -p lib && shx rm -rf lib",
69
- "package": "shx echo '{ \"type\": \"commonjs\" }' > lib/cjs/package.json",
70
- "test:unit": "vitest run",
71
- "test": "echo 1"
72
- }
73
- }
15
+ "license": "MIT",
16
+ "type": "module",
17
+ "sideEffects": false,
18
+ "engines": {
19
+ "node": ">=16",
20
+ "pnpm": ">=7"
21
+ },
22
+ "main": "./lib/cjs/index.js",
23
+ "module": "./lib/esm/index.js",
24
+ "types": "./lib/types/index.d.ts",
25
+ "exports": {
26
+ ".": {
27
+ "types": "./lib/types/index.d.ts",
28
+ "import": "./lib/esm/index.js",
29
+ "require": "./lib/cjs/index.js"
30
+ },
31
+ "./style.css": "./style.css"
32
+ },
33
+ "files": [
34
+ "lib",
35
+ "src",
36
+ "LICENSE",
37
+ "style.css"
38
+ ],
39
+ "publishConfig": {
40
+ "access": "public"
41
+ },
42
+ "scripts": {
43
+ "clean": "shx mkdir -p lib && shx rm -rf lib",
44
+ "package": "shx echo '{ \"type\": \"commonjs\" }' > lib/cjs/package.json",
45
+ "test:unit": "vitest run",
46
+ "test": "echo 1"
47
+ },
48
+ "peerDependencies": {
49
+ "react": "*",
50
+ "react-dom": "*",
51
+ "@tronweb3/tronwallet-abstract-adapter": "*",
52
+ "@tronweb3/tronwallet-adapter-react-hooks": "*"
53
+ },
54
+ "devDependencies": {
55
+ "@tronweb3/tronwallet-abstract-adapter": "^1.2.0",
56
+ "@tronweb3/tronwallet-adapter-react-hooks": "^1.1.13",
57
+ "@testing-library/jest-dom": "5.17.0",
58
+ "@testing-library/react": "16.3.2",
59
+ "@testing-library/user-event": "13.5.0",
60
+ "@tronweb3/tronwallet-adapter-tronlink": "^1.2.0",
61
+ "@types/react": "18.3.3",
62
+ "@types/react-dom": "18.3.0",
63
+ "@types/testing-library__jest-dom": "5.14.9",
64
+ "@vitejs/plugin-react": "5.2.0",
65
+ "@vitest/browser": "3.2.4",
66
+ "@vitest/ui": "3.2.4",
67
+ "happy-dom": "20.8.9",
68
+ "react": "18.3.1",
69
+ "react-dom": "18.3.1",
70
+ "shx": "0.3.4",
71
+ "vitest": "3.2.4"
72
+ }
73
+ }
@@ -31,23 +31,20 @@ export const WalletSelectModal: FC<ModalProps> = function ({ visible, onClose })
31
31
  },
32
32
  [select, onClose]
33
33
  );
34
- function show() {
35
- setRender(true);
36
- setFadeIn(true);
37
- }
38
- function close() {
39
- setFadeIn(false);
40
- // setRender(false)
41
- setTimeout(() => setRender(false), 200);
42
- }
43
-
34
+ // The unmount is delayed so the fade-out can play. Clearing the timer on cleanup matters:
35
+ // it runs both before the next effect and on unmount, so reopening within those 200ms
36
+ // cancels the pending `setRender(false)` instead of letting it hide the reopened modal.
44
37
  useEffect(
45
38
  function () {
46
39
  if (visible) {
47
- show();
48
- } else {
49
- close();
40
+ setRender(true);
41
+ setFadeIn(true);
42
+ return;
50
43
  }
44
+
45
+ setFadeIn(false);
46
+ const timer = setTimeout(() => setRender(false), 200);
47
+ return () => clearTimeout(timer);
51
48
  },
52
49
  [visible]
53
50
  );
@@ -64,7 +61,7 @@ export const WalletSelectModal: FC<ModalProps> = function ({ visible, onClose })
64
61
  <div
65
62
  data-testid="wallet-select-modal"
66
63
  ref={nodeRef}
67
- className={`adapter-modal ${fadeIn && 'adapter-modal-fade-in'}`}
64
+ className={`adapter-modal${fadeIn ? ' adapter-modal-fade-in' : ''}`}
68
65
  >
69
66
  <div className="adapter-modal-wrapper">
70
67
  <div className="adapter-modal-header">
package/style.css CHANGED
@@ -63,11 +63,16 @@
63
63
  padding: 40px 20px 20px;
64
64
  opacity: 0;
65
65
  pointer-events: none;
66
+ /* `pointer-events` only blocks the mouse: without this the closed modal stays in the tab
67
+ order and the accessibility tree. `visibility` transitions discretely, so the fade-out
68
+ still plays before it hides, and it turns visible immediately on the way in. */
69
+ visibility: hidden;
66
70
  }
67
71
 
68
72
  .adapter-modal-fade-in {
69
73
  opacity: 1;
70
74
  pointer-events: auto;
75
+ visibility: visible;
71
76
  transform: scale(1);
72
77
  }
73
78