@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
package/dist/cjs/index.js CHANGED
@@ -794,13 +794,16 @@ function useSwitchAccount({
794
794
  }
795
795
 
796
796
  // src/components/AccountDropdownMenu.css.ts
797
+ var accountIdentity = "AccountDropdownMenu_accountIdentity__1x0gmpf8";
798
+ var accountName = "AccountDropdownMenu_accountName__1x0gmpf1";
799
+ var accountNameMenuItem = "AccountDropdownMenu_accountNameMenuItem__1x0gmpf2";
797
800
  var connectedAccount = "AccountDropdownMenu_connectedAccount__1x0gmpf0";
798
- var menuContainer = "AccountDropdownMenu_menuContainer__1x0gmpf1";
799
- var menuContent = "AccountDropdownMenu_menuContent__1x0gmpf2";
800
- var menuItem = "AccountDropdownMenu_menuItem__1x0gmpf4";
801
- var scrollableContent = "AccountDropdownMenu_scrollableContent__1x0gmpf3";
802
- var separator = "AccountDropdownMenu_separator__1x0gmpf6";
803
- var switchAccountMenuItem = "AccountDropdownMenu_switchAccountMenuItem__1x0gmpf5";
801
+ var menuContainer = "AccountDropdownMenu_menuContainer__1x0gmpf3";
802
+ var menuContent = "AccountDropdownMenu_menuContent__1x0gmpf4";
803
+ var menuItem = "AccountDropdownMenu_menuItem__1x0gmpf6";
804
+ var scrollableContent = "AccountDropdownMenu_scrollableContent__1x0gmpf5";
805
+ var separator = "AccountDropdownMenu_separator__1x0gmpf9";
806
+ var switchAccountMenuItem = "AccountDropdownMenu_switchAccountMenuItem__1x0gmpf7";
804
807
 
805
808
  // src/components/icons/CheckIcon.tsx
806
809
  var import_jsx_runtime16 = require("react/jsx-runtime");
@@ -829,10 +832,22 @@ function ChevronIcon(props) {
829
832
  ) });
830
833
  }
831
834
 
835
+ // src/components/IotaNameNftImage.tsx
836
+ var import_react12 = require("react");
837
+
838
+ // src/hooks/useGetIotaNameAvatar.ts
839
+ var import_iota_names_sdk3 = require("@iota/iota-names-sdk");
840
+ var import_react_query5 = require("@tanstack/react-query");
841
+
832
842
  // src/hooks/useGetDefaultIotaName.ts
833
- var import_client2 = require("@iota/iota-sdk/client");
843
+ var import_iota_names_sdk2 = require("@iota/iota-names-sdk");
834
844
  var import_react_query4 = require("@tanstack/react-query");
845
+
846
+ // src/hooks/useIotaNamesClient.ts
847
+ var import_graphql = require("@iota/iota-sdk/graphql");
835
848
  var import_iota_names_sdk = require("@iota/iota-names-sdk");
849
+ var import_client2 = require("@iota/iota-sdk/client");
850
+ var import_react11 = require("react");
836
851
 
837
852
  // src/hooks/useIotaClient.ts
838
853
  var import_react10 = require("react");
@@ -896,36 +911,106 @@ function useIotaClient() {
896
911
  return useIotaClientContext().client;
897
912
  }
898
913
 
899
- // src/hooks/useGetDefaultIotaName.ts
900
- var import_react11 = require("react");
901
- var import_graphql = require("@iota/iota-sdk/graphql");
902
- function useGetDefaultIotaName(address, iotaNamesEnabled) {
903
- const iotaContext = useIotaClientContext();
904
- const network = (0, import_client2.getNetwork)(iotaContext.network);
914
+ // src/hooks/useIotaNamesClient.ts
915
+ function useIotaNamesClient() {
916
+ const { network: networkId } = useIotaClientContext();
917
+ const network = (0, import_client2.getNetwork)(networkId);
905
918
  const iotaNamesClient = (0, import_react11.useMemo)(() => {
906
- const iotaGraphQLClient = new import_graphql.IotaGraphQLClient({
907
- url: network.graphql
908
- });
919
+ if (!network.graphql) return null;
909
920
  return new import_iota_names_sdk.IotaNamesClient({
910
- graphQlClient: iotaGraphQLClient,
921
+ graphQlClient: new import_graphql.IotaGraphQLClient({ url: network.graphql }),
911
922
  network: network.id
912
923
  });
913
- }, [network.id]);
914
- const iotaNamesSupported = !!iotaNamesClient.config;
924
+ }, [network.id, network.graphql]);
925
+ return {
926
+ iotaNamesClient,
927
+ networkId: network.id,
928
+ isSupported: !!iotaNamesClient?.config
929
+ };
930
+ }
931
+
932
+ // src/hooks/useGetDefaultIotaName.ts
933
+ function useGetDefaultIotaName(address, iotaNamesEnabled) {
934
+ const { iotaNamesClient, networkId, isSupported } = useIotaNamesClient();
915
935
  return (0, import_react_query4.useQuery)({
916
- queryKey: ["iota-name", "default-name", address],
936
+ queryKey: ["iota-name", "default-name", address, networkId],
917
937
  queryFn: async () => {
918
938
  if (!address) return null;
919
939
  const name = await iotaNamesClient?.getPublicName(address);
920
- return name ? (0, import_iota_names_sdk.normalizeIotaName)(name) : name;
940
+ return name ? (0, import_iota_names_sdk2.normalizeIotaName)(name) : name;
921
941
  },
922
- enabled: !!iotaNamesClient && !!address && iotaNamesEnabled && iotaNamesSupported,
942
+ enabled: !!address && iotaNamesEnabled && isSupported,
923
943
  staleTime: 1e3 * 60 * 10
924
944
  });
925
945
  }
926
946
 
927
- // src/components/AccountDropdownMenu.tsx
947
+ // src/hooks/useGetIotaNameAvatar.ts
948
+ function useGetIotaNameAvatar(address, iotaNamesEnabled) {
949
+ const client = useIotaClient();
950
+ const { iotaNamesClient, networkId, isSupported } = useIotaNamesClient();
951
+ const { data: name } = useGetDefaultIotaName(address, iotaNamesEnabled);
952
+ return (0, import_react_query5.useQuery)({
953
+ // eslint-disable-next-line @tanstack/query/exhaustive-deps
954
+ queryKey: ["iota-name", "avatar", name, networkId],
955
+ queryFn: async () => {
956
+ if (!name || !address || !iotaNamesClient) return null;
957
+ const nameRecord = await iotaNamesClient.getNameRecord(name);
958
+ if (!nameRecord) return null;
959
+ const avatarObjectId = nameRecord.avatar ?? ((0, import_iota_names_sdk3.isSubname)(name) ? await findSubnameNftId() : nameRecord.nftId);
960
+ if (!avatarObjectId) return null;
961
+ const objectResponse = await client.getObject({
962
+ id: avatarObjectId,
963
+ options: { showDisplay: true }
964
+ });
965
+ return objectResponse?.data?.display?.data?.image_url ?? null;
966
+ async function findSubnameNftId() {
967
+ let subnameType;
968
+ try {
969
+ subnameType = (0, import_iota_names_sdk3.getSubnameRegistrationType)(
970
+ iotaNamesClient.getPackage("packageId", "v1")
971
+ );
972
+ } catch {
973
+ return null;
974
+ }
975
+ const { data } = await client.getOwnedObjects({
976
+ owner: address,
977
+ filter: { StructType: subnameType },
978
+ options: { showDisplay: true }
979
+ });
980
+ return data.find((object) => {
981
+ try {
982
+ return (0, import_iota_names_sdk3.normalizeIotaName)(object.data?.display?.data?.name ?? "") === name;
983
+ } catch {
984
+ return false;
985
+ }
986
+ })?.data?.objectId ?? null;
987
+ }
988
+ },
989
+ enabled: iotaNamesEnabled && isSupported && !!name && !!address,
990
+ staleTime: 1e3 * 60 * 5
991
+ });
992
+ }
993
+
994
+ // src/components/IotaNameNftImage.css.ts
995
+ var image = "IotaNameNftImage_image__qs9r060";
996
+
997
+ // src/components/IotaNameNftImage.tsx
928
998
  var import_jsx_runtime19 = require("react/jsx-runtime");
999
+ function IotaNameNftImage({
1000
+ address,
1001
+ iotaNamesEnabled,
1002
+ alt = "name NFT avatar"
1003
+ }) {
1004
+ const { data: imageUrl, isLoading } = useGetIotaNameAvatar(address, iotaNamesEnabled);
1005
+ const [imgError, setImgError] = (0, import_react12.useState)(false);
1006
+ if (!iotaNamesEnabled || isLoading || !imageUrl || imgError) {
1007
+ return null;
1008
+ }
1009
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("img", { src: imageUrl, alt, className: image, onError: () => setImgError(true) });
1010
+ }
1011
+
1012
+ // src/components/AccountDropdownMenu.tsx
1013
+ var import_jsx_runtime20 = require("react/jsx-runtime");
929
1014
  function AccountDropdownMenu({
930
1015
  currentAccount,
931
1016
  size = "lg",
@@ -935,13 +1020,20 @@ function AccountDropdownMenu({
935
1020
  const accounts = useAccounts();
936
1021
  const { data: iotaName } = useGetDefaultIotaName(currentAccount.address, iotaNamesEnabled);
937
1022
  const displayAccount = iotaName ?? currentAccount.label ?? (0, import_utils.formatAddress)(currentAccount.address);
938
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(DropdownMenu.Root, { modal: false, children: [
939
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Button, { size, className: connectedAccount, children: [
940
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { mono: true, weight: "bold", children: displayAccount }),
941
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ChevronIcon, {})
1023
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(DropdownMenu.Root, { modal: false, children: [
1024
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Button, { size, className: connectedAccount, children: [
1025
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1026
+ IotaNameNftImage,
1027
+ {
1028
+ address: currentAccount.address,
1029
+ iotaNamesEnabled
1030
+ }
1031
+ ),
1032
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Text, { mono: true, weight: "bold", className: accountName, children: displayAccount }),
1033
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ChevronIcon, {})
942
1034
  ] }) }) }),
943
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(StyleMarker, { className: menuContainer, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(DropdownMenu.Content, { className: menuContent, children: [
944
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: scrollableContent, children: accounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1035
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StyleMarker, { className: menuContainer, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(DropdownMenu.Content, { className: menuContent, children: [
1036
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: scrollableContent, children: accounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
945
1037
  AccountDropdownMenuItem,
946
1038
  {
947
1039
  account,
@@ -950,8 +1042,8 @@ function AccountDropdownMenu({
950
1042
  },
951
1043
  account.address
952
1044
  )) }),
953
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DropdownMenu.Separator, { className: separator }),
954
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1045
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DropdownMenu.Separator, { className: separator }),
1046
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
955
1047
  DropdownMenu.Item,
956
1048
  {
957
1049
  className: (0, import_clsx7.default)(menuItem),
@@ -970,21 +1062,24 @@ function AccountDropdownMenuItem({
970
1062
  const { mutate: switchAccount } = useSwitchAccount();
971
1063
  const { data: iotaName } = useGetDefaultIotaName(account.address, iotaNamesEnabled);
972
1064
  const displayAccount = iotaName ?? account.label ?? (0, import_utils.formatAddress)(account.address);
973
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
1065
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
974
1066
  DropdownMenu.Item,
975
1067
  {
976
1068
  className: (0, import_clsx7.default)(menuItem, switchAccountMenuItem),
977
1069
  onSelect: () => switchAccount({ account }),
978
1070
  children: [
979
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { mono: true, children: displayAccount }),
980
- active ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CheckIcon, {}) : null
1071
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: accountIdentity, children: [
1072
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(IotaNameNftImage, { address: account.address, iotaNamesEnabled }),
1073
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Text, { mono: true, className: accountNameMenuItem, children: displayAccount })
1074
+ ] }),
1075
+ active ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CheckIcon, {}) : null
981
1076
  ]
982
1077
  }
983
1078
  );
984
1079
  }
985
1080
 
986
1081
  // src/components/ConnectButton.tsx
987
- var import_jsx_runtime20 = require("react/jsx-runtime");
1082
+ var import_jsx_runtime21 = require("react/jsx-runtime");
988
1083
  function ConnectButton({
989
1084
  connectText = "Connect Wallet",
990
1085
  size,
@@ -993,24 +1088,24 @@ function ConnectButton({
993
1088
  ...buttonProps
994
1089
  }) {
995
1090
  const currentAccount = useCurrentAccount();
996
- return currentAccount ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1091
+ return currentAccount ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
997
1092
  AccountDropdownMenu,
998
1093
  {
999
1094
  currentAccount,
1000
1095
  size,
1001
1096
  iotaNamesEnabled
1002
1097
  }
1003
- ) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1098
+ ) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1004
1099
  ConnectModal,
1005
1100
  {
1006
1101
  onConnected,
1007
- trigger: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Button, { ...buttonProps, size, children: connectText }) })
1102
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Button, { ...buttonProps, size, children: connectText }) })
1008
1103
  }
1009
1104
  );
1010
1105
  }
1011
1106
 
1012
1107
  // src/components/WalletProvider.tsx
1013
- var import_react16 = require("react");
1108
+ var import_react17 = require("react");
1014
1109
 
1015
1110
  // src/utils/stateStorage.ts
1016
1111
  function createInMemoryStore() {
@@ -1039,8 +1134,8 @@ var WALLET_CHROME_EXTENSION_ID = "iidjkmdceolghepehaaddojmnjnkkija";
1039
1134
  var WALLET_DOWNLOAD_URL = "https://chromewebstore.google.com/detail/" + WALLET_CHROME_EXTENSION_ID;
1040
1135
 
1041
1136
  // src/hooks/wallet/useAutoConnectWallet.ts
1042
- var import_react_query5 = require("@tanstack/react-query");
1043
- var import_react12 = require("react");
1137
+ var import_react_query6 = require("@tanstack/react-query");
1138
+ var import_react13 = require("react");
1044
1139
  function useAutoConnectWallet() {
1045
1140
  const { mutateAsync: connectWallet } = useConnectWallet();
1046
1141
  const autoConnectEnabled = useWalletStore((state) => state.autoConnectEnabled);
@@ -1050,11 +1145,11 @@ function useAutoConnectWallet() {
1050
1145
  );
1051
1146
  const wallets = useWallets();
1052
1147
  const { isConnected } = useCurrentWallet();
1053
- const [clientOnly, setClientOnly] = (0, import_react12.useState)(false);
1054
- (0, import_react12.useLayoutEffect)(() => {
1148
+ const [clientOnly, setClientOnly] = (0, import_react13.useState)(false);
1149
+ (0, import_react13.useLayoutEffect)(() => {
1055
1150
  setClientOnly(true);
1056
1151
  }, []);
1057
- const { data, isError } = (0, import_react_query5.useQuery)({
1152
+ const { data, isError } = (0, import_react_query6.useQuery)({
1058
1153
  queryKey: [
1059
1154
  "@iota/dapp-kit",
1060
1155
  "autoconnect",
@@ -1118,11 +1213,11 @@ var import_ed25519 = require("@iota/iota-sdk/keypairs/ed25519");
1118
1213
  var import_transactions = require("@iota/iota-sdk/transactions");
1119
1214
  var import_utils2 = require("@iota/iota-sdk/utils");
1120
1215
  var import_wallet_standard3 = require("@iota/wallet-standard");
1121
- var import_react13 = require("react");
1216
+ var import_react14 = require("react");
1122
1217
  var WALLET_NAME = "Unsafe Burner Wallet";
1123
1218
  function useUnsafeBurnerWallet(enabled) {
1124
1219
  const iotaClient = useIotaClient();
1125
- (0, import_react13.useEffect)(() => {
1220
+ (0, import_react14.useEffect)(() => {
1126
1221
  if (!enabled) {
1127
1222
  return;
1128
1223
  }
@@ -1249,11 +1344,11 @@ function registerUnsafeBurnerWallet(iotaClient) {
1249
1344
  }
1250
1345
 
1251
1346
  // src/hooks/wallet/useWalletPropertiesChanged.ts
1252
- var import_react14 = require("react");
1347
+ var import_react15 = require("react");
1253
1348
  function useWalletPropertiesChanged() {
1254
1349
  const { currentWallet } = useCurrentWallet();
1255
1350
  const updateWalletAccounts = useWalletStore((state) => state.updateWalletAccounts);
1256
- (0, import_react14.useEffect)(() => {
1351
+ (0, import_react15.useEffect)(() => {
1257
1352
  const unsubscribeFromEvents = currentWallet?.features["standard:events"].on(
1258
1353
  "change",
1259
1354
  ({ accounts }) => {
@@ -1268,11 +1363,11 @@ function useWalletPropertiesChanged() {
1268
1363
 
1269
1364
  // src/hooks/wallet/useWalletsChanged.ts
1270
1365
  var import_wallet_standard4 = require("@iota/wallet-standard");
1271
- var import_react15 = require("react");
1366
+ var import_react16 = require("react");
1272
1367
  function useWalletsChanged(preferredWallets, walletFilter) {
1273
1368
  const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);
1274
1369
  const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);
1275
- (0, import_react15.useEffect)(() => {
1370
+ (0, import_react16.useEffect)(() => {
1276
1371
  const walletsApi = (0, import_wallet_standard4.getWallets)();
1277
1372
  setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
1278
1373
  const unsubscribeFromRegister = walletsApi.on("register", () => {
@@ -1528,10 +1623,10 @@ var themeVars = (0, import_css.createGlobalThemeContract)(
1528
1623
  );
1529
1624
 
1530
1625
  // src/components/styling/InjectedThemeStyles.tsx
1531
- var import_jsx_runtime21 = require("react/jsx-runtime");
1626
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1532
1627
  function InjectedThemeStyles({ theme }) {
1533
1628
  const themeStyles = Array.isArray(theme) ? getDynamicThemeStyles(theme) : getStaticThemeStyles(theme);
1534
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1629
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1535
1630
  "style",
1536
1631
  {
1537
1632
  precedence: "default",
@@ -1557,7 +1652,7 @@ function cssStringFromTheme(theme) {
1557
1652
  }
1558
1653
 
1559
1654
  // src/components/WalletProvider.tsx
1560
- var import_jsx_runtime22 = require("react/jsx-runtime");
1655
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1561
1656
  function WalletProvider({
1562
1657
  preferredWallets = DEFAULT_PREFERRED_WALLETS,
1563
1658
  walletFilter = DEFAULT_WALLET_FILTER,
@@ -1569,7 +1664,7 @@ function WalletProvider({
1569
1664
  children,
1570
1665
  chain
1571
1666
  }) {
1572
- const storeRef = (0, import_react16.useRef)(
1667
+ const storeRef = (0, import_react17.useRef)(
1573
1668
  createWalletStore({
1574
1669
  autoConnectEnabled: autoConnect,
1575
1670
  wallets: getRegisteredWallets(preferredWallets, walletFilter),
@@ -1581,14 +1676,14 @@ function WalletProvider({
1581
1676
  if (storeRef.current.getState().chain != chain) {
1582
1677
  storeRef.current.getState().setChain(chain);
1583
1678
  }
1584
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(WalletContext.Provider, { value: storeRef.current, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1679
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(WalletContext.Provider, { value: storeRef.current, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1585
1680
  WalletConnectionManager,
1586
1681
  {
1587
1682
  preferredWallets,
1588
1683
  walletFilter,
1589
1684
  enableUnsafeBurner,
1590
1685
  children: [
1591
- theme ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(InjectedThemeStyles, { theme }) : null,
1686
+ theme ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(InjectedThemeStyles, { theme }) : null,
1592
1687
  children
1593
1688
  ]
1594
1689
  }
@@ -1633,19 +1728,20 @@ function createNetworkConfig(networkConfig) {
1633
1728
  }
1634
1729
 
1635
1730
  // src/hooks/useIotaClientInfiniteQuery.ts
1636
- var import_react_query6 = require("@tanstack/react-query");
1731
+ var import_react_query7 = require("@tanstack/react-query");
1637
1732
  function useIotaClientInfiniteQuery(method, params, {
1638
1733
  queryKey = [],
1639
1734
  enabled = !!params,
1640
1735
  ...options
1641
1736
  } = {}) {
1642
1737
  const iotaContext = useIotaClientContext();
1643
- return (0, import_react_query6.useInfiniteQuery)({
1738
+ return (0, import_react_query7.useInfiniteQuery)({
1644
1739
  ...options,
1645
1740
  initialPageParam: null,
1646
1741
  queryKey: [iotaContext.network, method, params, ...queryKey],
1647
1742
  enabled,
1648
1743
  queryFn: ({ pageParam }) => iotaContext.client[method]({
1744
+ // oxlint-disable-next-line unicorn/no-useless-fallback-in-spread
1649
1745
  ...params ?? {},
1650
1746
  cursor: pageParam
1651
1747
  }),
@@ -1654,10 +1750,10 @@ function useIotaClientInfiniteQuery(method, params, {
1654
1750
  }
1655
1751
 
1656
1752
  // src/hooks/useIotaClientMutation.ts
1657
- var import_react_query7 = require("@tanstack/react-query");
1753
+ var import_react_query8 = require("@tanstack/react-query");
1658
1754
  function useIotaClientMutation(method, options = {}) {
1659
1755
  const iotaContext = useIotaClientContext();
1660
- return (0, import_react_query7.useMutation)({
1756
+ return (0, import_react_query8.useMutation)({
1661
1757
  ...options,
1662
1758
  mutationFn: async (params) => {
1663
1759
  return await iotaContext.client[method](params);
@@ -1666,8 +1762,8 @@ function useIotaClientMutation(method, options = {}) {
1666
1762
  }
1667
1763
 
1668
1764
  // src/hooks/useIotaClientQuery.ts
1669
- var import_react_query8 = require("@tanstack/react-query");
1670
- var import_react17 = require("react");
1765
+ var import_react_query9 = require("@tanstack/react-query");
1766
+ var import_react18 = require("react");
1671
1767
  function getIotaClientQuery({
1672
1768
  client,
1673
1769
  network,
@@ -1675,7 +1771,7 @@ function getIotaClientQuery({
1675
1771
  params,
1676
1772
  options
1677
1773
  }) {
1678
- return (0, import_react_query8.queryOptions)({
1774
+ return (0, import_react_query9.queryOptions)({
1679
1775
  ...options,
1680
1776
  queryKey: [network, method, params],
1681
1777
  queryFn: async () => {
@@ -1686,7 +1782,7 @@ function getIotaClientQuery({
1686
1782
  function useIotaClientQuery(...args) {
1687
1783
  const [method, params, { queryKey = [], ...options } = {}] = args;
1688
1784
  const iotaContext = useIotaClientContext();
1689
- return (0, import_react_query8.useQuery)({
1785
+ return (0, import_react_query9.useQuery)({
1690
1786
  ...options,
1691
1787
  queryKey: [iotaContext.network, method, params, ...queryKey],
1692
1788
  queryFn: async () => {
@@ -1699,7 +1795,7 @@ function useIotaClientQuery(...args) {
1699
1795
  function useIotaClientSuspenseQuery(...args) {
1700
1796
  const [method, params, options = {}] = args;
1701
1797
  const iotaContext = useIotaClientContext();
1702
- const query = (0, import_react17.useMemo)(() => {
1798
+ const query = (0, import_react18.useMemo)(() => {
1703
1799
  return getIotaClientQuery({
1704
1800
  client: iotaContext.client,
1705
1801
  network: iotaContext.network,
@@ -1708,17 +1804,17 @@ function useIotaClientSuspenseQuery(...args) {
1708
1804
  options
1709
1805
  });
1710
1806
  }, [iotaContext.network, method, params, options]);
1711
- return (0, import_react_query8.useSuspenseQuery)(query);
1807
+ return (0, import_react_query9.useSuspenseQuery)(query);
1712
1808
  }
1713
1809
 
1714
1810
  // src/hooks/useIotaClientQueries.ts
1715
- var import_react_query9 = require("@tanstack/react-query");
1811
+ var import_react_query10 = require("@tanstack/react-query");
1716
1812
  function useIotaClientQueries({
1717
1813
  queries,
1718
1814
  combine
1719
1815
  }) {
1720
1816
  const iotaContext = useIotaClientContext();
1721
- return (0, import_react_query9.useQueries)({
1817
+ return (0, import_react_query10.useQueries)({
1722
1818
  combine,
1723
1819
  queries: queries.map((query) => {
1724
1820
  const { method, params, options: { queryKey = [], ...restOptions } = {} } = query;
@@ -1736,18 +1832,18 @@ function useIotaClientQueries({
1736
1832
  // src/hooks/wallet/useSignAndExecuteTransaction.ts
1737
1833
  var import_utils4 = require("@iota/iota-sdk/utils");
1738
1834
  var import_wallet_standard5 = require("@iota/wallet-standard");
1739
- var import_react_query11 = require("@tanstack/react-query");
1835
+ var import_react_query12 = require("@tanstack/react-query");
1740
1836
 
1741
1837
  // src/hooks/wallet/useReportTransactionEffects.ts
1742
1838
  var import_utils3 = require("@iota/iota-sdk/utils");
1743
- var import_react_query10 = require("@tanstack/react-query");
1839
+ var import_react_query11 = require("@tanstack/react-query");
1744
1840
  function useReportTransactionEffects({
1745
1841
  mutationKey,
1746
1842
  ...mutationOptions
1747
1843
  } = {}) {
1748
1844
  const { currentWallet } = useCurrentWallet();
1749
1845
  const currentAccount = useCurrentAccount();
1750
- return (0, import_react_query10.useMutation)({
1846
+ return (0, import_react_query11.useMutation)({
1751
1847
  mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),
1752
1848
  mutationFn: async ({
1753
1849
  effects,
@@ -1807,7 +1903,7 @@ function useSignAndExecuteTransaction({
1807
1903
  signature
1808
1904
  };
1809
1905
  });
1810
- return (0, import_react_query11.useMutation)({
1906
+ return (0, import_react_query12.useMutation)({
1811
1907
  mutationKey: walletMutationKeys.signAndExecuteTransaction(mutationKey),
1812
1908
  mutationFn: async ({ transaction, ...signTransactionArgs }) => {
1813
1909
  if (!currentWallet) {
@@ -1860,14 +1956,14 @@ function useSignAndExecuteTransaction({
1860
1956
  }
1861
1957
 
1862
1958
  // src/hooks/wallet/useSignPersonalMessage.ts
1863
- var import_react_query12 = require("@tanstack/react-query");
1959
+ var import_react_query13 = require("@tanstack/react-query");
1864
1960
  function useSignPersonalMessage({
1865
1961
  mutationKey,
1866
1962
  ...mutationOptions
1867
1963
  } = {}) {
1868
1964
  const { currentWallet } = useCurrentWallet();
1869
1965
  const currentAccount = useCurrentAccount();
1870
- return (0, import_react_query12.useMutation)({
1966
+ return (0, import_react_query13.useMutation)({
1871
1967
  mutationKey: walletMutationKeys.signPersonalMessage(mutationKey),
1872
1968
  mutationFn: async (signPersonalMessageArgs) => {
1873
1969
  if (!currentWallet) {
@@ -1896,7 +1992,7 @@ function useSignPersonalMessage({
1896
1992
 
1897
1993
  // src/hooks/wallet/useSignTransaction.ts
1898
1994
  var import_wallet_standard6 = require("@iota/wallet-standard");
1899
- var import_react_query13 = require("@tanstack/react-query");
1995
+ var import_react_query14 = require("@tanstack/react-query");
1900
1996
  function useSignTransaction({
1901
1997
  mutationKey,
1902
1998
  ...mutationOptions
@@ -1905,7 +2001,7 @@ function useSignTransaction({
1905
2001
  const currentAccount = useCurrentAccount();
1906
2002
  const client = useIotaClient();
1907
2003
  const { mutate: reportTransactionEffects } = useReportTransactionEffects();
1908
- return (0, import_react_query13.useMutation)({
2004
+ return (0, import_react_query14.useMutation)({
1909
2005
  mutationKey: walletMutationKeys.signTransaction(mutationKey),
1910
2006
  mutationFn: async ({ transaction, ...signTransactionArgs }) => {
1911
2007
  if (!currentWallet) {