@loafmarkets/ui 0.1.86 → 0.1.88

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
@@ -2664,7 +2664,7 @@ var PropertyTour = React5.forwardRef(
2664
2664
  }
2665
2665
  );
2666
2666
  PropertyTour.displayName = "PropertyTour";
2667
- var ITEMS_PER_PAGE = 5;
2667
+ var ITEMS_PER_PAGE = 4;
2668
2668
  var ensureAnimationsInjected = () => {
2669
2669
  if (typeof document === "undefined") return;
2670
2670
  if (document.getElementById("property-news-updates-animations")) return;
@@ -2912,10 +2912,10 @@ var PropertyNewsUpdates = React5.forwardRef(
2912
2912
  children: [
2913
2913
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
2914
2914
  /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
2915
- isHomeVariant && /* @__PURE__ */ 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__ */ 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" }) }),
2915
+ isHomeVariant && /* @__PURE__ */ 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__ */ 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" }) }),
2916
2916
  isPurchaseVariant && /* @__PURE__ */ 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" } }),
2917
2917
  /* @__PURE__ */ jsxs("div", { children: [
2918
- /* @__PURE__ */ jsx("p", { className: isHomeVariant ? "text-base font-semibold text-white" : "text-lg font-semibold text-white", style: { margin: 0 }, children: resolvedHeading }),
2918
+ /* @__PURE__ */ jsx("p", { className: isHomeVariant ? "text-base font-semibold text-white" : "text-lg font-semibold text-white", children: resolvedHeading }),
2919
2919
  subheading ? /* @__PURE__ */ jsx("p", { className: "text-sm text-white/60", children: subheading }) : null
2920
2920
  ] })
2921
2921
  ] }),
@@ -2930,7 +2930,7 @@ var PropertyNewsUpdates = React5.forwardRef(
2930
2930
  "LIVE"
2931
2931
  ] }) : null
2932
2932
  ] }),
2933
- isHomeVariant && /* @__PURE__ */ 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__ */ jsx(
2933
+ isHomeVariant && /* @__PURE__ */ jsx("div", { style: { display: "flex", gap: 0, marginTop: "0.75rem", marginBottom: "0.25rem" }, children: ["all", "property", "market"].map((tab) => /* @__PURE__ */ jsx(
2934
2934
  "button",
2935
2935
  {
2936
2936
  type: "button",
@@ -2939,8 +2939,7 @@ var PropertyNewsUpdates = React5.forwardRef(
2939
2939
  background: "transparent",
2940
2940
  border: "none",
2941
2941
  borderBottom: homeTab === tab ? "2px solid var(--color-accent, #f0b90b)" : "2px solid transparent",
2942
- padding: "0 0 0.5rem 0",
2943
- marginBottom: "-1px",
2942
+ padding: "0.5rem 0.75rem",
2944
2943
  fontSize: "0.75rem",
2945
2944
  fontWeight: homeTab === tab ? 600 : 400,
2946
2945
  color: homeTab === tab ? "var(--color-text, #fff)" : "var(--color-text-secondary, #848e9c)",
@@ -2954,7 +2953,7 @@ var PropertyNewsUpdates = React5.forwardRef(
2954
2953
  /* @__PURE__ */ jsx(
2955
2954
  "div",
2956
2955
  {
2957
- className: cn("flex flex-1 flex-col overflow-hidden", isHomeVariant ? "mt-2 gap-0" : "mt-4 gap-3"),
2956
+ className: "mt-4 flex flex-1 flex-col gap-3 overflow-hidden",
2958
2957
  style: !isPurchaseVariant && !isHomeVariant ? { minHeight: `${ITEMS_PER_PAGE * 86}px` } : void 0,
2959
2958
  children: isPurchaseVariant ? purchaseItems.length > 0 ? purchaseItems.slice(0, 7).map((purchase, index) => {
2960
2959
  const maxAmount = 6e4;
@@ -2993,7 +2992,7 @@ var PropertyNewsUpdates = React5.forwardRef(
2993
2992
  style: {
2994
2993
  width: "100%",
2995
2994
  textAlign: "left",
2996
- backgroundColor: "transparent",
2995
+ background: "transparent",
2997
2996
  border: "none",
2998
2997
  cursor: "pointer",
2999
2998
  padding: "0.75rem 0",
@@ -3002,22 +3001,11 @@ var PropertyNewsUpdates = React5.forwardRef(
3002
3001
  justifyContent: "space-between",
3003
3002
  alignItems: "flex-start",
3004
3003
  gap: "0.5rem",
3005
- color: "inherit",
3006
- transition: "background-color 0.15s"
3007
- },
3008
- onMouseEnter: (e) => {
3009
- e.currentTarget.style.backgroundColor = "rgba(255,255,255,0.04)";
3010
- const title = e.currentTarget.querySelector("h3");
3011
- if (title) title.style.color = "var(--color-accent, #E6C87E)";
3012
- },
3013
- onMouseLeave: (e) => {
3014
- e.currentTarget.style.backgroundColor = "transparent";
3015
- const title = e.currentTarget.querySelector("h3");
3016
- if (title) title.style.color = "#f8f9fa";
3004
+ color: "inherit"
3017
3005
  },
3018
3006
  children: [
3019
3007
  /* @__PURE__ */ jsxs("div", { style: { flex: 1 }, children: [
3020
- /* @__PURE__ */ jsx("h3", { style: { fontSize: "0.85rem", fontWeight: 400, marginBottom: "0.25rem", color: "#f8f9fa", lineHeight: 1.4, transition: "color 0.15s" }, children: item.title }),
3008
+ /* @__PURE__ */ jsx("h3", { style: { fontSize: "0.85rem", fontWeight: 400, marginBottom: "0.25rem", color: "#f8f9fa", lineHeight: 1.4 }, children: item.title }),
3021
3009
  /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: "0.5rem", alignItems: "center", flexWrap: "wrap" }, children: [
3022
3010
  /* @__PURE__ */ jsx("span", { style: { color: "#848e9c", fontSize: "0.7rem" }, children: typeof item.date === "string" ? item.date : formatDate(item.date) }),
3023
3011
  item.source && /* @__PURE__ */ 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 }),
@@ -3107,8 +3095,8 @@ var PropertyNewsUpdates = React5.forwardRef(
3107
3095
  type: "button",
3108
3096
  onClick: () => setHomePage((p) => Math.max(0, p - 1)),
3109
3097
  disabled: homePage === 0,
3110
- 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)" },
3111
- children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z" }) })
3098
+ 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)" },
3099
+ children: "Prev"
3112
3100
  }
3113
3101
  ),
3114
3102
  /* @__PURE__ */ jsxs("span", { style: { fontSize: "0.7rem", color: "rgba(255,255,255,0.5)" }, children: [
@@ -3122,8 +3110,8 @@ var PropertyNewsUpdates = React5.forwardRef(
3122
3110
  type: "button",
3123
3111
  onClick: () => setHomePage((p) => Math.min(homeTotalPages - 1, p + 1)),
3124
3112
  disabled: homePage >= homeTotalPages - 1,
3125
- 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)" },
3126
- children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" }) })
3113
+ 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)" },
3114
+ children: "Next"
3127
3115
  }
3128
3116
  )
3129
3117
  ] }),
@@ -3134,9 +3122,8 @@ var PropertyNewsUpdates = React5.forwardRef(
3134
3122
  type: "button",
3135
3123
  onClick: () => setPage((p) => Math.max(0, p - 1)),
3136
3124
  disabled: page === 0,
3137
- className: cn("rounded-full border border-white/15 flex items-center justify-center", page === 0 ? "opacity-40 cursor-not-allowed" : "hover:border-white/40"),
3138
- style: { width: "28px", height: "28px", padding: 0, background: "transparent", color: "rgba(255,255,255,0.6)" },
3139
- children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z" }) })
3125
+ 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"),
3126
+ children: "Prev"
3140
3127
  }
3141
3128
  ),
3142
3129
  /* @__PURE__ */ jsxs("span", { className: "font-medium text-white/70", children: [
@@ -3151,9 +3138,8 @@ var PropertyNewsUpdates = React5.forwardRef(
3151
3138
  type: "button",
3152
3139
  onClick: () => setPage((p) => Math.min(totalPages - 1, p + 1)),
3153
3140
  disabled: page >= totalPages - 1,
3154
- 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"),
3155
- style: { width: "28px", height: "28px", padding: 0, background: "transparent", color: "rgba(255,255,255,0.6)" },
3156
- children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" }) })
3141
+ 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"),
3142
+ children: "Next"
3157
3143
  }
3158
3144
  )
3159
3145
  ] }),
@@ -5662,19 +5648,8 @@ var HeaderContainer = styled25.header`
5662
5648
  box-sizing: border-box;
5663
5649
 
5664
5650
  @media (max-width: 768px) {
5665
- top: 0.5rem;
5666
- left: 0.75rem;
5667
- right: 0.75rem;
5668
- width: calc(100% - 1.5rem);
5669
- height: 46px;
5670
- min-height: 46px;
5671
- padding: 0 0.75rem;
5672
- border-radius: 12px;
5673
- background-color: rgba(13, 17, 23, 0.92);
5674
- backdrop-filter: blur(12px);
5675
- border: 1px solid rgba(255, 255, 255, 0.08);
5676
- border-bottom: 1px solid rgba(255, 255, 255, 0.08);
5677
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
5651
+ padding: 0 1rem;
5652
+ padding-top: max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px));
5678
5653
  }
5679
5654
  `;
5680
5655
  var HeaderSpacer = styled25.div`
@@ -5682,10 +5657,6 @@ var HeaderSpacer = styled25.div`
5682
5657
  min-height: 56px;
5683
5658
  min-height: calc(56px + max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px)));
5684
5659
  flex-shrink: 0;
5685
-
5686
- @media (max-width: 768px) {
5687
- min-height: calc(46px + 0.5rem);
5688
- }
5689
5660
  `;
5690
5661
  var Logo = styled25.div`
5691
5662
  display: flex;
@@ -6184,6 +6155,11 @@ var LoginPopup = ({
6184
6155
  setView(initialView);
6185
6156
  }
6186
6157
  }, [initialView]);
6158
+ useEffect(() => {
6159
+ if (view === "kyc" && renderKycWidget) {
6160
+ setShowKycWidget(true);
6161
+ }
6162
+ }, [view, renderKycWidget]);
6187
6163
  useEffect(() => {
6188
6164
  if (!transakWidgetUrl) return;
6189
6165
  const handleTransakMessage = (event) => {
@@ -6696,7 +6672,7 @@ var LoginPopup = ({
6696
6672
  ] }) });
6697
6673
  }
6698
6674
  if (view === "funding") {
6699
- return /* @__PURE__ */ jsx(Overlay2, { children: /* @__PURE__ */ jsxs(
6675
+ return /* @__PURE__ */ jsx(Overlay2, { onClick: onClose, children: /* @__PURE__ */ jsxs(
6700
6676
  FundingPopupContainer,
6701
6677
  {
6702
6678
  onClick: (event) => event.stopPropagation(),
@@ -6766,16 +6742,6 @@ var Overlay2 = styled25.div`
6766
6742
  justify-content: center;
6767
6743
  align-items: center;
6768
6744
  z-index: 10000;
6769
- animation: fadeIn 0.2s ease-in-out;
6770
-
6771
- @keyframes fadeIn {
6772
- from {
6773
- opacity: 0;
6774
- }
6775
- to {
6776
- opacity: 1;
6777
- }
6778
- }
6779
6745
  `;
6780
6746
  var PopupContainer = styled25.div`
6781
6747
  background-color: var(--color-background, #0a0a0a);
@@ -6785,20 +6751,8 @@ var PopupContainer = styled25.div`
6785
6751
  max-width: 440px;
6786
6752
  width: 90%;
6787
6753
  position: relative;
6788
- animation: slideUp 0.3s ease-out;
6789
6754
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
6790
6755
 
6791
- @keyframes slideUp {
6792
- from {
6793
- transform: translateY(20px);
6794
- opacity: 0;
6795
- }
6796
- to {
6797
- transform: translateY(0);
6798
- opacity: 1;
6799
- }
6800
- }
6801
-
6802
6756
  @media (max-width: 768px) {
6803
6757
  padding: 2rem;
6804
6758
  max-width: 90%;
@@ -6812,21 +6766,9 @@ var KycPopupContainer = styled25.div`
6812
6766
  max-width: ${(props) => props.$expanded ? "680px" : "440px"};
6813
6767
  width: 90%;
6814
6768
  position: relative;
6815
- animation: slideUp 0.3s ease-out;
6816
6769
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
6817
6770
  transition: max-width 0.3s ease;
6818
6771
 
6819
- @keyframes slideUp {
6820
- from {
6821
- transform: translateY(20px);
6822
- opacity: 0;
6823
- }
6824
- to {
6825
- transform: translateY(0);
6826
- opacity: 1;
6827
- }
6828
- }
6829
-
6830
6772
  @media (max-width: 768px) {
6831
6773
  padding: 1.5rem;
6832
6774
  max-width: 95%;
@@ -7154,21 +7096,9 @@ var FundingPopupContainer = styled25.div`
7154
7096
  max-width: ${(props) => props.$hasWidget ? "900px" : "440px"};
7155
7097
  width: 90%;
7156
7098
  position: relative;
7157
- animation: slideUp 0.3s ease-out;
7158
7099
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
7159
7100
  overflow: hidden;
7160
7101
 
7161
- @keyframes slideUp {
7162
- from {
7163
- transform: translateY(20px);
7164
- opacity: 0;
7165
- }
7166
- to {
7167
- transform: translateY(0);
7168
- opacity: 1;
7169
- }
7170
- }
7171
-
7172
7102
  @media (max-width: 768px) {
7173
7103
  padding: ${(props) => props.$hasWidget ? "0" : "2rem"};
7174
7104
  max-width: 95%;
@@ -9673,7 +9603,6 @@ function OfferingProgressCard({
9673
9603
  raisedAmount,
9674
9604
  targetAmount,
9675
9605
  isPrivateClient = false,
9676
- variant = "default",
9677
9606
  style,
9678
9607
  className
9679
9608
  }) {
@@ -9705,108 +9634,6 @@ function OfferingProgressCard({
9705
9634
  const interval = setInterval(() => setCountdown(calculateCountdown()), 1e3);
9706
9635
  return () => clearInterval(interval);
9707
9636
  }, [opensAt]);
9708
- if (variant === "compact") {
9709
- return /* @__PURE__ */ jsxs(CompactContainer, { style, className, children: [
9710
- /* @__PURE__ */ jsx(ProgressBarOuter, { children: /* @__PURE__ */ jsx(ProgressBarInner, { style: { width: `${Math.min(percentSold, 100)}%` } }) }),
9711
- /* @__PURE__ */ jsxs(ProgressInfo, { children: [
9712
- /* @__PURE__ */ jsxs(ProgressSubscribers, { children: [
9713
- "Subscribers: ",
9714
- subscriberCount.toLocaleString()
9715
- ] }),
9716
- /* @__PURE__ */ jsxs(ProgressAmounts, { children: [
9717
- /* @__PURE__ */ jsx("span", { className: "raised", children: formatCurrency3(computedRaised) }),
9718
- /* @__PURE__ */ jsxs("span", { className: "target", children: [
9719
- " / ",
9720
- formatCurrency3(computedTarget)
9721
- ] })
9722
- ] })
9723
- ] })
9724
- ] });
9725
- }
9726
- if (variant === "home") {
9727
- const isPreLive = !ipoStarted && ipoStatus !== "CLOSED" && ipoStatus !== "CANCELLED";
9728
- return /* @__PURE__ */ jsxs(Container, { style, className, children: [
9729
- /* @__PURE__ */ jsxs(Header2, { children: [
9730
- /* @__PURE__ */ jsxs("h3", { children: [
9731
- /* @__PURE__ */ jsx(FaChartLine, {}),
9732
- " Offering Progress"
9733
- ] }),
9734
- /* @__PURE__ */ jsx("div", { style: { display: "flex", alignItems: "center", gap: "0.4rem" }, children: ipoStarted ? /* @__PURE__ */ jsxs(StatusSpan, { $color: "#0ecb81", children: [
9735
- /* @__PURE__ */ jsx(StatusDot, { $color: "#0ecb81", $pulse: true }),
9736
- "LIVE"
9737
- ] }) : /* @__PURE__ */ jsxs(StatusSpan, { $color: statusColor || "#D4AF37", children: [
9738
- /* @__PURE__ */ jsx(StatusDot, { $color: statusColor || "#D4AF37" }),
9739
- statusLabel || "Preparing"
9740
- ] }) })
9741
- ] }),
9742
- isPreLive ? /* @__PURE__ */ jsxs(HomePreLiveRow, { children: [
9743
- countdown ? /* @__PURE__ */ jsxs(HomeCountdownSide, { children: [
9744
- /* @__PURE__ */ jsx(CountdownLabel, { children: "Opens In" }),
9745
- /* @__PURE__ */ jsxs(CountdownDigits, { children: [
9746
- /* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.days).padStart(2, "0") }),
9747
- /* @__PURE__ */ jsx(CountdownUnitLabel, { children: "D" }),
9748
- /* @__PURE__ */ jsx(CountdownSeparator, { children: ":" }),
9749
- /* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.hours).padStart(2, "0") }),
9750
- /* @__PURE__ */ jsx(CountdownUnitLabel, { children: "H" }),
9751
- /* @__PURE__ */ jsx(CountdownSeparator, { children: ":" }),
9752
- /* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.minutes).padStart(2, "0") }),
9753
- /* @__PURE__ */ jsx(CountdownUnitLabel, { children: "M" }),
9754
- /* @__PURE__ */ jsx(CountdownSeparator, { children: ":" }),
9755
- /* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.seconds).padStart(2, "0") }),
9756
- /* @__PURE__ */ jsx(CountdownUnitLabel, { children: "S" })
9757
- ] })
9758
- ] }) : /* @__PURE__ */ jsx(HomeCountdownSide, { children: /* @__PURE__ */ jsx(PreLiveStatus, { $statusColor: statusColor, children: "Sale Not Yet Open" }) }),
9759
- /* @__PURE__ */ jsxs(HomeUnitsSide, { children: [
9760
- /* @__PURE__ */ jsx(HomeUnitsLabel, { children: "Units Subscribed" }),
9761
- /* @__PURE__ */ jsxs(HomeUnitsValue, { children: [
9762
- /* @__PURE__ */ jsx(HomeSpinner, {}),
9763
- /* @__PURE__ */ jsxs("span", { children: [
9764
- " / ",
9765
- supplyToSell.toLocaleString()
9766
- ] })
9767
- ] })
9768
- ] })
9769
- ] }) : /* @__PURE__ */ jsxs(LiveBody, { children: [
9770
- /* @__PURE__ */ jsxs(LiveTopRow, { children: [
9771
- /* @__PURE__ */ jsxs("div", { children: [
9772
- /* @__PURE__ */ jsxs(LiveLabel, { children: [
9773
- "Offering Subscribed ",
9774
- /* @__PURE__ */ jsx("span", { children: "\u24D8" })
9775
- ] }),
9776
- /* @__PURE__ */ jsxs(LivePercent, { children: [
9777
- percentSold.toFixed(1),
9778
- "%",
9779
- /* @__PURE__ */ jsx("span", { className: "arrow", children: "\u2191" })
9780
- ] })
9781
- ] }),
9782
- /* @__PURE__ */ jsxs("div", { style: { textAlign: "right" }, children: [
9783
- /* @__PURE__ */ jsx(LiveLabel, { children: "Units Subscribed" }),
9784
- /* @__PURE__ */ jsxs(UnitsValue, { children: [
9785
- /* @__PURE__ */ jsx("span", { children: totalSold.toLocaleString() }),
9786
- /* @__PURE__ */ jsxs("small", { children: [
9787
- "/ ",
9788
- supplyToSell.toLocaleString()
9789
- ] })
9790
- ] })
9791
- ] })
9792
- ] }),
9793
- /* @__PURE__ */ jsx(ProgressBarOuter, { children: /* @__PURE__ */ jsx(ProgressBarInner, { style: { width: `${Math.min(percentSold, 100)}%` } }) }),
9794
- /* @__PURE__ */ jsxs(ProgressInfo, { children: [
9795
- /* @__PURE__ */ jsxs(ProgressSubscribers, { children: [
9796
- "Subscribers: ",
9797
- subscriberCount.toLocaleString()
9798
- ] }),
9799
- /* @__PURE__ */ jsxs(ProgressAmounts, { children: [
9800
- /* @__PURE__ */ jsx("span", { className: "raised", children: formatCurrency3(computedRaised) }),
9801
- /* @__PURE__ */ jsxs("span", { className: "target", children: [
9802
- " / ",
9803
- formatCurrency3(computedTarget)
9804
- ] })
9805
- ] })
9806
- ] })
9807
- ] })
9808
- ] });
9809
- }
9810
9637
  return /* @__PURE__ */ jsxs(Container, { style, className, children: [
9811
9638
  /* @__PURE__ */ jsxs(Header2, { children: [
9812
9639
  /* @__PURE__ */ jsxs("h3", { children: [
@@ -9875,7 +9702,7 @@ function OfferingProgressCard({
9875
9702
  /* @__PURE__ */ jsx("span", { children: "\u24D8" })
9876
9703
  ] }),
9877
9704
  /* @__PURE__ */ jsxs(LivePercent, { children: [
9878
- percentSold.toFixed(1),
9705
+ percentSold < 0.1 && percentSold > 0 ? percentSold.toFixed(3) : percentSold.toFixed(1),
9879
9706
  "%",
9880
9707
  /* @__PURE__ */ jsx("span", { className: "arrow", children: "\u2191" })
9881
9708
  ] })
@@ -10108,59 +9935,6 @@ var ProgressAmounts = styled25.div`
10108
9935
  .raised { color: #D4AF37; }
10109
9936
  .target { color: rgba(255,255,255,0.3); }
10110
9937
  `;
10111
- var CompactContainer = styled25.div`
10112
- width: 100%;
10113
- margin: 1.5rem 0;
10114
- display: flex;
10115
- flex-direction: column;
10116
- gap: 0.5rem;
10117
- `;
10118
- var HomePreLiveRow = styled25.div`
10119
- display: flex;
10120
- align-items: center;
10121
- justify-content: space-between;
10122
- padding-top: 1rem;
10123
- `;
10124
- var HomeCountdownSide = styled25.div`
10125
- display: flex;
10126
- flex-direction: column;
10127
- align-items: center;
10128
- flex: 1;
10129
- `;
10130
- var HomeUnitsSide = styled25.div`
10131
- text-align: center;
10132
- flex-shrink: 0;
10133
- `;
10134
- var HomeUnitsLabel = styled25.div`
10135
- font-size: 0.6rem;
10136
- color: var(--color-text-secondary);
10137
- text-transform: uppercase;
10138
- letter-spacing: 0.1em;
10139
- margin-bottom: 0.2rem;
10140
- `;
10141
- var HomeUnitsValue = styled25.div`
10142
- font-size: 1.1rem;
10143
- font-weight: 700;
10144
- font-family: monospace;
10145
- span {
10146
- color: var(--color-text-secondary);
10147
- font-weight: 400;
10148
- }
10149
- `;
10150
- var HomeSpinner = styled25.span`
10151
- display: inline-block;
10152
- width: 14px;
10153
- height: 14px;
10154
- border: 2px solid rgba(255, 255, 255, 0.1);
10155
- border-top-color: var(--color-accent, #f0b90b);
10156
- border-radius: 50%;
10157
- animation: homeSpin 1s linear infinite;
10158
- vertical-align: middle;
10159
- margin-right: 0.15rem;
10160
- @keyframes homeSpin {
10161
- to { transform: rotate(360deg); }
10162
- }
10163
- `;
10164
9938
  var MAX_DISPLAY_AMOUNT = 6e4;
10165
9939
  var formatCurrency4 = (amount) => {
10166
9940
  if (amount >= 1e6) return `$${(amount / 1e6).toFixed(2)}M`;
@@ -11838,14 +11612,7 @@ function PortfolioActivityPanel({
11838
11612
  formatTimestamp(trade.executedAt)
11839
11613
  ] })
11840
11614
  ] }),
11841
- /* @__PURE__ */ jsx(
11842
- ActivityTag,
11843
- {
11844
- $color: trade.side === "SELL" ? "#f6465d" : "#0ecb81",
11845
- $bg: trade.side === "SELL" ? "rgba(246,70,93,0.12)" : "rgba(14,203,129,0.12)",
11846
- children: sideLabel(trade.side)
11847
- }
11848
- ),
11615
+ trade.status === "SETTLEMENT_FAILED" ? /* @__PURE__ */ jsx(ActivityTag, { $color: "#f6465d", $bg: "rgba(246,70,93,0.12)", children: "Failed" }) : trade.status === "SETTLED" ? /* @__PURE__ */ jsx(ActivityTag, { $color: "#0ecb81", $bg: "rgba(14,203,129,0.12)", children: "Settled" }) : /* @__PURE__ */ jsx(ActivityTag, { $color: "#f0b90b", $bg: "rgba(240,185,11,0.15)", children: "Settling" }),
11849
11616
  /* @__PURE__ */ jsx(ActivityAmount, { children: formatCurrency5(trade.price * trade.quantity) })
11850
11617
  ] }, trade.tradeId))
11851
11618
  ] }),
@@ -13917,7 +13684,7 @@ function PropertyValuation({
13917
13684
  /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
13918
13685
  /* @__PURE__ */ jsxs(PricingModelDetail, { children: [
13919
13686
  /* @__PURE__ */ jsx(PropertyDetailLabel, { children: "Last Price" }),
13920
- /* @__PURE__ */ jsx(PricingDetailValue, { children: formatCurrency6(lastPrice) })
13687
+ /* @__PURE__ */ jsx(PricingDetailValue, { children: formatCompact(lastPrice) })
13921
13688
  ] }),
13922
13689
  /* @__PURE__ */ jsxs(PricingModelDetail, { children: [
13923
13690
  /* @__PURE__ */ jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", width: "100%" }, children: [
@@ -13928,11 +13695,11 @@ function PropertyValuation({
13928
13695
  ] })
13929
13696
  ] }),
13930
13697
  /* @__PURE__ */ jsxs(PricingDetailValue, { style: { color: "var(--color-accent)", fontWeight: "bold" }, children: [
13931
- formatCurrency6(fairValue),
13698
+ formatCompact(fairValue),
13932
13699
  " ",
13933
13700
  /* @__PURE__ */ jsxs("span", { style: { fontSize: "0.85em", fontWeight: "normal", opacity: 0.8 }, children: [
13934
13701
  "(",
13935
- formatCurrency6(fairValue * tokensOutstanding, { maximumFractionDigits: 0 }),
13702
+ formatCompact(fairValue * tokensOutstanding),
13936
13703
  ")"
13937
13704
  ] })
13938
13705
  ] })
@@ -13949,7 +13716,7 @@ function PropertyValuation({
13949
13716
  /* @__PURE__ */ jsx(GaugeIndicator, { type: "fairValue", position: 50 }),
13950
13717
  /* @__PURE__ */ jsxs(GaugePriceTag, { position: gaugePosition, children: [
13951
13718
  /* @__PURE__ */ jsx("span", { children: "Last Price" }),
13952
- /* @__PURE__ */ jsx("span", { children: formatCurrency6(lastPrice) })
13719
+ /* @__PURE__ */ jsx("span", { children: formatCompact(lastPrice) })
13953
13720
  ] }),
13954
13721
  /* @__PURE__ */ jsx(GaugeIndicator, { type: "lastPrice", position: gaugePosition })
13955
13722
  ] }),
@@ -13957,36 +13724,36 @@ function PropertyValuation({
13957
13724
  /* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#4CAF50" }, children: [
13958
13725
  /* @__PURE__ */ jsxs("span", { children: [
13959
13726
  "< ",
13960
- formatCurrency6(undervaluedThreshold)
13727
+ formatCompact(undervaluedThreshold)
13961
13728
  ] }),
13962
13729
  /* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
13963
13730
  "(",
13964
- formatMillions(undervaluedThreshold * tokensOutstanding),
13731
+ formatCompact(undervaluedThreshold * tokensOutstanding),
13965
13732
  ")"
13966
13733
  ] })
13967
13734
  ] }) }),
13968
13735
  /* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "var(--color-accent)" }, children: [
13969
- /* @__PURE__ */ jsx("span", { children: formatCurrency6(fairValue) }),
13736
+ /* @__PURE__ */ jsx("span", { children: formatCompact(fairValue) }),
13970
13737
  /* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
13971
13738
  "(",
13972
- formatMillions(fairValue * tokensOutstanding),
13739
+ formatCompact(fairValue * tokensOutstanding),
13973
13740
  ")"
13974
13741
  ] })
13975
13742
  ] }) }),
13976
13743
  /* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#F44336" }, children: [
13977
13744
  /* @__PURE__ */ jsxs("span", { children: [
13978
13745
  "> ",
13979
- formatCurrency6(overvaluedThreshold)
13746
+ formatCompact(overvaluedThreshold)
13980
13747
  ] }),
13981
13748
  /* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
13982
13749
  "(",
13983
- formatMillions(overvaluedThreshold * tokensOutstanding),
13750
+ formatCompact(overvaluedThreshold * tokensOutstanding),
13984
13751
  ")"
13985
13752
  ] })
13986
13753
  ] }) })
13987
13754
  ] })
13988
13755
  ] }),
13989
- /* @__PURE__ */ jsxs(HiddenMobileChart, { children: [
13756
+ /* @__PURE__ */ jsxs("div", { children: [
13990
13757
  /* @__PURE__ */ jsx("h3", { style: { marginBottom: "1rem", fontSize: "1.1rem", color: "#fff" }, children: "Historical Valuation" }),
13991
13758
  /* @__PURE__ */ jsx(ChartContainer, { children: /* @__PURE__ */ jsxs(ChartBackground, { children: [
13992
13759
  axisLabels.map((label, index) => /* @__PURE__ */ jsx(YAxisLabel, { style: { top: `${10 + index * 22}%` }, children: label }, `${label}-${index}`)),
@@ -14105,15 +13872,7 @@ function PropertyValuation({
14105
13872
  ] })
14106
13873
  ] }) })
14107
13874
  ] })
14108
- ] }),
14109
- /* @__PURE__ */ jsx("h3", { className: "desktop-only-historical-chart", style: { marginBottom: "1rem", fontSize: "1.1rem", color: "#fff" }, children: "Historical Valuation" }),
14110
- /* @__PURE__ */ jsx(ChartContainer, { className: "desktop-only-historical-chart", children: /* @__PURE__ */ jsxs(ChartBackground, { children: [
14111
- axisLabels.map((label, index) => /* @__PURE__ */ jsx(YAxisLabel, { style: { top: `${10 + index * 22}%` }, children: label }, `${label}-${index}`)),
14112
- /* @__PURE__ */ jsxs(ValuationSvg, { viewBox: `0 0 ${CHART_WIDTH} ${CHART_HEIGHT}`, preserveAspectRatio: "none", children: [
14113
- valuationPath ? /* @__PURE__ */ jsx("path", { d: valuationPath, fill: "none", stroke: "#D4AF37", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", vectorEffect: "non-scaling-stroke" }) : null,
14114
- fairValuePath ? /* @__PURE__ */ jsx("path", { d: fairValuePath, fill: "none", stroke: "#FFFFFF", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", vectorEffect: "non-scaling-stroke" }) : null
14115
- ] })
14116
- ] }) })
13875
+ ] })
14117
13876
  ] })
14118
13877
  ] }),
14119
13878
  /* @__PURE__ */ jsxs(RecentSalesSection, { children: [
@@ -14187,6 +13946,14 @@ function formatMillions(value) {
14187
13946
  }
14188
13947
  return `$${(value / 1e6).toFixed(2)}m`;
14189
13948
  }
13949
+ function formatCompact(value) {
13950
+ if (value == null || !Number.isFinite(value)) return "\u2014";
13951
+ const abs = Math.abs(value);
13952
+ if (abs >= 1e9) return `$${(value / 1e9).toFixed(2)}B`;
13953
+ if (abs >= 1e6) return `$${(value / 1e6).toFixed(2)}M`;
13954
+ if (abs >= 1e3) return `$${(value / 1e3).toFixed(1)}K`;
13955
+ return formatCurrency6(value);
13956
+ }
14190
13957
  function formatBedroomLabel(bedrooms) {
14191
13958
  if (!Number.isFinite(bedrooms)) return "\u2014";
14192
13959
  return `${bedrooms} Bed`;
@@ -14310,12 +14077,6 @@ var GaugePriceTag = styled25.div`
14310
14077
  color: var(--color-accent);
14311
14078
  }
14312
14079
  `;
14313
- var HiddenMobileChart = styled25.div`
14314
- display: none;
14315
- @media (max-width: 480px) {
14316
- display: block;
14317
- }
14318
- `;
14319
14080
  var ValuationWrapper = styled25.div`
14320
14081
  display: flex;
14321
14082
  flex-direction: column;
@@ -14367,9 +14128,10 @@ var PricingModelCard = styled25.div`
14367
14128
  var PricingModelHeader = styled25.div`
14368
14129
  display: flex;
14369
14130
  justify-content: space-between;
14370
- align-items: center;
14131
+ align-items: flex-start;
14371
14132
  margin-bottom: 1.5rem;
14372
14133
  gap: 1rem;
14134
+ flex-wrap: wrap;
14373
14135
 
14374
14136
  .valuation-info {
14375
14137
  display: flex;
@@ -14377,6 +14139,7 @@ var PricingModelHeader = styled25.div`
14377
14139
  gap: 0.25rem;
14378
14140
  font-size: 0.85rem;
14379
14141
  color: rgba(255, 255, 255, 0.75);
14142
+ flex-shrink: 0;
14380
14143
  }
14381
14144
  `;
14382
14145
  var PricingModelTitle = styled25.h3`
@@ -14443,15 +14206,31 @@ var ValuationDetails = styled25.div`
14443
14206
  display: flex;
14444
14207
  justify-content: space-between;
14445
14208
  margin-top: 1rem;
14209
+ gap: 0.25rem;
14446
14210
  `;
14447
14211
  var ValuationItem = styled25.div`
14448
14212
  display: flex;
14449
14213
  flex-direction: column;
14214
+ min-width: 0;
14215
+ overflow: hidden;
14450
14216
  `;
14451
14217
  var ValuationValue = styled25.div`
14452
14218
  font-size: 1rem;
14453
14219
  font-weight: 600;
14454
14220
  color: #fff;
14221
+ display: flex;
14222
+ flex-direction: column;
14223
+ gap: 2px;
14224
+ overflow-wrap: break-word;
14225
+ word-break: break-word;
14226
+
14227
+ @media (max-width: 480px) {
14228
+ font-size: 0.72rem;
14229
+
14230
+ .valuation-amount-span {
14231
+ display: none;
14232
+ }
14233
+ }
14455
14234
  `;
14456
14235
  var ChartContainer = styled25.div`
14457
14236
  width: 100%;