@deframe-sdk/components 0.1.7 → 0.1.9

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
@@ -146,7 +146,7 @@ function PrimaryButton(_a) {
146
146
  /** layout */
147
147
  "overflow-hidden w-full flex items-center justify-center transition-all duration-200",
148
148
  /** typography */
149
- "font-[var(--deframe-widget-font-family)]",
149
+ "font-[var(--deframe-widget-font-family-primary)]",
150
150
  "[font-size:var(--deframe-widget-font-size-md)]",
151
151
  "[line-height:var(--deframe-widget-font-leading-md)]",
152
152
  "[font-weight:var(--deframe-widget-font-weight-semibold)]",
@@ -210,7 +210,7 @@ function SecondaryButton(_a) {
210
210
  /** layout */
211
211
  "overflow-hidden w-full flex items-center justify-center transition-all duration-200",
212
212
  /** typography */
213
- "font-[var(--deframe-widget-font-family)]",
213
+ "font-[var(--deframe-widget-font-family-primary)]",
214
214
  "[font-size:var(--deframe-widget-font-size-md)]",
215
215
  "[line-height:var(--deframe-widget-font-leading-md)]",
216
216
  "[font-weight:var(--deframe-widget-font-weight-semibold)]",
@@ -271,7 +271,7 @@ function TertiaryButton(_a) {
271
271
  /** layout */
272
272
  "overflow-hidden w-full flex items-center justify-center transition-all duration-200",
273
273
  /** typography */
274
- "font-[var(--deframe-widget-font-family)]",
274
+ "font-[var(--deframe-widget-font-family-primary)]",
275
275
  "[font-size:var(--deframe-widget-font-size-md)]",
276
276
  "[line-height:var(--deframe-widget-font-leading-md)]",
277
277
  "[font-weight:var(--deframe-widget-font-weight-semibold)]",
@@ -313,27 +313,139 @@ function TertiaryButton(_a) {
313
313
  })
314
314
  );
315
315
  }
316
+ function Input(_a) {
317
+ var _b = _a, { className = "" } = _b, props = __objRest(_b, ["className"]);
318
+ const baseClasses = [
319
+ "flex flex-col",
320
+ "[gap:var(--deframe-widget-size-gap-xs)]"
321
+ ].join(" ");
322
+ return /* @__PURE__ */ jsxRuntime.jsx(
323
+ "div",
324
+ __spreadValues({
325
+ "data-slot": "input",
326
+ "data-test-id": "input",
327
+ className: tailwindMerge.twMerge(baseClasses, className)
328
+ }, props)
329
+ );
330
+ }
331
+ function InputLabel(_a) {
332
+ var _b = _a, { className = "" } = _b, props = __objRest(_b, ["className"]);
333
+ const baseClasses = [
334
+ "[font-family:var(--deframe-widget-font-family-primary)]",
335
+ "[font-size:var(--deframe-widget-font-size-xs)]",
336
+ "[font-weight:var(--deframe-widget-font-weight-medium)]",
337
+ "text-[var(--deframe-widget-color-text-primary)]"
338
+ ].join(" ");
339
+ return /* @__PURE__ */ jsxRuntime.jsx(
340
+ "label",
341
+ __spreadValues({
342
+ "data-slot": "input-label",
343
+ "data-test-id": "input-label",
344
+ className: tailwindMerge.twMerge(baseClasses, className)
345
+ }, props)
346
+ );
347
+ }
348
+ function InputField(_a) {
349
+ var _b = _a, { hasError = false, disabled, className = "" } = _b, props = __objRest(_b, ["hasError", "disabled", "className"]);
350
+ const baseClasses = [
351
+ "w-full",
352
+ "[font-family:var(--deframe-widget-font-family-primary)]",
353
+ "[font-size:var(--deframe-widget-font-size-md)]",
354
+ "[font-weight:var(--deframe-widget-font-weight-regular)]",
355
+ "text-[var(--deframe-widget-color-text-primary)]",
356
+ "placeholder-[var(--deframe-widget-color-placeholder-primary)]",
357
+ "border-[length:var(--deframe-widget-size-border-xs)]",
358
+ "rounded-[var(--deframe-widget-size-radius-sm)]",
359
+ "px-[var(--deframe-widget-size-padding-x-md)]",
360
+ "py-[var(--deframe-widget-size-padding-y-sm)]",
361
+ "outline-none",
362
+ "transition-colors"
363
+ ].join(" ");
364
+ const stateClasses = {
365
+ error: "border border-[var(--deframe-widget-color-state-error)]",
366
+ disabled: [
367
+ "border",
368
+ "border-[var(--deframe-widget-color-border-primary-disabled)]",
369
+ "opacity-60",
370
+ "cursor-not-allowed"
371
+ ].join(" "),
372
+ default: "border border-[var(--deframe-widget-color-border-primary)]"
373
+ };
374
+ const stateKey = hasError ? "error" : disabled ? "disabled" : "default";
375
+ const fieldClasses = tailwindMerge.twMerge(baseClasses, stateClasses[stateKey], className);
376
+ return /* @__PURE__ */ jsxRuntime.jsx(
377
+ "input",
378
+ __spreadValues({
379
+ "data-slot": "input-field",
380
+ "data-test-id": "input-field",
381
+ "aria-invalid": hasError || void 0,
382
+ disabled,
383
+ className: fieldClasses
384
+ }, props)
385
+ );
386
+ }
316
387
  function Link(_a) {
317
388
  var _b = _a, {
318
389
  children,
319
390
  href,
320
391
  className = "",
321
- target = "_self"
392
+ target = "_blank",
393
+ disabled = false,
394
+ prefetch: _prefetch,
395
+ replace: _replace,
396
+ scroll: _scroll
322
397
  } = _b, props = __objRest(_b, [
323
398
  "children",
324
399
  "href",
325
400
  "className",
326
- "target"
401
+ "target",
402
+ "disabled",
403
+ "prefetch",
404
+ "replace",
405
+ "scroll"
327
406
  ]);
328
- const styles = {
329
- link: "text-sm font-medium font-poppins leading-5 cursor-pointer"
407
+ const baseClasses = [
408
+ "[font-family:var(--deframe-widget-font-family-primary)]",
409
+ "[font-size:var(--deframe-widget-font-size-md)]",
410
+ "[font-weight:var(--deframe-widget-font-weight-medium)]",
411
+ "[line-height:var(--deframe-widget-font-leading-lg)]"
412
+ ].join(" ");
413
+ const stateClasses = {
414
+ enabled: [
415
+ "text-[var(--deframe-widget-color-link)]",
416
+ "underline",
417
+ "cursor-pointer"
418
+ ].join(" "),
419
+ disabled: [
420
+ "text-[var(--deframe-widget-color-link-disabled)]",
421
+ "cursor-not-allowed",
422
+ "pointer-events-none"
423
+ ].join(" ")
330
424
  };
331
- const linkClasses = tailwindMerge.twMerge(styles.link, className);
425
+ const linkClasses = tailwindMerge.twMerge(
426
+ baseClasses,
427
+ stateClasses[disabled ? "disabled" : "enabled"],
428
+ className
429
+ );
430
+ if (disabled) {
431
+ return /* @__PURE__ */ jsxRuntime.jsx(
432
+ "span",
433
+ {
434
+ "data-slot": "link",
435
+ "data-test-id": "link",
436
+ "aria-disabled": true,
437
+ className: linkClasses,
438
+ children
439
+ }
440
+ );
441
+ }
332
442
  return /* @__PURE__ */ jsxRuntime.jsx(
333
443
  "a",
334
444
  __spreadProps(__spreadValues({
335
445
  href,
336
446
  target,
447
+ "data-slot": "link",
448
+ "data-test-id": "link",
337
449
  className: linkClasses,
338
450
  rel: target === "_blank" ? "noopener noreferrer" : void 0
339
451
  }, props), {
@@ -341,102 +453,155 @@ function Link(_a) {
341
453
  })
342
454
  );
343
455
  }
344
- function Input(_a) {
456
+ var Link_default = Link;
457
+ function Input2(_a) {
345
458
  var _b = _a, {
346
459
  label,
347
460
  error,
348
461
  placeholder,
349
462
  type = "text",
350
463
  repassword = "Forgot password?",
464
+ href = "/",
351
465
  disabled,
352
- className
466
+ className = ""
353
467
  } = _b, props = __objRest(_b, [
354
468
  "label",
355
469
  "error",
356
470
  "placeholder",
357
471
  "type",
358
472
  "repassword",
473
+ "href",
359
474
  "disabled",
360
475
  "className"
361
476
  ]);
362
477
  const hasError = !!error;
363
- const inputClasses = tailwindMerge.twMerge(
364
- "w-full px-4 py-2 rounded",
365
- "text-white placeholder-gray-400 text-base font-poppins",
366
- hasError ? "border-red-500" : disabled ? "border-gray-600 opacity-60" : "border-gray-500",
367
- className
368
- );
369
- const labelClasses = "block mb-1 text-xs text-white font-poppins";
370
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
371
- label && /* @__PURE__ */ jsxRuntime.jsx("label", { className: labelClasses, children: label }),
478
+ return /* @__PURE__ */ jsxRuntime.jsxs(Input, { className, children: [
479
+ label && /* @__PURE__ */ jsxRuntime.jsx(InputLabel, { children: label }),
372
480
  /* @__PURE__ */ jsxRuntime.jsx(
373
- "input",
481
+ InputField,
374
482
  __spreadValues({
375
483
  type,
376
484
  placeholder,
377
485
  disabled,
378
- className: inputClasses
486
+ hasError,
487
+ "aria-label": label
379
488
  }, props)
380
489
  ),
381
- type === "password" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(Link, { href: "#", children: repassword }) }),
382
- error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs text-red-500", children: error })
490
+ type === "password" && /* @__PURE__ */ jsxRuntime.jsx(
491
+ "div",
492
+ {
493
+ "data-slot": "input-repassword",
494
+ "data-test-id": "input-repassword",
495
+ className: "text-right",
496
+ children: /* @__PURE__ */ jsxRuntime.jsx(Link_default, { href, disabled, children: repassword })
497
+ }
498
+ )
383
499
  ] });
384
500
  }
385
- var ListItem = ({
386
- children,
387
- className,
388
- containerClassName,
389
- onClick
390
- }) => {
501
+ function ListItem(_a) {
502
+ var _b = _a, {
503
+ children,
504
+ className,
505
+ containerClassName,
506
+ onClick
507
+ } = _b, props = __objRest(_b, [
508
+ "children",
509
+ "className",
510
+ "containerClassName",
511
+ "onClick"
512
+ ]);
513
+ const baseClasses = [
514
+ "self-stretch min-h-16 relative",
515
+ "rounded-[var(--deframe-widget-size-radius-xs)]",
516
+ "border-[length:var(--deframe-widget-size-border-xs)]",
517
+ "border-[var(--deframe-widget-color-border-primary)]",
518
+ "flex flex-col justify-center items-center",
519
+ "transition-colors",
520
+ "bg-[var(--deframe-widget-color-bg-primary)]"
521
+ ].join(" ");
522
+ const stateClasses = {
523
+ clickable: "cursor-pointer hover:border-[var(--deframe-widget-color-border-secondary)]",
524
+ static: ""
525
+ };
391
526
  const containerClasses = tailwindMerge.twMerge(
392
- "self-stretch min-h-16 relative rounded border border-border-default text-white dark:border-border-default-dark flex flex-col justify-center items-center hover:border-border-strong dark:hover:border-border-strong-dark transition-colors bg-bg-subtle dark:bg-bg-subtle-dark",
393
- onClick && "cursor-pointer",
527
+ baseClasses,
528
+ stateClasses[onClick ? "clickable" : "static"],
394
529
  containerClassName
395
530
  );
396
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerClasses, onClick, children: /* @__PURE__ */ jsxRuntime.jsx(
397
- "div",
398
- {
399
- className: tailwindMerge.twMerge(
400
- "self-stretch inline-flex justify-between items-center gap-md px-4 py-2 text-white",
401
- className
402
- ),
403
- children
404
- }
405
- ) });
406
- };
407
- var ListItemLeftSide = ({ children, className }) => {
531
+ const innerClasses = tailwindMerge.twMerge(
532
+ "self-stretch inline-flex justify-between items-center",
533
+ "[gap:var(--deframe-widget-size-gap-md)]",
534
+ "px-[var(--deframe-widget-size-padding-x-md)]",
535
+ "py-[var(--deframe-widget-size-padding-y-sm)]",
536
+ "text-[var(--deframe-widget-color-text-primary)]",
537
+ className
538
+ );
539
+ return /* @__PURE__ */ jsxRuntime.jsx(
540
+ "li",
541
+ __spreadProps(__spreadValues({
542
+ "data-slot": "list-item",
543
+ "data-test-id": "list-item",
544
+ className: containerClasses,
545
+ onClick,
546
+ tabIndex: onClick ? 0 : void 0,
547
+ role: onClick ? "button" : void 0,
548
+ onKeyDown: onClick ? (e) => e.key === "Enter" && onClick() : void 0
549
+ }, props), {
550
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: innerClasses, children })
551
+ })
552
+ );
553
+ }
554
+ function ListItemLeftSide(_a) {
555
+ var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
556
+ const baseClasses = [
557
+ "flex justify-center items-center",
558
+ "text-[var(--deframe-widget-color-text-primary)]"
559
+ ].join(" ");
408
560
  return /* @__PURE__ */ jsxRuntime.jsx(
409
561
  "div",
410
- {
411
- className: tailwindMerge.twMerge("flex justify-center items-center text-white", className),
562
+ __spreadProps(__spreadValues({
563
+ "data-slot": "list-item-left-side",
564
+ "data-test-id": "list-item-left-side",
565
+ className: tailwindMerge.twMerge(baseClasses, className)
566
+ }, props), {
412
567
  children
413
- }
568
+ })
414
569
  );
415
- };
416
- var ListItemContent = ({ children, className }) => {
570
+ }
571
+ function ListItemContent(_a) {
572
+ var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
573
+ const baseClasses = [
574
+ "flex-1 self-stretch inline-flex flex-col justify-center items-start overflow-hidden",
575
+ "text-[var(--deframe-widget-color-text-primary)]"
576
+ ].join(" ");
417
577
  return /* @__PURE__ */ jsxRuntime.jsx(
418
578
  "div",
419
- {
420
- className: tailwindMerge.twMerge(
421
- "flex-1 self-stretch inline-flex flex-col justify-center items-start overflow-hidden text-white",
422
- className
423
- ),
579
+ __spreadProps(__spreadValues({
580
+ "data-slot": "list-item-content",
581
+ "data-test-id": "list-item-content",
582
+ className: tailwindMerge.twMerge(baseClasses, className)
583
+ }, props), {
424
584
  children
425
- }
585
+ })
426
586
  );
427
- };
428
- var ListItemRightSide = ({ children, className }) => {
587
+ }
588
+ function ListItemRightSide(_a) {
589
+ var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
590
+ const baseClasses = [
591
+ "flex flex-col justify-start items-end",
592
+ "text-[var(--deframe-widget-color-text-primary)]"
593
+ ].join(" ");
429
594
  return /* @__PURE__ */ jsxRuntime.jsx(
430
595
  "div",
431
- {
432
- className: tailwindMerge.twMerge(
433
- "flex flex-col justify-start items-end text-white",
434
- className
435
- ),
596
+ __spreadProps(__spreadValues({
597
+ "data-slot": "list-item-right-side",
598
+ "data-test-id": "list-item-right-side",
599
+ className: tailwindMerge.twMerge(baseClasses, className)
600
+ }, props), {
436
601
  children
437
- }
602
+ })
438
603
  );
439
- };
604
+ }
440
605
  function WalletListContainer({
441
606
  children,
442
607
  className
@@ -445,12 +610,28 @@ function WalletListContainer({
445
610
  }
446
611
  var Text = React6__namespace.forwardRef(
447
612
  (_a, ref) => {
448
- var _b = _a, { as: Component = "p", variantClass, className, children } = _b, props = __objRest(_b, ["as", "variantClass", "className", "children"]);
613
+ var _b = _a, {
614
+ children,
615
+ as: Component = "p",
616
+ className = ""
617
+ } = _b, props = __objRest(_b, [
618
+ "children",
619
+ "as",
620
+ "className"
621
+ ]);
622
+ const baseClasses = [
623
+ "[font-family:var(--deframe-widget-font-family-primary)]",
624
+ "[font-size:var(--deframe-widget-font-size-md)]",
625
+ "[line-height:var(--deframe-widget-font-leading-md)]",
626
+ "[font-weight:var(--deframe-widget-font-weight-regular)]",
627
+ "text-[color:var(--deframe-widget-color-text-primary)]"
628
+ ].join(" ");
629
+ const textClasses = tailwindMerge.twMerge(baseClasses, className);
449
630
  return React6__namespace.createElement(
450
631
  Component,
451
632
  __spreadValues({
452
633
  ref,
453
- className: tailwindMerge.twMerge("font-poppins", variantClass, className)
634
+ className: textClasses
454
635
  }, props),
455
636
  children
456
637
  );
@@ -458,52 +639,145 @@ var Text = React6__namespace.forwardRef(
458
639
  );
459
640
  Text.displayName = "Text";
460
641
  var Text_default = Text;
461
- var accentVariants = {
462
- "accent-large": "text-[15px] leading-[140%] font-semibold",
463
- "accent-medium": "text-[14px] leading-[140%] font-semibold",
464
- "accent-small": "text-[12px] leading-[140%] font-semibold"
465
- };
466
642
  var TextAccent = React6__namespace.forwardRef(
467
643
  (_a, ref) => {
468
- var _b = _a, { variant = "accent-medium", as = "span" } = _b, props = __objRest(_b, ["variant", "as"]);
644
+ var _b = _a, {
645
+ as = "span",
646
+ variant = "accent-medium",
647
+ className = ""
648
+ } = _b, props = __objRest(_b, [
649
+ "as",
650
+ "variant",
651
+ "className"
652
+ ]);
653
+ const accentVariants = {
654
+ "accent-large": [
655
+ "[font-size:var(--deframe-widget-font-size-lg)]",
656
+ "[line-height:var(--deframe-widget-font-leading-lg)]",
657
+ "[font-weight:var(--deframe-widget-font-weight-semibold)]"
658
+ ].join(" "),
659
+ "accent-medium": [
660
+ "[font-size:var(--deframe-widget-font-size-md)]",
661
+ "[line-height:var(--deframe-widget-font-leading-lg)]",
662
+ "[font-weight:var(--deframe-widget-font-weight-semibold)]"
663
+ ].join(" "),
664
+ "accent-small": [
665
+ "[font-size:var(--deframe-widget-font-size-sm)]",
666
+ "[line-height:var(--deframe-widget-font-leading-lg)]",
667
+ "[font-weight:var(--deframe-widget-font-weight-semibold)]"
668
+ ].join(" ")
669
+ };
469
670
  const variantClass = accentVariants[variant];
470
- return /* @__PURE__ */ jsxRuntime.jsx(Text_default, __spreadValues({ ref, as, variantClass }, props));
671
+ const accentClasses = tailwindMerge.twMerge(variantClass, className);
672
+ return /* @__PURE__ */ jsxRuntime.jsx(
673
+ Text_default,
674
+ __spreadValues({
675
+ ref,
676
+ as,
677
+ className: accentClasses,
678
+ "data-slot": "text-accent",
679
+ "data-test-id": "text-accent"
680
+ }, props)
681
+ );
471
682
  }
472
683
  );
473
684
  TextAccent.displayName = "TextAccent";
474
- var TextAccent_default = TextAccent;
475
- var bodyVariants = {
476
- "text-large": "text-[15px] leading-[140%] font-normal",
477
- "text-medium": "text-[14px] leading-[140%] font-normal",
478
- "text-small": "text-[12px] leading-[140%] font-normal"
479
- };
480
685
  var TextBody = React6__namespace.forwardRef(
481
686
  (_a, ref) => {
482
- var _b = _a, { variant = "text-medium", as = "p" } = _b, props = __objRest(_b, ["variant", "as"]);
687
+ var _b = _a, {
688
+ as = "p",
689
+ variant = "text-medium",
690
+ className = ""
691
+ } = _b, props = __objRest(_b, [
692
+ "as",
693
+ "variant",
694
+ "className"
695
+ ]);
696
+ const bodyVariants = {
697
+ "text-large": [
698
+ "[font-size:var(--deframe-widget-font-size-lg)]",
699
+ "[line-height:var(--deframe-widget-font-leading-lg)]",
700
+ "[font-weight:var(--deframe-widget-font-weight-regular)]"
701
+ ].join(" "),
702
+ "text-medium": [
703
+ "[font-size:var(--deframe-widget-font-size-md)]",
704
+ "[line-height:var(--deframe-widget-font-leading-lg)]",
705
+ "[font-weight:var(--deframe-widget-font-weight-regular)]"
706
+ ].join(" "),
707
+ "text-small": [
708
+ "[font-size:var(--deframe-widget-font-size-sm)]",
709
+ "[line-height:var(--deframe-widget-font-leading-lg)]",
710
+ "[font-weight:var(--deframe-widget-font-weight-regular)]"
711
+ ].join(" ")
712
+ };
483
713
  const variantClass = bodyVariants[variant];
484
- return /* @__PURE__ */ jsxRuntime.jsx(Text_default, __spreadValues({ ref, as, variantClass }, props));
714
+ const bodyClasses = tailwindMerge.twMerge(variantClass, className);
715
+ return /* @__PURE__ */ jsxRuntime.jsx(
716
+ Text_default,
717
+ __spreadValues({
718
+ ref,
719
+ as,
720
+ className: bodyClasses,
721
+ "data-slot": "text-body",
722
+ "data-test-id": "text-body"
723
+ }, props)
724
+ );
485
725
  }
486
726
  );
487
727
  TextBody.displayName = "TextBody";
488
- var TextBody_default = TextBody;
489
- var headingVariants = {
490
- "h-large": "text-[56px] leading-[100%] tracking-[0] font-extrabold",
491
- h1: "text-[40px] leading-[110%] font-extrabold",
492
- h2: "text-[28px] leading-[130%] font-extrabold",
493
- h3: "text-[22px] leading-[120%] font-extrabold",
494
- h4: "text-[18px] leading-[120%] font-extrabold",
495
- h5: "text-[16px] leading-[120%] font-bold"
496
- };
497
728
  var TextHeading = React6__namespace.forwardRef(
498
729
  (_a, ref) => {
499
- var _b = _a, { variant = "h2", as } = _b, props = __objRest(_b, ["variant", "as"]);
730
+ var _b = _a, {
731
+ as,
732
+ variant = "h2",
733
+ className = ""
734
+ } = _b, props = __objRest(_b, [
735
+ "as",
736
+ "variant",
737
+ "className"
738
+ ]);
739
+ const headingVariants = {
740
+ "h-large": [
741
+ "[font-size:var(--deframe-widget-font-size-h-large)]",
742
+ "[line-height:var(--deframe-widget-font-leading-sm)]",
743
+ "[font-weight:var(--deframe-widget-font-weight-extrabold)]"
744
+ ].join(" "),
745
+ h1: [
746
+ "[font-size:var(--deframe-widget-font-size-h1)]",
747
+ "[line-height:var(--deframe-widget-font-leading-md)]",
748
+ "[font-weight:var(--deframe-widget-font-weight-extrabold)]"
749
+ ].join(" "),
750
+ h2: [
751
+ "[font-size:var(--deframe-widget-font-size-h2)]",
752
+ "[line-height:var(--deframe-widget-font-leading-lg)]",
753
+ "[font-weight:var(--deframe-widget-font-weight-extrabold)]"
754
+ ].join(" "),
755
+ h3: [
756
+ "[font-size:var(--deframe-widget-font-size-h3)]",
757
+ "[line-height:var(--deframe-widget-font-leading-md)]",
758
+ "[font-weight:var(--deframe-widget-font-weight-bold)]"
759
+ ].join(" "),
760
+ h4: [
761
+ "[font-size:var(--deframe-widget-font-size-h4)]",
762
+ "[line-height:var(--deframe-widget-font-leading-md)]",
763
+ "[font-weight:var(--deframe-widget-font-weight-bold)]"
764
+ ].join(" "),
765
+ h5: [
766
+ "[font-size:var(--deframe-widget-font-size-h5)]",
767
+ "[line-height:var(--deframe-widget-font-leading-md)]",
768
+ "[font-weight:var(--deframe-widget-font-weight-bold)]"
769
+ ].join(" ")
770
+ };
500
771
  const variantClass = headingVariants[variant];
772
+ const headingClasses = tailwindMerge.twMerge(variantClass, className);
501
773
  return /* @__PURE__ */ jsxRuntime.jsx(
502
774
  Text_default,
503
775
  __spreadValues({
504
776
  ref,
505
777
  as: variant === "h-large" ? "h1" : variant,
506
- variantClass
778
+ className: headingClasses,
779
+ "data-slot": "text-heading",
780
+ "data-test-id": "text-heading"
507
781
  }, props)
508
782
  );
509
783
  }
@@ -512,11 +786,13 @@ TextHeading.displayName = "TextHeading";
512
786
  var TextHeading_default = TextHeading;
513
787
  function Title(_a) {
514
788
  var _b = _a, {
515
- variant = "h1"
789
+ variant = "h1",
790
+ className = ""
516
791
  } = _b, props = __objRest(_b, [
517
- "variant"
792
+ "variant",
793
+ "className"
518
794
  ]);
519
- return /* @__PURE__ */ jsxRuntime.jsx(TextHeading_default, __spreadValues({ variant }, props));
795
+ return /* @__PURE__ */ jsxRuntime.jsx(TextHeading_default, __spreadValues({ variant, className }, props));
520
796
  }
521
797
  function ConnectWalletList({
522
798
  wallets,
@@ -535,7 +811,7 @@ function ConnectWalletList({
535
811
  className: "w-10 h-10 rounded-full"
536
812
  }
537
813
  ) : wallet.icon }),
538
- /* @__PURE__ */ jsxRuntime.jsx(ListItemContent, { children: /* @__PURE__ */ jsxRuntime.jsx(Text_default, { children: wallet.name }) }),
814
+ /* @__PURE__ */ jsxRuntime.jsx(ListItemContent, { children: /* @__PURE__ */ jsxRuntime.jsx(TextBody, { variant: "text-medium", children: wallet.name }) }),
539
815
  /* @__PURE__ */ jsxRuntime.jsx(ListItemRightSide, { children: /* @__PURE__ */ jsxRuntime.jsx(
540
816
  "svg",
541
817
  {
@@ -563,32 +839,59 @@ function WalletItem({
563
839
  onClick,
564
840
  className
565
841
  }) {
842
+ const baseClasses = [
843
+ "w-full flex items-center",
844
+ "[gap:var(--deframe-widget-size-gap-md)]",
845
+ "px-[var(--deframe-widget-size-padding-x-md)]",
846
+ "py-[var(--deframe-widget-size-padding-y-sm)]",
847
+ "rounded-[var(--deframe-widget-size-radius-xs)]",
848
+ "bg-[var(--deframe-widget-color-bg-secondary)]",
849
+ "cursor-pointer",
850
+ "transition-colors",
851
+ "hover:bg-[var(--deframe-widget-color-bg-tertiary)]",
852
+ "focus:outline-none"
853
+ ].join(" ");
566
854
  return /* @__PURE__ */ jsxRuntime.jsxs(
567
855
  "button",
568
856
  {
857
+ "data-slot": "wallet-item",
858
+ "data-test-id": "wallet-item",
859
+ "aria-label": `Connect ${name} wallet`,
569
860
  onClick,
570
- className: tailwindMerge.twMerge(
571
- "w-full flex items-center gap-4 p-5",
572
- "bg-[#1E1E1E] rounded-2xl",
573
- "transition-all duration-200",
574
- "hover:bg-[#2C2C2C] active:scale-[0.98]",
575
- "focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50",
576
- className
577
- ),
861
+ className: tailwindMerge.twMerge(baseClasses, className),
578
862
  children: [
579
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 w-12 h-12 rounded-full overflow-hidden bg-white flex items-center justify-center", children: typeof icon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
580
- "img",
863
+ /* @__PURE__ */ jsxRuntime.jsx(
864
+ "div",
581
865
  {
582
- src: icon,
583
- alt: name,
584
- className: "w-full h-full object-cover"
866
+ "data-slot": "wallet-item-icon",
867
+ "data-test-id": "wallet-item-icon",
868
+ className: "flex-shrink-0 w-12 h-12 rounded-[var(--deframe-widget-size-radius-full)] overflow-hidden flex items-center justify-center",
869
+ children: typeof icon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
870
+ "img",
871
+ {
872
+ src: icon,
873
+ alt: name,
874
+ className: "w-full h-full object-cover"
875
+ }
876
+ ) : icon
585
877
  }
586
- ) : icon }),
587
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-left text-[15px] md:text-[17px] font-medium text-white", children: name }),
878
+ ),
879
+ /* @__PURE__ */ jsxRuntime.jsx(
880
+ TextBody,
881
+ {
882
+ "data-slot": "wallet-item-name",
883
+ "data-test-id": "wallet-item-name",
884
+ variant: "text-medium",
885
+ className: "flex-1 text-left text-[var(--deframe-widget-color-text-primary)]",
886
+ children: name
887
+ }
888
+ ),
588
889
  /* @__PURE__ */ jsxRuntime.jsx(
589
890
  "svg",
590
891
  {
591
- className: "flex-shrink-0 w-5 h-5 text-gray-400",
892
+ "data-slot": "wallet-item-chevron",
893
+ "data-test-id": "wallet-item-chevron",
894
+ className: "flex-shrink-0 w-5 h-5 text-[var(--deframe-widget-color-text-secondary)]",
592
895
  fill: "none",
593
896
  viewBox: "0 0 24 24",
594
897
  stroke: "currentColor",
@@ -1191,21 +1494,78 @@ var Skeleton = (_a) => {
1191
1494
  );
1192
1495
  };
1193
1496
  Skeleton.displayName = "Skeleton";
1194
- var variantConfig = {
1195
- info: { color: "#1890FF", icon: md.MdInfoOutline },
1196
- warning: { color: "#F6A700", icon: md.MdWarningAmber },
1197
- error: { color: "#FF4D4F", icon: md.MdErrorOutline },
1198
- success: { color: "#2BA176", icon: md.MdCheckCircleOutline }
1199
- };
1200
- var positionStyles = {
1201
- "top-right": "top-4 right-4",
1202
- "top-left": "top-4 left-4",
1203
- "top-center": "top-4 left-1/2 -translate-x-1/2",
1204
- "bottom-right": "bottom-4 right-4",
1205
- "bottom-left": "bottom-4 left-4",
1206
- "bottom-center": "bottom-4 left-1/2 -translate-x-1/2"
1207
- };
1208
- var BannerNotification = (_a) => {
1497
+ function BannerNotificationIcon(_a) {
1498
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1499
+ const baseClasses = [
1500
+ "flex items-center justify-center",
1501
+ "flex-shrink-0",
1502
+ "[font-size:var(--deframe-widget-font-size-xxl)]"
1503
+ ].join(" ");
1504
+ return /* @__PURE__ */ jsxRuntime.jsx(
1505
+ "div",
1506
+ __spreadValues({
1507
+ "data-slot": "banner-notification-icon",
1508
+ "data-test-id": "banner-notification-icon",
1509
+ className: tailwindMerge.twMerge(baseClasses, className)
1510
+ }, props)
1511
+ );
1512
+ }
1513
+ function BannerNotificationContent(_a) {
1514
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1515
+ const baseClasses = "flex-1 min-w-0 p-2";
1516
+ return /* @__PURE__ */ jsxRuntime.jsx(
1517
+ "div",
1518
+ __spreadValues({
1519
+ "data-slot": "banner-notification-content",
1520
+ "data-test-id": "banner-notification-content",
1521
+ className: tailwindMerge.twMerge(baseClasses, className)
1522
+ }, props)
1523
+ );
1524
+ }
1525
+ function BannerNotificationTitle(_a) {
1526
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1527
+ return /* @__PURE__ */ jsxRuntime.jsx(
1528
+ TextHeading,
1529
+ __spreadValues({
1530
+ variant: "h4",
1531
+ as: "p",
1532
+ "data-slot": "banner-notification-title",
1533
+ "data-test-id": "banner-notification-title",
1534
+ className: tailwindMerge.twMerge("[margin-bottom:var(--deframe-widget-size-gap-xs)] text-inherit", className)
1535
+ }, props)
1536
+ );
1537
+ }
1538
+ function BannerNotificationMessage(_a) {
1539
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1540
+ return /* @__PURE__ */ jsxRuntime.jsx(
1541
+ TextBody,
1542
+ __spreadValues({
1543
+ variant: "text-medium",
1544
+ "data-slot": "banner-notification-message",
1545
+ "data-test-id": "banner-notification-message",
1546
+ className: tailwindMerge.twMerge("text-inherit", className)
1547
+ }, props)
1548
+ );
1549
+ }
1550
+ function BannerNotificationClose(_a) {
1551
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
1552
+ const baseClasses = [
1553
+ "flex-shrink-0",
1554
+ "self-start",
1555
+ "[font-size:var(--deframe-widget-font-size-xl)]",
1556
+ "transition-opacity hover:opacity-70 cursor-pointer"
1557
+ ].join(" ");
1558
+ return /* @__PURE__ */ jsxRuntime.jsx(
1559
+ "button",
1560
+ __spreadValues({
1561
+ "data-slot": "banner-notification-close",
1562
+ "data-test-id": "banner-notification-close",
1563
+ "aria-label": "Close notification",
1564
+ className: tailwindMerge.twMerge(baseClasses, className)
1565
+ }, props)
1566
+ );
1567
+ }
1568
+ function BannerNotification(_a) {
1209
1569
  var _b = _a, {
1210
1570
  type = "inline",
1211
1571
  variant = "info",
@@ -1215,6 +1575,8 @@ var BannerNotification = (_a) => {
1215
1575
  autoHideDuration = 5e3,
1216
1576
  show = true,
1217
1577
  onClose,
1578
+ showIcon = true,
1579
+ icon,
1218
1580
  className
1219
1581
  } = _b, props = __objRest(_b, [
1220
1582
  "type",
@@ -1225,15 +1587,49 @@ var BannerNotification = (_a) => {
1225
1587
  "autoHideDuration",
1226
1588
  "show",
1227
1589
  "onClose",
1590
+ "showIcon",
1591
+ "icon",
1228
1592
  "className"
1229
1593
  ]);
1594
+ const [isVisible, setIsVisible] = React6__namespace.useState(show);
1230
1595
  const [isExiting, setIsExiting] = React6__namespace.useState(false);
1231
1596
  const timerRef = React6__namespace.useRef(null);
1232
- const config = variantConfig[variant];
1233
- const IconComponent = config.icon;
1597
+ const variantInlineClasses = {
1598
+ info: "bg-[var(--deframe-widget-color-state-info)]/20 border-[var(--deframe-widget-color-state-info)]",
1599
+ warning: "bg-[var(--deframe-widget-color-state-warning)]/20 border-[var(--deframe-widget-color-state-warning)]",
1600
+ error: "bg-[var(--deframe-widget-color-state-error)]/20 border-[var(--deframe-widget-color-state-error)]",
1601
+ success: "bg-[var(--deframe-widget-color-state-success)]/20 border-[var(--deframe-widget-color-state-success)]"
1602
+ };
1603
+ const variantToastClasses = {
1604
+ info: "bg-[var(--deframe-widget-color-state-info)] border-[var(--deframe-widget-color-state-info)]",
1605
+ warning: "bg-[var(--deframe-widget-color-state-warning)] border-[var(--deframe-widget-color-state-warning)]",
1606
+ error: "bg-[var(--deframe-widget-color-state-error)] border-[var(--deframe-widget-color-state-error)]",
1607
+ success: "bg-[var(--deframe-widget-color-state-success)] border-[var(--deframe-widget-color-state-success)]"
1608
+ };
1609
+ const variantTextClasses = {
1610
+ info: "text-[var(--deframe-widget-color-state-info)]",
1611
+ warning: "text-[var(--deframe-widget-color-state-warning)]",
1612
+ error: "text-[var(--deframe-widget-color-state-error)]",
1613
+ success: "text-[var(--deframe-widget-color-state-success)]"
1614
+ };
1615
+ const variantIcons = {
1616
+ info: md.MdInfoOutline,
1617
+ warning: md.MdWarningAmber,
1618
+ error: md.MdErrorOutline,
1619
+ success: md.MdCheckCircleOutline
1620
+ };
1621
+ const positionClasses = {
1622
+ "top-right": "top-4 right-4",
1623
+ "top-left": "top-4 left-4",
1624
+ "top-center": "top-4 left-1/2 -translate-x-1/2",
1625
+ "bottom-right": "bottom-4 right-4",
1626
+ "bottom-left": "bottom-4 left-4",
1627
+ "bottom-center": "bottom-4 left-1/2 -translate-x-1/2"
1628
+ };
1234
1629
  const handleClose = () => {
1235
1630
  setIsExiting(true);
1236
1631
  setTimeout(() => {
1632
+ setIsVisible(false);
1237
1633
  if (timerRef.current) {
1238
1634
  clearTimeout(timerRef.current);
1239
1635
  timerRef.current = null;
@@ -1241,56 +1637,74 @@ var BannerNotification = (_a) => {
1241
1637
  onClose == null ? void 0 : onClose();
1242
1638
  }, 300);
1243
1639
  };
1244
- if (type === "toast" && show && autoHideDuration > 0 && !timerRef.current && !isExiting) {
1245
- timerRef.current = setTimeout(() => {
1640
+ React6__namespace.useEffect(() => {
1641
+ if (!show) {
1246
1642
  handleClose();
1247
- }, autoHideDuration);
1248
- }
1643
+ return;
1644
+ }
1645
+ setIsVisible(true);
1646
+ setIsExiting(false);
1647
+ }, [show]);
1249
1648
  React6__namespace.useEffect(() => {
1649
+ if (type === "toast" && show && autoHideDuration > 0 && !isExiting) {
1650
+ timerRef.current = setTimeout(handleClose, autoHideDuration);
1651
+ }
1250
1652
  return () => {
1251
1653
  if (timerRef.current) {
1252
1654
  clearTimeout(timerRef.current);
1253
1655
  timerRef.current = null;
1254
1656
  }
1255
1657
  };
1256
- }, []);
1257
- if (!show) return null;
1258
- const backgroundColor = type === "inline" ? `${config.color}33` : config.color;
1658
+ }, [type, show, autoHideDuration, isExiting]);
1659
+ if (!isVisible) return null;
1660
+ const v = variant;
1661
+ const t = type;
1662
+ const p = position;
1663
+ const baseClasses = [
1664
+ "flex items-center",
1665
+ "[gap:var(--deframe-widget-size-gap-md)]",
1666
+ "px-[var(--deframe-widget-size-padding-x-md)]",
1667
+ "py-[var(--deframe-widget-size-padding-y-sm)]",
1668
+ "rounded-[var(--deframe-widget-size-radius-xs)]",
1669
+ "border",
1670
+ "transition-all duration-300"
1671
+ ].join(" ");
1672
+ const typeClasses = {
1673
+ inline: variantInlineClasses[v],
1674
+ toast: [
1675
+ variantToastClasses[v],
1676
+ "fixed z-50 w-[clamp(18rem,40vw,30rem)] shadow-lg",
1677
+ positionClasses[p]
1678
+ ].join(" ")
1679
+ };
1680
+ const bannerClasses = tailwindMerge.twMerge(
1681
+ baseClasses,
1682
+ typeClasses[t],
1683
+ variantTextClasses[v],
1684
+ isExiting && "opacity-0 -translate-y-2",
1685
+ className
1686
+ );
1687
+ const IconComponent = variantIcons[v];
1688
+ const resolvedIcon = icon != null ? icon : /* @__PURE__ */ jsxRuntime.jsx(IconComponent, {});
1259
1689
  return /* @__PURE__ */ jsxRuntime.jsxs(
1260
1690
  "div",
1261
1691
  __spreadProps(__spreadValues({
1262
- className: tailwindMerge.twMerge(
1263
- "flex items-start gap-3 p-3 rounded border transition-all duration-300",
1264
- isExiting && "opacity-0 -translate-y-2",
1265
- className,
1266
- type === "toast" && "fixed z-50 w-[clamp(18rem,40vw,30rem)] shadow-lg",
1267
- type === "toast" && positionStyles[position]
1268
- ),
1269
- style: {
1270
- backgroundColor,
1271
- borderColor: config.color
1272
- },
1273
- role: "alert"
1692
+ "data-slot": "banner-notification",
1693
+ "data-test-id": "banner-notification",
1694
+ role: "alert",
1695
+ className: bannerClasses
1274
1696
  }, props), {
1275
1697
  children: [
1276
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 text-2xl", children: /* @__PURE__ */ jsxRuntime.jsx(IconComponent, {}) }),
1277
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
1278
- title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold text-sm mb-1", children: title }),
1279
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm", children: message })
1698
+ showIcon && /* @__PURE__ */ jsxRuntime.jsx(BannerNotificationIcon, { children: resolvedIcon }),
1699
+ /* @__PURE__ */ jsxRuntime.jsxs(BannerNotificationContent, { children: [
1700
+ title && /* @__PURE__ */ jsxRuntime.jsx(BannerNotificationTitle, { children: title }),
1701
+ /* @__PURE__ */ jsxRuntime.jsx(BannerNotificationMessage, { children: message })
1280
1702
  ] }),
1281
- /* @__PURE__ */ jsxRuntime.jsx(
1282
- "button",
1283
- {
1284
- onClick: handleClose,
1285
- className: "flex-shrink-0 text-xl transition-opacity hover:opacity-70 cursor-pointer",
1286
- "aria-label": "Close notification",
1287
- children: /* @__PURE__ */ jsxRuntime.jsx(md.MdClose, {})
1288
- }
1289
- )
1703
+ /* @__PURE__ */ jsxRuntime.jsx(BannerNotificationClose, { onClick: handleClose, children: /* @__PURE__ */ jsxRuntime.jsx(md.MdClose, {}) })
1290
1704
  ]
1291
1705
  })
1292
1706
  );
1293
- };
1707
+ }
1294
1708
  BannerNotification.displayName = "BannerNotification";
1295
1709
  var AddressDisplay = ({
1296
1710
  address,
@@ -1319,7 +1733,7 @@ var AddressDisplay = ({
1319
1733
  ),
1320
1734
  children: [
1321
1735
  /* @__PURE__ */ jsxRuntime.jsx(
1322
- TextBody_default,
1736
+ TextBody,
1323
1737
  {
1324
1738
  className: tailwindMerge.twMerge(
1325
1739
  "block w-full whitespace-nowrap overflow-hidden",
@@ -1392,7 +1806,7 @@ var SummaryDetails = ({
1392
1806
  open: defaultOpen,
1393
1807
  children: [
1394
1808
  /* @__PURE__ */ jsxRuntime.jsx("summary", { className: tailwindMerge.twMerge("cursor-pointer block ", summaryClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
1395
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { className: "text-white font-medium", children: title }),
1809
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { className: "text-white font-medium", children: title }),
1396
1810
  /* @__PURE__ */ jsxRuntime.jsx(
1397
1811
  "svg",
1398
1812
  {
@@ -1423,7 +1837,7 @@ var SummaryDetails = ({
1423
1837
  ),
1424
1838
  children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between py-2", children: [
1425
1839
  /* @__PURE__ */ jsxRuntime.jsx(
1426
- TextBody_default,
1840
+ TextBody,
1427
1841
  {
1428
1842
  variant: "text-small",
1429
1843
  className: tailwindMerge.twMerge("text-text-tertiary dark:text-text-tertiary-dark", item.labelClassName),
@@ -1431,7 +1845,7 @@ var SummaryDetails = ({
1431
1845
  }
1432
1846
  ),
1433
1847
  typeof item.value === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1434
- TextBody_default,
1848
+ TextBody,
1435
1849
  {
1436
1850
  variant: "text-small",
1437
1851
  className: tailwindMerge.twMerge("text-text-primary dark:text-text-primary-dark font-medium", item.valueClassName),
@@ -1951,7 +2365,7 @@ var DetailsHeader = ({ title, onBack, className, backAriaLabel = "Back" }) => {
1951
2365
  children: /* @__PURE__ */ jsxRuntime.jsx(hi2.HiChevronLeft, { className: "w-6 h-6 text-text-tertiary dark:text-text-tertiary-dark" })
1952
2366
  }
1953
2367
  ),
1954
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(TextHeading_default, { variant: "h-large", children: title }) })
2368
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 flex items-center", children: /* @__PURE__ */ jsxRuntime.jsx(TextHeading, { variant: "h-large", children: title }) })
1955
2369
  ] });
1956
2370
  };
1957
2371
  var CloseButton = ({ onClick, testId, ariaLabel = "Close", className }) => {
@@ -2258,7 +2672,7 @@ var SwapNetworkSelectorView = ({
2258
2672
  }) => {
2259
2673
  const baseClasses = "flex flex-row items-center gap-xs";
2260
2674
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-test-id": testId, className: tailwindMerge.twMerge(baseClasses, className), children: [
2261
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { as: "span", variant: "text-small", className: "tracking-wide text-text-tertiary dark:text-text-tertiary-dark", children: directionLabel }),
2675
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { as: "span", variant: "text-small", className: "tracking-wide text-text-tertiary dark:text-text-tertiary-dark", children: directionLabel }),
2262
2676
  /* @__PURE__ */ jsxRuntime.jsxs(
2263
2677
  "button",
2264
2678
  {
@@ -2283,7 +2697,7 @@ var SwapQuoteHeaderView = ({
2283
2697
  }) => {
2284
2698
  const baseClasses = "border-b border-border-default dark:border-border-default-dark pb-sm";
2285
2699
  return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-test-id": "swap-quote-header", className: tailwindMerge.twMerge(baseClasses, className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
2286
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { as: "span", variant: "text-small", className: "font-semibold text-text-secondary dark:text-text-secondary-dark inline-flex items-center", children: label }),
2700
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { as: "span", variant: "text-small", className: "font-semibold text-text-secondary dark:text-text-secondary-dark inline-flex items-center", children: label }),
2287
2701
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-md", children: timerElement })
2288
2702
  ] }) });
2289
2703
  };
@@ -2352,7 +2766,7 @@ var SwapOutputAmountView = ({
2352
2766
  className
2353
2767
  }) => {
2354
2768
  const baseClasses = "text-h2-mobile font-extrabold text-right w-full min-w-[120px] text-text-primary dark:text-text-primary-dark";
2355
- return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-test-id": "swap-flow-output-amount", className: tailwindMerge.twMerge(baseClasses, className), children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { as: "span", variant: "text-small", className: "text-text-disabled dark:text-text-disabled-dark inline-flex items-center", children: loadingElement != null ? loadingElement : searchingQuoteLabel }) : displayOutput });
2769
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-test-id": "swap-flow-output-amount", className: tailwindMerge.twMerge(baseClasses, className), children: isLoading ? /* @__PURE__ */ jsxRuntime.jsx(TextBody, { as: "span", variant: "text-small", className: "text-text-disabled dark:text-text-disabled-dark inline-flex items-center", children: loadingElement != null ? loadingElement : searchingQuoteLabel }) : displayOutput });
2356
2770
  };
2357
2771
  var SwapQuoteErrorsView = ({
2358
2772
  hasQuoteError,
@@ -2429,8 +2843,8 @@ var SwapTokenSelectorView = ({
2429
2843
  children: [
2430
2844
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-sm flex-1", children: token ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2431
2845
  token.logoURI ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: token.logoURI, alt: token.symbol, className: "w-6 h-6 rounded-full" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-6 h-6 rounded-full bg-bg-raised dark:bg-bg-raised-dark text-text-secondary dark:text-text-secondary-dark flex items-center justify-center text-[10px] font-semibold", children: (token.symbol || "").slice(0, 3).toUpperCase() }),
2432
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { as: "span", className: "text-text-primary dark:text-text-primary-dark", children: token.symbol })
2433
- ] }) : /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { as: "span", className: "text-text-secondary dark:text-text-secondary-dark", children: selectTokenLabel }) }),
2846
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { as: "span", className: "text-text-primary dark:text-text-primary-dark", children: token.symbol })
2847
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(TextBody, { as: "span", className: "text-text-secondary dark:text-text-secondary-dark", children: selectTokenLabel }) }),
2434
2848
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center w-[18px] h-[18px]", children: /* @__PURE__ */ jsxRuntime.jsx(hi2.HiChevronDown, { className: "w-3 h-3 text-text-tertiary dark:text-text-tertiary-dark" }) })
2435
2849
  ]
2436
2850
  }
@@ -2503,14 +2917,14 @@ var ChooseAStrategyActionsheetView = ({
2503
2917
  /* @__PURE__ */ jsxRuntime.jsx(Navbar, { children: /* @__PURE__ */ jsxRuntime.jsx(CloseButton, { onClick: onClose, ariaLabel: closeAriaLabel }) }),
2504
2918
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col flex-1 w-full p-6 overflow-hidden", children: [
2505
2919
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-shrink-0", children: [
2506
- /* @__PURE__ */ jsxRuntime.jsx(TextHeading_default, { children: resolvedYieldLabel }),
2920
+ /* @__PURE__ */ jsxRuntime.jsx(TextHeading, { children: resolvedYieldLabel }),
2507
2921
  /* @__PURE__ */ jsxRuntime.jsx("br", {})
2508
2922
  ] }),
2509
2923
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2 w-full mt-4 overflow-y-auto flex-1 min-h-0", children: /* @__PURE__ */ jsxRuntime.jsxs(ListItem, { className: "flex-shrink-0", onClick: onStrategyClick, children: [
2510
2924
  /* @__PURE__ */ jsxRuntime.jsx(ListItemLeftSide, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: logoUrl, alt: assetName, className: "w-10 h-10 rounded-full" }) }),
2511
2925
  /* @__PURE__ */ jsxRuntime.jsxs(ListItemContent, { className: "gap-1", children: [
2512
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { children: resolvedYieldLabel }),
2513
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { variant: "text-small", children: Badge })
2926
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { children: resolvedYieldLabel }),
2927
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { variant: "text-small", children: Badge })
2514
2928
  ] }),
2515
2929
  /* @__PURE__ */ jsxRuntime.jsx(ListItemRightSide, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-center items-center gap-1", children: [
2516
2930
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-state-success", children: [
@@ -2543,9 +2957,9 @@ var StrategyDetailsView = ({
2543
2957
  /* @__PURE__ */ jsxRuntime.jsx("div", { "data-test-id": "strategy-details-content", className: "flex-1 min-h-0 overflow-y-auto p-md py-lg pb-24", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-lg min-h-full", children: [
2544
2958
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "inline-flex flex-col items-start gap-sm", children: [
2545
2959
  /* @__PURE__ */ jsxRuntime.jsx("img", { "data-test-id": "strategy-logo", src: logoUrl, alt: title, className: "w-20 h-20 rounded-full" }),
2546
- /* @__PURE__ */ jsxRuntime.jsx(TextHeading_default, { variant: "h5", children: title })
2960
+ /* @__PURE__ */ jsxRuntime.jsx(TextHeading, { variant: "h5", children: title })
2547
2961
  ] }),
2548
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { variant: "text-small", children: description }),
2962
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { variant: "text-small", children: description }),
2549
2963
  /* @__PURE__ */ jsxRuntime.jsx(
2550
2964
  SummaryDetails,
2551
2965
  {
@@ -2636,9 +3050,9 @@ var SearchEmptyState = ({
2636
3050
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full py-md bg-bg-default dark:bg-bg-default-dark rounded-lg flex flex-col justify-center items-center gap-sm h-full", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full flex flex-col justify-center items-center gap-md py-20", children: [
2637
3051
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-center items-center gap-md text-center", children: [
2638
3052
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-20 h-20 bg-bg-muted dark:bg-bg-muted-dark rounded-full flex justify-center items-center", children: /* @__PURE__ */ jsxRuntime.jsx(md.MdOutlineSearchOff, { className: "w-10 h-10 text-text-tertiary dark:text-text-tertiary-dark" }) }),
2639
- /* @__PURE__ */ jsxRuntime.jsx(TextHeading_default, { variant: "h3", children: title })
3053
+ /* @__PURE__ */ jsxRuntime.jsx(TextHeading, { variant: "h3", children: title })
2640
3054
  ] }),
2641
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "self-stretch text-center", children: /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { variant: "text-small", children: description }) })
3055
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "self-stretch text-center", children: /* @__PURE__ */ jsxRuntime.jsx(TextBody, { variant: "text-small", children: description }) })
2642
3056
  ] }) });
2643
3057
  };
2644
3058
  var CollapsibleSection = ({
@@ -2671,9 +3085,9 @@ var CollapsibleSection = ({
2671
3085
  "aria-expanded": isOpen,
2672
3086
  "aria-label": `${isOpen ? collapseText : expandText} ${title}`,
2673
3087
  children: [
2674
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-xs", children: /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { className: "text-white font-medium", children: title }) }),
3088
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-xs", children: /* @__PURE__ */ jsxRuntime.jsx(TextBody, { className: "text-white font-medium", children: title }) }),
2675
3089
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-xs", children: [
2676
- subtitle && /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { variant: "text-small", children: subtitle }),
3090
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx(TextBody, { variant: "text-small", children: subtitle }),
2677
3091
  /* @__PURE__ */ jsxRuntime.jsx(
2678
3092
  framerMotion.motion.svg,
2679
3093
  {
@@ -2735,7 +3149,7 @@ var TransactionScreen = ({
2735
3149
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 overflow-y-auto px-md py-lg flex flex-col gap-lg", children: [
2736
3150
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-md pt-lg", children: [
2737
3151
  /* @__PURE__ */ jsxRuntime.jsx(TransactionScreenIcon, { type: iconType, gradient: iconGradient }),
2738
- /* @__PURE__ */ jsxRuntime.jsx(TextHeading_default, { variant: "h-large", children: title }),
3152
+ /* @__PURE__ */ jsxRuntime.jsx(TextHeading, { variant: "h-large", children: title }),
2739
3153
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-text-md-mobile font-poppins text-text-secondary dark:text-text-secondary-dark text-center", style: { maxWidth: "350px" }, children: description })
2740
3154
  ] }),
2741
3155
  children,
@@ -2765,7 +3179,7 @@ var TransactionScreenInvestmentCard = ({
2765
3179
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-text-sm-mobile font-poppins text-text-secondary dark:text-text-secondary-dark", children: [
2766
3180
  apyLabel,
2767
3181
  " ",
2768
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { as: "span", className: "text-state-success", children: apyValue })
3182
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { as: "span", className: "text-state-success", children: apyValue })
2769
3183
  ] })
2770
3184
  ] }),
2771
3185
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-sm", children: [
@@ -3339,7 +3753,7 @@ var ChooseAnAssetSwapView = ({
3339
3753
  /* @__PURE__ */ jsxRuntime.jsx(Navbar, { children: /* @__PURE__ */ jsxRuntime.jsx(CloseButton, { testId: `swap-token-actionsheet-close-${actionSheetId}`, onClick: onClose }) }),
3340
3754
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col flex-1 w-full p-6 overflow-hidden", children: [
3341
3755
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-shrink-0", children: [
3342
- /* @__PURE__ */ jsxRuntime.jsx(TextHeading_default, { children: labels.title }),
3756
+ /* @__PURE__ */ jsxRuntime.jsx(TextHeading, { children: labels.title }),
3343
3757
  /* @__PURE__ */ jsxRuntime.jsx("br", {}),
3344
3758
  /* @__PURE__ */ jsxRuntime.jsx(
3345
3759
  SearchInput,
@@ -3355,7 +3769,7 @@ var ChooseAnAssetSwapView = ({
3355
3769
  ] }),
3356
3770
  searchValue && displayedTokens.length === 0 && !isFetching ? /* @__PURE__ */ jsxRuntime.jsx(SearchEmptyState, { title: labels.searchEmptyTitle, description: labels.searchEmptyDescription }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 w-full mt-4 overflow-y-auto flex-1 min-h-0", children: [
3357
3771
  isFetching && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center items-center w-full py-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
3358
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { variant: "text-small", className: "text-text-secondary dark:text-text-secondary-dark", children: labels.searchingText }),
3772
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { variant: "text-small", className: "text-text-secondary dark:text-text-secondary-dark", children: labels.searchingText }),
3359
3773
  /* @__PURE__ */ jsxRuntime.jsx(LoadingDots, {})
3360
3774
  ] }) }),
3361
3775
  displayedTokens.map((token, index) => {
@@ -3374,12 +3788,12 @@ var ChooseAnAssetSwapView = ({
3374
3788
  children: [
3375
3789
  /* @__PURE__ */ jsxRuntime.jsx(ListItemLeftSide, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: token.logoURI || "", alt: token.name, className: "w-10 h-10 rounded-full" }) }),
3376
3790
  /* @__PURE__ */ jsxRuntime.jsxs(ListItemContent, { children: [
3377
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { children: token.name }),
3378
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { variant: "text-small", children: token.symbol })
3791
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { children: token.name }),
3792
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { variant: "text-small", children: token.symbol })
3379
3793
  ] }),
3380
3794
  /* @__PURE__ */ jsxRuntime.jsxs(ListItemRightSide, { children: [
3381
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { children: formattedBalance }),
3382
- /* @__PURE__ */ jsxRuntime.jsx(TextBody_default, { variant: "text-small", children: formatCurrencyValue(Number(balance == null ? void 0 : balance.amountInUSD) || 0) })
3795
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { children: formattedBalance }),
3796
+ /* @__PURE__ */ jsxRuntime.jsx(TextBody, { variant: "text-small", children: formatCurrencyValue(Number(balance == null ? void 0 : balance.amountInUSD) || 0) })
3383
3797
  ] })
3384
3798
  ]
3385
3799
  },
@@ -3420,7 +3834,7 @@ exports.InfoRowIconLabel = InfoRowIconLabel;
3420
3834
  exports.InfoRowIconValue = InfoRowIconValue;
3421
3835
  exports.InfoRowWithIcon = InfoRowWithIcon;
3422
3836
  exports.InfoValue = InfoValue;
3423
- exports.Input = Input;
3837
+ exports.Input = Input2;
3424
3838
  exports.Link = Link;
3425
3839
  exports.ListItem = ListItem;
3426
3840
  exports.ListItemContent = ListItemContent;
@@ -3468,9 +3882,9 @@ exports.TabsList = TabsList;
3468
3882
  exports.TabsTrigger = TabsTrigger;
3469
3883
  exports.TertiaryButton = TertiaryButton;
3470
3884
  exports.Text = Text_default;
3471
- exports.TextAccent = TextAccent_default;
3472
- exports.TextBody = TextBody_default;
3473
- exports.TextHeading = TextHeading_default;
3885
+ exports.TextAccent = TextAccent;
3886
+ exports.TextBody = TextBody;
3887
+ exports.TextHeading = TextHeading;
3474
3888
  exports.Title = Title;
3475
3889
  exports.TokenWithChainBadge = TokenWithChainBadge;
3476
3890
  exports.TransactionProcessingDetails = TransactionProcessingDetails;