@loafmarkets/ui 0.1.53 → 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
  ] }),
@@ -2722,17 +2735,30 @@ var PropertyNewsUpdates = React5.forwardRef(
2722
2735
  const isHomeVariant = variant === "home";
2723
2736
  const resolvedHeading = heading ?? (isPurchaseVariant ? "Live Purchases" : "Property News & Headlines");
2724
2737
  const [homeTab, setHomeTab] = React5.useState("all");
2738
+ const [homePage, setHomePage] = React5.useState(0);
2725
2739
  const purchaseItems = purchasesProp ?? [];
2726
2740
  const [page, setPage] = React5.useState(0);
2727
2741
  React5.useEffect(() => {
2728
2742
  ensureAnimationsInjected();
2729
2743
  }, []);
2744
+ React5.useEffect(() => {
2745
+ setHomePage(0);
2746
+ }, [homeTab]);
2730
2747
  const hasItems = Array.isArray(items) && items.length > 0;
2731
2748
  const totalPages = React5.useMemo(() => hasItems ? Math.max(1, Math.ceil(items.length / ITEMS_PER_PAGE)) : 1, [hasItems, items.length]);
2732
2749
  React5.useEffect(() => {
2733
2750
  setPage((prev) => Math.min(prev, totalPages - 1));
2734
2751
  }, [totalPages]);
2735
2752
  const paginatedItems = hasItems ? items.slice(page * ITEMS_PER_PAGE, page * ITEMS_PER_PAGE + ITEMS_PER_PAGE) : [];
2753
+ const homeFilteredItems = React5.useMemo(
2754
+ () => hasItems ? items.filter((it) => homeTab === "all" || it.type === homeTab) : [],
2755
+ [hasItems, items, homeTab]
2756
+ );
2757
+ const homeTotalPages = React5.useMemo(
2758
+ () => Math.max(1, Math.ceil(homeFilteredItems.length / ITEMS_PER_PAGE)),
2759
+ [homeFilteredItems.length]
2760
+ );
2761
+ const homePaginatedItems = homeFilteredItems.slice(homePage * ITEMS_PER_PAGE, (homePage + 1) * ITEMS_PER_PAGE);
2736
2762
  return /* @__PURE__ */ jsxs(
2737
2763
  "div",
2738
2764
  {
@@ -2913,26 +2939,46 @@ var PropertyNewsUpdates = React5.forwardRef(
2913
2939
  }
2914
2940
  ),
2915
2941
  /* @__PURE__ */ jsx("span", { style: { fontSize: "0.8rem", color: "rgba(255,255,255,0.4)" }, children: "Awaiting offering..." })
2916
- ] }) : isHomeVariant ? hasItems ? items.filter((it) => homeTab === "all" || it.type === homeTab).map((item, index) => {
2942
+ ] }) : isHomeVariant ? hasItems ? homePaginatedItems.map((item, index) => {
2917
2943
  const key = item.displayId ?? item.id ?? `${item.title}-${index}`;
2918
2944
  const tagType = item.type;
2919
2945
  const isProperty = tagType === "property";
2920
2946
  return /* @__PURE__ */ jsxs(
2921
- "div",
2947
+ "a",
2922
2948
  {
2949
+ href: item.url ?? "#",
2950
+ target: "_blank",
2951
+ rel: "noopener noreferrer",
2923
2952
  style: {
2924
2953
  display: "flex",
2925
2954
  justifyContent: "space-between",
2926
2955
  alignItems: "center",
2927
2956
  padding: "0.75rem 0",
2928
- borderBottom: index < items.length - 1 ? "1px solid rgba(255,255,255,0.05)" : "none",
2929
- cursor: "pointer"
2957
+ borderBottom: index < homePaginatedItems.length - 1 ? "1px solid rgba(255,255,255,0.05)" : "none",
2958
+ cursor: "pointer",
2959
+ textDecoration: "none",
2960
+ color: "inherit"
2930
2961
  },
2931
2962
  children: [
2932
2963
  /* @__PURE__ */ jsxs("div", { style: { flex: 1 }, children: [
2933
2964
  /* @__PURE__ */ jsx("h3", { style: { fontSize: "0.85rem", fontWeight: 400, marginBottom: "0.25rem", color: "#f8f9fa", lineHeight: 1.4 }, children: item.title }),
2934
- /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: "0.75rem", alignItems: "center" }, children: [
2965
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: "0.5rem", alignItems: "center", flexWrap: "wrap" }, children: [
2935
2966
  /* @__PURE__ */ jsx("span", { style: { color: "#848e9c", fontSize: "0.7rem" }, children: typeof item.date === "string" ? item.date : formatDate(item.date) }),
2967
+ item.source && /* @__PURE__ */ jsx(
2968
+ "span",
2969
+ {
2970
+ style: {
2971
+ padding: "0.1rem 0.4rem",
2972
+ borderRadius: "3px",
2973
+ fontSize: "0.62rem",
2974
+ fontWeight: 500,
2975
+ backgroundColor: "rgba(255,255,255,0.07)",
2976
+ color: "#848e9c",
2977
+ whiteSpace: "nowrap"
2978
+ },
2979
+ children: item.source
2980
+ }
2981
+ ),
2936
2982
  /* @__PURE__ */ jsx(
2937
2983
  "span",
2938
2984
  {
@@ -2972,7 +3018,22 @@ var PropertyNewsUpdates = React5.forwardRef(
2972
3018
  animation: item.isNew ? "propertyNewsSlideIn 0.5s ease-out" : void 0
2973
3019
  },
2974
3020
  children: [
2975
- /* @__PURE__ */ jsx("p", { style: { fontSize: "0.9375rem", fontWeight: 500, marginBottom: "0.35rem" }, children: item.title }),
3021
+ /* @__PURE__ */ jsx("p", { style: { fontSize: "0.9375rem", fontWeight: 500, marginBottom: "0.35rem" }, children: item.url ? /* @__PURE__ */ jsx(
3022
+ "a",
3023
+ {
3024
+ href: item.url,
3025
+ target: "_blank",
3026
+ rel: "noopener noreferrer",
3027
+ style: { color: "inherit", textDecoration: "none" },
3028
+ onMouseEnter: (e) => {
3029
+ e.currentTarget.style.textDecoration = "underline";
3030
+ },
3031
+ onMouseLeave: (e) => {
3032
+ e.currentTarget.style.textDecoration = "none";
3033
+ },
3034
+ children: item.title
3035
+ }
3036
+ ) : item.title }),
2976
3037
  /* @__PURE__ */ jsxs(
2977
3038
  "div",
2978
3039
  {
@@ -2981,10 +3042,31 @@ var PropertyNewsUpdates = React5.forwardRef(
2981
3042
  justifyContent: "space-between",
2982
3043
  alignItems: "center",
2983
3044
  fontSize: "0.75rem",
2984
- color: "#b5b8c5"
3045
+ color: "#b5b8c5",
3046
+ gap: "0.5rem"
2985
3047
  },
2986
3048
  children: [
2987
- /* @__PURE__ */ jsx("span", { style: { color: isHighlighted ? "#0ecb81" : "inherit" }, children: dateLabel }),
3049
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem", minWidth: 0 }, children: [
3050
+ /* @__PURE__ */ jsx("span", { style: { color: isHighlighted ? "#0ecb81" : "inherit", whiteSpace: "nowrap" }, children: dateLabel }),
3051
+ item.source && /* @__PURE__ */ jsx(
3052
+ "span",
3053
+ {
3054
+ style: {
3055
+ padding: "0.15rem 0.45rem",
3056
+ borderRadius: "3px",
3057
+ fontSize: "0.65rem",
3058
+ fontWeight: 500,
3059
+ backgroundColor: "rgba(255,255,255,0.07)",
3060
+ color: "#848e9c",
3061
+ whiteSpace: "nowrap",
3062
+ overflow: "hidden",
3063
+ textOverflow: "ellipsis",
3064
+ maxWidth: "120px"
3065
+ },
3066
+ children: item.source
3067
+ }
3068
+ )
3069
+ ] }),
2988
3070
  /* @__PURE__ */ jsx(
2989
3071
  "span",
2990
3072
  {
@@ -2996,7 +3078,9 @@ var PropertyNewsUpdates = React5.forwardRef(
2996
3078
  color: styles2.color,
2997
3079
  fontSize: "0.68rem",
2998
3080
  fontWeight: 600,
2999
- textTransform: "uppercase"
3081
+ textTransform: "uppercase",
3082
+ whiteSpace: "nowrap",
3083
+ flexShrink: 0
3000
3084
  },
3001
3085
  children: item.type === "property" ? styles2.label : "Market News"
3002
3086
  }
@@ -3014,6 +3098,55 @@ var PropertyNewsUpdates = React5.forwardRef(
3014
3098
  ] })
3015
3099
  }
3016
3100
  ),
3101
+ isHomeVariant && homeTotalPages > 1 ? /* @__PURE__ */ jsxs("div", { className: "mt-3 flex items-center justify-between text-xs text-white/60", children: [
3102
+ /* @__PURE__ */ jsx(
3103
+ "button",
3104
+ {
3105
+ type: "button",
3106
+ onClick: () => setHomePage((prev) => Math.max(0, prev - 1)),
3107
+ disabled: homePage === 0,
3108
+ style: {
3109
+ background: "transparent",
3110
+ border: "1px solid rgba(255,255,255,0.15)",
3111
+ borderRadius: "999px",
3112
+ padding: "0.2rem 0.75rem",
3113
+ fontSize: "0.7rem",
3114
+ textTransform: "uppercase",
3115
+ letterSpacing: "0.15em",
3116
+ cursor: homePage === 0 ? "not-allowed" : "pointer",
3117
+ opacity: homePage === 0 ? 0.4 : 1,
3118
+ color: "rgba(255,255,255,0.6)"
3119
+ },
3120
+ children: "Prev"
3121
+ }
3122
+ ),
3123
+ /* @__PURE__ */ jsxs("span", { style: { fontSize: "0.7rem", color: "rgba(255,255,255,0.5)" }, children: [
3124
+ homePage + 1,
3125
+ " / ",
3126
+ homeTotalPages
3127
+ ] }),
3128
+ /* @__PURE__ */ jsx(
3129
+ "button",
3130
+ {
3131
+ type: "button",
3132
+ onClick: () => setHomePage((prev) => Math.min(homeTotalPages - 1, prev + 1)),
3133
+ disabled: homePage >= homeTotalPages - 1,
3134
+ style: {
3135
+ background: "transparent",
3136
+ border: "1px solid rgba(255,255,255,0.15)",
3137
+ borderRadius: "999px",
3138
+ padding: "0.2rem 0.75rem",
3139
+ fontSize: "0.7rem",
3140
+ textTransform: "uppercase",
3141
+ letterSpacing: "0.15em",
3142
+ cursor: homePage >= homeTotalPages - 1 ? "not-allowed" : "pointer",
3143
+ opacity: homePage >= homeTotalPages - 1 ? 0.4 : 1,
3144
+ color: "rgba(255,255,255,0.6)"
3145
+ },
3146
+ children: "Next"
3147
+ }
3148
+ )
3149
+ ] }) : null,
3017
3150
  !isPurchaseVariant && !isHomeVariant && hasItems && totalPages > 1 ? /* @__PURE__ */ jsxs("div", { className: "mt-4 flex items-center justify-between text-xs text-white/60", children: [
3018
3151
  /* @__PURE__ */ jsx(
3019
3152
  "button",
@@ -3140,7 +3273,7 @@ var TradingSlider = React5.forwardRef(
3140
3273
  }
3141
3274
  );
3142
3275
  TradingSlider.displayName = "TradingSlider";
3143
- var MobileToggleContainer = styled24.div`
3276
+ var MobileToggleContainer = styled25.div`
3144
3277
  display: none;
3145
3278
 
3146
3279
  @media (max-width: 1024px) {
@@ -3158,7 +3291,7 @@ var MobileToggleContainer = styled24.div`
3158
3291
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.3);
3159
3292
  }
3160
3293
  `;
3161
- var MobileToggleButton = styled24.button`
3294
+ var MobileToggleButton = styled25.button`
3162
3295
  flex: 1;
3163
3296
  padding: 0.75rem;
3164
3297
  background-color: ${(props) => props.active ? "var(--color-accent)" : "transparent"};
@@ -3513,7 +3646,7 @@ var shimmer2 = keyframes`
3513
3646
  background-position: 200% 0;
3514
3647
  }
3515
3648
  `;
3516
- var LogoContainer2 = styled24.span`
3649
+ var LogoContainer2 = styled25.span`
3517
3650
  display: inline-flex;
3518
3651
  align-items: center;
3519
3652
  gap: 0.35rem;
@@ -3608,7 +3741,7 @@ var LogoContainer2 = styled24.span`
3608
3741
  pointer-events: none;
3609
3742
  }
3610
3743
  `;
3611
- var IconWrapper2 = styled24.div`
3744
+ var IconWrapper2 = styled25.div`
3612
3745
  display: flex;
3613
3746
  align-items: center;
3614
3747
  justify-content: center;
@@ -3626,7 +3759,7 @@ var IconWrapper2 = styled24.div`
3626
3759
  height: 14px;
3627
3760
  }
3628
3761
  `;
3629
- var IconCircle2 = styled24.div`
3762
+ var IconCircle2 = styled25.div`
3630
3763
  position: absolute;
3631
3764
  width: ${(props) => props.$size}px;
3632
3765
  height: ${(props) => props.$size}px;
@@ -3637,7 +3770,7 @@ var IconCircle2 = styled24.div`
3637
3770
  transform-origin: center;
3638
3771
  will-change: transform, opacity;
3639
3772
  `;
3640
- var IconCore2 = styled24.div`
3773
+ var IconCore2 = styled25.div`
3641
3774
  width: 5px;
3642
3775
  height: 5px;
3643
3776
  background: linear-gradient(135deg, #0ecb81 0%, #2ecc71 100%);
@@ -3646,7 +3779,7 @@ var IconCore2 = styled24.div`
3646
3779
  position: relative;
3647
3780
  z-index: 1;
3648
3781
  `;
3649
- var LogoText2 = styled24.span`
3782
+ var LogoText2 = styled25.span`
3650
3783
  display: inline-flex;
3651
3784
  align-items: center;
3652
3785
  gap: 0.2rem;
@@ -3654,7 +3787,7 @@ var LogoText2 = styled24.span`
3654
3787
  z-index: 1;
3655
3788
  vertical-align: middle;
3656
3789
  `;
3657
- var LoafLogoImage2 = styled24.img`
3790
+ var LoafLogoImage2 = styled25.img`
3658
3791
  height: 20px;
3659
3792
  position: relative;
3660
3793
  z-index: 1;
@@ -3667,7 +3800,7 @@ var LoafLogoImage2 = styled24.img`
3667
3800
  height: 18px;
3668
3801
  }
3669
3802
  `;
3670
- var LiquidityText2 = styled24.span`
3803
+ var LiquidityText2 = styled25.span`
3671
3804
  font-size: 0.65rem;
3672
3805
  font-weight: 400;
3673
3806
  background: linear-gradient(135deg, #f0b90b 0%, #ffd700 50%, #f0b90b 100%);
@@ -4780,14 +4913,14 @@ var PropertyHeroHeader = React5.forwardRef(
4780
4913
  }
4781
4914
  );
4782
4915
  PropertyHeroHeader.displayName = "PropertyHeroHeader";
4783
- var OuterWrapper = styled24.div`
4916
+ var OuterWrapper = styled25.div`
4784
4917
  width: 100%;
4785
4918
  margin: 0 auto;
4786
4919
  display: flex;
4787
4920
  flex-direction: column;
4788
4921
  gap: 0.5rem;
4789
4922
  `;
4790
- var HeroContainer = styled24.div`
4923
+ var HeroContainer = styled25.div`
4791
4924
  position: relative;
4792
4925
  width: calc(100vw - 1.5rem);
4793
4926
  left: 50%;
@@ -4819,7 +4952,7 @@ var HeroContainer = styled24.div`
4819
4952
  border-radius: 6px;
4820
4953
  }
4821
4954
  `;
4822
- var MobileAmenities = styled24.div`
4955
+ var MobileAmenities = styled25.div`
4823
4956
  display: none;
4824
4957
  align-items: center;
4825
4958
  justify-content: space-between;
@@ -4836,7 +4969,7 @@ var MobileAmenities = styled24.div`
4836
4969
  flex-wrap: wrap;
4837
4970
  }
4838
4971
  `;
4839
- var MobileAmenity = styled24.span`
4972
+ var MobileAmenity = styled25.span`
4840
4973
  display: inline-flex;
4841
4974
  align-items: center;
4842
4975
  gap: 0.35rem;
@@ -4845,7 +4978,7 @@ var MobileAmenity = styled24.span`
4845
4978
  background: rgba(255, 255, 255, 0.08);
4846
4979
  font-weight: 500;
4847
4980
  `;
4848
- var HeroImage = styled24.img`
4981
+ var HeroImage = styled25.img`
4849
4982
  width: 100%;
4850
4983
  height: 100%;
4851
4984
  object-fit: cover;
@@ -4859,7 +4992,7 @@ var HeroImage = styled24.img`
4859
4992
  transform: scale(1.0);
4860
4993
  transform-origin: center;
4861
4994
  `;
4862
- var HeroGradient = styled24.div`
4995
+ var HeroGradient = styled25.div`
4863
4996
  position: absolute;
4864
4997
  bottom: 0;
4865
4998
  left: 0;
@@ -4868,7 +5001,7 @@ var HeroGradient = styled24.div`
4868
5001
  z-index: 1;
4869
5002
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
4870
5003
  `;
4871
- var ActionButtons = styled24.div`
5004
+ var ActionButtons = styled25.div`
4872
5005
  display: flex;
4873
5006
  flex-wrap: wrap;
4874
5007
  align-items: center;
@@ -4883,7 +5016,7 @@ var ActionButtons = styled24.div`
4883
5016
  display: none;
4884
5017
  }
4885
5018
  `;
4886
- var InfoCard = styled24.div`
5019
+ var InfoCard = styled25.div`
4887
5020
  display: inline-block;
4888
5021
  width: fit-content;
4889
5022
  max-width: 70%;
@@ -4908,7 +5041,7 @@ var InfoCard = styled24.div`
4908
5041
  max-width: 95%;
4909
5042
  }
4910
5043
  `;
4911
- var InfoRow = styled24.div`
5044
+ var InfoRow = styled25.div`
4912
5045
  display: grid;
4913
5046
  grid-template-columns: minmax(0, 1fr) auto;
4914
5047
  align-items: center;
@@ -4919,7 +5052,7 @@ var InfoRow = styled24.div`
4919
5052
  gap: 0.5rem;
4920
5053
  }
4921
5054
  `;
4922
- var LocationText = styled24.span`
5055
+ var LocationText = styled25.span`
4923
5056
  font-size: clamp(1rem, 2.6vw, 1.25rem);
4924
5057
  color: rgba(255, 255, 255, 0.9);
4925
5058
  font-weight: 500;
@@ -4927,7 +5060,7 @@ var LocationText = styled24.span`
4927
5060
  text-overflow: ellipsis;
4928
5061
  white-space: nowrap;
4929
5062
  `;
4930
- var PriceBlock = styled24.span`
5063
+ var PriceBlock = styled25.span`
4931
5064
  display: flex;
4932
5065
  align-items: center;
4933
5066
  font-size: clamp(1rem, 2.2vw, 1.25rem);
@@ -4937,7 +5070,7 @@ var PriceBlock = styled24.span`
4937
5070
  border-left: 1px solid rgba(255, 255, 255, 0.25);
4938
5071
  min-height: 1.5rem;
4939
5072
  `;
4940
- var StatusBadge = styled24.div`
5073
+ var StatusBadge = styled25.div`
4941
5074
  position: absolute;
4942
5075
  top: 1rem;
4943
5076
  left: 1rem;
@@ -4954,7 +5087,7 @@ var StatusBadge = styled24.div`
4954
5087
  border: ${({ $isLive }) => $isLive ? "1px solid rgba(240, 185, 11, 0.5)" : "none"};
4955
5088
  backdrop-filter: blur(8px);
4956
5089
  `;
4957
- var PulsingDot = styled24.span`
5090
+ var PulsingDot = styled25.span`
4958
5091
  display: inline-block;
4959
5092
  width: 8px;
4960
5093
  height: 8px;
@@ -5477,7 +5610,7 @@ var Header = ({
5477
5610
  ] });
5478
5611
  };
5479
5612
  Header.displayName = "Header";
5480
- var SafeAreaCover = styled24.div`
5613
+ var SafeAreaCover = styled25.div`
5481
5614
  position: fixed;
5482
5615
  top: 0;
5483
5616
  left: 0;
@@ -5488,7 +5621,7 @@ var SafeAreaCover = styled24.div`
5488
5621
  z-index: 1001;
5489
5622
  pointer-events: none;
5490
5623
  `;
5491
- var Overlay = styled24.div`
5624
+ var Overlay = styled25.div`
5492
5625
  display: ${(props) => props.$isOpen ? "block" : "none"};
5493
5626
  position: fixed;
5494
5627
  top: 0;
@@ -5499,7 +5632,7 @@ var Overlay = styled24.div`
5499
5632
  backdrop-filter: blur(3px);
5500
5633
  z-index: 999;
5501
5634
  `;
5502
- var MobileOnlyButton = styled24.button.attrs({ type: "button" })`
5635
+ var MobileOnlyButton = styled25.button.attrs({ type: "button" })`
5503
5636
  display: none;
5504
5637
  background-color: ${(props) => props.$isOpen ? "rgba(240, 185, 11, 0.2)" : "#f0b90b"};
5505
5638
  color: ${(props) => props.$isOpen ? "#ffffff" : "#0b0e11"};
@@ -5530,7 +5663,7 @@ var MobileOnlyButton = styled24.button.attrs({ type: "button" })`
5530
5663
  display: flex;
5531
5664
  }
5532
5665
  `;
5533
- var HeaderContainer = styled24.header`
5666
+ var HeaderContainer = styled25.header`
5534
5667
  display: flex;
5535
5668
  justify-content: space-between;
5536
5669
  align-items: center;
@@ -5556,13 +5689,13 @@ var HeaderContainer = styled24.header`
5556
5689
  padding-top: max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px));
5557
5690
  }
5558
5691
  `;
5559
- var HeaderSpacer = styled24.div`
5692
+ var HeaderSpacer = styled25.div`
5560
5693
  width: 100%;
5561
5694
  min-height: 56px;
5562
5695
  min-height: calc(56px + max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px)));
5563
5696
  flex-shrink: 0;
5564
5697
  `;
5565
- var Logo = styled24.div`
5698
+ var Logo = styled25.div`
5566
5699
  display: flex;
5567
5700
  align-items: center;
5568
5701
  margin-right: 24px;
@@ -5583,11 +5716,11 @@ var Logo = styled24.div`
5583
5716
  }
5584
5717
  }
5585
5718
  `;
5586
- var LogoLink = styled24.a`
5719
+ var LogoLink = styled25.a`
5587
5720
  display: inline-flex;
5588
5721
  align-items: center;
5589
5722
  `;
5590
- var Nav = styled24.nav`
5723
+ var Nav = styled25.nav`
5591
5724
  display: flex;
5592
5725
  flex-direction: column;
5593
5726
 
@@ -5639,7 +5772,7 @@ var Nav = styled24.nav`
5639
5772
  }
5640
5773
  }
5641
5774
  `;
5642
- var NavLink = styled24.a`
5775
+ var NavLink = styled25.a`
5643
5776
  margin: 0 12px;
5644
5777
  color: #eaecef;
5645
5778
  font-weight: 500;
@@ -5698,7 +5831,7 @@ var NavLink = styled24.a`
5698
5831
  }
5699
5832
  }
5700
5833
  `;
5701
- var Button2 = styled24.button.attrs({ type: "button" })`
5834
+ var Button2 = styled25.button.attrs({ type: "button" })`
5702
5835
  padding: 0.5rem 1rem;
5703
5836
  border-radius: 6px;
5704
5837
  font-weight: 500;
@@ -5736,7 +5869,7 @@ var Button2 = styled24.button.attrs({ type: "button" })`
5736
5869
  margin-left: 0.5rem;
5737
5870
  }
5738
5871
  `;
5739
- var UserMenu = styled24.div`
5872
+ var UserMenu = styled25.div`
5740
5873
  position: relative;
5741
5874
  margin-left: 0.75rem;
5742
5875
  height: 56px;
@@ -5747,7 +5880,7 @@ var UserMenu = styled24.div`
5747
5880
  margin-left: auto;
5748
5881
  }
5749
5882
  `;
5750
- var UserButton = styled24.button.attrs({ type: "button" })`
5883
+ var UserButton = styled25.button.attrs({ type: "button" })`
5751
5884
  display: flex;
5752
5885
  align-items: center;
5753
5886
  background: transparent;
@@ -5772,7 +5905,7 @@ var UserButton = styled24.button.attrs({ type: "button" })`
5772
5905
  transform: ${(props) => props.$isOpen ? "rotate(180deg)" : "rotate(0)"};
5773
5906
  }
5774
5907
  `;
5775
- var DropdownMenu = styled24.div`
5908
+ var DropdownMenu = styled25.div`
5776
5909
  position: absolute;
5777
5910
  top: 100%;
5778
5911
  /* Anchor to the button's right edge so a short label (narrow button) near
@@ -5800,7 +5933,7 @@ var DropdownMenu = styled24.div`
5800
5933
  display: block;
5801
5934
  }
5802
5935
  `;
5803
- var MenuItem = styled24.div`
5936
+ var MenuItem = styled25.div`
5804
5937
  padding: 0.75rem 1.25rem;
5805
5938
  cursor: pointer;
5806
5939
  transition: all 0.2s ease;
@@ -5820,7 +5953,7 @@ var MenuItem = styled24.div`
5820
5953
  color: #f6465d;
5821
5954
  }
5822
5955
  `;
5823
- var MobileMenuHeader = styled24.div`
5956
+ var MobileMenuHeader = styled25.div`
5824
5957
  display: flex;
5825
5958
  justify-content: flex-end;
5826
5959
  align-items: center;
@@ -5829,7 +5962,7 @@ var MobileMenuHeader = styled24.div`
5829
5962
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
5830
5963
  background: rgba(0, 0, 0, 0.2);
5831
5964
  `;
5832
- var MobileMenuClose = styled24.button.attrs({ type: "button" })`
5965
+ var MobileMenuClose = styled25.button.attrs({ type: "button" })`
5833
5966
  background: none;
5834
5967
  border: none;
5835
5968
  color: #eaecef;
@@ -5840,7 +5973,7 @@ var MobileMenuClose = styled24.button.attrs({ type: "button" })`
5840
5973
  align-items: center;
5841
5974
  justify-content: center;
5842
5975
  `;
5843
- var SearchBar = styled24.div`
5976
+ var SearchBar = styled25.div`
5844
5977
  display: flex;
5845
5978
  align-items: center;
5846
5979
  background: rgba(255, 255, 255, 0.03);
@@ -5876,7 +6009,7 @@ var SearchBar = styled24.div`
5876
6009
  }
5877
6010
  }
5878
6011
  `;
5879
- var MobileNavItem = styled24.div`
6012
+ var MobileNavItem = styled25.div`
5880
6013
  display: flex;
5881
6014
  align-items: center;
5882
6015
  padding: 14px 20px;
@@ -6616,7 +6749,7 @@ var LoginPopup = ({
6616
6749
  }
6617
6750
  return null;
6618
6751
  };
6619
- var Overlay2 = styled24.div`
6752
+ var Overlay2 = styled25.div`
6620
6753
  position: fixed;
6621
6754
  top: 0;
6622
6755
  left: 0;
@@ -6639,7 +6772,7 @@ var Overlay2 = styled24.div`
6639
6772
  }
6640
6773
  }
6641
6774
  `;
6642
- var PopupContainer = styled24.div`
6775
+ var PopupContainer = styled25.div`
6643
6776
  background-color: var(--color-background, #0a0a0a);
6644
6777
  border: 1px solid rgba(230, 198, 86, 0.3);
6645
6778
  border-radius: var(--border-radius, 12px);
@@ -6666,7 +6799,7 @@ var PopupContainer = styled24.div`
6666
6799
  max-width: 90%;
6667
6800
  }
6668
6801
  `;
6669
- var KycPopupContainer = styled24.div`
6802
+ var KycPopupContainer = styled25.div`
6670
6803
  background-color: var(--color-background, #0a0a0a);
6671
6804
  border: 1px solid rgba(230, 198, 86, 0.3);
6672
6805
  border-radius: var(--border-radius, 12px);
@@ -6694,7 +6827,7 @@ var KycPopupContainer = styled24.div`
6694
6827
  max-width: 95%;
6695
6828
  }
6696
6829
  `;
6697
- var KycWidgetContainer = styled24.div`
6830
+ var KycWidgetContainer = styled25.div`
6698
6831
  min-height: 500px;
6699
6832
  width: 100%;
6700
6833
  display: flex;
@@ -6702,7 +6835,7 @@ var KycWidgetContainer = styled24.div`
6702
6835
  position: relative;
6703
6836
  gap: 0.75rem;
6704
6837
  `;
6705
- var InlineCloseButton = styled24.button`
6838
+ var InlineCloseButton = styled25.button`
6706
6839
  position: absolute;
6707
6840
  top: -12px;
6708
6841
  right: -12px;
@@ -6728,7 +6861,7 @@ var InlineCloseButton = styled24.button`
6728
6861
  height: 18px;
6729
6862
  }
6730
6863
  `;
6731
- var CloseButton = styled24.button`
6864
+ var CloseButton = styled25.button`
6732
6865
  position: absolute;
6733
6866
  top: 1rem;
6734
6867
  right: 1rem;
@@ -6747,7 +6880,7 @@ var CloseButton = styled24.button`
6747
6880
  color: var(--color-accent, #e6c656);
6748
6881
  }
6749
6882
  `;
6750
- var Title = styled24.h2`
6883
+ var Title = styled25.h2`
6751
6884
  font-size: 1.75rem;
6752
6885
  font-weight: 600;
6753
6886
  color: var(--color-text, #eaecef);
@@ -6759,21 +6892,21 @@ var Title = styled24.h2`
6759
6892
  justify-content: center;
6760
6893
  gap: 1rem;
6761
6894
  `;
6762
- var LogoContainer3 = styled24.div`
6895
+ var LogoContainer3 = styled25.div`
6763
6896
  display: flex;
6764
6897
  justify-content: center;
6765
6898
  margin-bottom: 0.5rem;
6766
6899
  `;
6767
- var LogoImage = styled24.img`
6900
+ var LogoImage = styled25.img`
6768
6901
  height: 60px;
6769
6902
  `;
6770
- var ButtonsContainer = styled24.div`
6903
+ var ButtonsContainer = styled25.div`
6771
6904
  display: flex;
6772
6905
  flex-direction: column;
6773
6906
  gap: 1rem;
6774
6907
  margin-bottom: 1.5rem;
6775
6908
  `;
6776
- var LoginButton = styled24.button`
6909
+ var LoginButton = styled25.button`
6777
6910
  display: flex;
6778
6911
  align-items: center;
6779
6912
  justify-content: center;
@@ -6799,7 +6932,7 @@ var LoginButton = styled24.button`
6799
6932
  color: var(--color-accent, #e6c656);
6800
6933
  }
6801
6934
  `;
6802
- var Divider = styled24.div`
6935
+ var Divider = styled25.div`
6803
6936
  display: flex;
6804
6937
  align-items: center;
6805
6938
  margin: 1.5rem 0;
@@ -6812,13 +6945,13 @@ var Divider = styled24.div`
6812
6945
  background-color: rgba(230, 198, 86, 0.2);
6813
6946
  }
6814
6947
  `;
6815
- var InfoText = styled24.p`
6948
+ var InfoText = styled25.p`
6816
6949
  color: var(--color-text-secondary, #848e9c);
6817
6950
  font-size: 0.875rem;
6818
6951
  text-align: center;
6819
6952
  line-height: 1.5;
6820
6953
  `;
6821
- var AnnotationContainer = styled24.div`
6954
+ var AnnotationContainer = styled25.div`
6822
6955
  display: flex;
6823
6956
  flex-direction: column;
6824
6957
  gap: 0.75rem;
@@ -6826,7 +6959,7 @@ var AnnotationContainer = styled24.div`
6826
6959
  padding-top: 1.5rem;
6827
6960
  border-top: 1px solid rgba(230, 198, 86, 0.2);
6828
6961
  `;
6829
- var Annotation = styled24.div`
6962
+ var Annotation = styled25.div`
6830
6963
  display: flex;
6831
6964
  align-items: flex-start;
6832
6965
  gap: 1rem;
@@ -6841,22 +6974,22 @@ var Annotation = styled24.div`
6841
6974
  color: var(--color-accent, #e6c656);
6842
6975
  }
6843
6976
  `;
6844
- var AnnotationText = styled24.span`
6977
+ var AnnotationText = styled25.span`
6845
6978
  flex: 1;
6846
6979
  line-height: 1.4;
6847
6980
  `;
6848
- var AnnotationLabel = styled24.span`
6981
+ var AnnotationLabel = styled25.span`
6849
6982
  color: var(--color-text, #eaecef);
6850
6983
  font-weight: 500;
6851
6984
  margin-right: 0.25rem;
6852
6985
  `;
6853
- var EmailFormContainer = styled24.div`
6986
+ var EmailFormContainer = styled25.div`
6854
6987
  display: flex;
6855
6988
  flex-direction: column;
6856
6989
  gap: 1rem;
6857
6990
  margin-bottom: 1.5rem;
6858
6991
  `;
6859
- var EmailInput = styled24.input`
6992
+ var EmailInput = styled25.input`
6860
6993
  width: 100%;
6861
6994
  padding: 1rem 1.25rem;
6862
6995
  background-color: var(--color-background-light, #1a1a1a);
@@ -6875,12 +7008,12 @@ var EmailInput = styled24.input`
6875
7008
  color: var(--color-text-secondary, #848e9c);
6876
7009
  }
6877
7010
  `;
6878
- var OTPContainer = styled24.div`
7011
+ var OTPContainer = styled25.div`
6879
7012
  display: flex;
6880
7013
  gap: 0.5rem;
6881
7014
  justify-content: center;
6882
7015
  `;
6883
- var OTPInput = styled24.input`
7016
+ var OTPInput = styled25.input`
6884
7017
  width: 48px;
6885
7018
  height: 56px;
6886
7019
  text-align: center;
@@ -6898,7 +7031,7 @@ var OTPInput = styled24.input`
6898
7031
  box-shadow: 0 0 0 2px rgba(230, 198, 86, 0.2);
6899
7032
  }
6900
7033
  `;
6901
- var SubmitButton = styled24.button`
7034
+ var SubmitButton = styled25.button`
6902
7035
  width: 100%;
6903
7036
  padding: 0.85rem;
6904
7037
  background-color: var(--color-accent, #e6c656);
@@ -6921,7 +7054,7 @@ var SubmitButton = styled24.button`
6921
7054
  cursor: not-allowed;
6922
7055
  }
6923
7056
  `;
6924
- var BackButton = styled24.button`
7057
+ var BackButton = styled25.button`
6925
7058
  background: none;
6926
7059
  border: none;
6927
7060
  color: var(--color-text-secondary, #848e9c);
@@ -6936,13 +7069,13 @@ var BackButton = styled24.button`
6936
7069
  color: var(--color-accent, #e6c656);
6937
7070
  }
6938
7071
  `;
6939
- var StatusMessage = styled24.p`
7072
+ var StatusMessage = styled25.p`
6940
7073
  color: ${(props) => props.$error ? "#f6465d" : "#0ecb81"};
6941
7074
  font-size: 0.875rem;
6942
7075
  text-align: center;
6943
7076
  margin-top: 0.5rem;
6944
7077
  `;
6945
- var OnboardingStepContainer = styled24.div`
7078
+ var OnboardingStepContainer = styled25.div`
6946
7079
  display: flex;
6947
7080
  flex-direction: column;
6948
7081
  align-items: center;
@@ -6950,25 +7083,25 @@ var OnboardingStepContainer = styled24.div`
6950
7083
  padding: 0.25rem 0;
6951
7084
  gap: 0.5rem;
6952
7085
  `;
6953
- var OnboardingHeading = styled24.h2`
7086
+ var OnboardingHeading = styled25.h2`
6954
7087
  font-size: 1.2rem;
6955
7088
  font-weight: 600;
6956
7089
  color: var(--color-text, #eaecef);
6957
7090
  margin: 0;
6958
7091
  `;
6959
- var OnboardingSubtext = styled24.p`
7092
+ var OnboardingSubtext = styled25.p`
6960
7093
  font-size: 0.95rem;
6961
7094
  color: var(--color-text-secondary, #848e9c);
6962
7095
  line-height: 1.6;
6963
7096
  margin-bottom: 2rem;
6964
7097
  `;
6965
- var OnboardingButtonGroup = styled24.div`
7098
+ var OnboardingButtonGroup = styled25.div`
6966
7099
  display: flex;
6967
7100
  flex-direction: column;
6968
7101
  gap: 0.75rem;
6969
7102
  width: 100%;
6970
7103
  `;
6971
- var OnboardingSkipButton = styled24.button`
7104
+ var OnboardingSkipButton = styled25.button`
6972
7105
  width: 100%;
6973
7106
  padding: 0.75rem 0.9rem;
6974
7107
  background-color: rgba(255, 255, 255, 0.05);
@@ -6985,7 +7118,7 @@ var OnboardingSkipButton = styled24.button`
6985
7118
  color: var(--color-text, #eaecef);
6986
7119
  }
6987
7120
  `;
6988
- var ModalOptionCard = styled24.button`
7121
+ var ModalOptionCard = styled25.button`
6989
7122
  display: flex;
6990
7123
  align-items: center;
6991
7124
  gap: 1rem;
@@ -7008,7 +7141,7 @@ var ModalOptionCard = styled24.button`
7008
7141
  cursor: not-allowed;
7009
7142
  }
7010
7143
  `;
7011
- var FundingPopupContainer = styled24.div`
7144
+ var FundingPopupContainer = styled25.div`
7012
7145
  background-color: var(--color-background, #0a0a0a);
7013
7146
  border: 1px solid rgba(230, 198, 86, 0.3);
7014
7147
  border-radius: var(--border-radius, 12px);
@@ -7036,7 +7169,7 @@ var FundingPopupContainer = styled24.div`
7036
7169
  max-width: 95%;
7037
7170
  }
7038
7171
  `;
7039
- var TransakWidgetContainer = styled24.div`
7172
+ var TransakWidgetContainer = styled25.div`
7040
7173
  width: 100%;
7041
7174
  height: 700px;
7042
7175
  display: flex;
@@ -7048,7 +7181,7 @@ var TransakWidgetContainer = styled24.div`
7048
7181
  height: 600px;
7049
7182
  }
7050
7183
  `;
7051
- var TransakIframe = styled24.iframe`
7184
+ var TransakIframe = styled25.iframe`
7052
7185
  width: 100%;
7053
7186
  height: 100%;
7054
7187
  border: none;
@@ -7385,7 +7518,7 @@ var PropertyCompareBar = React5.forwardRef(
7385
7518
  }
7386
7519
  );
7387
7520
  PropertyCompareBar.displayName = "PropertyCompareBar";
7388
- var PropertySelectorContainer = styled24.div`
7521
+ var PropertySelectorContainer = styled25.div`
7389
7522
  display: flex;
7390
7523
  align-items: center;
7391
7524
  justify-content: space-between;
@@ -7439,7 +7572,7 @@ var PropertySelectorContainer = styled24.div`
7439
7572
  `};
7440
7573
  }
7441
7574
  `;
7442
- var PropertySelector = styled24.div`
7575
+ var PropertySelector = styled25.div`
7443
7576
  position: relative;
7444
7577
  display: flex;
7445
7578
  align-items: center;
@@ -7453,7 +7586,7 @@ var PropertySelector = styled24.div`
7453
7586
  }
7454
7587
  }
7455
7588
  `;
7456
- var PropertyAddress = styled24.div`
7589
+ var PropertyAddress = styled25.div`
7457
7590
  font-size: 1.125rem;
7458
7591
  font-weight: 600;
7459
7592
  display: flex;
@@ -7474,7 +7607,7 @@ var PropertyAddress = styled24.div`
7474
7607
  white-space: normal;
7475
7608
  }
7476
7609
  `;
7477
- var PropertySelectorDropdown = styled24.div`
7610
+ var PropertySelectorDropdown = styled25.div`
7478
7611
  position: absolute;
7479
7612
  top: calc(100% + 12px);
7480
7613
  left: 0;
@@ -7494,7 +7627,7 @@ var PropertySelectorDropdown = styled24.div`
7494
7627
  to { opacity: 1; transform: translateY(0); }
7495
7628
  }
7496
7629
  `;
7497
- var PropertySelectorOption = styled24.div`
7630
+ var PropertySelectorOption = styled25.div`
7498
7631
  padding: 1.25rem 1.5rem;
7499
7632
  transition: all 0.2s ease;
7500
7633
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
@@ -7520,13 +7653,13 @@ var PropertySelectorOption = styled24.div`
7520
7653
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0%, transparent 100%);
7521
7654
  }
7522
7655
  `;
7523
- var PropertySelectorName = styled24.div`
7656
+ var PropertySelectorName = styled25.div`
7524
7657
  font-weight: 600;
7525
7658
  font-size: 1rem;
7526
7659
  color: #ffffff;
7527
7660
  margin-bottom: 0.15rem;
7528
7661
  `;
7529
- var PropertySelectorSubtitle = styled24.div`
7662
+ var PropertySelectorSubtitle = styled25.div`
7530
7663
  font-size: 0.875rem;
7531
7664
  color: rgba(255, 255, 255, 0.5);
7532
7665
  span {
@@ -7535,7 +7668,7 @@ var PropertySelectorSubtitle = styled24.div`
7535
7668
  font-size: 0.75rem;
7536
7669
  }
7537
7670
  `;
7538
- var PropertyValueBlock = styled24.div`
7671
+ var PropertyValueBlock = styled25.div`
7539
7672
  display: flex;
7540
7673
  align-items: center;
7541
7674
  gap: 0.5rem;
@@ -7603,7 +7736,7 @@ var PropertyValueBlock = styled24.div`
7603
7736
  white-space: normal;
7604
7737
  }
7605
7738
  `;
7606
- var PropertyValueLabel = styled24.span`
7739
+ var PropertyValueLabel = styled25.span`
7607
7740
  font-size: 0.7rem;
7608
7741
  color: var(--color-text-secondary, rgba(255, 255, 255, 0.6));
7609
7742
  text-transform: uppercase;
@@ -7614,7 +7747,7 @@ var PropertyValueLabel = styled24.span`
7614
7747
  letter-spacing: 0.4px;
7615
7748
  }
7616
7749
  `;
7617
- var PropertyValueAmount = styled24.span`
7750
+ var PropertyValueAmount = styled25.span`
7618
7751
  font-size: 1.1rem;
7619
7752
  font-weight: 600;
7620
7753
  color: #fff;
@@ -7623,7 +7756,7 @@ var PropertyValueAmount = styled24.span`
7623
7756
  font-size: 0.95rem;
7624
7757
  }
7625
7758
  `;
7626
- var PropertyValueChange = styled24.span`
7759
+ var PropertyValueChange = styled25.span`
7627
7760
  font-size: 0.75rem;
7628
7761
  font-weight: 500;
7629
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)"};
@@ -7632,7 +7765,7 @@ var PropertyValueChange = styled24.span`
7632
7765
  font-size: 0.65rem;
7633
7766
  }
7634
7767
  `;
7635
- var PriceBlock2 = styled24.div`
7768
+ var PriceBlock2 = styled25.div`
7636
7769
  display: none;
7637
7770
 
7638
7771
  ${({ $variant }) => $variant === "pill" && css`
@@ -7647,13 +7780,13 @@ var PriceBlock2 = styled24.div`
7647
7780
  }
7648
7781
  `}
7649
7782
  `;
7650
- var PriceAmount = styled24.span`
7783
+ var PriceAmount = styled25.span`
7651
7784
  font-size: 1.6rem;
7652
7785
  font-weight: 600;
7653
7786
  color: #fff;
7654
7787
  letter-spacing: 0.2px;
7655
7788
  `;
7656
- var PriceChange = styled24.span`
7789
+ var PriceChange = styled25.span`
7657
7790
  font-size: 0.85rem;
7658
7791
  font-weight: 500;
7659
7792
  display: inline-flex;
@@ -7788,7 +7921,7 @@ function GalleryMapSection({
7788
7921
  ] })
7789
7922
  ] });
7790
7923
  }
7791
- var Row = styled24.div`
7924
+ var Row = styled25.div`
7792
7925
  display: grid;
7793
7926
  grid-template-columns: 2fr 1fr;
7794
7927
  gap: 1.5rem;
@@ -7799,14 +7932,14 @@ var Row = styled24.div`
7799
7932
  width: 100%;
7800
7933
  @media (max-width: 1024px) { grid-template-columns: 1fr; }
7801
7934
  `;
7802
- var PanelBase = styled24.div`
7935
+ var PanelBase = styled25.div`
7803
7936
  background: var(--color-card-darker, #111);
7804
7937
  border-radius: 8px;
7805
7938
  padding: 1rem;
7806
7939
  display: flex;
7807
7940
  flex-direction: column;
7808
7941
  `;
7809
- var PanelHeader = styled24.div`
7942
+ var PanelHeader = styled25.div`
7810
7943
  display: flex;
7811
7944
  justify-content: space-between;
7812
7945
  align-items: center;
@@ -7821,32 +7954,32 @@ var PanelHeader = styled24.div`
7821
7954
  }
7822
7955
  span { font-size: 0.75rem; color: var(--color-text-secondary); }
7823
7956
  `;
7824
- var GalleryPanel = styled24(PanelBase)`
7957
+ var GalleryPanel = styled25(PanelBase)`
7825
7958
  min-width: 0; overflow: hidden;
7826
7959
  `;
7827
- var Carousel = styled24.div`
7960
+ var Carousel = styled25.div`
7828
7961
  position: relative; width: 100%; overflow: hidden; border-radius: 8px;
7829
7962
  `;
7830
- var VideoOverlay = styled24.div`
7963
+ var VideoOverlay = styled25.div`
7831
7964
  position: absolute; inset: 0; z-index: 3; background: #000; border-radius: 8px;
7832
7965
  display: flex; align-items: center; justify-content: center;
7833
7966
  `;
7834
- var Track = styled24.div`
7967
+ var Track = styled25.div`
7835
7968
  display: flex; transition: transform 0.4s ease;
7836
7969
  `;
7837
- var Slide = styled24.div`
7970
+ var Slide = styled25.div`
7838
7971
  min-width: 100%; position: relative; cursor: pointer;
7839
7972
  img { width: 100%; height: 315px; object-fit: cover; border-radius: 8px; }
7840
7973
  @media (max-width: 768px) { img { height: 155px; } }
7841
7974
  `;
7842
- var SlideCaption = styled24.div`
7975
+ var SlideCaption = styled25.div`
7843
7976
  position: absolute; bottom: 0; left: 0; right: 0; padding: 1rem;
7844
7977
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
7845
7978
  border-radius: 0 0 8px 8px;
7846
7979
  h4 { margin: 0; font-size: 0.95rem; font-weight: 600; color: #fff; }
7847
7980
  p { margin: 0.25rem 0 0; font-size: 0.75rem; color: rgba(255,255,255,0.7); }
7848
7981
  `;
7849
- var CarouselButton = styled24.button`
7982
+ var CarouselButton = styled25.button`
7850
7983
  position: absolute; top: 50%; transform: translateY(-50%);
7851
7984
  background: rgba(0,0,0,0.8); border: 2px solid rgba(255,255,255,0.3);
7852
7985
  color: white; width: 56px; height: 56px; border-radius: 50%;
@@ -7857,30 +7990,30 @@ var CarouselButton = styled24.button`
7857
7990
  svg { width: 28px; height: 28px; stroke: #fff; }
7858
7991
  @media (max-width: 768px) { width: 36px; height: 36px; svg { width: 18px; height: 18px; } }
7859
7992
  `;
7860
- var ThumbStrip = styled24.div`
7993
+ var ThumbStrip = styled25.div`
7861
7994
  display: flex; align-items: center; gap: 0; margin-top: 1rem;
7862
7995
  `;
7863
- var ThumbScroll = styled24.div`
7996
+ var ThumbScroll = styled25.div`
7864
7997
  display: flex; gap: 0.5rem; overflow-x: auto; flex: 1; min-width: 0;
7865
7998
  padding-bottom: 0.5rem;
7866
7999
  scrollbar-width: none;
7867
8000
  &::-webkit-scrollbar { display: none; }
7868
8001
  `;
7869
- var Thumbnail = styled24.div`
8002
+ var Thumbnail = styled25.div`
7870
8003
  min-width: 60px; height: 45px; border-radius: 4px; overflow: hidden;
7871
8004
  cursor: pointer; border: 2px solid transparent; opacity: 0.6;
7872
8005
  transition: all 0.2s ease; flex-shrink: 0;
7873
8006
  &[data-active='true'] { border-color: #D4AF37; opacity: 1; }
7874
8007
  img { width: 100%; height: 100%; object-fit: cover; }
7875
8008
  `;
7876
- var ThumbDivider = styled24.div`
8009
+ var ThumbDivider = styled25.div`
7877
8010
  width: 1px; height: 36px; background: rgba(255,255,255,0.15);
7878
8011
  margin: 0 0.5rem; flex-shrink: 0; align-self: center;
7879
8012
  `;
7880
- var FixedButtons = styled24.div`
8013
+ var FixedButtons = styled25.div`
7881
8014
  display: flex; gap: 0.4rem; flex-shrink: 0; align-self: center;
7882
8015
  `;
7883
- var FixedBtn = styled24.button`
8016
+ var FixedBtn = styled25.button`
7884
8017
  height: 45px; padding: 0 0.75rem; border-radius: 4px;
7885
8018
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
7886
8019
  cursor: pointer; transition: all 0.2s ease;
@@ -7889,7 +8022,7 @@ var FixedBtn = styled24.button`
7889
8022
  color: ${(p) => p.$active ? "#D4AF37" : "rgba(255,255,255,0.7)"};
7890
8023
  font-size: 0.75rem; font-weight: 500; letter-spacing: 0.02em; white-space: nowrap;
7891
8024
  `;
7892
- var CategoryRow = styled24.div`
8025
+ var CategoryRow = styled25.div`
7893
8026
  display: flex; justify-content: center; gap: 0.5rem; margin-top: 0.75rem;
7894
8027
  overflow-x: auto; -webkit-overflow-scrolling: touch;
7895
8028
  scrollbar-width: none; &::-webkit-scrollbar { display: none; }
@@ -7901,14 +8034,14 @@ var CategoryRow = styled24.div`
7901
8034
  }
7902
8035
  button[data-active='true'] { background: rgba(212,175,55,0.2); border-color: #D4AF37; color: #D4AF37; }
7903
8036
  `;
7904
- var MapPanel = styled24(PanelBase)`
8037
+ var MapPanel = styled25(PanelBase)`
7905
8038
  min-height: 280px; padding: 1.5rem;
7906
8039
  min-width: 0; overflow: hidden;
7907
8040
  `;
7908
- var MapFrame = styled24.div`
8041
+ var MapFrame = styled25.div`
7909
8042
  flex: 1; border-radius: 6px; overflow: hidden; min-height: 280px; position: relative;
7910
8043
  `;
7911
- var IframeShield = styled24.div`
8044
+ var IframeShield = styled25.div`
7912
8045
  position: absolute; inset: 0; z-index: 1; cursor: pointer;
7913
8046
  `;
7914
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: [
@@ -8121,43 +8254,43 @@ function PropertyOverview({
8121
8254
  ] })
8122
8255
  ] });
8123
8256
  }
8124
- var TopGrid = styled24.div`
8257
+ var TopGrid = styled25.div`
8125
8258
  display: grid;
8126
8259
  grid-template-columns: 1fr 1fr;
8127
8260
  gap: 2rem;
8128
8261
  margin-bottom: 2rem;
8129
8262
  @media (max-width: 768px) { grid-template-columns: 1fr; }
8130
8263
  `;
8131
- var Panel = styled24.div`
8264
+ var Panel = styled25.div`
8132
8265
  background: #111;
8133
8266
  border-radius: 12px;
8134
8267
  padding: 1.5rem;
8135
8268
  `;
8136
- var PanelHeading = styled24.h2`
8269
+ var PanelHeading = styled25.h2`
8137
8270
  font-size: 1.25rem;
8138
8271
  margin-bottom: 1rem;
8139
8272
  color: #fff;
8140
8273
  font-weight: 600;
8141
8274
  `;
8142
- var DescriptionWrap = styled24.div`
8275
+ var DescriptionWrap = styled25.div`
8143
8276
  position: relative;
8144
8277
  max-height: ${(p) => p.$expanded ? "2000px" : "150px"};
8145
8278
  overflow: hidden;
8146
8279
  transition: max-height 0.3s ease;
8147
8280
  `;
8148
- var DescFade = styled24.div`
8281
+ var DescFade = styled25.div`
8149
8282
  position: absolute;
8150
8283
  bottom: 0; left: 0; right: 0;
8151
8284
  height: 60px;
8152
8285
  background: linear-gradient(to bottom, rgba(17,17,17,0), #111);
8153
8286
  pointer-events: none;
8154
8287
  `;
8155
- var ButtonRow = styled24.div`
8288
+ var ButtonRow = styled25.div`
8156
8289
  margin-top: 1.5rem;
8157
8290
  display: flex;
8158
8291
  gap: 0.75rem;
8159
8292
  `;
8160
- var OutlineBtn = styled24.button`
8293
+ var OutlineBtn = styled25.button`
8161
8294
  padding: 0.55rem 1.35rem;
8162
8295
  border-radius: 10px;
8163
8296
  border: 1px solid rgba(255,255,255,0.28);
@@ -8167,7 +8300,7 @@ var OutlineBtn = styled24.button`
8167
8300
  font-weight: 600;
8168
8301
  cursor: pointer;
8169
8302
  `;
8170
- var PrimaryBtn = styled24.button`
8303
+ var PrimaryBtn = styled25.button`
8171
8304
  padding: 0.75rem 1.5rem;
8172
8305
  border-radius: 4px;
8173
8306
  border: none;
@@ -8177,26 +8310,26 @@ var PrimaryBtn = styled24.button`
8177
8310
  font-weight: 600;
8178
8311
  cursor: pointer;
8179
8312
  `;
8180
- var FinancialGrid = styled24.div`
8313
+ var FinancialGrid = styled25.div`
8181
8314
  display: grid;
8182
8315
  grid-template-columns: 1fr 1fr;
8183
8316
  gap: 0.75rem;
8184
8317
  `;
8185
- var FinancialCard = styled24.div`
8318
+ var FinancialCard = styled25.div`
8186
8319
  background: rgba(255,255,255,0.03);
8187
8320
  border-radius: 10px;
8188
8321
  padding: 1rem 1.25rem;
8189
8322
  border: 1px solid ${(p) => p.$gold ? "rgba(212,175,55,0.3)" : "rgba(255,255,255,0.06)"};
8190
8323
  position: relative;
8191
8324
  `;
8192
- var BadgeSpan = styled24.span`
8325
+ var BadgeSpan = styled25.span`
8193
8326
  position: absolute;
8194
8327
  top: 0.5rem; right: 0.75rem;
8195
8328
  font-size: 0.65rem;
8196
8329
  color: #4CAF50;
8197
8330
  display: flex; align-items: center; gap: 4px;
8198
8331
  `;
8199
- var FinancialLabel = styled24.div`
8332
+ var FinancialLabel = styled25.div`
8200
8333
  font-size: 0.65rem;
8201
8334
  color: ${(p) => p.$gold ? "#D4AF37" : "rgba(255,255,255,0.6)"};
8202
8335
  text-transform: uppercase;
@@ -8204,49 +8337,49 @@ var FinancialLabel = styled24.div`
8204
8337
  margin-bottom: 0.4rem;
8205
8338
  font-weight: 500;
8206
8339
  `;
8207
- var FinancialValue = styled24.div`
8340
+ var FinancialValue = styled25.div`
8208
8341
  font-size: 1.25rem;
8209
8342
  font-weight: 700;
8210
8343
  color: ${(p) => p.$gold ? "#D4AF37" : "#fff"};
8211
8344
  line-height: 1;
8212
8345
  `;
8213
- var AssetDetailsPanel = styled24.div`
8346
+ var AssetDetailsPanel = styled25.div`
8214
8347
  margin-bottom: 2rem; background: #111; border-radius: 12px; padding: 1.5rem;
8215
8348
  `;
8216
- var AssetPanelsGrid = styled24.div`
8349
+ var AssetPanelsGrid = styled25.div`
8217
8350
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem;
8218
8351
  @media (max-width: 768px) { grid-template-columns: 1fr; }
8219
8352
  `;
8220
- var MetricsPanel = styled24.div`
8353
+ var MetricsPanel = styled25.div`
8221
8354
  background: rgba(255,255,255,0.03); border-radius: 12px;
8222
8355
  border: 1px solid rgba(255,255,255,0.06); padding: 1.25rem 1.5rem; overflow: hidden;
8223
8356
  `;
8224
- var InfoPanel = styled24(MetricsPanel)``;
8225
- var MetricsPanelTitle = styled24.div`
8357
+ var InfoPanel = styled25(MetricsPanel)``;
8358
+ var MetricsPanelTitle = styled25.div`
8226
8359
  font-size: 0.65rem; color: #D4AF37; text-transform: uppercase;
8227
8360
  letter-spacing: 0.12em; font-weight: 600; margin-bottom: 1rem;
8228
8361
  padding-bottom: 0.75rem; border-bottom: 1px solid rgba(255,255,255,0.06);
8229
8362
  `;
8230
- var LandFloorCard = styled24.div`
8363
+ var LandFloorCard = styled25.div`
8231
8364
  background: linear-gradient(135deg, rgba(212,175,55,0.12), rgba(184,134,11,0.06));
8232
8365
  border-radius: 10px; padding: 0.85rem 1rem;
8233
8366
  border: 1px solid rgba(212,175,55,0.25);
8234
8367
  display: flex; gap: 1rem; margin-bottom: 0.75rem;
8235
8368
  `;
8236
- var MetricLabel = styled24.div`
8369
+ var MetricLabel = styled25.div`
8237
8370
  font-size: 0.65rem; color: #D4AF37; text-transform: uppercase;
8238
8371
  letter-spacing: 0.1em; margin-bottom: 0.4rem; font-weight: 500;
8239
8372
  `;
8240
- var MetricValueRow = styled24.div`
8373
+ var MetricValueRow = styled25.div`
8241
8374
  display: flex; align-items: baseline; gap: 0.25rem;
8242
8375
  `;
8243
- var MetricBig = styled24.span`
8376
+ var MetricBig = styled25.span`
8244
8377
  font-size: 1.5rem; font-weight: 700; color: #D4AF37; line-height: 1;
8245
8378
  `;
8246
- var MetricUnit = styled24.span`
8379
+ var MetricUnit = styled25.span`
8247
8380
  font-size: 0.7rem; color: rgba(212,175,55,0.7); font-weight: 500;
8248
8381
  `;
8249
- var FeaturesGrid = styled24.div`
8382
+ var FeaturesGrid = styled25.div`
8250
8383
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem;
8251
8384
  @media (max-width: 768px) { grid-template-columns: repeat(2, 1fr); }
8252
8385
  `;
@@ -8331,7 +8464,7 @@ function PropertyOffers({ offers }) {
8331
8464
  )) })
8332
8465
  ] });
8333
8466
  }
8334
- var OfferPricePulse = styled24.span`
8467
+ var OfferPricePulse = styled25.span`
8335
8468
  width: 8px;
8336
8469
  height: 8px;
8337
8470
  border-radius: 999px;
@@ -8733,7 +8866,7 @@ function generateMockPastSales() {
8733
8866
  }
8734
8867
  ];
8735
8868
  }
8736
- var FilterButtonsContainer = styled24.div`
8869
+ var FilterButtonsContainer = styled25.div`
8737
8870
  display: flex;
8738
8871
  gap: 0.5rem;
8739
8872
  flex-wrap: wrap;
@@ -8742,7 +8875,7 @@ var FilterButtonsContainer = styled24.div`
8742
8875
  gap: 0.25rem;
8743
8876
  }
8744
8877
  `;
8745
- var FilterButton = styled24.button`
8878
+ var FilterButton = styled25.button`
8746
8879
  background-color: ${(props) => props.$active ? "var(--color-accent, #f0b90b)" : "transparent"};
8747
8880
  color: ${(props) => props.$active ? "#000" : "#fff"};
8748
8881
  border: 1px solid var(--color-accent, #f0b90b);
@@ -8761,7 +8894,7 @@ var FilterButton = styled24.button`
8761
8894
  font-size: 0.75rem;
8762
8895
  }
8763
8896
  `;
8764
- var HistoryContainer = styled24.div`
8897
+ var HistoryContainer = styled25.div`
8765
8898
  display: flex;
8766
8899
  flex-direction: column;
8767
8900
  gap: 1.5rem;
@@ -8778,7 +8911,7 @@ var HistoryContainer = styled24.div`
8778
8911
  z-index: 0;
8779
8912
  }
8780
8913
  `;
8781
- var HistoryPanel = styled24.div`
8914
+ var HistoryPanel = styled25.div`
8782
8915
  margin-bottom: 1.5rem;
8783
8916
  margin-left: 2rem;
8784
8917
  border: 1px solid rgba(240, 185, 11, 0.15);
@@ -8820,7 +8953,7 @@ var HistoryPanel = styled24.div`
8820
8953
  }
8821
8954
  `}
8822
8955
  `;
8823
- var LeaseSection = styled24.div`
8956
+ var LeaseSection = styled25.div`
8824
8957
  margin: 0.3rem 1rem;
8825
8958
  padding: 0.3rem 1rem 0.3rem;
8826
8959
  background-color: rgba(30, 32, 38, 0.2);
@@ -8838,7 +8971,7 @@ var LeaseSection = styled24.div`
8838
8971
  background-color: rgba(255, 255, 255, 0.15);
8839
8972
  }
8840
8973
  `;
8841
- var HistoryRow = styled24.tr`
8974
+ var HistoryRow = styled25.tr`
8842
8975
  background-color: ${(props) => props.$isOwnershipStart ? "rgba(240, 185, 11, 0.05)" : "transparent"};
8843
8976
 
8844
8977
  td {
@@ -8855,7 +8988,7 @@ var HistoryRow = styled24.tr`
8855
8988
  background-color: rgba(255, 255, 255, 0.08);
8856
8989
  }
8857
8990
  `;
8858
- var TypeBadge = styled24.span`
8991
+ var TypeBadge = styled25.span`
8859
8992
  display: inline-block;
8860
8993
  padding: 0.25rem 0.5rem;
8861
8994
  border-radius: 4px;
@@ -8905,13 +9038,13 @@ var TypeBadge = styled24.span`
8905
9038
  font-size: 0.65rem;
8906
9039
  }
8907
9040
  `;
8908
- var PastSalesSection = styled24.div`
9041
+ var PastSalesSection = styled25.div`
8909
9042
  background-color: rgba(30, 32, 38, 0.95);
8910
9043
  border-radius: 8px;
8911
9044
  padding: 1.25rem;
8912
9045
  margin-bottom: 1.5rem;
8913
9046
  `;
8914
- var SalesTable = styled24.table`
9047
+ var SalesTable = styled25.table`
8915
9048
  width: 100%;
8916
9049
  border-collapse: collapse;
8917
9050
  table-layout: fixed;
@@ -8989,13 +9122,13 @@ function PropertyDocuments({ documentsData }) {
8989
9122
  }) })
8990
9123
  ] });
8991
9124
  }
8992
- var Section = styled24.section`
9125
+ var Section = styled25.section`
8993
9126
  background: var(--color-card, rgba(30, 35, 41, 0.8));
8994
9127
  border-radius: 12px;
8995
9128
  padding: 1.5rem;
8996
9129
  margin-bottom: 1.5rem;
8997
9130
  `;
8998
- var SectionHeading = styled24.h2`
9131
+ var SectionHeading = styled25.h2`
8999
9132
  font-size: 0.9rem;
9000
9133
  font-weight: 600;
9001
9134
  padding-bottom: 0.75rem;
@@ -9006,12 +9139,12 @@ var SectionHeading = styled24.h2`
9006
9139
  align-items: center;
9007
9140
  gap: 0.5rem;
9008
9141
  `;
9009
- var DocList = styled24.ul`
9142
+ var DocList = styled25.ul`
9010
9143
  list-style: none;
9011
9144
  padding: 0;
9012
9145
  margin: 0;
9013
9146
  `;
9014
- var DocItem = styled24.li`
9147
+ var DocItem = styled25.li`
9015
9148
  padding: 0.75rem 0;
9016
9149
  border-bottom: 1px solid var(--color-border, rgba(255, 255, 255, 0.1));
9017
9150
 
@@ -9019,7 +9152,7 @@ var DocItem = styled24.li`
9019
9152
  border-bottom: none;
9020
9153
  }
9021
9154
  `;
9022
- var DocLink = styled24.a`
9155
+ var DocLink = styled25.a`
9023
9156
  display: flex;
9024
9157
  align-items: center;
9025
9158
  color: var(--color-text);
@@ -9030,19 +9163,19 @@ var DocLink = styled24.a`
9030
9163
  color: var(--color-accent);
9031
9164
  }
9032
9165
  `;
9033
- var DocItemDisabled = styled24.div`
9166
+ var DocItemDisabled = styled25.div`
9034
9167
  display: flex;
9035
9168
  align-items: center;
9036
9169
  color: var(--color-text-secondary);
9037
9170
  cursor: not-allowed;
9038
9171
  opacity: 0.6;
9039
9172
  `;
9040
- var DocIconWrapper = styled24.span`
9173
+ var DocIconWrapper = styled25.span`
9041
9174
  margin-right: 0.75rem;
9042
9175
  flex-shrink: 0;
9043
9176
  color: var(--color-text-secondary);
9044
9177
  `;
9045
- var ComingSoonBadge = styled24.span`
9178
+ var ComingSoonBadge = styled25.span`
9046
9179
  margin-left: auto;
9047
9180
  padding: 0.25rem 0.5rem;
9048
9181
  background: rgba(212, 175, 55, 0.1);
@@ -9124,13 +9257,13 @@ function PropertyInspectionTimes({
9124
9257
  ] })
9125
9258
  ] });
9126
9259
  }
9127
- var Section2 = styled24.section`
9260
+ var Section2 = styled25.section`
9128
9261
  background: var(--color-card, rgba(30, 35, 41, 0.8));
9129
9262
  border-radius: 12px;
9130
9263
  padding: 1.5rem;
9131
9264
  margin-bottom: 1.5rem;
9132
9265
  `;
9133
- var SectionHeading2 = styled24.h2`
9266
+ var SectionHeading2 = styled25.h2`
9134
9267
  font-size: 0.9rem;
9135
9268
  font-weight: 600;
9136
9269
  padding-bottom: 0.75rem;
@@ -9141,17 +9274,17 @@ var SectionHeading2 = styled24.h2`
9141
9274
  align-items: center;
9142
9275
  gap: 0.5rem;
9143
9276
  `;
9144
- var Intro = styled24.p`
9277
+ var Intro = styled25.p`
9145
9278
  font-size: 0.9rem;
9146
9279
  color: var(--color-text-secondary);
9147
9280
  margin-bottom: 1.5rem;
9148
9281
  `;
9149
- var SlotList = styled24.div`
9282
+ var SlotList = styled25.div`
9150
9283
  display: flex;
9151
9284
  flex-direction: column;
9152
9285
  gap: 0.75rem;
9153
9286
  `;
9154
- var SlotRow = styled24.div`
9287
+ var SlotRow = styled25.div`
9155
9288
  display: flex;
9156
9289
  justify-content: space-between;
9157
9290
  align-items: center;
@@ -9160,27 +9293,27 @@ var SlotRow = styled24.div`
9160
9293
  border-radius: 8px;
9161
9294
  border: 1px solid rgba(255, 255, 255, 0.06);
9162
9295
  `;
9163
- var SlotInfo = styled24.div``;
9164
- var SlotDate = styled24.div`
9296
+ var SlotInfo = styled25.div``;
9297
+ var SlotDate = styled25.div`
9165
9298
  font-size: 0.9rem;
9166
9299
  font-weight: 600;
9167
9300
  color: var(--color-text);
9168
9301
  margin-bottom: 0.25rem;
9169
9302
  `;
9170
- var SlotTime = styled24.div`
9303
+ var SlotTime = styled25.div`
9171
9304
  font-size: 0.8rem;
9172
9305
  color: var(--color-text-secondary);
9173
9306
  `;
9174
- var SlotActions = styled24.div`
9307
+ var SlotActions = styled25.div`
9175
9308
  display: flex;
9176
9309
  align-items: center;
9177
9310
  gap: 1rem;
9178
9311
  `;
9179
- var SpotsLeft = styled24.span`
9312
+ var SpotsLeft = styled25.span`
9180
9313
  font-size: 0.75rem;
9181
9314
  color: ${({ $low }) => $low ? "#f6465d" : "var(--color-text-secondary)"};
9182
9315
  `;
9183
- var BookButton = styled24.button`
9316
+ var BookButton = styled25.button`
9184
9317
  padding: 0.4rem 1rem;
9185
9318
  background: transparent;
9186
9319
  border: 1px solid var(--color-accent, #f0b90b);
@@ -9200,7 +9333,7 @@ var BookButton = styled24.button`
9200
9333
  cursor: not-allowed;
9201
9334
  }
9202
9335
  `;
9203
- var StatusMessage2 = styled24.div`
9336
+ var StatusMessage2 = styled25.div`
9204
9337
  font-size: 0.85rem;
9205
9338
  padding: 0.75rem 1rem;
9206
9339
  border-radius: 6px;
@@ -9208,7 +9341,7 @@ var StatusMessage2 = styled24.div`
9208
9341
  background: ${({ $error }) => $error ? "rgba(246,70,93,0.08)" : "rgba(255,255,255,0.03)"};
9209
9342
  border: 1px solid ${({ $error }) => $error ? "rgba(246,70,93,0.2)" : "rgba(255,255,255,0.06)"};
9210
9343
  `;
9211
- var RetryButton = styled24.button`
9344
+ var RetryButton = styled25.button`
9212
9345
  margin-left: 0.5rem;
9213
9346
  text-decoration: underline;
9214
9347
  cursor: pointer;
@@ -9216,13 +9349,13 @@ var RetryButton = styled24.button`
9216
9349
  border: none;
9217
9350
  color: inherit;
9218
9351
  `;
9219
- var Disclaimer = styled24.p`
9352
+ var Disclaimer = styled25.p`
9220
9353
  font-size: 0.75rem;
9221
9354
  color: var(--color-text-secondary);
9222
9355
  margin-top: 0.5rem;
9223
9356
  text-align: center;
9224
9357
  `;
9225
- var SignInPrompt = styled24.div`
9358
+ var SignInPrompt = styled25.div`
9226
9359
  display: flex;
9227
9360
  align-items: center;
9228
9361
  justify-content: space-between;
@@ -9231,18 +9364,18 @@ var SignInPrompt = styled24.div`
9231
9364
  border-radius: 8px;
9232
9365
  border: 1px solid rgba(255, 255, 255, 0.06);
9233
9366
  `;
9234
- var SignInText = styled24.div``;
9235
- var SignInTitle = styled24.div`
9367
+ var SignInText = styled25.div``;
9368
+ var SignInTitle = styled25.div`
9236
9369
  font-size: 0.95rem;
9237
9370
  font-weight: 600;
9238
9371
  color: var(--color-text);
9239
9372
  margin-bottom: 0.25rem;
9240
9373
  `;
9241
- var SignInSub = styled24.div`
9374
+ var SignInSub = styled25.div`
9242
9375
  font-size: 0.8rem;
9243
9376
  color: var(--color-text-secondary);
9244
9377
  `;
9245
- var SignInButton = styled24.button`
9378
+ var SignInButton = styled25.button`
9246
9379
  padding: 0.5rem 1.25rem;
9247
9380
  background: transparent;
9248
9381
  border: 1px solid var(--color-accent, #f0b90b);
@@ -9258,6 +9391,191 @@ var SignInButton = styled24.button`
9258
9391
  background: rgba(240, 185, 11, 0.1);
9259
9392
  }
9260
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
+ }
9261
9579
  function AssetSelectorBar({
9262
9580
  propertyName,
9263
9581
  tokenPrice,
@@ -9334,10 +9652,10 @@ function AssetSelectorBar({
9334
9652
  }) })
9335
9653
  ] }) });
9336
9654
  }
9337
- var AssetSelectorWrapper = styled24.div`
9655
+ var AssetSelectorWrapper = styled25.div`
9338
9656
  width: 100%;
9339
9657
  `;
9340
- var IPOAssetSelector = styled24.div`
9658
+ var IPOAssetSelector = styled25.div`
9341
9659
  position: relative;
9342
9660
  display: flex;
9343
9661
  justify-content: space-between;
@@ -9362,7 +9680,7 @@ var IPOAssetSelector = styled24.div`
9362
9680
  padding: 0.6rem 0.75rem;
9363
9681
  }
9364
9682
  `;
9365
- var AssetSelectorDropdown = styled24.div`
9683
+ var AssetSelectorDropdown = styled25.div`
9366
9684
  display: flex;
9367
9685
  align-items: center;
9368
9686
  cursor: pointer;
@@ -9371,7 +9689,7 @@ var AssetSelectorDropdown = styled24.div`
9371
9689
  transition: all 0.2s ease;
9372
9690
  &:hover { background-color: rgba(255,255,255,0.05); }
9373
9691
  `;
9374
- var AssetName = styled24.div`
9692
+ var AssetName = styled25.div`
9375
9693
  display: flex;
9376
9694
  align-items: center;
9377
9695
  font-weight: 600;
@@ -9390,7 +9708,7 @@ var AssetName = styled24.div`
9390
9708
  svg { margin-left: 0.4rem; width: 16px; height: 16px; }
9391
9709
  }
9392
9710
  `;
9393
- var SelectorMetrics = styled24.div`
9711
+ var SelectorMetrics = styled25.div`
9394
9712
  display: flex;
9395
9713
  align-items: center;
9396
9714
  gap: 1rem;
@@ -9415,7 +9733,7 @@ var SelectorMetrics = styled24.div`
9415
9733
  gap: 0.5rem;
9416
9734
  }
9417
9735
  `;
9418
- var MetricLabel2 = styled24.span`
9736
+ var MetricLabel2 = styled25.span`
9419
9737
  font-size: 0.75rem;
9420
9738
  color: var(--color-text-secondary);
9421
9739
  text-transform: uppercase;
@@ -9428,7 +9746,7 @@ var MetricLabel2 = styled24.span`
9428
9746
  margin-right: 0.35rem;
9429
9747
  }
9430
9748
  `;
9431
- var MetricValue = styled24.span`
9749
+ var MetricValue = styled25.span`
9432
9750
  font-size: 1.25rem;
9433
9751
  font-weight: 700;
9434
9752
  color: ${(p) => p.$accent ? "#D4AF37" : "#fff"};
@@ -9441,7 +9759,7 @@ var MetricValue = styled24.span`
9441
9759
  font-size: 0.95rem;
9442
9760
  }
9443
9761
  `;
9444
- var MetricChange = styled24.span`
9762
+ var MetricChange = styled25.span`
9445
9763
  font-size: 0.85rem;
9446
9764
  font-weight: 600;
9447
9765
  color: ${(p) => p.$positive ? "var(--color-positive, #0ecb81)" : "var(--color-negative, #f6465d)"};
@@ -9453,12 +9771,12 @@ var MetricChange = styled24.span`
9453
9771
  font-size: 0.75rem;
9454
9772
  }
9455
9773
  `;
9456
- var Separator = styled24.span`
9774
+ var Separator = styled25.span`
9457
9775
  font-size: 1rem;
9458
9776
  color: rgba(255,255,255,0.2);
9459
9777
  font-weight: 300;
9460
9778
  `;
9461
- var IPODropdown = styled24.div`
9779
+ var IPODropdown = styled25.div`
9462
9780
  position: absolute;
9463
9781
  top: calc(100% + 12px);
9464
9782
  left: 0;
@@ -9481,7 +9799,7 @@ var IPODropdown = styled24.div`
9481
9799
  to { opacity: 1; transform: translateY(0); }
9482
9800
  }
9483
9801
  `;
9484
- var IPOOption = styled24.div`
9802
+ var IPOOption = styled25.div`
9485
9803
  padding: 1.25rem 1.5rem;
9486
9804
  transition: all 0.2s ease;
9487
9805
  border-bottom: 1px solid rgba(255,255,255,0.03);
@@ -9500,13 +9818,13 @@ var IPOOption = styled24.div`
9500
9818
  &:hover { background: linear-gradient(90deg, rgba(255,255,255,0.06) 0%, transparent 100%); }
9501
9819
  ${(p) => p.$selected && `background: linear-gradient(90deg, rgba(56,97,251,0.15) 0%, transparent 100%);`}
9502
9820
  `;
9503
- var IPOOptionName = styled24.div`
9821
+ var IPOOptionName = styled25.div`
9504
9822
  font-weight: 600;
9505
9823
  font-size: 1rem;
9506
9824
  color: #ffffff;
9507
9825
  margin-bottom: 0.35rem;
9508
9826
  `;
9509
- var IPOOptionLocation = styled24.div`
9827
+ var IPOOptionLocation = styled25.div`
9510
9828
  font-size: 0.875rem;
9511
9829
  color: rgba(255,255,255,0.5);
9512
9830
  span {
@@ -9564,7 +9882,7 @@ function OfferingProgressCard({
9564
9882
  const interval = setInterval(() => setCountdown(calculateCountdown()), 1e3);
9565
9883
  return () => clearInterval(interval);
9566
9884
  }, [opensAt]);
9567
- return /* @__PURE__ */ jsxs(Container, { children: [
9885
+ return /* @__PURE__ */ jsxs(Container2, { children: [
9568
9886
  /* @__PURE__ */ jsxs(Header2, { children: [
9569
9887
  /* @__PURE__ */ jsxs("h3", { children: [
9570
9888
  /* @__PURE__ */ jsx(FaChartLine, {}),
@@ -9665,7 +9983,7 @@ function OfferingProgressCard({
9665
9983
  ] })
9666
9984
  ] });
9667
9985
  }
9668
- var Container = styled24.div`
9986
+ var Container2 = styled25.div`
9669
9987
  background-color: var(--color-card-darker, #111);
9670
9988
  border-radius: 8px;
9671
9989
  padding: 1.5rem;
@@ -9678,7 +9996,7 @@ var Container = styled24.div`
9678
9996
  padding: 1rem;
9679
9997
  }
9680
9998
  `;
9681
- var Header2 = styled24.div`
9999
+ var Header2 = styled25.div`
9682
10000
  display: flex;
9683
10001
  align-items: center;
9684
10002
  justify-content: space-between;
@@ -9695,7 +10013,7 @@ var Header2 = styled24.div`
9695
10013
  margin: 0;
9696
10014
  }
9697
10015
  `;
9698
- var StatusSpan = styled24.span`
10016
+ var StatusSpan = styled25.span`
9699
10017
  display: flex;
9700
10018
  align-items: center;
9701
10019
  gap: 0.35rem;
@@ -9711,7 +10029,7 @@ var StatusSpan = styled24.span`
9711
10029
  letter-spacing: 0.05em;
9712
10030
  }
9713
10031
  `;
9714
- var StatusDot = styled24.span`
10032
+ var StatusDot = styled25.span`
9715
10033
  width: 6px;
9716
10034
  height: 6px;
9717
10035
  border-radius: 50%;
@@ -9723,10 +10041,10 @@ var StatusDot = styled24.span`
9723
10041
  100% { opacity: 0.4; }
9724
10042
  }
9725
10043
  `;
9726
- var PreLiveBody = styled24.div`
10044
+ var PreLiveBody = styled25.div`
9727
10045
  padding: 1.25rem 0;
9728
10046
  `;
9729
- var PreLiveStatus = styled24.div`
10047
+ var PreLiveStatus = styled25.div`
9730
10048
  font-size: 0.7rem;
9731
10049
  color: ${(p) => p.$statusColor};
9732
10050
  text-transform: uppercase;
@@ -9735,33 +10053,33 @@ var PreLiveStatus = styled24.div`
9735
10053
  text-align: center;
9736
10054
  margin-bottom: 1.25rem;
9737
10055
  `;
9738
- var MetricsRow = styled24.div`
10056
+ var MetricsRow = styled25.div`
9739
10057
  display: flex;
9740
10058
  justify-content: space-between;
9741
10059
  align-items: flex-start;
9742
10060
  border-top: 1px solid rgba(255,255,255,0.06);
9743
10061
  padding-top: 1rem;
9744
10062
  `;
9745
- var MetricLabel3 = styled24.div`
10063
+ var MetricLabel3 = styled25.div`
9746
10064
  font-size: 0.6rem;
9747
10065
  color: var(--color-text-secondary);
9748
10066
  text-transform: uppercase;
9749
10067
  letter-spacing: 0.1em;
9750
10068
  margin-bottom: 0.25rem;
9751
10069
  `;
9752
- var MetricValue2 = styled24.div`
10070
+ var MetricValue2 = styled25.div`
9753
10071
  font-size: 1.5rem;
9754
10072
  font-weight: 700;
9755
10073
  color: ${(p) => p.$accent ? "#D4AF37" : "#fff"};
9756
10074
  `;
9757
- var CountdownCenter = styled24.div`
10075
+ var CountdownCenter = styled25.div`
9758
10076
  text-align: center;
9759
10077
  display: flex;
9760
10078
  flex-direction: column;
9761
10079
  align-items: center;
9762
10080
  margin-bottom: 1.25rem;
9763
10081
  `;
9764
- var CountdownLabel = styled24.div`
10082
+ var CountdownLabel = styled25.div`
9765
10083
  font-size: 0.7rem;
9766
10084
  color: #D4AF37;
9767
10085
  text-transform: uppercase;
@@ -9769,13 +10087,13 @@ var CountdownLabel = styled24.div`
9769
10087
  margin-bottom: 0.5rem;
9770
10088
  font-weight: 600;
9771
10089
  `;
9772
- var CountdownDigits = styled24.div`
10090
+ var CountdownDigits = styled25.div`
9773
10091
  display: flex;
9774
10092
  align-items: baseline;
9775
10093
  justify-content: center;
9776
10094
  gap: 0.35rem;
9777
10095
  `;
9778
- var CountdownNumber = styled24.span`
10096
+ var CountdownNumber = styled25.span`
9779
10097
  font-size: 2.5rem;
9780
10098
  font-weight: 700;
9781
10099
  font-family: monospace;
@@ -9784,26 +10102,26 @@ var CountdownNumber = styled24.span`
9784
10102
  font-size: 1.75rem;
9785
10103
  }
9786
10104
  `;
9787
- var CountdownUnitLabel = styled24.span`
10105
+ var CountdownUnitLabel = styled25.span`
9788
10106
  font-size: 0.85rem;
9789
10107
  color: var(--color-text-secondary);
9790
10108
  `;
9791
- var CountdownSeparator = styled24.span`
10109
+ var CountdownSeparator = styled25.span`
9792
10110
  color: rgba(255,255,255,0.2);
9793
10111
  margin: 0 0.2rem;
9794
10112
  font-size: 1.5rem;
9795
10113
  `;
9796
- var LiveBody = styled24.div`
10114
+ var LiveBody = styled25.div`
9797
10115
  display: flex;
9798
10116
  flex-direction: column;
9799
10117
  gap: 1rem;
9800
10118
  `;
9801
- var LiveTopRow = styled24.div`
10119
+ var LiveTopRow = styled25.div`
9802
10120
  display: flex;
9803
10121
  justify-content: space-between;
9804
10122
  align-items: flex-start;
9805
10123
  `;
9806
- var LiveLabel = styled24.div`
10124
+ var LiveLabel = styled25.div`
9807
10125
  font-size: 0.875rem;
9808
10126
  color: var(--color-text-secondary);
9809
10127
  margin-bottom: 0.25rem;
@@ -9816,7 +10134,7 @@ var LiveLabel = styled24.div`
9816
10134
  opacity: 0.7;
9817
10135
  }
9818
10136
  `;
9819
- var LivePercent = styled24.div`
10137
+ var LivePercent = styled25.div`
9820
10138
  font-size: 2rem;
9821
10139
  font-weight: 600;
9822
10140
  color: #D4AF37;
@@ -9829,14 +10147,14 @@ var LivePercent = styled24.div`
9829
10147
  opacity: 0.8;
9830
10148
  }
9831
10149
  `;
9832
- var UnitsValue = styled24.div`
10150
+ var UnitsValue = styled25.div`
9833
10151
  font-size: clamp(1.25rem, 4vw, 1.75rem);
9834
10152
  font-weight: 700;
9835
10153
  white-space: nowrap;
9836
10154
  span { color: #D4AF37; }
9837
10155
  small { color: rgba(255,255,255,0.3); font-weight: 700; margin-left: 0.35rem; font-size: inherit; }
9838
10156
  `;
9839
- var ProgressBarOuter = styled24.div`
10157
+ var ProgressBarOuter = styled25.div`
9840
10158
  width: 100%;
9841
10159
  height: 12px;
9842
10160
  background: rgba(255,255,255,0.1);
@@ -9844,23 +10162,23 @@ var ProgressBarOuter = styled24.div`
9844
10162
  overflow: hidden;
9845
10163
  position: relative;
9846
10164
  `;
9847
- var ProgressBarInner = styled24.div`
10165
+ var ProgressBarInner = styled25.div`
9848
10166
  height: 100%;
9849
10167
  background: linear-gradient(90deg, #D4AF37, #f0b90b);
9850
10168
  border-radius: 6px;
9851
10169
  transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
9852
10170
  will-change: width;
9853
10171
  `;
9854
- var ProgressInfo = styled24.div`
10172
+ var ProgressInfo = styled25.div`
9855
10173
  display: flex;
9856
10174
  justify-content: space-between;
9857
10175
  font-size: 0.875rem;
9858
10176
  `;
9859
- var ProgressSubscribers = styled24.div`
10177
+ var ProgressSubscribers = styled25.div`
9860
10178
  color: var(--color-text-secondary);
9861
10179
  font-weight: 500;
9862
10180
  `;
9863
- var ProgressAmounts = styled24.div`
10181
+ var ProgressAmounts = styled25.div`
9864
10182
  font-weight: 600;
9865
10183
  .raised { color: #D4AF37; }
9866
10184
  .target { color: rgba(255,255,255,0.3); }
@@ -9945,7 +10263,7 @@ function VideoActivitySection({
9945
10263
  ] })
9946
10264
  ] });
9947
10265
  }
9948
- var Section3 = styled24.div`
10266
+ var Section3 = styled25.div`
9949
10267
  display: flex;
9950
10268
  gap: 1.5rem;
9951
10269
  align-items: stretch;
@@ -9954,7 +10272,7 @@ var Section3 = styled24.div`
9954
10272
  gap: 1rem;
9955
10273
  }
9956
10274
  `;
9957
- var VideoPanel = styled24.div`
10275
+ var VideoPanel = styled25.div`
9958
10276
  flex: 1;
9959
10277
  background-color: var(--color-card-darker, #111);
9960
10278
  border-radius: 8px;
@@ -9998,7 +10316,7 @@ var VideoPanel = styled24.div`
9998
10316
  }
9999
10317
  }
10000
10318
  `;
10001
- var ActivityPanel = styled24.div`
10319
+ var ActivityPanel = styled25.div`
10002
10320
  flex: 0 0 auto;
10003
10321
  min-width: 450px;
10004
10322
  max-width: 520px;
@@ -10079,7 +10397,7 @@ var ActivityPanel = styled24.div`
10079
10397
  to { transform: rotate(360deg); }
10080
10398
  }
10081
10399
  `;
10082
- var SkeletonFeedRow = styled24.div`
10400
+ var SkeletonFeedRow = styled25.div`
10083
10401
  padding: 0.625rem 0.75rem;
10084
10402
  border-bottom: 1px solid rgba(255,255,255,0.04);
10085
10403
  display: flex;
@@ -10103,7 +10421,7 @@ var SkeletonFeedRow = styled24.div`
10103
10421
  padding: 0.4rem 0.6rem;
10104
10422
  }
10105
10423
  `;
10106
- var EndedBanner = styled24.div`
10424
+ var EndedBanner = styled25.div`
10107
10425
  font-size: 0.7rem;
10108
10426
  font-weight: 600;
10109
10427
  letter-spacing: 0.04em;
@@ -10116,7 +10434,7 @@ var EndedBanner = styled24.div`
10116
10434
  margin-bottom: 0.5rem;
10117
10435
  text-align: center;
10118
10436
  `;
10119
- var FeedList = styled24.div`
10437
+ var FeedList = styled25.div`
10120
10438
  width: 100%;
10121
10439
  overflow-y: auto;
10122
10440
  scrollbar-width: none;
@@ -10125,7 +10443,7 @@ var FeedList = styled24.div`
10125
10443
  display: none;
10126
10444
  }
10127
10445
  `;
10128
- var PurchaseItem = styled24.div`
10446
+ var PurchaseItem = styled25.div`
10129
10447
  padding: 0.625rem 0.75rem;
10130
10448
  border-bottom: 1px solid rgba(255,255,255,0.05);
10131
10449
  display: flex;
@@ -10154,12 +10472,12 @@ var PurchaseItem = styled24.div`
10154
10472
  padding: 0.4rem 0.6rem;
10155
10473
  }
10156
10474
  `;
10157
- var PurchaseInfo = styled24.div`
10475
+ var PurchaseInfo = styled25.div`
10158
10476
  display: flex;
10159
10477
  flex-direction: column;
10160
10478
  min-width: 0;
10161
10479
  `;
10162
- var PurchaseName = styled24.div`
10480
+ var PurchaseName = styled25.div`
10163
10481
  font-weight: 500;
10164
10482
  font-size: 0.875rem;
10165
10483
  color: #fff;
@@ -10167,19 +10485,19 @@ var PurchaseName = styled24.div`
10167
10485
  overflow: hidden;
10168
10486
  text-overflow: ellipsis;
10169
10487
  `;
10170
- var PurchaseTime = styled24.div`
10488
+ var PurchaseTime = styled25.div`
10171
10489
  font-size: 0.7rem;
10172
10490
  color: var(--color-text-secondary);
10173
10491
  margin-top: 0.125rem;
10174
10492
  `;
10175
- var PurchaseAmount = styled24.div`
10493
+ var PurchaseAmount = styled25.div`
10176
10494
  font-weight: 600;
10177
10495
  font-size: 0.875rem;
10178
10496
  color: #fff;
10179
10497
  white-space: nowrap;
10180
10498
  margin-left: 1rem;
10181
10499
  `;
10182
- var LiveIndicatorDot = styled24.span`
10500
+ var LiveIndicatorDot = styled25.span`
10183
10501
  display: inline-block;
10184
10502
  width: 8px;
10185
10503
  height: 8px;
@@ -10548,7 +10866,7 @@ function OrderPanel({
10548
10866
  ] })
10549
10867
  ] });
10550
10868
  }
10551
- var Panel2 = styled24.div`
10869
+ var Panel2 = styled25.div`
10552
10870
  background-color: var(--color-card-darker, #111);
10553
10871
  border-radius: 8px;
10554
10872
  padding: 1.5rem;
@@ -10575,7 +10893,7 @@ var Panel2 = styled24.div`
10575
10893
  border-radius: 6px;
10576
10894
  }
10577
10895
  `;
10578
- var PanelHeader2 = styled24.div`
10896
+ var PanelHeader2 = styled25.div`
10579
10897
  display: flex;
10580
10898
  justify-content: space-between;
10581
10899
  align-items: center;
@@ -10588,7 +10906,7 @@ var PanelHeader2 = styled24.div`
10588
10906
  color: var(--color-text);
10589
10907
  }
10590
10908
  `;
10591
- var StatusBadge2 = styled24.span`
10909
+ var StatusBadge2 = styled25.span`
10592
10910
  font-size: 0.7rem;
10593
10911
  font-weight: 600;
10594
10912
  display: inline-flex;
@@ -10601,7 +10919,7 @@ var StatusBadge2 = styled24.span`
10601
10919
  display: inline-block;
10602
10920
  }
10603
10921
  `;
10604
- var Card2 = styled24.div`
10922
+ var Card2 = styled25.div`
10605
10923
  background: rgba(0,0,0,0.4);
10606
10924
  border: 1px solid rgba(255,255,255,0.15);
10607
10925
  border-radius: 12px;
@@ -10612,12 +10930,12 @@ var Card2 = styled24.div`
10612
10930
  border-radius: 10px;
10613
10931
  }
10614
10932
  `;
10615
- var CardLabel = styled24.div`
10933
+ var CardLabel = styled25.div`
10616
10934
  font-size: 0.75rem;
10617
10935
  color: var(--color-text-secondary);
10618
10936
  margin-bottom: 0.5rem;
10619
10937
  `;
10620
- var CardInputRow = styled24.div`
10938
+ var CardInputRow = styled25.div`
10621
10939
  display: flex;
10622
10940
  align-items: center;
10623
10941
  justify-content: space-between;
@@ -10642,7 +10960,7 @@ var CardInputRow = styled24.div`
10642
10960
  white-space: nowrap;
10643
10961
  }
10644
10962
  `;
10645
- var QuickSelectRow = styled24.div`
10963
+ var QuickSelectRow = styled25.div`
10646
10964
  display: flex;
10647
10965
  gap: 0.5rem;
10648
10966
  margin-top: 0.75rem;
@@ -10671,7 +10989,7 @@ var QuickSelectRow = styled24.div`
10671
10989
  button { font-size: 0.7rem; padding: 0.35rem 0; }
10672
10990
  }
10673
10991
  `;
10674
- var FundsRow = styled24.div`
10992
+ var FundsRow = styled25.div`
10675
10993
  display: flex;
10676
10994
  align-items: center;
10677
10995
  gap: 0.5rem;
@@ -10682,7 +11000,7 @@ var FundsRow = styled24.div`
10682
11000
  color: #fff;
10683
11001
  }
10684
11002
  `;
10685
- var DepositButton = styled24.button`
11003
+ var DepositButton = styled25.button`
10686
11004
  background: transparent;
10687
11005
  border: 1px solid rgba(212,175,55,0.4);
10688
11006
  border-radius: 4px;
@@ -10692,23 +11010,23 @@ var DepositButton = styled24.button`
10692
11010
  cursor: pointer;
10693
11011
  font-weight: 500;
10694
11012
  `;
10695
- var Divider2 = styled24.div`
11013
+ var Divider2 = styled25.div`
10696
11014
  text-align: center;
10697
11015
  margin: 0.5rem 0;
10698
11016
  color: var(--color-text-secondary);
10699
11017
  `;
10700
- var CardTopRow = styled24.div`
11018
+ var CardTopRow = styled25.div`
10701
11019
  display: flex;
10702
11020
  justify-content: space-between;
10703
11021
  align-items: center;
10704
11022
  margin-bottom: 0.5rem;
10705
11023
  `;
10706
- var CardHint = styled24.span`
11024
+ var CardHint = styled25.span`
10707
11025
  font-size: 0.7rem;
10708
11026
  color: var(--color-text-secondary);
10709
11027
  opacity: 0.7;
10710
11028
  `;
10711
- var OrderSummary = styled24.div`
11029
+ var OrderSummary = styled25.div`
10712
11030
  border-top: 1px solid rgba(255,255,255,0.08);
10713
11031
  padding-top: 1rem;
10714
11032
  margin-top: 0.5rem;
@@ -10717,13 +11035,13 @@ var OrderSummary = styled24.div`
10717
11035
  flex-direction: column;
10718
11036
  gap: 0.5rem;
10719
11037
  `;
10720
- var SummaryRow = styled24.div`
11038
+ var SummaryRow = styled25.div`
10721
11039
  display: flex;
10722
11040
  justify-content: space-between;
10723
11041
  color: var(--color-text-secondary);
10724
11042
  strong { color: #fff; }
10725
11043
  `;
10726
- var SummaryTotal = styled24(SummaryRow)`
11044
+ var SummaryTotal = styled25(SummaryRow)`
10727
11045
  padding-top: 0.5rem;
10728
11046
  border-top: 1px solid rgba(255,255,255,0.08);
10729
11047
  color: #fff;
@@ -10731,12 +11049,12 @@ var SummaryTotal = styled24(SummaryRow)`
10731
11049
  font-weight: 600;
10732
11050
  }
10733
11051
  `;
10734
- var FormBody = styled24.div`
11052
+ var FormBody = styled25.div`
10735
11053
  display: flex;
10736
11054
  flex-direction: column;
10737
11055
  gap: 0.75rem;
10738
11056
  `;
10739
- var SubscribeButton = styled24.button`
11057
+ var SubscribeButton = styled25.button`
10740
11058
  width: 100%;
10741
11059
  margin-top: 1rem;
10742
11060
  padding: 0.875rem;
@@ -10761,13 +11079,13 @@ var SubscribeButton = styled24.button`
10761
11079
  color: #0a0a0a;
10762
11080
  }
10763
11081
  `;
10764
- var BalanceCards = styled24.div`
11082
+ var BalanceCards = styled25.div`
10765
11083
  display: flex;
10766
11084
  gap: 1rem;
10767
11085
  margin-top: 1rem;
10768
11086
  flex-wrap: wrap;
10769
11087
  `;
10770
- var BalanceCard = styled24.div`
11088
+ var BalanceCard = styled25.div`
10771
11089
  flex: 1;
10772
11090
  background: rgba(255,255,255,0.03);
10773
11091
  border-radius: 12px;
@@ -10775,14 +11093,14 @@ var BalanceCard = styled24.div`
10775
11093
  text-align: center;
10776
11094
  position: relative;
10777
11095
  `;
10778
- var BalanceLabel = styled24.div`
11096
+ var BalanceLabel = styled25.div`
10779
11097
  font-size: 0.75rem;
10780
11098
  color: var(--color-text-secondary);
10781
11099
  text-transform: uppercase;
10782
11100
  letter-spacing: 0.5px;
10783
11101
  margin-bottom: 0.5rem;
10784
11102
  `;
10785
- var BalanceValue = styled24.div`
11103
+ var BalanceValue = styled25.div`
10786
11104
  font-size: 1.5rem;
10787
11105
  font-weight: 700;
10788
11106
  color: #fff;
@@ -10798,20 +11116,20 @@ var BalanceValue = styled24.div`
10798
11116
  font-size: 1.2rem;
10799
11117
  }
10800
11118
  `;
10801
- var BalanceAction = styled24.div`
11119
+ var BalanceAction = styled25.div`
10802
11120
  font-size: 0.75rem;
10803
11121
  color: #D4AF37;
10804
11122
  cursor: pointer;
10805
11123
  font-weight: 500;
10806
11124
  margin-top: 0.5rem;
10807
11125
  `;
10808
- var BalanceSub = styled24.div`
11126
+ var BalanceSub = styled25.div`
10809
11127
  font-size: 0.85rem;
10810
11128
  font-weight: 500;
10811
11129
  color: var(--color-text-secondary);
10812
11130
  margin-top: 0.25rem;
10813
11131
  `;
10814
- var OrderPendingCard = styled24.div`
11132
+ var OrderPendingCard = styled25.div`
10815
11133
  margin-bottom: 1.5rem;
10816
11134
  background: linear-gradient(180deg, rgba(25,27,31,0.95) 0%, rgba(18,20,24,0.98) 100%);
10817
11135
  border: 1px solid rgba(212,175,55,0.08);
@@ -10915,7 +11233,7 @@ var OrderPendingCard = styled24.div`
10915
11233
  animation: pulse 2s ease-in-out infinite;
10916
11234
  }
10917
11235
  `;
10918
- var OrderSuccessCard = styled24.div`
11236
+ var OrderSuccessCard = styled25.div`
10919
11237
  margin-bottom: 1.5rem;
10920
11238
  background: linear-gradient(180deg, rgba(25,27,31,0.95) 0%, rgba(18,20,24,0.98) 100%);
10921
11239
  border: 1px solid rgba(212,175,55,0.12);
@@ -11019,7 +11337,7 @@ var OrderSuccessCard = styled24.div`
11019
11337
  transition: all 0.2s ease;
11020
11338
  }
11021
11339
  `;
11022
- var InsufficientFunds = styled24.div`
11340
+ var InsufficientFunds = styled25.div`
11023
11341
  margin-top: 1rem;
11024
11342
  padding: 0.75rem 1rem;
11025
11343
  border-radius: 8px;
@@ -11084,6 +11402,7 @@ function PortfolioActivityPanel({
11084
11402
  const resolvedDefaultTab = defaultTab ?? (showPositionsTab ? "positions" : "subscriptions");
11085
11403
  const [activeTab, setActiveTab] = useState(resolvedDefaultTab);
11086
11404
  const [activityPage, setActivityPage] = useState(0);
11405
+ const [pendingCancelOrderId, setPendingCancelOrderId] = useState(null);
11087
11406
  const activeTabTotal = useMemo(() => {
11088
11407
  switch (activeTab) {
11089
11408
  case "positions":
@@ -11124,7 +11443,7 @@ function PortfolioActivityPanel({
11124
11443
  setActiveTab(tab);
11125
11444
  setActivityPage(0);
11126
11445
  };
11127
- return /* @__PURE__ */ jsxs(Container2, { className, style, children: [
11446
+ return /* @__PURE__ */ jsxs(Container3, { className, style, children: [
11128
11447
  /* @__PURE__ */ jsx(PanelTitle, { children: "Activity" }),
11129
11448
  /* @__PURE__ */ jsxs(TabContainer, { children: [
11130
11449
  showPositionsTab && /* @__PURE__ */ jsxs(Tab, { $active: activeTab === "positions", onClick: () => handleTabChange("positions"), children: [
@@ -11271,7 +11590,7 @@ function PortfolioActivityPanel({
11271
11590
  disabled: isCancelling || cancellingOrderId != null,
11272
11591
  onClick: (e) => {
11273
11592
  e.stopPropagation();
11274
- onCancelOrder(order.id);
11593
+ setPendingCancelOrderId(order.id);
11275
11594
  },
11276
11595
  children: isCancelling ? "Cancelling\u2026" : "Cancel"
11277
11596
  }
@@ -11394,17 +11713,38 @@ function PortfolioActivityPanel({
11394
11713
  children: "Next \u2192"
11395
11714
  }
11396
11715
  )
11397
- ] })
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
+ ] }) })
11398
11738
  ] });
11399
11739
  }
11400
- var Container2 = styled24.div``;
11401
- var PanelTitle = styled24.h3`
11740
+ var Container3 = styled25.div``;
11741
+ var PanelTitle = styled25.h3`
11402
11742
  font-size: 1rem;
11403
11743
  font-weight: 600;
11404
11744
  color: var(--color-text, #fff);
11405
11745
  margin: 0 0 0.75rem;
11406
11746
  `;
11407
- var TabContainer = styled24.div`
11747
+ var TabContainer = styled25.div`
11408
11748
  display: flex;
11409
11749
  gap: 0;
11410
11750
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
@@ -11415,7 +11755,7 @@ var TabContainer = styled24.div`
11415
11755
  scrollbar-width: none;
11416
11756
  &::-webkit-scrollbar { display: none; }
11417
11757
  `;
11418
- var Tab = styled24.button`
11758
+ var Tab = styled25.button`
11419
11759
  background: transparent;
11420
11760
  border: none;
11421
11761
  padding: 0.6rem 1rem;
@@ -11444,12 +11784,12 @@ var Tab = styled24.button`
11444
11784
  color: ${({ $active }) => $active ? "#fff" : "rgba(255, 255, 255, 0.65)"};
11445
11785
  }
11446
11786
  `;
11447
- var TabCount = styled24.span`
11787
+ var TabCount = styled25.span`
11448
11788
  color: #E6C656;
11449
11789
  font-weight: 600;
11450
11790
  margin-left: 2px;
11451
11791
  `;
11452
- var ActivityRow = styled24.div`
11792
+ var ActivityRow = styled25.div`
11453
11793
  display: grid;
11454
11794
  grid-template-columns: auto 1fr auto auto;
11455
11795
  align-items: center;
@@ -11465,7 +11805,7 @@ var ActivityRow = styled24.div`
11465
11805
  background: rgba(255, 255, 255, 0.015);
11466
11806
  }
11467
11807
  `;
11468
- var ActivitySideBadge = styled24.span`
11808
+ var ActivitySideBadge = styled25.span`
11469
11809
  font-size: 0.6rem;
11470
11810
  font-weight: 700;
11471
11811
  text-transform: uppercase;
@@ -11477,21 +11817,21 @@ var ActivitySideBadge = styled24.span`
11477
11817
  color: ${({ $side }) => $side === "Buy" ? "#0ecb81" : "#f6465d"};
11478
11818
  background: ${({ $side }) => $side === "Buy" ? "rgba(14, 203, 129, 0.1)" : "rgba(246, 70, 93, 0.1)"};
11479
11819
  `;
11480
- var ActivityInfo = styled24.div`
11820
+ var ActivityInfo = styled25.div`
11481
11821
  display: flex;
11482
11822
  flex-direction: column;
11483
11823
  gap: 0.1rem;
11484
11824
  `;
11485
- var ActivityPrimary = styled24.span`
11825
+ var ActivityPrimary = styled25.span`
11486
11826
  font-size: 0.8rem;
11487
11827
  color: #fff;
11488
11828
  font-weight: 500;
11489
11829
  `;
11490
- var ActivitySecondary = styled24.span`
11830
+ var ActivitySecondary = styled25.span`
11491
11831
  font-size: 0.6rem;
11492
11832
  color: rgba(255, 255, 255, 0.35);
11493
11833
  `;
11494
- var ActivityTag = styled24.span`
11834
+ var ActivityTag = styled25.span`
11495
11835
  font-size: 0.58rem;
11496
11836
  font-weight: 600;
11497
11837
  padding: 0.15rem 0.45rem;
@@ -11500,20 +11840,20 @@ var ActivityTag = styled24.span`
11500
11840
  background: ${({ $bg }) => $bg || "rgba(255, 255, 255, 0.06)"};
11501
11841
  white-space: nowrap;
11502
11842
  `;
11503
- var ActivityAmount = styled24.span`
11843
+ var ActivityAmount = styled25.span`
11504
11844
  font-size: 0.8rem;
11505
11845
  font-weight: 600;
11506
11846
  color: #fff;
11507
11847
  text-align: right;
11508
11848
  white-space: nowrap;
11509
11849
  `;
11510
- var ActivityActions = styled24.div`
11850
+ var ActivityActions = styled25.div`
11511
11851
  display: flex;
11512
11852
  align-items: center;
11513
11853
  justify-content: flex-end;
11514
11854
  gap: 0.35rem;
11515
11855
  `;
11516
- var ActivityRedirectButton = styled24.a`
11856
+ var ActivityRedirectButton = styled25.a`
11517
11857
  display: inline-flex;
11518
11858
  align-items: center;
11519
11859
  justify-content: center;
@@ -11535,13 +11875,13 @@ var ActivityRedirectButton = styled24.a`
11535
11875
  outline-offset: 2px;
11536
11876
  }
11537
11877
  `;
11538
- var EmptyState = styled24.div`
11878
+ var EmptyState = styled25.div`
11539
11879
  padding: 1.5rem 0.75rem;
11540
11880
  text-align: center;
11541
11881
  font-size: 0.8rem;
11542
11882
  color: rgba(255, 255, 255, 0.45);
11543
11883
  `;
11544
- var PaginationRow = styled24.div`
11884
+ var PaginationRow = styled25.div`
11545
11885
  display: flex;
11546
11886
  align-items: center;
11547
11887
  justify-content: center;
@@ -11550,7 +11890,7 @@ var PaginationRow = styled24.div`
11550
11890
  padding-top: 1rem;
11551
11891
  border-top: 1px solid rgba(255, 255, 255, 0.06);
11552
11892
  `;
11553
- var PaginationButton = styled24.button`
11893
+ var PaginationButton = styled25.button`
11554
11894
  background: transparent;
11555
11895
  border: 1px solid rgba(255, 255, 255, 0.12);
11556
11896
  border-radius: 8px;
@@ -11564,11 +11904,11 @@ var PaginationButton = styled24.button`
11564
11904
  cursor: default;
11565
11905
  }
11566
11906
  `;
11567
- var PaginationLabel = styled24.span`
11907
+ var PaginationLabel = styled25.span`
11568
11908
  font-size: 0.8rem;
11569
11909
  color: rgba(255, 255, 255, 0.4);
11570
11910
  `;
11571
- var HoldingsItem = styled24.div`
11911
+ var HoldingsItem = styled25.div`
11572
11912
  display: grid;
11573
11913
  grid-template-columns: 1fr 1fr 1fr;
11574
11914
  align-items: center;
@@ -11577,17 +11917,17 @@ var HoldingsItem = styled24.div`
11577
11917
  cursor: pointer;
11578
11918
  &:hover { background: rgba(255, 255, 255, 0.015); }
11579
11919
  `;
11580
- var HoldingsLeft = styled24.div`
11920
+ var HoldingsLeft = styled25.div`
11581
11921
  display: flex;
11582
11922
  flex-direction: column;
11583
11923
  gap: 0.15rem;
11584
11924
  `;
11585
- var HoldingsProperty = styled24.div`
11925
+ var HoldingsProperty = styled25.div`
11586
11926
  font-size: 0.85rem;
11587
11927
  font-weight: 600;
11588
11928
  color: #fff;
11589
11929
  `;
11590
- var HoldingsPortfolio = styled24.div`
11930
+ var HoldingsPortfolio = styled25.div`
11591
11931
  font-size: 0.7rem;
11592
11932
  color: rgba(255, 255, 255, 0.5);
11593
11933
  span {
@@ -11595,7 +11935,7 @@ var HoldingsPortfolio = styled24.div`
11595
11935
  font-weight: 500;
11596
11936
  }
11597
11937
  `;
11598
- var HoldingsQuantity = styled24.div`
11938
+ var HoldingsQuantity = styled25.div`
11599
11939
  display: flex;
11600
11940
  flex-direction: column;
11601
11941
  align-items: center;
@@ -11604,27 +11944,27 @@ var HoldingsQuantity = styled24.div`
11604
11944
  font-weight: 500;
11605
11945
  color: #fff;
11606
11946
  `;
11607
- var HoldingsAvgEntry = styled24.div`
11947
+ var HoldingsAvgEntry = styled25.div`
11608
11948
  font-size: 0.7rem;
11609
11949
  color: var(--color-accent, #E6C87E);
11610
11950
  font-weight: 500;
11611
11951
  `;
11612
- var HoldingsPnL = styled24.div`
11952
+ var HoldingsPnL = styled25.div`
11613
11953
  display: flex;
11614
11954
  flex-direction: column;
11615
11955
  align-items: flex-end;
11616
11956
  gap: 0.15rem;
11617
11957
  `;
11618
- var PnLAmount = styled24.div`
11958
+ var PnLAmount = styled25.div`
11619
11959
  font-size: 0.85rem;
11620
11960
  font-weight: 600;
11621
11961
  color: ${(p) => p.$positive ? "#0ecb81" : "#f6465d"};
11622
11962
  `;
11623
- var PnLPercentage = styled24.div`
11963
+ var PnLPercentage = styled25.div`
11624
11964
  font-size: 0.7rem;
11625
11965
  color: ${(p) => p.$positive ? "#0ecb81" : "#f6465d"};
11626
11966
  `;
11627
- var CancelButton = styled24.button`
11967
+ var CancelButton = styled25.button`
11628
11968
  background: transparent;
11629
11969
  border: 1px solid rgba(246, 70, 93, 0.3);
11630
11970
  border-radius: 4px;
@@ -11646,6 +11986,78 @@ var CancelButton = styled24.button`
11646
11986
  cursor: not-allowed;
11647
11987
  }
11648
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
+ `;
11649
12061
  function NewsOrdersSection({ newsItems, activityData }) {
11650
12062
  return /* @__PURE__ */ jsxs(Row2, { children: [
11651
12063
  /* @__PURE__ */ jsxs(TradeNewsPanel, { children: [
@@ -11690,7 +12102,7 @@ function NewsOrdersSection({ newsItems, activityData }) {
11690
12102
  ) })
11691
12103
  ] });
11692
12104
  }
11693
- var Row2 = styled24.div`
12105
+ var Row2 = styled25.div`
11694
12106
  display: grid;
11695
12107
  grid-template-columns: 1fr 2fr;
11696
12108
  gap: 1.5rem;
@@ -11708,7 +12120,7 @@ var Row2 = styled24.div`
11708
12120
  overflow: hidden;
11709
12121
  }
11710
12122
  `;
11711
- var TradeNewsPanel = styled24.div`
12123
+ var TradeNewsPanel = styled25.div`
11712
12124
  background-color: var(--color-card-darker, #111);
11713
12125
  border-radius: 8px;
11714
12126
  padding: 1.5rem;
@@ -11727,8 +12139,8 @@ var TradeNewsPanel = styled24.div`
11727
12139
  min-height: auto;
11728
12140
  }
11729
12141
  `;
11730
- var ActivityWrapper = styled24(TradeNewsPanel)``;
11731
- var TradeNewsHeader = styled24.div`
12142
+ var ActivityWrapper = styled25(TradeNewsPanel)``;
12143
+ var TradeNewsHeader = styled25.div`
11732
12144
  display: flex;
11733
12145
  justify-content: space-between;
11734
12146
  align-items: center;
@@ -11762,7 +12174,7 @@ var TradeNewsHeader = styled24.div`
11762
12174
  100% { opacity: 0.4; }
11763
12175
  }
11764
12176
  `;
11765
- var TradeNewsList = styled24.div`
12177
+ var TradeNewsList = styled25.div`
11766
12178
  display: flex;
11767
12179
  flex-direction: column;
11768
12180
  gap: 0.75rem;
@@ -11770,7 +12182,7 @@ var TradeNewsList = styled24.div`
11770
12182
  overflow: visible;
11771
12183
  max-width: 100%;
11772
12184
  `;
11773
- var TradeNewsItem = styled24.div`
12185
+ var TradeNewsItem = styled25.div`
11774
12186
  display: flex;
11775
12187
  flex-direction: column;
11776
12188
  padding: 0.75rem;
@@ -11786,25 +12198,25 @@ var TradeNewsItem = styled24.div`
11786
12198
  transform: translateY(-2px);
11787
12199
  }
11788
12200
  `;
11789
- var TradeNewsTitle = styled24.h4`
12201
+ var TradeNewsTitle = styled25.h4`
11790
12202
  font-size: 0.9375rem;
11791
12203
  font-weight: 500;
11792
12204
  margin: 0 0 0.5rem 0;
11793
12205
  color: var(--color-text);
11794
12206
  `;
11795
- var TradeNewsInfo = styled24.div`
12207
+ var TradeNewsInfo = styled25.div`
11796
12208
  display: flex;
11797
12209
  justify-content: space-between;
11798
12210
  align-items: center;
11799
12211
  font-size: 0.75rem;
11800
12212
  color: var(--color-text-secondary);
11801
12213
  `;
11802
- var TradeNewsDate = styled24.span`
12214
+ var TradeNewsDate = styled25.span`
11803
12215
  &[data-new='true'] {
11804
12216
  color: #0ecb81;
11805
12217
  }
11806
12218
  `;
11807
- var TradeNewsCategory = styled24.span`
12219
+ var TradeNewsCategory = styled25.span`
11808
12220
  padding: 0.25rem 0.5rem;
11809
12221
  border-radius: 4px;
11810
12222
  background-color: rgba(240,185,11,0.1);
@@ -11920,7 +12332,7 @@ function OrderConfirmationModal({
11920
12332
  ] })
11921
12333
  ] }) });
11922
12334
  }
11923
- var Overlay3 = styled24.div`
12335
+ var Overlay3 = styled25.div`
11924
12336
  position: fixed;
11925
12337
  top: 0;
11926
12338
  left: 0;
@@ -11933,7 +12345,7 @@ var Overlay3 = styled24.div`
11933
12345
  z-index: 10000;
11934
12346
  backdrop-filter: blur(4px);
11935
12347
  `;
11936
- var Modal = styled24.div`
12348
+ var Modal = styled25.div`
11937
12349
  background: linear-gradient(135deg, rgba(26,29,35,0.95) 0%, rgba(26,29,35,0.98) 100%);
11938
12350
  border: 1px solid rgba(255,255,255,0.1);
11939
12351
  border-radius: 16px;
@@ -11942,7 +12354,7 @@ var Modal = styled24.div`
11942
12354
  width: 90%;
11943
12355
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
11944
12356
  `;
11945
- var ModalHeader = styled24.div`
12357
+ var ModalHeader = styled25.div`
11946
12358
  display: flex;
11947
12359
  align-items: center;
11948
12360
  margin-bottom: 1.5rem;
@@ -11958,7 +12370,7 @@ var ModalHeader = styled24.div`
11958
12370
  gap: 0.5rem;
11959
12371
  }
11960
12372
  `;
11961
- var Badge2 = styled24.span`
12373
+ var Badge2 = styled25.span`
11962
12374
  padding: 0.25rem 0.75rem;
11963
12375
  border-radius: 6px;
11964
12376
  font-size: 0.75rem;
@@ -11969,12 +12381,12 @@ var Badge2 = styled24.span`
11969
12381
  color: #D4AF37;
11970
12382
  border: 1px solid rgba(212,175,55,0.3);
11971
12383
  `;
11972
- var ModalBody = styled24.div`
12384
+ var ModalBody = styled25.div`
11973
12385
  margin-bottom: 1.5rem;
11974
12386
  display: flex;
11975
12387
  flex-direction: column;
11976
12388
  `;
11977
- var ModalRow = styled24.div`
12389
+ var ModalRow = styled25.div`
11978
12390
  display: flex;
11979
12391
  justify-content: space-between;
11980
12392
  align-items: center;
@@ -11997,7 +12409,7 @@ var ModalRow = styled24.div`
11997
12409
  font-weight: 600;
11998
12410
  }
11999
12411
  `;
12000
- var Warning = styled24.div`
12412
+ var Warning = styled25.div`
12001
12413
  background: rgba(246,70,93,0.1);
12002
12414
  border: 1px solid rgba(246,70,93,0.3);
12003
12415
  border-radius: 8px;
@@ -12017,7 +12429,7 @@ var Warning = styled24.div`
12017
12429
  line-height: 1.5;
12018
12430
  }
12019
12431
  `;
12020
- var Summary = styled24.div`
12432
+ var Summary = styled25.div`
12021
12433
  background: rgba(255,255,255,0.03);
12022
12434
  border: 1px solid rgba(255,255,255,0.08);
12023
12435
  border-radius: 8px;
@@ -12030,7 +12442,7 @@ var Summary = styled24.div`
12030
12442
  var spin = keyframes`
12031
12443
  to { transform: rotate(360deg); }
12032
12444
  `;
12033
- var Spinner = styled24.span`
12445
+ var Spinner = styled25.span`
12034
12446
  display: inline-block;
12035
12447
  width: 14px;
12036
12448
  height: 14px;
@@ -12041,7 +12453,7 @@ var Spinner = styled24.span`
12041
12453
  margin-right: 0.5rem;
12042
12454
  vertical-align: -2px;
12043
12455
  `;
12044
- var ButtonRow2 = styled24.div`
12456
+ var ButtonRow2 = styled25.div`
12045
12457
  display: flex;
12046
12458
  gap: 1rem;
12047
12459
  justify-content: flex-end;
@@ -12145,6 +12557,7 @@ function PropertyBuy({
12145
12557
  onSelectorSelect,
12146
12558
  portfolioActivity
12147
12559
  }) {
12560
+ const { toast } = useToast();
12148
12561
  const [sliderValue, setSliderValue] = useState(0);
12149
12562
  const [availableBalance, setAvailableBalance] = useState(walletUsdcBalance ?? 0);
12150
12563
  const [manualOrderAmount, setManualOrderAmount] = useState(null);
@@ -12197,6 +12610,13 @@ function PropertyBuy({
12197
12610
  }, [walletPropertyTokenBalance]);
12198
12611
  const handleOrderButtonClick = () => {
12199
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
+ }
12200
12620
  return;
12201
12621
  }
12202
12622
  setShowOrderConfirmModal(true);
@@ -12408,7 +12828,7 @@ function PropertyBuy({
12408
12828
  )
12409
12829
  ] });
12410
12830
  }
12411
- var HeroGrid = styled24.div`
12831
+ var HeroGrid = styled25.div`
12412
12832
  display: grid;
12413
12833
  grid-template-columns: 1fr auto;
12414
12834
  grid-template-rows: auto auto minmax(450px, 520px);
@@ -12477,7 +12897,7 @@ var HeroGrid = styled24.div`
12477
12897
  gap: 0.5rem;
12478
12898
  }
12479
12899
  `;
12480
- var PaymentOption = styled24.div`
12900
+ var PaymentOption = styled25.div`
12481
12901
  display: flex;
12482
12902
  align-items: center;
12483
12903
  padding: 1rem;
@@ -12494,7 +12914,7 @@ var PaymentOption = styled24.div`
12494
12914
  border-color: rgba(0, 123, 255, 0.5);
12495
12915
  }
12496
12916
  `;
12497
- var RadioIndicator = styled24.div`
12917
+ var RadioIndicator = styled25.div`
12498
12918
  width: 20px;
12499
12919
  height: 20px;
12500
12920
  border-radius: 50%;
@@ -12514,7 +12934,7 @@ var RadioIndicator = styled24.div`
12514
12934
  transition: opacity 0.2s;
12515
12935
  }
12516
12936
  `;
12517
- var PaymentMethodDetails = styled24.div`
12937
+ var PaymentMethodDetails = styled25.div`
12518
12938
  background: rgba(0, 0, 0, 0.2);
12519
12939
  border-radius: 8px;
12520
12940
  padding: 1rem;
@@ -12533,7 +12953,7 @@ var PaymentMethodDetails = styled24.div`
12533
12953
  }
12534
12954
  }
12535
12955
  `;
12536
- var ConfirmButton = styled24.button`
12956
+ var ConfirmButton = styled25.button`
12537
12957
  background: ${(props) => props.disabled ? "rgba(255, 255, 255, 0.1)" : "linear-gradient(to right, #d4af37, #f2d35b)"};
12538
12958
  border: none;
12539
12959
  border-radius: 8px;
@@ -13251,7 +13671,7 @@ var OwnerBooking = ({ propertyName, token }) => {
13251
13671
  ] });
13252
13672
  };
13253
13673
  var owner_booking_default = OwnerBooking;
13254
- var DateSelectorDropdown = styled24.div`
13674
+ var DateSelectorDropdown = styled25.div`
13255
13675
  position: absolute;
13256
13676
  top: calc(100% + 0.5rem);
13257
13677
  left: 0;
@@ -13265,7 +13685,7 @@ var DateSelectorDropdown = styled24.div`
13265
13685
  display: ${({ $isOpen }) => $isOpen ? "block" : "none"};
13266
13686
  z-index: 10;
13267
13687
  `;
13268
- var MonthButton = styled24.button`
13688
+ var MonthButton = styled25.button`
13269
13689
  background: ${({ $isSelected }) => $isSelected ? "rgba(212, 175, 55, 0.2)" : "transparent"};
13270
13690
  border: 1px solid
13271
13691
  ${({ $isSelected }) => $isSelected ? "#d4af37" : "rgba(255, 255, 255, 0.12)"};
@@ -13281,7 +13701,7 @@ var MonthButton = styled24.button`
13281
13701
  border-color: rgba(212, 175, 55, 0.5);
13282
13702
  }
13283
13703
  `;
13284
- var DayCell = styled24.div`
13704
+ var DayCell = styled25.div`
13285
13705
  aspect-ratio: 1;
13286
13706
  display: flex;
13287
13707
  align-items: center;
@@ -13315,7 +13735,7 @@ var DayCell = styled24.div`
13315
13735
  opacity: ${({ $isCurrentMonth, $savedRangeColor }) => $isCurrentMonth ? $savedRangeColor ? 0.85 : 1 : 0.35};
13316
13736
  }
13317
13737
  `;
13318
- var AddDateRangeButton = styled24.button`
13738
+ var AddDateRangeButton = styled25.button`
13319
13739
  flex: 1;
13320
13740
  min-width: 180px;
13321
13741
  background: rgba(212, 175, 55, 0.18);
@@ -13337,21 +13757,21 @@ var AddDateRangeButton = styled24.button`
13337
13757
  cursor: not-allowed;
13338
13758
  }
13339
13759
  `;
13340
- var ConfirmButton2 = styled24(AddDateRangeButton)`
13760
+ var ConfirmButton2 = styled25(AddDateRangeButton)`
13341
13761
  flex: 0 0 auto;
13342
13762
  min-width: 140px;
13343
13763
  background: rgba(212, 175, 55, 0.35);
13344
13764
  border-color: rgba(212, 175, 55, 0.6);
13345
13765
  font-weight: 600;
13346
13766
  `;
13347
- var ReservationCard = styled24.div`
13767
+ var ReservationCard = styled25.div`
13348
13768
  background: rgba(0, 0, 0, 0.4);
13349
13769
  border-radius: 12px;
13350
13770
  padding: 1rem;
13351
13771
  margin-top: 1rem;
13352
13772
  border-left: 4px solid ${({ $accent }) => $accent};
13353
13773
  `;
13354
- var ActionButton = styled24.button`
13774
+ var ActionButton = styled25.button`
13355
13775
  background: none;
13356
13776
  border: none;
13357
13777
  color: ${({ $variant }) => $variant === "danger" ? "#ff7676" : "#d4af37"};
@@ -13801,7 +14221,7 @@ function calculatePositionFromPrice(price, undervaluedPrice, fairValue, overvalu
13801
14221
  }
13802
14222
  return 50 + 50 * (price - fairValue) / (overvaluedPrice - fairValue);
13803
14223
  }
13804
- var ValuationIndicator = styled24.div`
14224
+ var ValuationIndicator = styled25.div`
13805
14225
  background-color: rgba(50, 52, 58, 0.95);
13806
14226
  border-radius: 6px;
13807
14227
  padding: 1rem;
@@ -13823,7 +14243,7 @@ var ValuationIndicator = styled24.div`
13823
14243
  }
13824
14244
  }
13825
14245
  `;
13826
- var GaugeIndicator = styled24.div`
14246
+ var GaugeIndicator = styled25.div`
13827
14247
  position: absolute;
13828
14248
  left: ${(props) => props.position}%;
13829
14249
  top: 0.35rem;
@@ -13834,7 +14254,7 @@ var GaugeIndicator = styled24.div`
13834
14254
  background: ${(props) => props.type === "fairValue" ? "#f0b90b" : "rgba(10, 12, 18, 0.95)"};
13835
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)"};
13836
14256
  `;
13837
- var GaugePriceTag = styled24.div`
14257
+ var GaugePriceTag = styled25.div`
13838
14258
  position: absolute;
13839
14259
  left: ${(props) => props.position}%;
13840
14260
  top: -46px;
@@ -13859,18 +14279,18 @@ var GaugePriceTag = styled24.div`
13859
14279
  color: var(--color-accent);
13860
14280
  }
13861
14281
  `;
13862
- var HiddenMobileChart = styled24.div`
14282
+ var HiddenMobileChart = styled25.div`
13863
14283
  display: none;
13864
14284
  @media (max-width: 480px) {
13865
14285
  display: block;
13866
14286
  }
13867
14287
  `;
13868
- var ValuationWrapper = styled24.div`
14288
+ var ValuationWrapper = styled25.div`
13869
14289
  display: flex;
13870
14290
  flex-direction: column;
13871
14291
  gap: 2rem;
13872
14292
  `;
13873
- var LoadingOverlay = styled24.div`
14293
+ var LoadingOverlay = styled25.div`
13874
14294
  margin-top: 1rem;
13875
14295
  padding: 0.75rem 1rem;
13876
14296
  border-radius: 8px;
@@ -13878,7 +14298,7 @@ var LoadingOverlay = styled24.div`
13878
14298
  color: rgba(255, 255, 255, 0.8);
13879
14299
  font-size: 0.9rem;
13880
14300
  `;
13881
- var ErrorMessage = styled24.div`
14301
+ var ErrorMessage = styled25.div`
13882
14302
  margin-top: 1rem;
13883
14303
  padding: 0.75rem 1rem;
13884
14304
  border-radius: 8px;
@@ -13887,33 +14307,33 @@ var ErrorMessage = styled24.div`
13887
14307
  font-size: 0.9rem;
13888
14308
  border: 1px solid rgba(244, 67, 54, 0.4);
13889
14309
  `;
13890
- var SectionTitle = styled24.h2`
14310
+ var SectionTitle = styled25.h2`
13891
14311
  margin: 0;
13892
14312
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
13893
14313
  font-weight: 600;
13894
14314
  color: #fff;
13895
14315
  letter-spacing: 0.01em;
13896
14316
  `;
13897
- var LoafPricingSection = styled24.div`
14317
+ var LoafPricingSection = styled25.div`
13898
14318
  background-color: rgba(30, 32, 38, 0.95);
13899
14319
  border-radius: 8px;
13900
14320
  padding: 1.25rem;
13901
14321
  margin-bottom: 1.5rem;
13902
14322
  `;
13903
- var SectionSubheading = styled24.h2`
14323
+ var SectionSubheading = styled25.h2`
13904
14324
  margin: 0;
13905
14325
  font-size: 1.1rem;
13906
14326
  font-weight: 600;
13907
14327
  color: #fff;
13908
14328
  letter-spacing: 0.02em;
13909
14329
  `;
13910
- var PricingModelCard = styled24.div`
14330
+ var PricingModelCard = styled25.div`
13911
14331
  background-color: rgba(40, 42, 48, 0.95);
13912
14332
  border-radius: 8px;
13913
14333
  padding: 1.5rem;
13914
14334
  margin-top: 1rem;
13915
14335
  `;
13916
- var PricingModelHeader = styled24.div`
14336
+ var PricingModelHeader = styled25.div`
13917
14337
  display: flex;
13918
14338
  justify-content: space-between;
13919
14339
  align-items: center;
@@ -13928,13 +14348,13 @@ var PricingModelHeader = styled24.div`
13928
14348
  color: rgba(255, 255, 255, 0.75);
13929
14349
  }
13930
14350
  `;
13931
- var PricingModelTitle = styled24.h3`
14351
+ var PricingModelTitle = styled25.h3`
13932
14352
  margin: 0;
13933
14353
  font-size: 1.2rem;
13934
14354
  font-weight: 600;
13935
14355
  color: #fff;
13936
14356
  `;
13937
- var PricingModelValue = styled24.div`
14357
+ var PricingModelValue = styled25.div`
13938
14358
  font-size: 1.4rem;
13939
14359
  font-weight: 700;
13940
14360
  color: var(--color-primary);
@@ -13943,43 +14363,43 @@ var PricingModelValue = styled24.div`
13943
14363
  font-size: 1.2rem;
13944
14364
  }
13945
14365
  `;
13946
- var PricingModelDetails = styled24.div`
14366
+ var PricingModelDetails = styled25.div`
13947
14367
  display: grid;
13948
14368
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
13949
14369
  gap: 1.5rem;
13950
14370
  margin-bottom: 1.5rem;
13951
14371
  `;
13952
- var PricingModelDetail = styled24.div`
14372
+ var PricingModelDetail = styled25.div`
13953
14373
  background-color: rgba(50, 52, 58, 0.95);
13954
14374
  border-radius: 6px;
13955
14375
  padding: 1rem;
13956
14376
  `;
13957
- var PropertyDetailLabel = styled24.div`
14377
+ var PropertyDetailLabel = styled25.div`
13958
14378
  font-size: 0.85rem;
13959
14379
  color: rgba(255, 255, 255, 0.7);
13960
14380
  margin-bottom: 0.5rem;
13961
14381
  `;
13962
- var PricingDetailValue = styled24.div`
14382
+ var PricingDetailValue = styled25.div`
13963
14383
  font-size: 1rem;
13964
14384
  color: #fff;
13965
14385
  font-weight: 500;
13966
14386
  `;
13967
- var ValuationHeader = styled24.div`
14387
+ var ValuationHeader = styled25.div`
13968
14388
  display: flex;
13969
14389
  justify-content: space-between;
13970
14390
  margin-bottom: 0.75rem;
13971
14391
  `;
13972
- var ValuationTitle = styled24.div`
14392
+ var ValuationTitle = styled25.div`
13973
14393
  font-size: 0.9rem;
13974
14394
  color: rgba(255, 255, 255, 0.7);
13975
14395
  `;
13976
- var ValuationGauge = styled24.div`
14396
+ var ValuationGauge = styled25.div`
13977
14397
  position: relative;
13978
14398
  width: 100%;
13979
14399
  padding: 1.1rem 0 2rem;
13980
14400
  margin: 0.75rem 0 1rem;
13981
14401
  `;
13982
- var GaugeBackground = styled24.div`
14402
+ var GaugeBackground = styled25.div`
13983
14403
  width: 100%;
13984
14404
  height: 18px;
13985
14405
  border-radius: 999px;
@@ -13988,21 +14408,21 @@ var GaugeBackground = styled24.div`
13988
14408
  overflow: hidden;
13989
14409
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.35), 0 8px 18px rgba(0, 0, 0, 0.25);
13990
14410
  `;
13991
- var ValuationDetails = styled24.div`
14411
+ var ValuationDetails = styled25.div`
13992
14412
  display: flex;
13993
14413
  justify-content: space-between;
13994
14414
  margin-top: 1rem;
13995
14415
  `;
13996
- var ValuationItem = styled24.div`
14416
+ var ValuationItem = styled25.div`
13997
14417
  display: flex;
13998
14418
  flex-direction: column;
13999
14419
  `;
14000
- var ValuationValue = styled24.div`
14420
+ var ValuationValue = styled25.div`
14001
14421
  font-size: 1rem;
14002
14422
  font-weight: 600;
14003
14423
  color: #fff;
14004
14424
  `;
14005
- var ChartContainer = styled24.div`
14425
+ var ChartContainer = styled25.div`
14006
14426
  width: 100%;
14007
14427
  height: 301.52px;
14008
14428
  margin-top: 1.5rem;
@@ -14011,14 +14431,14 @@ var ChartContainer = styled24.div`
14011
14431
  padding: 1rem;
14012
14432
  position: relative;
14013
14433
  `;
14014
- var ChartBackground = styled24.div`
14434
+ var ChartBackground = styled25.div`
14015
14435
  position: relative;
14016
14436
  height: 100%;
14017
14437
  width: 100%;
14018
14438
  background: rgba(255, 255, 255, 0.03);
14019
14439
  border-radius: 8px;
14020
14440
  `;
14021
- var ValuationSvg = styled24.svg`
14441
+ var ValuationSvg = styled25.svg`
14022
14442
  position: absolute;
14023
14443
  top: 10px;
14024
14444
  right: 0;
@@ -14028,7 +14448,7 @@ var ValuationSvg = styled24.svg`
14028
14448
  width: 100%;
14029
14449
  height: calc(100% - 35px);
14030
14450
  `;
14031
- var YAxisLabel = styled24.div`
14451
+ var YAxisLabel = styled25.div`
14032
14452
  position: absolute;
14033
14453
  left: -40px;
14034
14454
  font-size: 10px;
@@ -14036,7 +14456,7 @@ var YAxisLabel = styled24.div`
14036
14456
  text-align: right;
14037
14457
  padding-right: 5px;
14038
14458
  `;
14039
- var ValuationCallout = styled24.div`
14459
+ var ValuationCallout = styled25.div`
14040
14460
  display: flex;
14041
14461
  align-items: center;
14042
14462
  justify-content: space-between;
@@ -14046,7 +14466,7 @@ var ValuationCallout = styled24.div`
14046
14466
  border: 1px solid rgba(76, 175, 80, 0.2);
14047
14467
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
14048
14468
  `;
14049
- var ValuationBadge = styled24.div`
14469
+ var ValuationBadge = styled25.div`
14050
14470
  background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
14051
14471
  color: white;
14052
14472
  padding: 5px 12px;
@@ -14055,17 +14475,17 @@ var ValuationBadge = styled24.div`
14055
14475
  font-weight: 600;
14056
14476
  box-shadow: 0 2px 4px rgba(76, 175, 80, 0.25);
14057
14477
  `;
14058
- var AreaDemandChart = styled24.div`
14478
+ var AreaDemandChart = styled25.div`
14059
14479
  height: 60px;
14060
14480
  width: 100%;
14061
14481
  position: relative;
14062
14482
  `;
14063
- var ChartLabel = styled24.div`
14483
+ var ChartLabel = styled25.div`
14064
14484
  position: absolute;
14065
14485
  font-size: 9px;
14066
14486
  color: rgba(255, 255, 255, 0.7);
14067
14487
  `;
14068
- var RecentSalesSection = styled24.div`
14488
+ var RecentSalesSection = styled25.div`
14069
14489
  background-color: rgba(30, 32, 38, 0.95);
14070
14490
  border-radius: 8px;
14071
14491
  padding: 1.25rem;
@@ -14075,7 +14495,7 @@ var RecentSalesSection = styled24.div`
14075
14495
  position: relative;
14076
14496
  }
14077
14497
  `;
14078
- var SalesGrid = styled24.div`
14498
+ var SalesGrid = styled25.div`
14079
14499
  display: grid;
14080
14500
  grid-template-columns: repeat(3, 1fr);
14081
14501
  gap: 1.5rem;
@@ -14096,7 +14516,7 @@ var SalesGrid = styled24.div`
14096
14516
  scrollbar-width: none;
14097
14517
  }
14098
14518
  `;
14099
- var SaleCard = styled24.div`
14519
+ var SaleCard = styled25.div`
14100
14520
  background-color: var(--color-card, #1e2329);
14101
14521
  border-radius: var(--border-radius, 8px);
14102
14522
  overflow: hidden;
@@ -14120,13 +14540,13 @@ var SaleCard = styled24.div`
14120
14540
  }
14121
14541
  }
14122
14542
  `;
14123
- var SaleImageContainer = styled24.div`
14543
+ var SaleImageContainer = styled25.div`
14124
14544
  position: relative;
14125
14545
  width: 100%;
14126
14546
  height: 200px;
14127
14547
  overflow: hidden;
14128
14548
  `;
14129
- var SaleImage = styled24.img`
14549
+ var SaleImage = styled25.img`
14130
14550
  width: 100%;
14131
14551
  height: 100%;
14132
14552
  object-fit: cover;
@@ -14137,7 +14557,7 @@ var SaleImage = styled24.img`
14137
14557
  transform: scale(1.05);
14138
14558
  }
14139
14559
  `;
14140
- var SoldTag = styled24.div`
14560
+ var SoldTag = styled25.div`
14141
14561
  position: absolute;
14142
14562
  top: 1rem;
14143
14563
  right: 1rem;
@@ -14151,10 +14571,10 @@ var SoldTag = styled24.div`
14151
14571
  align-items: center;
14152
14572
  gap: 4px;
14153
14573
  `;
14154
- var SoldIcon = styled24.div`
14574
+ var SoldIcon = styled25.div`
14155
14575
  display: none;
14156
14576
  `;
14157
- var SalePriceBar = styled24.div`
14577
+ var SalePriceBar = styled25.div`
14158
14578
  display: flex;
14159
14579
  justify-content: space-between;
14160
14580
  align-items: center;
@@ -14162,37 +14582,37 @@ var SalePriceBar = styled24.div`
14162
14582
  background: linear-gradient(90deg, rgba(240, 185, 11, 0.1) 0%, rgba(240, 185, 11, 0.05) 100%);
14163
14583
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
14164
14584
  `;
14165
- var SalePriceLeft = styled24.div`
14585
+ var SalePriceLeft = styled25.div`
14166
14586
  display: flex;
14167
14587
  flex-direction: column;
14168
14588
  `;
14169
- var SalePriceLabel = styled24.span`
14589
+ var SalePriceLabel = styled25.span`
14170
14590
  font-size: 0.7rem;
14171
14591
  color: rgba(255, 255, 255, 0.5);
14172
14592
  text-transform: uppercase;
14173
14593
  letter-spacing: 0.5px;
14174
14594
  `;
14175
- var SalePriceAmount = styled24.span`
14595
+ var SalePriceAmount = styled25.span`
14176
14596
  font-size: 1.1rem;
14177
14597
  font-weight: 700;
14178
14598
  color: var(--color-accent, #f0b90b);
14179
14599
  `;
14180
- var SaleContent = styled24.div`
14600
+ var SaleContent = styled25.div`
14181
14601
  padding: 1rem;
14182
14602
  `;
14183
- var SaleAddress = styled24.h3`
14603
+ var SaleAddress = styled25.h3`
14184
14604
  margin: 0;
14185
14605
  margin-bottom: 0.25rem;
14186
14606
  font-size: 1rem;
14187
14607
  font-weight: 600;
14188
14608
  color: var(--color-text, #eaecef);
14189
14609
  `;
14190
- var SaleSuburb = styled24.div`
14610
+ var SaleSuburb = styled25.div`
14191
14611
  font-size: 0.8rem;
14192
14612
  color: var(--color-text-secondary, #848e9c);
14193
14613
  margin-bottom: 0.5rem;
14194
14614
  `;
14195
- var SaleStatsBar = styled24.div`
14615
+ var SaleStatsBar = styled25.div`
14196
14616
  display: flex;
14197
14617
  justify-content: space-between;
14198
14618
  align-items: center;
@@ -14200,7 +14620,7 @@ var SaleStatsBar = styled24.div`
14200
14620
  background-color: rgba(0, 0, 0, 0.3);
14201
14621
  border-top: 1px solid rgba(255, 255, 255, 0.05);
14202
14622
  `;
14203
- var SaleStatItem = styled24.div`
14623
+ var SaleStatItem = styled25.div`
14204
14624
  display: flex;
14205
14625
  align-items: center;
14206
14626
  gap: 0.25rem;
@@ -14213,11 +14633,11 @@ var SaleStatItem = styled24.div`
14213
14633
  opacity: 0.7;
14214
14634
  }
14215
14635
  `;
14216
- var SaleDate = styled24.div`
14636
+ var SaleDate = styled25.div`
14217
14637
  font-size: 0.75rem;
14218
14638
  color: var(--color-text-secondary, #848e9c);
14219
14639
  `;
14220
- var SwipeIndicator = styled24.div`
14640
+ var SwipeIndicator = styled25.div`
14221
14641
  display: none;
14222
14642
 
14223
14643
  @media (max-width: 768px) {
@@ -14250,7 +14670,7 @@ var pulse3 = keyframes`
14250
14670
  0%, 100% { transform: scale(1); opacity: 0.8; }
14251
14671
  50% { transform: scale(1.2); opacity: 1; }
14252
14672
  `;
14253
- var FeatureTooltip = styled24.div`
14673
+ var FeatureTooltip = styled25.div`
14254
14674
  position: absolute;
14255
14675
  transform: translate(-50%, calc(-100% - 24px));
14256
14676
  min-width: 180px;
@@ -14292,7 +14712,7 @@ var FeatureTooltip = styled24.div`
14292
14712
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.35));
14293
14713
  }
14294
14714
  `;
14295
- var GalleryOverlay = styled24.div`
14715
+ var GalleryOverlay = styled25.div`
14296
14716
  position: fixed;
14297
14717
  inset: 0;
14298
14718
  z-index: 1000;
@@ -14301,7 +14721,7 @@ var GalleryOverlay = styled24.div`
14301
14721
  flex-direction: column;
14302
14722
  animation: ${fadeIn} 0.3s ease;
14303
14723
  `;
14304
- var GalleryHeader = styled24.div`
14724
+ var GalleryHeader = styled25.div`
14305
14725
  position: relative;
14306
14726
  padding: 1.5rem 2rem;
14307
14727
  display: flex;
@@ -14317,7 +14737,7 @@ var GalleryHeader = styled24.div`
14317
14737
  padding: 1rem;
14318
14738
  }
14319
14739
  `;
14320
- var PropertyInfo = styled24.div`
14740
+ var PropertyInfo = styled25.div`
14321
14741
  color: white;
14322
14742
 
14323
14743
  h2 {
@@ -14332,7 +14752,7 @@ var PropertyInfo = styled24.div`
14332
14752
  font-size: 0.95rem;
14333
14753
  }
14334
14754
  `;
14335
- var CloseButton2 = styled24.button`
14755
+ var CloseButton2 = styled25.button`
14336
14756
  width: 48px;
14337
14757
  height: 48px;
14338
14758
  border-radius: 50%;
@@ -14350,7 +14770,7 @@ var CloseButton2 = styled24.button`
14350
14770
  transform: rotate(90deg);
14351
14771
  }
14352
14772
  `;
14353
- var MainImageContainer = styled24.div`
14773
+ var MainImageContainer = styled25.div`
14354
14774
  position: relative;
14355
14775
  flex: 1;
14356
14776
  display: flex;
@@ -14362,7 +14782,7 @@ var MainImageContainer = styled24.div`
14362
14782
  padding: 60px 0 110px;
14363
14783
  }
14364
14784
  `;
14365
- var MainImage = styled24.img`
14785
+ var MainImage = styled25.img`
14366
14786
  max-width: 90%;
14367
14787
  max-height: 100%;
14368
14788
  object-fit: contain;
@@ -14379,7 +14799,7 @@ var MainImage = styled24.img`
14379
14799
  max-width: 100%;
14380
14800
  }
14381
14801
  `;
14382
- var Hotspot = styled24.button`
14802
+ var Hotspot = styled25.button`
14383
14803
  position: absolute;
14384
14804
  width: 32px;
14385
14805
  height: 32px;
@@ -14398,7 +14818,7 @@ var Hotspot = styled24.button`
14398
14818
  transform: translate(-50%, -50%) scale(1.2);
14399
14819
  }
14400
14820
  `;
14401
- var ThumbnailStrip = styled24.div`
14821
+ var ThumbnailStrip = styled25.div`
14402
14822
  position: absolute;
14403
14823
  bottom: 0;
14404
14824
  left: 0;
@@ -14413,7 +14833,7 @@ var ThumbnailStrip = styled24.div`
14413
14833
  display: none;
14414
14834
  }
14415
14835
  `;
14416
- var Thumbnail2 = styled24.button`
14836
+ var Thumbnail2 = styled25.button`
14417
14837
  width: 86px;
14418
14838
  height: 64px;
14419
14839
  border-radius: 6px;
@@ -14434,7 +14854,7 @@ var Thumbnail2 = styled24.button`
14434
14854
  object-fit: cover;
14435
14855
  }
14436
14856
  `;
14437
- var NavigationButton = styled24.button`
14857
+ var NavigationButton = styled25.button`
14438
14858
  position: absolute;
14439
14859
  top: 50%;
14440
14860
  ${(p) => p.$dir === "prev" ? "left: 2rem;" : "right: 2rem;"}
@@ -14454,7 +14874,7 @@ var NavigationButton = styled24.button`
14454
14874
  display: none;
14455
14875
  }
14456
14876
  `;
14457
- var SliderContainer = styled24.div`
14877
+ var SliderContainer = styled25.div`
14458
14878
  position: absolute;
14459
14879
  bottom: 110px;
14460
14880
  left: 50%;
@@ -14471,21 +14891,21 @@ var SliderContainer = styled24.div`
14471
14891
  width: 85%;
14472
14892
  }
14473
14893
  `;
14474
- var SliderTrack = styled24.div`
14894
+ var SliderTrack = styled25.div`
14475
14895
  position: relative;
14476
14896
  height: 4px;
14477
14897
  background: rgba(255, 255, 255, 0.2);
14478
14898
  border-radius: 999px;
14479
14899
  cursor: pointer;
14480
14900
  `;
14481
- var SliderProgress = styled24.div`
14901
+ var SliderProgress = styled25.div`
14482
14902
  position: absolute;
14483
14903
  inset: 0;
14484
14904
  width: ${(p) => p.$progress}%;
14485
14905
  background: linear-gradient(90deg, var(--color-accent, #f0b90b), rgba(240, 185, 11, 0.5));
14486
14906
  border-radius: inherit;
14487
14907
  `;
14488
- var SliderThumb = styled24.div`
14908
+ var SliderThumb = styled25.div`
14489
14909
  position: absolute;
14490
14910
  top: 50%;
14491
14911
  left: ${(p) => p.$position}%;
@@ -14497,7 +14917,7 @@ var SliderThumb = styled24.div`
14497
14917
  border: 3px solid white;
14498
14918
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
14499
14919
  `;
14500
- var SliderLabels = styled24.div`
14920
+ var SliderLabels = styled25.div`
14501
14921
  display: flex;
14502
14922
  justify-content: space-between;
14503
14923
  margin-top: 0.75rem;
@@ -14512,7 +14932,7 @@ var SliderLabels = styled24.div`
14512
14932
  display: none;
14513
14933
  }
14514
14934
  `;
14515
- var MobileDots = styled24.div`
14935
+ var MobileDots = styled25.div`
14516
14936
  position: absolute;
14517
14937
  bottom: 1.5rem;
14518
14938
  left: 50%;
@@ -14524,7 +14944,7 @@ var MobileDots = styled24.div`
14524
14944
  display: none;
14525
14945
  }
14526
14946
  `;
14527
- var MobileDot = styled24.button`
14947
+ var MobileDot = styled25.button`
14528
14948
  width: 8px;
14529
14949
  height: 8px;
14530
14950
  border-radius: 50%;
@@ -14754,191 +15174,6 @@ function GalleryContent({ galleryImages, startIndex, title, subtitle, onClose })
14754
15174
  }
14755
15175
  );
14756
15176
  }
14757
- var slideIn = keyframes`
14758
- from { transform: translateX(110%); opacity: 0; }
14759
- to { transform: translateX(0); opacity: 1; }
14760
- `;
14761
- var slideOut = keyframes`
14762
- from { transform: translateX(0); opacity: 1; }
14763
- to { transform: translateX(110%); opacity: 0; }
14764
- `;
14765
- var progressShrink = keyframes`
14766
- from { width: 100%; }
14767
- to { width: 0%; }
14768
- `;
14769
- var VARIANT_COLORS = {
14770
- success: { accent: "#0ecb81", icon: "\u2713" },
14771
- error: { accent: "#f6465d", icon: "\u2715" },
14772
- info: { accent: "#E6C656", icon: "\u2139" },
14773
- pending: { accent: "#7EB3E6", icon: "\u25CC" }
14774
- };
14775
- var Wrapper = styled24.div`
14776
- position: relative;
14777
- display: flex;
14778
- flex-direction: column;
14779
- gap: 0;
14780
- width: 340px;
14781
- background: #0d0f1a;
14782
- border: 1px solid rgba(255, 255, 255, 0.08);
14783
- border-radius: 10px;
14784
- overflow: hidden;
14785
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255,255,255,0.04);
14786
- 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`};
14787
- pointer-events: all;
14788
- `;
14789
- var Body = styled24.div`
14790
- display: flex;
14791
- align-items: flex-start;
14792
- gap: 12px;
14793
- padding: 14px 16px 12px;
14794
- `;
14795
- var IconDot = styled24.div`
14796
- flex-shrink: 0;
14797
- width: 28px;
14798
- height: 28px;
14799
- border-radius: 50%;
14800
- background: ${({ $color }) => $color}1a;
14801
- border: 1px solid ${({ $color }) => $color}55;
14802
- display: flex;
14803
- align-items: center;
14804
- justify-content: center;
14805
- font-size: 0.75rem;
14806
- font-weight: 700;
14807
- color: ${({ $color }) => $color};
14808
- margin-top: 1px;
14809
- `;
14810
- var Content = styled24.div`
14811
- flex: 1;
14812
- min-width: 0;
14813
- `;
14814
- var Title2 = styled24.p`
14815
- margin: 0 0 2px;
14816
- font-size: 0.8rem;
14817
- font-weight: 600;
14818
- color: #fff;
14819
- letter-spacing: 0.01em;
14820
- `;
14821
- var Amount = styled24.p`
14822
- margin: 0 0 6px;
14823
- font-size: 1.05rem;
14824
- font-weight: 700;
14825
- color: #E6C656;
14826
- letter-spacing: -0.01em;
14827
- `;
14828
- var TxRow = styled24.a`
14829
- display: inline-flex;
14830
- align-items: center;
14831
- gap: 5px;
14832
- font-family: 'IBM Plex Mono', 'Space Mono', monospace;
14833
- font-size: 0.68rem;
14834
- color: rgba(255, 255, 255, 0.4);
14835
- text-decoration: none;
14836
- transition: color 0.15s;
14837
- &:hover {
14838
- color: #7EB3E6;
14839
- }
14840
- `;
14841
- var TxArrow = styled24.span`
14842
- font-size: 0.6rem;
14843
- opacity: 0.6;
14844
- `;
14845
- var CloseBtn = styled24.button`
14846
- flex-shrink: 0;
14847
- background: none;
14848
- border: none;
14849
- padding: 2px 4px;
14850
- cursor: pointer;
14851
- color: rgba(255, 255, 255, 0.25);
14852
- font-size: 0.9rem;
14853
- line-height: 1;
14854
- transition: color 0.15s;
14855
- &:hover { color: rgba(255, 255, 255, 0.7); }
14856
- `;
14857
- var ProgressBar = styled24.div`
14858
- height: 2px;
14859
- background: rgba(255, 255, 255, 0.06);
14860
- position: relative;
14861
- &::after {
14862
- content: '';
14863
- position: absolute;
14864
- left: 0;
14865
- top: 0;
14866
- height: 100%;
14867
- background: ${({ $color }) => $color};
14868
- animation: ${css`${progressShrink} ${({ $duration }) => $duration}ms linear forwards`};
14869
- }
14870
- `;
14871
- var Container3 = styled24.div`
14872
- position: fixed;
14873
- bottom: 24px;
14874
- right: 24px;
14875
- z-index: 9999;
14876
- display: flex;
14877
- flex-direction: column-reverse;
14878
- gap: 10px;
14879
- pointer-events: none;
14880
- `;
14881
- var DEFAULT_EXPLORER = "https://sepolia.basescan.org/tx/";
14882
- function truncateHash(hash) {
14883
- return `${hash.slice(0, 6)}\u2026${hash.slice(-4)}`;
14884
- }
14885
- function ToastItem({ toast, onDismiss }) {
14886
- const [exiting, setExiting] = useState(false);
14887
- const timerRef = useRef(null);
14888
- const dismiss = useCallback(() => {
14889
- setExiting(true);
14890
- setTimeout(() => onDismiss(toast.id), 280);
14891
- }, [onDismiss, toast.id]);
14892
- useEffect(() => {
14893
- const duration2 = toast.duration ?? 6e3;
14894
- if (duration2 > 0) {
14895
- timerRef.current = setTimeout(dismiss, duration2);
14896
- }
14897
- return () => {
14898
- if (timerRef.current) clearTimeout(timerRef.current);
14899
- };
14900
- }, [dismiss, toast.duration]);
14901
- const { accent, icon } = VARIANT_COLORS[toast.variant];
14902
- const duration = toast.duration ?? 6e3;
14903
- const explorerBase = toast.explorerUrl ?? DEFAULT_EXPLORER;
14904
- const txUrl = toast.txHash ? `${explorerBase}${toast.txHash}` : void 0;
14905
- return /* @__PURE__ */ jsxs(Wrapper, { $exiting: exiting, children: [
14906
- /* @__PURE__ */ jsxs(Body, { children: [
14907
- /* @__PURE__ */ jsx(IconDot, { $color: accent, children: icon }),
14908
- /* @__PURE__ */ jsxs(Content, { children: [
14909
- /* @__PURE__ */ jsx(Title2, { children: toast.title }),
14910
- toast.amount && /* @__PURE__ */ jsx(Amount, { children: toast.amount }),
14911
- toast.txHash && txUrl && /* @__PURE__ */ jsxs(TxRow, { href: txUrl, target: "_blank", rel: "noopener noreferrer", children: [
14912
- truncateHash(toast.txHash),
14913
- /* @__PURE__ */ jsx(TxArrow, { children: "\u2197" })
14914
- ] })
14915
- ] }),
14916
- /* @__PURE__ */ jsx(CloseBtn, { type: "button", onClick: dismiss, "aria-label": "Dismiss", children: "\u2715" })
14917
- ] }),
14918
- duration > 0 && /* @__PURE__ */ jsx(ProgressBar, { $color: accent, $duration: duration })
14919
- ] });
14920
- }
14921
- var ToastContext = createContext(null);
14922
- function ToastProvider({ children }) {
14923
- const [toasts, setToasts] = useState([]);
14924
- const addToast = useCallback((data) => {
14925
- const id = `toast-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;
14926
- setToasts((prev) => [...prev, { ...data, id }]);
14927
- return id;
14928
- }, []);
14929
- const dismiss = useCallback((id) => {
14930
- setToasts((prev) => prev.filter((t) => t.id !== id));
14931
- }, []);
14932
- return /* @__PURE__ */ jsxs(ToastContext.Provider, { value: { toast: addToast, dismiss }, children: [
14933
- children,
14934
- /* @__PURE__ */ jsx(Container3, { children: toasts.map((t) => /* @__PURE__ */ jsx(ToastItem, { toast: t, onDismiss: dismiss }, t.id)) })
14935
- ] });
14936
- }
14937
- function useToast() {
14938
- const ctx = useContext(ToastContext);
14939
- if (!ctx) throw new Error("useToast must be used within a ToastProvider");
14940
- return ctx;
14941
- }
14942
15177
  var INTERVALS = [1e3, 2e3, 4e3, 5e3, 7e3, 1e4, 12e3];
14943
15178
  function useAdaptivePolling({ enabled, onPoll }) {
14944
15179
  const onPollRef = useRef(onPoll);