@loafmarkets/ui 0.1.80 → 0.1.82

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.d.mts CHANGED
@@ -824,6 +824,7 @@ interface TradeHistoryItem {
824
824
  readonly price: number;
825
825
  readonly executedAt: number;
826
826
  readonly fee: number;
827
+ readonly status?: string;
827
828
  }
828
829
  interface TransferHistoryItem {
829
830
  readonly type: 'DEPOSIT' | 'WITHDRAWAL';
@@ -978,12 +979,10 @@ type OfferingProgressCardProps = {
978
979
  raisedAmount?: number;
979
980
  targetAmount?: number;
980
981
  isPrivateClient?: boolean;
981
- /** "default" = full card with header/countdown, "compact" = bar-only, "home" = countdown left + spinner right */
982
- variant?: 'default' | 'compact' | 'home';
983
982
  style?: React__default.CSSProperties;
984
983
  className?: string;
985
984
  };
986
- declare function OfferingProgressCard({ ipoStarted, statusLabel, statusColor, ipoStatus, tokenPrice, offeringValuation, percentSold, totalSold, supplyToSell, opensAt, subscriberCount, raisedAmount, targetAmount, isPrivateClient, variant, style, className, }: OfferingProgressCardProps): react_jsx_runtime.JSX.Element;
985
+ declare function OfferingProgressCard({ ipoStarted, statusLabel, statusColor, ipoStatus, tokenPrice, offeringValuation, percentSold, totalSold, supplyToSell, opensAt, subscriberCount, raisedAmount, targetAmount, isPrivateClient, style, className, }: OfferingProgressCardProps): react_jsx_runtime.JSX.Element;
987
986
 
988
987
  type OwnerBookingProps = {
989
988
  propertyName?: string | null;
package/dist/index.d.ts CHANGED
@@ -824,6 +824,7 @@ interface TradeHistoryItem {
824
824
  readonly price: number;
825
825
  readonly executedAt: number;
826
826
  readonly fee: number;
827
+ readonly status?: string;
827
828
  }
828
829
  interface TransferHistoryItem {
829
830
  readonly type: 'DEPOSIT' | 'WITHDRAWAL';
@@ -978,12 +979,10 @@ type OfferingProgressCardProps = {
978
979
  raisedAmount?: number;
979
980
  targetAmount?: number;
980
981
  isPrivateClient?: boolean;
981
- /** "default" = full card with header/countdown, "compact" = bar-only, "home" = countdown left + spinner right */
982
- variant?: 'default' | 'compact' | 'home';
983
982
  style?: React__default.CSSProperties;
984
983
  className?: string;
985
984
  };
986
- declare function OfferingProgressCard({ ipoStarted, statusLabel, statusColor, ipoStatus, tokenPrice, offeringValuation, percentSold, totalSold, supplyToSell, opensAt, subscriberCount, raisedAmount, targetAmount, isPrivateClient, variant, style, className, }: OfferingProgressCardProps): react_jsx_runtime.JSX.Element;
985
+ declare function OfferingProgressCard({ ipoStarted, statusLabel, statusColor, ipoStatus, tokenPrice, offeringValuation, percentSold, totalSold, supplyToSell, opensAt, subscriberCount, raisedAmount, targetAmount, isPrivateClient, style, className, }: OfferingProgressCardProps): react_jsx_runtime.JSX.Element;
987
986
 
988
987
  type OwnerBookingProps = {
989
988
  propertyName?: string | null;
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: "1rem", 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
  ] }),
@@ -9684,7 +9670,6 @@ function OfferingProgressCard({
9684
9670
  raisedAmount,
9685
9671
  targetAmount,
9686
9672
  isPrivateClient = false,
9687
- variant = "default",
9688
9673
  style,
9689
9674
  className
9690
9675
  }) {
@@ -9716,108 +9701,6 @@ function OfferingProgressCard({
9716
9701
  const interval = setInterval(() => setCountdown(calculateCountdown()), 1e3);
9717
9702
  return () => clearInterval(interval);
9718
9703
  }, [opensAt]);
9719
- if (variant === "compact") {
9720
- return /* @__PURE__ */ jsxRuntime.jsxs(CompactContainer, { style, className, children: [
9721
- /* @__PURE__ */ jsxRuntime.jsx(ProgressBarOuter, { children: /* @__PURE__ */ jsxRuntime.jsx(ProgressBarInner, { style: { width: `${Math.min(percentSold, 100)}%` } }) }),
9722
- /* @__PURE__ */ jsxRuntime.jsxs(ProgressInfo, { children: [
9723
- /* @__PURE__ */ jsxRuntime.jsxs(ProgressSubscribers, { children: [
9724
- "Subscribers: ",
9725
- subscriberCount.toLocaleString()
9726
- ] }),
9727
- /* @__PURE__ */ jsxRuntime.jsxs(ProgressAmounts, { children: [
9728
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "raised", children: formatCurrency3(computedRaised) }),
9729
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "target", children: [
9730
- " / ",
9731
- formatCurrency3(computedTarget)
9732
- ] })
9733
- ] })
9734
- ] })
9735
- ] });
9736
- }
9737
- if (variant === "home") {
9738
- const isPreLive = !ipoStarted && ipoStatus !== "CLOSED" && ipoStatus !== "CANCELLED";
9739
- return /* @__PURE__ */ jsxRuntime.jsxs(Container, { style, className, children: [
9740
- /* @__PURE__ */ jsxRuntime.jsxs(Header2, { children: [
9741
- /* @__PURE__ */ jsxRuntime.jsxs("h3", { children: [
9742
- /* @__PURE__ */ jsxRuntime.jsx(fa.FaChartLine, {}),
9743
- " Offering Progress"
9744
- ] }),
9745
- /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", alignItems: "center", gap: "0.4rem" }, children: ipoStarted ? /* @__PURE__ */ jsxRuntime.jsxs(StatusSpan, { $color: "#0ecb81", children: [
9746
- /* @__PURE__ */ jsxRuntime.jsx(StatusDot, { $color: "#0ecb81", $pulse: true }),
9747
- "LIVE"
9748
- ] }) : /* @__PURE__ */ jsxRuntime.jsxs(StatusSpan, { $color: statusColor || "#D4AF37", children: [
9749
- /* @__PURE__ */ jsxRuntime.jsx(StatusDot, { $color: statusColor || "#D4AF37" }),
9750
- statusLabel || "Preparing"
9751
- ] }) })
9752
- ] }),
9753
- isPreLive ? /* @__PURE__ */ jsxRuntime.jsxs(HomePreLiveRow, { children: [
9754
- countdown ? /* @__PURE__ */ jsxRuntime.jsxs(HomeCountdownSide, { children: [
9755
- /* @__PURE__ */ jsxRuntime.jsx(CountdownLabel, { children: "Opens In" }),
9756
- /* @__PURE__ */ jsxRuntime.jsxs(CountdownDigits, { children: [
9757
- /* @__PURE__ */ jsxRuntime.jsx(CountdownNumber, { children: String(countdown.days).padStart(2, "0") }),
9758
- /* @__PURE__ */ jsxRuntime.jsx(CountdownUnitLabel, { children: "D" }),
9759
- /* @__PURE__ */ jsxRuntime.jsx(CountdownSeparator, { children: ":" }),
9760
- /* @__PURE__ */ jsxRuntime.jsx(CountdownNumber, { children: String(countdown.hours).padStart(2, "0") }),
9761
- /* @__PURE__ */ jsxRuntime.jsx(CountdownUnitLabel, { children: "H" }),
9762
- /* @__PURE__ */ jsxRuntime.jsx(CountdownSeparator, { children: ":" }),
9763
- /* @__PURE__ */ jsxRuntime.jsx(CountdownNumber, { children: String(countdown.minutes).padStart(2, "0") }),
9764
- /* @__PURE__ */ jsxRuntime.jsx(CountdownUnitLabel, { children: "M" }),
9765
- /* @__PURE__ */ jsxRuntime.jsx(CountdownSeparator, { children: ":" }),
9766
- /* @__PURE__ */ jsxRuntime.jsx(CountdownNumber, { children: String(countdown.seconds).padStart(2, "0") }),
9767
- /* @__PURE__ */ jsxRuntime.jsx(CountdownUnitLabel, { children: "S" })
9768
- ] })
9769
- ] }) : /* @__PURE__ */ jsxRuntime.jsx(HomeCountdownSide, { children: /* @__PURE__ */ jsxRuntime.jsx(PreLiveStatus, { $statusColor: statusColor, children: "Sale Not Yet Open" }) }),
9770
- /* @__PURE__ */ jsxRuntime.jsxs(HomeUnitsSide, { children: [
9771
- /* @__PURE__ */ jsxRuntime.jsx(HomeUnitsLabel, { children: "Units Subscribed" }),
9772
- /* @__PURE__ */ jsxRuntime.jsxs(HomeUnitsValue, { children: [
9773
- /* @__PURE__ */ jsxRuntime.jsx(HomeSpinner, {}),
9774
- /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
9775
- " / ",
9776
- supplyToSell.toLocaleString()
9777
- ] })
9778
- ] })
9779
- ] })
9780
- ] }) : /* @__PURE__ */ jsxRuntime.jsxs(LiveBody, { children: [
9781
- /* @__PURE__ */ jsxRuntime.jsxs(LiveTopRow, { children: [
9782
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
9783
- /* @__PURE__ */ jsxRuntime.jsxs(LiveLabel, { children: [
9784
- "Offering Subscribed ",
9785
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u24D8" })
9786
- ] }),
9787
- /* @__PURE__ */ jsxRuntime.jsxs(LivePercent, { children: [
9788
- percentSold.toFixed(1),
9789
- "%",
9790
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "arrow", children: "\u2191" })
9791
- ] })
9792
- ] }),
9793
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { textAlign: "right" }, children: [
9794
- /* @__PURE__ */ jsxRuntime.jsx(LiveLabel, { children: "Units Subscribed" }),
9795
- /* @__PURE__ */ jsxRuntime.jsxs(UnitsValue, { children: [
9796
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: totalSold.toLocaleString() }),
9797
- /* @__PURE__ */ jsxRuntime.jsxs("small", { children: [
9798
- "/ ",
9799
- supplyToSell.toLocaleString()
9800
- ] })
9801
- ] })
9802
- ] })
9803
- ] }),
9804
- /* @__PURE__ */ jsxRuntime.jsx(ProgressBarOuter, { children: /* @__PURE__ */ jsxRuntime.jsx(ProgressBarInner, { style: { width: `${Math.min(percentSold, 100)}%` } }) }),
9805
- /* @__PURE__ */ jsxRuntime.jsxs(ProgressInfo, { children: [
9806
- /* @__PURE__ */ jsxRuntime.jsxs(ProgressSubscribers, { children: [
9807
- "Subscribers: ",
9808
- subscriberCount.toLocaleString()
9809
- ] }),
9810
- /* @__PURE__ */ jsxRuntime.jsxs(ProgressAmounts, { children: [
9811
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "raised", children: formatCurrency3(computedRaised) }),
9812
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "target", children: [
9813
- " / ",
9814
- formatCurrency3(computedTarget)
9815
- ] })
9816
- ] })
9817
- ] })
9818
- ] })
9819
- ] });
9820
- }
9821
9704
  return /* @__PURE__ */ jsxRuntime.jsxs(Container, { style, className, children: [
9822
9705
  /* @__PURE__ */ jsxRuntime.jsxs(Header2, { children: [
9823
9706
  /* @__PURE__ */ jsxRuntime.jsxs("h3", { children: [
@@ -9886,7 +9769,7 @@ function OfferingProgressCard({
9886
9769
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u24D8" })
9887
9770
  ] }),
9888
9771
  /* @__PURE__ */ jsxRuntime.jsxs(LivePercent, { children: [
9889
- percentSold.toFixed(1),
9772
+ percentSold < 0.1 && percentSold > 0 ? percentSold.toFixed(3) : percentSold.toFixed(1),
9890
9773
  "%",
9891
9774
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "arrow", children: "\u2191" })
9892
9775
  ] })
@@ -10119,59 +10002,6 @@ var ProgressAmounts = styled25__default.default.div`
10119
10002
  .raised { color: #D4AF37; }
10120
10003
  .target { color: rgba(255,255,255,0.3); }
10121
10004
  `;
10122
- var CompactContainer = styled25__default.default.div`
10123
- width: 100%;
10124
- margin: 1.5rem 0;
10125
- display: flex;
10126
- flex-direction: column;
10127
- gap: 0.5rem;
10128
- `;
10129
- var HomePreLiveRow = styled25__default.default.div`
10130
- display: flex;
10131
- align-items: center;
10132
- justify-content: space-between;
10133
- padding-top: 1rem;
10134
- `;
10135
- var HomeCountdownSide = styled25__default.default.div`
10136
- display: flex;
10137
- flex-direction: column;
10138
- align-items: center;
10139
- flex: 1;
10140
- `;
10141
- var HomeUnitsSide = styled25__default.default.div`
10142
- text-align: center;
10143
- flex-shrink: 0;
10144
- `;
10145
- var HomeUnitsLabel = styled25__default.default.div`
10146
- font-size: 0.6rem;
10147
- color: var(--color-text-secondary);
10148
- text-transform: uppercase;
10149
- letter-spacing: 0.1em;
10150
- margin-bottom: 0.2rem;
10151
- `;
10152
- var HomeUnitsValue = styled25__default.default.div`
10153
- font-size: 1.1rem;
10154
- font-weight: 700;
10155
- font-family: monospace;
10156
- span {
10157
- color: var(--color-text-secondary);
10158
- font-weight: 400;
10159
- }
10160
- `;
10161
- var HomeSpinner = styled25__default.default.span`
10162
- display: inline-block;
10163
- width: 14px;
10164
- height: 14px;
10165
- border: 2px solid rgba(255, 255, 255, 0.1);
10166
- border-top-color: var(--color-accent, #f0b90b);
10167
- border-radius: 50%;
10168
- animation: homeSpin 1s linear infinite;
10169
- vertical-align: middle;
10170
- margin-right: 0.15rem;
10171
- @keyframes homeSpin {
10172
- to { transform: rotate(360deg); }
10173
- }
10174
- `;
10175
10005
  var MAX_DISPLAY_AMOUNT = 6e4;
10176
10006
  var formatCurrency4 = (amount) => {
10177
10007
  if (amount >= 1e6) return `$${(amount / 1e6).toFixed(2)}M`;
@@ -11849,7 +11679,7 @@ function PortfolioActivityPanel({
11849
11679
  formatTimestamp(trade.executedAt)
11850
11680
  ] })
11851
11681
  ] }),
11852
- /* @__PURE__ */ jsxRuntime.jsx(
11682
+ trade.status === "SETTLEMENT_FAILED" ? /* @__PURE__ */ jsxRuntime.jsx(ActivityTag, { $color: "#f6465d", $bg: "rgba(246,70,93,0.12)", children: "Failed" }) : /* @__PURE__ */ jsxRuntime.jsx(
11853
11683
  ActivityTag,
11854
11684
  {
11855
11685
  $color: trade.side === "SELL" ? "#f6465d" : "#0ecb81",
@@ -13943,7 +13773,7 @@ function PropertyValuation({
13943
13773
  " ",
13944
13774
  /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: "0.85em", fontWeight: "normal", opacity: 0.8 }, children: [
13945
13775
  "(",
13946
- formatCurrency6(fairValue * tokensOutstanding, { maximumFractionDigits: 0 }),
13776
+ formatMillions(fairValue * tokensOutstanding),
13947
13777
  ")"
13948
13778
  ] })
13949
13779
  ] })
@@ -14378,9 +14208,10 @@ var PricingModelCard = styled25__default.default.div`
14378
14208
  var PricingModelHeader = styled25__default.default.div`
14379
14209
  display: flex;
14380
14210
  justify-content: space-between;
14381
- align-items: center;
14211
+ align-items: flex-start;
14382
14212
  margin-bottom: 1.5rem;
14383
14213
  gap: 1rem;
14214
+ flex-wrap: wrap;
14384
14215
 
14385
14216
  .valuation-info {
14386
14217
  display: flex;
@@ -14388,6 +14219,7 @@ var PricingModelHeader = styled25__default.default.div`
14388
14219
  gap: 0.25rem;
14389
14220
  font-size: 0.85rem;
14390
14221
  color: rgba(255, 255, 255, 0.75);
14222
+ flex-shrink: 0;
14391
14223
  }
14392
14224
  `;
14393
14225
  var PricingModelTitle = styled25__default.default.h3`
@@ -14454,15 +14286,31 @@ var ValuationDetails = styled25__default.default.div`
14454
14286
  display: flex;
14455
14287
  justify-content: space-between;
14456
14288
  margin-top: 1rem;
14289
+ gap: 0.25rem;
14457
14290
  `;
14458
14291
  var ValuationItem = styled25__default.default.div`
14459
14292
  display: flex;
14460
14293
  flex-direction: column;
14294
+ min-width: 0;
14295
+ overflow: hidden;
14461
14296
  `;
14462
14297
  var ValuationValue = styled25__default.default.div`
14463
14298
  font-size: 1rem;
14464
14299
  font-weight: 600;
14465
14300
  color: #fff;
14301
+ display: flex;
14302
+ flex-direction: column;
14303
+ gap: 2px;
14304
+ overflow-wrap: break-word;
14305
+ word-break: break-word;
14306
+
14307
+ @media (max-width: 480px) {
14308
+ font-size: 0.72rem;
14309
+
14310
+ .valuation-amount-span {
14311
+ font-size: 0.68rem !important;
14312
+ }
14313
+ }
14466
14314
  `;
14467
14315
  var ChartContainer = styled25__default.default.div`
14468
14316
  width: 100%;