@loafmarkets/ui 0.1.55 → 0.1.56

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.mjs CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as React5 from 'react';
2
- import React5__default, { createContext, useState, useEffect, useMemo, useCallback, useRef, useContext } from 'react';
2
+ import React5__default, { createContext, useState, useEffect, useMemo, useCallback, useContext, useRef } from 'react';
3
3
  import { Slot } from '@radix-ui/react-slot';
4
4
  import { cva } from 'class-variance-authority';
5
5
  import { clsx } from 'clsx';
6
6
  import { twMerge } from 'tailwind-merge';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
- import styled24, { keyframes, css } from 'styled-components';
8
+ import styled25, { keyframes, css } from 'styled-components';
9
9
  import { Newspaper, BedDouble, Bath, CarFront } from 'lucide-react';
10
10
  import * as LightweightCharts from 'lightweight-charts';
11
11
  import { BiChevronUp, BiChevronDown, BiX, BiCoin, BiWallet, BiCreditCard, BiCalendar, BiInfoCircle, BiPencil, BiImages, BiVideo, BiMap } from 'react-icons/bi';
@@ -1553,7 +1553,7 @@ var shimmer = keyframes`
1553
1553
  background-position: 200% 0;
1554
1554
  }
1555
1555
  `;
1556
- var LogoContainer = styled24.span`
1556
+ var LogoContainer = styled25.span`
1557
1557
  display: inline-flex;
1558
1558
  align-items: center;
1559
1559
  gap: 0.35rem;
@@ -1638,7 +1638,7 @@ var LogoContainer = styled24.span`
1638
1638
  pointer-events: none;
1639
1639
  }
1640
1640
  `;
1641
- var IconWrapper = styled24.span`
1641
+ var IconWrapper = styled25.span`
1642
1642
  display: flex;
1643
1643
  align-items: center;
1644
1644
  justify-content: center;
@@ -1651,7 +1651,7 @@ var IconWrapper = styled24.span`
1651
1651
  height: 14px;
1652
1652
  }
1653
1653
  `;
1654
- var IconCircle = styled24.span`
1654
+ var IconCircle = styled25.span`
1655
1655
  position: absolute;
1656
1656
  width: ${({ size }) => size}px;
1657
1657
  height: ${({ size }) => size}px;
@@ -1662,7 +1662,7 @@ var IconCircle = styled24.span`
1662
1662
  transform-origin: center;
1663
1663
  will-change: transform, opacity;
1664
1664
  `;
1665
- var IconCore = styled24.span`
1665
+ var IconCore = styled25.span`
1666
1666
  width: 5px;
1667
1667
  height: 5px;
1668
1668
  background: linear-gradient(135deg, #0ecb81 0%, #2ecc71 100%);
@@ -1671,14 +1671,14 @@ var IconCore = styled24.span`
1671
1671
  position: relative;
1672
1672
  z-index: 1;
1673
1673
  `;
1674
- var LogoText = styled24.span`
1674
+ var LogoText = styled25.span`
1675
1675
  display: inline-flex;
1676
1676
  align-items: center;
1677
1677
  gap: 0.2rem;
1678
1678
  position: relative;
1679
1679
  z-index: 1;
1680
1680
  `;
1681
- var LoafLogoImage = styled24.img`
1681
+ var LoafLogoImage = styled25.img`
1682
1682
  height: 20px;
1683
1683
  position: relative;
1684
1684
  z-index: 1;
@@ -1687,7 +1687,7 @@ var LoafLogoImage = styled24.img`
1687
1687
  height: 18px;
1688
1688
  }
1689
1689
  `;
1690
- var LiquidityText = styled24.span`
1690
+ var LiquidityText = styled25.span`
1691
1691
  font-size: 0.65rem;
1692
1692
  font-weight: 400;
1693
1693
  background: linear-gradient(135deg, #f0b90b 0%, #ffd700 50%, #f0b90b 100%);
@@ -1909,7 +1909,8 @@ function DepthRow({
1909
1909
  depthPct,
1910
1910
  precision,
1911
1911
  amountPrecision,
1912
- hasUserOrder
1912
+ hasUserOrder,
1913
+ onPriceClick
1913
1914
  }) {
1914
1915
  const isAsk = side === "ask";
1915
1916
  const rowRef = React5.useRef(null);
@@ -1919,7 +1920,8 @@ function DepthRow({
1919
1920
  {
1920
1921
  ref: rowRef,
1921
1922
  className: "relative grid grid-cols-3 items-center gap-3 px-3 text-[0.8rem]",
1922
- style: { height: `${DEPTH_ROW_HEIGHT_PX}px` },
1923
+ style: { height: `${DEPTH_ROW_HEIGHT_PX}px`, cursor: onPriceClick ? "pointer" : void 0 },
1924
+ onClick: onPriceClick ? () => onPriceClick(price) : void 0,
1923
1925
  children: [
1924
1926
  /* @__PURE__ */ jsx(
1925
1927
  "div",
@@ -1935,7 +1937,7 @@ function DepthRow({
1935
1937
  "span",
1936
1938
  {
1937
1939
  "aria-label": "Your order at this price",
1938
- className: "absolute left-2 top-1/2 -translate-y-1/2 z-[2] h-[6px] w-[6px] rounded-full bg-[#C9A227] shadow-[0_0_6px_rgba(201,162,39,0.7)]"
1940
+ className: "absolute left-0 top-1/2 -translate-y-1/2 z-[2] h-[6px] w-[6px] rounded-full bg-[#C9A227] shadow-[0_0_6px_rgba(201,162,39,0.7)]"
1939
1941
  }
1940
1942
  ) : null,
1941
1943
  /* @__PURE__ */ jsxs("div", { className: cn("relative z-[1] tabular-nums", isAsk ? "text-[#f6465d]" : "text-[#0ecb81]"), children: [
@@ -1971,6 +1973,7 @@ var Orderbook = React5.forwardRef(
1971
1973
  variant = "auto",
1972
1974
  userOrderPrices,
1973
1975
  isLoading = false,
1976
+ onPriceClick,
1974
1977
  onLoafLiquidityClick,
1975
1978
  tradeExplorerUrl,
1976
1979
  className,
@@ -2066,7 +2069,8 @@ var Orderbook = React5.forwardRef(
2066
2069
  userBidPrices,
2067
2070
  isLoading,
2068
2071
  seenTradeKeysRef,
2069
- tradeExplorerUrl
2072
+ tradeExplorerUrl,
2073
+ onPriceClick
2070
2074
  };
2071
2075
  return /* @__PURE__ */ jsx(
2072
2076
  Card,
@@ -2132,7 +2136,8 @@ function DesktopOrderbookLayout({
2132
2136
  userBidPrices,
2133
2137
  isLoading,
2134
2138
  seenTradeKeysRef,
2135
- tradeExplorerUrl
2139
+ tradeExplorerUrl,
2140
+ onPriceClick
2136
2141
  }) {
2137
2142
  const midRef = React5.useRef(null);
2138
2143
  useMidPriceFlash(midRef, midPrice, "#0b1a24");
@@ -2253,7 +2258,8 @@ function DesktopOrderbookLayout({
2253
2258
  depthPct: askCumDepths[i] / combinedMaxCumDepth * 100,
2254
2259
  precision,
2255
2260
  amountPrecision,
2256
- hasUserOrder: userAskPrices.has(l.price)
2261
+ hasUserOrder: userAskPrices.has(l.price),
2262
+ onPriceClick
2257
2263
  },
2258
2264
  `ask-${l.price}`
2259
2265
  ))
@@ -2293,7 +2299,8 @@ function DesktopOrderbookLayout({
2293
2299
  depthPct: bidCumDepths[i] / combinedMaxCumDepth * 100,
2294
2300
  precision,
2295
2301
  amountPrecision,
2296
- hasUserOrder: userBidPrices.has(l.price)
2302
+ hasUserOrder: userBidPrices.has(l.price),
2303
+ onPriceClick
2297
2304
  },
2298
2305
  `bid-${l.price}`
2299
2306
  ))
@@ -2327,7 +2334,8 @@ function MobileOrderbookLayout({
2327
2334
  userBidPrices,
2328
2335
  isLoading,
2329
2336
  seenTradeKeysRef,
2330
- tradeExplorerUrl
2337
+ tradeExplorerUrl,
2338
+ onPriceClick
2331
2339
  }) {
2332
2340
  const midRef = React5.useRef(null);
2333
2341
  useMidPriceFlash(midRef, midPrice, "transparent");
@@ -2408,7 +2416,8 @@ function MobileOrderbookLayout({
2408
2416
  depthPct: askCumDepths[i] / combinedMaxCumDepth * 100,
2409
2417
  precision,
2410
2418
  amountPrecision,
2411
- hasUserOrder: userAskPrices.has(l.price)
2419
+ hasUserOrder: userAskPrices.has(l.price),
2420
+ onPriceClick
2412
2421
  },
2413
2422
  `mobile-ask-${l.price}`
2414
2423
  )) }),
@@ -2454,7 +2463,8 @@ function MobileOrderbookLayout({
2454
2463
  depthPct: bidCumDepths[i] / combinedMaxCumDepth * 100,
2455
2464
  precision,
2456
2465
  amountPrecision,
2457
- hasUserOrder: userBidPrices.has(l.price)
2466
+ hasUserOrder: userBidPrices.has(l.price),
2467
+ onPriceClick
2458
2468
  },
2459
2469
  `mobile-bid-${l.price}`
2460
2470
  )) })
@@ -2497,7 +2507,8 @@ function MobileDepthRow({
2497
2507
  depthPct,
2498
2508
  precision,
2499
2509
  amountPrecision,
2500
- hasUserOrder
2510
+ hasUserOrder,
2511
+ onPriceClick
2501
2512
  }) {
2502
2513
  const isAsk = side === "ask";
2503
2514
  const rowRef = React5.useRef(null);
@@ -2511,8 +2522,10 @@ function MobileDepthRow({
2511
2522
  gridTemplateColumns: "1.2fr 0.8fr",
2512
2523
  padding: "0.2rem 0",
2513
2524
  fontSize: "0.8rem",
2514
- position: "relative"
2525
+ position: "relative",
2526
+ cursor: onPriceClick ? "pointer" : void 0
2515
2527
  },
2528
+ onClick: onPriceClick ? () => onPriceClick(price) : void 0,
2516
2529
  children: [
2517
2530
  hasUserOrder ? /* @__PURE__ */ jsx(
2518
2531
  "span",
@@ -2520,7 +2533,7 @@ function MobileDepthRow({
2520
2533
  "aria-label": "Your order at this price",
2521
2534
  style: {
2522
2535
  position: "absolute",
2523
- left: "6px",
2536
+ left: "2px",
2524
2537
  top: "50%",
2525
2538
  transform: "translateY(-50%)",
2526
2539
  width: "6px",
@@ -2532,7 +2545,7 @@ function MobileDepthRow({
2532
2545
  }
2533
2546
  }
2534
2547
  ) : null,
2535
- /* @__PURE__ */ jsxs("div", { style: { position: "relative", zIndex: 1, color: isAsk ? "#f6465d" : "#0ecb81" }, children: [
2548
+ /* @__PURE__ */ jsxs("div", { style: { position: "relative", zIndex: 1, color: isAsk ? "#f6465d" : "#0ecb81", paddingLeft: hasUserOrder ? "10px" : void 0 }, children: [
2536
2549
  "$",
2537
2550
  formatNumber(price, precision)
2538
2551
  ] }),
@@ -3260,7 +3273,7 @@ var TradingSlider = React5.forwardRef(
3260
3273
  }
3261
3274
  );
3262
3275
  TradingSlider.displayName = "TradingSlider";
3263
- var MobileToggleContainer = styled24.div`
3276
+ var MobileToggleContainer = styled25.div`
3264
3277
  display: none;
3265
3278
 
3266
3279
  @media (max-width: 1024px) {
@@ -3278,7 +3291,7 @@ var MobileToggleContainer = styled24.div`
3278
3291
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.3);
3279
3292
  }
3280
3293
  `;
3281
- var MobileToggleButton = styled24.button`
3294
+ var MobileToggleButton = styled25.button`
3282
3295
  flex: 1;
3283
3296
  padding: 0.75rem;
3284
3297
  background-color: ${(props) => props.active ? "var(--color-accent)" : "transparent"};
@@ -3633,7 +3646,7 @@ var shimmer2 = keyframes`
3633
3646
  background-position: 200% 0;
3634
3647
  }
3635
3648
  `;
3636
- var LogoContainer2 = styled24.span`
3649
+ var LogoContainer2 = styled25.span`
3637
3650
  display: inline-flex;
3638
3651
  align-items: center;
3639
3652
  gap: 0.35rem;
@@ -3728,7 +3741,7 @@ var LogoContainer2 = styled24.span`
3728
3741
  pointer-events: none;
3729
3742
  }
3730
3743
  `;
3731
- var IconWrapper2 = styled24.div`
3744
+ var IconWrapper2 = styled25.div`
3732
3745
  display: flex;
3733
3746
  align-items: center;
3734
3747
  justify-content: center;
@@ -3746,7 +3759,7 @@ var IconWrapper2 = styled24.div`
3746
3759
  height: 14px;
3747
3760
  }
3748
3761
  `;
3749
- var IconCircle2 = styled24.div`
3762
+ var IconCircle2 = styled25.div`
3750
3763
  position: absolute;
3751
3764
  width: ${(props) => props.$size}px;
3752
3765
  height: ${(props) => props.$size}px;
@@ -3757,7 +3770,7 @@ var IconCircle2 = styled24.div`
3757
3770
  transform-origin: center;
3758
3771
  will-change: transform, opacity;
3759
3772
  `;
3760
- var IconCore2 = styled24.div`
3773
+ var IconCore2 = styled25.div`
3761
3774
  width: 5px;
3762
3775
  height: 5px;
3763
3776
  background: linear-gradient(135deg, #0ecb81 0%, #2ecc71 100%);
@@ -3766,7 +3779,7 @@ var IconCore2 = styled24.div`
3766
3779
  position: relative;
3767
3780
  z-index: 1;
3768
3781
  `;
3769
- var LogoText2 = styled24.span`
3782
+ var LogoText2 = styled25.span`
3770
3783
  display: inline-flex;
3771
3784
  align-items: center;
3772
3785
  gap: 0.2rem;
@@ -3774,7 +3787,7 @@ var LogoText2 = styled24.span`
3774
3787
  z-index: 1;
3775
3788
  vertical-align: middle;
3776
3789
  `;
3777
- var LoafLogoImage2 = styled24.img`
3790
+ var LoafLogoImage2 = styled25.img`
3778
3791
  height: 20px;
3779
3792
  position: relative;
3780
3793
  z-index: 1;
@@ -3787,7 +3800,7 @@ var LoafLogoImage2 = styled24.img`
3787
3800
  height: 18px;
3788
3801
  }
3789
3802
  `;
3790
- var LiquidityText2 = styled24.span`
3803
+ var LiquidityText2 = styled25.span`
3791
3804
  font-size: 0.65rem;
3792
3805
  font-weight: 400;
3793
3806
  background: linear-gradient(135deg, #f0b90b 0%, #ffd700 50%, #f0b90b 100%);
@@ -4900,14 +4913,14 @@ var PropertyHeroHeader = React5.forwardRef(
4900
4913
  }
4901
4914
  );
4902
4915
  PropertyHeroHeader.displayName = "PropertyHeroHeader";
4903
- var OuterWrapper = styled24.div`
4916
+ var OuterWrapper = styled25.div`
4904
4917
  width: 100%;
4905
4918
  margin: 0 auto;
4906
4919
  display: flex;
4907
4920
  flex-direction: column;
4908
4921
  gap: 0.5rem;
4909
4922
  `;
4910
- var HeroContainer = styled24.div`
4923
+ var HeroContainer = styled25.div`
4911
4924
  position: relative;
4912
4925
  width: calc(100vw - 1.5rem);
4913
4926
  left: 50%;
@@ -4939,7 +4952,7 @@ var HeroContainer = styled24.div`
4939
4952
  border-radius: 6px;
4940
4953
  }
4941
4954
  `;
4942
- var MobileAmenities = styled24.div`
4955
+ var MobileAmenities = styled25.div`
4943
4956
  display: none;
4944
4957
  align-items: center;
4945
4958
  justify-content: space-between;
@@ -4956,7 +4969,7 @@ var MobileAmenities = styled24.div`
4956
4969
  flex-wrap: wrap;
4957
4970
  }
4958
4971
  `;
4959
- var MobileAmenity = styled24.span`
4972
+ var MobileAmenity = styled25.span`
4960
4973
  display: inline-flex;
4961
4974
  align-items: center;
4962
4975
  gap: 0.35rem;
@@ -4965,7 +4978,7 @@ var MobileAmenity = styled24.span`
4965
4978
  background: rgba(255, 255, 255, 0.08);
4966
4979
  font-weight: 500;
4967
4980
  `;
4968
- var HeroImage = styled24.img`
4981
+ var HeroImage = styled25.img`
4969
4982
  width: 100%;
4970
4983
  height: 100%;
4971
4984
  object-fit: cover;
@@ -4979,7 +4992,7 @@ var HeroImage = styled24.img`
4979
4992
  transform: scale(1.0);
4980
4993
  transform-origin: center;
4981
4994
  `;
4982
- var HeroGradient = styled24.div`
4995
+ var HeroGradient = styled25.div`
4983
4996
  position: absolute;
4984
4997
  bottom: 0;
4985
4998
  left: 0;
@@ -4988,7 +5001,7 @@ var HeroGradient = styled24.div`
4988
5001
  z-index: 1;
4989
5002
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
4990
5003
  `;
4991
- var ActionButtons = styled24.div`
5004
+ var ActionButtons = styled25.div`
4992
5005
  display: flex;
4993
5006
  flex-wrap: wrap;
4994
5007
  align-items: center;
@@ -5003,7 +5016,7 @@ var ActionButtons = styled24.div`
5003
5016
  display: none;
5004
5017
  }
5005
5018
  `;
5006
- var InfoCard = styled24.div`
5019
+ var InfoCard = styled25.div`
5007
5020
  display: inline-block;
5008
5021
  width: fit-content;
5009
5022
  max-width: 70%;
@@ -5028,7 +5041,7 @@ var InfoCard = styled24.div`
5028
5041
  max-width: 95%;
5029
5042
  }
5030
5043
  `;
5031
- var InfoRow = styled24.div`
5044
+ var InfoRow = styled25.div`
5032
5045
  display: grid;
5033
5046
  grid-template-columns: minmax(0, 1fr) auto;
5034
5047
  align-items: center;
@@ -5039,7 +5052,7 @@ var InfoRow = styled24.div`
5039
5052
  gap: 0.5rem;
5040
5053
  }
5041
5054
  `;
5042
- var LocationText = styled24.span`
5055
+ var LocationText = styled25.span`
5043
5056
  font-size: clamp(1rem, 2.6vw, 1.25rem);
5044
5057
  color: rgba(255, 255, 255, 0.9);
5045
5058
  font-weight: 500;
@@ -5047,7 +5060,7 @@ var LocationText = styled24.span`
5047
5060
  text-overflow: ellipsis;
5048
5061
  white-space: nowrap;
5049
5062
  `;
5050
- var PriceBlock = styled24.span`
5063
+ var PriceBlock = styled25.span`
5051
5064
  display: flex;
5052
5065
  align-items: center;
5053
5066
  font-size: clamp(1rem, 2.2vw, 1.25rem);
@@ -5057,7 +5070,7 @@ var PriceBlock = styled24.span`
5057
5070
  border-left: 1px solid rgba(255, 255, 255, 0.25);
5058
5071
  min-height: 1.5rem;
5059
5072
  `;
5060
- var StatusBadge = styled24.div`
5073
+ var StatusBadge = styled25.div`
5061
5074
  position: absolute;
5062
5075
  top: 1rem;
5063
5076
  left: 1rem;
@@ -5074,7 +5087,7 @@ var StatusBadge = styled24.div`
5074
5087
  border: ${({ $isLive }) => $isLive ? "1px solid rgba(240, 185, 11, 0.5)" : "none"};
5075
5088
  backdrop-filter: blur(8px);
5076
5089
  `;
5077
- var PulsingDot = styled24.span`
5090
+ var PulsingDot = styled25.span`
5078
5091
  display: inline-block;
5079
5092
  width: 8px;
5080
5093
  height: 8px;
@@ -5597,7 +5610,7 @@ var Header = ({
5597
5610
  ] });
5598
5611
  };
5599
5612
  Header.displayName = "Header";
5600
- var SafeAreaCover = styled24.div`
5613
+ var SafeAreaCover = styled25.div`
5601
5614
  position: fixed;
5602
5615
  top: 0;
5603
5616
  left: 0;
@@ -5608,7 +5621,7 @@ var SafeAreaCover = styled24.div`
5608
5621
  z-index: 1001;
5609
5622
  pointer-events: none;
5610
5623
  `;
5611
- var Overlay = styled24.div`
5624
+ var Overlay = styled25.div`
5612
5625
  display: ${(props) => props.$isOpen ? "block" : "none"};
5613
5626
  position: fixed;
5614
5627
  top: 0;
@@ -5619,7 +5632,7 @@ var Overlay = styled24.div`
5619
5632
  backdrop-filter: blur(3px);
5620
5633
  z-index: 999;
5621
5634
  `;
5622
- var MobileOnlyButton = styled24.button.attrs({ type: "button" })`
5635
+ var MobileOnlyButton = styled25.button.attrs({ type: "button" })`
5623
5636
  display: none;
5624
5637
  background-color: ${(props) => props.$isOpen ? "rgba(240, 185, 11, 0.2)" : "#f0b90b"};
5625
5638
  color: ${(props) => props.$isOpen ? "#ffffff" : "#0b0e11"};
@@ -5650,7 +5663,7 @@ var MobileOnlyButton = styled24.button.attrs({ type: "button" })`
5650
5663
  display: flex;
5651
5664
  }
5652
5665
  `;
5653
- var HeaderContainer = styled24.header`
5666
+ var HeaderContainer = styled25.header`
5654
5667
  display: flex;
5655
5668
  justify-content: space-between;
5656
5669
  align-items: center;
@@ -5676,13 +5689,13 @@ var HeaderContainer = styled24.header`
5676
5689
  padding-top: max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px));
5677
5690
  }
5678
5691
  `;
5679
- var HeaderSpacer = styled24.div`
5692
+ var HeaderSpacer = styled25.div`
5680
5693
  width: 100%;
5681
5694
  min-height: 56px;
5682
5695
  min-height: calc(56px + max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px)));
5683
5696
  flex-shrink: 0;
5684
5697
  `;
5685
- var Logo = styled24.div`
5698
+ var Logo = styled25.div`
5686
5699
  display: flex;
5687
5700
  align-items: center;
5688
5701
  margin-right: 24px;
@@ -5703,11 +5716,11 @@ var Logo = styled24.div`
5703
5716
  }
5704
5717
  }
5705
5718
  `;
5706
- var LogoLink = styled24.a`
5719
+ var LogoLink = styled25.a`
5707
5720
  display: inline-flex;
5708
5721
  align-items: center;
5709
5722
  `;
5710
- var Nav = styled24.nav`
5723
+ var Nav = styled25.nav`
5711
5724
  display: flex;
5712
5725
  flex-direction: column;
5713
5726
 
@@ -5759,7 +5772,7 @@ var Nav = styled24.nav`
5759
5772
  }
5760
5773
  }
5761
5774
  `;
5762
- var NavLink = styled24.a`
5775
+ var NavLink = styled25.a`
5763
5776
  margin: 0 12px;
5764
5777
  color: #eaecef;
5765
5778
  font-weight: 500;
@@ -5818,7 +5831,7 @@ var NavLink = styled24.a`
5818
5831
  }
5819
5832
  }
5820
5833
  `;
5821
- var Button2 = styled24.button.attrs({ type: "button" })`
5834
+ var Button2 = styled25.button.attrs({ type: "button" })`
5822
5835
  padding: 0.5rem 1rem;
5823
5836
  border-radius: 6px;
5824
5837
  font-weight: 500;
@@ -5856,7 +5869,7 @@ var Button2 = styled24.button.attrs({ type: "button" })`
5856
5869
  margin-left: 0.5rem;
5857
5870
  }
5858
5871
  `;
5859
- var UserMenu = styled24.div`
5872
+ var UserMenu = styled25.div`
5860
5873
  position: relative;
5861
5874
  margin-left: 0.75rem;
5862
5875
  height: 56px;
@@ -5867,7 +5880,7 @@ var UserMenu = styled24.div`
5867
5880
  margin-left: auto;
5868
5881
  }
5869
5882
  `;
5870
- var UserButton = styled24.button.attrs({ type: "button" })`
5883
+ var UserButton = styled25.button.attrs({ type: "button" })`
5871
5884
  display: flex;
5872
5885
  align-items: center;
5873
5886
  background: transparent;
@@ -5892,7 +5905,7 @@ var UserButton = styled24.button.attrs({ type: "button" })`
5892
5905
  transform: ${(props) => props.$isOpen ? "rotate(180deg)" : "rotate(0)"};
5893
5906
  }
5894
5907
  `;
5895
- var DropdownMenu = styled24.div`
5908
+ var DropdownMenu = styled25.div`
5896
5909
  position: absolute;
5897
5910
  top: 100%;
5898
5911
  /* Anchor to the button's right edge so a short label (narrow button) near
@@ -5920,7 +5933,7 @@ var DropdownMenu = styled24.div`
5920
5933
  display: block;
5921
5934
  }
5922
5935
  `;
5923
- var MenuItem = styled24.div`
5936
+ var MenuItem = styled25.div`
5924
5937
  padding: 0.75rem 1.25rem;
5925
5938
  cursor: pointer;
5926
5939
  transition: all 0.2s ease;
@@ -5940,7 +5953,7 @@ var MenuItem = styled24.div`
5940
5953
  color: #f6465d;
5941
5954
  }
5942
5955
  `;
5943
- var MobileMenuHeader = styled24.div`
5956
+ var MobileMenuHeader = styled25.div`
5944
5957
  display: flex;
5945
5958
  justify-content: flex-end;
5946
5959
  align-items: center;
@@ -5949,7 +5962,7 @@ var MobileMenuHeader = styled24.div`
5949
5962
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
5950
5963
  background: rgba(0, 0, 0, 0.2);
5951
5964
  `;
5952
- var MobileMenuClose = styled24.button.attrs({ type: "button" })`
5965
+ var MobileMenuClose = styled25.button.attrs({ type: "button" })`
5953
5966
  background: none;
5954
5967
  border: none;
5955
5968
  color: #eaecef;
@@ -5960,7 +5973,7 @@ var MobileMenuClose = styled24.button.attrs({ type: "button" })`
5960
5973
  align-items: center;
5961
5974
  justify-content: center;
5962
5975
  `;
5963
- var SearchBar = styled24.div`
5976
+ var SearchBar = styled25.div`
5964
5977
  display: flex;
5965
5978
  align-items: center;
5966
5979
  background: rgba(255, 255, 255, 0.03);
@@ -5996,7 +6009,7 @@ var SearchBar = styled24.div`
5996
6009
  }
5997
6010
  }
5998
6011
  `;
5999
- var MobileNavItem = styled24.div`
6012
+ var MobileNavItem = styled25.div`
6000
6013
  display: flex;
6001
6014
  align-items: center;
6002
6015
  padding: 14px 20px;
@@ -6736,7 +6749,7 @@ var LoginPopup = ({
6736
6749
  }
6737
6750
  return null;
6738
6751
  };
6739
- var Overlay2 = styled24.div`
6752
+ var Overlay2 = styled25.div`
6740
6753
  position: fixed;
6741
6754
  top: 0;
6742
6755
  left: 0;
@@ -6759,7 +6772,7 @@ var Overlay2 = styled24.div`
6759
6772
  }
6760
6773
  }
6761
6774
  `;
6762
- var PopupContainer = styled24.div`
6775
+ var PopupContainer = styled25.div`
6763
6776
  background-color: var(--color-background, #0a0a0a);
6764
6777
  border: 1px solid rgba(230, 198, 86, 0.3);
6765
6778
  border-radius: var(--border-radius, 12px);
@@ -6786,7 +6799,7 @@ var PopupContainer = styled24.div`
6786
6799
  max-width: 90%;
6787
6800
  }
6788
6801
  `;
6789
- var KycPopupContainer = styled24.div`
6802
+ var KycPopupContainer = styled25.div`
6790
6803
  background-color: var(--color-background, #0a0a0a);
6791
6804
  border: 1px solid rgba(230, 198, 86, 0.3);
6792
6805
  border-radius: var(--border-radius, 12px);
@@ -6814,7 +6827,7 @@ var KycPopupContainer = styled24.div`
6814
6827
  max-width: 95%;
6815
6828
  }
6816
6829
  `;
6817
- var KycWidgetContainer = styled24.div`
6830
+ var KycWidgetContainer = styled25.div`
6818
6831
  min-height: 500px;
6819
6832
  width: 100%;
6820
6833
  display: flex;
@@ -6822,7 +6835,7 @@ var KycWidgetContainer = styled24.div`
6822
6835
  position: relative;
6823
6836
  gap: 0.75rem;
6824
6837
  `;
6825
- var InlineCloseButton = styled24.button`
6838
+ var InlineCloseButton = styled25.button`
6826
6839
  position: absolute;
6827
6840
  top: -12px;
6828
6841
  right: -12px;
@@ -6848,7 +6861,7 @@ var InlineCloseButton = styled24.button`
6848
6861
  height: 18px;
6849
6862
  }
6850
6863
  `;
6851
- var CloseButton = styled24.button`
6864
+ var CloseButton = styled25.button`
6852
6865
  position: absolute;
6853
6866
  top: 1rem;
6854
6867
  right: 1rem;
@@ -6867,7 +6880,7 @@ var CloseButton = styled24.button`
6867
6880
  color: var(--color-accent, #e6c656);
6868
6881
  }
6869
6882
  `;
6870
- var Title = styled24.h2`
6883
+ var Title = styled25.h2`
6871
6884
  font-size: 1.75rem;
6872
6885
  font-weight: 600;
6873
6886
  color: var(--color-text, #eaecef);
@@ -6879,21 +6892,21 @@ var Title = styled24.h2`
6879
6892
  justify-content: center;
6880
6893
  gap: 1rem;
6881
6894
  `;
6882
- var LogoContainer3 = styled24.div`
6895
+ var LogoContainer3 = styled25.div`
6883
6896
  display: flex;
6884
6897
  justify-content: center;
6885
6898
  margin-bottom: 0.5rem;
6886
6899
  `;
6887
- var LogoImage = styled24.img`
6900
+ var LogoImage = styled25.img`
6888
6901
  height: 60px;
6889
6902
  `;
6890
- var ButtonsContainer = styled24.div`
6903
+ var ButtonsContainer = styled25.div`
6891
6904
  display: flex;
6892
6905
  flex-direction: column;
6893
6906
  gap: 1rem;
6894
6907
  margin-bottom: 1.5rem;
6895
6908
  `;
6896
- var LoginButton = styled24.button`
6909
+ var LoginButton = styled25.button`
6897
6910
  display: flex;
6898
6911
  align-items: center;
6899
6912
  justify-content: center;
@@ -6919,7 +6932,7 @@ var LoginButton = styled24.button`
6919
6932
  color: var(--color-accent, #e6c656);
6920
6933
  }
6921
6934
  `;
6922
- var Divider = styled24.div`
6935
+ var Divider = styled25.div`
6923
6936
  display: flex;
6924
6937
  align-items: center;
6925
6938
  margin: 1.5rem 0;
@@ -6932,13 +6945,13 @@ var Divider = styled24.div`
6932
6945
  background-color: rgba(230, 198, 86, 0.2);
6933
6946
  }
6934
6947
  `;
6935
- var InfoText = styled24.p`
6948
+ var InfoText = styled25.p`
6936
6949
  color: var(--color-text-secondary, #848e9c);
6937
6950
  font-size: 0.875rem;
6938
6951
  text-align: center;
6939
6952
  line-height: 1.5;
6940
6953
  `;
6941
- var AnnotationContainer = styled24.div`
6954
+ var AnnotationContainer = styled25.div`
6942
6955
  display: flex;
6943
6956
  flex-direction: column;
6944
6957
  gap: 0.75rem;
@@ -6946,7 +6959,7 @@ var AnnotationContainer = styled24.div`
6946
6959
  padding-top: 1.5rem;
6947
6960
  border-top: 1px solid rgba(230, 198, 86, 0.2);
6948
6961
  `;
6949
- var Annotation = styled24.div`
6962
+ var Annotation = styled25.div`
6950
6963
  display: flex;
6951
6964
  align-items: flex-start;
6952
6965
  gap: 1rem;
@@ -6961,22 +6974,22 @@ var Annotation = styled24.div`
6961
6974
  color: var(--color-accent, #e6c656);
6962
6975
  }
6963
6976
  `;
6964
- var AnnotationText = styled24.span`
6977
+ var AnnotationText = styled25.span`
6965
6978
  flex: 1;
6966
6979
  line-height: 1.4;
6967
6980
  `;
6968
- var AnnotationLabel = styled24.span`
6981
+ var AnnotationLabel = styled25.span`
6969
6982
  color: var(--color-text, #eaecef);
6970
6983
  font-weight: 500;
6971
6984
  margin-right: 0.25rem;
6972
6985
  `;
6973
- var EmailFormContainer = styled24.div`
6986
+ var EmailFormContainer = styled25.div`
6974
6987
  display: flex;
6975
6988
  flex-direction: column;
6976
6989
  gap: 1rem;
6977
6990
  margin-bottom: 1.5rem;
6978
6991
  `;
6979
- var EmailInput = styled24.input`
6992
+ var EmailInput = styled25.input`
6980
6993
  width: 100%;
6981
6994
  padding: 1rem 1.25rem;
6982
6995
  background-color: var(--color-background-light, #1a1a1a);
@@ -6995,12 +7008,12 @@ var EmailInput = styled24.input`
6995
7008
  color: var(--color-text-secondary, #848e9c);
6996
7009
  }
6997
7010
  `;
6998
- var OTPContainer = styled24.div`
7011
+ var OTPContainer = styled25.div`
6999
7012
  display: flex;
7000
7013
  gap: 0.5rem;
7001
7014
  justify-content: center;
7002
7015
  `;
7003
- var OTPInput = styled24.input`
7016
+ var OTPInput = styled25.input`
7004
7017
  width: 48px;
7005
7018
  height: 56px;
7006
7019
  text-align: center;
@@ -7018,7 +7031,7 @@ var OTPInput = styled24.input`
7018
7031
  box-shadow: 0 0 0 2px rgba(230, 198, 86, 0.2);
7019
7032
  }
7020
7033
  `;
7021
- var SubmitButton = styled24.button`
7034
+ var SubmitButton = styled25.button`
7022
7035
  width: 100%;
7023
7036
  padding: 0.85rem;
7024
7037
  background-color: var(--color-accent, #e6c656);
@@ -7041,7 +7054,7 @@ var SubmitButton = styled24.button`
7041
7054
  cursor: not-allowed;
7042
7055
  }
7043
7056
  `;
7044
- var BackButton = styled24.button`
7057
+ var BackButton = styled25.button`
7045
7058
  background: none;
7046
7059
  border: none;
7047
7060
  color: var(--color-text-secondary, #848e9c);
@@ -7056,13 +7069,13 @@ var BackButton = styled24.button`
7056
7069
  color: var(--color-accent, #e6c656);
7057
7070
  }
7058
7071
  `;
7059
- var StatusMessage = styled24.p`
7072
+ var StatusMessage = styled25.p`
7060
7073
  color: ${(props) => props.$error ? "#f6465d" : "#0ecb81"};
7061
7074
  font-size: 0.875rem;
7062
7075
  text-align: center;
7063
7076
  margin-top: 0.5rem;
7064
7077
  `;
7065
- var OnboardingStepContainer = styled24.div`
7078
+ var OnboardingStepContainer = styled25.div`
7066
7079
  display: flex;
7067
7080
  flex-direction: column;
7068
7081
  align-items: center;
@@ -7070,25 +7083,25 @@ var OnboardingStepContainer = styled24.div`
7070
7083
  padding: 0.25rem 0;
7071
7084
  gap: 0.5rem;
7072
7085
  `;
7073
- var OnboardingHeading = styled24.h2`
7086
+ var OnboardingHeading = styled25.h2`
7074
7087
  font-size: 1.2rem;
7075
7088
  font-weight: 600;
7076
7089
  color: var(--color-text, #eaecef);
7077
7090
  margin: 0;
7078
7091
  `;
7079
- var OnboardingSubtext = styled24.p`
7092
+ var OnboardingSubtext = styled25.p`
7080
7093
  font-size: 0.95rem;
7081
7094
  color: var(--color-text-secondary, #848e9c);
7082
7095
  line-height: 1.6;
7083
7096
  margin-bottom: 2rem;
7084
7097
  `;
7085
- var OnboardingButtonGroup = styled24.div`
7098
+ var OnboardingButtonGroup = styled25.div`
7086
7099
  display: flex;
7087
7100
  flex-direction: column;
7088
7101
  gap: 0.75rem;
7089
7102
  width: 100%;
7090
7103
  `;
7091
- var OnboardingSkipButton = styled24.button`
7104
+ var OnboardingSkipButton = styled25.button`
7092
7105
  width: 100%;
7093
7106
  padding: 0.75rem 0.9rem;
7094
7107
  background-color: rgba(255, 255, 255, 0.05);
@@ -7105,7 +7118,7 @@ var OnboardingSkipButton = styled24.button`
7105
7118
  color: var(--color-text, #eaecef);
7106
7119
  }
7107
7120
  `;
7108
- var ModalOptionCard = styled24.button`
7121
+ var ModalOptionCard = styled25.button`
7109
7122
  display: flex;
7110
7123
  align-items: center;
7111
7124
  gap: 1rem;
@@ -7128,7 +7141,7 @@ var ModalOptionCard = styled24.button`
7128
7141
  cursor: not-allowed;
7129
7142
  }
7130
7143
  `;
7131
- var FundingPopupContainer = styled24.div`
7144
+ var FundingPopupContainer = styled25.div`
7132
7145
  background-color: var(--color-background, #0a0a0a);
7133
7146
  border: 1px solid rgba(230, 198, 86, 0.3);
7134
7147
  border-radius: var(--border-radius, 12px);
@@ -7156,7 +7169,7 @@ var FundingPopupContainer = styled24.div`
7156
7169
  max-width: 95%;
7157
7170
  }
7158
7171
  `;
7159
- var TransakWidgetContainer = styled24.div`
7172
+ var TransakWidgetContainer = styled25.div`
7160
7173
  width: 100%;
7161
7174
  height: 700px;
7162
7175
  display: flex;
@@ -7168,7 +7181,7 @@ var TransakWidgetContainer = styled24.div`
7168
7181
  height: 600px;
7169
7182
  }
7170
7183
  `;
7171
- var TransakIframe = styled24.iframe`
7184
+ var TransakIframe = styled25.iframe`
7172
7185
  width: 100%;
7173
7186
  height: 100%;
7174
7187
  border: none;
@@ -7505,7 +7518,7 @@ var PropertyCompareBar = React5.forwardRef(
7505
7518
  }
7506
7519
  );
7507
7520
  PropertyCompareBar.displayName = "PropertyCompareBar";
7508
- var PropertySelectorContainer = styled24.div`
7521
+ var PropertySelectorContainer = styled25.div`
7509
7522
  display: flex;
7510
7523
  align-items: center;
7511
7524
  justify-content: space-between;
@@ -7559,7 +7572,7 @@ var PropertySelectorContainer = styled24.div`
7559
7572
  `};
7560
7573
  }
7561
7574
  `;
7562
- var PropertySelector = styled24.div`
7575
+ var PropertySelector = styled25.div`
7563
7576
  position: relative;
7564
7577
  display: flex;
7565
7578
  align-items: center;
@@ -7573,7 +7586,7 @@ var PropertySelector = styled24.div`
7573
7586
  }
7574
7587
  }
7575
7588
  `;
7576
- var PropertyAddress = styled24.div`
7589
+ var PropertyAddress = styled25.div`
7577
7590
  font-size: 1.125rem;
7578
7591
  font-weight: 600;
7579
7592
  display: flex;
@@ -7594,7 +7607,7 @@ var PropertyAddress = styled24.div`
7594
7607
  white-space: normal;
7595
7608
  }
7596
7609
  `;
7597
- var PropertySelectorDropdown = styled24.div`
7610
+ var PropertySelectorDropdown = styled25.div`
7598
7611
  position: absolute;
7599
7612
  top: calc(100% + 12px);
7600
7613
  left: 0;
@@ -7614,7 +7627,7 @@ var PropertySelectorDropdown = styled24.div`
7614
7627
  to { opacity: 1; transform: translateY(0); }
7615
7628
  }
7616
7629
  `;
7617
- var PropertySelectorOption = styled24.div`
7630
+ var PropertySelectorOption = styled25.div`
7618
7631
  padding: 1.25rem 1.5rem;
7619
7632
  transition: all 0.2s ease;
7620
7633
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
@@ -7640,13 +7653,13 @@ var PropertySelectorOption = styled24.div`
7640
7653
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0%, transparent 100%);
7641
7654
  }
7642
7655
  `;
7643
- var PropertySelectorName = styled24.div`
7656
+ var PropertySelectorName = styled25.div`
7644
7657
  font-weight: 600;
7645
7658
  font-size: 1rem;
7646
7659
  color: #ffffff;
7647
7660
  margin-bottom: 0.15rem;
7648
7661
  `;
7649
- var PropertySelectorSubtitle = styled24.div`
7662
+ var PropertySelectorSubtitle = styled25.div`
7650
7663
  font-size: 0.875rem;
7651
7664
  color: rgba(255, 255, 255, 0.5);
7652
7665
  span {
@@ -7655,7 +7668,7 @@ var PropertySelectorSubtitle = styled24.div`
7655
7668
  font-size: 0.75rem;
7656
7669
  }
7657
7670
  `;
7658
- var PropertyValueBlock = styled24.div`
7671
+ var PropertyValueBlock = styled25.div`
7659
7672
  display: flex;
7660
7673
  align-items: center;
7661
7674
  gap: 0.5rem;
@@ -7723,7 +7736,7 @@ var PropertyValueBlock = styled24.div`
7723
7736
  white-space: normal;
7724
7737
  }
7725
7738
  `;
7726
- var PropertyValueLabel = styled24.span`
7739
+ var PropertyValueLabel = styled25.span`
7727
7740
  font-size: 0.7rem;
7728
7741
  color: var(--color-text-secondary, rgba(255, 255, 255, 0.6));
7729
7742
  text-transform: uppercase;
@@ -7734,7 +7747,7 @@ var PropertyValueLabel = styled24.span`
7734
7747
  letter-spacing: 0.4px;
7735
7748
  }
7736
7749
  `;
7737
- var PropertyValueAmount = styled24.span`
7750
+ var PropertyValueAmount = styled25.span`
7738
7751
  font-size: 1.1rem;
7739
7752
  font-weight: 600;
7740
7753
  color: #fff;
@@ -7743,7 +7756,7 @@ var PropertyValueAmount = styled24.span`
7743
7756
  font-size: 0.95rem;
7744
7757
  }
7745
7758
  `;
7746
- var PropertyValueChange = styled24.span`
7759
+ var PropertyValueChange = styled25.span`
7747
7760
  font-size: 0.75rem;
7748
7761
  font-weight: 500;
7749
7762
  color: ${(props) => props.$isPositive == null ? "var(--color-text-secondary, rgba(255, 255, 255, 0.6))" : props.$isPositive ? "var(--color-positive, #0ecb81)" : "var(--color-negative, #f6465d)"};
@@ -7752,7 +7765,7 @@ var PropertyValueChange = styled24.span`
7752
7765
  font-size: 0.65rem;
7753
7766
  }
7754
7767
  `;
7755
- var PriceBlock2 = styled24.div`
7768
+ var PriceBlock2 = styled25.div`
7756
7769
  display: none;
7757
7770
 
7758
7771
  ${({ $variant }) => $variant === "pill" && css`
@@ -7767,13 +7780,13 @@ var PriceBlock2 = styled24.div`
7767
7780
  }
7768
7781
  `}
7769
7782
  `;
7770
- var PriceAmount = styled24.span`
7783
+ var PriceAmount = styled25.span`
7771
7784
  font-size: 1.6rem;
7772
7785
  font-weight: 600;
7773
7786
  color: #fff;
7774
7787
  letter-spacing: 0.2px;
7775
7788
  `;
7776
- var PriceChange = styled24.span`
7789
+ var PriceChange = styled25.span`
7777
7790
  font-size: 0.85rem;
7778
7791
  font-weight: 500;
7779
7792
  display: inline-flex;
@@ -7908,7 +7921,7 @@ function GalleryMapSection({
7908
7921
  ] })
7909
7922
  ] });
7910
7923
  }
7911
- var Row = styled24.div`
7924
+ var Row = styled25.div`
7912
7925
  display: grid;
7913
7926
  grid-template-columns: 2fr 1fr;
7914
7927
  gap: 1.5rem;
@@ -7919,14 +7932,14 @@ var Row = styled24.div`
7919
7932
  width: 100%;
7920
7933
  @media (max-width: 1024px) { grid-template-columns: 1fr; }
7921
7934
  `;
7922
- var PanelBase = styled24.div`
7935
+ var PanelBase = styled25.div`
7923
7936
  background: var(--color-card-darker, #111);
7924
7937
  border-radius: 8px;
7925
7938
  padding: 1rem;
7926
7939
  display: flex;
7927
7940
  flex-direction: column;
7928
7941
  `;
7929
- var PanelHeader = styled24.div`
7942
+ var PanelHeader = styled25.div`
7930
7943
  display: flex;
7931
7944
  justify-content: space-between;
7932
7945
  align-items: center;
@@ -7941,32 +7954,32 @@ var PanelHeader = styled24.div`
7941
7954
  }
7942
7955
  span { font-size: 0.75rem; color: var(--color-text-secondary); }
7943
7956
  `;
7944
- var GalleryPanel = styled24(PanelBase)`
7957
+ var GalleryPanel = styled25(PanelBase)`
7945
7958
  min-width: 0; overflow: hidden;
7946
7959
  `;
7947
- var Carousel = styled24.div`
7960
+ var Carousel = styled25.div`
7948
7961
  position: relative; width: 100%; overflow: hidden; border-radius: 8px;
7949
7962
  `;
7950
- var VideoOverlay = styled24.div`
7963
+ var VideoOverlay = styled25.div`
7951
7964
  position: absolute; inset: 0; z-index: 3; background: #000; border-radius: 8px;
7952
7965
  display: flex; align-items: center; justify-content: center;
7953
7966
  `;
7954
- var Track = styled24.div`
7967
+ var Track = styled25.div`
7955
7968
  display: flex; transition: transform 0.4s ease;
7956
7969
  `;
7957
- var Slide = styled24.div`
7970
+ var Slide = styled25.div`
7958
7971
  min-width: 100%; position: relative; cursor: pointer;
7959
7972
  img { width: 100%; height: 315px; object-fit: cover; border-radius: 8px; }
7960
7973
  @media (max-width: 768px) { img { height: 155px; } }
7961
7974
  `;
7962
- var SlideCaption = styled24.div`
7975
+ var SlideCaption = styled25.div`
7963
7976
  position: absolute; bottom: 0; left: 0; right: 0; padding: 1rem;
7964
7977
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
7965
7978
  border-radius: 0 0 8px 8px;
7966
7979
  h4 { margin: 0; font-size: 0.95rem; font-weight: 600; color: #fff; }
7967
7980
  p { margin: 0.25rem 0 0; font-size: 0.75rem; color: rgba(255,255,255,0.7); }
7968
7981
  `;
7969
- var CarouselButton = styled24.button`
7982
+ var CarouselButton = styled25.button`
7970
7983
  position: absolute; top: 50%; transform: translateY(-50%);
7971
7984
  background: rgba(0,0,0,0.8); border: 2px solid rgba(255,255,255,0.3);
7972
7985
  color: white; width: 56px; height: 56px; border-radius: 50%;
@@ -7977,30 +7990,30 @@ var CarouselButton = styled24.button`
7977
7990
  svg { width: 28px; height: 28px; stroke: #fff; }
7978
7991
  @media (max-width: 768px) { width: 36px; height: 36px; svg { width: 18px; height: 18px; } }
7979
7992
  `;
7980
- var ThumbStrip = styled24.div`
7993
+ var ThumbStrip = styled25.div`
7981
7994
  display: flex; align-items: center; gap: 0; margin-top: 1rem;
7982
7995
  `;
7983
- var ThumbScroll = styled24.div`
7996
+ var ThumbScroll = styled25.div`
7984
7997
  display: flex; gap: 0.5rem; overflow-x: auto; flex: 1; min-width: 0;
7985
7998
  padding-bottom: 0.5rem;
7986
7999
  scrollbar-width: none;
7987
8000
  &::-webkit-scrollbar { display: none; }
7988
8001
  `;
7989
- var Thumbnail = styled24.div`
8002
+ var Thumbnail = styled25.div`
7990
8003
  min-width: 60px; height: 45px; border-radius: 4px; overflow: hidden;
7991
8004
  cursor: pointer; border: 2px solid transparent; opacity: 0.6;
7992
8005
  transition: all 0.2s ease; flex-shrink: 0;
7993
8006
  &[data-active='true'] { border-color: #D4AF37; opacity: 1; }
7994
8007
  img { width: 100%; height: 100%; object-fit: cover; }
7995
8008
  `;
7996
- var ThumbDivider = styled24.div`
8009
+ var ThumbDivider = styled25.div`
7997
8010
  width: 1px; height: 36px; background: rgba(255,255,255,0.15);
7998
8011
  margin: 0 0.5rem; flex-shrink: 0; align-self: center;
7999
8012
  `;
8000
- var FixedButtons = styled24.div`
8013
+ var FixedButtons = styled25.div`
8001
8014
  display: flex; gap: 0.4rem; flex-shrink: 0; align-self: center;
8002
8015
  `;
8003
- var FixedBtn = styled24.button`
8016
+ var FixedBtn = styled25.button`
8004
8017
  height: 45px; padding: 0 0.75rem; border-radius: 4px;
8005
8018
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
8006
8019
  cursor: pointer; transition: all 0.2s ease;
@@ -8009,7 +8022,7 @@ var FixedBtn = styled24.button`
8009
8022
  color: ${(p) => p.$active ? "#D4AF37" : "rgba(255,255,255,0.7)"};
8010
8023
  font-size: 0.75rem; font-weight: 500; letter-spacing: 0.02em; white-space: nowrap;
8011
8024
  `;
8012
- var CategoryRow = styled24.div`
8025
+ var CategoryRow = styled25.div`
8013
8026
  display: flex; justify-content: center; gap: 0.5rem; margin-top: 0.75rem;
8014
8027
  overflow-x: auto; -webkit-overflow-scrolling: touch;
8015
8028
  scrollbar-width: none; &::-webkit-scrollbar { display: none; }
@@ -8021,14 +8034,14 @@ var CategoryRow = styled24.div`
8021
8034
  }
8022
8035
  button[data-active='true'] { background: rgba(212,175,55,0.2); border-color: #D4AF37; color: #D4AF37; }
8023
8036
  `;
8024
- var MapPanel = styled24(PanelBase)`
8037
+ var MapPanel = styled25(PanelBase)`
8025
8038
  min-height: 280px; padding: 1.5rem;
8026
8039
  min-width: 0; overflow: hidden;
8027
8040
  `;
8028
- var MapFrame = styled24.div`
8041
+ var MapFrame = styled25.div`
8029
8042
  flex: 1; border-radius: 6px; overflow: hidden; min-height: 280px; position: relative;
8030
8043
  `;
8031
- var IframeShield = styled24.div`
8044
+ var IframeShield = styled25.div`
8032
8045
  position: absolute; inset: 0; z-index: 1; cursor: pointer;
8033
8046
  `;
8034
8047
  var BedIcon = /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
@@ -8241,43 +8254,43 @@ function PropertyOverview({
8241
8254
  ] })
8242
8255
  ] });
8243
8256
  }
8244
- var TopGrid = styled24.div`
8257
+ var TopGrid = styled25.div`
8245
8258
  display: grid;
8246
8259
  grid-template-columns: 1fr 1fr;
8247
8260
  gap: 2rem;
8248
8261
  margin-bottom: 2rem;
8249
8262
  @media (max-width: 768px) { grid-template-columns: 1fr; }
8250
8263
  `;
8251
- var Panel = styled24.div`
8264
+ var Panel = styled25.div`
8252
8265
  background: #111;
8253
8266
  border-radius: 12px;
8254
8267
  padding: 1.5rem;
8255
8268
  `;
8256
- var PanelHeading = styled24.h2`
8269
+ var PanelHeading = styled25.h2`
8257
8270
  font-size: 1.25rem;
8258
8271
  margin-bottom: 1rem;
8259
8272
  color: #fff;
8260
8273
  font-weight: 600;
8261
8274
  `;
8262
- var DescriptionWrap = styled24.div`
8275
+ var DescriptionWrap = styled25.div`
8263
8276
  position: relative;
8264
8277
  max-height: ${(p) => p.$expanded ? "2000px" : "150px"};
8265
8278
  overflow: hidden;
8266
8279
  transition: max-height 0.3s ease;
8267
8280
  `;
8268
- var DescFade = styled24.div`
8281
+ var DescFade = styled25.div`
8269
8282
  position: absolute;
8270
8283
  bottom: 0; left: 0; right: 0;
8271
8284
  height: 60px;
8272
8285
  background: linear-gradient(to bottom, rgba(17,17,17,0), #111);
8273
8286
  pointer-events: none;
8274
8287
  `;
8275
- var ButtonRow = styled24.div`
8288
+ var ButtonRow = styled25.div`
8276
8289
  margin-top: 1.5rem;
8277
8290
  display: flex;
8278
8291
  gap: 0.75rem;
8279
8292
  `;
8280
- var OutlineBtn = styled24.button`
8293
+ var OutlineBtn = styled25.button`
8281
8294
  padding: 0.55rem 1.35rem;
8282
8295
  border-radius: 10px;
8283
8296
  border: 1px solid rgba(255,255,255,0.28);
@@ -8287,7 +8300,7 @@ var OutlineBtn = styled24.button`
8287
8300
  font-weight: 600;
8288
8301
  cursor: pointer;
8289
8302
  `;
8290
- var PrimaryBtn = styled24.button`
8303
+ var PrimaryBtn = styled25.button`
8291
8304
  padding: 0.75rem 1.5rem;
8292
8305
  border-radius: 4px;
8293
8306
  border: none;
@@ -8297,26 +8310,26 @@ var PrimaryBtn = styled24.button`
8297
8310
  font-weight: 600;
8298
8311
  cursor: pointer;
8299
8312
  `;
8300
- var FinancialGrid = styled24.div`
8313
+ var FinancialGrid = styled25.div`
8301
8314
  display: grid;
8302
8315
  grid-template-columns: 1fr 1fr;
8303
8316
  gap: 0.75rem;
8304
8317
  `;
8305
- var FinancialCard = styled24.div`
8318
+ var FinancialCard = styled25.div`
8306
8319
  background: rgba(255,255,255,0.03);
8307
8320
  border-radius: 10px;
8308
8321
  padding: 1rem 1.25rem;
8309
8322
  border: 1px solid ${(p) => p.$gold ? "rgba(212,175,55,0.3)" : "rgba(255,255,255,0.06)"};
8310
8323
  position: relative;
8311
8324
  `;
8312
- var BadgeSpan = styled24.span`
8325
+ var BadgeSpan = styled25.span`
8313
8326
  position: absolute;
8314
8327
  top: 0.5rem; right: 0.75rem;
8315
8328
  font-size: 0.65rem;
8316
8329
  color: #4CAF50;
8317
8330
  display: flex; align-items: center; gap: 4px;
8318
8331
  `;
8319
- var FinancialLabel = styled24.div`
8332
+ var FinancialLabel = styled25.div`
8320
8333
  font-size: 0.65rem;
8321
8334
  color: ${(p) => p.$gold ? "#D4AF37" : "rgba(255,255,255,0.6)"};
8322
8335
  text-transform: uppercase;
@@ -8324,49 +8337,49 @@ var FinancialLabel = styled24.div`
8324
8337
  margin-bottom: 0.4rem;
8325
8338
  font-weight: 500;
8326
8339
  `;
8327
- var FinancialValue = styled24.div`
8340
+ var FinancialValue = styled25.div`
8328
8341
  font-size: 1.25rem;
8329
8342
  font-weight: 700;
8330
8343
  color: ${(p) => p.$gold ? "#D4AF37" : "#fff"};
8331
8344
  line-height: 1;
8332
8345
  `;
8333
- var AssetDetailsPanel = styled24.div`
8346
+ var AssetDetailsPanel = styled25.div`
8334
8347
  margin-bottom: 2rem; background: #111; border-radius: 12px; padding: 1.5rem;
8335
8348
  `;
8336
- var AssetPanelsGrid = styled24.div`
8349
+ var AssetPanelsGrid = styled25.div`
8337
8350
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem;
8338
8351
  @media (max-width: 768px) { grid-template-columns: 1fr; }
8339
8352
  `;
8340
- var MetricsPanel = styled24.div`
8353
+ var MetricsPanel = styled25.div`
8341
8354
  background: rgba(255,255,255,0.03); border-radius: 12px;
8342
8355
  border: 1px solid rgba(255,255,255,0.06); padding: 1.25rem 1.5rem; overflow: hidden;
8343
8356
  `;
8344
- var InfoPanel = styled24(MetricsPanel)``;
8345
- var MetricsPanelTitle = styled24.div`
8357
+ var InfoPanel = styled25(MetricsPanel)``;
8358
+ var MetricsPanelTitle = styled25.div`
8346
8359
  font-size: 0.65rem; color: #D4AF37; text-transform: uppercase;
8347
8360
  letter-spacing: 0.12em; font-weight: 600; margin-bottom: 1rem;
8348
8361
  padding-bottom: 0.75rem; border-bottom: 1px solid rgba(255,255,255,0.06);
8349
8362
  `;
8350
- var LandFloorCard = styled24.div`
8363
+ var LandFloorCard = styled25.div`
8351
8364
  background: linear-gradient(135deg, rgba(212,175,55,0.12), rgba(184,134,11,0.06));
8352
8365
  border-radius: 10px; padding: 0.85rem 1rem;
8353
8366
  border: 1px solid rgba(212,175,55,0.25);
8354
8367
  display: flex; gap: 1rem; margin-bottom: 0.75rem;
8355
8368
  `;
8356
- var MetricLabel = styled24.div`
8369
+ var MetricLabel = styled25.div`
8357
8370
  font-size: 0.65rem; color: #D4AF37; text-transform: uppercase;
8358
8371
  letter-spacing: 0.1em; margin-bottom: 0.4rem; font-weight: 500;
8359
8372
  `;
8360
- var MetricValueRow = styled24.div`
8373
+ var MetricValueRow = styled25.div`
8361
8374
  display: flex; align-items: baseline; gap: 0.25rem;
8362
8375
  `;
8363
- var MetricBig = styled24.span`
8376
+ var MetricBig = styled25.span`
8364
8377
  font-size: 1.5rem; font-weight: 700; color: #D4AF37; line-height: 1;
8365
8378
  `;
8366
- var MetricUnit = styled24.span`
8379
+ var MetricUnit = styled25.span`
8367
8380
  font-size: 0.7rem; color: rgba(212,175,55,0.7); font-weight: 500;
8368
8381
  `;
8369
- var FeaturesGrid = styled24.div`
8382
+ var FeaturesGrid = styled25.div`
8370
8383
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem;
8371
8384
  @media (max-width: 768px) { grid-template-columns: repeat(2, 1fr); }
8372
8385
  `;
@@ -8451,7 +8464,7 @@ function PropertyOffers({ offers }) {
8451
8464
  )) })
8452
8465
  ] });
8453
8466
  }
8454
- var OfferPricePulse = styled24.span`
8467
+ var OfferPricePulse = styled25.span`
8455
8468
  width: 8px;
8456
8469
  height: 8px;
8457
8470
  border-radius: 999px;
@@ -8853,7 +8866,7 @@ function generateMockPastSales() {
8853
8866
  }
8854
8867
  ];
8855
8868
  }
8856
- var FilterButtonsContainer = styled24.div`
8869
+ var FilterButtonsContainer = styled25.div`
8857
8870
  display: flex;
8858
8871
  gap: 0.5rem;
8859
8872
  flex-wrap: wrap;
@@ -8862,7 +8875,7 @@ var FilterButtonsContainer = styled24.div`
8862
8875
  gap: 0.25rem;
8863
8876
  }
8864
8877
  `;
8865
- var FilterButton = styled24.button`
8878
+ var FilterButton = styled25.button`
8866
8879
  background-color: ${(props) => props.$active ? "var(--color-accent, #f0b90b)" : "transparent"};
8867
8880
  color: ${(props) => props.$active ? "#000" : "#fff"};
8868
8881
  border: 1px solid var(--color-accent, #f0b90b);
@@ -8881,7 +8894,7 @@ var FilterButton = styled24.button`
8881
8894
  font-size: 0.75rem;
8882
8895
  }
8883
8896
  `;
8884
- var HistoryContainer = styled24.div`
8897
+ var HistoryContainer = styled25.div`
8885
8898
  display: flex;
8886
8899
  flex-direction: column;
8887
8900
  gap: 1.5rem;
@@ -8898,7 +8911,7 @@ var HistoryContainer = styled24.div`
8898
8911
  z-index: 0;
8899
8912
  }
8900
8913
  `;
8901
- var HistoryPanel = styled24.div`
8914
+ var HistoryPanel = styled25.div`
8902
8915
  margin-bottom: 1.5rem;
8903
8916
  margin-left: 2rem;
8904
8917
  border: 1px solid rgba(240, 185, 11, 0.15);
@@ -8940,7 +8953,7 @@ var HistoryPanel = styled24.div`
8940
8953
  }
8941
8954
  `}
8942
8955
  `;
8943
- var LeaseSection = styled24.div`
8956
+ var LeaseSection = styled25.div`
8944
8957
  margin: 0.3rem 1rem;
8945
8958
  padding: 0.3rem 1rem 0.3rem;
8946
8959
  background-color: rgba(30, 32, 38, 0.2);
@@ -8958,7 +8971,7 @@ var LeaseSection = styled24.div`
8958
8971
  background-color: rgba(255, 255, 255, 0.15);
8959
8972
  }
8960
8973
  `;
8961
- var HistoryRow = styled24.tr`
8974
+ var HistoryRow = styled25.tr`
8962
8975
  background-color: ${(props) => props.$isOwnershipStart ? "rgba(240, 185, 11, 0.05)" : "transparent"};
8963
8976
 
8964
8977
  td {
@@ -8975,7 +8988,7 @@ var HistoryRow = styled24.tr`
8975
8988
  background-color: rgba(255, 255, 255, 0.08);
8976
8989
  }
8977
8990
  `;
8978
- var TypeBadge = styled24.span`
8991
+ var TypeBadge = styled25.span`
8979
8992
  display: inline-block;
8980
8993
  padding: 0.25rem 0.5rem;
8981
8994
  border-radius: 4px;
@@ -9025,13 +9038,13 @@ var TypeBadge = styled24.span`
9025
9038
  font-size: 0.65rem;
9026
9039
  }
9027
9040
  `;
9028
- var PastSalesSection = styled24.div`
9041
+ var PastSalesSection = styled25.div`
9029
9042
  background-color: rgba(30, 32, 38, 0.95);
9030
9043
  border-radius: 8px;
9031
9044
  padding: 1.25rem;
9032
9045
  margin-bottom: 1.5rem;
9033
9046
  `;
9034
- var SalesTable = styled24.table`
9047
+ var SalesTable = styled25.table`
9035
9048
  width: 100%;
9036
9049
  border-collapse: collapse;
9037
9050
  table-layout: fixed;
@@ -9109,13 +9122,13 @@ function PropertyDocuments({ documentsData }) {
9109
9122
  }) })
9110
9123
  ] });
9111
9124
  }
9112
- var Section = styled24.section`
9125
+ var Section = styled25.section`
9113
9126
  background: var(--color-card, rgba(30, 35, 41, 0.8));
9114
9127
  border-radius: 12px;
9115
9128
  padding: 1.5rem;
9116
9129
  margin-bottom: 1.5rem;
9117
9130
  `;
9118
- var SectionHeading = styled24.h2`
9131
+ var SectionHeading = styled25.h2`
9119
9132
  font-size: 0.9rem;
9120
9133
  font-weight: 600;
9121
9134
  padding-bottom: 0.75rem;
@@ -9126,12 +9139,12 @@ var SectionHeading = styled24.h2`
9126
9139
  align-items: center;
9127
9140
  gap: 0.5rem;
9128
9141
  `;
9129
- var DocList = styled24.ul`
9142
+ var DocList = styled25.ul`
9130
9143
  list-style: none;
9131
9144
  padding: 0;
9132
9145
  margin: 0;
9133
9146
  `;
9134
- var DocItem = styled24.li`
9147
+ var DocItem = styled25.li`
9135
9148
  padding: 0.75rem 0;
9136
9149
  border-bottom: 1px solid var(--color-border, rgba(255, 255, 255, 0.1));
9137
9150
 
@@ -9139,7 +9152,7 @@ var DocItem = styled24.li`
9139
9152
  border-bottom: none;
9140
9153
  }
9141
9154
  `;
9142
- var DocLink = styled24.a`
9155
+ var DocLink = styled25.a`
9143
9156
  display: flex;
9144
9157
  align-items: center;
9145
9158
  color: var(--color-text);
@@ -9150,19 +9163,19 @@ var DocLink = styled24.a`
9150
9163
  color: var(--color-accent);
9151
9164
  }
9152
9165
  `;
9153
- var DocItemDisabled = styled24.div`
9166
+ var DocItemDisabled = styled25.div`
9154
9167
  display: flex;
9155
9168
  align-items: center;
9156
9169
  color: var(--color-text-secondary);
9157
9170
  cursor: not-allowed;
9158
9171
  opacity: 0.6;
9159
9172
  `;
9160
- var DocIconWrapper = styled24.span`
9173
+ var DocIconWrapper = styled25.span`
9161
9174
  margin-right: 0.75rem;
9162
9175
  flex-shrink: 0;
9163
9176
  color: var(--color-text-secondary);
9164
9177
  `;
9165
- var ComingSoonBadge = styled24.span`
9178
+ var ComingSoonBadge = styled25.span`
9166
9179
  margin-left: auto;
9167
9180
  padding: 0.25rem 0.5rem;
9168
9181
  background: rgba(212, 175, 55, 0.1);
@@ -9244,13 +9257,13 @@ function PropertyInspectionTimes({
9244
9257
  ] })
9245
9258
  ] });
9246
9259
  }
9247
- var Section2 = styled24.section`
9260
+ var Section2 = styled25.section`
9248
9261
  background: var(--color-card, rgba(30, 35, 41, 0.8));
9249
9262
  border-radius: 12px;
9250
9263
  padding: 1.5rem;
9251
9264
  margin-bottom: 1.5rem;
9252
9265
  `;
9253
- var SectionHeading2 = styled24.h2`
9266
+ var SectionHeading2 = styled25.h2`
9254
9267
  font-size: 0.9rem;
9255
9268
  font-weight: 600;
9256
9269
  padding-bottom: 0.75rem;
@@ -9261,17 +9274,17 @@ var SectionHeading2 = styled24.h2`
9261
9274
  align-items: center;
9262
9275
  gap: 0.5rem;
9263
9276
  `;
9264
- var Intro = styled24.p`
9277
+ var Intro = styled25.p`
9265
9278
  font-size: 0.9rem;
9266
9279
  color: var(--color-text-secondary);
9267
9280
  margin-bottom: 1.5rem;
9268
9281
  `;
9269
- var SlotList = styled24.div`
9282
+ var SlotList = styled25.div`
9270
9283
  display: flex;
9271
9284
  flex-direction: column;
9272
9285
  gap: 0.75rem;
9273
9286
  `;
9274
- var SlotRow = styled24.div`
9287
+ var SlotRow = styled25.div`
9275
9288
  display: flex;
9276
9289
  justify-content: space-between;
9277
9290
  align-items: center;
@@ -9280,27 +9293,27 @@ var SlotRow = styled24.div`
9280
9293
  border-radius: 8px;
9281
9294
  border: 1px solid rgba(255, 255, 255, 0.06);
9282
9295
  `;
9283
- var SlotInfo = styled24.div``;
9284
- var SlotDate = styled24.div`
9296
+ var SlotInfo = styled25.div``;
9297
+ var SlotDate = styled25.div`
9285
9298
  font-size: 0.9rem;
9286
9299
  font-weight: 600;
9287
9300
  color: var(--color-text);
9288
9301
  margin-bottom: 0.25rem;
9289
9302
  `;
9290
- var SlotTime = styled24.div`
9303
+ var SlotTime = styled25.div`
9291
9304
  font-size: 0.8rem;
9292
9305
  color: var(--color-text-secondary);
9293
9306
  `;
9294
- var SlotActions = styled24.div`
9307
+ var SlotActions = styled25.div`
9295
9308
  display: flex;
9296
9309
  align-items: center;
9297
9310
  gap: 1rem;
9298
9311
  `;
9299
- var SpotsLeft = styled24.span`
9312
+ var SpotsLeft = styled25.span`
9300
9313
  font-size: 0.75rem;
9301
9314
  color: ${({ $low }) => $low ? "#f6465d" : "var(--color-text-secondary)"};
9302
9315
  `;
9303
- var BookButton = styled24.button`
9316
+ var BookButton = styled25.button`
9304
9317
  padding: 0.4rem 1rem;
9305
9318
  background: transparent;
9306
9319
  border: 1px solid var(--color-accent, #f0b90b);
@@ -9320,7 +9333,7 @@ var BookButton = styled24.button`
9320
9333
  cursor: not-allowed;
9321
9334
  }
9322
9335
  `;
9323
- var StatusMessage2 = styled24.div`
9336
+ var StatusMessage2 = styled25.div`
9324
9337
  font-size: 0.85rem;
9325
9338
  padding: 0.75rem 1rem;
9326
9339
  border-radius: 6px;
@@ -9328,7 +9341,7 @@ var StatusMessage2 = styled24.div`
9328
9341
  background: ${({ $error }) => $error ? "rgba(246,70,93,0.08)" : "rgba(255,255,255,0.03)"};
9329
9342
  border: 1px solid ${({ $error }) => $error ? "rgba(246,70,93,0.2)" : "rgba(255,255,255,0.06)"};
9330
9343
  `;
9331
- var RetryButton = styled24.button`
9344
+ var RetryButton = styled25.button`
9332
9345
  margin-left: 0.5rem;
9333
9346
  text-decoration: underline;
9334
9347
  cursor: pointer;
@@ -9336,13 +9349,13 @@ var RetryButton = styled24.button`
9336
9349
  border: none;
9337
9350
  color: inherit;
9338
9351
  `;
9339
- var Disclaimer = styled24.p`
9352
+ var Disclaimer = styled25.p`
9340
9353
  font-size: 0.75rem;
9341
9354
  color: var(--color-text-secondary);
9342
9355
  margin-top: 0.5rem;
9343
9356
  text-align: center;
9344
9357
  `;
9345
- var SignInPrompt = styled24.div`
9358
+ var SignInPrompt = styled25.div`
9346
9359
  display: flex;
9347
9360
  align-items: center;
9348
9361
  justify-content: space-between;
@@ -9351,18 +9364,18 @@ var SignInPrompt = styled24.div`
9351
9364
  border-radius: 8px;
9352
9365
  border: 1px solid rgba(255, 255, 255, 0.06);
9353
9366
  `;
9354
- var SignInText = styled24.div``;
9355
- var SignInTitle = styled24.div`
9367
+ var SignInText = styled25.div``;
9368
+ var SignInTitle = styled25.div`
9356
9369
  font-size: 0.95rem;
9357
9370
  font-weight: 600;
9358
9371
  color: var(--color-text);
9359
9372
  margin-bottom: 0.25rem;
9360
9373
  `;
9361
- var SignInSub = styled24.div`
9374
+ var SignInSub = styled25.div`
9362
9375
  font-size: 0.8rem;
9363
9376
  color: var(--color-text-secondary);
9364
9377
  `;
9365
- var SignInButton = styled24.button`
9378
+ var SignInButton = styled25.button`
9366
9379
  padding: 0.5rem 1.25rem;
9367
9380
  background: transparent;
9368
9381
  border: 1px solid var(--color-accent, #f0b90b);
@@ -9378,6 +9391,191 @@ var SignInButton = styled24.button`
9378
9391
  background: rgba(240, 185, 11, 0.1);
9379
9392
  }
9380
9393
  `;
9394
+ var slideIn = keyframes`
9395
+ from { transform: translateX(110%); opacity: 0; }
9396
+ to { transform: translateX(0); opacity: 1; }
9397
+ `;
9398
+ var slideOut = keyframes`
9399
+ from { transform: translateX(0); opacity: 1; }
9400
+ to { transform: translateX(110%); opacity: 0; }
9401
+ `;
9402
+ var progressShrink = keyframes`
9403
+ from { width: 100%; }
9404
+ to { width: 0%; }
9405
+ `;
9406
+ var VARIANT_COLORS = {
9407
+ success: { accent: "#0ecb81", icon: "\u2713" },
9408
+ error: { accent: "#f6465d", icon: "\u2715" },
9409
+ info: { accent: "#E6C656", icon: "\u2139" },
9410
+ pending: { accent: "#7EB3E6", icon: "\u25CC" }
9411
+ };
9412
+ var Wrapper = styled25.div`
9413
+ position: relative;
9414
+ display: flex;
9415
+ flex-direction: column;
9416
+ gap: 0;
9417
+ width: 340px;
9418
+ background: #0d0f1a;
9419
+ border: 1px solid rgba(255, 255, 255, 0.08);
9420
+ border-radius: 10px;
9421
+ overflow: hidden;
9422
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255,255,255,0.04);
9423
+ animation: ${({ $exiting }) => $exiting ? css`${slideOut} 0.28s cubic-bezier(0.4,0,1,1) forwards` : css`${slideIn} 0.32s cubic-bezier(0,0,0.2,1) forwards`};
9424
+ pointer-events: all;
9425
+ `;
9426
+ var Body = styled25.div`
9427
+ display: flex;
9428
+ align-items: flex-start;
9429
+ gap: 12px;
9430
+ padding: 14px 16px 12px;
9431
+ `;
9432
+ var IconDot = styled25.div`
9433
+ flex-shrink: 0;
9434
+ width: 28px;
9435
+ height: 28px;
9436
+ border-radius: 50%;
9437
+ background: ${({ $color }) => $color}1a;
9438
+ border: 1px solid ${({ $color }) => $color}55;
9439
+ display: flex;
9440
+ align-items: center;
9441
+ justify-content: center;
9442
+ font-size: 0.75rem;
9443
+ font-weight: 700;
9444
+ color: ${({ $color }) => $color};
9445
+ margin-top: 1px;
9446
+ `;
9447
+ var Content = styled25.div`
9448
+ flex: 1;
9449
+ min-width: 0;
9450
+ `;
9451
+ var Title2 = styled25.p`
9452
+ margin: 0 0 2px;
9453
+ font-size: 0.8rem;
9454
+ font-weight: 600;
9455
+ color: #fff;
9456
+ letter-spacing: 0.01em;
9457
+ `;
9458
+ var Amount = styled25.p`
9459
+ margin: 0 0 6px;
9460
+ font-size: 1.05rem;
9461
+ font-weight: 700;
9462
+ color: #E6C656;
9463
+ letter-spacing: -0.01em;
9464
+ `;
9465
+ var TxRow = styled25.a`
9466
+ display: inline-flex;
9467
+ align-items: center;
9468
+ gap: 5px;
9469
+ font-family: 'IBM Plex Mono', 'Space Mono', monospace;
9470
+ font-size: 0.68rem;
9471
+ color: rgba(255, 255, 255, 0.4);
9472
+ text-decoration: none;
9473
+ transition: color 0.15s;
9474
+ &:hover {
9475
+ color: #7EB3E6;
9476
+ }
9477
+ `;
9478
+ var TxArrow = styled25.span`
9479
+ font-size: 0.6rem;
9480
+ opacity: 0.6;
9481
+ `;
9482
+ var CloseBtn = styled25.button`
9483
+ flex-shrink: 0;
9484
+ background: none;
9485
+ border: none;
9486
+ padding: 2px 4px;
9487
+ cursor: pointer;
9488
+ color: rgba(255, 255, 255, 0.25);
9489
+ font-size: 0.9rem;
9490
+ line-height: 1;
9491
+ transition: color 0.15s;
9492
+ &:hover { color: rgba(255, 255, 255, 0.7); }
9493
+ `;
9494
+ var ProgressBar = styled25.div`
9495
+ height: 2px;
9496
+ background: rgba(255, 255, 255, 0.06);
9497
+ position: relative;
9498
+ &::after {
9499
+ content: '';
9500
+ position: absolute;
9501
+ left: 0;
9502
+ top: 0;
9503
+ height: 100%;
9504
+ background: ${({ $color }) => $color};
9505
+ animation: ${css`${progressShrink} ${({ $duration }) => $duration}ms linear forwards`};
9506
+ }
9507
+ `;
9508
+ var Container = styled25.div`
9509
+ position: fixed;
9510
+ bottom: 24px;
9511
+ right: 24px;
9512
+ z-index: 9999;
9513
+ display: flex;
9514
+ flex-direction: column-reverse;
9515
+ gap: 10px;
9516
+ pointer-events: none;
9517
+ `;
9518
+ var DEFAULT_EXPLORER = "https://sepolia.basescan.org/tx/";
9519
+ function truncateHash(hash) {
9520
+ return `${hash.slice(0, 6)}\u2026${hash.slice(-4)}`;
9521
+ }
9522
+ function ToastItem({ toast, onDismiss }) {
9523
+ const [exiting, setExiting] = useState(false);
9524
+ const timerRef = useRef(null);
9525
+ const dismiss = useCallback(() => {
9526
+ setExiting(true);
9527
+ setTimeout(() => onDismiss(toast.id), 280);
9528
+ }, [onDismiss, toast.id]);
9529
+ useEffect(() => {
9530
+ const duration2 = toast.duration ?? 6e3;
9531
+ if (duration2 > 0) {
9532
+ timerRef.current = setTimeout(dismiss, duration2);
9533
+ }
9534
+ return () => {
9535
+ if (timerRef.current) clearTimeout(timerRef.current);
9536
+ };
9537
+ }, [dismiss, toast.duration]);
9538
+ const { accent, icon } = VARIANT_COLORS[toast.variant];
9539
+ const duration = toast.duration ?? 6e3;
9540
+ const explorerBase = toast.explorerUrl ?? DEFAULT_EXPLORER;
9541
+ const txUrl = toast.txHash ? `${explorerBase}${toast.txHash}` : void 0;
9542
+ return /* @__PURE__ */ jsxs(Wrapper, { $exiting: exiting, children: [
9543
+ /* @__PURE__ */ jsxs(Body, { children: [
9544
+ /* @__PURE__ */ jsx(IconDot, { $color: accent, children: icon }),
9545
+ /* @__PURE__ */ jsxs(Content, { children: [
9546
+ /* @__PURE__ */ jsx(Title2, { children: toast.title }),
9547
+ toast.amount && /* @__PURE__ */ jsx(Amount, { children: toast.amount }),
9548
+ toast.txHash && txUrl && /* @__PURE__ */ jsxs(TxRow, { href: txUrl, target: "_blank", rel: "noopener noreferrer", children: [
9549
+ truncateHash(toast.txHash),
9550
+ /* @__PURE__ */ jsx(TxArrow, { children: "\u2197" })
9551
+ ] })
9552
+ ] }),
9553
+ /* @__PURE__ */ jsx(CloseBtn, { type: "button", onClick: dismiss, "aria-label": "Dismiss", children: "\u2715" })
9554
+ ] }),
9555
+ duration > 0 && /* @__PURE__ */ jsx(ProgressBar, { $color: accent, $duration: duration })
9556
+ ] });
9557
+ }
9558
+ var ToastContext = createContext(null);
9559
+ function ToastProvider({ children }) {
9560
+ const [toasts, setToasts] = useState([]);
9561
+ const addToast = useCallback((data) => {
9562
+ const id = `toast-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;
9563
+ setToasts((prev) => [...prev, { ...data, id }]);
9564
+ return id;
9565
+ }, []);
9566
+ const dismiss = useCallback((id) => {
9567
+ setToasts((prev) => prev.filter((t) => t.id !== id));
9568
+ }, []);
9569
+ return /* @__PURE__ */ jsxs(ToastContext.Provider, { value: { toast: addToast, dismiss }, children: [
9570
+ children,
9571
+ /* @__PURE__ */ jsx(Container, { children: toasts.map((t) => /* @__PURE__ */ jsx(ToastItem, { toast: t, onDismiss: dismiss }, t.id)) })
9572
+ ] });
9573
+ }
9574
+ function useToast() {
9575
+ const ctx = useContext(ToastContext);
9576
+ if (!ctx) throw new Error("useToast must be used within a ToastProvider");
9577
+ return ctx;
9578
+ }
9381
9579
  function AssetSelectorBar({
9382
9580
  propertyName,
9383
9581
  tokenPrice,
@@ -9454,10 +9652,10 @@ function AssetSelectorBar({
9454
9652
  }) })
9455
9653
  ] }) });
9456
9654
  }
9457
- var AssetSelectorWrapper = styled24.div`
9655
+ var AssetSelectorWrapper = styled25.div`
9458
9656
  width: 100%;
9459
9657
  `;
9460
- var IPOAssetSelector = styled24.div`
9658
+ var IPOAssetSelector = styled25.div`
9461
9659
  position: relative;
9462
9660
  display: flex;
9463
9661
  justify-content: space-between;
@@ -9482,7 +9680,7 @@ var IPOAssetSelector = styled24.div`
9482
9680
  padding: 0.6rem 0.75rem;
9483
9681
  }
9484
9682
  `;
9485
- var AssetSelectorDropdown = styled24.div`
9683
+ var AssetSelectorDropdown = styled25.div`
9486
9684
  display: flex;
9487
9685
  align-items: center;
9488
9686
  cursor: pointer;
@@ -9491,7 +9689,7 @@ var AssetSelectorDropdown = styled24.div`
9491
9689
  transition: all 0.2s ease;
9492
9690
  &:hover { background-color: rgba(255,255,255,0.05); }
9493
9691
  `;
9494
- var AssetName = styled24.div`
9692
+ var AssetName = styled25.div`
9495
9693
  display: flex;
9496
9694
  align-items: center;
9497
9695
  font-weight: 600;
@@ -9510,7 +9708,7 @@ var AssetName = styled24.div`
9510
9708
  svg { margin-left: 0.4rem; width: 16px; height: 16px; }
9511
9709
  }
9512
9710
  `;
9513
- var SelectorMetrics = styled24.div`
9711
+ var SelectorMetrics = styled25.div`
9514
9712
  display: flex;
9515
9713
  align-items: center;
9516
9714
  gap: 1rem;
@@ -9535,7 +9733,7 @@ var SelectorMetrics = styled24.div`
9535
9733
  gap: 0.5rem;
9536
9734
  }
9537
9735
  `;
9538
- var MetricLabel2 = styled24.span`
9736
+ var MetricLabel2 = styled25.span`
9539
9737
  font-size: 0.75rem;
9540
9738
  color: var(--color-text-secondary);
9541
9739
  text-transform: uppercase;
@@ -9548,7 +9746,7 @@ var MetricLabel2 = styled24.span`
9548
9746
  margin-right: 0.35rem;
9549
9747
  }
9550
9748
  `;
9551
- var MetricValue = styled24.span`
9749
+ var MetricValue = styled25.span`
9552
9750
  font-size: 1.25rem;
9553
9751
  font-weight: 700;
9554
9752
  color: ${(p) => p.$accent ? "#D4AF37" : "#fff"};
@@ -9561,7 +9759,7 @@ var MetricValue = styled24.span`
9561
9759
  font-size: 0.95rem;
9562
9760
  }
9563
9761
  `;
9564
- var MetricChange = styled24.span`
9762
+ var MetricChange = styled25.span`
9565
9763
  font-size: 0.85rem;
9566
9764
  font-weight: 600;
9567
9765
  color: ${(p) => p.$positive ? "var(--color-positive, #0ecb81)" : "var(--color-negative, #f6465d)"};
@@ -9573,12 +9771,12 @@ var MetricChange = styled24.span`
9573
9771
  font-size: 0.75rem;
9574
9772
  }
9575
9773
  `;
9576
- var Separator = styled24.span`
9774
+ var Separator = styled25.span`
9577
9775
  font-size: 1rem;
9578
9776
  color: rgba(255,255,255,0.2);
9579
9777
  font-weight: 300;
9580
9778
  `;
9581
- var IPODropdown = styled24.div`
9779
+ var IPODropdown = styled25.div`
9582
9780
  position: absolute;
9583
9781
  top: calc(100% + 12px);
9584
9782
  left: 0;
@@ -9601,7 +9799,7 @@ var IPODropdown = styled24.div`
9601
9799
  to { opacity: 1; transform: translateY(0); }
9602
9800
  }
9603
9801
  `;
9604
- var IPOOption = styled24.div`
9802
+ var IPOOption = styled25.div`
9605
9803
  padding: 1.25rem 1.5rem;
9606
9804
  transition: all 0.2s ease;
9607
9805
  border-bottom: 1px solid rgba(255,255,255,0.03);
@@ -9620,13 +9818,13 @@ var IPOOption = styled24.div`
9620
9818
  &:hover { background: linear-gradient(90deg, rgba(255,255,255,0.06) 0%, transparent 100%); }
9621
9819
  ${(p) => p.$selected && `background: linear-gradient(90deg, rgba(56,97,251,0.15) 0%, transparent 100%);`}
9622
9820
  `;
9623
- var IPOOptionName = styled24.div`
9821
+ var IPOOptionName = styled25.div`
9624
9822
  font-weight: 600;
9625
9823
  font-size: 1rem;
9626
9824
  color: #ffffff;
9627
9825
  margin-bottom: 0.35rem;
9628
9826
  `;
9629
- var IPOOptionLocation = styled24.div`
9827
+ var IPOOptionLocation = styled25.div`
9630
9828
  font-size: 0.875rem;
9631
9829
  color: rgba(255,255,255,0.5);
9632
9830
  span {
@@ -9684,7 +9882,7 @@ function OfferingProgressCard({
9684
9882
  const interval = setInterval(() => setCountdown(calculateCountdown()), 1e3);
9685
9883
  return () => clearInterval(interval);
9686
9884
  }, [opensAt]);
9687
- return /* @__PURE__ */ jsxs(Container, { children: [
9885
+ return /* @__PURE__ */ jsxs(Container2, { children: [
9688
9886
  /* @__PURE__ */ jsxs(Header2, { children: [
9689
9887
  /* @__PURE__ */ jsxs("h3", { children: [
9690
9888
  /* @__PURE__ */ jsx(FaChartLine, {}),
@@ -9785,7 +9983,7 @@ function OfferingProgressCard({
9785
9983
  ] })
9786
9984
  ] });
9787
9985
  }
9788
- var Container = styled24.div`
9986
+ var Container2 = styled25.div`
9789
9987
  background-color: var(--color-card-darker, #111);
9790
9988
  border-radius: 8px;
9791
9989
  padding: 1.5rem;
@@ -9798,7 +9996,7 @@ var Container = styled24.div`
9798
9996
  padding: 1rem;
9799
9997
  }
9800
9998
  `;
9801
- var Header2 = styled24.div`
9999
+ var Header2 = styled25.div`
9802
10000
  display: flex;
9803
10001
  align-items: center;
9804
10002
  justify-content: space-between;
@@ -9815,7 +10013,7 @@ var Header2 = styled24.div`
9815
10013
  margin: 0;
9816
10014
  }
9817
10015
  `;
9818
- var StatusSpan = styled24.span`
10016
+ var StatusSpan = styled25.span`
9819
10017
  display: flex;
9820
10018
  align-items: center;
9821
10019
  gap: 0.35rem;
@@ -9831,7 +10029,7 @@ var StatusSpan = styled24.span`
9831
10029
  letter-spacing: 0.05em;
9832
10030
  }
9833
10031
  `;
9834
- var StatusDot = styled24.span`
10032
+ var StatusDot = styled25.span`
9835
10033
  width: 6px;
9836
10034
  height: 6px;
9837
10035
  border-radius: 50%;
@@ -9843,10 +10041,10 @@ var StatusDot = styled24.span`
9843
10041
  100% { opacity: 0.4; }
9844
10042
  }
9845
10043
  `;
9846
- var PreLiveBody = styled24.div`
10044
+ var PreLiveBody = styled25.div`
9847
10045
  padding: 1.25rem 0;
9848
10046
  `;
9849
- var PreLiveStatus = styled24.div`
10047
+ var PreLiveStatus = styled25.div`
9850
10048
  font-size: 0.7rem;
9851
10049
  color: ${(p) => p.$statusColor};
9852
10050
  text-transform: uppercase;
@@ -9855,33 +10053,33 @@ var PreLiveStatus = styled24.div`
9855
10053
  text-align: center;
9856
10054
  margin-bottom: 1.25rem;
9857
10055
  `;
9858
- var MetricsRow = styled24.div`
10056
+ var MetricsRow = styled25.div`
9859
10057
  display: flex;
9860
10058
  justify-content: space-between;
9861
10059
  align-items: flex-start;
9862
10060
  border-top: 1px solid rgba(255,255,255,0.06);
9863
10061
  padding-top: 1rem;
9864
10062
  `;
9865
- var MetricLabel3 = styled24.div`
10063
+ var MetricLabel3 = styled25.div`
9866
10064
  font-size: 0.6rem;
9867
10065
  color: var(--color-text-secondary);
9868
10066
  text-transform: uppercase;
9869
10067
  letter-spacing: 0.1em;
9870
10068
  margin-bottom: 0.25rem;
9871
10069
  `;
9872
- var MetricValue2 = styled24.div`
10070
+ var MetricValue2 = styled25.div`
9873
10071
  font-size: 1.5rem;
9874
10072
  font-weight: 700;
9875
10073
  color: ${(p) => p.$accent ? "#D4AF37" : "#fff"};
9876
10074
  `;
9877
- var CountdownCenter = styled24.div`
10075
+ var CountdownCenter = styled25.div`
9878
10076
  text-align: center;
9879
10077
  display: flex;
9880
10078
  flex-direction: column;
9881
10079
  align-items: center;
9882
10080
  margin-bottom: 1.25rem;
9883
10081
  `;
9884
- var CountdownLabel = styled24.div`
10082
+ var CountdownLabel = styled25.div`
9885
10083
  font-size: 0.7rem;
9886
10084
  color: #D4AF37;
9887
10085
  text-transform: uppercase;
@@ -9889,13 +10087,13 @@ var CountdownLabel = styled24.div`
9889
10087
  margin-bottom: 0.5rem;
9890
10088
  font-weight: 600;
9891
10089
  `;
9892
- var CountdownDigits = styled24.div`
10090
+ var CountdownDigits = styled25.div`
9893
10091
  display: flex;
9894
10092
  align-items: baseline;
9895
10093
  justify-content: center;
9896
10094
  gap: 0.35rem;
9897
10095
  `;
9898
- var CountdownNumber = styled24.span`
10096
+ var CountdownNumber = styled25.span`
9899
10097
  font-size: 2.5rem;
9900
10098
  font-weight: 700;
9901
10099
  font-family: monospace;
@@ -9904,26 +10102,26 @@ var CountdownNumber = styled24.span`
9904
10102
  font-size: 1.75rem;
9905
10103
  }
9906
10104
  `;
9907
- var CountdownUnitLabel = styled24.span`
10105
+ var CountdownUnitLabel = styled25.span`
9908
10106
  font-size: 0.85rem;
9909
10107
  color: var(--color-text-secondary);
9910
10108
  `;
9911
- var CountdownSeparator = styled24.span`
10109
+ var CountdownSeparator = styled25.span`
9912
10110
  color: rgba(255,255,255,0.2);
9913
10111
  margin: 0 0.2rem;
9914
10112
  font-size: 1.5rem;
9915
10113
  `;
9916
- var LiveBody = styled24.div`
10114
+ var LiveBody = styled25.div`
9917
10115
  display: flex;
9918
10116
  flex-direction: column;
9919
10117
  gap: 1rem;
9920
10118
  `;
9921
- var LiveTopRow = styled24.div`
10119
+ var LiveTopRow = styled25.div`
9922
10120
  display: flex;
9923
10121
  justify-content: space-between;
9924
10122
  align-items: flex-start;
9925
10123
  `;
9926
- var LiveLabel = styled24.div`
10124
+ var LiveLabel = styled25.div`
9927
10125
  font-size: 0.875rem;
9928
10126
  color: var(--color-text-secondary);
9929
10127
  margin-bottom: 0.25rem;
@@ -9936,7 +10134,7 @@ var LiveLabel = styled24.div`
9936
10134
  opacity: 0.7;
9937
10135
  }
9938
10136
  `;
9939
- var LivePercent = styled24.div`
10137
+ var LivePercent = styled25.div`
9940
10138
  font-size: 2rem;
9941
10139
  font-weight: 600;
9942
10140
  color: #D4AF37;
@@ -9949,14 +10147,14 @@ var LivePercent = styled24.div`
9949
10147
  opacity: 0.8;
9950
10148
  }
9951
10149
  `;
9952
- var UnitsValue = styled24.div`
10150
+ var UnitsValue = styled25.div`
9953
10151
  font-size: clamp(1.25rem, 4vw, 1.75rem);
9954
10152
  font-weight: 700;
9955
10153
  white-space: nowrap;
9956
10154
  span { color: #D4AF37; }
9957
10155
  small { color: rgba(255,255,255,0.3); font-weight: 700; margin-left: 0.35rem; font-size: inherit; }
9958
10156
  `;
9959
- var ProgressBarOuter = styled24.div`
10157
+ var ProgressBarOuter = styled25.div`
9960
10158
  width: 100%;
9961
10159
  height: 12px;
9962
10160
  background: rgba(255,255,255,0.1);
@@ -9964,23 +10162,23 @@ var ProgressBarOuter = styled24.div`
9964
10162
  overflow: hidden;
9965
10163
  position: relative;
9966
10164
  `;
9967
- var ProgressBarInner = styled24.div`
10165
+ var ProgressBarInner = styled25.div`
9968
10166
  height: 100%;
9969
10167
  background: linear-gradient(90deg, #D4AF37, #f0b90b);
9970
10168
  border-radius: 6px;
9971
10169
  transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
9972
10170
  will-change: width;
9973
10171
  `;
9974
- var ProgressInfo = styled24.div`
10172
+ var ProgressInfo = styled25.div`
9975
10173
  display: flex;
9976
10174
  justify-content: space-between;
9977
10175
  font-size: 0.875rem;
9978
10176
  `;
9979
- var ProgressSubscribers = styled24.div`
10177
+ var ProgressSubscribers = styled25.div`
9980
10178
  color: var(--color-text-secondary);
9981
10179
  font-weight: 500;
9982
10180
  `;
9983
- var ProgressAmounts = styled24.div`
10181
+ var ProgressAmounts = styled25.div`
9984
10182
  font-weight: 600;
9985
10183
  .raised { color: #D4AF37; }
9986
10184
  .target { color: rgba(255,255,255,0.3); }
@@ -10065,7 +10263,7 @@ function VideoActivitySection({
10065
10263
  ] })
10066
10264
  ] });
10067
10265
  }
10068
- var Section3 = styled24.div`
10266
+ var Section3 = styled25.div`
10069
10267
  display: flex;
10070
10268
  gap: 1.5rem;
10071
10269
  align-items: stretch;
@@ -10074,7 +10272,7 @@ var Section3 = styled24.div`
10074
10272
  gap: 1rem;
10075
10273
  }
10076
10274
  `;
10077
- var VideoPanel = styled24.div`
10275
+ var VideoPanel = styled25.div`
10078
10276
  flex: 1;
10079
10277
  background-color: var(--color-card-darker, #111);
10080
10278
  border-radius: 8px;
@@ -10118,7 +10316,7 @@ var VideoPanel = styled24.div`
10118
10316
  }
10119
10317
  }
10120
10318
  `;
10121
- var ActivityPanel = styled24.div`
10319
+ var ActivityPanel = styled25.div`
10122
10320
  flex: 0 0 auto;
10123
10321
  min-width: 450px;
10124
10322
  max-width: 520px;
@@ -10199,7 +10397,7 @@ var ActivityPanel = styled24.div`
10199
10397
  to { transform: rotate(360deg); }
10200
10398
  }
10201
10399
  `;
10202
- var SkeletonFeedRow = styled24.div`
10400
+ var SkeletonFeedRow = styled25.div`
10203
10401
  padding: 0.625rem 0.75rem;
10204
10402
  border-bottom: 1px solid rgba(255,255,255,0.04);
10205
10403
  display: flex;
@@ -10223,7 +10421,7 @@ var SkeletonFeedRow = styled24.div`
10223
10421
  padding: 0.4rem 0.6rem;
10224
10422
  }
10225
10423
  `;
10226
- var EndedBanner = styled24.div`
10424
+ var EndedBanner = styled25.div`
10227
10425
  font-size: 0.7rem;
10228
10426
  font-weight: 600;
10229
10427
  letter-spacing: 0.04em;
@@ -10236,7 +10434,7 @@ var EndedBanner = styled24.div`
10236
10434
  margin-bottom: 0.5rem;
10237
10435
  text-align: center;
10238
10436
  `;
10239
- var FeedList = styled24.div`
10437
+ var FeedList = styled25.div`
10240
10438
  width: 100%;
10241
10439
  overflow-y: auto;
10242
10440
  scrollbar-width: none;
@@ -10245,7 +10443,7 @@ var FeedList = styled24.div`
10245
10443
  display: none;
10246
10444
  }
10247
10445
  `;
10248
- var PurchaseItem = styled24.div`
10446
+ var PurchaseItem = styled25.div`
10249
10447
  padding: 0.625rem 0.75rem;
10250
10448
  border-bottom: 1px solid rgba(255,255,255,0.05);
10251
10449
  display: flex;
@@ -10274,12 +10472,12 @@ var PurchaseItem = styled24.div`
10274
10472
  padding: 0.4rem 0.6rem;
10275
10473
  }
10276
10474
  `;
10277
- var PurchaseInfo = styled24.div`
10475
+ var PurchaseInfo = styled25.div`
10278
10476
  display: flex;
10279
10477
  flex-direction: column;
10280
10478
  min-width: 0;
10281
10479
  `;
10282
- var PurchaseName = styled24.div`
10480
+ var PurchaseName = styled25.div`
10283
10481
  font-weight: 500;
10284
10482
  font-size: 0.875rem;
10285
10483
  color: #fff;
@@ -10287,19 +10485,19 @@ var PurchaseName = styled24.div`
10287
10485
  overflow: hidden;
10288
10486
  text-overflow: ellipsis;
10289
10487
  `;
10290
- var PurchaseTime = styled24.div`
10488
+ var PurchaseTime = styled25.div`
10291
10489
  font-size: 0.7rem;
10292
10490
  color: var(--color-text-secondary);
10293
10491
  margin-top: 0.125rem;
10294
10492
  `;
10295
- var PurchaseAmount = styled24.div`
10493
+ var PurchaseAmount = styled25.div`
10296
10494
  font-weight: 600;
10297
10495
  font-size: 0.875rem;
10298
10496
  color: #fff;
10299
10497
  white-space: nowrap;
10300
10498
  margin-left: 1rem;
10301
10499
  `;
10302
- var LiveIndicatorDot = styled24.span`
10500
+ var LiveIndicatorDot = styled25.span`
10303
10501
  display: inline-block;
10304
10502
  width: 8px;
10305
10503
  height: 8px;
@@ -10668,7 +10866,7 @@ function OrderPanel({
10668
10866
  ] })
10669
10867
  ] });
10670
10868
  }
10671
- var Panel2 = styled24.div`
10869
+ var Panel2 = styled25.div`
10672
10870
  background-color: var(--color-card-darker, #111);
10673
10871
  border-radius: 8px;
10674
10872
  padding: 1.5rem;
@@ -10695,7 +10893,7 @@ var Panel2 = styled24.div`
10695
10893
  border-radius: 6px;
10696
10894
  }
10697
10895
  `;
10698
- var PanelHeader2 = styled24.div`
10896
+ var PanelHeader2 = styled25.div`
10699
10897
  display: flex;
10700
10898
  justify-content: space-between;
10701
10899
  align-items: center;
@@ -10708,7 +10906,7 @@ var PanelHeader2 = styled24.div`
10708
10906
  color: var(--color-text);
10709
10907
  }
10710
10908
  `;
10711
- var StatusBadge2 = styled24.span`
10909
+ var StatusBadge2 = styled25.span`
10712
10910
  font-size: 0.7rem;
10713
10911
  font-weight: 600;
10714
10912
  display: inline-flex;
@@ -10721,7 +10919,7 @@ var StatusBadge2 = styled24.span`
10721
10919
  display: inline-block;
10722
10920
  }
10723
10921
  `;
10724
- var Card2 = styled24.div`
10922
+ var Card2 = styled25.div`
10725
10923
  background: rgba(0,0,0,0.4);
10726
10924
  border: 1px solid rgba(255,255,255,0.15);
10727
10925
  border-radius: 12px;
@@ -10732,12 +10930,12 @@ var Card2 = styled24.div`
10732
10930
  border-radius: 10px;
10733
10931
  }
10734
10932
  `;
10735
- var CardLabel = styled24.div`
10933
+ var CardLabel = styled25.div`
10736
10934
  font-size: 0.75rem;
10737
10935
  color: var(--color-text-secondary);
10738
10936
  margin-bottom: 0.5rem;
10739
10937
  `;
10740
- var CardInputRow = styled24.div`
10938
+ var CardInputRow = styled25.div`
10741
10939
  display: flex;
10742
10940
  align-items: center;
10743
10941
  justify-content: space-between;
@@ -10762,7 +10960,7 @@ var CardInputRow = styled24.div`
10762
10960
  white-space: nowrap;
10763
10961
  }
10764
10962
  `;
10765
- var QuickSelectRow = styled24.div`
10963
+ var QuickSelectRow = styled25.div`
10766
10964
  display: flex;
10767
10965
  gap: 0.5rem;
10768
10966
  margin-top: 0.75rem;
@@ -10791,7 +10989,7 @@ var QuickSelectRow = styled24.div`
10791
10989
  button { font-size: 0.7rem; padding: 0.35rem 0; }
10792
10990
  }
10793
10991
  `;
10794
- var FundsRow = styled24.div`
10992
+ var FundsRow = styled25.div`
10795
10993
  display: flex;
10796
10994
  align-items: center;
10797
10995
  gap: 0.5rem;
@@ -10802,7 +11000,7 @@ var FundsRow = styled24.div`
10802
11000
  color: #fff;
10803
11001
  }
10804
11002
  `;
10805
- var DepositButton = styled24.button`
11003
+ var DepositButton = styled25.button`
10806
11004
  background: transparent;
10807
11005
  border: 1px solid rgba(212,175,55,0.4);
10808
11006
  border-radius: 4px;
@@ -10812,23 +11010,23 @@ var DepositButton = styled24.button`
10812
11010
  cursor: pointer;
10813
11011
  font-weight: 500;
10814
11012
  `;
10815
- var Divider2 = styled24.div`
11013
+ var Divider2 = styled25.div`
10816
11014
  text-align: center;
10817
11015
  margin: 0.5rem 0;
10818
11016
  color: var(--color-text-secondary);
10819
11017
  `;
10820
- var CardTopRow = styled24.div`
11018
+ var CardTopRow = styled25.div`
10821
11019
  display: flex;
10822
11020
  justify-content: space-between;
10823
11021
  align-items: center;
10824
11022
  margin-bottom: 0.5rem;
10825
11023
  `;
10826
- var CardHint = styled24.span`
11024
+ var CardHint = styled25.span`
10827
11025
  font-size: 0.7rem;
10828
11026
  color: var(--color-text-secondary);
10829
11027
  opacity: 0.7;
10830
11028
  `;
10831
- var OrderSummary = styled24.div`
11029
+ var OrderSummary = styled25.div`
10832
11030
  border-top: 1px solid rgba(255,255,255,0.08);
10833
11031
  padding-top: 1rem;
10834
11032
  margin-top: 0.5rem;
@@ -10837,13 +11035,13 @@ var OrderSummary = styled24.div`
10837
11035
  flex-direction: column;
10838
11036
  gap: 0.5rem;
10839
11037
  `;
10840
- var SummaryRow = styled24.div`
11038
+ var SummaryRow = styled25.div`
10841
11039
  display: flex;
10842
11040
  justify-content: space-between;
10843
11041
  color: var(--color-text-secondary);
10844
11042
  strong { color: #fff; }
10845
11043
  `;
10846
- var SummaryTotal = styled24(SummaryRow)`
11044
+ var SummaryTotal = styled25(SummaryRow)`
10847
11045
  padding-top: 0.5rem;
10848
11046
  border-top: 1px solid rgba(255,255,255,0.08);
10849
11047
  color: #fff;
@@ -10851,12 +11049,12 @@ var SummaryTotal = styled24(SummaryRow)`
10851
11049
  font-weight: 600;
10852
11050
  }
10853
11051
  `;
10854
- var FormBody = styled24.div`
11052
+ var FormBody = styled25.div`
10855
11053
  display: flex;
10856
11054
  flex-direction: column;
10857
11055
  gap: 0.75rem;
10858
11056
  `;
10859
- var SubscribeButton = styled24.button`
11057
+ var SubscribeButton = styled25.button`
10860
11058
  width: 100%;
10861
11059
  margin-top: 1rem;
10862
11060
  padding: 0.875rem;
@@ -10881,13 +11079,13 @@ var SubscribeButton = styled24.button`
10881
11079
  color: #0a0a0a;
10882
11080
  }
10883
11081
  `;
10884
- var BalanceCards = styled24.div`
11082
+ var BalanceCards = styled25.div`
10885
11083
  display: flex;
10886
11084
  gap: 1rem;
10887
11085
  margin-top: 1rem;
10888
11086
  flex-wrap: wrap;
10889
11087
  `;
10890
- var BalanceCard = styled24.div`
11088
+ var BalanceCard = styled25.div`
10891
11089
  flex: 1;
10892
11090
  background: rgba(255,255,255,0.03);
10893
11091
  border-radius: 12px;
@@ -10895,14 +11093,14 @@ var BalanceCard = styled24.div`
10895
11093
  text-align: center;
10896
11094
  position: relative;
10897
11095
  `;
10898
- var BalanceLabel = styled24.div`
11096
+ var BalanceLabel = styled25.div`
10899
11097
  font-size: 0.75rem;
10900
11098
  color: var(--color-text-secondary);
10901
11099
  text-transform: uppercase;
10902
11100
  letter-spacing: 0.5px;
10903
11101
  margin-bottom: 0.5rem;
10904
11102
  `;
10905
- var BalanceValue = styled24.div`
11103
+ var BalanceValue = styled25.div`
10906
11104
  font-size: 1.5rem;
10907
11105
  font-weight: 700;
10908
11106
  color: #fff;
@@ -10918,20 +11116,20 @@ var BalanceValue = styled24.div`
10918
11116
  font-size: 1.2rem;
10919
11117
  }
10920
11118
  `;
10921
- var BalanceAction = styled24.div`
11119
+ var BalanceAction = styled25.div`
10922
11120
  font-size: 0.75rem;
10923
11121
  color: #D4AF37;
10924
11122
  cursor: pointer;
10925
11123
  font-weight: 500;
10926
11124
  margin-top: 0.5rem;
10927
11125
  `;
10928
- var BalanceSub = styled24.div`
11126
+ var BalanceSub = styled25.div`
10929
11127
  font-size: 0.85rem;
10930
11128
  font-weight: 500;
10931
11129
  color: var(--color-text-secondary);
10932
11130
  margin-top: 0.25rem;
10933
11131
  `;
10934
- var OrderPendingCard = styled24.div`
11132
+ var OrderPendingCard = styled25.div`
10935
11133
  margin-bottom: 1.5rem;
10936
11134
  background: linear-gradient(180deg, rgba(25,27,31,0.95) 0%, rgba(18,20,24,0.98) 100%);
10937
11135
  border: 1px solid rgba(212,175,55,0.08);
@@ -11035,7 +11233,7 @@ var OrderPendingCard = styled24.div`
11035
11233
  animation: pulse 2s ease-in-out infinite;
11036
11234
  }
11037
11235
  `;
11038
- var OrderSuccessCard = styled24.div`
11236
+ var OrderSuccessCard = styled25.div`
11039
11237
  margin-bottom: 1.5rem;
11040
11238
  background: linear-gradient(180deg, rgba(25,27,31,0.95) 0%, rgba(18,20,24,0.98) 100%);
11041
11239
  border: 1px solid rgba(212,175,55,0.12);
@@ -11139,7 +11337,7 @@ var OrderSuccessCard = styled24.div`
11139
11337
  transition: all 0.2s ease;
11140
11338
  }
11141
11339
  `;
11142
- var InsufficientFunds = styled24.div`
11340
+ var InsufficientFunds = styled25.div`
11143
11341
  margin-top: 1rem;
11144
11342
  padding: 0.75rem 1rem;
11145
11343
  border-radius: 8px;
@@ -11204,6 +11402,7 @@ function PortfolioActivityPanel({
11204
11402
  const resolvedDefaultTab = defaultTab ?? (showPositionsTab ? "positions" : "subscriptions");
11205
11403
  const [activeTab, setActiveTab] = useState(resolvedDefaultTab);
11206
11404
  const [activityPage, setActivityPage] = useState(0);
11405
+ const [pendingCancelOrderId, setPendingCancelOrderId] = useState(null);
11207
11406
  const activeTabTotal = useMemo(() => {
11208
11407
  switch (activeTab) {
11209
11408
  case "positions":
@@ -11244,7 +11443,7 @@ function PortfolioActivityPanel({
11244
11443
  setActiveTab(tab);
11245
11444
  setActivityPage(0);
11246
11445
  };
11247
- return /* @__PURE__ */ jsxs(Container2, { className, style, children: [
11446
+ return /* @__PURE__ */ jsxs(Container3, { className, style, children: [
11248
11447
  /* @__PURE__ */ jsx(PanelTitle, { children: "Activity" }),
11249
11448
  /* @__PURE__ */ jsxs(TabContainer, { children: [
11250
11449
  showPositionsTab && /* @__PURE__ */ jsxs(Tab, { $active: activeTab === "positions", onClick: () => handleTabChange("positions"), children: [
@@ -11391,7 +11590,7 @@ function PortfolioActivityPanel({
11391
11590
  disabled: isCancelling || cancellingOrderId != null,
11392
11591
  onClick: (e) => {
11393
11592
  e.stopPropagation();
11394
- onCancelOrder(order.id);
11593
+ setPendingCancelOrderId(order.id);
11395
11594
  },
11396
11595
  children: isCancelling ? "Cancelling\u2026" : "Cancel"
11397
11596
  }
@@ -11514,17 +11713,38 @@ function PortfolioActivityPanel({
11514
11713
  children: "Next \u2192"
11515
11714
  }
11516
11715
  )
11517
- ] })
11716
+ ] }),
11717
+ pendingCancelOrderId !== null && /* @__PURE__ */ jsx(CancelConfirmOverlay, { onClick: () => setPendingCancelOrderId(null), children: /* @__PURE__ */ jsxs(CancelConfirmModal, { onClick: (e) => e.stopPropagation(), children: [
11718
+ /* @__PURE__ */ jsx(CancelConfirmTitle, { children: "Cancel Order" }),
11719
+ /* @__PURE__ */ jsx(CancelConfirmBody, { children: "Are you sure you want to cancel this order? This action cannot be undone." }),
11720
+ /* @__PURE__ */ jsxs(CancelConfirmActions, { children: [
11721
+ /* @__PURE__ */ jsx(CancelConfirmDismiss, { type: "button", onClick: () => setPendingCancelOrderId(null), children: "Keep Order" }),
11722
+ /* @__PURE__ */ jsx(
11723
+ CancelConfirmProceed,
11724
+ {
11725
+ type: "button",
11726
+ disabled: cancellingOrderId != null,
11727
+ onClick: async () => {
11728
+ if (onCancelOrder && pendingCancelOrderId !== null) {
11729
+ await onCancelOrder(pendingCancelOrderId);
11730
+ }
11731
+ setPendingCancelOrderId(null);
11732
+ },
11733
+ children: cancellingOrderId === pendingCancelOrderId ? "Cancelling\u2026" : "Yes, Cancel"
11734
+ }
11735
+ )
11736
+ ] })
11737
+ ] }) })
11518
11738
  ] });
11519
11739
  }
11520
- var Container2 = styled24.div``;
11521
- var PanelTitle = styled24.h3`
11740
+ var Container3 = styled25.div``;
11741
+ var PanelTitle = styled25.h3`
11522
11742
  font-size: 1rem;
11523
11743
  font-weight: 600;
11524
11744
  color: var(--color-text, #fff);
11525
11745
  margin: 0 0 0.75rem;
11526
11746
  `;
11527
- var TabContainer = styled24.div`
11747
+ var TabContainer = styled25.div`
11528
11748
  display: flex;
11529
11749
  gap: 0;
11530
11750
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
@@ -11535,7 +11755,7 @@ var TabContainer = styled24.div`
11535
11755
  scrollbar-width: none;
11536
11756
  &::-webkit-scrollbar { display: none; }
11537
11757
  `;
11538
- var Tab = styled24.button`
11758
+ var Tab = styled25.button`
11539
11759
  background: transparent;
11540
11760
  border: none;
11541
11761
  padding: 0.6rem 1rem;
@@ -11564,12 +11784,12 @@ var Tab = styled24.button`
11564
11784
  color: ${({ $active }) => $active ? "#fff" : "rgba(255, 255, 255, 0.65)"};
11565
11785
  }
11566
11786
  `;
11567
- var TabCount = styled24.span`
11787
+ var TabCount = styled25.span`
11568
11788
  color: #E6C656;
11569
11789
  font-weight: 600;
11570
11790
  margin-left: 2px;
11571
11791
  `;
11572
- var ActivityRow = styled24.div`
11792
+ var ActivityRow = styled25.div`
11573
11793
  display: grid;
11574
11794
  grid-template-columns: auto 1fr auto auto;
11575
11795
  align-items: center;
@@ -11585,7 +11805,7 @@ var ActivityRow = styled24.div`
11585
11805
  background: rgba(255, 255, 255, 0.015);
11586
11806
  }
11587
11807
  `;
11588
- var ActivitySideBadge = styled24.span`
11808
+ var ActivitySideBadge = styled25.span`
11589
11809
  font-size: 0.6rem;
11590
11810
  font-weight: 700;
11591
11811
  text-transform: uppercase;
@@ -11597,21 +11817,21 @@ var ActivitySideBadge = styled24.span`
11597
11817
  color: ${({ $side }) => $side === "Buy" ? "#0ecb81" : "#f6465d"};
11598
11818
  background: ${({ $side }) => $side === "Buy" ? "rgba(14, 203, 129, 0.1)" : "rgba(246, 70, 93, 0.1)"};
11599
11819
  `;
11600
- var ActivityInfo = styled24.div`
11820
+ var ActivityInfo = styled25.div`
11601
11821
  display: flex;
11602
11822
  flex-direction: column;
11603
11823
  gap: 0.1rem;
11604
11824
  `;
11605
- var ActivityPrimary = styled24.span`
11825
+ var ActivityPrimary = styled25.span`
11606
11826
  font-size: 0.8rem;
11607
11827
  color: #fff;
11608
11828
  font-weight: 500;
11609
11829
  `;
11610
- var ActivitySecondary = styled24.span`
11830
+ var ActivitySecondary = styled25.span`
11611
11831
  font-size: 0.6rem;
11612
11832
  color: rgba(255, 255, 255, 0.35);
11613
11833
  `;
11614
- var ActivityTag = styled24.span`
11834
+ var ActivityTag = styled25.span`
11615
11835
  font-size: 0.58rem;
11616
11836
  font-weight: 600;
11617
11837
  padding: 0.15rem 0.45rem;
@@ -11620,20 +11840,20 @@ var ActivityTag = styled24.span`
11620
11840
  background: ${({ $bg }) => $bg || "rgba(255, 255, 255, 0.06)"};
11621
11841
  white-space: nowrap;
11622
11842
  `;
11623
- var ActivityAmount = styled24.span`
11843
+ var ActivityAmount = styled25.span`
11624
11844
  font-size: 0.8rem;
11625
11845
  font-weight: 600;
11626
11846
  color: #fff;
11627
11847
  text-align: right;
11628
11848
  white-space: nowrap;
11629
11849
  `;
11630
- var ActivityActions = styled24.div`
11850
+ var ActivityActions = styled25.div`
11631
11851
  display: flex;
11632
11852
  align-items: center;
11633
11853
  justify-content: flex-end;
11634
11854
  gap: 0.35rem;
11635
11855
  `;
11636
- var ActivityRedirectButton = styled24.a`
11856
+ var ActivityRedirectButton = styled25.a`
11637
11857
  display: inline-flex;
11638
11858
  align-items: center;
11639
11859
  justify-content: center;
@@ -11655,13 +11875,13 @@ var ActivityRedirectButton = styled24.a`
11655
11875
  outline-offset: 2px;
11656
11876
  }
11657
11877
  `;
11658
- var EmptyState = styled24.div`
11878
+ var EmptyState = styled25.div`
11659
11879
  padding: 1.5rem 0.75rem;
11660
11880
  text-align: center;
11661
11881
  font-size: 0.8rem;
11662
11882
  color: rgba(255, 255, 255, 0.45);
11663
11883
  `;
11664
- var PaginationRow = styled24.div`
11884
+ var PaginationRow = styled25.div`
11665
11885
  display: flex;
11666
11886
  align-items: center;
11667
11887
  justify-content: center;
@@ -11670,7 +11890,7 @@ var PaginationRow = styled24.div`
11670
11890
  padding-top: 1rem;
11671
11891
  border-top: 1px solid rgba(255, 255, 255, 0.06);
11672
11892
  `;
11673
- var PaginationButton = styled24.button`
11893
+ var PaginationButton = styled25.button`
11674
11894
  background: transparent;
11675
11895
  border: 1px solid rgba(255, 255, 255, 0.12);
11676
11896
  border-radius: 8px;
@@ -11684,11 +11904,11 @@ var PaginationButton = styled24.button`
11684
11904
  cursor: default;
11685
11905
  }
11686
11906
  `;
11687
- var PaginationLabel = styled24.span`
11907
+ var PaginationLabel = styled25.span`
11688
11908
  font-size: 0.8rem;
11689
11909
  color: rgba(255, 255, 255, 0.4);
11690
11910
  `;
11691
- var HoldingsItem = styled24.div`
11911
+ var HoldingsItem = styled25.div`
11692
11912
  display: grid;
11693
11913
  grid-template-columns: 1fr 1fr 1fr;
11694
11914
  align-items: center;
@@ -11697,17 +11917,17 @@ var HoldingsItem = styled24.div`
11697
11917
  cursor: pointer;
11698
11918
  &:hover { background: rgba(255, 255, 255, 0.015); }
11699
11919
  `;
11700
- var HoldingsLeft = styled24.div`
11920
+ var HoldingsLeft = styled25.div`
11701
11921
  display: flex;
11702
11922
  flex-direction: column;
11703
11923
  gap: 0.15rem;
11704
11924
  `;
11705
- var HoldingsProperty = styled24.div`
11925
+ var HoldingsProperty = styled25.div`
11706
11926
  font-size: 0.85rem;
11707
11927
  font-weight: 600;
11708
11928
  color: #fff;
11709
11929
  `;
11710
- var HoldingsPortfolio = styled24.div`
11930
+ var HoldingsPortfolio = styled25.div`
11711
11931
  font-size: 0.7rem;
11712
11932
  color: rgba(255, 255, 255, 0.5);
11713
11933
  span {
@@ -11715,7 +11935,7 @@ var HoldingsPortfolio = styled24.div`
11715
11935
  font-weight: 500;
11716
11936
  }
11717
11937
  `;
11718
- var HoldingsQuantity = styled24.div`
11938
+ var HoldingsQuantity = styled25.div`
11719
11939
  display: flex;
11720
11940
  flex-direction: column;
11721
11941
  align-items: center;
@@ -11724,27 +11944,27 @@ var HoldingsQuantity = styled24.div`
11724
11944
  font-weight: 500;
11725
11945
  color: #fff;
11726
11946
  `;
11727
- var HoldingsAvgEntry = styled24.div`
11947
+ var HoldingsAvgEntry = styled25.div`
11728
11948
  font-size: 0.7rem;
11729
11949
  color: var(--color-accent, #E6C87E);
11730
11950
  font-weight: 500;
11731
11951
  `;
11732
- var HoldingsPnL = styled24.div`
11952
+ var HoldingsPnL = styled25.div`
11733
11953
  display: flex;
11734
11954
  flex-direction: column;
11735
11955
  align-items: flex-end;
11736
11956
  gap: 0.15rem;
11737
11957
  `;
11738
- var PnLAmount = styled24.div`
11958
+ var PnLAmount = styled25.div`
11739
11959
  font-size: 0.85rem;
11740
11960
  font-weight: 600;
11741
11961
  color: ${(p) => p.$positive ? "#0ecb81" : "#f6465d"};
11742
11962
  `;
11743
- var PnLPercentage = styled24.div`
11963
+ var PnLPercentage = styled25.div`
11744
11964
  font-size: 0.7rem;
11745
11965
  color: ${(p) => p.$positive ? "#0ecb81" : "#f6465d"};
11746
11966
  `;
11747
- var CancelButton = styled24.button`
11967
+ var CancelButton = styled25.button`
11748
11968
  background: transparent;
11749
11969
  border: 1px solid rgba(246, 70, 93, 0.3);
11750
11970
  border-radius: 4px;
@@ -11766,6 +11986,78 @@ var CancelButton = styled24.button`
11766
11986
  cursor: not-allowed;
11767
11987
  }
11768
11988
  `;
11989
+ var CancelConfirmOverlay = styled25.div`
11990
+ position: fixed;
11991
+ inset: 0;
11992
+ background: rgba(0, 0, 0, 0.6);
11993
+ display: flex;
11994
+ align-items: center;
11995
+ justify-content: center;
11996
+ z-index: 1000;
11997
+ `;
11998
+ var CancelConfirmModal = styled25.div`
11999
+ background: #1a1a1a;
12000
+ border: 1px solid rgba(255, 255, 255, 0.12);
12001
+ border-radius: 12px;
12002
+ padding: 1.5rem;
12003
+ max-width: 360px;
12004
+ width: 90%;
12005
+ display: flex;
12006
+ flex-direction: column;
12007
+ gap: 0.75rem;
12008
+ `;
12009
+ var CancelConfirmTitle = styled25.div`
12010
+ font-size: 1rem;
12011
+ font-weight: 600;
12012
+ color: #fff;
12013
+ `;
12014
+ var CancelConfirmBody = styled25.div`
12015
+ font-size: 0.85rem;
12016
+ color: rgba(255, 255, 255, 0.6);
12017
+ line-height: 1.5;
12018
+ `;
12019
+ var CancelConfirmActions = styled25.div`
12020
+ display: flex;
12021
+ gap: 0.5rem;
12022
+ margin-top: 0.25rem;
12023
+ `;
12024
+ var CancelConfirmDismiss = styled25.button`
12025
+ flex: 1;
12026
+ background: rgba(255, 255, 255, 0.06);
12027
+ border: 1px solid rgba(255, 255, 255, 0.12);
12028
+ border-radius: 8px;
12029
+ padding: 0.6rem 1rem;
12030
+ font-size: 0.8rem;
12031
+ font-weight: 500;
12032
+ color: rgba(255, 255, 255, 0.7);
12033
+ cursor: pointer;
12034
+ transition: all 0.15s ease;
12035
+
12036
+ &:hover {
12037
+ background: rgba(255, 255, 255, 0.1);
12038
+ }
12039
+ `;
12040
+ var CancelConfirmProceed = styled25.button`
12041
+ flex: 1;
12042
+ background: rgba(246, 70, 93, 0.15);
12043
+ border: 1px solid rgba(246, 70, 93, 0.4);
12044
+ border-radius: 8px;
12045
+ padding: 0.6rem 1rem;
12046
+ font-size: 0.8rem;
12047
+ font-weight: 600;
12048
+ color: #f6465d;
12049
+ cursor: pointer;
12050
+ transition: all 0.15s ease;
12051
+
12052
+ &:hover {
12053
+ background: rgba(246, 70, 93, 0.25);
12054
+ }
12055
+
12056
+ &:disabled {
12057
+ opacity: 0.5;
12058
+ cursor: not-allowed;
12059
+ }
12060
+ `;
11769
12061
  function NewsOrdersSection({ newsItems, activityData }) {
11770
12062
  return /* @__PURE__ */ jsxs(Row2, { children: [
11771
12063
  /* @__PURE__ */ jsxs(TradeNewsPanel, { children: [
@@ -11810,7 +12102,7 @@ function NewsOrdersSection({ newsItems, activityData }) {
11810
12102
  ) })
11811
12103
  ] });
11812
12104
  }
11813
- var Row2 = styled24.div`
12105
+ var Row2 = styled25.div`
11814
12106
  display: grid;
11815
12107
  grid-template-columns: 1fr 2fr;
11816
12108
  gap: 1.5rem;
@@ -11828,7 +12120,7 @@ var Row2 = styled24.div`
11828
12120
  overflow: hidden;
11829
12121
  }
11830
12122
  `;
11831
- var TradeNewsPanel = styled24.div`
12123
+ var TradeNewsPanel = styled25.div`
11832
12124
  background-color: var(--color-card-darker, #111);
11833
12125
  border-radius: 8px;
11834
12126
  padding: 1.5rem;
@@ -11847,8 +12139,8 @@ var TradeNewsPanel = styled24.div`
11847
12139
  min-height: auto;
11848
12140
  }
11849
12141
  `;
11850
- var ActivityWrapper = styled24(TradeNewsPanel)``;
11851
- var TradeNewsHeader = styled24.div`
12142
+ var ActivityWrapper = styled25(TradeNewsPanel)``;
12143
+ var TradeNewsHeader = styled25.div`
11852
12144
  display: flex;
11853
12145
  justify-content: space-between;
11854
12146
  align-items: center;
@@ -11882,7 +12174,7 @@ var TradeNewsHeader = styled24.div`
11882
12174
  100% { opacity: 0.4; }
11883
12175
  }
11884
12176
  `;
11885
- var TradeNewsList = styled24.div`
12177
+ var TradeNewsList = styled25.div`
11886
12178
  display: flex;
11887
12179
  flex-direction: column;
11888
12180
  gap: 0.75rem;
@@ -11890,7 +12182,7 @@ var TradeNewsList = styled24.div`
11890
12182
  overflow: visible;
11891
12183
  max-width: 100%;
11892
12184
  `;
11893
- var TradeNewsItem = styled24.div`
12185
+ var TradeNewsItem = styled25.div`
11894
12186
  display: flex;
11895
12187
  flex-direction: column;
11896
12188
  padding: 0.75rem;
@@ -11906,25 +12198,25 @@ var TradeNewsItem = styled24.div`
11906
12198
  transform: translateY(-2px);
11907
12199
  }
11908
12200
  `;
11909
- var TradeNewsTitle = styled24.h4`
12201
+ var TradeNewsTitle = styled25.h4`
11910
12202
  font-size: 0.9375rem;
11911
12203
  font-weight: 500;
11912
12204
  margin: 0 0 0.5rem 0;
11913
12205
  color: var(--color-text);
11914
12206
  `;
11915
- var TradeNewsInfo = styled24.div`
12207
+ var TradeNewsInfo = styled25.div`
11916
12208
  display: flex;
11917
12209
  justify-content: space-between;
11918
12210
  align-items: center;
11919
12211
  font-size: 0.75rem;
11920
12212
  color: var(--color-text-secondary);
11921
12213
  `;
11922
- var TradeNewsDate = styled24.span`
12214
+ var TradeNewsDate = styled25.span`
11923
12215
  &[data-new='true'] {
11924
12216
  color: #0ecb81;
11925
12217
  }
11926
12218
  `;
11927
- var TradeNewsCategory = styled24.span`
12219
+ var TradeNewsCategory = styled25.span`
11928
12220
  padding: 0.25rem 0.5rem;
11929
12221
  border-radius: 4px;
11930
12222
  background-color: rgba(240,185,11,0.1);
@@ -12040,7 +12332,7 @@ function OrderConfirmationModal({
12040
12332
  ] })
12041
12333
  ] }) });
12042
12334
  }
12043
- var Overlay3 = styled24.div`
12335
+ var Overlay3 = styled25.div`
12044
12336
  position: fixed;
12045
12337
  top: 0;
12046
12338
  left: 0;
@@ -12053,7 +12345,7 @@ var Overlay3 = styled24.div`
12053
12345
  z-index: 10000;
12054
12346
  backdrop-filter: blur(4px);
12055
12347
  `;
12056
- var Modal = styled24.div`
12348
+ var Modal = styled25.div`
12057
12349
  background: linear-gradient(135deg, rgba(26,29,35,0.95) 0%, rgba(26,29,35,0.98) 100%);
12058
12350
  border: 1px solid rgba(255,255,255,0.1);
12059
12351
  border-radius: 16px;
@@ -12062,7 +12354,7 @@ var Modal = styled24.div`
12062
12354
  width: 90%;
12063
12355
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
12064
12356
  `;
12065
- var ModalHeader = styled24.div`
12357
+ var ModalHeader = styled25.div`
12066
12358
  display: flex;
12067
12359
  align-items: center;
12068
12360
  margin-bottom: 1.5rem;
@@ -12078,7 +12370,7 @@ var ModalHeader = styled24.div`
12078
12370
  gap: 0.5rem;
12079
12371
  }
12080
12372
  `;
12081
- var Badge2 = styled24.span`
12373
+ var Badge2 = styled25.span`
12082
12374
  padding: 0.25rem 0.75rem;
12083
12375
  border-radius: 6px;
12084
12376
  font-size: 0.75rem;
@@ -12089,12 +12381,12 @@ var Badge2 = styled24.span`
12089
12381
  color: #D4AF37;
12090
12382
  border: 1px solid rgba(212,175,55,0.3);
12091
12383
  `;
12092
- var ModalBody = styled24.div`
12384
+ var ModalBody = styled25.div`
12093
12385
  margin-bottom: 1.5rem;
12094
12386
  display: flex;
12095
12387
  flex-direction: column;
12096
12388
  `;
12097
- var ModalRow = styled24.div`
12389
+ var ModalRow = styled25.div`
12098
12390
  display: flex;
12099
12391
  justify-content: space-between;
12100
12392
  align-items: center;
@@ -12117,7 +12409,7 @@ var ModalRow = styled24.div`
12117
12409
  font-weight: 600;
12118
12410
  }
12119
12411
  `;
12120
- var Warning = styled24.div`
12412
+ var Warning = styled25.div`
12121
12413
  background: rgba(246,70,93,0.1);
12122
12414
  border: 1px solid rgba(246,70,93,0.3);
12123
12415
  border-radius: 8px;
@@ -12137,7 +12429,7 @@ var Warning = styled24.div`
12137
12429
  line-height: 1.5;
12138
12430
  }
12139
12431
  `;
12140
- var Summary = styled24.div`
12432
+ var Summary = styled25.div`
12141
12433
  background: rgba(255,255,255,0.03);
12142
12434
  border: 1px solid rgba(255,255,255,0.08);
12143
12435
  border-radius: 8px;
@@ -12150,7 +12442,7 @@ var Summary = styled24.div`
12150
12442
  var spin = keyframes`
12151
12443
  to { transform: rotate(360deg); }
12152
12444
  `;
12153
- var Spinner = styled24.span`
12445
+ var Spinner = styled25.span`
12154
12446
  display: inline-block;
12155
12447
  width: 14px;
12156
12448
  height: 14px;
@@ -12161,7 +12453,7 @@ var Spinner = styled24.span`
12161
12453
  margin-right: 0.5rem;
12162
12454
  vertical-align: -2px;
12163
12455
  `;
12164
- var ButtonRow2 = styled24.div`
12456
+ var ButtonRow2 = styled25.div`
12165
12457
  display: flex;
12166
12458
  gap: 1rem;
12167
12459
  justify-content: flex-end;
@@ -12265,6 +12557,7 @@ function PropertyBuy({
12265
12557
  onSelectorSelect,
12266
12558
  portfolioActivity
12267
12559
  }) {
12560
+ const { toast } = useToast();
12268
12561
  const [sliderValue, setSliderValue] = useState(0);
12269
12562
  const [availableBalance, setAvailableBalance] = useState(walletUsdcBalance ?? 0);
12270
12563
  const [manualOrderAmount, setManualOrderAmount] = useState(null);
@@ -12317,6 +12610,13 @@ function PropertyBuy({
12317
12610
  }, [walletPropertyTokenBalance]);
12318
12611
  const handleOrderButtonClick = () => {
12319
12612
  if (!ipoStarted || tokenQuantity === 0) {
12613
+ if (rawSpend > 0 && tokenQuantity === 0) {
12614
+ toast({
12615
+ variant: "error",
12616
+ title: "Amount too low",
12617
+ amount: `Minimum purchase is 1 token ($${tokenPrice.toLocaleString(void 0, { minimumFractionDigits: 2, maximumFractionDigits: 2 })})`
12618
+ });
12619
+ }
12320
12620
  return;
12321
12621
  }
12322
12622
  setShowOrderConfirmModal(true);
@@ -12528,7 +12828,7 @@ function PropertyBuy({
12528
12828
  )
12529
12829
  ] });
12530
12830
  }
12531
- var HeroGrid = styled24.div`
12831
+ var HeroGrid = styled25.div`
12532
12832
  display: grid;
12533
12833
  grid-template-columns: 1fr auto;
12534
12834
  grid-template-rows: auto auto minmax(450px, 520px);
@@ -12597,7 +12897,7 @@ var HeroGrid = styled24.div`
12597
12897
  gap: 0.5rem;
12598
12898
  }
12599
12899
  `;
12600
- var PaymentOption = styled24.div`
12900
+ var PaymentOption = styled25.div`
12601
12901
  display: flex;
12602
12902
  align-items: center;
12603
12903
  padding: 1rem;
@@ -12614,7 +12914,7 @@ var PaymentOption = styled24.div`
12614
12914
  border-color: rgba(0, 123, 255, 0.5);
12615
12915
  }
12616
12916
  `;
12617
- var RadioIndicator = styled24.div`
12917
+ var RadioIndicator = styled25.div`
12618
12918
  width: 20px;
12619
12919
  height: 20px;
12620
12920
  border-radius: 50%;
@@ -12634,7 +12934,7 @@ var RadioIndicator = styled24.div`
12634
12934
  transition: opacity 0.2s;
12635
12935
  }
12636
12936
  `;
12637
- var PaymentMethodDetails = styled24.div`
12937
+ var PaymentMethodDetails = styled25.div`
12638
12938
  background: rgba(0, 0, 0, 0.2);
12639
12939
  border-radius: 8px;
12640
12940
  padding: 1rem;
@@ -12653,7 +12953,7 @@ var PaymentMethodDetails = styled24.div`
12653
12953
  }
12654
12954
  }
12655
12955
  `;
12656
- var ConfirmButton = styled24.button`
12956
+ var ConfirmButton = styled25.button`
12657
12957
  background: ${(props) => props.disabled ? "rgba(255, 255, 255, 0.1)" : "linear-gradient(to right, #d4af37, #f2d35b)"};
12658
12958
  border: none;
12659
12959
  border-radius: 8px;
@@ -13371,7 +13671,7 @@ var OwnerBooking = ({ propertyName, token }) => {
13371
13671
  ] });
13372
13672
  };
13373
13673
  var owner_booking_default = OwnerBooking;
13374
- var DateSelectorDropdown = styled24.div`
13674
+ var DateSelectorDropdown = styled25.div`
13375
13675
  position: absolute;
13376
13676
  top: calc(100% + 0.5rem);
13377
13677
  left: 0;
@@ -13385,7 +13685,7 @@ var DateSelectorDropdown = styled24.div`
13385
13685
  display: ${({ $isOpen }) => $isOpen ? "block" : "none"};
13386
13686
  z-index: 10;
13387
13687
  `;
13388
- var MonthButton = styled24.button`
13688
+ var MonthButton = styled25.button`
13389
13689
  background: ${({ $isSelected }) => $isSelected ? "rgba(212, 175, 55, 0.2)" : "transparent"};
13390
13690
  border: 1px solid
13391
13691
  ${({ $isSelected }) => $isSelected ? "#d4af37" : "rgba(255, 255, 255, 0.12)"};
@@ -13401,7 +13701,7 @@ var MonthButton = styled24.button`
13401
13701
  border-color: rgba(212, 175, 55, 0.5);
13402
13702
  }
13403
13703
  `;
13404
- var DayCell = styled24.div`
13704
+ var DayCell = styled25.div`
13405
13705
  aspect-ratio: 1;
13406
13706
  display: flex;
13407
13707
  align-items: center;
@@ -13435,7 +13735,7 @@ var DayCell = styled24.div`
13435
13735
  opacity: ${({ $isCurrentMonth, $savedRangeColor }) => $isCurrentMonth ? $savedRangeColor ? 0.85 : 1 : 0.35};
13436
13736
  }
13437
13737
  `;
13438
- var AddDateRangeButton = styled24.button`
13738
+ var AddDateRangeButton = styled25.button`
13439
13739
  flex: 1;
13440
13740
  min-width: 180px;
13441
13741
  background: rgba(212, 175, 55, 0.18);
@@ -13457,21 +13757,21 @@ var AddDateRangeButton = styled24.button`
13457
13757
  cursor: not-allowed;
13458
13758
  }
13459
13759
  `;
13460
- var ConfirmButton2 = styled24(AddDateRangeButton)`
13760
+ var ConfirmButton2 = styled25(AddDateRangeButton)`
13461
13761
  flex: 0 0 auto;
13462
13762
  min-width: 140px;
13463
13763
  background: rgba(212, 175, 55, 0.35);
13464
13764
  border-color: rgba(212, 175, 55, 0.6);
13465
13765
  font-weight: 600;
13466
13766
  `;
13467
- var ReservationCard = styled24.div`
13767
+ var ReservationCard = styled25.div`
13468
13768
  background: rgba(0, 0, 0, 0.4);
13469
13769
  border-radius: 12px;
13470
13770
  padding: 1rem;
13471
13771
  margin-top: 1rem;
13472
13772
  border-left: 4px solid ${({ $accent }) => $accent};
13473
13773
  `;
13474
- var ActionButton = styled24.button`
13774
+ var ActionButton = styled25.button`
13475
13775
  background: none;
13476
13776
  border: none;
13477
13777
  color: ${({ $variant }) => $variant === "danger" ? "#ff7676" : "#d4af37"};
@@ -13921,7 +14221,7 @@ function calculatePositionFromPrice(price, undervaluedPrice, fairValue, overvalu
13921
14221
  }
13922
14222
  return 50 + 50 * (price - fairValue) / (overvaluedPrice - fairValue);
13923
14223
  }
13924
- var ValuationIndicator = styled24.div`
14224
+ var ValuationIndicator = styled25.div`
13925
14225
  background-color: rgba(50, 52, 58, 0.95);
13926
14226
  border-radius: 6px;
13927
14227
  padding: 1rem;
@@ -13943,7 +14243,7 @@ var ValuationIndicator = styled24.div`
13943
14243
  }
13944
14244
  }
13945
14245
  `;
13946
- var GaugeIndicator = styled24.div`
14246
+ var GaugeIndicator = styled25.div`
13947
14247
  position: absolute;
13948
14248
  left: ${(props) => props.position}%;
13949
14249
  top: 0.35rem;
@@ -13954,7 +14254,7 @@ var GaugeIndicator = styled24.div`
13954
14254
  background: ${(props) => props.type === "fairValue" ? "#f0b90b" : "rgba(10, 12, 18, 0.95)"};
13955
14255
  box-shadow: ${(props) => props.type === "lastPrice" ? "0 6px 18px rgba(0, 0, 0, 0.65)" : "0 6px 16px rgba(0, 0, 0, 0.45)"};
13956
14256
  `;
13957
- var GaugePriceTag = styled24.div`
14257
+ var GaugePriceTag = styled25.div`
13958
14258
  position: absolute;
13959
14259
  left: ${(props) => props.position}%;
13960
14260
  top: -46px;
@@ -13979,18 +14279,18 @@ var GaugePriceTag = styled24.div`
13979
14279
  color: var(--color-accent);
13980
14280
  }
13981
14281
  `;
13982
- var HiddenMobileChart = styled24.div`
14282
+ var HiddenMobileChart = styled25.div`
13983
14283
  display: none;
13984
14284
  @media (max-width: 480px) {
13985
14285
  display: block;
13986
14286
  }
13987
14287
  `;
13988
- var ValuationWrapper = styled24.div`
14288
+ var ValuationWrapper = styled25.div`
13989
14289
  display: flex;
13990
14290
  flex-direction: column;
13991
14291
  gap: 2rem;
13992
14292
  `;
13993
- var LoadingOverlay = styled24.div`
14293
+ var LoadingOverlay = styled25.div`
13994
14294
  margin-top: 1rem;
13995
14295
  padding: 0.75rem 1rem;
13996
14296
  border-radius: 8px;
@@ -13998,7 +14298,7 @@ var LoadingOverlay = styled24.div`
13998
14298
  color: rgba(255, 255, 255, 0.8);
13999
14299
  font-size: 0.9rem;
14000
14300
  `;
14001
- var ErrorMessage = styled24.div`
14301
+ var ErrorMessage = styled25.div`
14002
14302
  margin-top: 1rem;
14003
14303
  padding: 0.75rem 1rem;
14004
14304
  border-radius: 8px;
@@ -14007,33 +14307,33 @@ var ErrorMessage = styled24.div`
14007
14307
  font-size: 0.9rem;
14008
14308
  border: 1px solid rgba(244, 67, 54, 0.4);
14009
14309
  `;
14010
- var SectionTitle = styled24.h2`
14310
+ var SectionTitle = styled25.h2`
14011
14311
  margin: 0;
14012
14312
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
14013
14313
  font-weight: 600;
14014
14314
  color: #fff;
14015
14315
  letter-spacing: 0.01em;
14016
14316
  `;
14017
- var LoafPricingSection = styled24.div`
14317
+ var LoafPricingSection = styled25.div`
14018
14318
  background-color: rgba(30, 32, 38, 0.95);
14019
14319
  border-radius: 8px;
14020
14320
  padding: 1.25rem;
14021
14321
  margin-bottom: 1.5rem;
14022
14322
  `;
14023
- var SectionSubheading = styled24.h2`
14323
+ var SectionSubheading = styled25.h2`
14024
14324
  margin: 0;
14025
14325
  font-size: 1.1rem;
14026
14326
  font-weight: 600;
14027
14327
  color: #fff;
14028
14328
  letter-spacing: 0.02em;
14029
14329
  `;
14030
- var PricingModelCard = styled24.div`
14330
+ var PricingModelCard = styled25.div`
14031
14331
  background-color: rgba(40, 42, 48, 0.95);
14032
14332
  border-radius: 8px;
14033
14333
  padding: 1.5rem;
14034
14334
  margin-top: 1rem;
14035
14335
  `;
14036
- var PricingModelHeader = styled24.div`
14336
+ var PricingModelHeader = styled25.div`
14037
14337
  display: flex;
14038
14338
  justify-content: space-between;
14039
14339
  align-items: center;
@@ -14048,13 +14348,13 @@ var PricingModelHeader = styled24.div`
14048
14348
  color: rgba(255, 255, 255, 0.75);
14049
14349
  }
14050
14350
  `;
14051
- var PricingModelTitle = styled24.h3`
14351
+ var PricingModelTitle = styled25.h3`
14052
14352
  margin: 0;
14053
14353
  font-size: 1.2rem;
14054
14354
  font-weight: 600;
14055
14355
  color: #fff;
14056
14356
  `;
14057
- var PricingModelValue = styled24.div`
14357
+ var PricingModelValue = styled25.div`
14058
14358
  font-size: 1.4rem;
14059
14359
  font-weight: 700;
14060
14360
  color: var(--color-primary);
@@ -14063,43 +14363,43 @@ var PricingModelValue = styled24.div`
14063
14363
  font-size: 1.2rem;
14064
14364
  }
14065
14365
  `;
14066
- var PricingModelDetails = styled24.div`
14366
+ var PricingModelDetails = styled25.div`
14067
14367
  display: grid;
14068
14368
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
14069
14369
  gap: 1.5rem;
14070
14370
  margin-bottom: 1.5rem;
14071
14371
  `;
14072
- var PricingModelDetail = styled24.div`
14372
+ var PricingModelDetail = styled25.div`
14073
14373
  background-color: rgba(50, 52, 58, 0.95);
14074
14374
  border-radius: 6px;
14075
14375
  padding: 1rem;
14076
14376
  `;
14077
- var PropertyDetailLabel = styled24.div`
14377
+ var PropertyDetailLabel = styled25.div`
14078
14378
  font-size: 0.85rem;
14079
14379
  color: rgba(255, 255, 255, 0.7);
14080
14380
  margin-bottom: 0.5rem;
14081
14381
  `;
14082
- var PricingDetailValue = styled24.div`
14382
+ var PricingDetailValue = styled25.div`
14083
14383
  font-size: 1rem;
14084
14384
  color: #fff;
14085
14385
  font-weight: 500;
14086
14386
  `;
14087
- var ValuationHeader = styled24.div`
14387
+ var ValuationHeader = styled25.div`
14088
14388
  display: flex;
14089
14389
  justify-content: space-between;
14090
14390
  margin-bottom: 0.75rem;
14091
14391
  `;
14092
- var ValuationTitle = styled24.div`
14392
+ var ValuationTitle = styled25.div`
14093
14393
  font-size: 0.9rem;
14094
14394
  color: rgba(255, 255, 255, 0.7);
14095
14395
  `;
14096
- var ValuationGauge = styled24.div`
14396
+ var ValuationGauge = styled25.div`
14097
14397
  position: relative;
14098
14398
  width: 100%;
14099
14399
  padding: 1.1rem 0 2rem;
14100
14400
  margin: 0.75rem 0 1rem;
14101
14401
  `;
14102
- var GaugeBackground = styled24.div`
14402
+ var GaugeBackground = styled25.div`
14103
14403
  width: 100%;
14104
14404
  height: 18px;
14105
14405
  border-radius: 999px;
@@ -14108,21 +14408,21 @@ var GaugeBackground = styled24.div`
14108
14408
  overflow: hidden;
14109
14409
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.35), 0 8px 18px rgba(0, 0, 0, 0.25);
14110
14410
  `;
14111
- var ValuationDetails = styled24.div`
14411
+ var ValuationDetails = styled25.div`
14112
14412
  display: flex;
14113
14413
  justify-content: space-between;
14114
14414
  margin-top: 1rem;
14115
14415
  `;
14116
- var ValuationItem = styled24.div`
14416
+ var ValuationItem = styled25.div`
14117
14417
  display: flex;
14118
14418
  flex-direction: column;
14119
14419
  `;
14120
- var ValuationValue = styled24.div`
14420
+ var ValuationValue = styled25.div`
14121
14421
  font-size: 1rem;
14122
14422
  font-weight: 600;
14123
14423
  color: #fff;
14124
14424
  `;
14125
- var ChartContainer = styled24.div`
14425
+ var ChartContainer = styled25.div`
14126
14426
  width: 100%;
14127
14427
  height: 301.52px;
14128
14428
  margin-top: 1.5rem;
@@ -14131,14 +14431,14 @@ var ChartContainer = styled24.div`
14131
14431
  padding: 1rem;
14132
14432
  position: relative;
14133
14433
  `;
14134
- var ChartBackground = styled24.div`
14434
+ var ChartBackground = styled25.div`
14135
14435
  position: relative;
14136
14436
  height: 100%;
14137
14437
  width: 100%;
14138
14438
  background: rgba(255, 255, 255, 0.03);
14139
14439
  border-radius: 8px;
14140
14440
  `;
14141
- var ValuationSvg = styled24.svg`
14441
+ var ValuationSvg = styled25.svg`
14142
14442
  position: absolute;
14143
14443
  top: 10px;
14144
14444
  right: 0;
@@ -14148,7 +14448,7 @@ var ValuationSvg = styled24.svg`
14148
14448
  width: 100%;
14149
14449
  height: calc(100% - 35px);
14150
14450
  `;
14151
- var YAxisLabel = styled24.div`
14451
+ var YAxisLabel = styled25.div`
14152
14452
  position: absolute;
14153
14453
  left: -40px;
14154
14454
  font-size: 10px;
@@ -14156,7 +14456,7 @@ var YAxisLabel = styled24.div`
14156
14456
  text-align: right;
14157
14457
  padding-right: 5px;
14158
14458
  `;
14159
- var ValuationCallout = styled24.div`
14459
+ var ValuationCallout = styled25.div`
14160
14460
  display: flex;
14161
14461
  align-items: center;
14162
14462
  justify-content: space-between;
@@ -14166,7 +14466,7 @@ var ValuationCallout = styled24.div`
14166
14466
  border: 1px solid rgba(76, 175, 80, 0.2);
14167
14467
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
14168
14468
  `;
14169
- var ValuationBadge = styled24.div`
14469
+ var ValuationBadge = styled25.div`
14170
14470
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
14171
14471
  color: white;
14172
14472
  padding: 5px 12px;
@@ -14175,17 +14475,17 @@ var ValuationBadge = styled24.div`
14175
14475
  font-weight: 600;
14176
14476
  box-shadow: 0 2px 4px rgba(76, 175, 80, 0.25);
14177
14477
  `;
14178
- var AreaDemandChart = styled24.div`
14478
+ var AreaDemandChart = styled25.div`
14179
14479
  height: 60px;
14180
14480
  width: 100%;
14181
14481
  position: relative;
14182
14482
  `;
14183
- var ChartLabel = styled24.div`
14483
+ var ChartLabel = styled25.div`
14184
14484
  position: absolute;
14185
14485
  font-size: 9px;
14186
14486
  color: rgba(255, 255, 255, 0.7);
14187
14487
  `;
14188
- var RecentSalesSection = styled24.div`
14488
+ var RecentSalesSection = styled25.div`
14189
14489
  background-color: rgba(30, 32, 38, 0.95);
14190
14490
  border-radius: 8px;
14191
14491
  padding: 1.25rem;
@@ -14195,7 +14495,7 @@ var RecentSalesSection = styled24.div`
14195
14495
  position: relative;
14196
14496
  }
14197
14497
  `;
14198
- var SalesGrid = styled24.div`
14498
+ var SalesGrid = styled25.div`
14199
14499
  display: grid;
14200
14500
  grid-template-columns: repeat(3, 1fr);
14201
14501
  gap: 1.5rem;
@@ -14216,7 +14516,7 @@ var SalesGrid = styled24.div`
14216
14516
  scrollbar-width: none;
14217
14517
  }
14218
14518
  `;
14219
- var SaleCard = styled24.div`
14519
+ var SaleCard = styled25.div`
14220
14520
  background-color: var(--color-card, #1e2329);
14221
14521
  border-radius: var(--border-radius, 8px);
14222
14522
  overflow: hidden;
@@ -14240,13 +14540,13 @@ var SaleCard = styled24.div`
14240
14540
  }
14241
14541
  }
14242
14542
  `;
14243
- var SaleImageContainer = styled24.div`
14543
+ var SaleImageContainer = styled25.div`
14244
14544
  position: relative;
14245
14545
  width: 100%;
14246
14546
  height: 200px;
14247
14547
  overflow: hidden;
14248
14548
  `;
14249
- var SaleImage = styled24.img`
14549
+ var SaleImage = styled25.img`
14250
14550
  width: 100%;
14251
14551
  height: 100%;
14252
14552
  object-fit: cover;
@@ -14257,7 +14557,7 @@ var SaleImage = styled24.img`
14257
14557
  transform: scale(1.05);
14258
14558
  }
14259
14559
  `;
14260
- var SoldTag = styled24.div`
14560
+ var SoldTag = styled25.div`
14261
14561
  position: absolute;
14262
14562
  top: 1rem;
14263
14563
  right: 1rem;
@@ -14271,10 +14571,10 @@ var SoldTag = styled24.div`
14271
14571
  align-items: center;
14272
14572
  gap: 4px;
14273
14573
  `;
14274
- var SoldIcon = styled24.div`
14574
+ var SoldIcon = styled25.div`
14275
14575
  display: none;
14276
14576
  `;
14277
- var SalePriceBar = styled24.div`
14577
+ var SalePriceBar = styled25.div`
14278
14578
  display: flex;
14279
14579
  justify-content: space-between;
14280
14580
  align-items: center;
@@ -14282,37 +14582,37 @@ var SalePriceBar = styled24.div`
14282
14582
  background: linear-gradient(90deg, rgba(240, 185, 11, 0.1) 0%, rgba(240, 185, 11, 0.05) 100%);
14283
14583
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
14284
14584
  `;
14285
- var SalePriceLeft = styled24.div`
14585
+ var SalePriceLeft = styled25.div`
14286
14586
  display: flex;
14287
14587
  flex-direction: column;
14288
14588
  `;
14289
- var SalePriceLabel = styled24.span`
14589
+ var SalePriceLabel = styled25.span`
14290
14590
  font-size: 0.7rem;
14291
14591
  color: rgba(255, 255, 255, 0.5);
14292
14592
  text-transform: uppercase;
14293
14593
  letter-spacing: 0.5px;
14294
14594
  `;
14295
- var SalePriceAmount = styled24.span`
14595
+ var SalePriceAmount = styled25.span`
14296
14596
  font-size: 1.1rem;
14297
14597
  font-weight: 700;
14298
14598
  color: var(--color-accent, #f0b90b);
14299
14599
  `;
14300
- var SaleContent = styled24.div`
14600
+ var SaleContent = styled25.div`
14301
14601
  padding: 1rem;
14302
14602
  `;
14303
- var SaleAddress = styled24.h3`
14603
+ var SaleAddress = styled25.h3`
14304
14604
  margin: 0;
14305
14605
  margin-bottom: 0.25rem;
14306
14606
  font-size: 1rem;
14307
14607
  font-weight: 600;
14308
14608
  color: var(--color-text, #eaecef);
14309
14609
  `;
14310
- var SaleSuburb = styled24.div`
14610
+ var SaleSuburb = styled25.div`
14311
14611
  font-size: 0.8rem;
14312
14612
  color: var(--color-text-secondary, #848e9c);
14313
14613
  margin-bottom: 0.5rem;
14314
14614
  `;
14315
- var SaleStatsBar = styled24.div`
14615
+ var SaleStatsBar = styled25.div`
14316
14616
  display: flex;
14317
14617
  justify-content: space-between;
14318
14618
  align-items: center;
@@ -14320,7 +14620,7 @@ var SaleStatsBar = styled24.div`
14320
14620
  background-color: rgba(0, 0, 0, 0.3);
14321
14621
  border-top: 1px solid rgba(255, 255, 255, 0.05);
14322
14622
  `;
14323
- var SaleStatItem = styled24.div`
14623
+ var SaleStatItem = styled25.div`
14324
14624
  display: flex;
14325
14625
  align-items: center;
14326
14626
  gap: 0.25rem;
@@ -14333,11 +14633,11 @@ var SaleStatItem = styled24.div`
14333
14633
  opacity: 0.7;
14334
14634
  }
14335
14635
  `;
14336
- var SaleDate = styled24.div`
14636
+ var SaleDate = styled25.div`
14337
14637
  font-size: 0.75rem;
14338
14638
  color: var(--color-text-secondary, #848e9c);
14339
14639
  `;
14340
- var SwipeIndicator = styled24.div`
14640
+ var SwipeIndicator = styled25.div`
14341
14641
  display: none;
14342
14642
 
14343
14643
  @media (max-width: 768px) {
@@ -14370,7 +14670,7 @@ var pulse3 = keyframes`
14370
14670
  0%, 100% { transform: scale(1); opacity: 0.8; }
14371
14671
  50% { transform: scale(1.2); opacity: 1; }
14372
14672
  `;
14373
- var FeatureTooltip = styled24.div`
14673
+ var FeatureTooltip = styled25.div`
14374
14674
  position: absolute;
14375
14675
  transform: translate(-50%, calc(-100% - 24px));
14376
14676
  min-width: 180px;
@@ -14412,7 +14712,7 @@ var FeatureTooltip = styled24.div`
14412
14712
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.35));
14413
14713
  }
14414
14714
  `;
14415
- var GalleryOverlay = styled24.div`
14715
+ var GalleryOverlay = styled25.div`
14416
14716
  position: fixed;
14417
14717
  inset: 0;
14418
14718
  z-index: 1000;
@@ -14421,7 +14721,7 @@ var GalleryOverlay = styled24.div`
14421
14721
  flex-direction: column;
14422
14722
  animation: ${fadeIn} 0.3s ease;
14423
14723
  `;
14424
- var GalleryHeader = styled24.div`
14724
+ var GalleryHeader = styled25.div`
14425
14725
  position: relative;
14426
14726
  padding: 1.5rem 2rem;
14427
14727
  display: flex;
@@ -14437,7 +14737,7 @@ var GalleryHeader = styled24.div`
14437
14737
  padding: 1rem;
14438
14738
  }
14439
14739
  `;
14440
- var PropertyInfo = styled24.div`
14740
+ var PropertyInfo = styled25.div`
14441
14741
  color: white;
14442
14742
 
14443
14743
  h2 {
@@ -14452,7 +14752,7 @@ var PropertyInfo = styled24.div`
14452
14752
  font-size: 0.95rem;
14453
14753
  }
14454
14754
  `;
14455
- var CloseButton2 = styled24.button`
14755
+ var CloseButton2 = styled25.button`
14456
14756
  width: 48px;
14457
14757
  height: 48px;
14458
14758
  border-radius: 50%;
@@ -14470,7 +14770,7 @@ var CloseButton2 = styled24.button`
14470
14770
  transform: rotate(90deg);
14471
14771
  }
14472
14772
  `;
14473
- var MainImageContainer = styled24.div`
14773
+ var MainImageContainer = styled25.div`
14474
14774
  position: relative;
14475
14775
  flex: 1;
14476
14776
  display: flex;
@@ -14482,7 +14782,7 @@ var MainImageContainer = styled24.div`
14482
14782
  padding: 60px 0 110px;
14483
14783
  }
14484
14784
  `;
14485
- var MainImage = styled24.img`
14785
+ var MainImage = styled25.img`
14486
14786
  max-width: 90%;
14487
14787
  max-height: 100%;
14488
14788
  object-fit: contain;
@@ -14499,7 +14799,7 @@ var MainImage = styled24.img`
14499
14799
  max-width: 100%;
14500
14800
  }
14501
14801
  `;
14502
- var Hotspot = styled24.button`
14802
+ var Hotspot = styled25.button`
14503
14803
  position: absolute;
14504
14804
  width: 32px;
14505
14805
  height: 32px;
@@ -14518,7 +14818,7 @@ var Hotspot = styled24.button`
14518
14818
  transform: translate(-50%, -50%) scale(1.2);
14519
14819
  }
14520
14820
  `;
14521
- var ThumbnailStrip = styled24.div`
14821
+ var ThumbnailStrip = styled25.div`
14522
14822
  position: absolute;
14523
14823
  bottom: 0;
14524
14824
  left: 0;
@@ -14533,7 +14833,7 @@ var ThumbnailStrip = styled24.div`
14533
14833
  display: none;
14534
14834
  }
14535
14835
  `;
14536
- var Thumbnail2 = styled24.button`
14836
+ var Thumbnail2 = styled25.button`
14537
14837
  width: 86px;
14538
14838
  height: 64px;
14539
14839
  border-radius: 6px;
@@ -14554,7 +14854,7 @@ var Thumbnail2 = styled24.button`
14554
14854
  object-fit: cover;
14555
14855
  }
14556
14856
  `;
14557
- var NavigationButton = styled24.button`
14857
+ var NavigationButton = styled25.button`
14558
14858
  position: absolute;
14559
14859
  top: 50%;
14560
14860
  ${(p) => p.$dir === "prev" ? "left: 2rem;" : "right: 2rem;"}
@@ -14574,7 +14874,7 @@ var NavigationButton = styled24.button`
14574
14874
  display: none;
14575
14875
  }
14576
14876
  `;
14577
- var SliderContainer = styled24.div`
14877
+ var SliderContainer = styled25.div`
14578
14878
  position: absolute;
14579
14879
  bottom: 110px;
14580
14880
  left: 50%;
@@ -14591,21 +14891,21 @@ var SliderContainer = styled24.div`
14591
14891
  width: 85%;
14592
14892
  }
14593
14893
  `;
14594
- var SliderTrack = styled24.div`
14894
+ var SliderTrack = styled25.div`
14595
14895
  position: relative;
14596
14896
  height: 4px;
14597
14897
  background: rgba(255, 255, 255, 0.2);
14598
14898
  border-radius: 999px;
14599
14899
  cursor: pointer;
14600
14900
  `;
14601
- var SliderProgress = styled24.div`
14901
+ var SliderProgress = styled25.div`
14602
14902
  position: absolute;
14603
14903
  inset: 0;
14604
14904
  width: ${(p) => p.$progress}%;
14605
14905
  background: linear-gradient(90deg, var(--color-accent, #f0b90b), rgba(240, 185, 11, 0.5));
14606
14906
  border-radius: inherit;
14607
14907
  `;
14608
- var SliderThumb = styled24.div`
14908
+ var SliderThumb = styled25.div`
14609
14909
  position: absolute;
14610
14910
  top: 50%;
14611
14911
  left: ${(p) => p.$position}%;
@@ -14617,7 +14917,7 @@ var SliderThumb = styled24.div`
14617
14917
  border: 3px solid white;
14618
14918
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
14619
14919
  `;
14620
- var SliderLabels = styled24.div`
14920
+ var SliderLabels = styled25.div`
14621
14921
  display: flex;
14622
14922
  justify-content: space-between;
14623
14923
  margin-top: 0.75rem;
@@ -14632,7 +14932,7 @@ var SliderLabels = styled24.div`
14632
14932
  display: none;
14633
14933
  }
14634
14934
  `;
14635
- var MobileDots = styled24.div`
14935
+ var MobileDots = styled25.div`
14636
14936
  position: absolute;
14637
14937
  bottom: 1.5rem;
14638
14938
  left: 50%;
@@ -14644,7 +14944,7 @@ var MobileDots = styled24.div`
14644
14944
  display: none;
14645
14945
  }
14646
14946
  `;
14647
- var MobileDot = styled24.button`
14947
+ var MobileDot = styled25.button`
14648
14948
  width: 8px;
14649
14949
  height: 8px;
14650
14950
  border-radius: 50%;
@@ -14874,191 +15174,6 @@ function GalleryContent({ galleryImages, startIndex, title, subtitle, onClose })
14874
15174
  }
14875
15175
  );
14876
15176
  }
14877
- var slideIn = keyframes`
14878
- from { transform: translateX(110%); opacity: 0; }
14879
- to { transform: translateX(0); opacity: 1; }
14880
- `;
14881
- var slideOut = keyframes`
14882
- from { transform: translateX(0); opacity: 1; }
14883
- to { transform: translateX(110%); opacity: 0; }
14884
- `;
14885
- var progressShrink = keyframes`
14886
- from { width: 100%; }
14887
- to { width: 0%; }
14888
- `;
14889
- var VARIANT_COLORS = {
14890
- success: { accent: "#0ecb81", icon: "\u2713" },
14891
- error: { accent: "#f6465d", icon: "\u2715" },
14892
- info: { accent: "#E6C656", icon: "\u2139" },
14893
- pending: { accent: "#7EB3E6", icon: "\u25CC" }
14894
- };
14895
- var Wrapper = styled24.div`
14896
- position: relative;
14897
- display: flex;
14898
- flex-direction: column;
14899
- gap: 0;
14900
- width: 340px;
14901
- background: #0d0f1a;
14902
- border: 1px solid rgba(255, 255, 255, 0.08);
14903
- border-radius: 10px;
14904
- overflow: hidden;
14905
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255,255,255,0.04);
14906
- animation: ${({ $exiting }) => $exiting ? css`${slideOut} 0.28s cubic-bezier(0.4,0,1,1) forwards` : css`${slideIn} 0.32s cubic-bezier(0,0,0.2,1) forwards`};
14907
- pointer-events: all;
14908
- `;
14909
- var Body = styled24.div`
14910
- display: flex;
14911
- align-items: flex-start;
14912
- gap: 12px;
14913
- padding: 14px 16px 12px;
14914
- `;
14915
- var IconDot = styled24.div`
14916
- flex-shrink: 0;
14917
- width: 28px;
14918
- height: 28px;
14919
- border-radius: 50%;
14920
- background: ${({ $color }) => $color}1a;
14921
- border: 1px solid ${({ $color }) => $color}55;
14922
- display: flex;
14923
- align-items: center;
14924
- justify-content: center;
14925
- font-size: 0.75rem;
14926
- font-weight: 700;
14927
- color: ${({ $color }) => $color};
14928
- margin-top: 1px;
14929
- `;
14930
- var Content = styled24.div`
14931
- flex: 1;
14932
- min-width: 0;
14933
- `;
14934
- var Title2 = styled24.p`
14935
- margin: 0 0 2px;
14936
- font-size: 0.8rem;
14937
- font-weight: 600;
14938
- color: #fff;
14939
- letter-spacing: 0.01em;
14940
- `;
14941
- var Amount = styled24.p`
14942
- margin: 0 0 6px;
14943
- font-size: 1.05rem;
14944
- font-weight: 700;
14945
- color: #E6C656;
14946
- letter-spacing: -0.01em;
14947
- `;
14948
- var TxRow = styled24.a`
14949
- display: inline-flex;
14950
- align-items: center;
14951
- gap: 5px;
14952
- font-family: 'IBM Plex Mono', 'Space Mono', monospace;
14953
- font-size: 0.68rem;
14954
- color: rgba(255, 255, 255, 0.4);
14955
- text-decoration: none;
14956
- transition: color 0.15s;
14957
- &:hover {
14958
- color: #7EB3E6;
14959
- }
14960
- `;
14961
- var TxArrow = styled24.span`
14962
- font-size: 0.6rem;
14963
- opacity: 0.6;
14964
- `;
14965
- var CloseBtn = styled24.button`
14966
- flex-shrink: 0;
14967
- background: none;
14968
- border: none;
14969
- padding: 2px 4px;
14970
- cursor: pointer;
14971
- color: rgba(255, 255, 255, 0.25);
14972
- font-size: 0.9rem;
14973
- line-height: 1;
14974
- transition: color 0.15s;
14975
- &:hover { color: rgba(255, 255, 255, 0.7); }
14976
- `;
14977
- var ProgressBar = styled24.div`
14978
- height: 2px;
14979
- background: rgba(255, 255, 255, 0.06);
14980
- position: relative;
14981
- &::after {
14982
- content: '';
14983
- position: absolute;
14984
- left: 0;
14985
- top: 0;
14986
- height: 100%;
14987
- background: ${({ $color }) => $color};
14988
- animation: ${css`${progressShrink} ${({ $duration }) => $duration}ms linear forwards`};
14989
- }
14990
- `;
14991
- var Container3 = styled24.div`
14992
- position: fixed;
14993
- bottom: 24px;
14994
- right: 24px;
14995
- z-index: 9999;
14996
- display: flex;
14997
- flex-direction: column-reverse;
14998
- gap: 10px;
14999
- pointer-events: none;
15000
- `;
15001
- var DEFAULT_EXPLORER = "https://sepolia.basescan.org/tx/";
15002
- function truncateHash(hash) {
15003
- return `${hash.slice(0, 6)}\u2026${hash.slice(-4)}`;
15004
- }
15005
- function ToastItem({ toast, onDismiss }) {
15006
- const [exiting, setExiting] = useState(false);
15007
- const timerRef = useRef(null);
15008
- const dismiss = useCallback(() => {
15009
- setExiting(true);
15010
- setTimeout(() => onDismiss(toast.id), 280);
15011
- }, [onDismiss, toast.id]);
15012
- useEffect(() => {
15013
- const duration2 = toast.duration ?? 6e3;
15014
- if (duration2 > 0) {
15015
- timerRef.current = setTimeout(dismiss, duration2);
15016
- }
15017
- return () => {
15018
- if (timerRef.current) clearTimeout(timerRef.current);
15019
- };
15020
- }, [dismiss, toast.duration]);
15021
- const { accent, icon } = VARIANT_COLORS[toast.variant];
15022
- const duration = toast.duration ?? 6e3;
15023
- const explorerBase = toast.explorerUrl ?? DEFAULT_EXPLORER;
15024
- const txUrl = toast.txHash ? `${explorerBase}${toast.txHash}` : void 0;
15025
- return /* @__PURE__ */ jsxs(Wrapper, { $exiting: exiting, children: [
15026
- /* @__PURE__ */ jsxs(Body, { children: [
15027
- /* @__PURE__ */ jsx(IconDot, { $color: accent, children: icon }),
15028
- /* @__PURE__ */ jsxs(Content, { children: [
15029
- /* @__PURE__ */ jsx(Title2, { children: toast.title }),
15030
- toast.amount && /* @__PURE__ */ jsx(Amount, { children: toast.amount }),
15031
- toast.txHash && txUrl && /* @__PURE__ */ jsxs(TxRow, { href: txUrl, target: "_blank", rel: "noopener noreferrer", children: [
15032
- truncateHash(toast.txHash),
15033
- /* @__PURE__ */ jsx(TxArrow, { children: "\u2197" })
15034
- ] })
15035
- ] }),
15036
- /* @__PURE__ */ jsx(CloseBtn, { type: "button", onClick: dismiss, "aria-label": "Dismiss", children: "\u2715" })
15037
- ] }),
15038
- duration > 0 && /* @__PURE__ */ jsx(ProgressBar, { $color: accent, $duration: duration })
15039
- ] });
15040
- }
15041
- var ToastContext = createContext(null);
15042
- function ToastProvider({ children }) {
15043
- const [toasts, setToasts] = useState([]);
15044
- const addToast = useCallback((data) => {
15045
- const id = `toast-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;
15046
- setToasts((prev) => [...prev, { ...data, id }]);
15047
- return id;
15048
- }, []);
15049
- const dismiss = useCallback((id) => {
15050
- setToasts((prev) => prev.filter((t) => t.id !== id));
15051
- }, []);
15052
- return /* @__PURE__ */ jsxs(ToastContext.Provider, { value: { toast: addToast, dismiss }, children: [
15053
- children,
15054
- /* @__PURE__ */ jsx(Container3, { children: toasts.map((t) => /* @__PURE__ */ jsx(ToastItem, { toast: t, onDismiss: dismiss }, t.id)) })
15055
- ] });
15056
- }
15057
- function useToast() {
15058
- const ctx = useContext(ToastContext);
15059
- if (!ctx) throw new Error("useToast must be used within a ToastProvider");
15060
- return ctx;
15061
- }
15062
15177
  var INTERVALS = [1e3, 2e3, 4e3, 5e3, 7e3, 1e4, 12e3];
15063
15178
  function useAdaptivePolling({ enabled, onPoll }) {
15064
15179
  const onPollRef = useRef(onPoll);