@gardenfi/swap 0.1.3-beta.21 → 0.1.3-beta.23

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 (93) hide show
  1. package/dist/index109.cjs +1 -1
  2. package/dist/index109.js +1 -1
  3. package/dist/index116.cjs +1 -1
  4. package/dist/index116.js +2 -2
  5. package/dist/index117.cjs +1 -1
  6. package/dist/index117.js +1 -1
  7. package/dist/index118.cjs +1 -1
  8. package/dist/index118.js +1 -1
  9. package/dist/index119.cjs +1 -1
  10. package/dist/index119.js +1 -1
  11. package/dist/index120.cjs +1 -1
  12. package/dist/index120.js +2 -2
  13. package/dist/index128.cjs +1 -1
  14. package/dist/index128.js +1 -1
  15. package/dist/index130.cjs +1 -1
  16. package/dist/index130.js +1 -1
  17. package/dist/index138.cjs +1 -1
  18. package/dist/index138.js +1 -1
  19. package/dist/index139.cjs +1 -1
  20. package/dist/index139.js +1 -1
  21. package/dist/index144.cjs +1 -1
  22. package/dist/index144.js +1 -1
  23. package/dist/index152.cjs +1 -1
  24. package/dist/index152.js +2 -2
  25. package/dist/index163.cjs +1 -1
  26. package/dist/index163.js +2 -2
  27. package/dist/index168.cjs +1 -1
  28. package/dist/index168.js +1 -1
  29. package/dist/index24.cjs +1 -1
  30. package/dist/index24.js +2 -2
  31. package/dist/index275.cjs +1 -1
  32. package/dist/index275.js +1 -1
  33. package/dist/index29.cjs +1 -1
  34. package/dist/index29.js +1 -1
  35. package/dist/index30.cjs +1 -1
  36. package/dist/index30.js +2 -2
  37. package/dist/index306.cjs +1 -1
  38. package/dist/index306.js +11 -9
  39. package/dist/index307.cjs +1 -1
  40. package/dist/index307.js +9 -16
  41. package/dist/index308.cjs +1 -1
  42. package/dist/index308.js +15 -21
  43. package/dist/index309.cjs +1 -1
  44. package/dist/index309.js +21 -12
  45. package/dist/index310.cjs +1 -1
  46. package/dist/index310.js +10 -10
  47. package/dist/index311.cjs +1 -1
  48. package/dist/index311.js +13 -14
  49. package/dist/index312.cjs +1 -1
  50. package/dist/index312.js +14 -9
  51. package/dist/index313.cjs +1 -1
  52. package/dist/index313.js +7 -13
  53. package/dist/index314.cjs +1 -1
  54. package/dist/index314.js +14 -24
  55. package/dist/index315.cjs +1 -1
  56. package/dist/index315.js +21 -27
  57. package/dist/index316.cjs +1 -2
  58. package/dist/index316.js +31 -18
  59. package/dist/index317.cjs +2 -1
  60. package/dist/index317.js +18 -14
  61. package/dist/index318.cjs +1 -1
  62. package/dist/index318.js +14 -11
  63. package/dist/index327.cjs +1 -1
  64. package/dist/index327.js +1 -1
  65. package/dist/index351.cjs +1 -1
  66. package/dist/index351.js +1 -1
  67. package/dist/index358.cjs +1 -1
  68. package/dist/index358.js +16 -14
  69. package/dist/index359.cjs +1 -1
  70. package/dist/index359.js +14 -16
  71. package/dist/index361.cjs +1 -1
  72. package/dist/index361.js +50 -204
  73. package/dist/index362.cjs +1 -1
  74. package/dist/index362.js +204 -50
  75. package/dist/index364.cjs +1 -1
  76. package/dist/index364.js +140 -3
  77. package/dist/index365.cjs +1 -1
  78. package/dist/index365.js +3 -140
  79. package/dist/index370.cjs +1 -1
  80. package/dist/index370.js +1 -1
  81. package/dist/index371.cjs +1 -1
  82. package/dist/index371.js +1 -1
  83. package/dist/index39.cjs +1 -1
  84. package/dist/index39.js +83 -24
  85. package/dist/index40.cjs +1 -1
  86. package/dist/index40.js +11 -15
  87. package/dist/index41.cjs +1 -1
  88. package/dist/index41.js +24 -103
  89. package/dist/index42.cjs +1 -1
  90. package/dist/index42.js +16 -86
  91. package/dist/index43.cjs +1 -1
  92. package/dist/index43.js +105 -11
  93. package/package.json +5 -5
package/dist/index41.js CHANGED
@@ -1,110 +1,31 @@
1
- import e, { useState as E, useRef as y, useMemo as v } from "react";
2
- import { Typography as l, ArrowLeftIcon as b, SearchIcon as C, GradientScroll as S } from "@gardenfi/garden-book";
3
- import { AnimatePresence as I, motion as z } from "framer-motion";
4
- import { viewPortStore as A } from "./index78.js";
5
- import { swapStore as H } from "./index6.js";
6
- import { HEIGHTS as s, BUFFER_HEIGHT as R } from "./index12.js";
7
- const B = ({
8
- show: a,
9
- chains: i,
10
- hide: m,
11
- onClick: c
12
- }) => {
13
- const [n, u] = E(""), f = y(null), { isMobile: p } = A(), { showFeesAndRateDetails: d, showBtcAddress: h } = H(), x = (d ? h ? s.large : s.medium : s.small) - R.medium, g = {
14
- initial: { x: "100%", opacity: 0 },
15
- animate: {
16
- x: a ? 0 : "100%",
17
- opacity: a ? 1 : 0
18
- },
19
- transition: {
20
- type: "tween",
21
- ease: "easeInOut",
22
- stiffness: 200,
23
- damping: 25,
24
- mass: 0.8,
25
- duration: 0.4
26
- }
27
- }, w = {
28
- initial: { y: "100%", opacity: 0 },
29
- animate: {
30
- y: a ? 0 : "100%",
31
- opacity: a ? 1 : 0
32
- },
33
- transition: {
34
- type: "tween",
35
- ease: "easeInOut",
36
- stiffness: 200,
37
- damping: 25,
38
- mass: 0.8,
39
- duration: 0.4
40
- }
41
- }, o = v(() => n ? i.filter((t) => t.chainName.toLowerCase().includes(n.toLowerCase())).sort((t, r) => t.chainName.localeCompare(r.chainName)) : i.sort((t, r) => t.chainName.localeCompare(r.chainName)), [i, n]), N = (t) => {
42
- u(t.target.value);
1
+ import i from "react";
2
+ import { AnimatePresence as n, motion as l } from "framer-motion";
3
+ const p = ({ open: a, onClose: e, children: o }) => {
4
+ const r = (t) => {
5
+ t.target === t.currentTarget && e && e();
43
6
  };
44
- return /* @__PURE__ */ e.createElement(I, null, /* @__PURE__ */ e.createElement(
45
- z.div,
7
+ return /* @__PURE__ */ i.createElement(n, { mode: "wait" }, a && /* @__PURE__ */ i.createElement(
8
+ l.div,
46
9
  {
47
- ...p ? w : g,
48
- className: "absolute left-0 top-0 z-50 w-full rounded-[16px] p-2"
49
- },
50
- /* @__PURE__ */ e.createElement("div", { className: "transition-left left-auto top-60 z-40 flex w-full flex-col gap-3 duration-700 ease-cubic-in-out" }, /* @__PURE__ */ e.createElement("div", { className: "flex items-center justify-between p-1" }, /* @__PURE__ */ e.createElement(l, { size: "h4", weight: "medium" }, "Select chain"), /* @__PURE__ */ e.createElement(b, { onClick: m, className: "cursor-pointer" })), /* @__PURE__ */ e.createElement("div", { className: "flex w-full items-center justify-between rounded-2xl bg-white/50 px-4 py-[10px]" }, /* @__PURE__ */ e.createElement("div", { className: "flex flex-grow items-center" }, /* @__PURE__ */ e.createElement(l, { size: "h4", weight: "medium", className: "gf-w-full" }, /* @__PURE__ */ e.createElement(
51
- "input",
52
- {
53
- ref: f,
54
- className: "w-full bg-transparent outline-none placeholder:text-mid-grey focus:outline-none",
55
- type: "text",
56
- value: n,
57
- placeholder: "Search chains",
58
- onChange: N
59
- }
60
- ))), /* @__PURE__ */ e.createElement(C, null)), /* @__PURE__ */ e.createElement(
61
- "div",
62
- {
63
- className: "flex h-full flex-col overflow-auto rounded-2xl bg-white"
10
+ initial: { opacity: 0, x: "100%" },
11
+ animate: { opacity: 1, x: "0%" },
12
+ exit: {
13
+ opacity: 0,
14
+ x: "100%"
64
15
  },
65
- /* @__PURE__ */ e.createElement(
66
- S,
67
- {
68
- height: x,
69
- gradientHeight: 42,
70
- className: "rounded-2xl"
71
- },
72
- /* @__PURE__ */ e.createElement("div", { className: "flex w-full flex-col pb-2 pt-2" }, o.length > 0 ? o.map((t) => /* @__PURE__ */ e.createElement(
73
- "div",
74
- {
75
- key: t.chainId,
76
- className: "flex w-full cursor-pointer items-center justify-between hover:bg-off-white",
77
- onClick: () => c(t)
78
- },
79
- /* @__PURE__ */ e.createElement("div", { className: "flex w-full items-center gap-4 px-[14px] py-2" }, /* @__PURE__ */ e.createElement(
80
- "img",
81
- {
82
- src: t.iconUrl,
83
- alt: t.chainName,
84
- className: "h-5 w-5 rounded-full"
85
- }
86
- ), /* @__PURE__ */ e.createElement(
87
- l,
88
- {
89
- size: "h5",
90
- breakpoints: { sm: "h4" },
91
- weight: "regular"
92
- },
93
- t.chainName
94
- ))
95
- )) : /* @__PURE__ */ e.createElement("div", { className: "flex min-h-[334px] w-full items-center justify-center" }, /* @__PURE__ */ e.createElement(
96
- l,
97
- {
98
- size: "h4",
99
- weight: "medium",
100
- className: "text-center text-mid-grey"
101
- },
102
- "No chains found."
103
- )))
104
- )
105
- ))
16
+ transition: {
17
+ type: "spring",
18
+ stiffness: 250,
19
+ damping: 30
20
+ },
21
+ className: "absolute top-0 left-0 p-3 w-full h-full bg-white/50 backdrop-blur-md rounded-t-2xl z-[99]",
22
+ onClick: (t) => {
23
+ r(t), t.stopPropagation();
24
+ }
25
+ },
26
+ o
106
27
  ));
107
28
  };
108
29
  export {
109
- B as AvailableChainsSidebar
30
+ p as BottomSheet
110
31
  };
package/dist/index42.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),g=require("@gardenfi/garden-book"),A=require("./index36.cjs"),t=require("@gardenfi/orderbook"),I=require("./index7.cjs"),a=require("./index34.cjs"),M=require("./index6.cjs"),w=require("./index12.cjs"),_=require("./index14.cjs"),v=require("@gardenfi/react-hooks"),R=r=>{switch(r){case t.OrderStatus.Created:return"Detecting deposit";case t.OrderStatus.Expired:return"Expired";case t.OrderStatus.Initiated:return"Deposit detected (0/1)";case t.OrderStatus.InitiateDetected:return"Deposit detected (0/1)";case t.OrderStatus.AwaitingRedeem:return"Redeeming";case t.OrderStatus.Refunded:case t.OrderStatus.AwaitingRefund:case t.OrderStatus.Redeemed:return"Completed";default:return"In progress..."}},k=({order:r,status:o,isLast:f,isFirst:S})=>{const{source_swap:c,destination_swap:i}=r,{allAssets:u}=I.assetInfoStore(),{currentNetwork:h,setActiveTab:O}=M.swapStore(),{setIsOpen:b,setOrder:E}=_.orderInProgressStore(),{garden:d}=v.useGarden(),n=e.useMemo(()=>a.getAssetFromSwap(c,u),[c,u]),s=e.useMemo(()=>a.getAssetFromSwap(i,u),[i,u]),l=e.useMemo(()=>o&&R(o),[o]),m=e.useMemo(()=>n&&a.formatAmount(c.amount,(n==null?void 0:n.decimals)??0,Math.min(n.decimals,8)),[c.amount,n]),p=e.useMemo(()=>s&&a.formatAmount(i.amount,(s==null?void 0:s.decimals)??0,Math.min(s.decimals,8)),[i.amount,s]),x=e.useMemo(()=>a.getDayDifference(r.created_at),[r.created_at]),q=()=>{if(!r.order_id||!d)return;if(o===t.OrderStatus.Created&&t.isBitcoin(r.source_swap.chain)){b(!0),O(w.tabs.swap),E(d,r.order_id);return}const y=w.getApiEndpoint(h).explorer;window.open(`${y}/order/${r.order_id}`,"_blank")};return!n||!s?null:e.createElement("div",null,!S&&e.createElement("div",{className:"h-px w-full bg-white/50"}),e.createElement("div",{className:`flex flex-col gap-1 p-4 ${f?"rounded-b-2xl":""} ${l!=="Expired"?"cursor-pointer hover:bg-white/50":""}`,onClick:q},e.createElement("div",{className:"flex flex-col gap-1"},m&&p&&e.createElement(A.SwapInfo,{sendAsset:n,receiveAsset:s,sendAmount:m,receiveAmount:p}),e.createElement("div",{className:"flex justify-between"},e.createElement(g.Typography,{size:"h5",weight:"regular"},l),e.createElement(g.Typography,{size:"h5",weight:"regular"},x)))))};exports.TransactionRow=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),o=require("@gardenfi/garden-book"),r=({chain:t,className:a})=>e.createElement("div",{className:"absolute z-50 mx-auto -mt-[84px]"},e.createElement("div",{className:`flex text-nowrap rounded-2xl bg-white px-3 py-2 shadow-custom ${a}`},e.createElement(o.Typography,{size:"h5",weight:"medium",className:"text-center !text-dark-grey"},t)));exports.ChainsTooltip=r;
package/dist/index42.js CHANGED
@@ -1,90 +1,20 @@
1
- import a, { useMemo as o } from "react";
2
- import { Typography as f } from "@gardenfi/garden-book";
3
- import { SwapInfo as R } from "./index36.js";
4
- import { OrderStatus as t, isBitcoin as S } from "@gardenfi/orderbook";
5
- import { assetInfoStore as y } from "./index7.js";
6
- import { getAssetFromSwap as g, formatAmount as w, getDayDifference as C } from "./index34.js";
7
- import { swapStore as N } from "./index6.js";
8
- import { tabs as k, getApiEndpoint as O } from "./index12.js";
9
- import { orderInProgressStore as T } from "./index14.js";
10
- import { useGarden as $ } from "@gardenfi/react-hooks";
11
- const M = (e) => {
12
- switch (e) {
13
- case t.Created:
14
- return "Detecting deposit";
15
- case t.Expired:
16
- return "Expired";
17
- case t.Initiated:
18
- return "Deposit detected (0/1)";
19
- case t.InitiateDetected:
20
- return "Deposit detected (0/1)";
21
- case t.AwaitingRedeem:
22
- return "Redeeming";
23
- case t.Refunded:
24
- case t.AwaitingRefund:
25
- case t.Redeemed:
26
- return "Completed";
27
- default:
28
- return "In progress...";
29
- }
30
- }, K = ({
31
- order: e,
32
- status: i,
33
- isLast: h,
34
- isFirst: x
35
- }) => {
36
- const { source_swap: s, destination_swap: c } = e, { allAssets: m } = y(), { currentNetwork: E, setActiveTab: b } = N(), { setIsOpen: _, setOrder: v } = T(), { garden: d } = $(), r = o(
37
- () => g(s, m),
38
- [s, m]
39
- ), n = o(
40
- () => g(c, m),
41
- [c, m]
42
- ), l = o(
43
- () => i && M(i),
44
- [i]
45
- ), p = o(
46
- () => r && w(
47
- s.amount,
48
- (r == null ? void 0 : r.decimals) ?? 0,
49
- Math.min(r.decimals, 8)
50
- ),
51
- [s.amount, r]
52
- ), u = o(
53
- () => n && w(
54
- c.amount,
55
- (n == null ? void 0 : n.decimals) ?? 0,
56
- Math.min(n.decimals, 8)
57
- ),
58
- [c.amount, n]
59
- ), A = o(
60
- () => C(e.created_at),
61
- [e.created_at]
62
- ), D = () => {
63
- if (!e.order_id || !d) return;
64
- if (i === t.Created && S(e.source_swap.chain)) {
65
- _(!0), b(k.swap), v(d, e.order_id);
66
- return;
67
- }
68
- const I = O(E).explorer;
69
- window.open(`${I}/order/${e.order_id}`, "_blank");
70
- };
71
- return !r || !n ? null : /* @__PURE__ */ a.createElement("div", null, !x && /* @__PURE__ */ a.createElement("div", { className: "h-px w-full bg-white/50" }), /* @__PURE__ */ a.createElement(
72
- "div",
1
+ import e from "react";
2
+ import { Typography as r } from "@gardenfi/garden-book";
3
+ const s = ({ chain: t, className: a }) => /* @__PURE__ */ e.createElement("div", { className: "absolute z-50 mx-auto -mt-[84px]" }, /* @__PURE__ */ e.createElement(
4
+ "div",
5
+ {
6
+ className: `flex text-nowrap rounded-2xl bg-white px-3 py-2 shadow-custom ${a}`
7
+ },
8
+ /* @__PURE__ */ e.createElement(
9
+ r,
73
10
  {
74
- className: `flex flex-col gap-1 p-4 ${h ? "rounded-b-2xl" : ""} ${l !== "Expired" ? "cursor-pointer hover:bg-white/50" : ""}`,
75
- onClick: D
11
+ size: "h5",
12
+ weight: "medium",
13
+ className: "text-center !text-dark-grey"
76
14
  },
77
- /* @__PURE__ */ a.createElement("div", { className: "flex flex-col gap-1" }, p && u && /* @__PURE__ */ a.createElement(
78
- R,
79
- {
80
- sendAsset: r,
81
- receiveAsset: n,
82
- sendAmount: p,
83
- receiveAmount: u
84
- }
85
- ), /* @__PURE__ */ a.createElement("div", { className: "flex justify-between" }, /* @__PURE__ */ a.createElement(f, { size: "h5", weight: "regular" }, l), /* @__PURE__ */ a.createElement(f, { size: "h5", weight: "regular" }, A)))
86
- ));
87
- };
15
+ t
16
+ )
17
+ ));
88
18
  export {
89
- K as TransactionRow
19
+ s as ChainsTooltip
90
20
  };
package/dist/index43.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),l=require("framer-motion"),r=()=>{const t=()=>e.createElement("div",{className:"flex flex-col gap-1"},e.createElement("div",{className:"flex justify-between gap-4"},e.createElement("div",{className:"h-5 w-24 animate-pulse rounded-md bg-gray-200"}),e.createElement("div",{className:"h-5 w-6 animate-pulse rounded-full bg-gray-200"}),e.createElement("div",{className:"h-5 w-24 animate-pulse rounded-md bg-gray-200"})),e.createElement("div",{className:"flex justify-between"},e.createElement("div",{className:"h-4 w-28 animate-pulse rounded-md bg-gray-200"}),e.createElement("div",{className:"h-4 w-20 animate-pulse rounded-md bg-gray-200"})));return e.createElement(l.motion.div,{layout:!0,className:"flex flex-col"},Array.from({length:4}).map((n,a)=>e.createElement("div",{key:a,className:`bg-white/50 p-4 ${a===3?"rounded-b-2xl":""}`},t())))};exports.TransactionsSkeleton=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),a=require("@gardenfi/garden-book"),c=require("framer-motion"),N=require("./index78.cjs"),b=require("./index6.cjs"),i=require("./index12.cjs"),v=({show:n,chains:r,hide:m,onClick:u})=>{const[l,f]=e.useState(""),d=e.useRef(null),{isMobile:p}=N.viewPortStore(),{showFeesAndRateDetails:h,showBtcAddress:g}=b.swapStore(),w=(h?g?i.HEIGHTS.large:i.HEIGHTS.medium:i.HEIGHTS.small)-i.BUFFER_HEIGHT.medium,x={initial:{x:"100%",opacity:0},animate:{x:n?0:"100%",opacity:n?1:0},transition:{type:"tween",ease:"easeInOut",stiffness:200,damping:25,mass:.8,duration:.4}},y={initial:{y:"100%",opacity:0},animate:{y:n?0:"100%",opacity:n?1:0},transition:{type:"tween",ease:"easeInOut",stiffness:200,damping:25,mass:.8,duration:.4}},o=e.useMemo(()=>l?r.filter(t=>t.chainName.toLowerCase().includes(l.toLowerCase())).sort((t,s)=>t.chainName.localeCompare(s.chainName)):r.sort((t,s)=>t.chainName.localeCompare(s.chainName)),[r,l]),E=t=>{f(t.target.value)};return e.createElement(c.AnimatePresence,null,e.createElement(c.motion.div,{...p?y:x,className:"absolute left-0 top-0 z-50 w-full rounded-[16px] p-2"},e.createElement("div",{className:"transition-left left-auto top-60 z-40 flex w-full flex-col gap-3 duration-700 ease-cubic-in-out"},e.createElement("div",{className:"flex items-center justify-between p-1"},e.createElement(a.Typography,{size:"h4",weight:"medium"},"Select chain"),e.createElement(a.ArrowLeftIcon,{onClick:m,className:"cursor-pointer"})),e.createElement("div",{className:"flex w-full items-center justify-between rounded-2xl bg-white/50 px-4 py-[10px]"},e.createElement("div",{className:"flex flex-grow items-center"},e.createElement(a.Typography,{size:"h4",weight:"medium",className:"gf-w-full"},e.createElement("input",{ref:d,className:"w-full bg-transparent outline-none placeholder:text-mid-grey focus:outline-none",type:"text",value:l,placeholder:"Search chains",onChange:E}))),e.createElement(a.SearchIcon,null)),e.createElement("div",{className:"flex h-full flex-col overflow-auto rounded-2xl bg-white"},e.createElement(a.GradientScroll,{height:w,gradientHeight:42,className:"rounded-2xl"},e.createElement("div",{className:"flex w-full flex-col pb-2 pt-2"},o.length>0?o.map(t=>e.createElement("div",{key:t.chainId,className:"flex w-full cursor-pointer items-center justify-between hover:bg-off-white",onClick:()=>u(t)},e.createElement("div",{className:"flex w-full items-center gap-4 px-[14px] py-2"},e.createElement("img",{src:t.iconUrl,alt:t.chainName,className:"h-5 w-5 rounded-full"}),e.createElement(a.Typography,{size:"h5",breakpoints:{sm:"h4"},weight:"regular"},t.chainName)))):e.createElement("div",{className:"flex min-h-[334px] w-full items-center justify-center"},e.createElement(a.Typography,{size:"h4",weight:"medium",className:"text-center text-mid-grey"},"No chains found."))))))))};exports.AvailableChainsSidebar=v;
package/dist/index43.js CHANGED
@@ -1,16 +1,110 @@
1
- import e from "react";
2
- import { motion as l } from "framer-motion";
3
- const s = () => {
4
- const t = () => /* @__PURE__ */ e.createElement("div", { className: "flex flex-col gap-1" }, /* @__PURE__ */ e.createElement("div", { className: "flex justify-between gap-4" }, /* @__PURE__ */ e.createElement("div", { className: "h-5 w-24 animate-pulse rounded-md bg-gray-200" }), /* @__PURE__ */ e.createElement("div", { className: "h-5 w-6 animate-pulse rounded-full bg-gray-200" }), /* @__PURE__ */ e.createElement("div", { className: "h-5 w-24 animate-pulse rounded-md bg-gray-200" })), /* @__PURE__ */ e.createElement("div", { className: "flex justify-between" }, /* @__PURE__ */ e.createElement("div", { className: "h-4 w-28 animate-pulse rounded-md bg-gray-200" }), /* @__PURE__ */ e.createElement("div", { className: "h-4 w-20 animate-pulse rounded-md bg-gray-200" })));
5
- return /* @__PURE__ */ e.createElement(l.div, { layout: !0, className: "flex flex-col" }, Array.from({ length: 4 }).map((m, a) => /* @__PURE__ */ e.createElement(
6
- "div",
1
+ import e, { useState as E, useRef as y, useMemo as v } from "react";
2
+ import { Typography as l, ArrowLeftIcon as b, SearchIcon as C, GradientScroll as S } from "@gardenfi/garden-book";
3
+ import { AnimatePresence as I, motion as z } from "framer-motion";
4
+ import { viewPortStore as A } from "./index78.js";
5
+ import { swapStore as H } from "./index6.js";
6
+ import { HEIGHTS as s, BUFFER_HEIGHT as R } from "./index12.js";
7
+ const B = ({
8
+ show: a,
9
+ chains: i,
10
+ hide: m,
11
+ onClick: c
12
+ }) => {
13
+ const [n, u] = E(""), f = y(null), { isMobile: p } = A(), { showFeesAndRateDetails: d, showBtcAddress: h } = H(), x = (d ? h ? s.large : s.medium : s.small) - R.medium, g = {
14
+ initial: { x: "100%", opacity: 0 },
15
+ animate: {
16
+ x: a ? 0 : "100%",
17
+ opacity: a ? 1 : 0
18
+ },
19
+ transition: {
20
+ type: "tween",
21
+ ease: "easeInOut",
22
+ stiffness: 200,
23
+ damping: 25,
24
+ mass: 0.8,
25
+ duration: 0.4
26
+ }
27
+ }, w = {
28
+ initial: { y: "100%", opacity: 0 },
29
+ animate: {
30
+ y: a ? 0 : "100%",
31
+ opacity: a ? 1 : 0
32
+ },
33
+ transition: {
34
+ type: "tween",
35
+ ease: "easeInOut",
36
+ stiffness: 200,
37
+ damping: 25,
38
+ mass: 0.8,
39
+ duration: 0.4
40
+ }
41
+ }, o = v(() => n ? i.filter((t) => t.chainName.toLowerCase().includes(n.toLowerCase())).sort((t, r) => t.chainName.localeCompare(r.chainName)) : i.sort((t, r) => t.chainName.localeCompare(r.chainName)), [i, n]), N = (t) => {
42
+ u(t.target.value);
43
+ };
44
+ return /* @__PURE__ */ e.createElement(I, null, /* @__PURE__ */ e.createElement(
45
+ z.div,
7
46
  {
8
- key: a,
9
- className: `bg-white/50 p-4 ${a === 3 ? "rounded-b-2xl" : ""}`
47
+ ...p ? w : g,
48
+ className: "absolute left-0 top-0 z-50 w-full rounded-[16px] p-2"
10
49
  },
11
- t()
12
- )));
50
+ /* @__PURE__ */ e.createElement("div", { className: "transition-left left-auto top-60 z-40 flex w-full flex-col gap-3 duration-700 ease-cubic-in-out" }, /* @__PURE__ */ e.createElement("div", { className: "flex items-center justify-between p-1" }, /* @__PURE__ */ e.createElement(l, { size: "h4", weight: "medium" }, "Select chain"), /* @__PURE__ */ e.createElement(b, { onClick: m, className: "cursor-pointer" })), /* @__PURE__ */ e.createElement("div", { className: "flex w-full items-center justify-between rounded-2xl bg-white/50 px-4 py-[10px]" }, /* @__PURE__ */ e.createElement("div", { className: "flex flex-grow items-center" }, /* @__PURE__ */ e.createElement(l, { size: "h4", weight: "medium", className: "gf-w-full" }, /* @__PURE__ */ e.createElement(
51
+ "input",
52
+ {
53
+ ref: f,
54
+ className: "w-full bg-transparent outline-none placeholder:text-mid-grey focus:outline-none",
55
+ type: "text",
56
+ value: n,
57
+ placeholder: "Search chains",
58
+ onChange: N
59
+ }
60
+ ))), /* @__PURE__ */ e.createElement(C, null)), /* @__PURE__ */ e.createElement(
61
+ "div",
62
+ {
63
+ className: "flex h-full flex-col overflow-auto rounded-2xl bg-white"
64
+ },
65
+ /* @__PURE__ */ e.createElement(
66
+ S,
67
+ {
68
+ height: x,
69
+ gradientHeight: 42,
70
+ className: "rounded-2xl"
71
+ },
72
+ /* @__PURE__ */ e.createElement("div", { className: "flex w-full flex-col pb-2 pt-2" }, o.length > 0 ? o.map((t) => /* @__PURE__ */ e.createElement(
73
+ "div",
74
+ {
75
+ key: t.chainId,
76
+ className: "flex w-full cursor-pointer items-center justify-between hover:bg-off-white",
77
+ onClick: () => c(t)
78
+ },
79
+ /* @__PURE__ */ e.createElement("div", { className: "flex w-full items-center gap-4 px-[14px] py-2" }, /* @__PURE__ */ e.createElement(
80
+ "img",
81
+ {
82
+ src: t.iconUrl,
83
+ alt: t.chainName,
84
+ className: "h-5 w-5 rounded-full"
85
+ }
86
+ ), /* @__PURE__ */ e.createElement(
87
+ l,
88
+ {
89
+ size: "h5",
90
+ breakpoints: { sm: "h4" },
91
+ weight: "regular"
92
+ },
93
+ t.chainName
94
+ ))
95
+ )) : /* @__PURE__ */ e.createElement("div", { className: "flex min-h-[334px] w-full items-center justify-center" }, /* @__PURE__ */ e.createElement(
96
+ l,
97
+ {
98
+ size: "h4",
99
+ weight: "medium",
100
+ className: "text-center text-mid-grey"
101
+ },
102
+ "No chains found."
103
+ )))
104
+ )
105
+ ))
106
+ ));
13
107
  };
14
108
  export {
15
- s as TransactionsSkeleton
109
+ B as AvailableChainsSidebar
16
110
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gardenfi/swap",
3
- "version": "0.1.3-beta.21",
3
+ "version": "0.1.3-beta.23",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "vite build",
@@ -29,11 +29,11 @@
29
29
  "registry": "https://registry.npmjs.org/"
30
30
  },
31
31
  "dependencies": {
32
- "@gardenfi/core": "3.1.3-beta.21",
32
+ "@gardenfi/core": "3.1.3-beta.23",
33
33
  "@gardenfi/garden-book": "0.2.2",
34
- "@gardenfi/orderbook": "3.1.3-beta.21",
35
- "@gardenfi/react-hooks": "3.1.3-beta.21",
36
- "@gardenfi/utils": "3.1.1-beta.19",
34
+ "@gardenfi/orderbook": "3.1.3-beta.23",
35
+ "@gardenfi/react-hooks": "3.1.3-beta.23",
36
+ "@gardenfi/utils": "3.1.1-beta.21",
37
37
  "@mysten/sui": "^1.37.2",
38
38
  "@number-flow/react": "^0.5.9",
39
39
  "@solana/web3.js": "^1.98.2",