@turtleclub/ui 0.0.6 → 0.1.0

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.
package/dist/index.js CHANGED
@@ -1,25 +1,25 @@
1
- import { clsx as q } from "clsx";
2
- import { twMerge as J } from "tailwind-merge";
3
- import { jsxs as n, jsx as e, Fragment as K } from "react/jsx-runtime";
1
+ import { clsx as X } from "clsx";
2
+ import { twMerge as q } from "tailwind-merge";
3
+ import { jsxs as o, jsx as e } from "react/jsx-runtime";
4
4
  import * as x from "react";
5
- import { useEffect as Q } from "react";
5
+ import { useEffect as J, useState as V } from "react";
6
6
  import { cva as b } from "class-variance-authority";
7
- import * as U from "@radix-ui/react-label";
8
- import * as L from "@radix-ui/react-scroll-area";
7
+ import * as Q from "@radix-ui/react-label";
8
+ import * as S from "@radix-ui/react-scroll-area";
9
9
  import * as v from "@radix-ui/react-select";
10
- import { ChevronDownIcon as _, ChevronUpIcon as ee, XIcon as te, CheckIcon as re, TurtleIcon as ae, ChevronsRightIcon as ne } from "lucide-react";
11
- import * as oe from "@radix-ui/react-separator";
12
- import { useTheme as se } from "next-themes";
13
- import { Toaster as ie } from "sonner";
14
- import * as B from "@radix-ui/react-switch";
15
- import * as A from "@radix-ui/react-toggle-group";
16
- import * as le from "@radix-ui/react-toggle";
10
+ import { ChevronDownIcon as _, ChevronUpIcon as U, XIcon as ee, CheckIcon as te, TurtleIcon as re, ChevronDown as ae, ChevronsRight as ne, Edit3 as oe } from "lucide-react";
11
+ import * as se from "@radix-ui/react-separator";
12
+ import { useTheme as ie } from "next-themes";
13
+ import { Toaster as le } from "sonner";
14
+ import * as R from "@radix-ui/react-switch";
15
+ import * as $ from "@radix-ui/react-toggle-group";
16
+ import * as de from "@radix-ui/react-toggle";
17
17
  import * as k from "@radix-ui/react-tooltip";
18
- import { Slot as de } from "@radix-ui/react-slot";
19
- function s(...r) {
20
- return J(q(r));
18
+ import { Slot as ce } from "@radix-ui/react-slot";
19
+ function i(...t) {
20
+ return q(X(t));
21
21
  }
22
- const V = b(
22
+ const D = b(
23
23
  "flex w-full bg-transparent text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground transition-colors outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
24
24
  {
25
25
  variants: {
@@ -49,17 +49,17 @@ const V = b(
49
49
  cursor: "primary"
50
50
  }
51
51
  }
52
- ), D = x.forwardRef(
53
- ({ className: r, variant: t, size: a, cursor: o, type: l, prompt: c, ...i }, d) => c ? /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
54
- /* @__PURE__ */ e("span", { className: "text-primary text-sm font-medium shrink-0", children: c }),
52
+ ), A = x.forwardRef(
53
+ ({ className: t, variant: r, size: a, cursor: n, type: l, prompt: d, ...s }, c) => d ? /* @__PURE__ */ o("div", { className: "flex items-center gap-2", children: [
54
+ /* @__PURE__ */ e("span", { className: "text-primary text-sm font-medium shrink-0", children: d }),
55
55
  /* @__PURE__ */ e(
56
56
  "input",
57
57
  {
58
58
  type: l,
59
59
  "data-slot": "input",
60
- className: s(V({ variant: t, size: a, cursor: o, className: r })),
61
- ref: d,
62
- ...i
60
+ className: i(D({ variant: r, size: a, cursor: n, className: t })),
61
+ ref: c,
62
+ ...s
63
63
  }
64
64
  )
65
65
  ] }) : /* @__PURE__ */ e(
@@ -67,74 +67,74 @@ const V = b(
67
67
  {
68
68
  type: l,
69
69
  "data-slot": "input",
70
- className: s(V({ variant: t, size: a, cursor: o, className: r })),
71
- ref: d,
72
- ...i
70
+ className: i(D({ variant: r, size: a, cursor: n, className: t })),
71
+ ref: c,
72
+ ...s
73
73
  }
74
74
  )
75
75
  );
76
- D.displayName = "Input";
77
- function Me({
78
- className: r,
79
- ...t
76
+ A.displayName = "Input";
77
+ function Ke({
78
+ className: t,
79
+ ...r
80
80
  }) {
81
81
  return /* @__PURE__ */ e(
82
- U.Root,
82
+ Q.Root,
83
83
  {
84
84
  "data-slot": "label",
85
- className: s(
85
+ className: i(
86
86
  "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
87
- r
87
+ t
88
88
  ),
89
- ...t
89
+ ...r
90
90
  }
91
91
  );
92
92
  }
93
- function ce({
94
- className: r,
95
- children: t,
93
+ function ue({
94
+ className: t,
95
+ children: r,
96
96
  ...a
97
97
  }) {
98
- return /* @__PURE__ */ n(
99
- L.Root,
98
+ return /* @__PURE__ */ o(
99
+ S.Root,
100
100
  {
101
101
  "data-slot": "scroll-area",
102
- className: s("relative", r),
102
+ className: i("relative", t),
103
103
  ...a,
104
104
  children: [
105
105
  /* @__PURE__ */ e(
106
- L.Viewport,
106
+ S.Viewport,
107
107
  {
108
108
  "data-slot": "scroll-area-viewport",
109
109
  className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",
110
- children: t
110
+ children: r
111
111
  }
112
112
  ),
113
- /* @__PURE__ */ e($, {}),
114
- /* @__PURE__ */ e(L.Corner, {})
113
+ /* @__PURE__ */ e(me, {}),
114
+ /* @__PURE__ */ e(S.Corner, {})
115
115
  ]
116
116
  }
117
117
  );
118
118
  }
119
- function $({
120
- className: r,
121
- orientation: t = "vertical",
119
+ function me({
120
+ className: t,
121
+ orientation: r = "vertical",
122
122
  ...a
123
123
  }) {
124
124
  return /* @__PURE__ */ e(
125
- L.ScrollAreaScrollbar,
125
+ S.ScrollAreaScrollbar,
126
126
  {
127
127
  "data-slot": "scroll-area-scrollbar",
128
- orientation: t,
129
- className: s(
128
+ orientation: r,
129
+ className: i(
130
130
  "flex touch-none p-px transition-colors select-none",
131
- t === "vertical" && "h-full w-2.5 border-l border-l-transparent",
132
- t === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
133
- r
131
+ r === "vertical" && "h-full w-2.5 border-l border-l-transparent",
132
+ r === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
133
+ t
134
134
  ),
135
135
  ...a,
136
136
  children: /* @__PURE__ */ e(
137
- L.ScrollAreaThumb,
137
+ S.ScrollAreaThumb,
138
138
  {
139
139
  "data-slot": "scroll-area-thumb",
140
140
  className: "bg-border relative flex-1 rounded-full"
@@ -143,35 +143,35 @@ function $({
143
143
  }
144
144
  );
145
145
  }
146
- function me({ ...r }) {
147
- return /* @__PURE__ */ e(v.Root, { "data-slot": "select", ...r });
146
+ function fe({ ...t }) {
147
+ return /* @__PURE__ */ e(v.Root, { "data-slot": "select", ...t });
148
148
  }
149
- function Ye({ ...r }) {
150
- return /* @__PURE__ */ e(v.Group, { "data-slot": "select-group", ...r });
149
+ function Ye({ ...t }) {
150
+ return /* @__PURE__ */ e(v.Group, { "data-slot": "select-group", ...t });
151
151
  }
152
- function Ze({ ...r }) {
153
- return /* @__PURE__ */ e(v.Value, { "data-slot": "select-value", ...r });
152
+ function Ze({ ...t }) {
153
+ return /* @__PURE__ */ e(v.Value, { "data-slot": "select-value", ...t });
154
154
  }
155
- function ue({
156
- className: r,
157
- size: t = "default",
155
+ function pe({
156
+ className: t,
157
+ size: r = "default",
158
158
  children: a,
159
- ...o
159
+ ...n
160
160
  }) {
161
- return /* @__PURE__ */ n(
161
+ return /* @__PURE__ */ o(
162
162
  v.Trigger,
163
163
  {
164
164
  "data-slot": "select-trigger",
165
- "data-size": t,
166
- className: s(
165
+ "data-size": r,
166
+ className: i(
167
167
  // Turtle Design System - transparent trigger with wise white text
168
168
  "flex w-fit items-center justify-between gap-2 bg-transparent px-3 py-2 text-sm text-foreground whitespace-nowrap transition-colors outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 border-none focus:ring-0",
169
169
  "data-[placeholder]:text-muted-foreground",
170
170
  "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg]:text-muted-foreground",
171
171
  "*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2",
172
- r
172
+ t
173
173
  ),
174
- ...o,
174
+ ...n,
175
175
  children: [
176
176
  a,
177
177
  /* @__PURE__ */ e(v.Icon, { asChild: !0, children: /* @__PURE__ */ e(_, { className: "size-4 opacity-50" }) })
@@ -179,175 +179,175 @@ function ue({
179
179
  }
180
180
  );
181
181
  }
182
- function fe({
183
- className: r,
184
- children: t,
182
+ function xe({
183
+ className: t,
184
+ children: r,
185
185
  position: a = "popper",
186
- ...o
186
+ ...n
187
187
  }) {
188
- return /* @__PURE__ */ e(v.Portal, { children: /* @__PURE__ */ n(
188
+ return /* @__PURE__ */ e(v.Portal, { children: /* @__PURE__ */ o(
189
189
  v.Content,
190
190
  {
191
191
  "data-slot": "select-content",
192
- className: s(
192
+ className: i(
193
193
  // Turtle Design System - ninja black background for content
194
194
  "bg-background text-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-border shadow-md",
195
195
  a === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
196
- r
196
+ t
197
197
  ),
198
198
  position: a,
199
- ...o,
199
+ ...n,
200
200
  children: [
201
- /* @__PURE__ */ e(xe, {}),
201
+ /* @__PURE__ */ e(ge, {}),
202
202
  /* @__PURE__ */ e(
203
203
  v.Viewport,
204
204
  {
205
- className: s(
205
+ className: i(
206
206
  "p-1",
207
207
  a === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
208
208
  ),
209
- children: t
209
+ children: r
210
210
  }
211
211
  ),
212
- /* @__PURE__ */ e(he, {})
212
+ /* @__PURE__ */ e(ve, {})
213
213
  ]
214
214
  }
215
215
  ) });
216
216
  }
217
- function Xe({ className: r, ...t }) {
217
+ function Xe({ className: t, ...r }) {
218
218
  return /* @__PURE__ */ e(
219
219
  v.Label,
220
220
  {
221
221
  "data-slot": "select-label",
222
- className: s("text-muted-foreground px-2 py-1.5 text-xs", r),
223
- ...t
222
+ className: i("text-muted-foreground px-2 py-1.5 text-xs", t),
223
+ ...r
224
224
  }
225
225
  );
226
226
  }
227
- function pe({
228
- className: r,
229
- children: t,
227
+ function he({
228
+ className: t,
229
+ children: r,
230
230
  ...a
231
231
  }) {
232
- return /* @__PURE__ */ n(
232
+ return /* @__PURE__ */ o(
233
233
  v.Item,
234
234
  {
235
235
  "data-slot": "select-item",
236
- className: s(
236
+ className: i(
237
237
  // Turtle Design System - items with wise white alpha (2%) background and ninja black text
238
238
  "relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm text-foreground outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
239
239
  "bg-muted hover:bg-muted/80 focus:bg-muted/80",
240
240
  // wise white alpha (2%) background
241
241
  "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
242
242
  "*:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
243
- r
243
+ t
244
244
  ),
245
245
  ...a,
246
246
  children: [
247
- /* @__PURE__ */ n("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: [
247
+ /* @__PURE__ */ o("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: [
248
248
  /* @__PURE__ */ e("div", { className: "w-2 h-2 rounded-full bg-muted-foreground/30 transition-colors" }),
249
249
  /* @__PURE__ */ e(v.ItemIndicator, { className: "absolute", children: /* @__PURE__ */ e("div", { className: "w-2 h-2 rounded-full bg-primary" }) })
250
250
  ] }),
251
- /* @__PURE__ */ e(v.ItemText, { children: t })
251
+ /* @__PURE__ */ e(v.ItemText, { children: r })
252
252
  ]
253
253
  }
254
254
  );
255
255
  }
256
256
  function qe({
257
- className: r,
258
- ...t
257
+ className: t,
258
+ ...r
259
259
  }) {
260
260
  return /* @__PURE__ */ e(
261
261
  v.Separator,
262
262
  {
263
263
  "data-slot": "select-separator",
264
- className: s("bg-border pointer-events-none -mx-1 my-1 h-px", r),
265
- ...t
264
+ className: i("bg-border pointer-events-none -mx-1 my-1 h-px", t),
265
+ ...r
266
266
  }
267
267
  );
268
268
  }
269
- function xe({
270
- className: r,
271
- ...t
269
+ function ge({
270
+ className: t,
271
+ ...r
272
272
  }) {
273
273
  return /* @__PURE__ */ e(
274
274
  v.ScrollUpButton,
275
275
  {
276
276
  "data-slot": "select-scroll-up-button",
277
- className: s("flex cursor-default items-center justify-center py-1", r),
278
- ...t,
279
- children: /* @__PURE__ */ e(ee, { className: "size-4" })
277
+ className: i("flex cursor-default items-center justify-center py-1", t),
278
+ ...r,
279
+ children: /* @__PURE__ */ e(U, { className: "size-4" })
280
280
  }
281
281
  );
282
282
  }
283
- function he({
284
- className: r,
285
- ...t
283
+ function ve({
284
+ className: t,
285
+ ...r
286
286
  }) {
287
287
  return /* @__PURE__ */ e(
288
288
  v.ScrollDownButton,
289
289
  {
290
290
  "data-slot": "select-scroll-down-button",
291
- className: s("flex cursor-default items-center justify-center py-1", r),
292
- ...t,
291
+ className: i("flex cursor-default items-center justify-center py-1", t),
292
+ ...r,
293
293
  children: /* @__PURE__ */ e(_, { className: "size-4" })
294
294
  }
295
295
  );
296
296
  }
297
297
  function Je({
298
- className: r,
299
- orientation: t = "horizontal",
298
+ className: t,
299
+ orientation: r = "horizontal",
300
300
  decorative: a = !0,
301
- ...o
301
+ ...n
302
302
  }) {
303
303
  return /* @__PURE__ */ e(
304
- oe.Root,
304
+ se.Root,
305
305
  {
306
306
  "data-slot": "separator",
307
307
  decorative: a,
308
- orientation: t,
309
- className: s(
308
+ orientation: r,
309
+ className: i(
310
310
  "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
311
- r
311
+ t
312
312
  ),
313
- ...o
313
+ ...n
314
314
  }
315
315
  );
316
316
  }
317
- const Ke = ({ ...r }) => {
318
- const { theme: t = "system" } = se();
317
+ const Qe = ({ ...t }) => {
318
+ const { theme: r = "system" } = ie();
319
319
  return /* @__PURE__ */ e(
320
- ie,
320
+ le,
321
321
  {
322
- theme: t,
322
+ theme: r,
323
323
  className: "toaster group",
324
324
  style: {
325
325
  "--normal-bg": "var(--popover)",
326
326
  "--normal-text": "var(--popover-foreground)",
327
327
  "--normal-border": "var(--border)"
328
328
  },
329
- ...r
329
+ ...t
330
330
  }
331
331
  );
332
332
  };
333
- function Qe({
334
- className: r,
335
- ...t
333
+ function Ue({
334
+ className: t,
335
+ ...r
336
336
  }) {
337
337
  return /* @__PURE__ */ e(
338
- B.Root,
338
+ R.Root,
339
339
  {
340
340
  "data-slot": "switch",
341
- className: s(
341
+ className: i(
342
342
  "peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
343
- r
343
+ t
344
344
  ),
345
- ...t,
345
+ ...r,
346
346
  children: /* @__PURE__ */ e(
347
- B.Thumb,
347
+ R.Thumb,
348
348
  {
349
349
  "data-slot": "switch-thumb",
350
- className: s(
350
+ className: i(
351
351
  "bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
352
352
  )
353
353
  }
@@ -355,7 +355,7 @@ function Qe({
355
355
  }
356
356
  );
357
357
  }
358
- const H = b(
358
+ const E = b(
359
359
  "inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",
360
360
  {
361
361
  variants: {
@@ -375,113 +375,113 @@ const H = b(
375
375
  }
376
376
  }
377
377
  );
378
- function Ue({
379
- className: r,
380
- variant: t,
378
+ function et({
379
+ className: t,
380
+ variant: r,
381
381
  size: a,
382
- ...o
382
+ ...n
383
383
  }) {
384
384
  return /* @__PURE__ */ e(
385
- le.Root,
385
+ de.Root,
386
386
  {
387
387
  "data-slot": "toggle",
388
- className: s(H({ variant: t, size: a, className: r })),
389
- ...o
388
+ className: i(E({ variant: r, size: a, className: t })),
389
+ ...n
390
390
  }
391
391
  );
392
392
  }
393
- const E = x.createContext({
393
+ const H = x.createContext({
394
394
  size: "default",
395
395
  variant: "default"
396
396
  });
397
- function et({
398
- className: r,
399
- variant: t,
397
+ function tt({
398
+ className: t,
399
+ variant: r,
400
400
  size: a,
401
- children: o,
401
+ children: n,
402
402
  ...l
403
403
  }) {
404
404
  return /* @__PURE__ */ e(
405
- A.Root,
405
+ $.Root,
406
406
  {
407
407
  "data-slot": "toggle-group",
408
- "data-variant": t,
408
+ "data-variant": r,
409
409
  "data-size": a,
410
- className: s(
410
+ className: i(
411
411
  "group/toggle-group flex w-fit items-center rounded-md data-[variant=outline]:shadow-xs",
412
- r
412
+ t
413
413
  ),
414
414
  ...l,
415
- children: /* @__PURE__ */ e(E.Provider, { value: { variant: t, size: a }, children: o })
415
+ children: /* @__PURE__ */ e(H.Provider, { value: { variant: r, size: a }, children: n })
416
416
  }
417
417
  );
418
418
  }
419
- function tt({
420
- className: r,
421
- children: t,
419
+ function rt({
420
+ className: t,
421
+ children: r,
422
422
  variant: a,
423
- size: o,
423
+ size: n,
424
424
  ...l
425
425
  }) {
426
- const c = x.useContext(E);
426
+ const d = x.useContext(H);
427
427
  return /* @__PURE__ */ e(
428
- A.Item,
428
+ $.Item,
429
429
  {
430
430
  "data-slot": "toggle-group-item",
431
- "data-variant": c.variant || a,
432
- "data-size": c.size || o,
433
- className: s(
434
- H({
435
- variant: c.variant || a,
436
- size: c.size || o
431
+ "data-variant": d.variant || a,
432
+ "data-size": d.size || n,
433
+ className: i(
434
+ E({
435
+ variant: d.variant || a,
436
+ size: d.size || n
437
437
  }),
438
438
  "min-w-0 flex-1 shrink-0 rounded-none shadow-none first:rounded-l-md last:rounded-r-md focus:z-10 focus-visible:z-10 data-[variant=outline]:border-l-0 data-[variant=outline]:first:border-l",
439
- r
439
+ t
440
440
  ),
441
441
  ...l,
442
- children: t
442
+ children: r
443
443
  }
444
444
  );
445
445
  }
446
- function ge({
447
- delayDuration: r = 0,
448
- ...t
446
+ function be({
447
+ delayDuration: t = 0,
448
+ ...r
449
449
  }) {
450
450
  return /* @__PURE__ */ e(
451
451
  k.Provider,
452
452
  {
453
453
  "data-slot": "tooltip-provider",
454
- delayDuration: r,
455
- ...t
454
+ delayDuration: t,
455
+ ...r
456
456
  }
457
457
  );
458
458
  }
459
- function rt({
460
- ...r
461
- }) {
462
- return /* @__PURE__ */ e(ge, { children: /* @__PURE__ */ e(k.Root, { "data-slot": "tooltip", ...r }) });
463
- }
464
459
  function at({
465
- ...r
460
+ ...t
466
461
  }) {
467
- return /* @__PURE__ */ e(k.Trigger, { "data-slot": "tooltip-trigger", ...r });
462
+ return /* @__PURE__ */ e(be, { children: /* @__PURE__ */ e(k.Root, { "data-slot": "tooltip", ...t }) });
468
463
  }
469
464
  function nt({
470
- className: r,
471
- sideOffset: t = 0,
465
+ ...t
466
+ }) {
467
+ return /* @__PURE__ */ e(k.Trigger, { "data-slot": "tooltip-trigger", ...t });
468
+ }
469
+ function ot({
470
+ className: t,
471
+ sideOffset: r = 0,
472
472
  children: a,
473
- ...o
473
+ ...n
474
474
  }) {
475
- return /* @__PURE__ */ e(k.Portal, { children: /* @__PURE__ */ n(
475
+ return /* @__PURE__ */ e(k.Portal, { children: /* @__PURE__ */ o(
476
476
  k.Content,
477
477
  {
478
478
  "data-slot": "tooltip-content",
479
- sideOffset: t,
480
- className: s(
479
+ sideOffset: r,
480
+ className: i(
481
481
  "bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
482
- r
482
+ t
483
483
  ),
484
- ...o,
484
+ ...n,
485
485
  children: [
486
486
  a,
487
487
  /* @__PURE__ */ e(k.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
@@ -489,7 +489,7 @@ function nt({
489
489
  }
490
490
  ) });
491
491
  }
492
- const ve = b(
492
+ const ye = b(
493
493
  "inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none border",
494
494
  {
495
495
  variants: {
@@ -523,23 +523,23 @@ const ve = b(
523
523
  }
524
524
  );
525
525
  function F({
526
- className: r,
527
- variant: t,
526
+ className: t,
527
+ variant: r,
528
528
  size: a,
529
- rounded: o,
529
+ rounded: n,
530
530
  asChild: l = !1,
531
- ...c
531
+ ...d
532
532
  }) {
533
533
  return /* @__PURE__ */ e(
534
- l ? de : "button",
534
+ l ? ce : "button",
535
535
  {
536
536
  "data-slot": "button",
537
- className: s(ve({ variant: t, size: a, rounded: o, className: r })),
538
- ...c
537
+ className: i(ye({ variant: r, size: a, rounded: n, className: t })),
538
+ ...d
539
539
  }
540
540
  );
541
541
  }
542
- const be = b("transition-all", {
542
+ const Ne = b("transition-all", {
543
543
  variants: {
544
544
  variant: {
545
545
  // Turtle Design System variants
@@ -571,66 +571,66 @@ const be = b("transition-all", {
571
571
  }
572
572
  });
573
573
  function y({
574
- className: r,
575
- variant: t,
574
+ className: t,
575
+ variant: r,
576
576
  padding: a,
577
- rounded: o,
577
+ rounded: n,
578
578
  ...l
579
579
  }) {
580
580
  return /* @__PURE__ */ e(
581
581
  "div",
582
582
  {
583
583
  "data-slot": "card",
584
- className: s(be({ variant: t, padding: a, rounded: o, className: r })),
584
+ className: i(Ne({ variant: r, padding: a, rounded: n, className: t })),
585
585
  ...l
586
586
  }
587
587
  );
588
588
  }
589
- function ot({ className: r, ...t }) {
589
+ function st({ className: t, ...r }) {
590
590
  return /* @__PURE__ */ e(
591
591
  "div",
592
592
  {
593
593
  "data-slot": "card-header",
594
- className: s("flex flex-col space-y-1.5 p-6", r),
595
- ...t
594
+ className: i("flex flex-col space-y-1.5 p-6", t),
595
+ ...r
596
596
  }
597
597
  );
598
598
  }
599
- function st({ className: r, children: t, ...a }) {
599
+ function it({ className: t, children: r, ...a }) {
600
600
  return /* @__PURE__ */ e(
601
601
  "h3",
602
602
  {
603
603
  "data-slot": "card-title",
604
- className: s("text-2xl font-semibold leading-none tracking-tight", r),
604
+ className: i("text-2xl font-semibold leading-none tracking-tight", t),
605
605
  ...a,
606
- children: t
606
+ children: r
607
607
  }
608
608
  );
609
609
  }
610
- function it({ className: r, ...t }) {
610
+ function lt({ className: t, ...r }) {
611
611
  return /* @__PURE__ */ e(
612
612
  "p",
613
613
  {
614
614
  "data-slot": "card-description",
615
- className: s("text-sm text-muted-foreground", r),
616
- ...t
615
+ className: i("text-sm text-muted-foreground", t),
616
+ ...r
617
617
  }
618
618
  );
619
619
  }
620
- function lt({ className: r, ...t }) {
621
- return /* @__PURE__ */ e("div", { "data-slot": "card-content", className: s("p-6 pt-0", r), ...t });
620
+ function dt({ className: t, ...r }) {
621
+ return /* @__PURE__ */ e("div", { "data-slot": "card-content", className: i("p-6 pt-0", t), ...r });
622
622
  }
623
- function dt({ className: r, ...t }) {
623
+ function ct({ className: t, ...r }) {
624
624
  return /* @__PURE__ */ e(
625
625
  "div",
626
626
  {
627
627
  "data-slot": "card-footer",
628
- className: s("flex items-center p-6 pt-0", r),
629
- ...t
628
+ className: i("flex items-center p-6 pt-0", t),
629
+ ...r
630
630
  }
631
631
  );
632
632
  }
633
- const ye = b(
633
+ const we = b(
634
634
  "inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 cursor-pointer border-none rounded-full",
635
635
  {
636
636
  variants: {
@@ -651,19 +651,19 @@ const ye = b(
651
651
  size: "default"
652
652
  }
653
653
  }
654
- ), O = x.forwardRef(
655
- ({ className: r, variant: t, size: a, asChild: o = !1, ...l }, c) => /* @__PURE__ */ e(
654
+ ), M = x.forwardRef(
655
+ ({ className: t, variant: r, size: a, asChild: n = !1, ...l }, d) => /* @__PURE__ */ e(
656
656
  "div",
657
657
  {
658
658
  "data-slot": "chip",
659
- className: s(ye({ variant: t, size: a, className: r })),
660
- ref: c,
659
+ className: i(we({ variant: r, size: a, className: t })),
660
+ ref: d,
661
661
  ...l
662
662
  }
663
663
  )
664
664
  );
665
- O.displayName = "Chip";
666
- const Ne = b(
665
+ M.displayName = "Chip";
666
+ const ke = b(
667
667
  "relative inline-flex items-center justify-center rounded-full",
668
668
  {
669
669
  variants: {
@@ -683,18 +683,18 @@ const Ne = b(
683
683
  variant: "default"
684
684
  }
685
685
  }
686
- ), W = x.forwardRef(
687
- ({ className: r, size: t, variant: a, children: o, spinning: l = !0, ...c }, i) => /* @__PURE__ */ n(
686
+ ), O = x.forwardRef(
687
+ ({ className: t, size: r, variant: a, children: n, spinning: l = !0, ...d }, s) => /* @__PURE__ */ o(
688
688
  "div",
689
689
  {
690
- ref: i,
691
- className: s(Ne({ size: t, variant: a }), r),
692
- ...c,
690
+ ref: s,
691
+ className: i(ke({ size: r, variant: a }), t),
692
+ ...d,
693
693
  children: [
694
694
  /* @__PURE__ */ e(
695
695
  "div",
696
696
  {
697
- className: s(
697
+ className: i(
698
698
  "absolute inset-0 rounded-full",
699
699
  "bg-gradient-to-r from-transparent via-primary to-transparent",
700
700
  "animate-spin",
@@ -711,7 +711,7 @@ const Ne = b(
711
711
  children: /* @__PURE__ */ e(
712
712
  "div",
713
713
  {
714
- className: s(
714
+ className: i(
715
715
  "w-full h-full rounded-full",
716
716
  a === "transparent" ? "bg-transparent" : "bg-background"
717
717
  )
@@ -719,13 +719,13 @@ const Ne = b(
719
719
  )
720
720
  }
721
721
  ),
722
- /* @__PURE__ */ e("div", { className: "relative z-10 flex items-center justify-center", children: o })
722
+ /* @__PURE__ */ e("div", { className: "relative z-10 flex items-center justify-center", children: n })
723
723
  ]
724
724
  }
725
725
  )
726
726
  );
727
- W.displayName = "IconAnimation";
728
- const we = b("inline-flex items-center gap-2 font-medium", {
727
+ O.displayName = "IconAnimation";
728
+ const ze = b("inline-flex items-center gap-2 font-medium", {
729
729
  variants: {
730
730
  variant: {
731
731
  default: "text-foreground",
@@ -758,51 +758,51 @@ const we = b("inline-flex items-center gap-2 font-medium", {
758
758
  base: "w-5 h-5",
759
759
  lg: "w-6 h-6",
760
760
  xl: "w-8 h-8"
761
- }, S = x.forwardRef(
761
+ }, L = x.forwardRef(
762
762
  ({
763
- className: r,
764
- variant: t,
763
+ className: t,
764
+ variant: r,
765
765
  textSize: a,
766
- icon: o,
766
+ icon: n,
767
767
  children: l,
768
- iconPosition: c = "left",
769
- iconSize: i = "sm",
770
- iconClassName: d,
771
- ...f
772
- }, m) => {
773
- const h = () => {
768
+ iconPosition: d = "left",
769
+ iconSize: s = "sm",
770
+ iconClassName: c,
771
+ ...m
772
+ }, f) => {
773
+ const g = () => {
774
774
  var u;
775
- return typeof o == "string" ? /* @__PURE__ */ e(
775
+ return typeof n == "string" ? /* @__PURE__ */ e(
776
776
  "img",
777
777
  {
778
- src: o,
778
+ src: n,
779
779
  alt: "",
780
- className: s(P[i], "object-contain", d)
780
+ className: i(P[s], "object-contain", c)
781
781
  }
782
- ) : /* @__PURE__ */ e("span", { className: s("shrink-0", d), children: x.isValidElement(o) ? x.cloneElement(o, {
783
- className: s(P[i], (u = o.props) == null ? void 0 : u.className)
784
- }) : o });
782
+ ) : /* @__PURE__ */ e("span", { className: i("shrink-0", c), children: x.isValidElement(n) ? x.cloneElement(n, {
783
+ className: i(P[s], (u = n.props) == null ? void 0 : u.className)
784
+ }) : n });
785
785
  };
786
- return /* @__PURE__ */ n(
786
+ return /* @__PURE__ */ o(
787
787
  "div",
788
788
  {
789
- ref: m,
790
- className: s(
791
- we({ variant: t, textSize: a }),
792
- c === "right" && "flex-row-reverse",
793
- r
789
+ ref: f,
790
+ className: i(
791
+ ze({ variant: r, textSize: a }),
792
+ d === "right" && "flex-row-reverse",
793
+ t
794
794
  ),
795
- ...f,
795
+ ...m,
796
796
  children: [
797
- h(),
797
+ g(),
798
798
  /* @__PURE__ */ e("span", { children: l })
799
799
  ]
800
800
  }
801
801
  );
802
802
  }
803
803
  );
804
- S.displayName = "LabelWithIcon";
805
- const ke = b("flex w-full", {
804
+ L.displayName = "LabelWithIcon";
805
+ const Se = b("flex w-full", {
806
806
  variants: {
807
807
  variant: {
808
808
  default: "justify-between border border-border shadow-sm bg-background",
@@ -813,7 +813,7 @@ const ke = b("flex w-full", {
813
813
  defaultVariants: {
814
814
  variant: "default"
815
815
  }
816
- }), ze = b(
816
+ }), Le = b(
817
817
  "flex items-center justify-center whitespace-nowrap font-medium transition-all disabled:pointer-events-none disabled:opacity-50 cursor-pointer",
818
818
  {
819
819
  variants: {
@@ -828,64 +828,64 @@ const ke = b("flex w-full", {
828
828
  variant: "default"
829
829
  }
830
830
  }
831
- ), Le = x.forwardRef(
832
- ({ className: r, variant: t, activeValue: a, children: o, ...l }, c) => {
833
- const i = x.useRef(null), d = x.useRef(null), f = x.useCallback(() => {
834
- if (t !== "menuBar" || !i.current || !d.current) return;
835
- const m = i.current.querySelector('[data-active="true"]');
836
- m && (d.current.style.width = `${m.offsetWidth}px`, d.current.style.left = `${m.offsetLeft}px`);
837
- }, [t]);
831
+ ), je = x.forwardRef(
832
+ ({ className: t, variant: r, activeValue: a, children: n, ...l }, d) => {
833
+ const s = x.useRef(null), c = x.useRef(null), m = x.useCallback(() => {
834
+ if (r !== "menuBar" || !s.current || !c.current) return;
835
+ const f = s.current.querySelector('[data-active="true"]');
836
+ f && (c.current.style.width = `${f.offsetWidth}px`, c.current.style.left = `${f.offsetLeft}px`);
837
+ }, [r]);
838
838
  return x.useEffect(() => {
839
- if (t !== "menuBar") return;
840
- f();
841
- const m = new ResizeObserver(f);
842
- return i.current && m.observe(i.current), () => {
843
- m.disconnect();
839
+ if (r !== "menuBar") return;
840
+ m();
841
+ const f = new ResizeObserver(m);
842
+ return s.current && f.observe(s.current), () => {
843
+ f.disconnect();
844
844
  };
845
- }, [a, f, t]), /* @__PURE__ */ n(
845
+ }, [a, m, r]), /* @__PURE__ */ o(
846
846
  "nav",
847
847
  {
848
- ref: c || i,
849
- className: s(ke({ variant: t, className: r })),
848
+ ref: d || s,
849
+ className: i(Se({ variant: r, className: t })),
850
850
  ...l,
851
851
  children: [
852
- t === "menuBar" && /* @__PURE__ */ e(
852
+ r === "menuBar" && /* @__PURE__ */ e(
853
853
  "div",
854
854
  {
855
- ref: d,
855
+ ref: c,
856
856
  className: "absolute bottom-0 h-full origin-left rounded-full bg-secondary transition-all duration-300"
857
857
  }
858
858
  ),
859
- o
859
+ n
860
860
  ]
861
861
  }
862
862
  );
863
863
  }
864
864
  );
865
- Le.displayName = "NavigationBar";
866
- const Se = x.forwardRef(
867
- ({ className: r, variant: t, active: a, value: o, ...l }, c) => {
868
- const d = t === "menuBarDefault" || t === "menuBarActive" ? a ? "menuBarActive" : "menuBarDefault" : a ? "active" : t || "default", f = d === "menuBarDefault" || d === "menuBarActive";
865
+ je.displayName = "NavigationBar";
866
+ const Ce = x.forwardRef(
867
+ ({ className: t, variant: r, active: a, value: n, ...l }, d) => {
868
+ const c = r === "menuBarDefault" || r === "menuBarActive" ? a ? "menuBarActive" : "menuBarDefault" : a ? "active" : r || "default", m = c === "menuBarDefault" || c === "menuBarActive";
869
869
  return /* @__PURE__ */ e(
870
870
  "button",
871
871
  {
872
- ref: c,
872
+ ref: d,
873
873
  "data-active": a,
874
- "data-value": o,
875
- className: s(
876
- ze({
877
- variant: d,
878
- className: r
874
+ "data-value": n,
875
+ className: i(
876
+ Le({
877
+ variant: c,
878
+ className: t
879
879
  }),
880
- !f && "px-4 py-2 rounded-md"
880
+ !m && "px-4 py-2 rounded-md"
881
881
  ),
882
882
  ...l
883
883
  }
884
884
  );
885
885
  }
886
886
  );
887
- Se.displayName = "NavigationItem";
888
- const je = b("space-y-1", {
887
+ Ce.displayName = "NavigationItem";
888
+ const Ie = b("space-y-1", {
889
889
  variants: {
890
890
  size: {
891
891
  sm: "p-2",
@@ -923,7 +923,7 @@ const je = b("space-y-1", {
923
923
  color: "primary",
924
924
  size: "default"
925
925
  }
926
- }), Ie = b("font-medium text-muted-foreground", {
926
+ }), Te = b("font-medium text-muted-foreground", {
927
927
  variants: {
928
928
  size: {
929
929
  sm: "text-xs",
@@ -934,107 +934,107 @@ const je = b("space-y-1", {
934
934
  defaultVariants: {
935
935
  size: "default"
936
936
  }
937
- }), C = x.forwardRef(
937
+ }), I = x.forwardRef(
938
938
  ({
939
- title: r,
940
- value: t,
939
+ title: t,
940
+ value: r,
941
941
  color: a = "primary",
942
- valueSize: o = "default",
942
+ valueSize: n = "default",
943
943
  titleSize: l = "default",
944
- size: c = "default",
945
- align: i = "center",
946
- icon: d,
947
- subtitle: f,
948
- className: m,
949
- ...h
950
- }, u) => /* @__PURE__ */ n(
944
+ size: d = "default",
945
+ align: s = "center",
946
+ icon: c,
947
+ subtitle: m,
948
+ className: f,
949
+ ...g
950
+ }, u) => /* @__PURE__ */ o(
951
951
  y,
952
952
  {
953
953
  ref: u,
954
954
  variant: "item",
955
- className: s(je({ size: c, align: i }), m),
956
- ...h,
955
+ className: i(Ie({ size: d, align: s }), f),
956
+ ...g,
957
957
  children: [
958
- d && /* @__PURE__ */ e(
958
+ c && /* @__PURE__ */ e(
959
959
  "div",
960
960
  {
961
- className: s(
961
+ className: i(
962
962
  "flex mb-2",
963
- i === "left" && "justify-start",
964
- i === "center" && "justify-center",
965
- i === "right" && "justify-end"
963
+ s === "left" && "justify-start",
964
+ s === "center" && "justify-center",
965
+ s === "right" && "justify-end"
966
966
  ),
967
- children: d
967
+ children: c
968
968
  }
969
969
  ),
970
- /* @__PURE__ */ e("p", { className: Ie({ size: l }), children: r }),
971
- /* @__PURE__ */ e("p", { className: _e({ color: a, size: o }), children: t }),
972
- f && /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground/70", children: f })
970
+ /* @__PURE__ */ e("p", { className: Te({ size: l }), children: t }),
971
+ /* @__PURE__ */ e("p", { className: _e({ color: a, size: n }), children: r }),
972
+ m && /* @__PURE__ */ e("p", { className: "text-xs text-muted-foreground/70", children: m })
973
973
  ]
974
974
  }
975
975
  )
976
976
  );
977
- C.displayName = "InfoCard";
978
- function ct({
979
- className: r,
980
- title: t,
977
+ I.displayName = "InfoCard";
978
+ function ut({
979
+ className: t,
980
+ title: r,
981
981
  titleIcon: a,
982
- topCards: o,
982
+ topCards: n,
983
983
  bottomCards: l
984
984
  }) {
985
- const c = /* @__PURE__ */ e("div", { className: "w-8 h-8 rounded-full bg-primary/20 flex items-center justify-center", children: /* @__PURE__ */ e("svg", { className: "w-4 h-4", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ e("path", { d: "M12 2L13.09 8.26L20 7L18.74 13.09L22 14L16.74 19.26L17 21L10.91 19.74L10 22L8.09 15.74L2 17L3.26 10.91L0 10L5.26 4.74L5 3L11.09 4.26L12 2Z" }) }) });
986
- return /* @__PURE__ */ e(y, { className: s("space-y-4", r), children: /* @__PURE__ */ e("div", { className: "h-full overflow-y-auto", children: /* @__PURE__ */ n("div", { className: "space-y-4", children: [
987
- (t || a) && /* @__PURE__ */ e("div", { className: "flex items-center", children: /* @__PURE__ */ e(S, { icon: a || c, textSize: "lg", iconSize: "lg", children: t }) }),
988
- /* @__PURE__ */ e("div", { className: "grid grid-cols-3 gap-3", children: o.map((i, d) => /* @__PURE__ */ e(
989
- C,
985
+ const d = /* @__PURE__ */ e("div", { className: "w-8 h-8 rounded-full bg-primary/20 flex items-center justify-center", children: /* @__PURE__ */ e("svg", { className: "w-4 h-4", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ e("path", { d: "M12 2L13.09 8.26L20 7L18.74 13.09L22 14L16.74 19.26L17 21L10.91 19.74L10 22L8.09 15.74L2 17L3.26 10.91L0 10L5.26 4.74L5 3L11.09 4.26L12 2Z" }) }) });
986
+ return /* @__PURE__ */ e(y, { className: i("space-y-4", t), children: /* @__PURE__ */ e("div", { className: "h-full overflow-y-auto", children: /* @__PURE__ */ o("div", { className: "space-y-4", children: [
987
+ (r || a) && /* @__PURE__ */ e("div", { className: "flex items-center", children: /* @__PURE__ */ e(L, { icon: a || d, textSize: "lg", iconSize: "lg", children: r }) }),
988
+ /* @__PURE__ */ e("div", { className: "grid grid-cols-3 gap-3", children: n.map((s, c) => /* @__PURE__ */ e(
989
+ I,
990
990
  {
991
- title: i.title,
992
- value: i.value,
993
- color: i.color || "primary",
994
- icon: i.icon,
991
+ title: s.title,
992
+ value: s.value,
993
+ color: s.color || "primary",
994
+ icon: s.icon,
995
995
  size: "sm",
996
996
  valueSize: "sm",
997
997
  titleSize: "sm",
998
998
  align: "left"
999
999
  },
1000
- d
1000
+ c
1001
1001
  )) }),
1002
- /* @__PURE__ */ e("div", { className: "space-y-2", children: l.map((i, d) => /* @__PURE__ */ e(
1003
- C,
1002
+ /* @__PURE__ */ e("div", { className: "space-y-2", children: l.map((s, c) => /* @__PURE__ */ e(
1003
+ I,
1004
1004
  {
1005
- title: i.title,
1006
- value: i.value,
1007
- color: i.color || "primary",
1005
+ title: s.title,
1006
+ value: s.value,
1007
+ color: s.color || "primary",
1008
1008
  size: "sm",
1009
1009
  valueSize: "sm",
1010
1010
  titleSize: "sm",
1011
1011
  align: "left",
1012
1012
  className: "w-full"
1013
1013
  },
1014
- d
1014
+ c
1015
1015
  )) })
1016
1016
  ] }) }) });
1017
1017
  }
1018
- const Ce = x.forwardRef(
1019
- ({ className: r, icon: t, name: a, tvl: o, yield: l, onSelect: c, selected: i = !1, ...d }, f) => {
1020
- const m = /* @__PURE__ */ e("div", { className: "w-6 h-6 rounded-full bg-primary/20 flex items-center justify-center", children: /* @__PURE__ */ e("svg", { className: "w-4 h-4", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ e("path", { d: "M12 2L13.09 8.26L20 7L18.74 13.09L22 14L16.74 19.26L17 21L10.91 19.74L10 22L8.09 15.74L2 17L3.26 10.91L0 10L5.26 4.74L5 3L11.09 4.26L12 2Z" }) }) });
1018
+ const Be = x.forwardRef(
1019
+ ({ className: t, icon: r, name: a, tvl: n, yield: l, onSelect: d, selected: s = !1, ...c }, m) => {
1020
+ const f = /* @__PURE__ */ e("div", { className: "w-6 h-6 rounded-full bg-primary/20 flex items-center justify-center", children: /* @__PURE__ */ e("svg", { className: "w-4 h-4", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ e("path", { d: "M12 2L13.09 8.26L20 7L18.74 13.09L22 14L16.74 19.26L17 21L10.91 19.74L10 22L8.09 15.74L2 17L3.26 10.91L0 10L5.26 4.74L5 3L11.09 4.26L12 2Z" }) }) });
1021
1021
  return /* @__PURE__ */ e(
1022
1022
  y,
1023
1023
  {
1024
- ref: f,
1025
- className: s(
1024
+ ref: m,
1025
+ className: i(
1026
1026
  "cursor-pointer transition-all duration-200 hover:shadow-md w-full",
1027
- i && "ring-2 ring-primary ring-offset-2",
1028
- r
1027
+ s && "ring-2 ring-primary ring-offset-2",
1028
+ t
1029
1029
  ),
1030
- onClick: c,
1031
- ...d,
1032
- children: /* @__PURE__ */ n("div", { className: "flex gap-12 items-start justify-between", children: [
1033
- /* @__PURE__ */ n("div", { className: "flex flex-col min-w-0 flex-1 items-start justify-start", children: [
1034
- /* @__PURE__ */ e("span", { className: "text-sm font-medium text-foreground truncate", children: /* @__PURE__ */ e(S, { icon: t || m, textSize: "2xl", children: a }) }),
1035
- o && /* @__PURE__ */ n("span", { className: "text-xs text-muted-foreground", children: [
1030
+ onClick: d,
1031
+ ...c,
1032
+ children: /* @__PURE__ */ o("div", { className: "flex gap-12 items-start justify-between", children: [
1033
+ /* @__PURE__ */ o("div", { className: "flex flex-col min-w-0 flex-1 items-start justify-start", children: [
1034
+ /* @__PURE__ */ e("span", { className: "text-sm font-medium text-foreground truncate", children: /* @__PURE__ */ e(L, { icon: r || f, textSize: "2xl", children: a }) }),
1035
+ n && /* @__PURE__ */ o("span", { className: "text-xs text-muted-foreground", children: [
1036
1036
  "TVL: ",
1037
- o
1037
+ n
1038
1038
  ] })
1039
1039
  ] }),
1040
1040
  /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: l && /* @__PURE__ */ e("span", { className: "text-lg font-bold text-primary", children: l }) })
@@ -1043,19 +1043,19 @@ const Ce = x.forwardRef(
1043
1043
  );
1044
1044
  }
1045
1045
  );
1046
- Ce.displayName = "OpportunityItem";
1047
- const Te = x.forwardRef(
1046
+ Be.displayName = "OpportunityItem";
1047
+ const Ve = x.forwardRef(
1048
1048
  ({
1049
- className: r,
1050
- title: t,
1049
+ className: t,
1050
+ title: r,
1051
1051
  titleIcon: a,
1052
- yield: o,
1052
+ yield: n,
1053
1053
  details: l = [],
1054
- badges: c = [],
1055
- externalLink: i,
1056
- ...d
1057
- }, f) => {
1058
- const m = /* @__PURE__ */ e("div", { className: "w-8 h-8 rounded-full bg-primary/20 flex items-center justify-center", children: /* @__PURE__ */ e("svg", { className: "w-4 h-4", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ e("path", { d: "M12 2L13.09 8.26L20 7L18.74 13.09L22 14L16.74 19.26L17 21L10.91 19.74L10 22L8.09 15.74L2 17L3.26 10.91L0 10L5.26 4.74L5 3L11.09 4.26L12 2Z" }) }) }), h = () => /* @__PURE__ */ e("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ e(
1054
+ badges: d = [],
1055
+ externalLink: s,
1056
+ ...c
1057
+ }, m) => {
1058
+ const f = /* @__PURE__ */ e("div", { className: "w-8 h-8 rounded-full bg-primary/20 flex items-center justify-center", children: /* @__PURE__ */ e("svg", { className: "w-4 h-4", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ e("path", { d: "M12 2L13.09 8.26L20 7L18.74 13.09L22 14L16.74 19.26L17 21L10.91 19.74L10 22L8.09 15.74L2 17L3.26 10.91L0 10L5.26 4.74L5 3L11.09 4.26L12 2Z" }) }) }), g = () => /* @__PURE__ */ e("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ e(
1059
1059
  "path",
1060
1060
  {
1061
1061
  strokeLinecap: "round",
@@ -1064,25 +1064,25 @@ const Te = x.forwardRef(
1064
1064
  d: "M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"
1065
1065
  }
1066
1066
  ) });
1067
- return /* @__PURE__ */ n(y, { ref: f, className: s("p-4 space-y-4", r), ...d, children: [
1068
- (t || a) && /* @__PURE__ */ n("div", { className: "flex items-center justify-between", children: [
1069
- /* @__PURE__ */ e("div", { className: "flex items-center gap-3", children: /* @__PURE__ */ e(S, { icon: a || m, textSize: "lg", iconSize: "lg", children: t }) }),
1070
- o && /* @__PURE__ */ n("div", { className: "text-right", children: [
1071
- /* @__PURE__ */ e("div", { className: "text-2xl font-bold text-primary", children: o }),
1067
+ return /* @__PURE__ */ o(y, { ref: m, className: i("p-4 space-y-4", t), ...c, children: [
1068
+ (r || a) && /* @__PURE__ */ o("div", { className: "flex items-center justify-between", children: [
1069
+ /* @__PURE__ */ e("div", { className: "flex items-center gap-3", children: /* @__PURE__ */ e(L, { icon: a || f, textSize: "lg", iconSize: "lg", children: r }) }),
1070
+ n && /* @__PURE__ */ o("div", { className: "text-right", children: [
1071
+ /* @__PURE__ */ e("div", { className: "text-2xl font-bold text-primary", children: n }),
1072
1072
  /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: "APY" })
1073
1073
  ] })
1074
1074
  ] }),
1075
- l.length > 0 && /* @__PURE__ */ e("div", { className: "space-y-3", children: l.map((u, g) => /* @__PURE__ */ e("div", { className: "space-y-2", children: /* @__PURE__ */ e(y, { className: "p-3", children: /* @__PURE__ */ n("div", { className: "flex items-center justify-between", children: [
1076
- /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
1075
+ l.length > 0 && /* @__PURE__ */ e("div", { className: "space-y-3", children: l.map((u, h) => /* @__PURE__ */ e("div", { className: "space-y-2", children: /* @__PURE__ */ e(y, { className: "p-3", children: /* @__PURE__ */ o("div", { className: "flex items-center justify-between", children: [
1076
+ /* @__PURE__ */ o("div", { className: "flex items-center gap-2", children: [
1077
1077
  u.icon,
1078
1078
  /* @__PURE__ */ e("span", { className: "text-sm text-muted-foreground", children: u.label })
1079
1079
  ] }),
1080
- /* @__PURE__ */ e("span", { className: s("text-sm font-medium", u.highlight && "text-primary"), children: u.value })
1081
- ] }) }) }, g)) }),
1082
- c.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-2", children: c.map((u, g) => /* @__PURE__ */ n(
1080
+ /* @__PURE__ */ e("span", { className: i("text-sm font-medium", u.highlight && "text-primary"), children: u.value })
1081
+ ] }) }) }, h)) }),
1082
+ d.length > 0 && /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-2", children: d.map((u, h) => /* @__PURE__ */ o(
1083
1083
  "div",
1084
1084
  {
1085
- className: s(
1085
+ className: i(
1086
1086
  "inline-flex items-center gap-2 px-3 py-1.5 rounded-full text-xs font-medium",
1087
1087
  u.variant === "secondary" && "bg-secondary text-secondary-foreground",
1088
1088
  u.variant === "outline" && "border border-border bg-background",
@@ -1093,47 +1093,47 @@ const Te = x.forwardRef(
1093
1093
  u.text
1094
1094
  ]
1095
1095
  },
1096
- g
1096
+ h
1097
1097
  )) }),
1098
- i && /* @__PURE__ */ e("div", { className: "pt-2 border-t border-border", children: /* @__PURE__ */ n(
1098
+ s && /* @__PURE__ */ e("div", { className: "pt-2 border-t border-border", children: /* @__PURE__ */ o(
1099
1099
  "a",
1100
1100
  {
1101
- href: i.href,
1101
+ href: s.href,
1102
1102
  target: "_blank",
1103
1103
  rel: "noopener noreferrer",
1104
1104
  className: "inline-flex items-center gap-2 text-sm text-primary hover:text-primary/80 transition-colors",
1105
1105
  children: [
1106
- i.icon,
1107
- i.text,
1108
- /* @__PURE__ */ e(h, {})
1106
+ s.icon,
1107
+ s.text,
1108
+ /* @__PURE__ */ e(g, {})
1109
1109
  ]
1110
1110
  }
1111
1111
  ) })
1112
1112
  ] });
1113
1113
  }
1114
1114
  );
1115
- Te.displayName = "OpportunityDetails";
1115
+ Ve.displayName = "OpportunityDetails";
1116
1116
  const Re = x.forwardRef(
1117
1117
  ({
1118
- className: r,
1119
- title: t,
1118
+ className: t,
1119
+ title: r,
1120
1120
  description: a,
1121
- txHash: o,
1121
+ txHash: n,
1122
1122
  explorerUrl: l,
1123
- estimatedTime: c,
1124
- amount: i,
1125
- token: d,
1126
- protocol: f,
1127
- steps: m = [],
1128
- variant: h = "default",
1123
+ estimatedTime: d,
1124
+ amount: s,
1125
+ token: c,
1126
+ protocol: m,
1127
+ steps: f = [],
1128
+ variant: g = "default",
1129
1129
  completed: u = !1,
1130
- cancelled: g = !1,
1130
+ cancelled: h = !1,
1131
1131
  onViewDetails: N,
1132
1132
  onClose: w,
1133
- showActions: I = !0,
1133
+ showActions: C = !0,
1134
1134
  ...z
1135
1135
  }, j) => {
1136
- const M = g ? "Transaction Cancelled" : u ? "Transaction Completed" : "Processing Transaction", Y = g ? "Transaction was cancelled by user" : u ? "Your transaction has been successfully processed!" : "Please wait while your transaction is being processed...", T = ({ size: p = "w-4 h-4" }) => /* @__PURE__ */ e("svg", { className: p, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ e(
1136
+ const G = h ? "Transaction Cancelled" : u ? "Transaction Completed" : "Processing Transaction", K = h ? "Transaction was cancelled by user" : u ? "Your transaction has been successfully processed!" : "Please wait while your transaction is being processed...", T = ({ size: p = "w-4 h-4" }) => /* @__PURE__ */ e("svg", { className: p, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ e(
1137
1137
  "path",
1138
1138
  {
1139
1139
  strokeLinecap: "round",
@@ -1141,83 +1141,83 @@ const Re = x.forwardRef(
1141
1141
  strokeWidth: 2,
1142
1142
  d: "M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"
1143
1143
  }
1144
- ) }), Z = () => /* @__PURE__ */ e("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }), R = (p) => p.length <= 12 ? p : `${p.slice(0, 6)}...${p.slice(-6)}`;
1145
- return /* @__PURE__ */ n(
1144
+ ) }), Y = () => /* @__PURE__ */ e("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) }), B = (p) => p.length <= 12 ? p : `${p.slice(0, 6)}...${p.slice(-6)}`;
1145
+ return /* @__PURE__ */ o(
1146
1146
  y,
1147
1147
  {
1148
1148
  ref: j,
1149
- className: s(
1149
+ className: i(
1150
1150
  "p-6 text-center space-y-4",
1151
- h === "compact" && "p-4 space-y-3",
1152
- r
1151
+ g === "compact" && "p-4 space-y-3",
1152
+ t
1153
1153
  ),
1154
1154
  ...z,
1155
1155
  children: [
1156
- /* @__PURE__ */ e("div", { className: "flex justify-center", children: /* @__PURE__ */ e(W, { spinning: !u && !g, size: h === "compact" ? "default" : "lg", children: g ? /* @__PURE__ */ e(te, { className: "w-8 h-8 text-destructive" }) : u ? /* @__PURE__ */ e(re, { className: "w-8 h-8 text-primary" }) : /* @__PURE__ */ e(ae, { className: "w-8 h-8 text-primary" }) }) }),
1157
- /* @__PURE__ */ n("div", { className: "space-y-2", children: [
1156
+ /* @__PURE__ */ e("div", { className: "flex justify-center", children: /* @__PURE__ */ e(O, { spinning: !u && !h, size: g === "compact" ? "default" : "lg", children: h ? /* @__PURE__ */ e(ee, { className: "w-8 h-8 text-destructive" }) : u ? /* @__PURE__ */ e(te, { className: "w-8 h-8 text-primary" }) : /* @__PURE__ */ e(re, { className: "w-8 h-8 text-primary" }) }) }),
1157
+ /* @__PURE__ */ o("div", { className: "space-y-2", children: [
1158
1158
  /* @__PURE__ */ e(
1159
1159
  "h3",
1160
1160
  {
1161
- className: s(
1161
+ className: i(
1162
1162
  "font-medium text-foreground",
1163
- h === "compact" ? "text-sm" : "text-base"
1163
+ g === "compact" ? "text-sm" : "text-base"
1164
1164
  ),
1165
- children: t || M
1165
+ children: r || G
1166
1166
  }
1167
1167
  ),
1168
- /* @__PURE__ */ e("p", { className: s("text-muted-foreground", h === "compact" ? "text-xs" : "text-sm"), children: a || Y })
1168
+ /* @__PURE__ */ e("p", { className: i("text-muted-foreground", g === "compact" ? "text-xs" : "text-sm"), children: a || K })
1169
1169
  ] }),
1170
- u && !g && (i || d || f) && /* @__PURE__ */ n("div", { className: "p-3 bg-muted/50 rounded-lg space-y-1", children: [
1171
- i && d && /* @__PURE__ */ n("div", { className: "text-sm font-medium", children: [
1172
- i,
1170
+ u && !h && (s || c || m) && /* @__PURE__ */ o("div", { className: "p-3 bg-muted/50 rounded-lg space-y-1", children: [
1171
+ s && c && /* @__PURE__ */ o("div", { className: "text-sm font-medium", children: [
1172
+ s,
1173
1173
  " ",
1174
- d
1174
+ c
1175
1175
  ] }),
1176
- f && /* @__PURE__ */ n("div", { className: "text-xs text-muted-foreground", children: [
1176
+ m && /* @__PURE__ */ o("div", { className: "text-xs text-muted-foreground", children: [
1177
1177
  "via ",
1178
- f
1178
+ m
1179
1179
  ] })
1180
1180
  ] }),
1181
- o && !g && /* @__PURE__ */ n("div", { className: "space-y-1", children: [
1181
+ n && !h && /* @__PURE__ */ o("div", { className: "space-y-1", children: [
1182
1182
  /* @__PURE__ */ e("div", { className: "text-xs text-muted-foreground", children: "Transaction Hash" }),
1183
- l ? /* @__PURE__ */ n(
1183
+ l ? /* @__PURE__ */ o(
1184
1184
  "a",
1185
1185
  {
1186
- href: `${l}/tx/${o}`,
1186
+ href: `${l}/tx/${n}`,
1187
1187
  target: "_blank",
1188
1188
  rel: "noopener noreferrer",
1189
1189
  className: "inline-flex items-center gap-2 text-sm text-primary hover:text-primary/80 transition-colors",
1190
1190
  children: [
1191
- R(o),
1191
+ B(n),
1192
1192
  /* @__PURE__ */ e(T, {})
1193
1193
  ]
1194
1194
  }
1195
- ) : /* @__PURE__ */ e("div", { className: "text-sm font-mono text-foreground", children: R(o) })
1195
+ ) : /* @__PURE__ */ e("div", { className: "text-sm font-mono text-foreground", children: B(n) })
1196
1196
  ] }),
1197
- !u && !g && c && /* @__PURE__ */ n("div", { className: "text-xs text-muted-foreground", children: [
1197
+ !u && !h && d && /* @__PURE__ */ o("div", { className: "text-xs text-muted-foreground", children: [
1198
1198
  "Estimated time: ",
1199
- c
1199
+ d
1200
1200
  ] }),
1201
- !u && !g && m.length > 0 && /* @__PURE__ */ n("div", { className: "space-y-2 pt-2 border-t border-border", children: [
1201
+ !u && !h && f.length > 0 && /* @__PURE__ */ o("div", { className: "space-y-2 pt-2 border-t border-border", children: [
1202
1202
  /* @__PURE__ */ e("div", { className: "text-xs font-medium text-muted-foreground text-left", children: "Progress" }),
1203
- /* @__PURE__ */ e("div", { className: "space-y-2", children: m.map((p, X) => /* @__PURE__ */ n("div", { className: "flex items-center gap-3 text-left", children: [
1203
+ /* @__PURE__ */ e("div", { className: "space-y-2", children: f.map((p, Z) => /* @__PURE__ */ o("div", { className: "flex items-center gap-3 text-left", children: [
1204
1204
  /* @__PURE__ */ e(
1205
1205
  "div",
1206
1206
  {
1207
- className: s(
1207
+ className: i(
1208
1208
  "flex items-center justify-center w-5 h-5 rounded-full border-2 flex-shrink-0",
1209
1209
  p.completed && "bg-primary border-primary text-primary-foreground",
1210
1210
  p.current && !p.completed && "border-primary text-primary animate-pulse",
1211
1211
  !p.completed && !p.current && "border-muted-foreground/30 text-muted-foreground"
1212
1212
  ),
1213
- children: p.completed ? /* @__PURE__ */ e(Z, {}) : p.current ? /* @__PURE__ */ e("div", { className: "w-2 h-2 rounded-full bg-primary animate-pulse" }) : /* @__PURE__ */ e("div", { className: "w-2 h-2 rounded-full bg-muted-foreground/30" })
1213
+ children: p.completed ? /* @__PURE__ */ e(Y, {}) : p.current ? /* @__PURE__ */ e("div", { className: "w-2 h-2 rounded-full bg-primary animate-pulse" }) : /* @__PURE__ */ e("div", { className: "w-2 h-2 rounded-full bg-muted-foreground/30" })
1214
1214
  }
1215
1215
  ),
1216
- /* @__PURE__ */ n("div", { className: "flex-1 flex items-center justify-between", children: [
1216
+ /* @__PURE__ */ o("div", { className: "flex-1 flex items-center justify-between", children: [
1217
1217
  /* @__PURE__ */ e(
1218
1218
  "span",
1219
1219
  {
1220
- className: s(
1220
+ className: i(
1221
1221
  "text-sm",
1222
1222
  p.completed && "text-foreground",
1223
1223
  p.current && !p.completed && "text-foreground font-medium",
@@ -1226,7 +1226,7 @@ const Re = x.forwardRef(
1226
1226
  children: p.label
1227
1227
  }
1228
1228
  ),
1229
- p.txHash && l && /* @__PURE__ */ n(
1229
+ p.txHash && l && /* @__PURE__ */ o(
1230
1230
  "a",
1231
1231
  {
1232
1232
  href: `${l}/tx/${p.txHash}`,
@@ -1235,7 +1235,7 @@ const Re = x.forwardRef(
1235
1235
  className: "inline-flex items-center gap-1 text-xs text-primary hover:text-primary/80 transition-colors ml-2",
1236
1236
  title: `View transaction: ${p.txHash}`,
1237
1237
  children: [
1238
- /* @__PURE__ */ n("span", { className: "font-mono", children: [
1238
+ /* @__PURE__ */ o("span", { className: "font-mono", children: [
1239
1239
  p.txHash.slice(0, 6),
1240
1240
  "...",
1241
1241
  p.txHash.slice(-4)
@@ -1245,21 +1245,21 @@ const Re = x.forwardRef(
1245
1245
  }
1246
1246
  )
1247
1247
  ] })
1248
- ] }, X)) })
1248
+ ] }, Z)) })
1249
1249
  ] }),
1250
- (u || g) && I && (N || w) && /* @__PURE__ */ n(
1250
+ (u || h) && C && (N || w) && /* @__PURE__ */ o(
1251
1251
  "div",
1252
1252
  {
1253
- className: s(
1253
+ className: i(
1254
1254
  "flex gap-2 pt-2",
1255
- h === "compact" ? "flex-col" : "flex-row justify-center"
1255
+ g === "compact" ? "flex-col" : "flex-row justify-center"
1256
1256
  ),
1257
1257
  children: [
1258
- !g && N && /* @__PURE__ */ e(
1258
+ !h && N && /* @__PURE__ */ e(
1259
1259
  F,
1260
1260
  {
1261
1261
  variant: "transparentWhite",
1262
- size: h === "compact" ? "sm" : "default",
1262
+ size: g === "compact" ? "sm" : "default",
1263
1263
  onClick: N,
1264
1264
  children: "View Details"
1265
1265
  }
@@ -1268,9 +1268,9 @@ const Re = x.forwardRef(
1268
1268
  F,
1269
1269
  {
1270
1270
  variant: "default",
1271
- size: h === "compact" ? "sm" : "default",
1271
+ size: g === "compact" ? "sm" : "default",
1272
1272
  onClick: w,
1273
- children: g ? "Try Again" : "Done"
1273
+ children: h ? "Try Again" : "Done"
1274
1274
  }
1275
1275
  )
1276
1276
  ]
@@ -1282,106 +1282,106 @@ const Re = x.forwardRef(
1282
1282
  }
1283
1283
  );
1284
1284
  Re.displayName = "TxStatus";
1285
- const G = x.forwardRef(
1286
- ({ tokens: r, value: t, onValueChange: a, placeholder: o = "Select token", disabled: l, className: c }, i) => {
1287
- const d = t || (r.length > 0 ? r[0].address : void 0), f = r.find((m) => m.address === d);
1288
- return Q(() => {
1289
- !t && r.length > 0 && a && a(r[0].address);
1290
- }, [t, r, a]), /* @__PURE__ */ n(me, { value: d, onValueChange: a, disabled: l, children: [
1285
+ const W = x.forwardRef(
1286
+ ({ tokens: t, value: r, onValueChange: a, placeholder: n = "Select token", disabled: l, className: d }, s) => {
1287
+ const c = r || (t.length > 0 ? t[0].address : void 0), m = t.find((f) => f.address === c);
1288
+ return J(() => {
1289
+ !r && t.length > 0 && a && a(t[0].address);
1290
+ }, [r, t, a]), /* @__PURE__ */ o(fe, { value: c, onValueChange: a, disabled: l, children: [
1291
1291
  /* @__PURE__ */ e(
1292
- ue,
1292
+ pe,
1293
1293
  {
1294
- ref: i,
1295
- className: s(
1294
+ ref: s,
1295
+ className: i(
1296
1296
  "w-auto min-w-[80px] h-8 px-2 py-1 bg-muted hover:bg-muted/80 border-none rounded-md text-sm font-medium",
1297
1297
  "focus:ring-2 focus:ring-primary/20 focus:outline-none",
1298
- c
1298
+ d
1299
1299
  ),
1300
- children: f ? /* @__PURE__ */ n("div", { className: "flex items-center gap-1.5", children: [
1301
- /* @__PURE__ */ e("span", { className: "w-4 h-4 flex items-center justify-center", children: f.icon }),
1302
- /* @__PURE__ */ e("span", { className: "text-sm font-medium", children: f.symbol })
1303
- ] }) : /* @__PURE__ */ e("span", { className: "text-sm text-muted-foreground", children: o })
1300
+ children: m ? /* @__PURE__ */ o("div", { className: "flex items-center gap-1.5", children: [
1301
+ /* @__PURE__ */ e("span", { className: "w-4 h-4 flex items-center justify-center", children: m.icon }),
1302
+ /* @__PURE__ */ e("span", { className: "text-sm font-medium", children: m.symbol })
1303
+ ] }) : /* @__PURE__ */ e("span", { className: "text-sm text-muted-foreground", children: n })
1304
1304
  }
1305
1305
  ),
1306
- /* @__PURE__ */ e(fe, { children: r.map((m) => /* @__PURE__ */ e(pe, { value: m.address, className: "cursor-pointer", children: /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
1307
- /* @__PURE__ */ e("span", { className: "w-4 h-4 flex items-center justify-center", children: m.icon }),
1308
- /* @__PURE__ */ e("span", { className: "text-sm font-medium", children: m.symbol })
1309
- ] }) }, m.address)) })
1306
+ /* @__PURE__ */ e(xe, { children: t.map((f) => /* @__PURE__ */ e(he, { value: f.address, className: "cursor-pointer", children: /* @__PURE__ */ o("div", { className: "flex items-center gap-2", children: [
1307
+ /* @__PURE__ */ e("span", { className: "w-4 h-4 flex items-center justify-center", children: f.icon }),
1308
+ /* @__PURE__ */ e("span", { className: "text-sm font-medium", children: f.symbol })
1309
+ ] }) }, f.address)) })
1310
1310
  ] });
1311
1311
  }
1312
1312
  );
1313
- G.displayName = "TokenSelector";
1314
- const Be = x.forwardRef(
1313
+ W.displayName = "TokenSelector";
1314
+ const De = x.forwardRef(
1315
1315
  ({
1316
- className: r,
1317
- value: t = "",
1316
+ className: t,
1317
+ value: r = "",
1318
1318
  onChange: a,
1319
- tokens: o,
1319
+ tokens: n,
1320
1320
  selectedToken: l,
1321
- onTokenChange: c,
1322
- usdValue: i,
1323
- balance: d,
1324
- onMaxClick: f,
1325
- placeholder: m = "0",
1326
- disabled: h = !1,
1321
+ onTokenChange: d,
1322
+ usdValue: s,
1323
+ balance: c,
1324
+ onMaxClick: m,
1325
+ placeholder: f = "0",
1326
+ disabled: g = !1,
1327
1327
  hideTokenSelector: u = !1,
1328
- ...g
1328
+ ...h
1329
1329
  }, N) => {
1330
- const w = o.find((z) => z.address === l), I = (z) => {
1330
+ const w = n.find((z) => z.address === l), C = (z) => {
1331
1331
  const j = z.target.value;
1332
1332
  /^\d*\.?\d*$/.test(j) && (a == null || a(j));
1333
1333
  };
1334
- return /* @__PURE__ */ n(
1334
+ return /* @__PURE__ */ o(
1335
1335
  y,
1336
1336
  {
1337
1337
  ref: N,
1338
- className: s("space-y-3", h && "opacity-50", r),
1339
- ...g,
1338
+ className: i("space-y-3", g && "opacity-50", t),
1339
+ ...h,
1340
1340
  children: [
1341
- /* @__PURE__ */ n("div", { className: "flex items-center gap-3", children: [
1341
+ /* @__PURE__ */ o("div", { className: "flex items-center gap-3", children: [
1342
1342
  /* @__PURE__ */ e("div", { className: "flex-1", children: /* @__PURE__ */ e(
1343
- D,
1343
+ A,
1344
1344
  {
1345
1345
  variant: "nofocus",
1346
- value: t,
1347
- onChange: I,
1348
- placeholder: m,
1349
- disabled: h,
1346
+ value: r,
1347
+ onChange: C,
1348
+ placeholder: f,
1349
+ disabled: g,
1350
1350
  className: "text-2xl font-medium border-none bg-transparent p-0 h-auto focus:ring-0"
1351
1351
  }
1352
1352
  ) }),
1353
1353
  !u && /* @__PURE__ */ e(
1354
- G,
1354
+ W,
1355
1355
  {
1356
- tokens: o,
1356
+ tokens: n,
1357
1357
  value: l,
1358
- onValueChange: c,
1359
- disabled: h,
1358
+ onValueChange: d,
1359
+ disabled: g,
1360
1360
  placeholder: "Select token"
1361
1361
  }
1362
1362
  )
1363
1363
  ] }),
1364
- /* @__PURE__ */ n("div", { className: "flex items-center justify-between text-sm text-muted-foreground", children: [
1365
- /* @__PURE__ */ e("div", { children: i && /* @__PURE__ */ n("span", { children: [
1364
+ /* @__PURE__ */ o("div", { className: "flex items-center justify-between text-sm text-muted-foreground", children: [
1365
+ /* @__PURE__ */ e("div", { children: s && /* @__PURE__ */ o("span", { children: [
1366
1366
  "≈ $",
1367
- i
1367
+ s
1368
1368
  ] }) }),
1369
- /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
1370
- d && /* @__PURE__ */ n("span", { children: [
1369
+ /* @__PURE__ */ o("div", { className: "flex items-center gap-2", children: [
1370
+ c && /* @__PURE__ */ o("span", { children: [
1371
1371
  "Balance: ",
1372
- d,
1372
+ c,
1373
1373
  " ",
1374
1374
  (w == null ? void 0 : w.symbol) || ""
1375
1375
  ] }),
1376
- f && /* @__PURE__ */ e(
1377
- O,
1376
+ m && /* @__PURE__ */ e(
1377
+ M,
1378
1378
  {
1379
1379
  variant: "default",
1380
1380
  size: "xs",
1381
- onClick: f,
1382
- className: s(
1381
+ onClick: m,
1382
+ className: i(
1383
1383
  "cursor-pointer hover:bg-primary hover:text-primary-foreground transition-colors text-xs",
1384
- h && "cursor-not-allowed opacity-50"
1384
+ g && "cursor-not-allowed opacity-50"
1385
1385
  ),
1386
1386
  children: "MAX"
1387
1387
  }
@@ -1393,43 +1393,43 @@ const Be = x.forwardRef(
1393
1393
  );
1394
1394
  }
1395
1395
  );
1396
- Be.displayName = "SwapInput";
1397
- const Ve = x.forwardRef(
1396
+ De.displayName = "SwapInput";
1397
+ const Fe = x.forwardRef(
1398
1398
  ({
1399
- className: r,
1400
- swapFee: t,
1399
+ className: t,
1400
+ swapFee: r,
1401
1401
  slippageInUsd: a,
1402
- deposit: o,
1402
+ deposit: n,
1403
1403
  receive: l,
1404
- equivalentInUsd: c,
1405
- networkFee: i,
1406
- networkFeeInUsd: d,
1407
- showFree: f = !1,
1404
+ equivalentInUsd: d,
1405
+ networkFee: s,
1406
+ networkFeeInUsd: c,
1408
1407
  defaultOpen: m = !1,
1409
- ...h
1408
+ slippageSelector: f,
1409
+ ...g
1410
1410
  }, u) => {
1411
- const [g, N] = x.useState(m);
1412
- return /* @__PURE__ */ n(y, { ref: u, className: s("overflow-hidden", r), ...h, children: [
1413
- /* @__PURE__ */ n(
1411
+ const [h, N] = x.useState(m);
1412
+ return /* @__PURE__ */ o(y, { ref: u, className: i("overflow-hidden", t), ...g, children: [
1413
+ /* @__PURE__ */ o(
1414
1414
  "button",
1415
1415
  {
1416
- onClick: () => N(!g),
1416
+ onClick: () => N(!h),
1417
1417
  className: "w-full flex items-center justify-between p-1 hover:bg-muted/50 transition-colors",
1418
1418
  children: [
1419
- /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
1420
- /* @__PURE__ */ n("span", { className: "text-sm font-medium", children: [
1421
- o,
1419
+ /* @__PURE__ */ o("div", { className: "flex items-center gap-2", children: [
1420
+ /* @__PURE__ */ o("span", { className: "text-sm font-medium", children: [
1421
+ n,
1422
1422
  " = ",
1423
1423
  l
1424
1424
  ] }),
1425
- /* @__PURE__ */ n("span", { className: "text-xs text-muted-foreground", children: [
1425
+ /* @__PURE__ */ o("span", { className: "text-xs text-muted-foreground", children: [
1426
1426
  "(≈ $",
1427
- c,
1427
+ d,
1428
1428
  ")"
1429
1429
  ] })
1430
1430
  ] }),
1431
- /* @__PURE__ */ n("div", { className: "flex items-center gap-1", children: [
1432
- /* @__PURE__ */ n("span", { className: "text-xs text-muted-foreground", children: [
1431
+ /* @__PURE__ */ o("div", { className: "flex items-center gap-1", children: [
1432
+ /* @__PURE__ */ o("span", { className: "text-xs text-muted-foreground", children: [
1433
1433
  "≈ $",
1434
1434
  a
1435
1435
  ] }),
@@ -1438,76 +1438,103 @@ const Ve = x.forwardRef(
1438
1438
  ]
1439
1439
  }
1440
1440
  ),
1441
- g && /* @__PURE__ */ n("div", { className: "transition-all animate-in fade-in-0 duration-300", children: [
1442
- /* @__PURE__ */ n("div", { className: "flex items-center justify-between text-sm", children: [
1441
+ h && /* @__PURE__ */ o("div", { className: "transition-all animate-in fade-in-0 duration-300 px-2 py-4 space-y-2", children: [
1442
+ f && /* @__PURE__ */ e("div", { className: "text-sm", children: f }),
1443
+ /* @__PURE__ */ o("div", { className: "flex items-center justify-between text-sm", children: [
1443
1444
  /* @__PURE__ */ e("span", { className: "text-muted-foreground text-xs", children: "Swap Fee" }),
1444
- t ? /* @__PURE__ */ n("span", { className: "font-medium", children: [
1445
- t,
1445
+ r ? /* @__PURE__ */ o("span", { className: "font-medium", children: [
1446
+ r,
1446
1447
  "%"
1447
1448
  ] }) : /* @__PURE__ */ e("span", { className: "text-xs px-2 py-1 bg-primary/10 text-primary rounded-full font-medium", children: "FREE" })
1448
1449
  ] }),
1449
- /* @__PURE__ */ n("div", { className: "flex items-center justify-between text-sm", children: [
1450
+ !!s && /* @__PURE__ */ o("div", { className: "flex items-center justify-between text-sm", children: [
1450
1451
  /* @__PURE__ */ e("span", { className: "text-muted-foreground text-xs", children: "Network Fee" }),
1451
- /* @__PURE__ */ n("span", { className: "font-medium", children: [
1452
- /* @__PURE__ */ e("span", { className: "text-xs text-foreground", children: i }),
1453
- d ? /* @__PURE__ */ n("span", { className: "text-xs text-muted-foreground", children: [
1452
+ /* @__PURE__ */ o("span", { className: "font-medium", children: [
1453
+ /* @__PURE__ */ e("span", { className: "text-xs text-foreground", children: s }),
1454
+ c && /* @__PURE__ */ o("span", { className: "text-xs text-muted-foreground", children: [
1454
1455
  "(≈ $",
1455
- d,
1456
+ c,
1456
1457
  ")"
1457
- ] }) : /* @__PURE__ */ e("span", { className: "text-xs px-2 py-1 bg-primary/10 text-primary rounded-full font-medium", children: "FREE" })
1458
+ ] })
1458
1459
  ] })
1459
1460
  ] })
1460
1461
  ] })
1461
1462
  ] });
1462
1463
  }
1463
1464
  );
1464
- Ve.displayName = "SwapDetails";
1465
- const Fe = x.forwardRef(
1466
- ({ className: r, tokens: t = [], variant: a = "default", defaultOpen: o = !1, ...l }, c) => {
1467
- const [i, d] = x.useState(o), f = (m) => /* @__PURE__ */ e("div", { className: "w-8 h-8 rounded-full bg-primary/20 flex items-center justify-center", children: /* @__PURE__ */ e("span", { className: "text-xs font-bold text-primary", children: m.charAt(0) }) });
1468
- return t.length === 0 ? null : /* @__PURE__ */ n(y, { ref: c, className: s("overflow-hidden", r), ...l, children: [
1469
- /* @__PURE__ */ n(
1465
+ Fe.displayName = "SwapDetails";
1466
+ const mt = ({ className: t, tokens: r = [], defaultOpen: a = !1 }) => {
1467
+ const [n, l] = x.useState(a), d = (s) => /* @__PURE__ */ e("div", { className: "w-8 h-8 rounded-full bg-primary/20 flex items-center justify-center", children: /* @__PURE__ */ e("span", { className: "text-xs font-bold text-primary", children: s.charAt(0) }) });
1468
+ return r.length === 0 ? null : /* @__PURE__ */ o(y, { className: i("overflow-hidden", t), children: [
1469
+ /* @__PURE__ */ o(
1470
+ "button",
1471
+ {
1472
+ onClick: () => l(!n),
1473
+ className: "w-full flex items-center justify-between p-2 hover:bg-muted/50 transition-colors",
1474
+ children: [
1475
+ /* @__PURE__ */ e("span", { className: "text-sm font-medium", children: "Swap Route" }),
1476
+ /* @__PURE__ */ e(ae, { className: "w-4 h-4 text-primary" })
1477
+ ]
1478
+ }
1479
+ ),
1480
+ n && /* @__PURE__ */ e("div", { className: "px-4 pb-4", children: /* @__PURE__ */ e(ue, { className: "rounded-md whitespace-nowrap", children: /* @__PURE__ */ e("div", { className: "flex flex-row items-center justify-center gap-2 overflow-x-auto py-3 w-full", children: r.map((s, c) => /* @__PURE__ */ o(x.Fragment, { children: [
1481
+ /* @__PURE__ */ e(y, { variant: "item", className: "rounded-full flex-shrink-0 p-3", children: /* @__PURE__ */ e(
1482
+ L,
1483
+ {
1484
+ icon: s.icon || d(s.symbol),
1485
+ textSize: "xs",
1486
+ iconSize: "sm",
1487
+ children: /* @__PURE__ */ e("span", { className: "gap-2", children: s.symbol })
1488
+ }
1489
+ ) }),
1490
+ c < r.length - 1 && /* @__PURE__ */ e(ne, { className: "w-4 h-4 text-primary flex-shrink-0" })
1491
+ ] }, `${s.symbol}-${c}`)) }) }) })
1492
+ ] });
1493
+ };
1494
+ function ft({ value: t, onChange: r }) {
1495
+ const [a, n] = V(!1), [l, d] = V(t.toString()), s = () => {
1496
+ n(!0), d(t.toString());
1497
+ }, c = (u) => {
1498
+ const h = u.target.value;
1499
+ /^\d*\.?\d*$/.test(h) && d(h);
1500
+ }, m = () => {
1501
+ const u = parseFloat(l);
1502
+ !isNaN(u) && u >= 0.1 && u <= 100 ? (r(u), n(!1)) : (d(t.toString()), n(!1));
1503
+ };
1504
+ return /* @__PURE__ */ o("div", { className: "flex items-center justify-between", children: [
1505
+ /* @__PURE__ */ e("span", { className: "text-xs font-medium text-muted-foreground", children: "Max Slippage" }),
1506
+ /* @__PURE__ */ o("div", { className: "flex items-center gap-1", children: [
1507
+ a ? /* @__PURE__ */ e(
1508
+ "input",
1509
+ {
1510
+ type: "text",
1511
+ value: l,
1512
+ onChange: c,
1513
+ onKeyDown: (u) => {
1514
+ u.key === "Enter" ? m() : u.key === "Escape" && (d(t.toString()), n(!1));
1515
+ },
1516
+ onBlur: () => {
1517
+ m();
1518
+ },
1519
+ className: "w-10 h-5 text-xs text-right bg-transparent border-none outline-none text-foreground focus:ring-0",
1520
+ autoFocus: !0
1521
+ }
1522
+ ) : /* @__PURE__ */ o("span", { className: "text-xs font-medium text-foreground", children: [
1523
+ t,
1524
+ "%"
1525
+ ] }),
1526
+ /* @__PURE__ */ e(
1470
1527
  "button",
1471
1528
  {
1472
- onClick: () => d(!i),
1473
- className: "w-full flex items-center justify-between p-2 hover:bg-muted/50 transition-colors",
1474
- children: [
1475
- /* @__PURE__ */ e("span", { className: "text-sm font-medium", children: "Swap Route" }),
1476
- /* @__PURE__ */ n("div", { className: "flex items-center justify-between gap-2", children: [
1477
- /* @__PURE__ */ n("span", { className: "text-xs text-muted-foreground", children: [
1478
- t.length,
1479
- " token",
1480
- t.length > 1 ? "s" : ""
1481
- ] }),
1482
- /* @__PURE__ */ e(_, { className: "w-4 h-4 text-primary" })
1483
- ] })
1484
- ]
1529
+ onClick: s,
1530
+ className: "p-1 hover:bg-muted rounded text-muted-foreground hover:text-foreground transition-colors",
1531
+ children: /* @__PURE__ */ e(oe, { size: 10 })
1485
1532
  }
1486
- ),
1487
- i && /* @__PURE__ */ e("div", { className: "px-4 pb-4 border-t border-border", children: /* @__PURE__ */ n(ce, { className: "rounded-md whitespace-nowrap", children: [
1488
- /* @__PURE__ */ e("div", { className: "flex items-center justify-between gap-2 overflow-x-auto py-3", children: t.map((m, h) => /* @__PURE__ */ n(K, { children: [
1489
- /* @__PURE__ */ e(y, { variant: "item", className: "p-2 rounded-full", children: /* @__PURE__ */ e(
1490
- S,
1491
- {
1492
- icon: m.icon || f(m.symbol),
1493
- textSize: "xs",
1494
- iconSize: "sm",
1495
- children: /* @__PURE__ */ n("span", { className: "gap-2", children: [
1496
- m.amount,
1497
- " ",
1498
- m.symbol
1499
- ] })
1500
- }
1501
- ) }, h),
1502
- h < t.length - 1 && /* @__PURE__ */ e("div", { className: "flex-shrink-0 mx-1", children: /* @__PURE__ */ e(ne, { className: "w-4 h-4 text-primary" }) })
1503
- ] })) }),
1504
- /* @__PURE__ */ e($, { orientation: "horizontal", className: "h-2" })
1505
- ] }) })
1506
- ] });
1507
- }
1508
- );
1509
- Fe.displayName = "RouteDetails";
1510
- const mt = {
1533
+ )
1534
+ ] })
1535
+ ] });
1536
+ }
1537
+ const pt = {
1511
1538
  colors: {
1512
1539
  // Turtle brand colors
1513
1540
  neonGreen: "oklch(0.86 0.16 142.5)",
@@ -1614,59 +1641,60 @@ const mt = {
1614
1641
  export {
1615
1642
  F as Button,
1616
1643
  y as Card,
1617
- lt as CardContent,
1618
- it as CardDescription,
1619
- dt as CardFooter,
1620
- ot as CardHeader,
1621
- st as CardTitle,
1622
- O as Chip,
1623
- W as IconAnimation,
1624
- C as InfoCard,
1625
- D as Input,
1626
- Me as Label,
1627
- S as LabelWithIcon,
1628
- Le as NavigationBar,
1629
- Se as NavigationItem,
1630
- Te as OpportunityDetails,
1631
- ct as OpportunityDetailsV1,
1632
- Ce as OpportunityItem,
1633
- Fe as RouteDetails,
1634
- ce as ScrollArea,
1635
- $ as ScrollBar,
1636
- me as Select,
1637
- fe as SelectContent,
1644
+ dt as CardContent,
1645
+ lt as CardDescription,
1646
+ ct as CardFooter,
1647
+ st as CardHeader,
1648
+ it as CardTitle,
1649
+ M as Chip,
1650
+ O as IconAnimation,
1651
+ I as InfoCard,
1652
+ A as Input,
1653
+ Ke as Label,
1654
+ L as LabelWithIcon,
1655
+ je as NavigationBar,
1656
+ Ce as NavigationItem,
1657
+ Ve as OpportunityDetails,
1658
+ ut as OpportunityDetailsV1,
1659
+ Be as OpportunityItem,
1660
+ mt as RouteDetails,
1661
+ ue as ScrollArea,
1662
+ me as ScrollBar,
1663
+ fe as Select,
1664
+ xe as SelectContent,
1638
1665
  Ye as SelectGroup,
1639
- pe as SelectItem,
1666
+ he as SelectItem,
1640
1667
  Xe as SelectLabel,
1641
- he as SelectScrollDownButton,
1642
- xe as SelectScrollUpButton,
1668
+ ve as SelectScrollDownButton,
1669
+ ge as SelectScrollUpButton,
1643
1670
  qe as SelectSeparator,
1644
- ue as SelectTrigger,
1671
+ pe as SelectTrigger,
1645
1672
  Ze as SelectValue,
1646
1673
  Je as Separator,
1647
- Ve as SwapDetails,
1648
- Be as SwapInput,
1649
- Qe as Switch,
1650
- Ke as Toaster,
1651
- Ue as Toggle,
1652
- et as ToggleGroup,
1653
- tt as ToggleGroupItem,
1654
- G as TokenSelector,
1655
- rt as Tooltip,
1656
- nt as TooltipContent,
1657
- ge as TooltipProvider,
1658
- at as TooltipTrigger,
1674
+ ft as SlippageSelector,
1675
+ Fe as SwapDetails,
1676
+ De as SwapInput,
1677
+ Ue as Switch,
1678
+ Qe as Toaster,
1679
+ et as Toggle,
1680
+ tt as ToggleGroup,
1681
+ rt as ToggleGroupItem,
1682
+ W as TokenSelector,
1683
+ at as Tooltip,
1684
+ ot as TooltipContent,
1685
+ be as TooltipProvider,
1686
+ nt as TooltipTrigger,
1659
1687
  Re as TxStatus,
1660
- ve as buttonVariants,
1661
- be as cardVariants,
1662
- ye as chipVariants,
1663
- s as cn,
1664
- Ne as iconAnimationVariants,
1665
- V as inputVariants,
1666
- we as labelWithIconVariants,
1667
- ke as navigationBarVariants,
1668
- ze as navigationItemVariants,
1669
- H as toggleVariants,
1670
- mt as tokens
1688
+ ye as buttonVariants,
1689
+ Ne as cardVariants,
1690
+ we as chipVariants,
1691
+ i as cn,
1692
+ ke as iconAnimationVariants,
1693
+ D as inputVariants,
1694
+ ze as labelWithIconVariants,
1695
+ Se as navigationBarVariants,
1696
+ Le as navigationItemVariants,
1697
+ E as toggleVariants,
1698
+ pt as tokens
1671
1699
  };
1672
1700
  //# sourceMappingURL=index.js.map