@loafmarkets/ui 0.1.86 → 0.1.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2690,7 +2690,7 @@ var PropertyTour = React5__namespace.forwardRef(
2690
2690
  }
2691
2691
  );
2692
2692
  PropertyTour.displayName = "PropertyTour";
2693
- var ITEMS_PER_PAGE = 5;
2693
+ var ITEMS_PER_PAGE = 4;
2694
2694
  var ensureAnimationsInjected = () => {
2695
2695
  if (typeof document === "undefined") return;
2696
2696
  if (document.getElementById("property-news-updates-animations")) return;
@@ -2938,10 +2938,10 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
2938
2938
  children: [
2939
2939
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
2940
2940
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
2941
- isHomeVariant && /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", style: { color: "var(--color-text, #fff)", flexShrink: 0, display: "block" }, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-5 14H4v-4h11v4zm0-5H4V9h11v4zm5 5h-4V9h4v9z" }) }),
2941
+ isHomeVariant && /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "currentColor", style: { color: "var(--color-text, #fff)" }, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-5 14H4v-4h11v4zm0-5H4V9h11v4zm5 5h-4V9h4v9z" }) }),
2942
2942
  isPurchaseVariant && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", width: "8px", height: "8px", borderRadius: "50%", backgroundColor: "#0ecb81", boxShadow: "0 0 8px rgba(14,203,129,0.8)", animation: "propertyNewsPulse 1.5s infinite" } }),
2943
2943
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2944
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: isHomeVariant ? "text-base font-semibold text-white" : "text-lg font-semibold text-white", style: { margin: 0 }, children: resolvedHeading }),
2944
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: isHomeVariant ? "text-base font-semibold text-white" : "text-lg font-semibold text-white", children: resolvedHeading }),
2945
2945
  subheading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-white/60", children: subheading }) : null
2946
2946
  ] })
2947
2947
  ] }),
@@ -2956,7 +2956,7 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
2956
2956
  "LIVE"
2957
2957
  ] }) : null
2958
2958
  ] }),
2959
- isHomeVariant && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", gap: "1.5rem", marginTop: "0.75rem", marginBottom: "0.5rem", borderBottom: "1px solid rgba(255, 255, 255, 0.08)", paddingBottom: "0.5rem" }, children: ["all", "property", "market"].map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
2959
+ isHomeVariant && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", gap: 0, marginTop: "0.75rem", marginBottom: "0.25rem" }, children: ["all", "property", "market"].map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
2960
2960
  "button",
2961
2961
  {
2962
2962
  type: "button",
@@ -2965,8 +2965,7 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
2965
2965
  background: "transparent",
2966
2966
  border: "none",
2967
2967
  borderBottom: homeTab === tab ? "2px solid var(--color-accent, #f0b90b)" : "2px solid transparent",
2968
- padding: "0 0 0.5rem 0",
2969
- marginBottom: "-1px",
2968
+ padding: "0.5rem 0.75rem",
2970
2969
  fontSize: "0.75rem",
2971
2970
  fontWeight: homeTab === tab ? 600 : 400,
2972
2971
  color: homeTab === tab ? "var(--color-text, #fff)" : "var(--color-text-secondary, #848e9c)",
@@ -2980,7 +2979,7 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
2980
2979
  /* @__PURE__ */ jsxRuntime.jsx(
2981
2980
  "div",
2982
2981
  {
2983
- className: cn("flex flex-1 flex-col overflow-hidden", isHomeVariant ? "mt-2 gap-0" : "mt-4 gap-3"),
2982
+ className: "mt-4 flex flex-1 flex-col gap-3 overflow-hidden",
2984
2983
  style: !isPurchaseVariant && !isHomeVariant ? { minHeight: `${ITEMS_PER_PAGE * 86}px` } : void 0,
2985
2984
  children: isPurchaseVariant ? purchaseItems.length > 0 ? purchaseItems.slice(0, 7).map((purchase, index) => {
2986
2985
  const maxAmount = 6e4;
@@ -3019,7 +3018,7 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
3019
3018
  style: {
3020
3019
  width: "100%",
3021
3020
  textAlign: "left",
3022
- backgroundColor: "transparent",
3021
+ background: "transparent",
3023
3022
  border: "none",
3024
3023
  cursor: "pointer",
3025
3024
  padding: "0.75rem 0",
@@ -3028,22 +3027,11 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
3028
3027
  justifyContent: "space-between",
3029
3028
  alignItems: "flex-start",
3030
3029
  gap: "0.5rem",
3031
- color: "inherit",
3032
- transition: "background-color 0.15s"
3033
- },
3034
- onMouseEnter: (e) => {
3035
- e.currentTarget.style.backgroundColor = "rgba(255,255,255,0.04)";
3036
- const title = e.currentTarget.querySelector("h3");
3037
- if (title) title.style.color = "var(--color-accent, #E6C87E)";
3038
- },
3039
- onMouseLeave: (e) => {
3040
- e.currentTarget.style.backgroundColor = "transparent";
3041
- const title = e.currentTarget.querySelector("h3");
3042
- if (title) title.style.color = "#f8f9fa";
3030
+ color: "inherit"
3043
3031
  },
3044
3032
  children: [
3045
3033
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { flex: 1 }, children: [
3046
- /* @__PURE__ */ jsxRuntime.jsx("h3", { style: { fontSize: "0.85rem", fontWeight: 400, marginBottom: "0.25rem", color: "#f8f9fa", lineHeight: 1.4, transition: "color 0.15s" }, children: item.title }),
3034
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { style: { fontSize: "0.85rem", fontWeight: 400, marginBottom: "0.25rem", color: "#f8f9fa", lineHeight: 1.4 }, children: item.title }),
3047
3035
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", gap: "0.5rem", alignItems: "center", flexWrap: "wrap" }, children: [
3048
3036
  /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "#848e9c", fontSize: "0.7rem" }, children: typeof item.date === "string" ? item.date : formatDate(item.date) }),
3049
3037
  item.source && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { padding: "0.1rem 0.4rem", borderRadius: "3px", fontSize: "0.62rem", fontWeight: 500, backgroundColor: "rgba(255,255,255,0.07)", color: "#848e9c", whiteSpace: "nowrap" }, children: item.source }),
@@ -3133,8 +3121,8 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
3133
3121
  type: "button",
3134
3122
  onClick: () => setHomePage((p) => Math.max(0, p - 1)),
3135
3123
  disabled: homePage === 0,
3136
- style: { background: "transparent", border: "1px solid rgba(255,255,255,0.15)", borderRadius: "50%", width: "28px", height: "28px", display: "flex", alignItems: "center", justifyContent: "center", padding: 0, cursor: homePage === 0 ? "not-allowed" : "pointer", opacity: homePage === 0 ? 0.4 : 1, color: "rgba(255,255,255,0.6)" },
3137
- children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z" }) })
3124
+ style: { background: "transparent", border: "1px solid rgba(255,255,255,0.15)", borderRadius: "999px", padding: "0.2rem 0.75rem", fontSize: "0.7rem", textTransform: "uppercase", letterSpacing: "0.15em", cursor: homePage === 0 ? "not-allowed" : "pointer", opacity: homePage === 0 ? 0.4 : 1, color: "rgba(255,255,255,0.6)" },
3125
+ children: "Prev"
3138
3126
  }
3139
3127
  ),
3140
3128
  /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: "0.7rem", color: "rgba(255,255,255,0.5)" }, children: [
@@ -3148,8 +3136,8 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
3148
3136
  type: "button",
3149
3137
  onClick: () => setHomePage((p) => Math.min(homeTotalPages - 1, p + 1)),
3150
3138
  disabled: homePage >= homeTotalPages - 1,
3151
- style: { background: "transparent", border: "1px solid rgba(255,255,255,0.15)", borderRadius: "50%", width: "28px", height: "28px", display: "flex", alignItems: "center", justifyContent: "center", padding: 0, cursor: homePage >= homeTotalPages - 1 ? "not-allowed" : "pointer", opacity: homePage >= homeTotalPages - 1 ? 0.4 : 1, color: "rgba(255,255,255,0.6)" },
3152
- children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" }) })
3139
+ style: { background: "transparent", border: "1px solid rgba(255,255,255,0.15)", borderRadius: "999px", padding: "0.2rem 0.75rem", fontSize: "0.7rem", textTransform: "uppercase", letterSpacing: "0.15em", cursor: homePage >= homeTotalPages - 1 ? "not-allowed" : "pointer", opacity: homePage >= homeTotalPages - 1 ? 0.4 : 1, color: "rgba(255,255,255,0.6)" },
3140
+ children: "Next"
3153
3141
  }
3154
3142
  )
3155
3143
  ] }),
@@ -3160,9 +3148,8 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
3160
3148
  type: "button",
3161
3149
  onClick: () => setPage((p) => Math.max(0, p - 1)),
3162
3150
  disabled: page === 0,
3163
- className: cn("rounded-full border border-white/15 flex items-center justify-center", page === 0 ? "opacity-40 cursor-not-allowed" : "hover:border-white/40"),
3164
- style: { width: "28px", height: "28px", padding: 0, background: "transparent", color: "rgba(255,255,255,0.6)" },
3165
- children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z" }) })
3151
+ className: cn("rounded-full border border-white/15 px-3 py-1 uppercase tracking-[0.2em]", page === 0 ? "opacity-40 cursor-not-allowed" : "hover:border-white/40"),
3152
+ children: "Prev"
3166
3153
  }
3167
3154
  ),
3168
3155
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-medium text-white/70", children: [
@@ -3177,9 +3164,8 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
3177
3164
  type: "button",
3178
3165
  onClick: () => setPage((p) => Math.min(totalPages - 1, p + 1)),
3179
3166
  disabled: page >= totalPages - 1,
3180
- className: cn("rounded-full border border-white/15 flex items-center justify-center", page >= totalPages - 1 ? "opacity-40 cursor-not-allowed" : "hover:border-white/40"),
3181
- style: { width: "28px", height: "28px", padding: 0, background: "transparent", color: "rgba(255,255,255,0.6)" },
3182
- children: /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" }) })
3167
+ className: cn("rounded-full border border-white/15 px-3 py-1 uppercase tracking-[0.2em]", page >= totalPages - 1 ? "opacity-40 cursor-not-allowed" : "hover:border-white/40"),
3168
+ children: "Next"
3183
3169
  }
3184
3170
  )
3185
3171
  ] }),
@@ -5688,19 +5674,8 @@ var HeaderContainer = styled25__default.default.header`
5688
5674
  box-sizing: border-box;
5689
5675
 
5690
5676
  @media (max-width: 768px) {
5691
- top: 0.5rem;
5692
- left: 0.75rem;
5693
- right: 0.75rem;
5694
- width: calc(100% - 1.5rem);
5695
- height: 46px;
5696
- min-height: 46px;
5697
- padding: 0 0.75rem;
5698
- border-radius: 12px;
5699
- background-color: rgba(13, 17, 23, 0.92);
5700
- backdrop-filter: blur(12px);
5701
- border: 1px solid rgba(255, 255, 255, 0.08);
5702
- border-bottom: 1px solid rgba(255, 255, 255, 0.08);
5703
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
5677
+ padding: 0 1rem;
5678
+ padding-top: max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px));
5704
5679
  }
5705
5680
  `;
5706
5681
  var HeaderSpacer = styled25__default.default.div`
@@ -5708,10 +5683,6 @@ var HeaderSpacer = styled25__default.default.div`
5708
5683
  min-height: 56px;
5709
5684
  min-height: calc(56px + max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px)));
5710
5685
  flex-shrink: 0;
5711
-
5712
- @media (max-width: 768px) {
5713
- min-height: calc(46px + 0.5rem);
5714
- }
5715
5686
  `;
5716
5687
  var Logo = styled25__default.default.div`
5717
5688
  display: flex;
@@ -6722,7 +6693,7 @@ var LoginPopup = ({
6722
6693
  ] }) });
6723
6694
  }
6724
6695
  if (view === "funding") {
6725
- return /* @__PURE__ */ jsxRuntime.jsx(Overlay2, { children: /* @__PURE__ */ jsxRuntime.jsxs(
6696
+ return /* @__PURE__ */ jsxRuntime.jsx(Overlay2, { onClick: onClose, children: /* @__PURE__ */ jsxRuntime.jsxs(
6726
6697
  FundingPopupContainer,
6727
6698
  {
6728
6699
  onClick: (event) => event.stopPropagation(),
@@ -6792,16 +6763,6 @@ var Overlay2 = styled25__default.default.div`
6792
6763
  justify-content: center;
6793
6764
  align-items: center;
6794
6765
  z-index: 10000;
6795
- animation: fadeIn 0.2s ease-in-out;
6796
-
6797
- @keyframes fadeIn {
6798
- from {
6799
- opacity: 0;
6800
- }
6801
- to {
6802
- opacity: 1;
6803
- }
6804
- }
6805
6766
  `;
6806
6767
  var PopupContainer = styled25__default.default.div`
6807
6768
  background-color: var(--color-background, #0a0a0a);
@@ -6811,20 +6772,8 @@ var PopupContainer = styled25__default.default.div`
6811
6772
  max-width: 440px;
6812
6773
  width: 90%;
6813
6774
  position: relative;
6814
- animation: slideUp 0.3s ease-out;
6815
6775
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
6816
6776
 
6817
- @keyframes slideUp {
6818
- from {
6819
- transform: translateY(20px);
6820
- opacity: 0;
6821
- }
6822
- to {
6823
- transform: translateY(0);
6824
- opacity: 1;
6825
- }
6826
- }
6827
-
6828
6777
  @media (max-width: 768px) {
6829
6778
  padding: 2rem;
6830
6779
  max-width: 90%;
@@ -6838,21 +6787,9 @@ var KycPopupContainer = styled25__default.default.div`
6838
6787
  max-width: ${(props) => props.$expanded ? "680px" : "440px"};
6839
6788
  width: 90%;
6840
6789
  position: relative;
6841
- animation: slideUp 0.3s ease-out;
6842
6790
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
6843
6791
  transition: max-width 0.3s ease;
6844
6792
 
6845
- @keyframes slideUp {
6846
- from {
6847
- transform: translateY(20px);
6848
- opacity: 0;
6849
- }
6850
- to {
6851
- transform: translateY(0);
6852
- opacity: 1;
6853
- }
6854
- }
6855
-
6856
6793
  @media (max-width: 768px) {
6857
6794
  padding: 1.5rem;
6858
6795
  max-width: 95%;
@@ -7180,21 +7117,9 @@ var FundingPopupContainer = styled25__default.default.div`
7180
7117
  max-width: ${(props) => props.$hasWidget ? "900px" : "440px"};
7181
7118
  width: 90%;
7182
7119
  position: relative;
7183
- animation: slideUp 0.3s ease-out;
7184
7120
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
7185
7121
  overflow: hidden;
7186
7122
 
7187
- @keyframes slideUp {
7188
- from {
7189
- transform: translateY(20px);
7190
- opacity: 0;
7191
- }
7192
- to {
7193
- transform: translateY(0);
7194
- opacity: 1;
7195
- }
7196
- }
7197
-
7198
7123
  @media (max-width: 768px) {
7199
7124
  padding: ${(props) => props.$hasWidget ? "0" : "2rem"};
7200
7125
  max-width: 95%;
@@ -9699,7 +9624,6 @@ function OfferingProgressCard({
9699
9624
  raisedAmount,
9700
9625
  targetAmount,
9701
9626
  isPrivateClient = false,
9702
- variant = "default",
9703
9627
  style,
9704
9628
  className
9705
9629
  }) {
@@ -9731,108 +9655,6 @@ function OfferingProgressCard({
9731
9655
  const interval = setInterval(() => setCountdown(calculateCountdown()), 1e3);
9732
9656
  return () => clearInterval(interval);
9733
9657
  }, [opensAt]);
9734
- if (variant === "compact") {
9735
- return /* @__PURE__ */ jsxRuntime.jsxs(CompactContainer, { style, className, children: [
9736
- /* @__PURE__ */ jsxRuntime.jsx(ProgressBarOuter, { children: /* @__PURE__ */ jsxRuntime.jsx(ProgressBarInner, { style: { width: `${Math.min(percentSold, 100)}%` } }) }),
9737
- /* @__PURE__ */ jsxRuntime.jsxs(ProgressInfo, { children: [
9738
- /* @__PURE__ */ jsxRuntime.jsxs(ProgressSubscribers, { children: [
9739
- "Subscribers: ",
9740
- subscriberCount.toLocaleString()
9741
- ] }),
9742
- /* @__PURE__ */ jsxRuntime.jsxs(ProgressAmounts, { children: [
9743
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "raised", children: formatCurrency3(computedRaised) }),
9744
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "target", children: [
9745
- " / ",
9746
- formatCurrency3(computedTarget)
9747
- ] })
9748
- ] })
9749
- ] })
9750
- ] });
9751
- }
9752
- if (variant === "home") {
9753
- const isPreLive = !ipoStarted && ipoStatus !== "CLOSED" && ipoStatus !== "CANCELLED";
9754
- return /* @__PURE__ */ jsxRuntime.jsxs(Container, { style, className, children: [
9755
- /* @__PURE__ */ jsxRuntime.jsxs(Header2, { children: [
9756
- /* @__PURE__ */ jsxRuntime.jsxs("h3", { children: [
9757
- /* @__PURE__ */ jsxRuntime.jsx(fa.FaChartLine, {}),
9758
- " Offering Progress"
9759
- ] }),
9760
- /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", alignItems: "center", gap: "0.4rem" }, children: ipoStarted ? /* @__PURE__ */ jsxRuntime.jsxs(StatusSpan, { $color: "#0ecb81", children: [
9761
- /* @__PURE__ */ jsxRuntime.jsx(StatusDot, { $color: "#0ecb81", $pulse: true }),
9762
- "LIVE"
9763
- ] }) : /* @__PURE__ */ jsxRuntime.jsxs(StatusSpan, { $color: statusColor || "#D4AF37", children: [
9764
- /* @__PURE__ */ jsxRuntime.jsx(StatusDot, { $color: statusColor || "#D4AF37" }),
9765
- statusLabel || "Preparing"
9766
- ] }) })
9767
- ] }),
9768
- isPreLive ? /* @__PURE__ */ jsxRuntime.jsxs(HomePreLiveRow, { children: [
9769
- countdown ? /* @__PURE__ */ jsxRuntime.jsxs(HomeCountdownSide, { children: [
9770
- /* @__PURE__ */ jsxRuntime.jsx(CountdownLabel, { children: "Opens In" }),
9771
- /* @__PURE__ */ jsxRuntime.jsxs(CountdownDigits, { children: [
9772
- /* @__PURE__ */ jsxRuntime.jsx(CountdownNumber, { children: String(countdown.days).padStart(2, "0") }),
9773
- /* @__PURE__ */ jsxRuntime.jsx(CountdownUnitLabel, { children: "D" }),
9774
- /* @__PURE__ */ jsxRuntime.jsx(CountdownSeparator, { children: ":" }),
9775
- /* @__PURE__ */ jsxRuntime.jsx(CountdownNumber, { children: String(countdown.hours).padStart(2, "0") }),
9776
- /* @__PURE__ */ jsxRuntime.jsx(CountdownUnitLabel, { children: "H" }),
9777
- /* @__PURE__ */ jsxRuntime.jsx(CountdownSeparator, { children: ":" }),
9778
- /* @__PURE__ */ jsxRuntime.jsx(CountdownNumber, { children: String(countdown.minutes).padStart(2, "0") }),
9779
- /* @__PURE__ */ jsxRuntime.jsx(CountdownUnitLabel, { children: "M" }),
9780
- /* @__PURE__ */ jsxRuntime.jsx(CountdownSeparator, { children: ":" }),
9781
- /* @__PURE__ */ jsxRuntime.jsx(CountdownNumber, { children: String(countdown.seconds).padStart(2, "0") }),
9782
- /* @__PURE__ */ jsxRuntime.jsx(CountdownUnitLabel, { children: "S" })
9783
- ] })
9784
- ] }) : /* @__PURE__ */ jsxRuntime.jsx(HomeCountdownSide, { children: /* @__PURE__ */ jsxRuntime.jsx(PreLiveStatus, { $statusColor: statusColor, children: "Sale Not Yet Open" }) }),
9785
- /* @__PURE__ */ jsxRuntime.jsxs(HomeUnitsSide, { children: [
9786
- /* @__PURE__ */ jsxRuntime.jsx(HomeUnitsLabel, { children: "Units Subscribed" }),
9787
- /* @__PURE__ */ jsxRuntime.jsxs(HomeUnitsValue, { children: [
9788
- /* @__PURE__ */ jsxRuntime.jsx(HomeSpinner, {}),
9789
- /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
9790
- " / ",
9791
- supplyToSell.toLocaleString()
9792
- ] })
9793
- ] })
9794
- ] })
9795
- ] }) : /* @__PURE__ */ jsxRuntime.jsxs(LiveBody, { children: [
9796
- /* @__PURE__ */ jsxRuntime.jsxs(LiveTopRow, { children: [
9797
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
9798
- /* @__PURE__ */ jsxRuntime.jsxs(LiveLabel, { children: [
9799
- "Offering Subscribed ",
9800
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u24D8" })
9801
- ] }),
9802
- /* @__PURE__ */ jsxRuntime.jsxs(LivePercent, { children: [
9803
- percentSold.toFixed(1),
9804
- "%",
9805
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "arrow", children: "\u2191" })
9806
- ] })
9807
- ] }),
9808
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { textAlign: "right" }, children: [
9809
- /* @__PURE__ */ jsxRuntime.jsx(LiveLabel, { children: "Units Subscribed" }),
9810
- /* @__PURE__ */ jsxRuntime.jsxs(UnitsValue, { children: [
9811
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: totalSold.toLocaleString() }),
9812
- /* @__PURE__ */ jsxRuntime.jsxs("small", { children: [
9813
- "/ ",
9814
- supplyToSell.toLocaleString()
9815
- ] })
9816
- ] })
9817
- ] })
9818
- ] }),
9819
- /* @__PURE__ */ jsxRuntime.jsx(ProgressBarOuter, { children: /* @__PURE__ */ jsxRuntime.jsx(ProgressBarInner, { style: { width: `${Math.min(percentSold, 100)}%` } }) }),
9820
- /* @__PURE__ */ jsxRuntime.jsxs(ProgressInfo, { children: [
9821
- /* @__PURE__ */ jsxRuntime.jsxs(ProgressSubscribers, { children: [
9822
- "Subscribers: ",
9823
- subscriberCount.toLocaleString()
9824
- ] }),
9825
- /* @__PURE__ */ jsxRuntime.jsxs(ProgressAmounts, { children: [
9826
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "raised", children: formatCurrency3(computedRaised) }),
9827
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "target", children: [
9828
- " / ",
9829
- formatCurrency3(computedTarget)
9830
- ] })
9831
- ] })
9832
- ] })
9833
- ] })
9834
- ] });
9835
- }
9836
9658
  return /* @__PURE__ */ jsxRuntime.jsxs(Container, { style, className, children: [
9837
9659
  /* @__PURE__ */ jsxRuntime.jsxs(Header2, { children: [
9838
9660
  /* @__PURE__ */ jsxRuntime.jsxs("h3", { children: [
@@ -9901,7 +9723,7 @@ function OfferingProgressCard({
9901
9723
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u24D8" })
9902
9724
  ] }),
9903
9725
  /* @__PURE__ */ jsxRuntime.jsxs(LivePercent, { children: [
9904
- percentSold.toFixed(1),
9726
+ percentSold < 0.1 && percentSold > 0 ? percentSold.toFixed(3) : percentSold.toFixed(1),
9905
9727
  "%",
9906
9728
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "arrow", children: "\u2191" })
9907
9729
  ] })
@@ -10134,59 +9956,6 @@ var ProgressAmounts = styled25__default.default.div`
10134
9956
  .raised { color: #D4AF37; }
10135
9957
  .target { color: rgba(255,255,255,0.3); }
10136
9958
  `;
10137
- var CompactContainer = styled25__default.default.div`
10138
- width: 100%;
10139
- margin: 1.5rem 0;
10140
- display: flex;
10141
- flex-direction: column;
10142
- gap: 0.5rem;
10143
- `;
10144
- var HomePreLiveRow = styled25__default.default.div`
10145
- display: flex;
10146
- align-items: center;
10147
- justify-content: space-between;
10148
- padding-top: 1rem;
10149
- `;
10150
- var HomeCountdownSide = styled25__default.default.div`
10151
- display: flex;
10152
- flex-direction: column;
10153
- align-items: center;
10154
- flex: 1;
10155
- `;
10156
- var HomeUnitsSide = styled25__default.default.div`
10157
- text-align: center;
10158
- flex-shrink: 0;
10159
- `;
10160
- var HomeUnitsLabel = styled25__default.default.div`
10161
- font-size: 0.6rem;
10162
- color: var(--color-text-secondary);
10163
- text-transform: uppercase;
10164
- letter-spacing: 0.1em;
10165
- margin-bottom: 0.2rem;
10166
- `;
10167
- var HomeUnitsValue = styled25__default.default.div`
10168
- font-size: 1.1rem;
10169
- font-weight: 700;
10170
- font-family: monospace;
10171
- span {
10172
- color: var(--color-text-secondary);
10173
- font-weight: 400;
10174
- }
10175
- `;
10176
- var HomeSpinner = styled25__default.default.span`
10177
- display: inline-block;
10178
- width: 14px;
10179
- height: 14px;
10180
- border: 2px solid rgba(255, 255, 255, 0.1);
10181
- border-top-color: var(--color-accent, #f0b90b);
10182
- border-radius: 50%;
10183
- animation: homeSpin 1s linear infinite;
10184
- vertical-align: middle;
10185
- margin-right: 0.15rem;
10186
- @keyframes homeSpin {
10187
- to { transform: rotate(360deg); }
10188
- }
10189
- `;
10190
9959
  var MAX_DISPLAY_AMOUNT = 6e4;
10191
9960
  var formatCurrency4 = (amount) => {
10192
9961
  if (amount >= 1e6) return `$${(amount / 1e6).toFixed(2)}M`;
@@ -11864,14 +11633,7 @@ function PortfolioActivityPanel({
11864
11633
  formatTimestamp(trade.executedAt)
11865
11634
  ] })
11866
11635
  ] }),
11867
- /* @__PURE__ */ jsxRuntime.jsx(
11868
- ActivityTag,
11869
- {
11870
- $color: trade.side === "SELL" ? "#f6465d" : "#0ecb81",
11871
- $bg: trade.side === "SELL" ? "rgba(246,70,93,0.12)" : "rgba(14,203,129,0.12)",
11872
- children: sideLabel(trade.side)
11873
- }
11874
- ),
11636
+ trade.status === "SETTLEMENT_FAILED" ? /* @__PURE__ */ jsxRuntime.jsx(ActivityTag, { $color: "#f6465d", $bg: "rgba(246,70,93,0.12)", children: "Failed" }) : trade.status === "SETTLED" ? /* @__PURE__ */ jsxRuntime.jsx(ActivityTag, { $color: "#0ecb81", $bg: "rgba(14,203,129,0.12)", children: "Settled" }) : /* @__PURE__ */ jsxRuntime.jsx(ActivityTag, { $color: "#f0b90b", $bg: "rgba(240,185,11,0.15)", children: "Settling" }),
11875
11637
  /* @__PURE__ */ jsxRuntime.jsx(ActivityAmount, { children: formatCurrency5(trade.price * trade.quantity) })
11876
11638
  ] }, trade.tradeId))
11877
11639
  ] }),
@@ -13943,7 +13705,7 @@ function PropertyValuation({
13943
13705
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
13944
13706
  /* @__PURE__ */ jsxRuntime.jsxs(PricingModelDetail, { children: [
13945
13707
  /* @__PURE__ */ jsxRuntime.jsx(PropertyDetailLabel, { children: "Last Price" }),
13946
- /* @__PURE__ */ jsxRuntime.jsx(PricingDetailValue, { children: formatCurrency6(lastPrice) })
13708
+ /* @__PURE__ */ jsxRuntime.jsx(PricingDetailValue, { children: formatCompact(lastPrice) })
13947
13709
  ] }),
13948
13710
  /* @__PURE__ */ jsxRuntime.jsxs(PricingModelDetail, { children: [
13949
13711
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", width: "100%" }, children: [
@@ -13954,11 +13716,11 @@ function PropertyValuation({
13954
13716
  ] })
13955
13717
  ] }),
13956
13718
  /* @__PURE__ */ jsxRuntime.jsxs(PricingDetailValue, { style: { color: "var(--color-accent)", fontWeight: "bold" }, children: [
13957
- formatCurrency6(fairValue),
13719
+ formatCompact(fairValue),
13958
13720
  " ",
13959
13721
  /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: "0.85em", fontWeight: "normal", opacity: 0.8 }, children: [
13960
13722
  "(",
13961
- formatCurrency6(fairValue * tokensOutstanding, { maximumFractionDigits: 0 }),
13723
+ formatCompact(fairValue * tokensOutstanding),
13962
13724
  ")"
13963
13725
  ] })
13964
13726
  ] })
@@ -13975,7 +13737,7 @@ function PropertyValuation({
13975
13737
  /* @__PURE__ */ jsxRuntime.jsx(GaugeIndicator, { type: "fairValue", position: 50 }),
13976
13738
  /* @__PURE__ */ jsxRuntime.jsxs(GaugePriceTag, { position: gaugePosition, children: [
13977
13739
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Last Price" }),
13978
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: formatCurrency6(lastPrice) })
13740
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: formatCompact(lastPrice) })
13979
13741
  ] }),
13980
13742
  /* @__PURE__ */ jsxRuntime.jsx(GaugeIndicator, { type: "lastPrice", position: gaugePosition })
13981
13743
  ] }),
@@ -13983,36 +13745,36 @@ function PropertyValuation({
13983
13745
  /* @__PURE__ */ jsxRuntime.jsx(ValuationItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(ValuationValue, { style: { color: "#4CAF50" }, children: [
13984
13746
  /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
13985
13747
  "< ",
13986
- formatCurrency6(undervaluedThreshold)
13748
+ formatCompact(undervaluedThreshold)
13987
13749
  ] }),
13988
13750
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
13989
13751
  "(",
13990
- formatMillions(undervaluedThreshold * tokensOutstanding),
13752
+ formatCompact(undervaluedThreshold * tokensOutstanding),
13991
13753
  ")"
13992
13754
  ] })
13993
13755
  ] }) }),
13994
13756
  /* @__PURE__ */ jsxRuntime.jsx(ValuationItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(ValuationValue, { style: { color: "var(--color-accent)" }, children: [
13995
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: formatCurrency6(fairValue) }),
13757
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: formatCompact(fairValue) }),
13996
13758
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
13997
13759
  "(",
13998
- formatMillions(fairValue * tokensOutstanding),
13760
+ formatCompact(fairValue * tokensOutstanding),
13999
13761
  ")"
14000
13762
  ] })
14001
13763
  ] }) }),
14002
13764
  /* @__PURE__ */ jsxRuntime.jsx(ValuationItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(ValuationValue, { style: { color: "#F44336" }, children: [
14003
13765
  /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
14004
13766
  "> ",
14005
- formatCurrency6(overvaluedThreshold)
13767
+ formatCompact(overvaluedThreshold)
14006
13768
  ] }),
14007
13769
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
14008
13770
  "(",
14009
- formatMillions(overvaluedThreshold * tokensOutstanding),
13771
+ formatCompact(overvaluedThreshold * tokensOutstanding),
14010
13772
  ")"
14011
13773
  ] })
14012
13774
  ] }) })
14013
13775
  ] })
14014
13776
  ] }),
14015
- /* @__PURE__ */ jsxRuntime.jsxs(HiddenMobileChart, { children: [
13777
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
14016
13778
  /* @__PURE__ */ jsxRuntime.jsx("h3", { style: { marginBottom: "1rem", fontSize: "1.1rem", color: "#fff" }, children: "Historical Valuation" }),
14017
13779
  /* @__PURE__ */ jsxRuntime.jsx(ChartContainer, { children: /* @__PURE__ */ jsxRuntime.jsxs(ChartBackground, { children: [
14018
13780
  axisLabels.map((label, index) => /* @__PURE__ */ jsxRuntime.jsx(YAxisLabel, { style: { top: `${10 + index * 22}%` }, children: label }, `${label}-${index}`)),
@@ -14131,15 +13893,7 @@ function PropertyValuation({
14131
13893
  ] })
14132
13894
  ] }) })
14133
13895
  ] })
14134
- ] }),
14135
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "desktop-only-historical-chart", style: { marginBottom: "1rem", fontSize: "1.1rem", color: "#fff" }, children: "Historical Valuation" }),
14136
- /* @__PURE__ */ jsxRuntime.jsx(ChartContainer, { className: "desktop-only-historical-chart", children: /* @__PURE__ */ jsxRuntime.jsxs(ChartBackground, { children: [
14137
- axisLabels.map((label, index) => /* @__PURE__ */ jsxRuntime.jsx(YAxisLabel, { style: { top: `${10 + index * 22}%` }, children: label }, `${label}-${index}`)),
14138
- /* @__PURE__ */ jsxRuntime.jsxs(ValuationSvg, { viewBox: `0 0 ${CHART_WIDTH} ${CHART_HEIGHT}`, preserveAspectRatio: "none", children: [
14139
- valuationPath ? /* @__PURE__ */ jsxRuntime.jsx("path", { d: valuationPath, fill: "none", stroke: "#D4AF37", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", vectorEffect: "non-scaling-stroke" }) : null,
14140
- fairValuePath ? /* @__PURE__ */ jsxRuntime.jsx("path", { d: fairValuePath, fill: "none", stroke: "#FFFFFF", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", vectorEffect: "non-scaling-stroke" }) : null
14141
- ] })
14142
- ] }) })
13896
+ ] })
14143
13897
  ] })
14144
13898
  ] }),
14145
13899
  /* @__PURE__ */ jsxRuntime.jsxs(RecentSalesSection, { children: [
@@ -14213,6 +13967,14 @@ function formatMillions(value) {
14213
13967
  }
14214
13968
  return `$${(value / 1e6).toFixed(2)}m`;
14215
13969
  }
13970
+ function formatCompact(value) {
13971
+ if (value == null || !Number.isFinite(value)) return "\u2014";
13972
+ const abs = Math.abs(value);
13973
+ if (abs >= 1e9) return `$${(value / 1e9).toFixed(2)}B`;
13974
+ if (abs >= 1e6) return `$${(value / 1e6).toFixed(2)}M`;
13975
+ if (abs >= 1e3) return `$${(value / 1e3).toFixed(1)}K`;
13976
+ return formatCurrency6(value);
13977
+ }
14216
13978
  function formatBedroomLabel(bedrooms) {
14217
13979
  if (!Number.isFinite(bedrooms)) return "\u2014";
14218
13980
  return `${bedrooms} Bed`;
@@ -14336,12 +14098,6 @@ var GaugePriceTag = styled25__default.default.div`
14336
14098
  color: var(--color-accent);
14337
14099
  }
14338
14100
  `;
14339
- var HiddenMobileChart = styled25__default.default.div`
14340
- display: none;
14341
- @media (max-width: 480px) {
14342
- display: block;
14343
- }
14344
- `;
14345
14101
  var ValuationWrapper = styled25__default.default.div`
14346
14102
  display: flex;
14347
14103
  flex-direction: column;
@@ -14393,9 +14149,10 @@ var PricingModelCard = styled25__default.default.div`
14393
14149
  var PricingModelHeader = styled25__default.default.div`
14394
14150
  display: flex;
14395
14151
  justify-content: space-between;
14396
- align-items: center;
14152
+ align-items: flex-start;
14397
14153
  margin-bottom: 1.5rem;
14398
14154
  gap: 1rem;
14155
+ flex-wrap: wrap;
14399
14156
 
14400
14157
  .valuation-info {
14401
14158
  display: flex;
@@ -14403,6 +14160,7 @@ var PricingModelHeader = styled25__default.default.div`
14403
14160
  gap: 0.25rem;
14404
14161
  font-size: 0.85rem;
14405
14162
  color: rgba(255, 255, 255, 0.75);
14163
+ flex-shrink: 0;
14406
14164
  }
14407
14165
  `;
14408
14166
  var PricingModelTitle = styled25__default.default.h3`
@@ -14469,15 +14227,31 @@ var ValuationDetails = styled25__default.default.div`
14469
14227
  display: flex;
14470
14228
  justify-content: space-between;
14471
14229
  margin-top: 1rem;
14230
+ gap: 0.25rem;
14472
14231
  `;
14473
14232
  var ValuationItem = styled25__default.default.div`
14474
14233
  display: flex;
14475
14234
  flex-direction: column;
14235
+ min-width: 0;
14236
+ overflow: hidden;
14476
14237
  `;
14477
14238
  var ValuationValue = styled25__default.default.div`
14478
14239
  font-size: 1rem;
14479
14240
  font-weight: 600;
14480
14241
  color: #fff;
14242
+ display: flex;
14243
+ flex-direction: column;
14244
+ gap: 2px;
14245
+ overflow-wrap: break-word;
14246
+ word-break: break-word;
14247
+
14248
+ @media (max-width: 480px) {
14249
+ font-size: 0.72rem;
14250
+
14251
+ .valuation-amount-span {
14252
+ display: none;
14253
+ }
14254
+ }
14481
14255
  `;
14482
14256
  var ChartContainer = styled25__default.default.div`
14483
14257
  width: 100%;