@latticexyz/entrykit 2.2.21-8b83c6b7481219898ab0f8e9c1afd88591646396 → 2.2.21-8cdc57b90fe3d3f21abe4a3362c8a7ac9ba2e9d4

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.
@@ -1,5 +1,5 @@
1
1
  import { Address } from 'viem/accounts';
2
- import { Chain, Client, Transport, Account, Address as Address$1 } from 'viem';
2
+ import { Chain, Client, Transport, Account, Address as Address$1, LocalAccount } from 'viem';
3
3
  import { SmartAccount } from 'viem/account-abstraction';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import { ReactNode } from 'react';
@@ -68,6 +68,12 @@ declare function defineConfig(input: EntryKitConfigInput): EntryKitConfig;
68
68
  type ConnectedClient<chain extends Chain = Chain> = Client<Transport, chain, Account>;
69
69
  type SessionClient<chain extends Chain = Chain> = Client<Transport, chain, SmartAccount> & {
70
70
  readonly userAddress: Address$1;
71
+ /**
72
+ * World address used for delegated calls. Assumes a delegation has been set up between the user account and session account.
73
+ */
74
+ readonly worldAddress: Address$1;
75
+ /** @internal */
76
+ readonly internal_signer: LocalAccount;
71
77
  };
72
78
 
73
79
  type Props = {
@@ -8,7 +8,14 @@ function defineConfig(input) {
8
8
  }
9
9
 
10
10
  // src/ui/Modal.tsx
11
- import { Root as DialogRoot, DialogPortal, DialogContent } from "@radix-ui/react-dialog";
11
+ import { useEffect as useEffect2 } from "react";
12
+ import {
13
+ Root as DialogRoot,
14
+ DialogPortal,
15
+ DialogContent,
16
+ DialogTitle,
17
+ DialogDescription
18
+ } from "@radix-ui/react-dialog";
12
19
 
13
20
  // src/ui/Shadow.tsx
14
21
  import { forwardRef, useEffect, useRef, useState } from "react";
@@ -165,7 +172,7 @@ function userOpExecutor({ executor }) {
165
172
  if (method === "eth_estimateUserOperationGas") {
166
173
  return await estimateUserOperationGas(params);
167
174
  }
168
- throw new Error("Method not implemented.");
175
+ throw new Error(`userOpExecutor: method "${method}" not supported`);
169
176
  };
170
177
  return createTransport({
171
178
  key: "userOpExecutor",
@@ -300,6 +307,19 @@ var Shadow = forwardRef(function Shadow2({ mode, children }, forwardedRef) {
300
307
  import { twMerge } from "tailwind-merge";
301
308
  import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
302
309
  function Modal({ open, onOpenChange, children }) {
310
+ useEffect2(() => {
311
+ function onKeyDown(event) {
312
+ if (event.defaultPrevented) return;
313
+ if (event.key === "Escape" && open) {
314
+ event.preventDefault();
315
+ onOpenChange?.(false);
316
+ }
317
+ }
318
+ window.addEventListener("keydown", onKeyDown);
319
+ return () => {
320
+ window.removeEventListener("keydown", onKeyDown);
321
+ };
322
+ }, [onOpenChange, open]);
303
323
  return /* @__PURE__ */ jsx4(DialogRoot, { open, onOpenChange, children: /* @__PURE__ */ jsx4(DialogPortal, { children: /* @__PURE__ */ jsxs2(Shadow, { mode: "modal", children: [
304
324
  /* @__PURE__ */ jsx4("div", { className: twMerge("fixed inset-0", "bg-neutral-800/85", "animate-in animate-duration-300 fade-in") }),
305
325
  /* @__PURE__ */ jsx4(
@@ -310,17 +330,11 @@ function Modal({ open, onOpenChange, children }) {
310
330
  "grid items-end sm:items-center",
311
331
  "animate-in animate-duration-300 fade-in slide-in-from-bottom-16"
312
332
  ),
313
- children: /* @__PURE__ */ jsx4("div", { children: /* @__PURE__ */ jsx4(
314
- DialogContent,
315
- {
316
- className: "outline-none w-full max-w-[26rem] mx-auto",
317
- "aria-describedby": void 0,
318
- onOpenAutoFocus: (event) => {
319
- event.preventDefault();
320
- },
321
- children
322
- }
323
- ) })
333
+ children: /* @__PURE__ */ jsx4("div", { children: /* @__PURE__ */ jsxs2(DialogContent, { className: "outline-none w-full max-w-[26rem] mx-auto", children: [
334
+ /* @__PURE__ */ jsx4(DialogTitle, { className: "sr-only", children: "EntryKit" }),
335
+ /* @__PURE__ */ jsx4(DialogDescription, { className: "sr-only", children: "Sign in to this app" }),
336
+ children
337
+ ] }) })
324
338
  }
325
339
  )
326
340
  ] }) }) });
@@ -495,13 +509,13 @@ function AppInfo() {
495
509
 
496
510
  // src/ConnectWallet.tsx
497
511
  import { twMerge as twMerge5 } from "tailwind-merge";
498
- import { useEffect as useEffect2, useState as useState2 } from "react";
512
+ import { useEffect as useEffect3, useState as useState2 } from "react";
499
513
  import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
500
514
  function ConnectWallet() {
501
515
  const userAccount = useAccount();
502
516
  const { openConnectModal, connectModalOpen } = useConnectModal();
503
517
  const [hasAutoOpened, setHasAutoOpened] = useState2(false);
504
- useEffect2(() => {
518
+ useEffect3(() => {
505
519
  if (!connectModalOpen && !hasAutoOpened) {
506
520
  openConnectModal?.();
507
521
  setHasAutoOpened(true);
@@ -531,7 +545,7 @@ function ConnectWallet() {
531
545
  }
532
546
 
533
547
  // src/onboarding/ConnectedSteps.tsx
534
- import { useEffect as useEffect7, useMemo as useMemo2, useRef as useRef2, useState as useState3 } from "react";
548
+ import { useEffect as useEffect8, useMemo as useMemo2, useRef as useRef2, useState as useState3 } from "react";
535
549
  import { twMerge as twMerge7 } from "tailwind-merge";
536
550
 
537
551
  // src/onboarding/common.ts
@@ -797,7 +811,9 @@ function listener(event) {
797
811
  store2.persist.rehydrate();
798
812
  }
799
813
  }
800
- window.addEventListener("storage", listener);
814
+ if (typeof window !== "undefined") {
815
+ window.addEventListener("storage", listener);
816
+ }
801
817
 
802
818
  // src/getSessionSigner.ts
803
819
  import { generatePrivateKey, privateKeyToAccount as privateKeyToAccount2 } from "viem/accounts";
@@ -824,7 +840,7 @@ async function getSessionAccount({
824
840
  }) {
825
841
  const signer = getSessionSigner(userAddress);
826
842
  const account = await toSimpleSmartAccount({ client, owner: signer });
827
- return account;
843
+ return { account, signer };
828
844
  }
829
845
 
830
846
  // src/useSessionAccount.ts
@@ -859,9 +875,9 @@ function getPrequisitesQueryOptions({
859
875
  queryKey,
860
876
  async queryFn() {
861
877
  const paymaster = getPaymaster(client.chain);
862
- const { address: sessionAddress } = await queryClient.fetchQuery(
863
- getSessionAccountQueryOptions({ client, userAddress })
864
- );
878
+ const {
879
+ account: { address: sessionAddress }
880
+ } = await queryClient.fetchQuery(getSessionAccountQueryOptions({ client, userAddress }));
865
881
  const [sessionBalance, allowance, spender, hasDelegation] = await Promise.all([
866
882
  !paymaster ? queryClient.fetchQuery(
867
883
  getBalanceQueryOptions(config, { chainId: client.chain.id, address: sessionAddress })
@@ -990,10 +1006,10 @@ function removeError(error2) {
990
1006
  }
991
1007
 
992
1008
  // src/errors/useShowMutationError.ts
993
- import { useEffect as useEffect3 } from "react";
1009
+ import { useEffect as useEffect4 } from "react";
994
1010
  function useShowMutationError(result) {
995
1011
  const { error: error2, reset } = result;
996
- useEffect3(() => {
1012
+ useEffect4(() => {
997
1013
  if (!error2) return;
998
1014
  return addError({ error: error2, dismiss: reset });
999
1015
  }, [error2, reset]);
@@ -1128,13 +1144,13 @@ function Balance({ wei }) {
1128
1144
  }
1129
1145
 
1130
1146
  // src/onboarding/quarry/Allowance.tsx
1131
- import { useEffect as useEffect5 } from "react";
1147
+ import { useEffect as useEffect6 } from "react";
1132
1148
 
1133
1149
  // src/errors/useShowQueryError.ts
1134
- import { useEffect as useEffect4 } from "react";
1150
+ import { useEffect as useEffect5 } from "react";
1135
1151
  function useShowQueryError(result) {
1136
1152
  const { error: error2, refetch } = result;
1137
- useEffect4(() => {
1153
+ useEffect5(() => {
1138
1154
  if (!error2) return;
1139
1155
  return addError({ error: error2, retry: refetch, dismiss: () => {
1140
1156
  } });
@@ -1147,7 +1163,7 @@ import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
1147
1163
  function Allowance({ isActive, isExpanded, userAddress }) {
1148
1164
  const allowance = useShowQueryError(useAllowance(userAddress));
1149
1165
  const claimGasPass2 = useShowMutationError(useClaimGasPass());
1150
- useEffect5(() => {
1166
+ useEffect6(() => {
1151
1167
  const timer = setTimeout(() => {
1152
1168
  if (isActive && claimGasPass2.status === "idle" && allowance.isSuccess && allowance.data != null && allowance.data < minGasBalance) {
1153
1169
  claimGasPass2.mutate(userAddress);
@@ -1374,7 +1390,7 @@ function useSetupSession({ userClient }) {
1374
1390
  }
1375
1391
 
1376
1392
  // src/onboarding/Session.tsx
1377
- import { useEffect as useEffect6 } from "react";
1393
+ import { useEffect as useEffect7 } from "react";
1378
1394
 
1379
1395
  // src/useSessionClient.ts
1380
1396
  import { useClient as useClient8 } from "wagmi";
@@ -1427,6 +1443,7 @@ function createFeeEstimator(client) {
1427
1443
  async function getSessionClient({
1428
1444
  userAddress,
1429
1445
  sessionAccount,
1446
+ sessionSigner,
1430
1447
  worldAddress
1431
1448
  }) {
1432
1449
  const client = sessionAccount.client;
@@ -1444,7 +1461,7 @@ async function getSessionClient({
1444
1461
  delegatorAddress: userAddress,
1445
1462
  publicClient: client
1446
1463
  })
1447
- ).extend(() => ({ userAddress }));
1464
+ ).extend(() => ({ userAddress, worldAddress, internal_signer: sessionSigner }));
1448
1465
  return sessionClient;
1449
1466
  }
1450
1467
  function clientHasChain(client) {
@@ -1463,9 +1480,12 @@ function getSessionClientQueryOptions({
1463
1480
  userAddress ? {
1464
1481
  queryKey,
1465
1482
  async queryFn() {
1466
- const sessionAccount = await queryClient.fetchQuery(getSessionAccountQueryOptions({ client, userAddress }));
1483
+ const { account: sessionAccount, signer: sessionSigner } = await queryClient.fetchQuery(
1484
+ getSessionAccountQueryOptions({ client, userAddress })
1485
+ );
1467
1486
  return await getSessionClient({
1468
1487
  sessionAccount,
1488
+ sessionSigner,
1469
1489
  userAddress,
1470
1490
  worldAddress
1471
1491
  });
@@ -1496,7 +1516,7 @@ function Session({ isActive, isExpanded, userClient, registerSpender, registerDe
1496
1516
  const sessionClient = useShowQueryError(useSessionClient(userClient.account.address));
1497
1517
  const setup = useShowMutationError(useSetupSession({ userClient }));
1498
1518
  const hasSession = !registerDelegation && !registerDelegation;
1499
- useEffect6(() => {
1519
+ useEffect7(() => {
1500
1520
  const timer = setTimeout(() => {
1501
1521
  if (isActive && setup.status === "idle" && sessionClient.data && !hasSession) {
1502
1522
  setup.mutate({
@@ -1554,9 +1574,15 @@ var relayChains_default = {
1554
1574
  "111": {
1555
1575
  bridgeUrl: "https://testnets.relay.link/bridge/bob"
1556
1576
  },
1577
+ "130": {
1578
+ bridgeUrl: "https://relay.link/bridge/unichain"
1579
+ },
1557
1580
  "137": {
1558
1581
  bridgeUrl: "https://relay.link/bridge/polygon"
1559
1582
  },
1583
+ "146": {
1584
+ bridgeUrl: "https://relay.link/bridge/sonic"
1585
+ },
1560
1586
  "185": {
1561
1587
  bridgeUrl: "https://relay.link/bridge/mint"
1562
1588
  },
@@ -1575,6 +1601,9 @@ var relayChains_default = {
1575
1601
  "690": {
1576
1602
  bridgeUrl: "https://relay.link/bridge/redstone"
1577
1603
  },
1604
+ "747": {
1605
+ bridgeUrl: "https://relay.link/bridge/flow-evm"
1606
+ },
1578
1607
  "919": {
1579
1608
  bridgeUrl: "https://testnets.relay.link/bridge/mode-testnet"
1580
1609
  },
@@ -1590,18 +1619,30 @@ var relayChains_default = {
1590
1619
  "1329": {
1591
1620
  bridgeUrl: "https://relay.link/bridge/sei"
1592
1621
  },
1622
+ "1424": {
1623
+ bridgeUrl: "https://relay.link/bridge/perennial"
1624
+ },
1625
+ "1514": {
1626
+ bridgeUrl: "https://relay.link/bridge/story"
1627
+ },
1593
1628
  "1625": {
1594
1629
  bridgeUrl: "https://relay.link/bridge/gravity"
1595
1630
  },
1596
1631
  "1868": {
1597
1632
  bridgeUrl: "https://relay.link/bridge/soneium"
1598
1633
  },
1634
+ "1923": {
1635
+ bridgeUrl: "https://relay.link/bridge/swellchain"
1636
+ },
1599
1637
  "1993": {
1600
1638
  bridgeUrl: "https://testnets.relay.link/bridge/b3"
1601
1639
  },
1602
1640
  "1996": {
1603
1641
  bridgeUrl: "https://relay.link/bridge/sanko"
1604
1642
  },
1643
+ "2187": {
1644
+ bridgeUrl: "https://relay.link/bridge/game7"
1645
+ },
1605
1646
  "2741": {
1606
1647
  bridgeUrl: "https://relay.link/bridge/abstract"
1607
1648
  },
@@ -1671,6 +1712,9 @@ var relayChains_default = {
1671
1712
  "42170": {
1672
1713
  bridgeUrl: "https://relay.link/bridge/arbitrum-nova"
1673
1714
  },
1715
+ "42220": {
1716
+ bridgeUrl: "https://relay.link/bridge/celo"
1717
+ },
1674
1718
  "43114": {
1675
1719
  bridgeUrl: "https://relay.link/bridge/avalanche"
1676
1720
  },
@@ -1701,12 +1745,18 @@ var relayChains_default = {
1701
1745
  "80002": {
1702
1746
  bridgeUrl: "https://testnets.relay.link/bridge/amoy"
1703
1747
  },
1748
+ "80094": {
1749
+ bridgeUrl: "https://relay.link/bridge/berachain"
1750
+ },
1704
1751
  "81457": {
1705
1752
  bridgeUrl: "https://relay.link/bridge/blast"
1706
1753
  },
1707
1754
  "84532": {
1708
1755
  bridgeUrl: "https://testnets.relay.link/bridge/base-sepolia"
1709
1756
  },
1757
+ "167000": {
1758
+ bridgeUrl: "https://relay.link/bridge/taiko"
1759
+ },
1710
1760
  "167009": {
1711
1761
  bridgeUrl: "https://testnets.relay.link/bridge/hekla"
1712
1762
  },
@@ -1722,6 +1772,9 @@ var relayChains_default = {
1722
1772
  "660279": {
1723
1773
  bridgeUrl: "https://relay.link/bridge/xai"
1724
1774
  },
1775
+ "695569": {
1776
+ bridgeUrl: "https://testnets.relay.link/bridge/pyrope"
1777
+ },
1725
1778
  "911867": {
1726
1779
  bridgeUrl: "https://testnets.relay.link/bridge/odyssey"
1727
1780
  },
@@ -1734,6 +1787,9 @@ var relayChains_default = {
1734
1787
  "3397901": {
1735
1788
  bridgeUrl: "https://testnets.relay.link/bridge/funki-testnet"
1736
1789
  },
1790
+ "3441006": {
1791
+ bridgeUrl: "https://testnets.relay.link/bridge/manta-pacific-testnet"
1792
+ },
1737
1793
  "4457845": {
1738
1794
  bridgeUrl: "https://testnets.relay.link/bridge/zero-sepolia"
1739
1795
  },
@@ -1761,6 +1817,9 @@ var relayChains_default = {
1761
1817
  "792703809": {
1762
1818
  bridgeUrl: "https://relay.link/bridge/solana"
1763
1819
  },
1820
+ "845320008": {
1821
+ bridgeUrl: "https://testnets.relay.link/bridge/lordchain-testnet"
1822
+ },
1764
1823
  "888888888": {
1765
1824
  bridgeUrl: "https://relay.link/bridge/ancient8"
1766
1825
  },
@@ -1872,7 +1931,7 @@ function ConnectedSteps({ userClient, initialUserAddress }) {
1872
1931
  const paymaster = getPaymaster(chain);
1873
1932
  const userAddress = userClient.account.address;
1874
1933
  const { data: prerequisites, error: prerequisitesError } = usePrerequisites(userAddress);
1875
- useEffect7(() => {
1934
+ useEffect8(() => {
1876
1935
  if (prerequisitesError) {
1877
1936
  console.error("Could not get prerequisites", prerequisitesError);
1878
1937
  }
@@ -1880,7 +1939,7 @@ function ConnectedSteps({ userClient, initialUserAddress }) {
1880
1939
  const { closeAccountModal } = useAccountModal();
1881
1940
  const isNewConnection = userAddress !== initialUserAddress;
1882
1941
  const initialPrerequisites = useRef2(prerequisites);
1883
- useEffect7(() => {
1942
+ useEffect8(() => {
1884
1943
  if (prerequisites == null) return;
1885
1944
  if (initialPrerequisites.current == null) {
1886
1945
  initialPrerequisites.current = prerequisites;
@@ -1969,7 +2028,7 @@ function AccountModalContent() {
1969
2028
  }
1970
2029
 
1971
2030
  // src/AccountModal.tsx
1972
- import { DialogClose, DialogTitle } from "@radix-ui/react-dialog";
2031
+ import { DialogClose } from "@radix-ui/react-dialog";
1973
2032
 
1974
2033
  // src/icons/IconSVG.tsx
1975
2034
  import { twMerge as twMerge8 } from "tailwind-merge";
@@ -2009,11 +2068,11 @@ import { ErrorBoundary } from "react-error-boundary";
2009
2068
 
2010
2069
  // src/errors/ErrorOverlay.tsx
2011
2070
  import { wait } from "@latticexyz/common/utils";
2012
- import { useEffect as useEffect8 } from "react";
2071
+ import { useEffect as useEffect9 } from "react";
2013
2072
  import { twMerge as twMerge9 } from "tailwind-merge";
2014
2073
  import { Fragment as Fragment2, jsx as jsx21, jsxs as jsxs15 } from "react/jsx-runtime";
2015
2074
  function ErrorOverlay({ error: error2, retry, dismiss }) {
2016
- useEffect8(() => {
2075
+ useEffect9(() => {
2017
2076
  if (error2) {
2018
2077
  console.error(error2);
2019
2078
  }
@@ -2107,51 +2166,48 @@ function ErrorsOverlay() {
2107
2166
  import { jsx as jsx24, jsxs as jsxs16 } from "react/jsx-runtime";
2108
2167
  function AccountModal() {
2109
2168
  const { accountModalOpen, toggleAccountModal } = useAccountModal();
2110
- return /* @__PURE__ */ jsxs16(Modal, { open: accountModalOpen, onOpenChange: toggleAccountModal, children: [
2111
- /* @__PURE__ */ jsx24(DialogTitle, { className: "sr-only", children: "Connect with EntryKit" }),
2112
- accountModalOpen ? /* @__PURE__ */ jsxs16(
2113
- "div",
2114
- {
2115
- className: twMerge10(
2116
- "relative py-2 ring-1",
2117
- "bg-neutral-900 text-neutral-400 ring-neutral-700/50",
2118
- "links:font-medium links:underline links:underline-offset-4",
2119
- "links:text-white",
2120
- "links:decoration-neutral-500 hover:links:decoration-orange-500"
2169
+ return /* @__PURE__ */ jsx24(Modal, { open: accountModalOpen, onOpenChange: toggleAccountModal, children: accountModalOpen ? /* @__PURE__ */ jsxs16(
2170
+ "div",
2171
+ {
2172
+ className: twMerge10(
2173
+ "relative py-2 ring-1",
2174
+ "bg-neutral-900 text-neutral-400 ring-neutral-700/50",
2175
+ "links:font-medium links:underline links:underline-offset-4",
2176
+ "links:text-white",
2177
+ "links:decoration-neutral-500 hover:links:decoration-orange-500"
2178
+ ),
2179
+ children: [
2180
+ /* @__PURE__ */ jsxs16(ErrorBoundary, { FallbackComponent: ErrorFallback, children: [
2181
+ /* @__PURE__ */ jsx24(AccountModalContent, {}),
2182
+ /* @__PURE__ */ jsx24(ErrorsOverlay, {})
2183
+ ] }),
2184
+ /* @__PURE__ */ jsxs16(
2185
+ "a",
2186
+ {
2187
+ href: "https://mud.dev",
2188
+ target: "_blank",
2189
+ rel: "noreferrer noopener",
2190
+ className: "group self-center p-3 flex items-center justify-center gap-2 links-unset text-sm font-mono transition text-neutral-400 hover:text-white",
2191
+ children: [
2192
+ /* @__PURE__ */ jsx24("span", { className: "block w-4 h-4", children: /* @__PURE__ */ jsx24(Logo, { className: "w-full h-full text-orange-500 group-hover:rotate-90 transition duration-300" }) }),
2193
+ /* @__PURE__ */ jsx24("span", { children: "Powered by MUD" })
2194
+ ]
2195
+ }
2121
2196
  ),
2122
- children: [
2123
- /* @__PURE__ */ jsx24("div", { className: "absolute top-0 right-0", children: /* @__PURE__ */ jsx24(
2124
- DialogClose,
2125
- {
2126
- className: twMerge10(
2127
- "pointer-events-auto leading-none p-2 transition",
2128
- "text-white/20 hover:text-white/40"
2129
- ),
2130
- title: "Close",
2131
- children: /* @__PURE__ */ jsx24(CloseIcon, { className: "m-0" })
2132
- }
2133
- ) }),
2134
- /* @__PURE__ */ jsxs16(ErrorBoundary, { FallbackComponent: ErrorFallback, children: [
2135
- /* @__PURE__ */ jsx24(AccountModalContent, {}),
2136
- /* @__PURE__ */ jsx24(ErrorsOverlay, {})
2137
- ] }),
2138
- /* @__PURE__ */ jsxs16(
2139
- "a",
2140
- {
2141
- href: "https://mud.dev",
2142
- target: "_blank",
2143
- rel: "noreferrer noopener",
2144
- className: "group self-center p-3 flex items-center justify-center gap-2 links-unset text-sm font-mono transition text-neutral-400 hover:text-white",
2145
- children: [
2146
- /* @__PURE__ */ jsx24("span", { className: "block w-4 h-4", children: /* @__PURE__ */ jsx24(Logo, { className: "w-full h-full text-orange-500 group-hover:rotate-90 transition duration-300" }) }),
2147
- /* @__PURE__ */ jsx24("span", { children: "Powered by MUD" })
2148
- ]
2149
- }
2150
- )
2151
- ]
2152
- }
2153
- ) : null
2154
- ] });
2197
+ /* @__PURE__ */ jsx24("div", { className: "absolute top-0 right-0", children: /* @__PURE__ */ jsx24(
2198
+ DialogClose,
2199
+ {
2200
+ className: twMerge10(
2201
+ "pointer-events-auto leading-none p-2 transition",
2202
+ "text-white/20 hover:text-white/40"
2203
+ ),
2204
+ title: "Close",
2205
+ children: /* @__PURE__ */ jsx24(CloseIcon, { className: "m-0" })
2206
+ }
2207
+ ) })
2208
+ ]
2209
+ }
2210
+ ) : null });
2155
2211
  }
2156
2212
 
2157
2213
  // src/EntryKitProvider.tsx