@relayprotocol/relay-kit-ui 5.0.0 → 5.0.2

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.
Files changed (50) hide show
  1. package/_cjs/src/components/common/TokenSelector/ChainFilter.js +156 -18
  2. package/_cjs/src/components/common/TokenSelector/ChainFilter.js.map +1 -1
  3. package/_cjs/src/components/common/TokenSelector/ChainFilterSidebar.js +128 -26
  4. package/_cjs/src/components/common/TokenSelector/ChainFilterSidebar.js.map +1 -1
  5. package/_cjs/src/components/common/TokenSelector/TokenSelector.js +14 -4
  6. package/_cjs/src/components/common/TokenSelector/TokenSelector.js.map +1 -1
  7. package/_cjs/src/constants/events.js +2 -0
  8. package/_cjs/src/constants/events.js.map +1 -1
  9. package/_cjs/src/styles.css +18 -10
  10. package/_cjs/src/utils/localStorage.js +36 -1
  11. package/_cjs/src/utils/localStorage.js.map +1 -1
  12. package/_cjs/src/utils/steps.js +3 -3
  13. package/_cjs/src/utils/steps.js.map +1 -1
  14. package/_cjs/src/utils/tokenSelector.js +31 -21
  15. package/_cjs/src/utils/tokenSelector.js.map +1 -1
  16. package/_cjs/src/version.js +1 -1
  17. package/_cjs/tsconfig.build.tsbuildinfo +1 -1
  18. package/_esm/src/components/common/TokenSelector/ChainFilter.js +163 -20
  19. package/_esm/src/components/common/TokenSelector/ChainFilter.js.map +1 -1
  20. package/_esm/src/components/common/TokenSelector/ChainFilterSidebar.js +134 -28
  21. package/_esm/src/components/common/TokenSelector/ChainFilterSidebar.js.map +1 -1
  22. package/_esm/src/components/common/TokenSelector/TokenSelector.js +15 -4
  23. package/_esm/src/components/common/TokenSelector/TokenSelector.js.map +1 -1
  24. package/_esm/src/constants/events.js +2 -0
  25. package/_esm/src/constants/events.js.map +1 -1
  26. package/_esm/src/styles.css +18 -10
  27. package/_esm/src/utils/localStorage.js +52 -1
  28. package/_esm/src/utils/localStorage.js.map +1 -1
  29. package/_esm/src/utils/steps.js +3 -3
  30. package/_esm/src/utils/steps.js.map +1 -1
  31. package/_esm/src/utils/tokenSelector.js +39 -23
  32. package/_esm/src/utils/tokenSelector.js.map +1 -1
  33. package/_esm/src/version.js +1 -1
  34. package/_esm/tsconfig.build.tsbuildinfo +1 -1
  35. package/_types/src/components/common/TokenSelector/ChainFilter.d.ts +3 -0
  36. package/_types/src/components/common/TokenSelector/ChainFilter.d.ts.map +1 -1
  37. package/_types/src/components/common/TokenSelector/ChainFilterSidebar.d.ts +2 -0
  38. package/_types/src/components/common/TokenSelector/ChainFilterSidebar.d.ts.map +1 -1
  39. package/_types/src/components/common/TokenSelector/TokenSelector.d.ts.map +1 -1
  40. package/_types/src/constants/events.d.ts +2 -0
  41. package/_types/src/constants/events.d.ts.map +1 -1
  42. package/_types/src/utils/localStorage.d.ts +27 -0
  43. package/_types/src/utils/localStorage.d.ts.map +1 -1
  44. package/_types/src/utils/tokenSelector.d.ts +2 -2
  45. package/_types/src/utils/tokenSelector.d.ts.map +1 -1
  46. package/_types/src/version.d.ts +1 -1
  47. package/_types/tsconfig.build.tsbuildinfo +1 -1
  48. package/dist/panda.buildinfo.json +5 -3
  49. package/dist/styles.css +18 -10
  50. package/package.json +2 -2
@@ -1,25 +1,28 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useMemo } from 'react';
2
+ import { useState, useMemo, useEffect, useRef, useCallback } from 'react';
3
3
  import { Dropdown, DropdownMenuItem } from '../../primitives/Dropdown.js';
4
4
  import { Button, Flex, Text, Input, Box } from '../../primitives/index.js';
5
5
  import ChainIcon from '../../primitives/ChainIcon.js';
6
6
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
7
- import { faChevronDown, faMagnifyingGlass } from '@fortawesome/free-solid-svg-icons';
7
+ import { faChevronDown, faInfoCircle, faMagnifyingGlass, faStar } from '@fortawesome/free-solid-svg-icons';
8
8
  import AllChainsLogo from '../../../img/AllChainsLogo.js';
9
9
  import { TagPill } from './TagPill.js';
10
10
  import Fuse from 'fuse.js';
11
11
  import { groupChains } from '../../../utils/tokenSelector.js';
12
+ import { isChainStarred, toggleStarredChain } from '../../../utils/localStorage.js';
13
+ import Tooltip from '../../../components/primitives/Tooltip.js';
14
+ import { EventNames } from '../../../constants/events.js';
12
15
  const fuseSearchOptions = {
13
16
  includeScore: true,
14
17
  includeMatches: true,
15
18
  threshold: 0.2,
16
19
  keys: ['id', 'name', 'displayName']
17
20
  };
18
- const ChainFilter = ({ options, value, onSelect, popularChainIds }) => {
21
+ const ChainFilter = ({ options, value, onSelect, popularChainIds, onChainStarToggle, starredChainIds, onAnalyticEvent }) => {
19
22
  const [open, setOpen] = useState(false);
20
23
  const [chainSearchInput, setChainSearchInput] = useState('');
21
24
  const chainFuse = new Fuse(options, fuseSearchOptions);
22
- const { allChainsOption, popularChains, alphabeticalChains } = useMemo(() => groupChains(options, popularChainIds), [options, popularChainIds]);
25
+ const { allChainsOption, starredChains, alphabeticalChains } = useMemo(() => groupChains(options, popularChainIds, starredChainIds), [options, popularChainIds, starredChainIds, open]);
23
26
  const filteredChains = useMemo(() => {
24
27
  if (chainSearchInput.trim() === '') {
25
28
  return null;
@@ -76,41 +79,181 @@ const ChainFilter = ({ options, value, onSelect, popularChainIds }) => {
76
79
  backgroundColor: 'modal-background'
77
80
  }, value: chainSearchInput, onChange: (e) => setChainSearchInput(e.target.value), onKeyDown: (e) => e.stopPropagation() }), _jsx(Flex, { direction: "column", css: { overflowY: 'scroll', borderRadius: 8, maxHeight: 290 }, children: filteredChains ? (filteredChains.length > 0 ? (filteredChains.map((chain, idx) => {
78
81
  const tag = 'tags' in chain ? chain.tags?.[0] : undefined;
79
- return (_jsx(DropdownMenuItem, { onClick: () => {
82
+ return (_jsx(Flex, { onClick: () => {
80
83
  setOpen(false);
81
84
  onSelect(chain);
82
85
  setChainSearchInput('');
83
86
  }, css: {
84
- p: '2'
85
- }, children: _jsx(ChainFilterRow, { chain: chain, tag: tag }) }, chain.id?.toString() ?? 'all-chains'));
87
+ padding: '8px',
88
+ borderRadius: 4,
89
+ cursor: 'pointer',
90
+ backgroundColor: 'modal-background',
91
+ _hover: {
92
+ backgroundColor: 'gray3'
93
+ }
94
+ }, children: _jsx(ChainFilterRow, { chain: chain, tag: tag, onToggleStar: onChainStarToggle, onAnalyticEvent: onAnalyticEvent }) }, chain.id?.toString() ?? 'all-chains'));
86
95
  })) : (_jsx(Text, { style: "body1", css: { p: '2', textAlign: 'center' }, children: "No results." }))) : (_jsxs(_Fragment, { children: [allChainsOption && (_jsx(_Fragment, { children: _jsx(DropdownMenuItem, { onClick: () => {
87
96
  setOpen(false);
88
97
  onSelect(allChainsOption);
89
98
  setChainSearchInput('');
90
- }, css: { p: '2' }, children: _jsx(ChainFilterRow, { chain: allChainsOption }) }) })), popularChains.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { style: "subtitle2", color: "subtle", css: { px: '2', py: '1' }, children: "Popular Chains" }), popularChains.map((chain) => {
99
+ }, css: { p: '2' }, children: _jsx(ChainFilterRow, { chain: allChainsOption, onAnalyticEvent: onAnalyticEvent }) }) })), starredChains.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Flex, { align: "center", css: { px: '2', py: '1', gap: '1' }, children: [_jsx(Box, { css: { color: 'primary9' }, children: _jsx(FontAwesomeIcon, { icon: faStar, width: 12, height: 12 }) }), _jsx(Text, { style: "subtitle2", color: "subtle", children: "Starred Chains" }), _jsx(Tooltip, { content: _jsx(Text, { style: "body3", children: "Long-press to star a chain" }), children: _jsx(Box, { css: { color: 'gray9' }, children: _jsx(FontAwesomeIcon, { icon: faInfoCircle, width: 12, height: 12 }) }) })] }), starredChains.map((chain) => {
91
100
  const tag = 'tags' in chain ? chain.tags?.[0] : undefined;
92
- return (_jsx(DropdownMenuItem, { onClick: () => {
101
+ return (_jsx(Flex, { onClick: () => {
93
102
  setOpen(false);
94
103
  onSelect(chain);
95
104
  setChainSearchInput('');
96
- }, css: { p: '2' }, children: _jsx(ChainFilterRow, { chain: chain, tag: tag }) }, chain.id?.toString() ?? 'all-chains'));
105
+ }, css: {
106
+ padding: '8px',
107
+ borderRadius: 4,
108
+ cursor: 'pointer',
109
+ backgroundColor: 'modal-background',
110
+ _hover: {
111
+ backgroundColor: 'gray3'
112
+ }
113
+ }, children: _jsx(ChainFilterRow, { chain: chain, tag: tag, onToggleStar: onChainStarToggle, showStar: false, onAnalyticEvent: onAnalyticEvent }) }, chain.id?.toString() ?? 'all-chains'));
97
114
  })] })), _jsx(Text, { style: "subtitle2", color: "subtle", css: { px: '2', py: '1' }, children: "Chains A-Z" }), alphabeticalChains.map((chain) => {
98
115
  const tag = 'tags' in chain ? chain.tags?.[0] : undefined;
99
- return (_jsx(DropdownMenuItem, { onClick: () => {
116
+ return (_jsx(Flex, { onClick: () => {
100
117
  setOpen(false);
101
118
  onSelect(chain);
102
119
  setChainSearchInput('');
103
- }, css: { p: '2' }, children: _jsx(ChainFilterRow, { chain: chain, tag: tag }) }, chain.id?.toString() ?? 'all-chains'));
120
+ }, css: {
121
+ padding: '8px',
122
+ borderRadius: 4,
123
+ cursor: 'pointer',
124
+ backgroundColor: 'modal-background',
125
+ _hover: {
126
+ backgroundColor: 'gray3'
127
+ }
128
+ }, children: _jsx(ChainFilterRow, { chain: chain, tag: tag, onToggleStar: onChainStarToggle, onAnalyticEvent: onAnalyticEvent }) }, chain.id?.toString() ?? 'all-chains'));
104
129
  })] })) })] }) }));
105
130
  };
106
- const ChainFilterRow = ({ chain, tag }) => {
107
- return (_jsxs(Flex, { align: "center", css: {
108
- gap: '2',
109
- cursor: 'pointer',
110
- flexShrink: 0,
111
- alignContent: 'center',
112
- width: '100%'
113
- }, children: [chain.id ? (_jsx(ChainIcon, { chainId: chain.id, square: true, width: 24, height: 24 })) : (_jsx(AllChainsLogo, { style: { width: 24, height: 24 } })), _jsx(Text, { style: "subtitle2", children: ('displayName' in chain && chain.displayName) || chain.name }), tag && _jsx(TagPill, { tag: tag })] }));
131
+ const ChainFilterRow = ({ chain, tag, onToggleStar, showStar = true, onAnalyticEvent }) => {
132
+ const [dropdownOpen, setDropdownOpen] = useState(false);
133
+ const [longPressTimer, setLongPressTimer] = useState(null);
134
+ const dropdownRef = useRef(null);
135
+ const isStarred = chain.id ? isChainStarred(chain.id) : false;
136
+ // Click outside handler for star dropdown
137
+ const handleClickOutside = useCallback((event) => {
138
+ if (dropdownRef.current &&
139
+ !dropdownRef.current.contains(event.target)) {
140
+ setDropdownOpen(false);
141
+ }
142
+ }, []);
143
+ // Escape key handler for star dropdown
144
+ const handleEscapeKey = useCallback((event) => {
145
+ if (event.key === 'Escape') {
146
+ setDropdownOpen(false);
147
+ }
148
+ }, []);
149
+ useEffect(() => {
150
+ if (dropdownOpen) {
151
+ document.addEventListener('mousedown', handleClickOutside, true);
152
+ document.addEventListener('touchstart', handleClickOutside, true);
153
+ document.addEventListener('click', handleClickOutside, true);
154
+ document.addEventListener('keydown', handleEscapeKey);
155
+ return () => {
156
+ document.removeEventListener('mousedown', handleClickOutside, true);
157
+ document.removeEventListener('touchstart', handleClickOutside, true);
158
+ document.removeEventListener('click', handleClickOutside, true);
159
+ document.removeEventListener('keydown', handleEscapeKey);
160
+ };
161
+ }
162
+ }, [dropdownOpen, handleClickOutside, handleEscapeKey]);
163
+ const handleToggleStar = () => {
164
+ if (chain.id) {
165
+ const previouslyStarred = isStarred;
166
+ toggleStarredChain(chain.id);
167
+ const eventName = previouslyStarred
168
+ ? EventNames.CHAIN_UNSTARRED
169
+ : EventNames.CHAIN_STARRED;
170
+ onAnalyticEvent?.(eventName, {
171
+ chain: chain.name,
172
+ chain_id: chain.id
173
+ });
174
+ onToggleStar?.();
175
+ setDropdownOpen(false);
176
+ }
177
+ };
178
+ // Long press handlers for mobile
179
+ const handleTouchStart = (e) => {
180
+ if (!chain.id)
181
+ return;
182
+ e.preventDefault();
183
+ const timer = setTimeout(() => {
184
+ // Provide haptic feedback on long press
185
+ if ('vibrate' in navigator) {
186
+ navigator.vibrate(50); // Short 50ms vibration
187
+ }
188
+ setDropdownOpen(true);
189
+ }, 500); // 500ms long press
190
+ setLongPressTimer(timer);
191
+ };
192
+ const handleTouchEnd = () => {
193
+ if (longPressTimer) {
194
+ clearTimeout(longPressTimer);
195
+ setLongPressTimer(null);
196
+ }
197
+ };
198
+ const handleTouchMove = () => {
199
+ if (longPressTimer) {
200
+ clearTimeout(longPressTimer);
201
+ setLongPressTimer(null);
202
+ }
203
+ };
204
+ // Don't show context menu for "All Chains" option
205
+ if (!chain.id) {
206
+ return (_jsxs(Flex, { align: "center", css: {
207
+ gap: '2',
208
+ cursor: 'pointer',
209
+ flexShrink: 0,
210
+ alignContent: 'center',
211
+ width: '100%'
212
+ }, children: [_jsx(AllChainsLogo, { style: { width: 24, height: 24 } }), _jsx(Text, { style: "subtitle2", children: chain.name })] }));
213
+ }
214
+ return (_jsxs("div", { style: { position: 'relative', width: '100%' }, children: [_jsxs(Flex, { align: "center", onContextMenu: (e) => {
215
+ e.preventDefault();
216
+ setDropdownOpen(true);
217
+ }, onKeyDown: (e) => {
218
+ if ((e.shiftKey && e.key === 'F10') || e.key === 'ContextMenu') {
219
+ e.preventDefault();
220
+ setDropdownOpen(true);
221
+ }
222
+ }, onTouchStart: handleTouchStart, onTouchEnd: handleTouchEnd, onTouchMove: handleTouchMove, css: {
223
+ gap: '2',
224
+ cursor: 'pointer',
225
+ flexShrink: 0,
226
+ alignContent: 'center',
227
+ width: '100%',
228
+ position: 'relative',
229
+ userSelect: 'none'
230
+ }, style: {
231
+ WebkitUserSelect: 'none'
232
+ }, children: [_jsx(ChainIcon, { chainId: chain.id, square: true, width: 24, height: 24 }), _jsx(Text, { style: "subtitle2", children: ('displayName' in chain && chain.displayName) || chain.name }), showStar && isStarred && (_jsx(Box, { css: { color: 'primary9' }, children: _jsx(FontAwesomeIcon, { icon: faStar, width: 12, height: 12 }) })), tag && _jsx(TagPill, { tag: tag })] }), dropdownOpen && (_jsx("div", { ref: dropdownRef, style: {
233
+ position: 'absolute',
234
+ top: '100%',
235
+ left: 0,
236
+ marginTop: '4px',
237
+ minWidth: 160,
238
+ zIndex: 999999
239
+ }, onClick: (e) => {
240
+ e.stopPropagation();
241
+ handleToggleStar();
242
+ }, onMouseDown: (e) => e.stopPropagation(), onTouchStart: (e) => e.stopPropagation(), children: _jsxs(Flex, { css: {
243
+ alignItems: 'center',
244
+ gap: '8px',
245
+ padding: '8px',
246
+ borderRadius: 12,
247
+ cursor: 'pointer',
248
+ backgroundColor: 'gray1',
249
+ '--borderColor': 'colors.subtle-border-color',
250
+ border: '1px solid var(--borderColor)',
251
+ _hover: {
252
+ backgroundColor: 'gray2'
253
+ }
254
+ }, children: [_jsx(Box, { css: {
255
+ color: isStarred ? 'gray8' : 'primary9'
256
+ }, children: _jsx(FontAwesomeIcon, { icon: faStar, width: 16, height: 16 }) }), _jsx(Text, { style: "subtitle1", css: { lineHeight: '20px' }, children: isStarred ? 'Unstar chain' : 'Star chain' })] }) }))] }));
114
257
  };
115
258
  export default ChainFilter;
116
259
  //# sourceMappingURL=ChainFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainFilter.js","sourceRoot":"","sources":["../../../../../src/components/common/TokenSelector/ChainFilter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChainFilter.js","sourceRoot":"","sources":["../../../../../src/components/common/TokenSelector/ChainFilter.tsx"],"names":[],"mappings":"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"}
@@ -1,25 +1,27 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useRef, useState, useMemo, useEffect } from 'react';
2
+ import { useRef, useState, useMemo, useEffect, useCallback } from 'react';
3
3
  import { Flex, Box, Input, ChainIcon, Text, Button, AccessibleList, AccessibleListItem } from '../../primitives/index.js';
4
4
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
5
- import { faMagnifyingGlass } from '@fortawesome/free-solid-svg-icons';
5
+ import { faInfoCircle, faMagnifyingGlass, faStar } from '@fortawesome/free-solid-svg-icons';
6
6
  import Fuse from 'fuse.js';
7
7
  import { EventNames } from '../../../constants/events.js';
8
8
  import AllChainsLogo from '../../../img/AllChainsLogo.js';
9
9
  import { TagPill } from './TagPill.js';
10
10
  import { groupChains } from '../../../utils/tokenSelector.js';
11
+ import { isChainStarred, toggleStarredChain } from '../../../utils/localStorage.js';
12
+ import Tooltip from '../../../components/primitives/Tooltip.js';
11
13
  const fuseSearchOptions = {
12
14
  includeScore: true,
13
15
  includeMatches: true,
14
16
  threshold: 0.2,
15
17
  keys: ['id', 'name', 'displayName']
16
18
  };
17
- export const ChainFilterSidebar = ({ options, value, isOpen, onSelect, onAnalyticEvent, onInputRef, tokenSearchInputRef, popularChainIds, context }) => {
19
+ export const ChainFilterSidebar = ({ options, value, isOpen, onSelect, onAnalyticEvent, onInputRef, tokenSearchInputRef, popularChainIds, context, onChainStarToggle, starredChainIds }) => {
18
20
  const [chainSearchInput, setChainSearchInput] = useState('');
19
21
  const chainFuse = new Fuse(options, fuseSearchOptions);
20
22
  const activeChainRef = useRef(null);
21
23
  const [hasScrolledOnOpen, setHasScrolledOnOpen] = useState(false);
22
- const { allChainsOption, popularChains, alphabeticalChains } = useMemo(() => groupChains(options, popularChainIds), [options, popularChainIds]);
24
+ const { allChainsOption, starredChains, alphabeticalChains } = useMemo(() => groupChains(options, popularChainIds, starredChainIds), [options, popularChainIds, starredChainIds, isOpen]);
23
25
  const filteredChains = useMemo(() => {
24
26
  if (chainSearchInput.trim() === '') {
25
27
  return null; // Return null to show organized sections
@@ -63,11 +65,14 @@ export const ChainFilterSidebar = ({ options, value, isOpen, onSelect, onAnalyti
63
65
  : options.find((chain) => chain.id?.toString() === selectedValue);
64
66
  if (chain) {
65
67
  onSelect(chain);
68
+ const fromStarredList = chain.id !== undefined &&
69
+ starredChains.some((c) => c.id === chain.id);
66
70
  onAnalyticEvent?.(EventNames.CURRENCY_STEP_CHAIN_FILTER, {
67
71
  chain: chain.name,
68
72
  chain_id: chain.id,
69
73
  search_term: chainSearchInput,
70
- context
74
+ context,
75
+ from_starred_list: fromStarredList
71
76
  });
72
77
  }
73
78
  }
@@ -102,21 +107,21 @@ export const ChainFilterSidebar = ({ options, value, isOpen, onSelect, onAnalyti
102
107
  if (e.detail > 0) {
103
108
  tokenSearchInputRef?.focus();
104
109
  }
105
- }, value: chain.id?.toString() ?? 'all-chains' }, chain.id?.toString() ?? 'all-chains'));
110
+ }, onChainStarToggle: onChainStarToggle, value: chain.id?.toString() ?? 'all-chains', onAnalyticEvent: onAnalyticEvent }, chain.id?.toString() ?? 'all-chains'));
106
111
  })) : (
107
112
  // Show organized sections
108
113
  _jsxs(_Fragment, { children: [allChainsOption && (_jsx(_Fragment, { children: _jsx(ChainFilterRow, { chain: allChainsOption, isActive: value.id === undefined, onClick: (e) => {
109
114
  if (e.detail > 0) {
110
115
  tokenSearchInputRef?.focus();
111
116
  }
112
- }, value: "all-chains" }, "all-chains") })), popularChains.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { style: "subtitle2", color: "subtle", css: { px: '2', py: '1' }, children: "Popular Chains" }), popularChains.map((chain) => {
117
+ }, onChainStarToggle: onChainStarToggle, value: "all-chains", onAnalyticEvent: onAnalyticEvent }, "all-chains") })), starredChains.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Flex, { align: "center", css: { px: '2', py: '1', gap: '1' }, children: [_jsx(Box, { css: { color: 'primary9' }, children: _jsx(FontAwesomeIcon, { icon: faStar, width: 12, height: 12 }) }), _jsx(Text, { style: "subtitle2", color: "subtle", children: "Starred Chains" }), _jsx(Tooltip, { content: _jsx(Text, { style: "body3", children: "Right-click to star a chain" }), children: _jsx(Box, { css: { color: 'gray9' }, children: _jsx(FontAwesomeIcon, { icon: faInfoCircle, width: 12, height: 12 }) }) })] }), starredChains.map((chain) => {
113
118
  const tag = 'tags' in chain ? chain.tags?.[0] : undefined;
114
119
  const active = value.id === chain.id;
115
120
  return chain.id ? (_jsx(ChainFilterRow, { chain: chain, isActive: active, tag: tag, onClick: (e) => {
116
121
  if (e.detail > 0) {
117
122
  tokenSearchInputRef?.focus();
118
123
  }
119
- }, activeChainRef: active ? activeChainRef : undefined, value: chain.id?.toString() }, chain.id?.toString())) : null;
124
+ }, onChainStarToggle: onChainStarToggle, activeChainRef: active ? activeChainRef : undefined, value: chain.id?.toString(), showStar: false, onAnalyticEvent: onAnalyticEvent }, chain.id?.toString())) : null;
120
125
  })] })), _jsx(Text, { style: "subtitle2", color: "subtle", css: { px: '2', py: '1' }, children: "Chains A-Z" }), alphabeticalChains.map((chain) => {
121
126
  const tag = 'tags' in chain ? chain.tags?.[0] : undefined;
122
127
  const active = value.id === chain.id;
@@ -124,27 +129,128 @@ export const ChainFilterSidebar = ({ options, value, isOpen, onSelect, onAnalyti
124
129
  if (e.detail > 0) {
125
130
  tokenSearchInputRef?.focus();
126
131
  }
127
- }, activeChainRef: active ? activeChainRef : undefined, value: chain.id?.toString() }, chain.id?.toString())) : null;
132
+ }, onChainStarToggle: onChainStarToggle, activeChainRef: active ? activeChainRef : undefined, value: chain.id?.toString(), onAnalyticEvent: onAnalyticEvent }, chain.id?.toString())) : null;
128
133
  })] })) })] }) }));
129
134
  };
130
- const ChainFilterRow = ({ chain, isActive, onClick, tag, value, activeChainRef }) => {
131
- return (_jsx(AccessibleListItem, { value: value, asChild: true, children: _jsxs(Button, { color: "ghost", size: "none", onClick: onClick, ref: isActive ? activeChainRef : null, css: {
132
- p: '2',
133
- display: 'flex',
134
- alignItems: 'center',
135
- gap: '2',
136
- position: 'relative',
137
- ...(isActive && {
138
- backgroundColor: 'gray6'
139
- }),
140
- transition: 'backdrop-filter 250ms linear',
141
- _hover: {
142
- backgroundColor: isActive ? 'gray6' : 'gray/10'
143
- },
144
- '--focusColor': 'colors.focus-color',
145
- _focus: {
146
- boxShadow: 'inset 0 0 0 2px var(--focusColor)'
147
- }
148
- }, children: [chain.id ? (_jsx(ChainIcon, { chainId: chain.id, square: true, width: 24, height: 24 })) : (_jsx(AllChainsLogo, { style: { width: 24, height: 24 } })), _jsx(Text, { style: "subtitle1", ellipsify: true, children: ('displayName' in chain && chain.displayName) || chain.name }), tag && _jsx(TagPill, { tag: tag })] }) }));
135
+ const ChainFilterRow = ({ chain, isActive, onClick, tag, value, activeChainRef, onChainStarToggle, showStar = true, onAnalyticEvent }) => {
136
+ const [dropdownOpen, setDropdownOpen] = useState(false);
137
+ const dropdownRef = useRef(null);
138
+ const isStarred = chain.id ? isChainStarred(chain.id) : false;
139
+ // Click outside handler
140
+ const handleClickOutside = useCallback((event) => {
141
+ if (dropdownRef.current &&
142
+ !dropdownRef.current.contains(event.target)) {
143
+ setDropdownOpen(false);
144
+ }
145
+ }, []);
146
+ // Escape key handler
147
+ const handleEscapeKey = useCallback((event) => {
148
+ if (event.key === 'Escape') {
149
+ setDropdownOpen(false);
150
+ }
151
+ }, []);
152
+ useEffect(() => {
153
+ if (dropdownOpen) {
154
+ document.addEventListener('mousedown', handleClickOutside);
155
+ document.addEventListener('touchstart', handleClickOutside);
156
+ document.addEventListener('keydown', handleEscapeKey);
157
+ return () => {
158
+ document.removeEventListener('mousedown', handleClickOutside);
159
+ document.removeEventListener('touchstart', handleClickOutside);
160
+ document.removeEventListener('keydown', handleEscapeKey);
161
+ };
162
+ }
163
+ }, [dropdownOpen, handleClickOutside, handleEscapeKey]);
164
+ const handleToggleStar = () => {
165
+ if (chain.id) {
166
+ const previouslyStarred = isStarred;
167
+ toggleStarredChain(chain.id);
168
+ const eventName = previouslyStarred
169
+ ? EventNames.CHAIN_UNSTARRED
170
+ : EventNames.CHAIN_STARRED;
171
+ onAnalyticEvent?.(eventName, {
172
+ chain: chain.name,
173
+ chain_id: chain.id
174
+ });
175
+ onChainStarToggle?.();
176
+ setDropdownOpen(false);
177
+ }
178
+ };
179
+ // Don't show context menu for "All Chains" option
180
+ if (!chain.id) {
181
+ return (_jsx(AccessibleListItem, { value: value, asChild: true, children: _jsxs(Button, { color: "ghost", size: "none", onClick: onClick, ref: isActive ? activeChainRef : null, css: {
182
+ p: '2',
183
+ display: 'flex',
184
+ alignItems: 'center',
185
+ gap: '2',
186
+ position: 'relative',
187
+ ...(isActive && {
188
+ backgroundColor: 'gray6'
189
+ }),
190
+ transition: 'backdrop-filter 250ms linear',
191
+ _hover: {
192
+ backgroundColor: isActive ? 'gray6' : 'gray/10'
193
+ },
194
+ '--focusColor': 'colors.focus-color',
195
+ _focus: {
196
+ boxShadow: 'inset 0 0 0 2px var(--focusColor)'
197
+ }
198
+ }, children: [_jsx(AllChainsLogo, { style: { width: 24, height: 24 } }), _jsx(Text, { style: "subtitle1", ellipsify: true, children: chain.name })] }) }));
199
+ }
200
+ return (_jsxs(Flex, { css: { position: 'relative', width: '100%' }, children: [_jsx(AccessibleListItem, { value: value, asChild: true, children: _jsxs(Button, { color: "ghost", size: "none", onClick: onClick, ref: isActive ? activeChainRef : null, onContextMenu: (e) => {
201
+ e.preventDefault();
202
+ setDropdownOpen(true);
203
+ }, onKeyDown: (e) => {
204
+ if ((e.shiftKey && e.key === 'F10') || e.key === 'ContextMenu') {
205
+ e.preventDefault();
206
+ setDropdownOpen(true);
207
+ }
208
+ else if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
209
+ // Close dropdown when navigating away
210
+ if (dropdownOpen) {
211
+ setDropdownOpen(false);
212
+ }
213
+ }
214
+ }, css: {
215
+ p: '2',
216
+ display: 'flex',
217
+ alignItems: 'center',
218
+ gap: '2',
219
+ width: '100%',
220
+ ...(isActive && {
221
+ backgroundColor: 'gray6'
222
+ }),
223
+ transition: 'backdrop-filter 250ms linear',
224
+ _hover: {
225
+ backgroundColor: isActive ? 'gray6' : 'gray/10'
226
+ },
227
+ '--focusColor': 'colors.focus-color',
228
+ _focus: {
229
+ boxShadow: 'inset 0 0 0 2px var(--focusColor)'
230
+ }
231
+ }, children: [_jsx(ChainIcon, { chainId: chain.id, square: true, width: 24, height: 24 }), _jsx(Text, { style: "subtitle1", ellipsify: true, children: ('displayName' in chain && chain.displayName) || chain.name }), showStar && isStarred && (_jsx(Box, { css: { color: 'primary9' }, children: _jsx(FontAwesomeIcon, { icon: faStar, width: 16, height: 16 }) })), tag && _jsx(TagPill, { tag: tag })] }) }), dropdownOpen && (_jsx("div", { ref: dropdownRef, style: {
232
+ position: 'absolute',
233
+ top: '100%',
234
+ left: 0,
235
+ marginTop: '4px',
236
+ minWidth: 140,
237
+ zIndex: 9999
238
+ }, onClick: (e) => {
239
+ e.stopPropagation();
240
+ handleToggleStar();
241
+ }, onMouseDown: (e) => e.stopPropagation(), onTouchStart: (e) => e.stopPropagation(), children: _jsxs(Flex, { css: {
242
+ display: 'flex',
243
+ alignItems: 'center',
244
+ gap: '6px',
245
+ padding: '3',
246
+ borderRadius: 12,
247
+ cursor: 'pointer',
248
+ backgroundColor: 'modal-background',
249
+ _hover: {
250
+ backgroundColor: 'gray2'
251
+ }
252
+ }, children: [_jsx(Box, { css: {
253
+ color: isStarred ? 'gray8' : 'primary9'
254
+ }, children: _jsx(FontAwesomeIcon, { icon: faStar, width: 16, height: 16 }) }), _jsx(Text, { style: "subtitle1", css: { lineHeight: '20px' }, children: isStarred ? 'Unstar chain' : 'Star chain' })] }) }))] }));
149
255
  };
150
256
  //# sourceMappingURL=ChainFilterSidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainFilterSidebar.js","sourceRoot":"","sources":["../../../../../src/components/common/TokenSelector/ChainFilterSidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChainFilterSidebar.js","sourceRoot":"","sources":["../../../../../src/components/common/TokenSelector/ChainFilterSidebar.tsx"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ import { bitcoinDeadAddress, evmDeadAddress, solDeadAddress } from '@relayprotoc
28
28
  import { getInitialChainFilter, sortChains } from '../../../utils/tokenSelector.js';
29
29
  import { useInternalRelayChains } from '../../../hooks/index.js';
30
30
  import { useTrendingCurrencies } from '@relayprotocol/relay-kit-hooks';
31
+ import { getStarredChainIds } from '../../../utils/localStorage.js';
31
32
  const TokenSelector = ({ token, trigger, chainIdsFilter, lockedChainIds, context, address, isValidAddress, multiWalletSupportEnabled = false, fromChainWalletVMSupported, supportedWalletVMs, popularChainIds, setToken, onAnalyticEvent }) => {
32
33
  const relayClient = useRelayClient();
33
34
  const { chains: allRelayChains } = useInternalRelayChains();
@@ -39,6 +40,7 @@ const TokenSelector = ({ token, trigger, chainIdsFilter, lockedChainIds, context
39
40
  id: undefined,
40
41
  name: 'All Chains'
41
42
  });
43
+ const [starredChainIds, setStarredChainIds] = useState(() => getStarredChainIds());
42
44
  const { value: tokenSearchInput, debouncedValue: debouncedTokenSearchValue, setValue: setTokenSearchInput } = useDebounceState('', 500);
43
45
  const depositAddressOnly = context === 'from'
44
46
  ? chainFilter?.vmType
@@ -86,12 +88,12 @@ const TokenSelector = ({ token, trigger, chainIdsFilter, lockedChainIds, context
86
88
  chain.id === bitcoin.id) &&
87
89
  configuredChainIds.includes(chain.id))
88
90
  : configuredChains?.filter((chain) => configuredChainIds.includes(chain.id));
89
- const allChains = [
91
+ const allChains = useMemo(() => [
90
92
  ...(isReceivingDepositAddress
91
93
  ? []
92
94
  : [{ id: undefined, name: 'All Chains' }]),
93
95
  ...chainFilterOptions
94
- ];
96
+ ], [isReceivingDepositAddress, chainFilterOptions, starredChainIds]);
95
97
  const useDefaultTokenList = debouncedTokenSearchValue === '';
96
98
  // Get user's token balances
97
99
  const { data: duneTokens, balanceMap: tokenBalances, isLoading: isLoadingBalances } = useDuneBalances(address &&
@@ -173,6 +175,15 @@ const TokenSelector = ({ token, trigger, chainIdsFilter, lockedChainIds, context
173
175
  const inputElement = hasMultipleConfiguredChainIds
174
176
  ? chainSearchInputElement
175
177
  : tokenSearchInputElement;
178
+ const handleChainStarToggle = useCallback(() => {
179
+ setStarredChainIds(getStarredChainIds());
180
+ }, []);
181
+ // Update starred chains when the modal opens to sync with other instances
182
+ useEffect(() => {
183
+ if (open) {
184
+ setStarredChainIds(getStarredChainIds());
185
+ }
186
+ }, [open]);
176
187
  const resetState = useCallback(() => {
177
188
  setTokenSearchInput('');
178
189
  setChainSearchInputElement(null);
@@ -318,7 +329,7 @@ const TokenSelector = ({ token, trigger, chainIdsFilter, lockedChainIds, context
318
329
  gap: '3',
319
330
  overflowY: 'hidden'
320
331
  }, children: [_jsx(Text, { style: "h6", children: "Select Token" }), _jsxs(Flex, { css: { flex: 1, gap: '3', overflow: 'hidden' }, children: [isDesktop &&
321
- (!configuredChainIds || hasMultipleConfiguredChainIds) ? (_jsx(ChainFilterSidebar, { options: allChains, value: chainFilter, isOpen: open, onSelect: setChainFilter, onAnalyticEvent: onAnalyticEvent, onInputRef: setChainSearchInputElement, tokenSearchInputRef: tokenSearchInputElement, popularChainIds: popularChainIds, context: context })) : null, _jsxs(AccessibleList, { onSelect: (value) => {
332
+ (!configuredChainIds || hasMultipleConfiguredChainIds) ? (_jsx(ChainFilterSidebar, { options: allChains, value: chainFilter, isOpen: open, onSelect: setChainFilter, onAnalyticEvent: onAnalyticEvent, onInputRef: setChainSearchInputElement, tokenSearchInputRef: tokenSearchInputElement, popularChainIds: popularChainIds, context: context, onChainStarToggle: handleChainStarToggle, starredChainIds: starredChainIds })) : null, _jsxs(AccessibleList, { onSelect: (value) => {
322
333
  if (value === 'input')
323
334
  return;
324
335
  const [chainId, ...addressParts] = value.split(':');
@@ -362,7 +373,7 @@ const TokenSelector = ({ token, trigger, chainIdsFilter, lockedChainIds, context
362
373
  });
363
374
  }
364
375
  } }) }), !isDesktop &&
365
- (!configuredChainIds || hasMultipleConfiguredChainIds) ? (_jsx(ChainFilter, { options: allChains, value: chainFilter, onSelect: setChainFilter, popularChainIds: popularChainIds })) : null] }), _jsxs(Flex, { direction: "column", css: {
376
+ (!configuredChainIds || hasMultipleConfiguredChainIds) ? (_jsx(ChainFilter, { options: allChains, value: chainFilter, onSelect: setChainFilter, popularChainIds: popularChainIds, onChainStarToggle: handleChainStarToggle, starredChainIds: starredChainIds })) : null] }), _jsxs(Flex, { direction: "column", css: {
366
377
  flex: 1,
367
378
  overflowY: 'auto',
368
379
  gap: '3',