thirdweb 5.115.2 → 5.115.3-nightly-b0eccf365a7521ec882fca9e680837c84147041e-20251205000343

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.
@@ -6,6 +6,8 @@ const react_1 = require("react");
6
6
  const units_js_1 = require("../../../../../utils/units.js");
7
7
  const CustomThemeProvider_js_1 = require("../../../../core/design-system/CustomThemeProvider.js");
8
8
  const index_js_1 = require("../../../../core/design-system/index.js");
9
+ const CoinsIcon_js_1 = require("../../ConnectWallet/icons/CoinsIcon.js");
10
+ const WalletDotIcon_js_1 = require("../../ConnectWallet/icons/WalletDotIcon.js");
9
11
  const basic_js_1 = require("../../components/basic.js");
10
12
  const buttons_js_1 = require("../../components/buttons.js");
11
13
  const Img_js_1 = require("../../components/Img.js");
@@ -28,8 +30,7 @@ function findChain(chains, activeChainId) {
28
30
  }
29
31
  return chains.find((chain) => chain.chainId === activeChainId);
30
32
  }
31
- const ALL_TOKENS_LIMIT = 100;
32
- const OWNED_TOKENS_LIMIT = 50;
33
+ const INITIAL_LIMIT = 100;
33
34
  /**
34
35
  * @internal
35
36
  */
@@ -37,8 +38,11 @@ function SelectToken(props) {
37
38
  const chainQuery = (0, use_bridge_chains_js_1.useBridgeChains)(props.client);
38
39
  const [search, _setSearch] = (0, react_1.useState)("");
39
40
  const debouncedSearch = (0, useDebouncedValue_js_1.useDebouncedValue)(search, 500);
40
- const [allTokensLimit, setAllTokensLimit] = (0, react_1.useState)(ALL_TOKENS_LIMIT);
41
- const [ownedTokensLimit, setOwnedTokensLimit] = (0, react_1.useState)(OWNED_TOKENS_LIMIT);
41
+ const [limit, setLimit] = (0, react_1.useState)(INITIAL_LIMIT);
42
+ const setSearch = (0, react_1.useCallback)((search) => {
43
+ _setSearch(search);
44
+ setLimit(INITIAL_LIMIT);
45
+ }, []);
42
46
  const [_selectedChain, setSelectedChain] = (0, react_1.useState)(undefined);
43
47
  const selectedChain = _selectedChain ||
44
48
  (chainQuery.data
@@ -51,14 +55,14 @@ function SelectToken(props) {
51
55
  client: props.client,
52
56
  chainId: selectedChain?.chainId,
53
57
  search: debouncedSearch,
54
- limit: allTokensLimit,
58
+ limit,
55
59
  offset: 0,
56
60
  });
57
61
  // owned tokens
58
62
  const ownedTokensQuery = (0, use_tokens_js_1.useTokenBalances)({
59
63
  clientId: props.client.clientId,
60
64
  chainId: selectedChain?.chainId,
61
- limit: ownedTokensLimit,
65
+ limit,
62
66
  page: 1,
63
67
  walletAddress: props.activeWalletInfo?.activeAccount.address,
64
68
  });
@@ -71,35 +75,19 @@ function SelectToken(props) {
71
75
  .includes(debouncedSearch.toLowerCase()));
72
76
  });
73
77
  }, [ownedTokensQuery.data?.tokens, debouncedSearch]);
74
- const setSearch = (0, react_1.useCallback)((search) => {
75
- _setSearch(search);
76
- setAllTokensLimit(ALL_TOKENS_LIMIT);
77
- setOwnedTokensLimit(OWNED_TOKENS_LIMIT);
78
- }, []);
79
- return ((0, jsx_runtime_1.jsx)(SelectTokenUI, { ...props, ownedTokens: {
80
- data: filteredOwnedTokens || [],
81
- isFetching: ownedTokensQuery.isFetching,
82
- showMore: ownedTokensQuery.data?.pagination.hasMore
83
- ? () => {
84
- setOwnedTokensLimit(ownedTokensLimit + OWNED_TOKENS_LIMIT);
85
- }
86
- : undefined,
87
- }, allTokens: {
88
- data: tokensQuery.data || [],
89
- isFetching: tokensQuery.isFetching,
90
- showMore: tokensQuery.data?.length === allTokensLimit
91
- ? () => {
92
- setAllTokensLimit(allTokensLimit + ALL_TOKENS_LIMIT);
93
- }
94
- : undefined,
95
- }, selectedChain: selectedChain, setSelectedChain: setSelectedChain, search: search, setSearch: setSearch, selectedToken: props.selectedToken, setSelectedToken: props.setSelectedToken }));
78
+ const isFetching = tokensQuery.isFetching || ownedTokensQuery.isFetching;
79
+ return ((0, jsx_runtime_1.jsx)(SelectTokenUI, { ...props, ownedTokens: filteredOwnedTokens || [], allTokens: tokensQuery.data || [], isFetching: isFetching, selectedChain: selectedChain, setSelectedChain: setSelectedChain, search: search, setSearch: setSearch, selectedToken: props.selectedToken, setSelectedToken: props.setSelectedToken, showMore: tokensQuery.data?.length === limit
80
+ ? () => {
81
+ setLimit(limit + INITIAL_LIMIT);
82
+ }
83
+ : undefined }));
96
84
  }
97
85
  function SelectTokenUI(props) {
98
86
  const isMobile = (0, useisMobile_js_1.useIsMobile)();
99
87
  const [screen, setScreen] = (0, react_1.useState)("select-token");
100
88
  // show tokens with icons first
101
89
  const sortedOwnedTokens = (0, react_1.useMemo)(() => {
102
- return props.ownedTokens.data.sort((a, b) => {
90
+ return props.ownedTokens.sort((a, b) => {
103
91
  if (a.icon_uri && !b.icon_uri) {
104
92
  return -1;
105
93
  }
@@ -108,10 +96,14 @@ function SelectTokenUI(props) {
108
96
  }
109
97
  return 0;
110
98
  });
111
- }, [props.ownedTokens.data]);
99
+ }, [props.ownedTokens]);
100
+ const otherTokens = (0, react_1.useMemo)(() => {
101
+ const ownedTokenSet = new Set(sortedOwnedTokens.map((t) => `${t.token_address}-${t.chain_id}`.toLowerCase()));
102
+ return props.allTokens.filter((token) => !ownedTokenSet.has(`${token.address}-${token.chainId}`.toLowerCase()));
103
+ }, [props.allTokens, sortedOwnedTokens]);
112
104
  // show tokens with icons first
113
- const sortedAllTokens = (0, react_1.useMemo)(() => {
114
- return props.allTokens.data.sort((a, b) => {
105
+ const sortedOtherTokens = (0, react_1.useMemo)(() => {
106
+ return otherTokens.sort((a, b) => {
115
107
  if (a.iconUri && !b.iconUri) {
116
108
  return -1;
117
109
  }
@@ -120,7 +112,7 @@ function SelectTokenUI(props) {
120
112
  }
121
113
  return 0;
122
114
  });
123
- }, [props.allTokens.data]);
115
+ }, [otherTokens]);
124
116
  // desktop
125
117
  if (!isMobile) {
126
118
  return ((0, jsx_runtime_1.jsxs)(basic_js_1.Container, { style: {
@@ -133,25 +125,13 @@ function SelectTokenUI(props) {
133
125
  }, selectedChain: props.selectedChain }) }), (0, jsx_runtime_1.jsx)(basic_js_1.Container, { flex: "column", relative: true, scrollY: true, children: (0, jsx_runtime_1.jsx)(TokenSelectionScreen, { onSelectToken: (token) => {
134
126
  props.setSelectedToken(token);
135
127
  props.onClose();
136
- }, isMobile: false, selectedToken: props.selectedToken, ownedTokens: {
137
- ...props.ownedTokens,
138
- data: sortedOwnedTokens,
139
- }, allTokens: {
140
- ...props.allTokens,
141
- data: sortedAllTokens,
142
- }, selectedChain: props.selectedChain, onSelectChain: () => setScreen("select-chain"), client: props.client, search: props.search, setSearch: props.setSearch, isWalletConnected: props.activeWalletInfo !== undefined }) })] }));
128
+ }, isMobile: false, selectedToken: props.selectedToken, isFetching: props.isFetching, ownedTokens: props.ownedTokens, otherTokens: sortedOtherTokens, showMore: props.showMore, selectedChain: props.selectedChain, onSelectChain: () => setScreen("select-chain"), client: props.client, search: props.search, setSearch: props.setSearch }) })] }));
143
129
  }
144
130
  if (screen === "select-token") {
145
- return ((0, jsx_runtime_1.jsx)(TokenSelectionScreen, { isWalletConnected: props.activeWalletInfo !== undefined, onSelectToken: (token) => {
131
+ return ((0, jsx_runtime_1.jsx)(TokenSelectionScreen, { onSelectToken: (token) => {
146
132
  props.setSelectedToken(token);
147
133
  props.onClose();
148
- }, selectedToken: props.selectedToken, ownedTokens: {
149
- ...props.ownedTokens,
150
- data: sortedOwnedTokens,
151
- }, allTokens: {
152
- ...props.allTokens,
153
- data: sortedAllTokens,
154
- }, selectedChain: props.selectedChain, isMobile: true, onSelectChain: () => setScreen("select-chain"), client: props.client, search: props.search, setSearch: props.setSearch }));
134
+ }, selectedToken: props.selectedToken, isFetching: props.isFetching, ownedTokens: props.ownedTokens, otherTokens: sortedOtherTokens, showMore: props.showMore, selectedChain: props.selectedChain, isMobile: true, onSelectChain: () => setScreen("select-chain"), client: props.client, search: props.search, setSearch: props.setSearch }));
155
135
  }
156
136
  if (screen === "select-chain") {
157
137
  return ((0, jsx_runtime_1.jsx)(select_chain_js_1.SelectBridgeChain, { isMobile: true, onBack: () => setScreen("select-token"), client: props.client, onSelectChain: (chain) => {
@@ -229,14 +209,9 @@ function TokenButton(props) {
229
209
  }, children: props.token.name }), usdValue && ((0, jsx_runtime_1.jsx)(basic_js_1.Container, { flex: "row", children: (0, jsx_runtime_1.jsxs)(text_js_1.Text, { size: "xs", color: "secondaryText", weight: 400, children: ["$", usdValue.toFixed(2)] }) }))] })] })] }));
230
210
  }
231
211
  function TokenSelectionScreen(props) {
232
- const noAllTokensFound = !props.allTokens.isFetching && props.allTokens.data.length === 0;
233
- const noOwnedTokensFound = !props.ownedTokens.isFetching && props.ownedTokens.data.length === 0;
234
- const [activeTab, setActiveTab] = (0, react_1.useState)("all");
235
- const showSkeletons = (props.allTokens.isFetching && activeTab === "all") ||
236
- (props.ownedTokens.isFetching && activeTab === "owned");
237
- const showNoTokensFound = (activeTab === "all" && noAllTokensFound) ||
238
- (activeTab === "owned" && noOwnedTokensFound);
239
- const theme = (0, CustomThemeProvider_js_1.useCustomTheme)();
212
+ const noTokensFound = !props.isFetching &&
213
+ props.otherTokens.length === 0 &&
214
+ props.ownedTokens.length === 0;
240
215
  return ((0, jsx_runtime_1.jsxs)(basic_js_1.Container, { fullHeight: true, flex: "column", children: [(0, jsx_runtime_1.jsxs)(basic_js_1.Container, { px: "md", pt: "md+", children: [(0, jsx_runtime_1.jsx)(text_js_1.Text, { size: "lg", weight: 600, color: "primaryText", trackingTight: true, children: "Select Token" }), (0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "3xs" }), (0, jsx_runtime_1.jsx)(text_js_1.Text, { size: "sm", color: "secondaryText", multiline: true, style: {
241
216
  textWrap: "pretty",
242
217
  }, children: "Select a token from the list or use the search" })] }), !props.selectedChain && ((0, jsx_runtime_1.jsx)("div", { style: {
@@ -244,30 +219,32 @@ function TokenSelectionScreen(props) {
244
219
  alignItems: "center",
245
220
  justifyContent: "center",
246
221
  minHeight: "300px",
247
- }, children: (0, jsx_runtime_1.jsx)(Spinner_js_1.Spinner, { color: "secondaryText", size: "xl" }) })), props.selectedChain && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [props.isMobile ? ((0, jsx_runtime_1.jsx)(basic_js_1.Container, { p: "md", children: (0, jsx_runtime_1.jsx)(SelectChainButton_js_1.SelectChainButton, { onClick: props.onSelectChain, selectedChain: props.selectedChain, client: props.client }) })) : ((0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "md" })), (0, jsx_runtime_1.jsx)(basic_js_1.Container, { px: "md", children: (0, jsx_runtime_1.jsx)(SearchInput_js_1.SearchInput, { value: props.search, onChange: props.setSearch, placeholder: "Search by token or address", autoFocus: !props.isMobile }) }), (0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "sm" }), props.isWalletConnected && ((0, jsx_runtime_1.jsxs)(basic_js_1.Container, { flex: "row", gap: "xs", px: "md", style: { borderBottom: `1px solid ${theme.colors.borderColor}` }, children: [(0, jsx_runtime_1.jsx)(TabButton, { isSelected: activeTab === "all", onSelect: () => setActiveTab("all"), label: "All Tokens" }), (0, jsx_runtime_1.jsx)(TabButton, { isSelected: activeTab === "owned", onSelect: () => setActiveTab("owned"), label: "Your Tokens" })] })), (0, jsx_runtime_1.jsxs)(basic_js_1.Container, { pb: "md", px: "md", expand: true, gap: "xxs", flex: "column", style: {
222
+ }, children: (0, jsx_runtime_1.jsx)(Spinner_js_1.Spinner, { color: "secondaryText", size: "xl" }) })), props.selectedChain && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [props.isMobile ? ((0, jsx_runtime_1.jsx)(basic_js_1.Container, { p: "md", children: (0, jsx_runtime_1.jsx)(SelectChainButton_js_1.SelectChainButton, { onClick: props.onSelectChain, selectedChain: props.selectedChain, client: props.client }) })) : ((0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "md" })), (0, jsx_runtime_1.jsx)(basic_js_1.Container, { px: "md", children: (0, jsx_runtime_1.jsx)(SearchInput_js_1.SearchInput, { value: props.search, onChange: props.setSearch, placeholder: "Search by token or address", autoFocus: !props.isMobile }) }), (0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "xs" }), (0, jsx_runtime_1.jsxs)(basic_js_1.Container, { pb: "md", px: "md", expand: true, gap: "xxs", flex: "column", style: {
248
223
  minHeight: "300px",
249
224
  maxHeight: props.isMobile ? "450px" : "none",
250
225
  overflowY: "auto",
251
226
  scrollbarWidth: "none",
252
227
  paddingBottom: index_js_1.spacing.md,
253
- }, children: [props.isWalletConnected && (0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "xxs" }), showSkeletons &&
228
+ }, children: [props.isFetching &&
254
229
  new Array(20).fill(0).map((_, i) => (
255
230
  // biome-ignore lint/suspicious/noArrayIndexKey: ok
256
- (0, jsx_runtime_1.jsx)(TokenButtonSkeleton, {}, i))), activeTab === "owned" &&
257
- !props.ownedTokens.isFetching &&
258
- props.ownedTokens.data.map((token) => ((0, jsx_runtime_1.jsx)(TokenButton, { token: token, client: props.client, onSelect: props.onSelectToken, isSelected: !!props.selectedToken &&
231
+ (0, jsx_runtime_1.jsx)(TokenButtonSkeleton, {}, i))), !props.isFetching && props.ownedTokens.length > 0 && ((0, jsx_runtime_1.jsxs)(basic_js_1.Container, { px: "xs", py: "xs", flex: "row", gap: "xs", center: "y", color: "secondaryText", children: [(0, jsx_runtime_1.jsx)(WalletDotIcon_js_1.WalletDotIcon, { size: "14" }), (0, jsx_runtime_1.jsx)(text_js_1.Text, { size: "sm", color: "secondaryText", style: {
232
+ overflow: "unset",
233
+ }, children: "Your Tokens" })] })), !props.isFetching &&
234
+ props.ownedTokens.map((token) => ((0, jsx_runtime_1.jsx)(TokenButton, { token: token, client: props.client, onSelect: props.onSelectToken, isSelected: !!props.selectedToken &&
259
235
  props.selectedToken.tokenAddress.toLowerCase() ===
260
236
  token.token_address.toLowerCase() &&
261
- token.chain_id === props.selectedToken.chainId }, token.token_address))), activeTab === "all" &&
262
- !props.allTokens.isFetching &&
263
- props.allTokens.data.map((token) => ((0, jsx_runtime_1.jsx)(TokenButton, { token: token, client: props.client, onSelect: props.onSelectToken, isSelected: !!props.selectedToken &&
237
+ token.chain_id === props.selectedToken.chainId }, token.token_address))), !props.isFetching && props.ownedTokens.length > 0 && ((0, jsx_runtime_1.jsxs)(basic_js_1.Container, { px: "xs", py: "xs", flex: "row", gap: "xs", center: "y", color: "secondaryText", style: {
238
+ marginTop: index_js_1.spacing.sm,
239
+ }, children: [(0, jsx_runtime_1.jsx)(CoinsIcon_js_1.CoinsIcon, { size: "14" }), (0, jsx_runtime_1.jsx)(text_js_1.Text, { size: "sm", color: "secondaryText", style: {
240
+ overflow: "unset",
241
+ }, children: "Other Tokens" })] })), !props.isFetching &&
242
+ props.otherTokens.map((token) => ((0, jsx_runtime_1.jsx)(TokenButton, { token: token, client: props.client, onSelect: props.onSelectToken, isSelected: !!props.selectedToken &&
264
243
  props.selectedToken.tokenAddress.toLowerCase() ===
265
244
  token.address.toLowerCase() &&
266
- token.chainId === props.selectedToken.chainId }, token.address))), activeTab === "all" && props.allTokens.showMore && ((0, jsx_runtime_1.jsx)(buttons_js_1.Button, { variant: "secondary", fullWidth: true, onClick: () => {
267
- props.allTokens.showMore?.();
268
- }, children: "Load More" })), activeTab === "owned" && props.ownedTokens.showMore && ((0, jsx_runtime_1.jsx)(buttons_js_1.Button, { variant: "secondary", fullWidth: true, onClick: () => {
269
- props.ownedTokens.showMore?.();
270
- }, children: "Load More" })), showNoTokensFound && ((0, jsx_runtime_1.jsx)("div", { style: {
245
+ token.chainId === props.selectedToken.chainId }, token.address))), props.showMore && ((0, jsx_runtime_1.jsx)(buttons_js_1.Button, { variant: "secondary", fullWidth: true, onClick: () => {
246
+ props.showMore?.();
247
+ }, children: "Load More" })), noTokensFound && ((0, jsx_runtime_1.jsx)("div", { style: {
271
248
  flex: 1,
272
249
  display: "flex",
273
250
  alignItems: "center",
@@ -285,23 +262,4 @@ const LeftContainer = /* @__PURE__ */ (0, elements_js_1.StyledDiv)((_) => {
285
262
  position: "relative",
286
263
  };
287
264
  });
288
- function TabButton(props) {
289
- const theme = (0, CustomThemeProvider_js_1.useCustomTheme)();
290
- return ((0, jsx_runtime_1.jsxs)("div", { style: {
291
- paddingBottom: "4px",
292
- position: "relative",
293
- }, children: [(0, jsx_runtime_1.jsx)(buttons_js_1.Button, { variant: "ghost-solid", onClick: props.onSelect, style: {
294
- fontSize: index_js_1.fontSize.sm,
295
- padding: `10px ${index_js_1.spacing.xs}`,
296
- color: props.isSelected
297
- ? theme.colors.primaryText
298
- : theme.colors.secondaryText,
299
- }, children: props.label }), props.isSelected && ((0, jsx_runtime_1.jsx)("div", { style: {
300
- position: "absolute",
301
- left: 0,
302
- right: 0,
303
- bottom: "-1.5px",
304
- borderBottom: `2px solid ${theme.colors.primaryText}`,
305
- } }))] }));
306
- }
307
265
  //# sourceMappingURL=select-token-ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-token-ui.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/Bridge/swap-widget/select-token-ui.tsx"],"names":[],"mappings":";;AA0DA,kCAoFC;;AA9ID,iCAAuD;AAIvD,4DAAyD;AACzD,kGAAuF;AACvF,sEAKiD;AACjD,wDAAmE;AACnE,4DAAqD;AACrD,oDAA8C;AAC9C,8DAAwD;AACxD,0DAAoD;AACpD,4DAAsD;AACtD,sDAAgD;AAChD,iEAA4D;AAC5D,2EAAqE;AACrE,+DAAyD;AACzD,qDAA+C;AAC/C,iEAA2D;AAC3D,uDAAsD;AAEtD,iEAAyD;AACzD,mDAIyB;AACzB,yCAAkD;AAalD,SAAS,SAAS,CAAC,MAAqB,EAAE,aAAiC;IACzE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAyB;IACnD,MAAM,UAAU,GAAG,IAAA,sCAAe,EAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,IAAA,wCAAiB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,CAAC;IACvE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAC,kBAAkB,CAAC,CAAC;IAE7E,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EACjD,SAAS,CACV,CAAC;IACF,MAAM,aAAa,GACjB,cAAc;QACd,CAAC,UAAU,CAAC,IAAI;YACd,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC;gBACxD,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE,CAAC;gBAClE,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/B,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjB,aAAa;IACb,MAAM,WAAW,GAAG,IAAA,yBAAS,EAAC;QAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,aAAa,EAAE,OAAO;QAC/B,MAAM,EAAE,eAAe;QACvB,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,CAAC;KACV,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,gBAAgB,GAAG,IAAA,gCAAgB,EAAC;QACxC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;QAC/B,OAAO,EAAE,aAAa,EAAE,OAAO;QAC/B,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,CAAC;QACP,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE,aAAa,CAAC,OAAO;KAC7D,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACvC,OAAO,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACrD,OAAO,CACL,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;gBAClE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;gBAChE,KAAK,CAAC,aAAa;qBAChB,WAAW,EAAE;qBACb,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAC3C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAErD,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,CAAC,MAAc,EAAE,EAAE;QAC/C,UAAU,CAAC,MAAM,CAAC,CAAC;QACnB,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QACpC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAC1C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,uBAAC,aAAa,OACR,KAAK,EACT,WAAW,EAAE;YACX,IAAI,EAAE,mBAAmB,IAAI,EAAE;YAC/B,UAAU,EAAE,gBAAgB,CAAC,UAAU;YACvC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO;gBACjD,CAAC,CAAC,GAAG,EAAE;oBACH,mBAAmB,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,CAAC;gBAC7D,CAAC;gBACH,CAAC,CAAC,SAAS;SACd,EACD,SAAS,EAAE;YACT,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;YAC5B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,QAAQ,EACN,WAAW,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc;gBACzC,CAAC,CAAC,GAAG,EAAE;oBACH,iBAAiB,CAAC,cAAc,GAAG,gBAAgB,CAAC,CAAC;gBACvD,CAAC;gBACH,CAAC,CAAC,SAAS;SAChB,EACD,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,GACxC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,KAiBC;IAED,MAAM,QAAQ,GAAG,IAAA,4BAAW,GAAE,CAAC;IAC/B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAClC,cAAc,CACf,CAAC;IAEF,+BAA+B;IAC/B,MAAM,iBAAiB,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACrC,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9B,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9B,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7B,+BAA+B;IAC/B,MAAM,eAAe,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACnC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3B,UAAU;IACV,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CACL,wBAAC,oBAAS,IACR,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,mBAAmB,EAAE,WAAW;gBAChC,MAAM,EAAE,MAAM;aACf,aAED,uBAAC,aAAa,cACZ,uBAAC,mCAAiB,IAChB,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,EACvC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;4BACvB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;4BAC9B,SAAS,CAAC,cAAc,CAAC,CAAC;wBAC5B,CAAC,EACD,aAAa,EAAE,KAAK,CAAC,aAAa,GAClC,GACY,EAChB,uBAAC,oBAAS,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,QAAC,OAAO,kBACvC,uBAAC,oBAAoB,IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;4BACvB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;4BAC9B,KAAK,CAAC,OAAO,EAAE,CAAC;wBAClB,CAAC,EACD,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,WAAW,EAAE;4BACX,GAAG,KAAK,CAAC,WAAW;4BACpB,IAAI,EAAE,iBAAiB;yBACxB,EACD,SAAS,EAAE;4BACT,GAAG,KAAK,CAAC,SAAS;4BAClB,IAAI,EAAE,eAAe;yBACtB,EACD,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9C,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,KAAK,SAAS,GACvD,GACQ,IACF,CACb,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC9B,OAAO,CACL,uBAAC,oBAAoB,IACnB,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,KAAK,SAAS,EACvD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC9B,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC,EACD,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,WAAW,EAAE;gBACX,GAAG,KAAK,CAAC,WAAW;gBACpB,IAAI,EAAE,iBAAiB;aACxB,EACD,SAAS,EAAE;gBACT,GAAG,KAAK,CAAC,SAAS;gBAClB,IAAI,EAAE,eAAe;aACtB,EACD,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,QAAQ,EAAE,IAAI,EACd,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9C,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,CACH,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QAC9B,OAAO,CACL,uBAAC,mCAAiB,IAChB,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,EACvC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC9B,SAAS,CAAC,cAAc,CAAC,CAAC;YAC5B,CAAC,EACD,aAAa,EAAE,KAAK,CAAC,aAAa,GAClC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,CACL,iCACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,kBAAO,CAAC,EAAE;YACf,OAAO,EAAE,GAAG,kBAAO,CAAC,EAAE,IAAI,kBAAO,CAAC,EAAE,EAAE;YACtC,MAAM,EAAE,MAAM;SACf,aAED,uBAAC,sBAAQ,IAAC,MAAM,EAAE,GAAG,mBAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,mBAAQ,CAAC,EAAE,IAAI,GAAI,EACnE,iCAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,aAClE,uBAAC,sBAAQ,IAAC,MAAM,EAAE,mBAAQ,CAAC,EAAE,EAAE,KAAK,EAAC,OAAO,GAAG,EAC/C,uBAAC,sBAAQ,IAAC,MAAM,EAAE,mBAAQ,CAAC,EAAE,EAAE,KAAK,EAAC,OAAO,GAAG,IAC3C,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAKpB;IACC,MAAM,KAAK,GAAG,IAAA,uCAAc,GAAE,CAAC;IAC/B,MAAM,mBAAmB,GACvB,SAAS,IAAI,KAAK,CAAC,KAAK;QACtB,CAAC,CAAC,IAAA,mBAAQ,EAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7D,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,QAAQ,GACZ,SAAS,IAAI,KAAK,CAAC,KAAK;QACtB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC;QAChE,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,CACL,wBAAC,mBAAM,IACL,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EACvD,SAAS,QACT,KAAK,EAAE;YACL,cAAc,EAAE,YAAY;YAC5B,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,mBAAQ,CAAC,EAAE;YACrB,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EAAE,GAAG,kBAAO,CAAC,EAAE,IAAI,kBAAO,CAAC,EAAE,EAAE;YACtC,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,iBAAM,CAAC,EAAE;SACxB,EACD,GAAG,EAAC,IAAI,EACR,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC7B,KAAK,CAAC,QAAQ,CAAC;oBACb,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa;oBACvC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;iBAC9B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,QAAQ,CAAC;oBACb,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;oBACjC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC,aAED,uBAAC,YAAG,IACF,GAAG,EACD,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK;oBACvB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;oBACtB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAEhC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,mBAAQ,CAAC,EAAE,EAClB,MAAM,EAAE,mBAAQ,CAAC,EAAE,EACnB,KAAK,EAAE;oBACL,UAAU,EAAE,CAAC;oBACb,YAAY,EAAE,iBAAM,CAAC,IAAI;iBAC1B,EACD,QAAQ,EACN,uBAAC,oBAAS,IAAC,KAAK,EAAC,eAAe,YAC9B,uBAAC,oBAAS,IACR,KAAK,EAAE;4BACL,UAAU,EAAE,iCAAiC,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG;4BACvE,YAAY,EAAE,iBAAM,CAAC,IAAI;4BACzB,KAAK,EAAE,GAAG,mBAAQ,CAAC,EAAE,IAAI;4BACzB,MAAM,EAAE,GAAG,mBAAQ,CAAC,EAAE,IAAI;yBAC3B,GACD,GACQ,GAEd,EACF,iCACE,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,QAAQ;oBACvB,GAAG,EAAE,kBAAO,CAAC,KAAK,CAAC;oBACnB,IAAI,EAAE,CAAC;iBACR,aAED,wBAAC,oBAAS,IACR,IAAI,EAAC,KAAK,EACV,KAAK,EAAE;4BACL,cAAc,EAAE,eAAe;4BAC/B,KAAK,EAAE,MAAM;yBACd,aAED,uBAAC,cAAI,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,aAAa,EAAC,MAAM,EAAE,GAAG,YAC5C,KAAK,CAAC,KAAK,CAAC,MAAM,GACd,EAEN,SAAS,IAAI,KAAK,CAAC,KAAK,IAAI,CAC3B,uBAAC,cAAI,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,aAAa,YAChC,+BAAoB,CAAC,MAAM,CAC1B,MAAM,CACJ,IAAA,mBAAQ,EAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC5D,CACF,GACI,CACR,IACS,EACZ,wBAAC,oBAAS,IACR,IAAI,EAAC,KAAK,EACV,KAAK,EAAE;4BACL,cAAc,EAAE,eAAe;4BAC/B,KAAK,EAAE,MAAM;yBACd,aAED,uBAAC,cAAI,IACH,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,eAAe,EACrB,KAAK,EAAE;oCACL,QAAQ,EAAE,QAAQ;oCAClB,YAAY,EAAE,UAAU;oCACxB,UAAU,EAAE,QAAQ;oCACpB,QAAQ,EAAE,OAAO;iCAClB,YAEA,KAAK,CAAC,KAAK,CAAC,IAAI,GACZ,EACN,QAAQ,IAAI,CACX,uBAAC,oBAAS,IAAC,IAAI,EAAC,KAAK,YACnB,wBAAC,cAAI,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,eAAe,EAAC,MAAM,EAAE,GAAG,kBAC7C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAChB,GACG,CACb,IACS,IACR,IACC,CACV,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAoB7B;IACC,MAAM,gBAAgB,GACpB,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IAEnE,MAAM,kBAAkB,GACtB,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IAEvE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAkB,KAAK,CAAC,CAAC;IACnE,MAAM,aAAa,GACjB,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,KAAK,KAAK,CAAC;QACnD,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,IAAI,SAAS,KAAK,OAAO,CAAC,CAAC;IAE1D,MAAM,iBAAiB,GACrB,CAAC,SAAS,KAAK,KAAK,IAAI,gBAAgB,CAAC;QACzC,CAAC,SAAS,KAAK,OAAO,IAAI,kBAAkB,CAAC,CAAC;IAEhD,MAAM,KAAK,GAAG,IAAA,uCAAc,GAAE,CAAC;IAE/B,OAAO,CACL,wBAAC,oBAAS,IAAC,UAAU,QAAC,IAAI,EAAC,QAAQ,aACjC,wBAAC,oBAAS,IAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,KAAK,aACzB,uBAAC,cAAI,IAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAC,aAAa,EAAC,aAAa,mCAEvD,EACP,uBAAC,kBAAM,IAAC,CAAC,EAAC,KAAK,GAAG,EAClB,uBAAC,cAAI,IACH,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,eAAe,EACrB,SAAS,QACT,KAAK,EAAE;4BACL,QAAQ,EAAE,QAAQ;yBACnB,+DAGI,IACG,EAEX,CAAC,KAAK,CAAC,aAAa,IAAI,CACvB,gCACE,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;oBACxB,SAAS,EAAE,OAAO;iBACnB,YAED,uBAAC,oBAAO,IAAC,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,IAAI,GAAG,GACvC,CACP,EAEA,KAAK,CAAC,aAAa,IAAI,CACtB,6DACG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAChB,uBAAC,oBAAS,IAAC,CAAC,EAAC,IAAI,YACf,uBAAC,wCAAiB,IAChB,OAAO,EAAE,KAAK,CAAC,aAAa,EAC5B,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,MAAM,EAAE,KAAK,CAAC,MAAM,GACpB,GACQ,CACb,CAAC,CAAC,CAAC,CACF,uBAAC,kBAAM,IAAC,CAAC,EAAC,IAAI,GAAG,CAClB,EAGD,uBAAC,oBAAS,IAAC,EAAE,EAAC,IAAI,YAChB,uBAAC,4BAAW,IACV,KAAK,EAAE,KAAK,CAAC,MAAM,EACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,EACzB,WAAW,EAAC,4BAA4B,EACxC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,GAC1B,GACQ,EAEZ,uBAAC,kBAAM,IAAC,CAAC,EAAC,IAAI,GAAG,EAGhB,KAAK,CAAC,iBAAiB,IAAI,CAC1B,wBAAC,oBAAS,IACR,IAAI,EAAC,KAAK,EACV,GAAG,EAAC,IAAI,EACR,EAAE,EAAC,IAAI,EACP,KAAK,EAAE,EAAE,YAAY,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,aAEhE,uBAAC,SAAS,IACR,UAAU,EAAE,SAAS,KAAK,KAAK,EAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EACnC,KAAK,EAAC,YAAY,GAClB,EACF,uBAAC,SAAS,IACR,UAAU,EAAE,SAAS,KAAK,OAAO,EACjC,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EACrC,KAAK,EAAC,aAAa,GACnB,IACQ,CACb,EAED,wBAAC,oBAAS,IACR,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,MAAM,QACN,GAAG,EAAC,KAAK,EACT,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;4BACL,SAAS,EAAE,OAAO;4BAClB,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;4BAC5C,SAAS,EAAE,MAAM;4BACjB,cAAc,EAAE,MAAM;4BACtB,aAAa,EAAE,kBAAO,CAAC,EAAE;yBAC1B,aAEA,KAAK,CAAC,iBAAiB,IAAI,uBAAC,kBAAM,IAAC,CAAC,EAAC,KAAK,GAAG,EAE7C,aAAa;gCACZ,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gCAClC,mDAAmD;gCACnD,uBAAC,mBAAmB,MAAM,CAAC,CAAI,CAChC,CAAC,EAEH,SAAS,KAAK,OAAO;gCACpB,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU;gCAC7B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACpC,uBAAC,WAAW,IAEV,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,UAAU,EACR,CAAC,CAAC,KAAK,CAAC,aAAa;wCACrB,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE;4CAC5C,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;wCACnC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,aAAa,CAAC,OAAO,IAR3C,KAAK,CAAC,aAAa,CAUxB,CACH,CAAC,EAEH,SAAS,KAAK,KAAK;gCAClB,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU;gCAC3B,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAClC,uBAAC,WAAW,IAEV,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,QAAQ,EAAE,KAAK,CAAC,aAAa,EAC7B,UAAU,EACR,CAAC,CAAC,KAAK,CAAC,aAAa;wCACrB,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE;4CAC5C,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;wCAC7B,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,aAAa,CAAC,OAAO,IAR1C,KAAK,CAAC,OAAO,CAUlB,CACH,CAAC,EAEH,SAAS,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,IAAI,CAClD,uBAAC,mBAAM,IACL,OAAO,EAAC,WAAW,EACnB,SAAS,QACT,OAAO,EAAE,GAAG,EAAE;oCACZ,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;gCAC/B,CAAC,0BAGM,CACV,EAEA,SAAS,KAAK,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,IAAI,CACtD,uBAAC,mBAAM,IACL,OAAO,EAAC,WAAW,EACnB,SAAS,QACT,OAAO,EAAE,GAAG,EAAE;oCACZ,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;gCACjC,CAAC,0BAGM,CACV,EAEA,iBAAiB,IAAI,CACpB,gCACE,KAAK,EAAE;oCACL,IAAI,EAAE,CAAC;oCACP,OAAO,EAAE,MAAM;oCACf,UAAU,EAAE,QAAQ;oCACpB,cAAc,EAAE,QAAQ;iCACzB,YAED,uBAAC,cAAI,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,eAAe,gCAE9B,GACH,CACP,IACS,IACX,CACJ,IACS,CACb,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,eAAe,CAAC,IAAA,uBAAS,EAAC,CAAC,CAAC,EAAE,EAAE;IACpD,MAAM,KAAK,GAAG,IAAA,uCAAc,GAAE,CAAC;IAC/B,OAAO;QACL,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,MAAM;QACjB,GAAG,sBAAW;QACd,WAAW,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE;QACtD,QAAQ,EAAE,UAAU;KACrB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,SAAS,CAAC,KAIlB;IACC,MAAM,KAAK,GAAG,IAAA,uCAAc,GAAE,CAAC;IAC/B,OAAO,CACL,iCACE,KAAK,EAAE;YACL,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,UAAU;SACrB,aAED,uBAAC,mBAAM,IACL,OAAO,EAAC,aAAa,EACrB,OAAO,EAAE,KAAK,CAAC,QAAQ,EACvB,KAAK,EAAE;oBACL,QAAQ,EAAE,mBAAQ,CAAC,EAAE;oBACrB,OAAO,EAAE,QAAQ,kBAAO,CAAC,EAAE,EAAE;oBAC7B,KAAK,EAAE,KAAK,CAAC,UAAU;wBACrB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW;wBAC1B,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa;iBAC/B,YAEA,KAAK,CAAC,KAAK,GACL,EAER,KAAK,CAAC,UAAU,IAAI,CACnB,gCACE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE;iBACtD,GACI,CACR,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"select-token-ui.js","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/Bridge/swap-widget/select-token-ui.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = "5.115.2";
4
+ exports.version = "5.115.3-nightly-b0eccf365a7521ec882fca9e680837c84147041e-20251205000343";
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,yEAAyE,CAAC"}
@@ -3,6 +3,8 @@ import { useCallback, useMemo, useState } from "react";
3
3
  import { toTokens } from "../../../../../utils/units.js";
4
4
  import { useCustomTheme } from "../../../../core/design-system/CustomThemeProvider.js";
5
5
  import { fontSize, iconSize, radius, spacing, } from "../../../../core/design-system/index.js";
6
+ import { CoinsIcon } from "../../ConnectWallet/icons/CoinsIcon.js";
7
+ import { WalletDotIcon } from "../../ConnectWallet/icons/WalletDotIcon.js";
6
8
  import { Container, noScrollBar } from "../../components/basic.js";
7
9
  import { Button } from "../../components/buttons.js";
8
10
  import { Img } from "../../components/Img.js";
@@ -25,8 +27,7 @@ function findChain(chains, activeChainId) {
25
27
  }
26
28
  return chains.find((chain) => chain.chainId === activeChainId);
27
29
  }
28
- const ALL_TOKENS_LIMIT = 100;
29
- const OWNED_TOKENS_LIMIT = 50;
30
+ const INITIAL_LIMIT = 100;
30
31
  /**
31
32
  * @internal
32
33
  */
@@ -34,8 +35,11 @@ export function SelectToken(props) {
34
35
  const chainQuery = useBridgeChains(props.client);
35
36
  const [search, _setSearch] = useState("");
36
37
  const debouncedSearch = useDebouncedValue(search, 500);
37
- const [allTokensLimit, setAllTokensLimit] = useState(ALL_TOKENS_LIMIT);
38
- const [ownedTokensLimit, setOwnedTokensLimit] = useState(OWNED_TOKENS_LIMIT);
38
+ const [limit, setLimit] = useState(INITIAL_LIMIT);
39
+ const setSearch = useCallback((search) => {
40
+ _setSearch(search);
41
+ setLimit(INITIAL_LIMIT);
42
+ }, []);
39
43
  const [_selectedChain, setSelectedChain] = useState(undefined);
40
44
  const selectedChain = _selectedChain ||
41
45
  (chainQuery.data
@@ -48,14 +52,14 @@ export function SelectToken(props) {
48
52
  client: props.client,
49
53
  chainId: selectedChain?.chainId,
50
54
  search: debouncedSearch,
51
- limit: allTokensLimit,
55
+ limit,
52
56
  offset: 0,
53
57
  });
54
58
  // owned tokens
55
59
  const ownedTokensQuery = useTokenBalances({
56
60
  clientId: props.client.clientId,
57
61
  chainId: selectedChain?.chainId,
58
- limit: ownedTokensLimit,
62
+ limit,
59
63
  page: 1,
60
64
  walletAddress: props.activeWalletInfo?.activeAccount.address,
61
65
  });
@@ -68,35 +72,19 @@ export function SelectToken(props) {
68
72
  .includes(debouncedSearch.toLowerCase()));
69
73
  });
70
74
  }, [ownedTokensQuery.data?.tokens, debouncedSearch]);
71
- const setSearch = useCallback((search) => {
72
- _setSearch(search);
73
- setAllTokensLimit(ALL_TOKENS_LIMIT);
74
- setOwnedTokensLimit(OWNED_TOKENS_LIMIT);
75
- }, []);
76
- return (_jsx(SelectTokenUI, { ...props, ownedTokens: {
77
- data: filteredOwnedTokens || [],
78
- isFetching: ownedTokensQuery.isFetching,
79
- showMore: ownedTokensQuery.data?.pagination.hasMore
80
- ? () => {
81
- setOwnedTokensLimit(ownedTokensLimit + OWNED_TOKENS_LIMIT);
82
- }
83
- : undefined,
84
- }, allTokens: {
85
- data: tokensQuery.data || [],
86
- isFetching: tokensQuery.isFetching,
87
- showMore: tokensQuery.data?.length === allTokensLimit
88
- ? () => {
89
- setAllTokensLimit(allTokensLimit + ALL_TOKENS_LIMIT);
90
- }
91
- : undefined,
92
- }, selectedChain: selectedChain, setSelectedChain: setSelectedChain, search: search, setSearch: setSearch, selectedToken: props.selectedToken, setSelectedToken: props.setSelectedToken }));
75
+ const isFetching = tokensQuery.isFetching || ownedTokensQuery.isFetching;
76
+ return (_jsx(SelectTokenUI, { ...props, ownedTokens: filteredOwnedTokens || [], allTokens: tokensQuery.data || [], isFetching: isFetching, selectedChain: selectedChain, setSelectedChain: setSelectedChain, search: search, setSearch: setSearch, selectedToken: props.selectedToken, setSelectedToken: props.setSelectedToken, showMore: tokensQuery.data?.length === limit
77
+ ? () => {
78
+ setLimit(limit + INITIAL_LIMIT);
79
+ }
80
+ : undefined }));
93
81
  }
94
82
  function SelectTokenUI(props) {
95
83
  const isMobile = useIsMobile();
96
84
  const [screen, setScreen] = useState("select-token");
97
85
  // show tokens with icons first
98
86
  const sortedOwnedTokens = useMemo(() => {
99
- return props.ownedTokens.data.sort((a, b) => {
87
+ return props.ownedTokens.sort((a, b) => {
100
88
  if (a.icon_uri && !b.icon_uri) {
101
89
  return -1;
102
90
  }
@@ -105,10 +93,14 @@ function SelectTokenUI(props) {
105
93
  }
106
94
  return 0;
107
95
  });
108
- }, [props.ownedTokens.data]);
96
+ }, [props.ownedTokens]);
97
+ const otherTokens = useMemo(() => {
98
+ const ownedTokenSet = new Set(sortedOwnedTokens.map((t) => `${t.token_address}-${t.chain_id}`.toLowerCase()));
99
+ return props.allTokens.filter((token) => !ownedTokenSet.has(`${token.address}-${token.chainId}`.toLowerCase()));
100
+ }, [props.allTokens, sortedOwnedTokens]);
109
101
  // show tokens with icons first
110
- const sortedAllTokens = useMemo(() => {
111
- return props.allTokens.data.sort((a, b) => {
102
+ const sortedOtherTokens = useMemo(() => {
103
+ return otherTokens.sort((a, b) => {
112
104
  if (a.iconUri && !b.iconUri) {
113
105
  return -1;
114
106
  }
@@ -117,7 +109,7 @@ function SelectTokenUI(props) {
117
109
  }
118
110
  return 0;
119
111
  });
120
- }, [props.allTokens.data]);
112
+ }, [otherTokens]);
121
113
  // desktop
122
114
  if (!isMobile) {
123
115
  return (_jsxs(Container, { style: {
@@ -130,25 +122,13 @@ function SelectTokenUI(props) {
130
122
  }, selectedChain: props.selectedChain }) }), _jsx(Container, { flex: "column", relative: true, scrollY: true, children: _jsx(TokenSelectionScreen, { onSelectToken: (token) => {
131
123
  props.setSelectedToken(token);
132
124
  props.onClose();
133
- }, isMobile: false, selectedToken: props.selectedToken, ownedTokens: {
134
- ...props.ownedTokens,
135
- data: sortedOwnedTokens,
136
- }, allTokens: {
137
- ...props.allTokens,
138
- data: sortedAllTokens,
139
- }, selectedChain: props.selectedChain, onSelectChain: () => setScreen("select-chain"), client: props.client, search: props.search, setSearch: props.setSearch, isWalletConnected: props.activeWalletInfo !== undefined }) })] }));
125
+ }, isMobile: false, selectedToken: props.selectedToken, isFetching: props.isFetching, ownedTokens: props.ownedTokens, otherTokens: sortedOtherTokens, showMore: props.showMore, selectedChain: props.selectedChain, onSelectChain: () => setScreen("select-chain"), client: props.client, search: props.search, setSearch: props.setSearch }) })] }));
140
126
  }
141
127
  if (screen === "select-token") {
142
- return (_jsx(TokenSelectionScreen, { isWalletConnected: props.activeWalletInfo !== undefined, onSelectToken: (token) => {
128
+ return (_jsx(TokenSelectionScreen, { onSelectToken: (token) => {
143
129
  props.setSelectedToken(token);
144
130
  props.onClose();
145
- }, selectedToken: props.selectedToken, ownedTokens: {
146
- ...props.ownedTokens,
147
- data: sortedOwnedTokens,
148
- }, allTokens: {
149
- ...props.allTokens,
150
- data: sortedAllTokens,
151
- }, selectedChain: props.selectedChain, isMobile: true, onSelectChain: () => setScreen("select-chain"), client: props.client, search: props.search, setSearch: props.setSearch }));
131
+ }, selectedToken: props.selectedToken, isFetching: props.isFetching, ownedTokens: props.ownedTokens, otherTokens: sortedOtherTokens, showMore: props.showMore, selectedChain: props.selectedChain, isMobile: true, onSelectChain: () => setScreen("select-chain"), client: props.client, search: props.search, setSearch: props.setSearch }));
152
132
  }
153
133
  if (screen === "select-chain") {
154
134
  return (_jsx(SelectBridgeChain, { isMobile: true, onBack: () => setScreen("select-token"), client: props.client, onSelectChain: (chain) => {
@@ -226,14 +206,9 @@ function TokenButton(props) {
226
206
  }, children: props.token.name }), usdValue && (_jsx(Container, { flex: "row", children: _jsxs(Text, { size: "xs", color: "secondaryText", weight: 400, children: ["$", usdValue.toFixed(2)] }) }))] })] })] }));
227
207
  }
228
208
  function TokenSelectionScreen(props) {
229
- const noAllTokensFound = !props.allTokens.isFetching && props.allTokens.data.length === 0;
230
- const noOwnedTokensFound = !props.ownedTokens.isFetching && props.ownedTokens.data.length === 0;
231
- const [activeTab, setActiveTab] = useState("all");
232
- const showSkeletons = (props.allTokens.isFetching && activeTab === "all") ||
233
- (props.ownedTokens.isFetching && activeTab === "owned");
234
- const showNoTokensFound = (activeTab === "all" && noAllTokensFound) ||
235
- (activeTab === "owned" && noOwnedTokensFound);
236
- const theme = useCustomTheme();
209
+ const noTokensFound = !props.isFetching &&
210
+ props.otherTokens.length === 0 &&
211
+ props.ownedTokens.length === 0;
237
212
  return (_jsxs(Container, { fullHeight: true, flex: "column", children: [_jsxs(Container, { px: "md", pt: "md+", children: [_jsx(Text, { size: "lg", weight: 600, color: "primaryText", trackingTight: true, children: "Select Token" }), _jsx(Spacer, { y: "3xs" }), _jsx(Text, { size: "sm", color: "secondaryText", multiline: true, style: {
238
213
  textWrap: "pretty",
239
214
  }, children: "Select a token from the list or use the search" })] }), !props.selectedChain && (_jsx("div", { style: {
@@ -241,30 +216,32 @@ function TokenSelectionScreen(props) {
241
216
  alignItems: "center",
242
217
  justifyContent: "center",
243
218
  minHeight: "300px",
244
- }, children: _jsx(Spinner, { color: "secondaryText", size: "xl" }) })), props.selectedChain && (_jsxs(_Fragment, { children: [props.isMobile ? (_jsx(Container, { p: "md", children: _jsx(SelectChainButton, { onClick: props.onSelectChain, selectedChain: props.selectedChain, client: props.client }) })) : (_jsx(Spacer, { y: "md" })), _jsx(Container, { px: "md", children: _jsx(SearchInput, { value: props.search, onChange: props.setSearch, placeholder: "Search by token or address", autoFocus: !props.isMobile }) }), _jsx(Spacer, { y: "sm" }), props.isWalletConnected && (_jsxs(Container, { flex: "row", gap: "xs", px: "md", style: { borderBottom: `1px solid ${theme.colors.borderColor}` }, children: [_jsx(TabButton, { isSelected: activeTab === "all", onSelect: () => setActiveTab("all"), label: "All Tokens" }), _jsx(TabButton, { isSelected: activeTab === "owned", onSelect: () => setActiveTab("owned"), label: "Your Tokens" })] })), _jsxs(Container, { pb: "md", px: "md", expand: true, gap: "xxs", flex: "column", style: {
219
+ }, children: _jsx(Spinner, { color: "secondaryText", size: "xl" }) })), props.selectedChain && (_jsxs(_Fragment, { children: [props.isMobile ? (_jsx(Container, { p: "md", children: _jsx(SelectChainButton, { onClick: props.onSelectChain, selectedChain: props.selectedChain, client: props.client }) })) : (_jsx(Spacer, { y: "md" })), _jsx(Container, { px: "md", children: _jsx(SearchInput, { value: props.search, onChange: props.setSearch, placeholder: "Search by token or address", autoFocus: !props.isMobile }) }), _jsx(Spacer, { y: "xs" }), _jsxs(Container, { pb: "md", px: "md", expand: true, gap: "xxs", flex: "column", style: {
245
220
  minHeight: "300px",
246
221
  maxHeight: props.isMobile ? "450px" : "none",
247
222
  overflowY: "auto",
248
223
  scrollbarWidth: "none",
249
224
  paddingBottom: spacing.md,
250
- }, children: [props.isWalletConnected && _jsx(Spacer, { y: "xxs" }), showSkeletons &&
225
+ }, children: [props.isFetching &&
251
226
  new Array(20).fill(0).map((_, i) => (
252
227
  // biome-ignore lint/suspicious/noArrayIndexKey: ok
253
- _jsx(TokenButtonSkeleton, {}, i))), activeTab === "owned" &&
254
- !props.ownedTokens.isFetching &&
255
- props.ownedTokens.data.map((token) => (_jsx(TokenButton, { token: token, client: props.client, onSelect: props.onSelectToken, isSelected: !!props.selectedToken &&
228
+ _jsx(TokenButtonSkeleton, {}, i))), !props.isFetching && props.ownedTokens.length > 0 && (_jsxs(Container, { px: "xs", py: "xs", flex: "row", gap: "xs", center: "y", color: "secondaryText", children: [_jsx(WalletDotIcon, { size: "14" }), _jsx(Text, { size: "sm", color: "secondaryText", style: {
229
+ overflow: "unset",
230
+ }, children: "Your Tokens" })] })), !props.isFetching &&
231
+ props.ownedTokens.map((token) => (_jsx(TokenButton, { token: token, client: props.client, onSelect: props.onSelectToken, isSelected: !!props.selectedToken &&
256
232
  props.selectedToken.tokenAddress.toLowerCase() ===
257
233
  token.token_address.toLowerCase() &&
258
- token.chain_id === props.selectedToken.chainId }, token.token_address))), activeTab === "all" &&
259
- !props.allTokens.isFetching &&
260
- props.allTokens.data.map((token) => (_jsx(TokenButton, { token: token, client: props.client, onSelect: props.onSelectToken, isSelected: !!props.selectedToken &&
234
+ token.chain_id === props.selectedToken.chainId }, token.token_address))), !props.isFetching && props.ownedTokens.length > 0 && (_jsxs(Container, { px: "xs", py: "xs", flex: "row", gap: "xs", center: "y", color: "secondaryText", style: {
235
+ marginTop: spacing.sm,
236
+ }, children: [_jsx(CoinsIcon, { size: "14" }), _jsx(Text, { size: "sm", color: "secondaryText", style: {
237
+ overflow: "unset",
238
+ }, children: "Other Tokens" })] })), !props.isFetching &&
239
+ props.otherTokens.map((token) => (_jsx(TokenButton, { token: token, client: props.client, onSelect: props.onSelectToken, isSelected: !!props.selectedToken &&
261
240
  props.selectedToken.tokenAddress.toLowerCase() ===
262
241
  token.address.toLowerCase() &&
263
- token.chainId === props.selectedToken.chainId }, token.address))), activeTab === "all" && props.allTokens.showMore && (_jsx(Button, { variant: "secondary", fullWidth: true, onClick: () => {
264
- props.allTokens.showMore?.();
265
- }, children: "Load More" })), activeTab === "owned" && props.ownedTokens.showMore && (_jsx(Button, { variant: "secondary", fullWidth: true, onClick: () => {
266
- props.ownedTokens.showMore?.();
267
- }, children: "Load More" })), showNoTokensFound && (_jsx("div", { style: {
242
+ token.chainId === props.selectedToken.chainId }, token.address))), props.showMore && (_jsx(Button, { variant: "secondary", fullWidth: true, onClick: () => {
243
+ props.showMore?.();
244
+ }, children: "Load More" })), noTokensFound && (_jsx("div", { style: {
268
245
  flex: 1,
269
246
  display: "flex",
270
247
  alignItems: "center",
@@ -282,23 +259,4 @@ const LeftContainer = /* @__PURE__ */ StyledDiv((_) => {
282
259
  position: "relative",
283
260
  };
284
261
  });
285
- function TabButton(props) {
286
- const theme = useCustomTheme();
287
- return (_jsxs("div", { style: {
288
- paddingBottom: "4px",
289
- position: "relative",
290
- }, children: [_jsx(Button, { variant: "ghost-solid", onClick: props.onSelect, style: {
291
- fontSize: fontSize.sm,
292
- padding: `10px ${spacing.xs}`,
293
- color: props.isSelected
294
- ? theme.colors.primaryText
295
- : theme.colors.secondaryText,
296
- }, children: props.label }), props.isSelected && (_jsx("div", { style: {
297
- position: "absolute",
298
- left: 0,
299
- right: 0,
300
- bottom: "-1.5px",
301
- borderBottom: `2px solid ${theme.colors.primaryText}`,
302
- } }))] }));
303
- }
304
262
  //# sourceMappingURL=select-token-ui.js.map