@iota/dapp-kit 0.10.4 → 0.11.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.
Files changed (106) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/cjs/components/AccountDropdownMenu.css +50 -16
  3. package/dist/cjs/components/AccountDropdownMenu.css.css +39 -16
  4. package/dist/cjs/components/AccountDropdownMenu.css.css.map +3 -3
  5. package/dist/cjs/components/AccountDropdownMenu.css.d.ts +3 -0
  6. package/dist/cjs/components/AccountDropdownMenu.css.d.ts.map +1 -1
  7. package/dist/cjs/components/AccountDropdownMenu.css.js +12 -6
  8. package/dist/cjs/components/AccountDropdownMenu.css.js.map +2 -2
  9. package/dist/cjs/components/AccountDropdownMenu.css.map +3 -3
  10. package/dist/cjs/components/AccountDropdownMenu.d.ts.map +1 -1
  11. package/dist/cjs/components/AccountDropdownMenu.js +184 -86
  12. package/dist/cjs/components/AccountDropdownMenu.js.map +4 -4
  13. package/dist/cjs/components/ConnectButton.css +50 -16
  14. package/dist/cjs/components/ConnectButton.css.map +3 -3
  15. package/dist/cjs/components/ConnectButton.js +259 -161
  16. package/dist/cjs/components/ConnectButton.js.map +4 -4
  17. package/dist/cjs/components/IotaNameNftImage.css +11 -0
  18. package/dist/cjs/components/IotaNameNftImage.css.css +11 -0
  19. package/dist/cjs/components/IotaNameNftImage.css.css.map +7 -0
  20. package/dist/cjs/components/IotaNameNftImage.css.d.ts +2 -0
  21. package/dist/cjs/components/IotaNameNftImage.css.d.ts.map +1 -0
  22. package/dist/cjs/components/IotaNameNftImage.css.js +27 -0
  23. package/dist/cjs/components/IotaNameNftImage.css.js.map +7 -0
  24. package/dist/cjs/components/IotaNameNftImage.css.map +7 -0
  25. package/dist/cjs/components/IotaNameNftImage.d.ts +8 -0
  26. package/dist/cjs/components/IotaNameNftImage.d.ts.map +1 -0
  27. package/dist/cjs/components/IotaNameNftImage.js +165 -0
  28. package/dist/cjs/components/IotaNameNftImage.js.map +7 -0
  29. package/dist/cjs/hooks/useGetDefaultIotaName.d.ts +1 -1
  30. package/dist/cjs/hooks/useGetDefaultIotaName.d.ts.map +1 -1
  31. package/dist/cjs/hooks/useGetDefaultIotaName.js +26 -16
  32. package/dist/cjs/hooks/useGetDefaultIotaName.js.map +4 -4
  33. package/dist/cjs/hooks/useGetIotaNameAvatar.d.ts +2 -0
  34. package/dist/cjs/hooks/useGetIotaNameAvatar.d.ts.map +1 -0
  35. package/dist/cjs/hooks/useGetIotaNameAvatar.js +144 -0
  36. package/dist/cjs/hooks/useGetIotaNameAvatar.js.map +7 -0
  37. package/dist/cjs/hooks/useIotaClientInfiniteQuery.d.ts +1 -1
  38. package/dist/cjs/hooks/useIotaClientInfiniteQuery.d.ts.map +1 -1
  39. package/dist/cjs/hooks/useIotaClientInfiniteQuery.js +1 -0
  40. package/dist/cjs/hooks/useIotaClientInfiniteQuery.js.map +2 -2
  41. package/dist/cjs/hooks/useIotaNamesClient.d.ts +7 -0
  42. package/dist/cjs/hooks/useIotaNamesClient.d.ts.map +1 -0
  43. package/dist/cjs/hooks/useIotaNamesClient.js +71 -0
  44. package/dist/cjs/hooks/useIotaNamesClient.js.map +7 -0
  45. package/dist/cjs/index.css +50 -16
  46. package/dist/cjs/index.css.map +3 -3
  47. package/dist/cjs/index.js +172 -76
  48. package/dist/cjs/index.js.map +4 -4
  49. package/dist/esm/components/AccountDropdownMenu.css +50 -16
  50. package/dist/esm/components/AccountDropdownMenu.css.css +39 -16
  51. package/dist/esm/components/AccountDropdownMenu.css.css.map +3 -3
  52. package/dist/esm/components/AccountDropdownMenu.css.d.ts +3 -0
  53. package/dist/esm/components/AccountDropdownMenu.css.d.ts.map +1 -1
  54. package/dist/esm/components/AccountDropdownMenu.css.js +12 -6
  55. package/dist/esm/components/AccountDropdownMenu.css.js.map +2 -2
  56. package/dist/esm/components/AccountDropdownMenu.css.map +3 -3
  57. package/dist/esm/components/AccountDropdownMenu.d.ts.map +1 -1
  58. package/dist/esm/components/AccountDropdownMenu.js +177 -79
  59. package/dist/esm/components/AccountDropdownMenu.js.map +4 -4
  60. package/dist/esm/components/ConnectButton.css +50 -16
  61. package/dist/esm/components/ConnectButton.css.map +3 -3
  62. package/dist/esm/components/ConnectButton.js +236 -138
  63. package/dist/esm/components/ConnectButton.js.map +4 -4
  64. package/dist/esm/components/IotaNameNftImage.css +11 -0
  65. package/dist/esm/components/IotaNameNftImage.css.css +11 -0
  66. package/dist/esm/components/IotaNameNftImage.css.css.map +7 -0
  67. package/dist/esm/components/IotaNameNftImage.css.d.ts +2 -0
  68. package/dist/esm/components/IotaNameNftImage.css.d.ts.map +1 -0
  69. package/dist/esm/components/IotaNameNftImage.css.js +6 -0
  70. package/dist/esm/components/IotaNameNftImage.css.js.map +7 -0
  71. package/dist/esm/components/IotaNameNftImage.css.map +7 -0
  72. package/dist/esm/components/IotaNameNftImage.d.ts +8 -0
  73. package/dist/esm/components/IotaNameNftImage.d.ts.map +1 -0
  74. package/dist/esm/components/IotaNameNftImage.js +144 -0
  75. package/dist/esm/components/IotaNameNftImage.js.map +7 -0
  76. package/dist/esm/hooks/useGetDefaultIotaName.d.ts +1 -1
  77. package/dist/esm/hooks/useGetDefaultIotaName.d.ts.map +1 -1
  78. package/dist/esm/hooks/useGetDefaultIotaName.js +26 -16
  79. package/dist/esm/hooks/useGetDefaultIotaName.js.map +4 -4
  80. package/dist/esm/hooks/useGetIotaNameAvatar.d.ts +2 -0
  81. package/dist/esm/hooks/useGetIotaNameAvatar.d.ts.map +1 -0
  82. package/dist/esm/hooks/useGetIotaNameAvatar.js +123 -0
  83. package/dist/esm/hooks/useGetIotaNameAvatar.js.map +7 -0
  84. package/dist/esm/hooks/useIotaClientInfiniteQuery.d.ts +1 -1
  85. package/dist/esm/hooks/useIotaClientInfiniteQuery.d.ts.map +1 -1
  86. package/dist/esm/hooks/useIotaClientInfiniteQuery.js +1 -0
  87. package/dist/esm/hooks/useIotaClientInfiniteQuery.js.map +2 -2
  88. package/dist/esm/hooks/useIotaNamesClient.d.ts +7 -0
  89. package/dist/esm/hooks/useIotaNamesClient.d.ts.map +1 -0
  90. package/dist/esm/hooks/useIotaNamesClient.js +50 -0
  91. package/dist/esm/hooks/useIotaNamesClient.js.map +7 -0
  92. package/dist/esm/index.css +50 -16
  93. package/dist/esm/index.css.map +3 -3
  94. package/dist/esm/index.js +143 -47
  95. package/dist/esm/index.js.map +4 -4
  96. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  97. package/dist/tsconfig.tsbuildinfo +1 -1
  98. package/package.json +4 -10
  99. package/src/components/AccountDropdownMenu.css.ts +24 -1
  100. package/src/components/AccountDropdownMenu.tsx +12 -2
  101. package/src/components/IotaNameNftImage.css.ts +14 -0
  102. package/src/components/IotaNameNftImage.tsx +30 -0
  103. package/src/hooks/useGetDefaultIotaName.ts +6 -22
  104. package/src/hooks/useGetIotaNameAvatar.ts +72 -0
  105. package/src/hooks/useIotaClientInfiniteQuery.ts +2 -1
  106. package/src/hooks/useIotaNamesClient.ts +29 -0
@@ -211,13 +211,16 @@ function useSwitchAccount({
211
211
  }
212
212
 
213
213
  // src/components/AccountDropdownMenu.css.ts
214
+ var accountIdentity = "AccountDropdownMenu_accountIdentity__1x0gmpf8";
215
+ var accountName = "AccountDropdownMenu_accountName__1x0gmpf1";
216
+ var accountNameMenuItem = "AccountDropdownMenu_accountNameMenuItem__1x0gmpf2";
214
217
  var connectedAccount = "AccountDropdownMenu_connectedAccount__1x0gmpf0";
215
- var menuContainer = "AccountDropdownMenu_menuContainer__1x0gmpf1";
216
- var menuContent = "AccountDropdownMenu_menuContent__1x0gmpf2";
217
- var menuItem = "AccountDropdownMenu_menuItem__1x0gmpf4";
218
- var scrollableContent = "AccountDropdownMenu_scrollableContent__1x0gmpf3";
219
- var separator = "AccountDropdownMenu_separator__1x0gmpf6";
220
- var switchAccountMenuItem = "AccountDropdownMenu_switchAccountMenuItem__1x0gmpf5";
218
+ var menuContainer = "AccountDropdownMenu_menuContainer__1x0gmpf3";
219
+ var menuContent = "AccountDropdownMenu_menuContent__1x0gmpf4";
220
+ var menuItem = "AccountDropdownMenu_menuItem__1x0gmpf6";
221
+ var scrollableContent = "AccountDropdownMenu_scrollableContent__1x0gmpf5";
222
+ var separator = "AccountDropdownMenu_separator__1x0gmpf9";
223
+ var switchAccountMenuItem = "AccountDropdownMenu_switchAccountMenuItem__1x0gmpf7";
221
224
 
222
225
  // src/components/icons/CheckIcon.tsx
223
226
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -246,9 +249,150 @@ function ChevronIcon(props) {
246
249
  ) });
247
250
  }
248
251
 
252
+ // src/components/IotaNameNftImage.tsx
253
+ var import_react6 = require("react");
254
+
255
+ // src/hooks/useGetIotaNameAvatar.ts
256
+ var import_iota_names_sdk3 = require("@iota/iota-names-sdk");
257
+ var import_react_query4 = require("@tanstack/react-query");
258
+
259
+ // src/hooks/useGetDefaultIotaName.ts
260
+ var import_iota_names_sdk2 = require("@iota/iota-names-sdk");
261
+ var import_react_query3 = require("@tanstack/react-query");
262
+
263
+ // src/hooks/useIotaNamesClient.ts
264
+ var import_graphql = require("@iota/iota-sdk/graphql");
265
+ var import_iota_names_sdk = require("@iota/iota-names-sdk");
266
+ var import_client2 = require("@iota/iota-sdk/client");
267
+ var import_react5 = require("react");
268
+
269
+ // src/hooks/useIotaClient.ts
270
+ var import_react4 = require("react");
271
+
272
+ // src/components/IotaClientProvider.tsx
273
+ var import_client = require("@iota/iota-sdk/client");
274
+ var import_react3 = require("react");
275
+ var import_jsx_runtime3 = require("react/jsx-runtime");
276
+ var IotaClientContext = (0, import_react3.createContext)(null);
277
+ var DEFAULT_NETWORKS = {
278
+ localnet: { url: (0, import_client.getNetwork)(import_client.Network.Localnet)?.url }
279
+ };
280
+
281
+ // src/hooks/useIotaClient.ts
282
+ function useIotaClientContext() {
283
+ const iotaClient = (0, import_react4.useContext)(IotaClientContext);
284
+ if (!iotaClient) {
285
+ throw new Error(
286
+ "Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
287
+ );
288
+ }
289
+ return iotaClient;
290
+ }
291
+ function useIotaClient() {
292
+ return useIotaClientContext().client;
293
+ }
294
+
295
+ // src/hooks/useIotaNamesClient.ts
296
+ function useIotaNamesClient() {
297
+ const { network: networkId } = useIotaClientContext();
298
+ const network = (0, import_client2.getNetwork)(networkId);
299
+ const iotaNamesClient = (0, import_react5.useMemo)(() => {
300
+ if (!network.graphql) return null;
301
+ return new import_iota_names_sdk.IotaNamesClient({
302
+ graphQlClient: new import_graphql.IotaGraphQLClient({ url: network.graphql }),
303
+ network: network.id
304
+ });
305
+ }, [network.id, network.graphql]);
306
+ return {
307
+ iotaNamesClient,
308
+ networkId: network.id,
309
+ isSupported: !!iotaNamesClient?.config
310
+ };
311
+ }
312
+
313
+ // src/hooks/useGetDefaultIotaName.ts
314
+ function useGetDefaultIotaName(address, iotaNamesEnabled) {
315
+ const { iotaNamesClient, networkId, isSupported } = useIotaNamesClient();
316
+ return (0, import_react_query3.useQuery)({
317
+ queryKey: ["iota-name", "default-name", address, networkId],
318
+ queryFn: async () => {
319
+ if (!address) return null;
320
+ const name = await iotaNamesClient?.getPublicName(address);
321
+ return name ? (0, import_iota_names_sdk2.normalizeIotaName)(name) : name;
322
+ },
323
+ enabled: !!address && iotaNamesEnabled && isSupported,
324
+ staleTime: 1e3 * 60 * 10
325
+ });
326
+ }
327
+
328
+ // src/hooks/useGetIotaNameAvatar.ts
329
+ function useGetIotaNameAvatar(address, iotaNamesEnabled) {
330
+ const client = useIotaClient();
331
+ const { iotaNamesClient, networkId, isSupported } = useIotaNamesClient();
332
+ const { data: name } = useGetDefaultIotaName(address, iotaNamesEnabled);
333
+ return (0, import_react_query4.useQuery)({
334
+ // eslint-disable-next-line @tanstack/query/exhaustive-deps
335
+ queryKey: ["iota-name", "avatar", name, networkId],
336
+ queryFn: async () => {
337
+ if (!name || !address || !iotaNamesClient) return null;
338
+ const nameRecord = await iotaNamesClient.getNameRecord(name);
339
+ if (!nameRecord) return null;
340
+ const avatarObjectId = nameRecord.avatar ?? ((0, import_iota_names_sdk3.isSubname)(name) ? await findSubnameNftId() : nameRecord.nftId);
341
+ if (!avatarObjectId) return null;
342
+ const objectResponse = await client.getObject({
343
+ id: avatarObjectId,
344
+ options: { showDisplay: true }
345
+ });
346
+ return objectResponse?.data?.display?.data?.image_url ?? null;
347
+ async function findSubnameNftId() {
348
+ let subnameType;
349
+ try {
350
+ subnameType = (0, import_iota_names_sdk3.getSubnameRegistrationType)(
351
+ iotaNamesClient.getPackage("packageId", "v1")
352
+ );
353
+ } catch {
354
+ return null;
355
+ }
356
+ const { data } = await client.getOwnedObjects({
357
+ owner: address,
358
+ filter: { StructType: subnameType },
359
+ options: { showDisplay: true }
360
+ });
361
+ return data.find((object) => {
362
+ try {
363
+ return (0, import_iota_names_sdk3.normalizeIotaName)(object.data?.display?.data?.name ?? "") === name;
364
+ } catch {
365
+ return false;
366
+ }
367
+ })?.data?.objectId ?? null;
368
+ }
369
+ },
370
+ enabled: iotaNamesEnabled && isSupported && !!name && !!address,
371
+ staleTime: 1e3 * 60 * 5
372
+ });
373
+ }
374
+
375
+ // src/components/IotaNameNftImage.css.ts
376
+ var image = "IotaNameNftImage_image__qs9r060";
377
+
378
+ // src/components/IotaNameNftImage.tsx
379
+ var import_jsx_runtime4 = require("react/jsx-runtime");
380
+ function IotaNameNftImage({
381
+ address,
382
+ iotaNamesEnabled,
383
+ alt = "name NFT avatar"
384
+ }) {
385
+ const { data: imageUrl, isLoading } = useGetIotaNameAvatar(address, iotaNamesEnabled);
386
+ const [imgError, setImgError] = (0, import_react6.useState)(false);
387
+ if (!iotaNamesEnabled || isLoading || !imageUrl || imgError) {
388
+ return null;
389
+ }
390
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("img", { src: imageUrl, alt, className: image, onError: () => setImgError(true) });
391
+ }
392
+
249
393
  // src/components/styling/StyleMarker.tsx
250
394
  var import_react_slot = require("@radix-ui/react-slot");
251
- var import_react3 = require("react");
395
+ var import_react7 = require("react");
252
396
 
253
397
  // src/constants/styleDataAttribute.ts
254
398
  var styleDataAttributeName = "data-dapp-kit";
@@ -257,25 +401,25 @@ var styleDataAttribute = { [styleDataAttributeName]: "" };
257
401
 
258
402
  // src/components/styling/StyleMarker.tsx
259
403
  var import_StyleMarker_css = __toESM(require_StyleMarker_css());
260
- var import_jsx_runtime3 = require("react/jsx-runtime");
261
- var StyleMarker = (0, import_react3.forwardRef)(({ children, ...props }, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_slot.Slot, { ref: forwardedRef, ...props, ...styleDataAttribute, children }));
404
+ var import_jsx_runtime5 = require("react/jsx-runtime");
405
+ var StyleMarker = (0, import_react7.forwardRef)(({ children, ...props }, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_slot.Slot, { ref: forwardedRef, ...props, ...styleDataAttribute, children }));
262
406
  StyleMarker.displayName = "StyleMarker";
263
407
 
264
408
  // src/components/ui/Button.tsx
265
409
  var import_react_slot2 = require("@radix-ui/react-slot");
266
410
  var import_clsx = __toESM(require("clsx"));
267
- var import_react4 = require("react");
411
+ var import_react8 = require("react");
268
412
 
269
413
  // src/components/ui/Button.css.ts
270
414
  var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
271
415
  var buttonVariants = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "Button_buttonVariants__ctbx2n0", variantClassNames: { variant: { primary: "Button_buttonVariants_variant_primary__ctbx2n1", outline: "Button_buttonVariants_variant_outline__ctbx2n2" }, size: { md: "Button_buttonVariants_size_md__ctbx2n3", lg: "Button_buttonVariants_size_lg__ctbx2n4" } }, defaultVariants: { variant: "primary", size: "md" }, compoundVariants: [] });
272
416
 
273
417
  // src/components/ui/Button.tsx
274
- var import_jsx_runtime4 = require("react/jsx-runtime");
275
- var Button = (0, import_react4.forwardRef)(
418
+ var import_jsx_runtime6 = require("react/jsx-runtime");
419
+ var Button = (0, import_react8.forwardRef)(
276
420
  ({ className, variant, size, asChild = false, ...props }, forwardedRef) => {
277
421
  const Comp = asChild ? import_react_slot2.Slot : "button";
278
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
422
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
279
423
  Comp,
280
424
  {
281
425
  ...props,
@@ -290,15 +434,15 @@ Button.displayName = "Button";
290
434
  // src/components/ui/Text.tsx
291
435
  var import_react_slot3 = require("@radix-ui/react-slot");
292
436
  var import_clsx2 = __toESM(require("clsx"));
293
- var import_react5 = require("react");
437
+ var import_react9 = require("react");
294
438
 
295
439
  // src/components/ui/Text.css.ts
296
440
  var import_createRuntimeFn2 = require("@vanilla-extract/recipes/createRuntimeFn");
297
441
  var textVariants = (0, import_createRuntimeFn2.createRuntimeFn)({ defaultClassName: "Text__aprhbd0", variantClassNames: { size: { sm: "Text_textVariants_size_sm__aprhbd1" }, weight: { normal: "Text_textVariants_weight_normal__aprhbd2", medium: "Text_textVariants_weight_medium__aprhbd3", bold: "Text_textVariants_weight_bold__aprhbd4" }, color: { muted: "Text_textVariants_color_muted__aprhbd5", danger: "Text_textVariants_color_danger__aprhbd6" }, mono: { true: "Text_textVariants_mono_true__aprhbd7" } }, defaultVariants: { size: "sm", weight: "normal" }, compoundVariants: [] });
298
442
 
299
443
  // src/components/ui/Text.tsx
300
- var import_jsx_runtime5 = require("react/jsx-runtime");
301
- var Text = (0, import_react5.forwardRef)(
444
+ var import_jsx_runtime7 = require("react/jsx-runtime");
445
+ var Text = (0, import_react9.forwardRef)(
302
446
  ({
303
447
  children,
304
448
  className,
@@ -310,77 +454,21 @@ var Text = (0, import_react5.forwardRef)(
310
454
  mono,
311
455
  ...textProps
312
456
  }, forwardedRef) => {
313
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
457
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
314
458
  import_react_slot3.Slot,
315
459
  {
316
460
  ...textProps,
317
461
  ref: forwardedRef,
318
462
  className: (0, import_clsx2.default)(textVariants({ size, weight, color, mono }), className),
319
- children: asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Tag, { children })
463
+ children: asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Tag, { children })
320
464
  }
321
465
  );
322
466
  }
323
467
  );
324
468
  Text.displayName = "Text";
325
469
 
326
- // src/hooks/useGetDefaultIotaName.ts
327
- var import_client2 = require("@iota/iota-sdk/client");
328
- var import_react_query3 = require("@tanstack/react-query");
329
- var import_iota_names_sdk = require("@iota/iota-names-sdk");
330
-
331
- // src/hooks/useIotaClient.ts
332
- var import_react7 = require("react");
333
-
334
- // src/components/IotaClientProvider.tsx
335
- var import_client = require("@iota/iota-sdk/client");
336
- var import_react6 = require("react");
337
- var import_jsx_runtime6 = require("react/jsx-runtime");
338
- var IotaClientContext = (0, import_react6.createContext)(null);
339
- var DEFAULT_NETWORKS = {
340
- localnet: { url: (0, import_client.getNetwork)(import_client.Network.Localnet)?.url }
341
- };
342
-
343
- // src/hooks/useIotaClient.ts
344
- function useIotaClientContext() {
345
- const iotaClient = (0, import_react7.useContext)(IotaClientContext);
346
- if (!iotaClient) {
347
- throw new Error(
348
- "Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
349
- );
350
- }
351
- return iotaClient;
352
- }
353
-
354
- // src/hooks/useGetDefaultIotaName.ts
355
- var import_react8 = require("react");
356
- var import_graphql = require("@iota/iota-sdk/graphql");
357
- function useGetDefaultIotaName(address, iotaNamesEnabled) {
358
- const iotaContext = useIotaClientContext();
359
- const network = (0, import_client2.getNetwork)(iotaContext.network);
360
- const iotaNamesClient = (0, import_react8.useMemo)(() => {
361
- const iotaGraphQLClient = new import_graphql.IotaGraphQLClient({
362
- url: network.graphql
363
- });
364
- return new import_iota_names_sdk.IotaNamesClient({
365
- graphQlClient: iotaGraphQLClient,
366
- network: network.id
367
- });
368
- }, [network.id]);
369
- const iotaNamesSupported = !!iotaNamesClient.config;
370
- return (0, import_react_query3.useQuery)({
371
- queryKey: ["iota-name", "default-name", address],
372
- queryFn: async () => {
373
- if (!address) return null;
374
- const name = await iotaNamesClient?.getPublicName(address);
375
- return name ? (0, import_iota_names_sdk.normalizeIotaName)(name) : name;
376
- },
377
- enabled: !!iotaNamesClient && !!address && iotaNamesEnabled && iotaNamesSupported,
378
- staleTime: 1e3 * 60 * 10
379
- });
380
- }
381
-
382
470
  // src/components/AccountDropdownMenu.tsx
383
- var import_jsx_runtime7 = require("react/jsx-runtime");
471
+ var import_jsx_runtime8 = require("react/jsx-runtime");
384
472
  function AccountDropdownMenu({
385
473
  currentAccount,
386
474
  size = "lg",
@@ -390,13 +478,20 @@ function AccountDropdownMenu({
390
478
  const accounts = useAccounts();
391
479
  const { data: iotaName } = useGetDefaultIotaName(currentAccount.address, iotaNamesEnabled);
392
480
  const displayAccount = iotaName ?? currentAccount.label ?? (0, import_utils.formatAddress)(currentAccount.address);
393
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(DropdownMenu.Root, { modal: false, children: [
394
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Button, { size, className: connectedAccount, children: [
395
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Text, { mono: true, weight: "bold", children: displayAccount }),
396
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(ChevronIcon, {})
481
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(DropdownMenu.Root, { modal: false, children: [
482
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Button, { size, className: connectedAccount, children: [
483
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
484
+ IotaNameNftImage,
485
+ {
486
+ address: currentAccount.address,
487
+ iotaNamesEnabled
488
+ }
489
+ ),
490
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { mono: true, weight: "bold", className: accountName, children: displayAccount }),
491
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(ChevronIcon, {})
397
492
  ] }) }) }),
398
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(StyleMarker, { className: menuContainer, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(DropdownMenu.Content, { className: menuContent, children: [
399
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: scrollableContent, children: accounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
493
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(StyleMarker, { className: menuContainer, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(DropdownMenu.Content, { className: menuContent, children: [
494
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: scrollableContent, children: accounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
400
495
  AccountDropdownMenuItem,
401
496
  {
402
497
  account,
@@ -405,8 +500,8 @@ function AccountDropdownMenu({
405
500
  },
406
501
  account.address
407
502
  )) }),
408
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DropdownMenu.Separator, { className: separator }),
409
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
503
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(DropdownMenu.Separator, { className: separator }),
504
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
410
505
  DropdownMenu.Item,
411
506
  {
412
507
  className: (0, import_clsx3.default)(menuItem),
@@ -425,14 +520,17 @@ function AccountDropdownMenuItem({
425
520
  const { mutate: switchAccount } = useSwitchAccount();
426
521
  const { data: iotaName } = useGetDefaultIotaName(account.address, iotaNamesEnabled);
427
522
  const displayAccount = iotaName ?? account.label ?? (0, import_utils.formatAddress)(account.address);
428
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
523
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
429
524
  DropdownMenu.Item,
430
525
  {
431
526
  className: (0, import_clsx3.default)(menuItem, switchAccountMenuItem),
432
527
  onSelect: () => switchAccount({ account }),
433
528
  children: [
434
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Text, { mono: true, children: displayAccount }),
435
- active ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CheckIcon, {}) : null
529
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: accountIdentity, children: [
530
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(IotaNameNftImage, { address: account.address, iotaNamesEnabled }),
531
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { mono: true, className: accountNameMenuItem, children: displayAccount })
532
+ ] }),
533
+ active ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CheckIcon, {}) : null
436
534
  ]
437
535
  }
438
536
  );
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9", "../../../src/components/styling/StyleMarker.css.ts", "../../../src/components/AccountDropdownMenu.tsx", "../../../src/hooks/wallet/useWalletStore.ts", "../../../src/contexts/walletContext.ts", "../../../src/hooks/wallet/useAccounts.ts", "../../../src/hooks/wallet/useDisconnectWallet.ts", "../../../src/constants/walletMutationKeys.ts", "../../../src/errors/walletErrors.ts", "../../../src/hooks/wallet/useCurrentWallet.ts", "../../../src/hooks/wallet/useSwitchAccount.ts", "../../../src/components/AccountDropdownMenu.css.ts", "../../../src/components/icons/CheckIcon.tsx", "../../../src/components/icons/ChevronIcon.tsx", "../../../src/components/styling/StyleMarker.tsx", "../../../src/constants/styleDataAttribute.ts", "../../../src/components/ui/Button.tsx", "../../../src/components/ui/Button.css.ts", "../../../src/components/ui/Text.tsx", "../../../src/components/ui/Text.css.ts", "../../../src/hooks/useGetDefaultIotaName.ts", "../../../src/hooks/useIotaClient.ts", "../../../src/components/IotaClientProvider.tsx"],
4
- "sourcesContent": ["[data-dapp-kit]:where(*), [data-dapp-kit] :where(*) {\n box-sizing: border-box;\n color: var(--dapp-kit-colors-body);\n font-family: var(--dapp-kit-typography-fontFamily);\n font-size: var(--dapp-kit-fontWeights-normal);\n font-style: var(--dapp-kit-typography-fontStyle);\n font-weight: var(--dapp-kit-fontWeights-normal);\n line-height: var(--dapp-kit-typography-lineHeight);\n letter-spacing: var(--dapp-kit-typography-letterSpacing);\n}\n[data-dapp-kit]:where(button), [data-dapp-kit] :where(button) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: transparent;\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n border: 0;\n padding: 0;\n margin: 0;\n}\n[data-dapp-kit]:where(a), [data-dapp-kit] :where(a) {\n text-decoration: none;\n color: inherit;\n outline: none;\n}\n[data-dapp-kit]:where(ol, ul), [data-dapp-kit] :where(ol, ul) {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n[data-dapp-kit]:where(h1, h2, h3, h4, h5, h6), [data-dapp-kit] :where(h1, h2, h3, h4, h5, h6) {\n font-size: inherit;\n font-weight: inherit;\n margin: 0;\n}", "import 'src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9';", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { formatAddress } from '@iota/iota-sdk/utils';\nimport type { WalletAccount } from '@iota/wallet-standard';\nimport * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport clsx from 'clsx';\n\nimport { useAccounts } from '../hooks/wallet/useAccounts.js';\nimport { useDisconnectWallet } from '../hooks/wallet/useDisconnectWallet.js';\nimport { useSwitchAccount } from '../hooks/wallet/useSwitchAccount.js';\nimport * as styles from './AccountDropdownMenu.css.js';\nimport { CheckIcon } from './icons/CheckIcon.js';\nimport { ChevronIcon } from './icons/ChevronIcon.js';\nimport { StyleMarker } from './styling/StyleMarker.js';\nimport { Button } from './ui/Button.js';\nimport { Text } from './ui/Text.js';\nimport { useGetDefaultIotaName } from '../hooks/useGetDefaultIotaName.js';\n\ntype AccountDropdownMenuProps = {\n currentAccount: WalletAccount;\n size?: React.ComponentProps<typeof Button>['size'];\n iotaNamesEnabled: boolean;\n};\n\nexport function AccountDropdownMenu({\n currentAccount,\n size = 'lg',\n iotaNamesEnabled,\n}: AccountDropdownMenuProps) {\n const { mutate: disconnectWallet } = useDisconnectWallet();\n const accounts = useAccounts();\n const { data: iotaName } = useGetDefaultIotaName(currentAccount.address, iotaNamesEnabled);\n const displayAccount =\n iotaName ?? currentAccount.label ?? formatAddress(currentAccount.address);\n\n return (\n <DropdownMenu.Root modal={false}>\n <StyleMarker>\n <DropdownMenu.Trigger asChild>\n <Button size={size} className={styles.connectedAccount}>\n <Text mono weight=\"bold\">\n {displayAccount}\n </Text>\n <ChevronIcon />\n </Button>\n </DropdownMenu.Trigger>\n </StyleMarker>\n <DropdownMenu.Portal>\n <StyleMarker className={styles.menuContainer}>\n <DropdownMenu.Content className={styles.menuContent}>\n <div className={styles.scrollableContent}>\n {accounts.map((account) => (\n <AccountDropdownMenuItem\n key={account.address}\n account={account}\n active={currentAccount.address === account.address}\n iotaNamesEnabled={iotaNamesEnabled}\n />\n ))}\n </div>\n <DropdownMenu.Separator className={styles.separator} />\n <DropdownMenu.Item\n className={clsx(styles.menuItem)}\n onSelect={() => disconnectWallet()}\n >\n Disconnect\n </DropdownMenu.Item>\n </DropdownMenu.Content>\n </StyleMarker>\n </DropdownMenu.Portal>\n </DropdownMenu.Root>\n );\n}\n\nexport function AccountDropdownMenuItem({\n account,\n active,\n iotaNamesEnabled,\n}: {\n account: WalletAccount;\n active?: boolean;\n iotaNamesEnabled: boolean;\n}) {\n const { mutate: switchAccount } = useSwitchAccount();\n const { data: iotaName } = useGetDefaultIotaName(account.address, iotaNamesEnabled);\n const displayAccount = iotaName ?? account.label ?? formatAddress(account.address);\n\n return (\n <DropdownMenu.Item\n className={clsx(styles.menuItem, styles.switchAccountMenuItem)}\n onSelect={() => switchAccount({ account })}\n >\n <Text mono>{displayAccount}</Text>\n {active ? <CheckIcon /> : null}\n </DropdownMenu.Item>\n );\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n const store = useContext(WalletContext);\n if (!store) {\n throw new Error(\n 'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n );\n }\n return useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@iota/wallet-standard';\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves a list of connected accounts authorized by the dApp.\n */\nexport function useAccounts(): readonly WalletAccount[] {\n return useWalletStore((state) => state.accounts);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { WalletNotConnectedError } from '../../errors/walletErrors.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype UseDisconnectWalletError = WalletNotConnectedError | Error;\n\ntype UseDisconnectWalletMutationOptions = Omit<\n UseMutationOptions<void, UseDisconnectWalletError, void, unknown>,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for disconnecting from an active wallet connection, if currently connected.\n */\nexport function useDisconnectWallet({\n mutationKey,\n ...mutationOptions\n}: UseDisconnectWalletMutationOptions = {}): UseMutationResult<\n void,\n UseDisconnectWalletError,\n void\n> {\n const { currentWallet } = useCurrentWallet();\n const setWalletDisconnected = useWalletStore((state) => state.setWalletDisconnected);\n\n return useMutation({\n mutationKey: walletMutationKeys.disconnectWallet(mutationKey),\n mutationFn: async () => {\n if (!currentWallet) {\n throw new WalletNotConnectedError('No wallet is connected.');\n }\n\n try {\n // Wallets aren't required to implement the disconnect feature, so we'll\n // optionally call the disconnect feature if it exists and reset the UI\n // state on the frontend at a minimum.\n await currentWallet.features['standard:disconnect']?.disconnect();\n } catch (error) {\n console.error(\n 'Failed to disconnect the application from the current wallet.',\n error,\n );\n }\n\n setWalletDisconnected();\n },\n ...mutationOptions,\n });\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { MutationKey } from '@tanstack/react-query';\n\nexport const walletMutationKeys = {\n all: { baseScope: 'wallet' },\n connectWallet: formMutationKeyFn('connect-wallet'),\n autoconnectWallet: formMutationKeyFn('autoconnect-wallet'),\n disconnectWallet: formMutationKeyFn('disconnect-wallet'),\n signPersonalMessage: formMutationKeyFn('sign-personal-message'),\n signTransaction: formMutationKeyFn('sign-transaction'),\n signAndExecuteTransaction: formMutationKeyFn('sign-and-execute-transaction'),\n switchAccount: formMutationKeyFn('switch-account'),\n reportTransactionEffects: formMutationKeyFn('report-transaction-effects'),\n};\n\nfunction formMutationKeyFn(baseEntity: string) {\n return function mutationKeyFn(additionalKeys: MutationKey = []) {\n return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];\n };\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * An error that is instantiated when someone attempts to perform an action that requires an active wallet connection.\n */\nexport class WalletNotConnectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that requires a selected wallet account.\n * This is more of an edge case stemming from the fact that wallets don't technically require you to authorize any\n * accounts when connecting a wallet.\n */\nexport class WalletNoAccountSelectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that isn't supported by a wallet.\n */\nexport class WalletFeatureNotSupportedError extends Error {}\n\n/**\n * An error that is instantiated when a wallet account can't be found for a specific wallet.\n */\nexport class WalletAccountNotFoundError extends Error {}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves the wallet that is currently connected to the dApp, if one exists.\n */\nexport function useCurrentWallet() {\n const currentWallet = useWalletStore((state) => state.currentWallet);\n const connectionStatus = useWalletStore((state) => state.connectionStatus);\n const supportedIntents = useWalletStore((state) => state.supportedIntents);\n\n switch (connectionStatus) {\n case 'connecting':\n return {\n connectionStatus,\n currentWallet: null,\n isDisconnected: false,\n isConnecting: true,\n isConnected: false,\n supportedIntents: [],\n } as const;\n case 'disconnected':\n return {\n connectionStatus,\n currentWallet: null,\n isDisconnected: true,\n isConnecting: false,\n isConnected: false,\n supportedIntents: [],\n } as const;\n case 'connected': {\n return {\n connectionStatus,\n currentWallet: currentWallet!,\n isDisconnected: false,\n isConnecting: false,\n isConnected: true,\n supportedIntents,\n } as const;\n }\n }\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@iota/wallet-standard';\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { WalletAccountNotFoundError, WalletNotConnectedError } from '../../errors/walletErrors.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype SwitchAccountArgs = {\n account: WalletAccount;\n};\n\ntype SwitchAccountResult = void;\n\ntype UseSwitchAccountError = WalletNotConnectedError | WalletAccountNotFoundError | Error;\n\ntype UseSwitchAccountMutationOptions = Omit<\n UseMutationOptions<SwitchAccountResult, UseSwitchAccountError, SwitchAccountArgs, unknown>,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for switching to a specific wallet account.\n */\nexport function useSwitchAccount({\n mutationKey,\n ...mutationOptions\n}: UseSwitchAccountMutationOptions = {}): UseMutationResult<\n SwitchAccountResult,\n UseSwitchAccountError,\n SwitchAccountArgs\n> {\n const { currentWallet } = useCurrentWallet();\n const setAccountSwitched = useWalletStore((state) => state.setAccountSwitched);\n\n return useMutation({\n mutationKey: walletMutationKeys.switchAccount(mutationKey),\n mutationFn: async ({ account }) => {\n if (!currentWallet) {\n throw new WalletNotConnectedError('No wallet is connected.');\n }\n\n const accountToSelect = currentWallet.accounts.find(\n (walletAccount) => walletAccount.address === account.address,\n );\n if (!accountToSelect) {\n throw new WalletAccountNotFoundError(\n `No account with address ${account.address} is connected to ${currentWallet.name}.`,\n );\n }\n\n setAccountSwitched(accountToSelect);\n },\n ...mutationOptions,\n });\n}\n", "import 'src/components/AccountDropdownMenu.css.ts.vanilla.css?source=#H4sIAAAAAAAAA6VTPW/bMBDd/Ss4NgMDqXGLlJmSdOmQqWNRGDR5plhTdwR5jOQW/e+FGH/BidMG1ULg3ed773R5awwV5M+JoqUBHwDLwhAiGAa7DS4W7di4Pq4a8WsmhNNRies43sx+zy5fqu8Byz0ha4+Q9sVtLf4pPVoYlfi0+/7aBo42eF+bWJ9j0BslVgHGm5mor7Q+gWFPqIShUHqcIoO33CnRXjexZvZ6lB1417ESV80eTM6jZIpKzJ+gqK316LZEj0kLsaRkIcmkrS9ZiUed3klpdYxy7bnCXgadHFzUbG3WLlFBKw0FSs8KDgn3UzxLe6TCxVl5skkUgl4GOBXpqopEj5BWgQa5UUIXprPsq3gu0aBE+6oZXxj6/ZB5HXIq0675fNu7ZEgyQwDDSiAhTCAVDh7hADzzUwfvUHqGPithABnSW4X/Zx7frGYtO++6MO0O9ntl9nbbYvK9Tpu7wkz4im+DZ9NtIw+n63x4+cB/lMx+tZHmyWolctQG5BJ4AMCzkp1bAaJOmunwc36sY3futUeHkbvkca1E8/+3/HU3dhLnD4QDgFt6BAAA';\nexport var connectedAccount = 'AccountDropdownMenu_connectedAccount__1x0gmpf0';\nexport var menuContainer = 'AccountDropdownMenu_menuContainer__1x0gmpf1';\nexport var menuContent = 'AccountDropdownMenu_menuContent__1x0gmpf2';\nexport var menuItem = 'AccountDropdownMenu_menuItem__1x0gmpf4';\nexport var scrollableContent = 'AccountDropdownMenu_scrollableContent__1x0gmpf3';\nexport var separator = 'AccountDropdownMenu_separator__1x0gmpf6';\nexport var switchAccountMenuItem = 'AccountDropdownMenu_switchAccountMenuItem__1x0gmpf5';", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentProps } from 'react';\n\nexport function CheckIcon(props: ComponentProps<'svg'>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} fill=\"none\" {...props}>\n <path\n fill=\"currentColor\"\n d=\"m11.726 5.048-4.73 5.156-1.722-1.879a.72.72 0 0 0-.529-.23.722.722 0 0 0-.525.24.858.858 0 0 0-.22.573.86.86 0 0 0 .211.576l2.255 2.458c.14.153.332.24.53.24.2 0 .391-.087.532-.24l5.261-5.735A.86.86 0 0 0 13 5.63a.858.858 0 0 0-.22-.572.722.722 0 0 0-.525-.24.72.72 0 0 0-.529.23Z\"\n />\n </svg>\n );\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentProps } from 'react';\n\nexport function ChevronIcon(props: ComponentProps<'svg'>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} fill=\"none\" {...props}>\n <path\n stroke=\"#A0B6C3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n d=\"m4 6 4 4 4-4\"\n />\n </svg>\n );\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentPropsWithoutRef, ElementRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport { styleDataAttribute } from '../../constants/styleDataAttribute.js';\n\nimport './StyleMarker.css.js';\n\ntype StyleMarker = {\n children: ReactNode;\n};\n\nexport const StyleMarker = forwardRef<\n ElementRef<typeof Slot>,\n ComponentPropsWithoutRef<typeof Slot>\n>(({ children, ...props }, forwardedRef) => (\n <Slot ref={forwardedRef} {...props} {...styleDataAttribute}>\n {children}\n </Slot>\n));\nStyleMarker.displayName = 'StyleMarker';\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nexport const styleDataAttributeName = 'data-dapp-kit';\n\nexport const styleDataAttributeSelector = `[${styleDataAttributeName}]`;\n\nexport const styleDataAttribute = { [styleDataAttributeName]: '' };\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx';\nimport type { ButtonHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { buttonVariants } from './Button.css.js';\nimport type { ButtonVariants } from './Button.css.js';\n\ntype ButtonProps = {\n asChild?: boolean;\n} & ButtonHTMLAttributes<HTMLButtonElement> &\n ButtonVariants;\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'button';\n return (\n <Comp\n {...props}\n className={clsx(buttonVariants({ variant, size }), className)}\n ref={forwardedRef}\n />\n );\n },\n);\nButton.displayName = 'Button';\n\nexport { Button };\n", "import 'src/components/ui/Button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7WSwVLCMBCG732KPcohDCA6TrjpxSfQYydt0rKQJplkC60O7+6ktCMKog56Smb/ZP9v/2R8XxNZk2bd8iQ8CkMhTXPKmpmZwGsCIDE4LVoOaDQaxQqtmkUCIDSWhiGpKnDIlSHlY3lVB8KiZbk1pAwdSoU1xLYKyyVx2Ah/xZgUzrE1EovacycFVimJdTVaJLtkfB6QSwwi00p2pNaJHKnlMBnfnLm82W9S57ESvh2aTbsemcjXpbe1kSy32voj0PcDD1EPrG+z9xrFOU9fzE8f/zUmX9qN8n8B+xgb/QTB1hSffkCY7c2tl8qzLUpacpi67lP0xUCtVhyC1SgPyl9AdmIP2Fv9W5qfR7kozQ+w36YZ8EWllRysrw9T9EJiHY4cYxlZUWvdReGElGhKDneugeltjPy8my4Ht/kFbtEJZnPXwCLZvQFzXfF3MwQAAA==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var buttonVariants = _7a468({defaultClassName:'Button_buttonVariants__ctbx2n0',variantClassNames:{variant:{primary:'Button_buttonVariants_variant_primary__ctbx2n1',outline:'Button_buttonVariants_variant_outline__ctbx2n2'},size:{md:'Button_buttonVariants_size_md__ctbx2n3',lg:'Button_buttonVariants_size_lg__ctbx2n4'}},defaultVariants:{variant:'primary',size:'md'},compoundVariants:[]});", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx';\nimport { forwardRef } from 'react';\n\nimport { textVariants } from './Text.css.js';\nimport type { TextVariants } from './Text.css.js';\n\ntype TextAsChildProps = {\n asChild?: boolean;\n as?: never;\n};\n\ntype TextDivProps = { as: 'div'; asChild?: never };\n\ntype TextProps = (TextAsChildProps | TextDivProps) &\n React.HTMLAttributes<HTMLDivElement> &\n TextVariants;\n\nconst Text = forwardRef<HTMLDivElement, TextProps>(\n (\n {\n children,\n className,\n asChild = false,\n as: Tag = 'div',\n size,\n weight,\n color,\n mono,\n ...textProps\n },\n forwardedRef,\n ) => {\n return (\n <Slot\n {...textProps}\n ref={forwardedRef}\n className={clsx(textVariants({ size, weight, color, mono }), className)}\n >\n {asChild ? children : <Tag>{children}</Tag>}\n </Slot>\n );\n },\n);\nText.displayName = 'Text';\n\nexport { Text };\n", "import 'src/components/ui/Text.css.ts.vanilla.css?source=LlRleHRfdGV4dFZhcmlhbnRzX3NpemVfc21fX2FwcmhiZDEgewogIGZvbnQtc2l6ZTogdmFyKC0tZGFwcC1raXQtZm9udFNpemVzLXNtYWxsKTsKfQouVGV4dF90ZXh0VmFyaWFudHNfd2VpZ2h0X25vcm1hbF9fYXByaGJkMiB7CiAgZm9udC13ZWlnaHQ6IHZhcigtLWRhcHAta2l0LWZvbnRXZWlnaHRzLW5vcm1hbCk7Cn0KLlRleHRfdGV4dFZhcmlhbnRzX3dlaWdodF9tZWRpdW1fX2FwcmhiZDMgewogIGZvbnQtd2VpZ2h0OiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1tZWRpdW0pOwp9Ci5UZXh0X3RleHRWYXJpYW50c193ZWlnaHRfYm9sZF9fYXByaGJkNCB7CiAgZm9udC13ZWlnaHQ6IHZhcigtLWRhcHAta2l0LWZvbnRXZWlnaHRzLWJvbGQpOwp9Ci5UZXh0X3RleHRWYXJpYW50c19jb2xvcl9tdXRlZF9fYXByaGJkNSB7CiAgY29sb3I6IHZhcigtLWRhcHAta2l0LWNvbG9ycy1ib2R5TXV0ZWQpOwp9Ci5UZXh0X3RleHRWYXJpYW50c19jb2xvcl9kYW5nZXJfX2FwcmhiZDYgewogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keURhbmdlcik7Cn0KLlRleHRfdGV4dFZhcmlhbnRzX21vbm9fdHJ1ZV9fYXByaGJkNyB7CiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAiTGliZXJhdGlvbiBNb25vIiwgIkNvdXJpZXIgTmV3IiwgbW9ub3NwYWNlOwp9';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var textVariants = _7a468({defaultClassName:'Text__aprhbd0',variantClassNames:{size:{sm:'Text_textVariants_size_sm__aprhbd1'},weight:{normal:'Text_textVariants_weight_normal__aprhbd2',medium:'Text_textVariants_weight_medium__aprhbd3',bold:'Text_textVariants_weight_bold__aprhbd4'},color:{muted:'Text_textVariants_color_muted__aprhbd5',danger:'Text_textVariants_color_danger__aprhbd6'},mono:{true:'Text_textVariants_mono_true__aprhbd7'}},defaultVariants:{size:'sm',weight:'normal'},compoundVariants:[]});", "// Copyright (c) 2025 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getNetwork } from '@iota/iota-sdk/client';\nimport { useQuery } from '@tanstack/react-query';\nimport { IotaNamesClient, normalizeIotaName } from '@iota/iota-names-sdk';\nimport { useIotaClientContext } from './useIotaClient.js';\nimport { useMemo } from 'react';\nimport { IotaGraphQLClient } from '@iota/iota-sdk/graphql';\n\nexport function useGetDefaultIotaName(\n address: string | null | undefined,\n iotaNamesEnabled: boolean,\n) {\n const iotaContext = useIotaClientContext();\n const network = getNetwork(iotaContext.network);\n\n const iotaNamesClient = useMemo(() => {\n const iotaGraphQLClient = new IotaGraphQLClient({\n url: network.graphql!,\n });\n\n return new IotaNamesClient({\n graphQlClient: iotaGraphQLClient,\n network: network.id,\n });\n }, [network.id]);\n\n const iotaNamesSupported = !!iotaNamesClient.config;\n\n return useQuery({\n queryKey: ['iota-name', 'default-name', address],\n queryFn: async () => {\n if (!address) return null;\n\n const name = await iotaNamesClient?.getPublicName(address);\n\n return name ? normalizeIotaName(name) : name;\n },\n enabled: !!iotaNamesClient && !!address && iotaNamesEnabled && iotaNamesSupported,\n staleTime: 1000 * 60 * 10,\n });\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { useContext } from 'react';\n\nimport { IotaClientContext } from '../components/IotaClientProvider.js';\n\nexport function useIotaClientContext() {\n const iotaClient = useContext(IotaClientContext);\n\n if (!iotaClient) {\n throw new Error(\n 'Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider',\n );\n }\n\n return iotaClient;\n}\n\nexport function useIotaClient(): IotaClient {\n return useIotaClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getNetwork, isIotaClient, Network, IotaClient } from '@iota/iota-sdk/client';\nimport type { IotaClientOptions } from '@iota/iota-sdk/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | IotaClient = NetworkConfig | IotaClient> = Record<\n string,\n T\n>;\n\nexport interface IotaClientProviderContext {\n client: IotaClient;\n networks: NetworkConfigs;\n network: string;\n config: NetworkConfig | null;\n selectNetwork: (network: string) => void;\n}\n\nexport const IotaClientContext = createContext<IotaClientProviderContext | null>(null);\n\nexport type IotaClientProviderProps<T extends NetworkConfigs> = {\n createClient?: (name: keyof T, config: T[keyof T]) => IotaClient;\n children: React.ReactNode;\n networks?: T;\n onNetworkChange?: (network: keyof T & string) => void;\n} & (\n | {\n defaultNetwork?: keyof T & string;\n network?: never;\n }\n | {\n defaultNetwork?: never;\n network?: keyof T & string;\n }\n);\n\nconst DEFAULT_NETWORKS = {\n localnet: { url: getNetwork(Network.Localnet)?.url },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n _name: string,\n config: NetworkConfig | IotaClient,\n) {\n if (isIotaClient(config)) {\n return config;\n }\n\n return new IotaClient(config);\n};\n\nexport function IotaClientProvider<T extends NetworkConfigs>(props: IotaClientProviderProps<T>) {\n const { onNetworkChange, network, children } = props;\n const networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n const createClient =\n (props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n const [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n props.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n );\n\n const currentNetwork = props.network ?? selectedNetwork;\n\n const client = useMemo(() => {\n return createClient(currentNetwork, networks[currentNetwork]);\n }, [createClient, currentNetwork, networks]);\n\n const ctx = useMemo((): IotaClientProviderContext => {\n return {\n client,\n networks,\n network: currentNetwork,\n config:\n networks[currentNetwork] instanceof IotaClient\n ? null\n : (networks[currentNetwork] as IotaClientOptions),\n selectNetwork: (newNetwork) => {\n if (currentNetwork === newNetwork) {\n return;\n }\n\n if (!network && newNetwork !== selectedNetwork) {\n setSelectedNetwork(newNetwork);\n }\n\n onNetworkChange?.(newNetwork);\n },\n };\n }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n return <IotaClientContext.Provider value={ctx}>{children}</IotaClientContext.Provider>;\n}\n"],
5
- "mappings": "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",
6
- "names": ["import_clsx", "import_react", "import_react_query", "import_jsx_runtime", "import_react", "import_jsx_runtime", "import_react_slot", "import_react", "_7a468", "import_jsx_runtime", "clsx", "import_react_slot", "import_clsx", "import_react", "import_createRuntimeFn", "_7a468", "import_jsx_runtime", "clsx", "import_client", "import_react_query", "import_react", "import_react", "import_jsx_runtime", "import_react", "import_jsx_runtime", "clsx"]
3
+ "sources": ["vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9", "../../../src/components/styling/StyleMarker.css.ts", "../../../src/components/AccountDropdownMenu.tsx", "../../../src/hooks/wallet/useWalletStore.ts", "../../../src/contexts/walletContext.ts", "../../../src/hooks/wallet/useAccounts.ts", "../../../src/hooks/wallet/useDisconnectWallet.ts", "../../../src/constants/walletMutationKeys.ts", "../../../src/errors/walletErrors.ts", "../../../src/hooks/wallet/useCurrentWallet.ts", "../../../src/hooks/wallet/useSwitchAccount.ts", "../../../src/components/AccountDropdownMenu.css.ts", "../../../src/components/icons/CheckIcon.tsx", "../../../src/components/icons/ChevronIcon.tsx", "../../../src/components/IotaNameNftImage.tsx", "../../../src/hooks/useGetIotaNameAvatar.ts", "../../../src/hooks/useGetDefaultIotaName.ts", "../../../src/hooks/useIotaNamesClient.ts", "../../../src/hooks/useIotaClient.ts", "../../../src/components/IotaClientProvider.tsx", "../../../src/components/IotaNameNftImage.css.ts", "../../../src/components/styling/StyleMarker.tsx", "../../../src/constants/styleDataAttribute.ts", "../../../src/components/ui/Button.tsx", "../../../src/components/ui/Button.css.ts", "../../../src/components/ui/Text.tsx", "../../../src/components/ui/Text.css.ts"],
4
+ "sourcesContent": ["[data-dapp-kit]:where(*), [data-dapp-kit] :where(*) {\n box-sizing: border-box;\n color: var(--dapp-kit-colors-body);\n font-family: var(--dapp-kit-typography-fontFamily);\n font-size: var(--dapp-kit-fontWeights-normal);\n font-style: var(--dapp-kit-typography-fontStyle);\n font-weight: var(--dapp-kit-fontWeights-normal);\n line-height: var(--dapp-kit-typography-lineHeight);\n letter-spacing: var(--dapp-kit-typography-letterSpacing);\n}\n[data-dapp-kit]:where(button), [data-dapp-kit] :where(button) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: transparent;\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n color: inherit;\n border: 0;\n padding: 0;\n margin: 0;\n}\n[data-dapp-kit]:where(a), [data-dapp-kit] :where(a) {\n text-decoration: none;\n color: inherit;\n outline: none;\n}\n[data-dapp-kit]:where(ol, ul), [data-dapp-kit] :where(ol, ul) {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n[data-dapp-kit]:where(h1, h2, h3, h4, h5, h6), [data-dapp-kit] :where(h1, h2, h3, h4, h5, h6) {\n font-size: inherit;\n font-weight: inherit;\n margin: 0;\n}", "import 'src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9';", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { formatAddress } from '@iota/iota-sdk/utils';\nimport type { WalletAccount } from '@iota/wallet-standard';\nimport * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport clsx from 'clsx';\n\nimport { useAccounts } from '../hooks/wallet/useAccounts.js';\nimport { useDisconnectWallet } from '../hooks/wallet/useDisconnectWallet.js';\nimport { useSwitchAccount } from '../hooks/wallet/useSwitchAccount.js';\nimport * as styles from './AccountDropdownMenu.css.js';\nimport { CheckIcon } from './icons/CheckIcon.js';\nimport { ChevronIcon } from './icons/ChevronIcon.js';\nimport { IotaNameNftImage } from './IotaNameNftImage.js';\nimport { StyleMarker } from './styling/StyleMarker.js';\nimport { Button } from './ui/Button.js';\nimport { Text } from './ui/Text.js';\nimport { useGetDefaultIotaName } from '../hooks/useGetDefaultIotaName.js';\n\ntype AccountDropdownMenuProps = {\n currentAccount: WalletAccount;\n size?: React.ComponentProps<typeof Button>['size'];\n iotaNamesEnabled: boolean;\n};\n\nexport function AccountDropdownMenu({\n currentAccount,\n size = 'lg',\n iotaNamesEnabled,\n}: AccountDropdownMenuProps) {\n const { mutate: disconnectWallet } = useDisconnectWallet();\n const accounts = useAccounts();\n const { data: iotaName } = useGetDefaultIotaName(currentAccount.address, iotaNamesEnabled);\n const displayAccount =\n iotaName ?? currentAccount.label ?? formatAddress(currentAccount.address);\n\n return (\n <DropdownMenu.Root modal={false}>\n <StyleMarker>\n <DropdownMenu.Trigger asChild>\n <Button size={size} className={styles.connectedAccount}>\n <IotaNameNftImage\n address={currentAccount.address}\n iotaNamesEnabled={iotaNamesEnabled}\n />\n <Text mono weight=\"bold\" className={styles.accountName}>\n {displayAccount}\n </Text>\n <ChevronIcon />\n </Button>\n </DropdownMenu.Trigger>\n </StyleMarker>\n <DropdownMenu.Portal>\n <StyleMarker className={styles.menuContainer}>\n <DropdownMenu.Content className={styles.menuContent}>\n <div className={styles.scrollableContent}>\n {accounts.map((account) => (\n <AccountDropdownMenuItem\n key={account.address}\n account={account}\n active={currentAccount.address === account.address}\n iotaNamesEnabled={iotaNamesEnabled}\n />\n ))}\n </div>\n <DropdownMenu.Separator className={styles.separator} />\n <DropdownMenu.Item\n className={clsx(styles.menuItem)}\n onSelect={() => disconnectWallet()}\n >\n Disconnect\n </DropdownMenu.Item>\n </DropdownMenu.Content>\n </StyleMarker>\n </DropdownMenu.Portal>\n </DropdownMenu.Root>\n );\n}\n\nexport function AccountDropdownMenuItem({\n account,\n active,\n iotaNamesEnabled,\n}: {\n account: WalletAccount;\n active?: boolean;\n iotaNamesEnabled: boolean;\n}) {\n const { mutate: switchAccount } = useSwitchAccount();\n const { data: iotaName } = useGetDefaultIotaName(account.address, iotaNamesEnabled);\n const displayAccount = iotaName ?? account.label ?? formatAddress(account.address);\n\n return (\n <DropdownMenu.Item\n className={clsx(styles.menuItem, styles.switchAccountMenuItem)}\n onSelect={() => switchAccount({ account })}\n >\n <div className={styles.accountIdentity}>\n <IotaNameNftImage address={account.address} iotaNamesEnabled={iotaNamesEnabled} />\n <Text mono className={styles.accountNameMenuItem}>\n {displayAccount}\n </Text>\n </div>\n {active ? <CheckIcon /> : null}\n </DropdownMenu.Item>\n );\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useContext } from 'react';\nimport { useStore } from 'zustand';\n\nimport { WalletContext } from '../../contexts/walletContext.js';\nimport type { StoreState } from '../../walletStore.js';\n\nexport function useWalletStore<T>(selector: (state: StoreState) => T): T {\n const store = useContext(WalletContext);\n if (!store) {\n throw new Error(\n 'Could not find WalletContext. Ensure that you have set up the WalletProvider.',\n );\n }\n return useStore(store, selector);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { createContext } from 'react';\n\nimport type { WalletStore } from '../walletStore.js';\n\nexport const WalletContext = createContext<WalletStore | null>(null);\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@iota/wallet-standard';\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves a list of connected accounts authorized by the dApp.\n */\nexport function useAccounts(): readonly WalletAccount[] {\n return useWalletStore((state) => state.accounts);\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { WalletNotConnectedError } from '../../errors/walletErrors.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype UseDisconnectWalletError = WalletNotConnectedError | Error;\n\ntype UseDisconnectWalletMutationOptions = Omit<\n UseMutationOptions<void, UseDisconnectWalletError, void, unknown>,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for disconnecting from an active wallet connection, if currently connected.\n */\nexport function useDisconnectWallet({\n mutationKey,\n ...mutationOptions\n}: UseDisconnectWalletMutationOptions = {}): UseMutationResult<\n void,\n UseDisconnectWalletError,\n void\n> {\n const { currentWallet } = useCurrentWallet();\n const setWalletDisconnected = useWalletStore((state) => state.setWalletDisconnected);\n\n return useMutation({\n mutationKey: walletMutationKeys.disconnectWallet(mutationKey),\n mutationFn: async () => {\n if (!currentWallet) {\n throw new WalletNotConnectedError('No wallet is connected.');\n }\n\n try {\n // Wallets aren't required to implement the disconnect feature, so we'll\n // optionally call the disconnect feature if it exists and reset the UI\n // state on the frontend at a minimum.\n await currentWallet.features['standard:disconnect']?.disconnect();\n } catch (error) {\n console.error(\n 'Failed to disconnect the application from the current wallet.',\n error,\n );\n }\n\n setWalletDisconnected();\n },\n ...mutationOptions,\n });\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { MutationKey } from '@tanstack/react-query';\n\nexport const walletMutationKeys = {\n all: { baseScope: 'wallet' },\n connectWallet: formMutationKeyFn('connect-wallet'),\n autoconnectWallet: formMutationKeyFn('autoconnect-wallet'),\n disconnectWallet: formMutationKeyFn('disconnect-wallet'),\n signPersonalMessage: formMutationKeyFn('sign-personal-message'),\n signTransaction: formMutationKeyFn('sign-transaction'),\n signAndExecuteTransaction: formMutationKeyFn('sign-and-execute-transaction'),\n switchAccount: formMutationKeyFn('switch-account'),\n reportTransactionEffects: formMutationKeyFn('report-transaction-effects'),\n};\n\nfunction formMutationKeyFn(baseEntity: string) {\n return function mutationKeyFn(additionalKeys: MutationKey = []) {\n return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];\n };\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * An error that is instantiated when someone attempts to perform an action that requires an active wallet connection.\n */\nexport class WalletNotConnectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that requires a selected wallet account.\n * This is more of an edge case stemming from the fact that wallets don't technically require you to authorize any\n * accounts when connecting a wallet.\n */\nexport class WalletNoAccountSelectedError extends Error {}\n\n/**\n * An error that is instantiated when someone attempts to perform an action that isn't supported by a wallet.\n */\nexport class WalletFeatureNotSupportedError extends Error {}\n\n/**\n * An error that is instantiated when a wallet account can't be found for a specific wallet.\n */\nexport class WalletAccountNotFoundError extends Error {}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useWalletStore } from './useWalletStore.js';\n\n/**\n * Retrieves the wallet that is currently connected to the dApp, if one exists.\n */\nexport function useCurrentWallet() {\n const currentWallet = useWalletStore((state) => state.currentWallet);\n const connectionStatus = useWalletStore((state) => state.connectionStatus);\n const supportedIntents = useWalletStore((state) => state.supportedIntents);\n\n switch (connectionStatus) {\n case 'connecting':\n return {\n connectionStatus,\n currentWallet: null,\n isDisconnected: false,\n isConnecting: true,\n isConnected: false,\n supportedIntents: [],\n } as const;\n case 'disconnected':\n return {\n connectionStatus,\n currentWallet: null,\n isDisconnected: true,\n isConnecting: false,\n isConnected: false,\n supportedIntents: [],\n } as const;\n case 'connected': {\n return {\n connectionStatus,\n currentWallet: currentWallet!,\n isDisconnected: false,\n isConnecting: false,\n isConnected: true,\n supportedIntents,\n } as const;\n }\n }\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { WalletAccount } from '@iota/wallet-standard';\nimport type { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';\nimport { useMutation } from '@tanstack/react-query';\n\nimport { walletMutationKeys } from '../../constants/walletMutationKeys.js';\nimport { WalletAccountNotFoundError, WalletNotConnectedError } from '../../errors/walletErrors.js';\nimport { useCurrentWallet } from './useCurrentWallet.js';\nimport { useWalletStore } from './useWalletStore.js';\n\ntype SwitchAccountArgs = {\n account: WalletAccount;\n};\n\ntype SwitchAccountResult = void;\n\ntype UseSwitchAccountError = WalletNotConnectedError | WalletAccountNotFoundError | Error;\n\ntype UseSwitchAccountMutationOptions = Omit<\n UseMutationOptions<SwitchAccountResult, UseSwitchAccountError, SwitchAccountArgs, unknown>,\n 'mutationFn'\n>;\n\n/**\n * Mutation hook for switching to a specific wallet account.\n */\nexport function useSwitchAccount({\n mutationKey,\n ...mutationOptions\n}: UseSwitchAccountMutationOptions = {}): UseMutationResult<\n SwitchAccountResult,\n UseSwitchAccountError,\n SwitchAccountArgs\n> {\n const { currentWallet } = useCurrentWallet();\n const setAccountSwitched = useWalletStore((state) => state.setAccountSwitched);\n\n return useMutation({\n mutationKey: walletMutationKeys.switchAccount(mutationKey),\n mutationFn: async ({ account }) => {\n if (!currentWallet) {\n throw new WalletNotConnectedError('No wallet is connected.');\n }\n\n const accountToSelect = currentWallet.accounts.find(\n (walletAccount) => walletAccount.address === account.address,\n );\n if (!accountToSelect) {\n throw new WalletAccountNotFoundError(\n `No account with address ${account.address} is connected to ${currentWallet.name}.`,\n );\n }\n\n setAccountSwitched(accountToSelect);\n },\n ...mutationOptions,\n });\n}\n", "import 'src/components/AccountDropdownMenu.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7VUwW7bMAy95yt0XA8qkjTbWu20dZcetsuOwxAoEmOzkSlBoupkw/59sBInaZO0KYb6Ypi0yMf3nnj52Rifib9GH6xv6RtQnhpPBIbBbpLT6Wg5rJowH4o/AyEqHZS4DstPg7+Dy2Pn9Tr2XTewPToqRxu9lC1arpUYTYZdCSH8A8S5860SNVoL1MUYlix3CXAOQ8LUpdoaGWQK2oAS5NuowzlAuu87hmYLaHwAaPz2gBqgfOuJNRLELZSrAuW3RLKwVOKmf14sA3vaTEoRiyk4vVJi7qAM072lxQiG0ZMSxrvclJE2Y4/7sTsqasCqZiWuhttgrJAk+6DEZB0K2lqkamOBfTsIMfPRQpRRW8xJiQcd30lpdQhygVzCKJ2OFVyUv7VZVNFnstJ45+PBgd0Pt10+SbvHwsVJepKJ3jk9c/CUpPeFpF5HuVJCZ/Ynpy/kVbFTfPSsGI+c9aE0eUpTX7y3fU4QZQIHhjvbEBTrZXZIsAsc6KkdViSRoUlKGCCG+Friz57jp9WsZY1V7TrsYH+VyV4vW4jY6Lj6kpk9PaNbi2zqTebgwn48bvD7nBjnK2nWUitRbqKcAbewvrsnKDt3jd1ZIEZebYFcHwfyYhshGqR+2wyPb5pTzEDQUbPf7YybAqI31WjPr6mOSItNh/+7Yj/6tp1m/wB141KsKwYAAA==';\nexport var accountIdentity = 'AccountDropdownMenu_accountIdentity__1x0gmpf8';\nexport var accountName = 'AccountDropdownMenu_accountName__1x0gmpf1';\nexport var accountNameMenuItem = 'AccountDropdownMenu_accountNameMenuItem__1x0gmpf2';\nexport var connectedAccount = 'AccountDropdownMenu_connectedAccount__1x0gmpf0';\nexport var menuContainer = 'AccountDropdownMenu_menuContainer__1x0gmpf3';\nexport var menuContent = 'AccountDropdownMenu_menuContent__1x0gmpf4';\nexport var menuItem = 'AccountDropdownMenu_menuItem__1x0gmpf6';\nexport var scrollableContent = 'AccountDropdownMenu_scrollableContent__1x0gmpf5';\nexport var separator = 'AccountDropdownMenu_separator__1x0gmpf9';\nexport var switchAccountMenuItem = 'AccountDropdownMenu_switchAccountMenuItem__1x0gmpf7';", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentProps } from 'react';\n\nexport function CheckIcon(props: ComponentProps<'svg'>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} fill=\"none\" {...props}>\n <path\n fill=\"currentColor\"\n d=\"m11.726 5.048-4.73 5.156-1.722-1.879a.72.72 0 0 0-.529-.23.722.722 0 0 0-.525.24.858.858 0 0 0-.22.573.86.86 0 0 0 .211.576l2.255 2.458c.14.153.332.24.53.24.2 0 .391-.087.532-.24l5.261-5.735A.86.86 0 0 0 13 5.63a.858.858 0 0 0-.22-.572.722.722 0 0 0-.525-.24.72.72 0 0 0-.529.23Z\"\n />\n </svg>\n );\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ComponentProps } from 'react';\n\nexport function ChevronIcon(props: ComponentProps<'svg'>) {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width={16} height={16} fill=\"none\" {...props}>\n <path\n stroke=\"#A0B6C3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n d=\"m4 6 4 4 4-4\"\n />\n </svg>\n );\n}\n", "// Copyright (c) 2026 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useState } from 'react';\n\nimport { useGetIotaNameAvatar } from '../hooks/useGetIotaNameAvatar.js';\nimport * as styles from './IotaNameNftImage.css.js';\n\ninterface IotaNameNftImageProps {\n address: string | null | undefined;\n iotaNamesEnabled: boolean;\n alt?: string;\n}\n\nexport function IotaNameNftImage({\n address,\n iotaNamesEnabled,\n alt = 'name NFT avatar',\n}: IotaNameNftImageProps) {\n const { data: imageUrl, isLoading } = useGetIotaNameAvatar(address, iotaNamesEnabled);\n const [imgError, setImgError] = useState(false);\n\n if (!iotaNamesEnabled || isLoading || !imageUrl || imgError) {\n return null;\n }\n\n return (\n <img src={imageUrl} alt={alt} className={styles.image} onError={() => setImgError(true)} />\n );\n}\n", "// Copyright (c) 2026 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getSubnameRegistrationType, isSubname, normalizeIotaName } from '@iota/iota-names-sdk';\nimport { useQuery } from '@tanstack/react-query';\n\nimport { useGetDefaultIotaName } from './useGetDefaultIotaName.js';\nimport { useIotaClient } from './useIotaClient.js';\nimport { useIotaNamesClient } from './useIotaNamesClient.js';\n\nexport function useGetIotaNameAvatar(\n address: string | null | undefined,\n iotaNamesEnabled: boolean,\n) {\n const client = useIotaClient();\n const { iotaNamesClient, networkId, isSupported } = useIotaNamesClient();\n const { data: name } = useGetDefaultIotaName(address, iotaNamesEnabled);\n\n return useQuery({\n // eslint-disable-next-line @tanstack/query/exhaustive-deps\n queryKey: ['iota-name', 'avatar', name, networkId],\n queryFn: async () => {\n if (!name || !address || !iotaNamesClient) return null;\n\n const nameRecord = await iotaNamesClient.getNameRecord(name);\n if (!nameRecord) return null;\n\n const avatarObjectId =\n nameRecord.avatar ??\n (isSubname(name) ? await findSubnameNftId() : nameRecord.nftId);\n if (!avatarObjectId) return null;\n\n const objectResponse = await client.getObject({\n id: avatarObjectId,\n options: { showDisplay: true },\n });\n\n return objectResponse?.data?.display?.data?.image_url ?? null;\n\n async function findSubnameNftId() {\n let subnameType: string;\n try {\n subnameType = getSubnameRegistrationType(\n iotaNamesClient!.getPackage('packageId', 'v1'),\n );\n } catch {\n return null;\n }\n\n const { data } = await client.getOwnedObjects({\n owner: address!,\n filter: { StructType: subnameType },\n options: { showDisplay: true },\n });\n\n return (\n data.find((object) => {\n try {\n return (\n normalizeIotaName(object.data?.display?.data?.name ?? '') === name\n );\n } catch {\n return false;\n }\n })?.data?.objectId ?? null\n );\n }\n },\n enabled: iotaNamesEnabled && isSupported && !!name && !!address,\n staleTime: 1000 * 60 * 5,\n });\n}\n", "// Copyright (c) 2025 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { normalizeIotaName } from '@iota/iota-names-sdk';\nimport { useQuery } from '@tanstack/react-query';\n\nimport { useIotaNamesClient } from './useIotaNamesClient.js';\n\nexport function useGetDefaultIotaName(\n address: string | null | undefined,\n iotaNamesEnabled: boolean,\n) {\n const { iotaNamesClient, networkId, isSupported } = useIotaNamesClient();\n\n return useQuery({\n queryKey: ['iota-name', 'default-name', address, networkId],\n queryFn: async () => {\n if (!address) return null;\n\n const name = await iotaNamesClient?.getPublicName(address);\n\n return name ? normalizeIotaName(name) : name;\n },\n enabled: !!address && iotaNamesEnabled && isSupported,\n staleTime: 1000 * 60 * 10,\n });\n}\n", "// Copyright (c) 2026 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { IotaGraphQLClient } from '@iota/iota-sdk/graphql';\nimport { IotaNamesClient } from '@iota/iota-names-sdk';\nimport { getNetwork } from '@iota/iota-sdk/client';\nimport { useMemo } from 'react';\n\nimport { useIotaClientContext } from './useIotaClient.js';\n\nexport function useIotaNamesClient() {\n const { network: networkId } = useIotaClientContext();\n const network = getNetwork(networkId);\n\n const iotaNamesClient = useMemo(() => {\n if (!network.graphql) return null;\n\n return new IotaNamesClient({\n graphQlClient: new IotaGraphQLClient({ url: network.graphql }),\n network: network.id,\n });\n }, [network.id, network.graphql]);\n\n return {\n iotaNamesClient,\n networkId: network.id,\n isSupported: !!iotaNamesClient?.config,\n };\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { IotaClient } from '@iota/iota-sdk/client';\nimport { useContext } from 'react';\n\nimport { IotaClientContext } from '../components/IotaClientProvider.js';\n\nexport function useIotaClientContext() {\n const iotaClient = useContext(IotaClientContext);\n\n if (!iotaClient) {\n throw new Error(\n 'Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider',\n );\n }\n\n return iotaClient;\n}\n\nexport function useIotaClient(): IotaClient {\n return useIotaClientContext().client;\n}\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getNetwork, isIotaClient, Network, IotaClient } from '@iota/iota-sdk/client';\nimport type { IotaClientOptions } from '@iota/iota-sdk/client';\nimport { createContext, useMemo, useState } from 'react';\n\nimport type { NetworkConfig } from '../hooks/networkConfig.js';\n\ntype NetworkConfigs<T extends NetworkConfig | IotaClient = NetworkConfig | IotaClient> = Record<\n string,\n T\n>;\n\nexport interface IotaClientProviderContext {\n client: IotaClient;\n networks: NetworkConfigs;\n network: string;\n config: NetworkConfig | null;\n selectNetwork: (network: string) => void;\n}\n\nexport const IotaClientContext = createContext<IotaClientProviderContext | null>(null);\n\nexport type IotaClientProviderProps<T extends NetworkConfigs> = {\n createClient?: (name: keyof T, config: T[keyof T]) => IotaClient;\n children: React.ReactNode;\n networks?: T;\n onNetworkChange?: (network: keyof T & string) => void;\n} & (\n | {\n defaultNetwork?: keyof T & string;\n network?: never;\n }\n | {\n defaultNetwork?: never;\n network?: keyof T & string;\n }\n);\n\nconst DEFAULT_NETWORKS = {\n localnet: { url: getNetwork(Network.Localnet)?.url },\n};\n\nconst DEFAULT_CREATE_CLIENT = function createClient(\n _name: string,\n config: NetworkConfig | IotaClient,\n) {\n if (isIotaClient(config)) {\n return config;\n }\n\n return new IotaClient(config);\n};\n\nexport function IotaClientProvider<T extends NetworkConfigs>(props: IotaClientProviderProps<T>) {\n const { onNetworkChange, network, children } = props;\n const networks = (props.networks ?? DEFAULT_NETWORKS) as T;\n const createClient =\n (props.createClient as typeof DEFAULT_CREATE_CLIENT) ?? DEFAULT_CREATE_CLIENT;\n\n const [selectedNetwork, setSelectedNetwork] = useState<keyof T & string>(\n props.network ?? props.defaultNetwork ?? (Object.keys(networks)[0] as keyof T & string),\n );\n\n const currentNetwork = props.network ?? selectedNetwork;\n\n const client = useMemo(() => {\n return createClient(currentNetwork, networks[currentNetwork]);\n }, [createClient, currentNetwork, networks]);\n\n const ctx = useMemo((): IotaClientProviderContext => {\n return {\n client,\n networks,\n network: currentNetwork,\n config:\n networks[currentNetwork] instanceof IotaClient\n ? null\n : (networks[currentNetwork] as IotaClientOptions),\n selectNetwork: (newNetwork) => {\n if (currentNetwork === newNetwork) {\n return;\n }\n\n if (!network && newNetwork !== selectedNetwork) {\n setSelectedNetwork(newNetwork);\n }\n\n onNetworkChange?.(newNetwork);\n },\n };\n }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);\n\n return <IotaClientContext.Provider value={ctx}>{children}</IotaClientContext.Provider>;\n}\n", "import 'src/components/IotaNameNftImage.css.ts.vanilla.css?source=LklvdGFOYW1lTmZ0SW1hZ2VfaW1hZ2VfX3FzOXIwNjAgewogIHdpZHRoOiAyNHB4OwogIGhlaWdodDogMjRweDsKICBmbGV4LXNocmluazogMDsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1kYXBwLWtpdC1yYWRpaS1mdWxsKTsKICBvYmplY3QtZml0OiBjb3ZlcjsKfQ==';\nexport var image = 'IotaNameNftImage_image__qs9r060';", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentPropsWithoutRef, ElementRef, ReactNode } from 'react';\nimport { forwardRef } from 'react';\n\nimport { styleDataAttribute } from '../../constants/styleDataAttribute.js';\n\nimport './StyleMarker.css.js';\n\ntype StyleMarker = {\n children: ReactNode;\n};\n\nexport const StyleMarker = forwardRef<\n ElementRef<typeof Slot>,\n ComponentPropsWithoutRef<typeof Slot>\n>(({ children, ...props }, forwardedRef) => (\n <Slot ref={forwardedRef} {...props} {...styleDataAttribute}>\n {children}\n </Slot>\n));\nStyleMarker.displayName = 'StyleMarker';\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nexport const styleDataAttributeName = 'data-dapp-kit';\n\nexport const styleDataAttributeSelector = `[${styleDataAttributeName}]`;\n\nexport const styleDataAttribute = { [styleDataAttributeName]: '' };\n", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx';\nimport type { ButtonHTMLAttributes } from 'react';\nimport { forwardRef } from 'react';\n\nimport { buttonVariants } from './Button.css.js';\nimport type { ButtonVariants } from './Button.css.js';\n\ntype ButtonProps = {\n asChild?: boolean;\n} & ButtonHTMLAttributes<HTMLButtonElement> &\n ButtonVariants;\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'button';\n return (\n <Comp\n {...props}\n className={clsx(buttonVariants({ variant, size }), className)}\n ref={forwardedRef}\n />\n );\n },\n);\nButton.displayName = 'Button';\n\nexport { Button };\n", "import 'src/components/ui/Button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7WSwVLCMBCG732KPcohDCA6TrjpxSfQYydt0rKQJplkC60O7+6ktCMKog56Smb/ZP9v/2R8XxNZk2bd8iQ8CkMhTXPKmpmZwGsCIDE4LVoOaDQaxQqtmkUCIDSWhiGpKnDIlSHlY3lVB8KiZbk1pAwdSoU1xLYKyyVx2Ah/xZgUzrE1EovacycFVimJdTVaJLtkfB6QSwwi00p2pNaJHKnlMBnfnLm82W9S57ESvh2aTbsemcjXpbe1kSy32voj0PcDD1EPrG+z9xrFOU9fzE8f/zUmX9qN8n8B+xgb/QTB1hSffkCY7c2tl8qzLUpacpi67lP0xUCtVhyC1SgPyl9AdmIP2Fv9W5qfR7kozQ+w36YZ8EWllRysrw9T9EJiHY4cYxlZUWvdReGElGhKDneugeltjPy8my4Ht/kFbtEJZnPXwCLZvQFzXfF3MwQAAA==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var buttonVariants = _7a468({defaultClassName:'Button_buttonVariants__ctbx2n0',variantClassNames:{variant:{primary:'Button_buttonVariants_variant_primary__ctbx2n1',outline:'Button_buttonVariants_variant_outline__ctbx2n2'},size:{md:'Button_buttonVariants_size_md__ctbx2n3',lg:'Button_buttonVariants_size_lg__ctbx2n4'}},defaultVariants:{variant:'primary',size:'md'},compoundVariants:[]});", "// Copyright (c) Mysten Labs, Inc.\n// Modifications Copyright (c) 2024 IOTA Stiftung\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Slot } from '@radix-ui/react-slot';\nimport clsx from 'clsx';\nimport { forwardRef } from 'react';\n\nimport { textVariants } from './Text.css.js';\nimport type { TextVariants } from './Text.css.js';\n\ntype TextAsChildProps = {\n asChild?: boolean;\n as?: never;\n};\n\ntype TextDivProps = { as: 'div'; asChild?: never };\n\ntype TextProps = (TextAsChildProps | TextDivProps) &\n React.HTMLAttributes<HTMLDivElement> &\n TextVariants;\n\nconst Text = forwardRef<HTMLDivElement, TextProps>(\n (\n {\n children,\n className,\n asChild = false,\n as: Tag = 'div',\n size,\n weight,\n color,\n mono,\n ...textProps\n },\n forwardedRef,\n ) => {\n return (\n <Slot\n {...textProps}\n ref={forwardedRef}\n className={clsx(textVariants({ size, weight, color, mono }), className)}\n >\n {asChild ? children : <Tag>{children}</Tag>}\n </Slot>\n );\n },\n);\nText.displayName = 'Text';\n\nexport { Text };\n", "import 'src/components/ui/Text.css.ts.vanilla.css?source=LlRleHRfdGV4dFZhcmlhbnRzX3NpemVfc21fX2FwcmhiZDEgewogIGZvbnQtc2l6ZTogdmFyKC0tZGFwcC1raXQtZm9udFNpemVzLXNtYWxsKTsKfQouVGV4dF90ZXh0VmFyaWFudHNfd2VpZ2h0X25vcm1hbF9fYXByaGJkMiB7CiAgZm9udC13ZWlnaHQ6IHZhcigtLWRhcHAta2l0LWZvbnRXZWlnaHRzLW5vcm1hbCk7Cn0KLlRleHRfdGV4dFZhcmlhbnRzX3dlaWdodF9tZWRpdW1fX2FwcmhiZDMgewogIGZvbnQtd2VpZ2h0OiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1tZWRpdW0pOwp9Ci5UZXh0X3RleHRWYXJpYW50c193ZWlnaHRfYm9sZF9fYXByaGJkNCB7CiAgZm9udC13ZWlnaHQ6IHZhcigtLWRhcHAta2l0LWZvbnRXZWlnaHRzLWJvbGQpOwp9Ci5UZXh0X3RleHRWYXJpYW50c19jb2xvcl9tdXRlZF9fYXByaGJkNSB7CiAgY29sb3I6IHZhcigtLWRhcHAta2l0LWNvbG9ycy1ib2R5TXV0ZWQpOwp9Ci5UZXh0X3RleHRWYXJpYW50c19jb2xvcl9kYW5nZXJfX2FwcmhiZDYgewogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keURhbmdlcik7Cn0KLlRleHRfdGV4dFZhcmlhbnRzX21vbm9fdHJ1ZV9fYXByaGJkNyB7CiAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAiTGliZXJhdGlvbiBNb25vIiwgIkNvdXJpZXIgTmV3IiwgbW9ub3NwYWNlOwp9';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var textVariants = _7a468({defaultClassName:'Text__aprhbd0',variantClassNames:{size:{sm:'Text_textVariants_size_sm__aprhbd1'},weight:{normal:'Text_textVariants_weight_normal__aprhbd2',medium:'Text_textVariants_weight_medium__aprhbd3',bold:'Text_textVariants_weight_bold__aprhbd4'},color:{muted:'Text_textVariants_color_muted__aprhbd5',danger:'Text_textVariants_color_danger__aprhbd6'},mono:{true:'Text_textVariants_mono_true__aprhbd7'}},defaultVariants:{size:'sm',weight:'normal'},compoundVariants:[]});"],
5
+ "mappings": "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",
6
+ "names": ["import_clsx", "import_react", "import_react_query", "import_jsx_runtime", "import_react", "import_iota_names_sdk", "import_react_query", "import_iota_names_sdk", "import_react_query", "import_client", "import_react", "import_react", "import_react", "import_jsx_runtime", "import_jsx_runtime", "import_react", "import_jsx_runtime", "import_react_slot", "import_react", "_7a468", "import_jsx_runtime", "clsx", "import_react_slot", "import_clsx", "import_react", "import_createRuntimeFn", "_7a468", "import_jsx_runtime", "clsx", "import_jsx_runtime", "clsx"]
7
7
  }