@loafmarkets/ui 0.1.81 → 0.1.83
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 +2 -3
- package/dist/index.d.ts +2 -3
- package/dist/index.js +56 -200
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +56 -200
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
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 =
|
|
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: "
|
|
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",
|
|
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:
|
|
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
|
|
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:
|
|
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
|
-
|
|
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
|
|
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: "
|
|
3111
|
-
children:
|
|
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: "
|
|
3126
|
-
children:
|
|
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
|
|
3138
|
-
|
|
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
|
|
3155
|
-
|
|
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
|
] }),
|
|
@@ -9658,7 +9644,6 @@ function OfferingProgressCard({
|
|
|
9658
9644
|
raisedAmount,
|
|
9659
9645
|
targetAmount,
|
|
9660
9646
|
isPrivateClient = false,
|
|
9661
|
-
variant = "default",
|
|
9662
9647
|
style,
|
|
9663
9648
|
className
|
|
9664
9649
|
}) {
|
|
@@ -9690,108 +9675,6 @@ function OfferingProgressCard({
|
|
|
9690
9675
|
const interval = setInterval(() => setCountdown(calculateCountdown()), 1e3);
|
|
9691
9676
|
return () => clearInterval(interval);
|
|
9692
9677
|
}, [opensAt]);
|
|
9693
|
-
if (variant === "compact") {
|
|
9694
|
-
return /* @__PURE__ */ jsxs(CompactContainer, { style, className, children: [
|
|
9695
|
-
/* @__PURE__ */ jsx(ProgressBarOuter, { children: /* @__PURE__ */ jsx(ProgressBarInner, { style: { width: `${Math.min(percentSold, 100)}%` } }) }),
|
|
9696
|
-
/* @__PURE__ */ jsxs(ProgressInfo, { children: [
|
|
9697
|
-
/* @__PURE__ */ jsxs(ProgressSubscribers, { children: [
|
|
9698
|
-
"Subscribers: ",
|
|
9699
|
-
subscriberCount.toLocaleString()
|
|
9700
|
-
] }),
|
|
9701
|
-
/* @__PURE__ */ jsxs(ProgressAmounts, { children: [
|
|
9702
|
-
/* @__PURE__ */ jsx("span", { className: "raised", children: formatCurrency3(computedRaised) }),
|
|
9703
|
-
/* @__PURE__ */ jsxs("span", { className: "target", children: [
|
|
9704
|
-
" / ",
|
|
9705
|
-
formatCurrency3(computedTarget)
|
|
9706
|
-
] })
|
|
9707
|
-
] })
|
|
9708
|
-
] })
|
|
9709
|
-
] });
|
|
9710
|
-
}
|
|
9711
|
-
if (variant === "home") {
|
|
9712
|
-
const isPreLive = !ipoStarted && ipoStatus !== "CLOSED" && ipoStatus !== "CANCELLED";
|
|
9713
|
-
return /* @__PURE__ */ jsxs(Container, { style, className, children: [
|
|
9714
|
-
/* @__PURE__ */ jsxs(Header2, { children: [
|
|
9715
|
-
/* @__PURE__ */ jsxs("h3", { children: [
|
|
9716
|
-
/* @__PURE__ */ jsx(FaChartLine, {}),
|
|
9717
|
-
" Offering Progress"
|
|
9718
|
-
] }),
|
|
9719
|
-
/* @__PURE__ */ jsx("div", { style: { display: "flex", alignItems: "center", gap: "0.4rem" }, children: ipoStarted ? /* @__PURE__ */ jsxs(StatusSpan, { $color: "#0ecb81", children: [
|
|
9720
|
-
/* @__PURE__ */ jsx(StatusDot, { $color: "#0ecb81", $pulse: true }),
|
|
9721
|
-
"LIVE"
|
|
9722
|
-
] }) : /* @__PURE__ */ jsxs(StatusSpan, { $color: statusColor || "#D4AF37", children: [
|
|
9723
|
-
/* @__PURE__ */ jsx(StatusDot, { $color: statusColor || "#D4AF37" }),
|
|
9724
|
-
statusLabel || "Preparing"
|
|
9725
|
-
] }) })
|
|
9726
|
-
] }),
|
|
9727
|
-
isPreLive ? /* @__PURE__ */ jsxs(HomePreLiveRow, { children: [
|
|
9728
|
-
countdown ? /* @__PURE__ */ jsxs(HomeCountdownSide, { children: [
|
|
9729
|
-
/* @__PURE__ */ jsx(CountdownLabel, { children: "Opens In" }),
|
|
9730
|
-
/* @__PURE__ */ jsxs(CountdownDigits, { children: [
|
|
9731
|
-
/* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.days).padStart(2, "0") }),
|
|
9732
|
-
/* @__PURE__ */ jsx(CountdownUnitLabel, { children: "D" }),
|
|
9733
|
-
/* @__PURE__ */ jsx(CountdownSeparator, { children: ":" }),
|
|
9734
|
-
/* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.hours).padStart(2, "0") }),
|
|
9735
|
-
/* @__PURE__ */ jsx(CountdownUnitLabel, { children: "H" }),
|
|
9736
|
-
/* @__PURE__ */ jsx(CountdownSeparator, { children: ":" }),
|
|
9737
|
-
/* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.minutes).padStart(2, "0") }),
|
|
9738
|
-
/* @__PURE__ */ jsx(CountdownUnitLabel, { children: "M" }),
|
|
9739
|
-
/* @__PURE__ */ jsx(CountdownSeparator, { children: ":" }),
|
|
9740
|
-
/* @__PURE__ */ jsx(CountdownNumber, { children: String(countdown.seconds).padStart(2, "0") }),
|
|
9741
|
-
/* @__PURE__ */ jsx(CountdownUnitLabel, { children: "S" })
|
|
9742
|
-
] })
|
|
9743
|
-
] }) : /* @__PURE__ */ jsx(HomeCountdownSide, { children: /* @__PURE__ */ jsx(PreLiveStatus, { $statusColor: statusColor, children: "Sale Not Yet Open" }) }),
|
|
9744
|
-
/* @__PURE__ */ jsxs(HomeUnitsSide, { children: [
|
|
9745
|
-
/* @__PURE__ */ jsx(HomeUnitsLabel, { children: "Units Subscribed" }),
|
|
9746
|
-
/* @__PURE__ */ jsxs(HomeUnitsValue, { children: [
|
|
9747
|
-
/* @__PURE__ */ jsx(HomeSpinner, {}),
|
|
9748
|
-
/* @__PURE__ */ jsxs("span", { children: [
|
|
9749
|
-
" / ",
|
|
9750
|
-
supplyToSell.toLocaleString()
|
|
9751
|
-
] })
|
|
9752
|
-
] })
|
|
9753
|
-
] })
|
|
9754
|
-
] }) : /* @__PURE__ */ jsxs(LiveBody, { children: [
|
|
9755
|
-
/* @__PURE__ */ jsxs(LiveTopRow, { children: [
|
|
9756
|
-
/* @__PURE__ */ jsxs("div", { children: [
|
|
9757
|
-
/* @__PURE__ */ jsxs(LiveLabel, { children: [
|
|
9758
|
-
"Offering Subscribed ",
|
|
9759
|
-
/* @__PURE__ */ jsx("span", { children: "\u24D8" })
|
|
9760
|
-
] }),
|
|
9761
|
-
/* @__PURE__ */ jsxs(LivePercent, { children: [
|
|
9762
|
-
percentSold.toFixed(1),
|
|
9763
|
-
"%",
|
|
9764
|
-
/* @__PURE__ */ jsx("span", { className: "arrow", children: "\u2191" })
|
|
9765
|
-
] })
|
|
9766
|
-
] }),
|
|
9767
|
-
/* @__PURE__ */ jsxs("div", { style: { textAlign: "right" }, children: [
|
|
9768
|
-
/* @__PURE__ */ jsx(LiveLabel, { children: "Units Subscribed" }),
|
|
9769
|
-
/* @__PURE__ */ jsxs(UnitsValue, { children: [
|
|
9770
|
-
/* @__PURE__ */ jsx("span", { children: totalSold.toLocaleString() }),
|
|
9771
|
-
/* @__PURE__ */ jsxs("small", { children: [
|
|
9772
|
-
"/ ",
|
|
9773
|
-
supplyToSell.toLocaleString()
|
|
9774
|
-
] })
|
|
9775
|
-
] })
|
|
9776
|
-
] })
|
|
9777
|
-
] }),
|
|
9778
|
-
/* @__PURE__ */ jsx(ProgressBarOuter, { children: /* @__PURE__ */ jsx(ProgressBarInner, { style: { width: `${Math.min(percentSold, 100)}%` } }) }),
|
|
9779
|
-
/* @__PURE__ */ jsxs(ProgressInfo, { children: [
|
|
9780
|
-
/* @__PURE__ */ jsxs(ProgressSubscribers, { children: [
|
|
9781
|
-
"Subscribers: ",
|
|
9782
|
-
subscriberCount.toLocaleString()
|
|
9783
|
-
] }),
|
|
9784
|
-
/* @__PURE__ */ jsxs(ProgressAmounts, { children: [
|
|
9785
|
-
/* @__PURE__ */ jsx("span", { className: "raised", children: formatCurrency3(computedRaised) }),
|
|
9786
|
-
/* @__PURE__ */ jsxs("span", { className: "target", children: [
|
|
9787
|
-
" / ",
|
|
9788
|
-
formatCurrency3(computedTarget)
|
|
9789
|
-
] })
|
|
9790
|
-
] })
|
|
9791
|
-
] })
|
|
9792
|
-
] })
|
|
9793
|
-
] });
|
|
9794
|
-
}
|
|
9795
9678
|
return /* @__PURE__ */ jsxs(Container, { style, className, children: [
|
|
9796
9679
|
/* @__PURE__ */ jsxs(Header2, { children: [
|
|
9797
9680
|
/* @__PURE__ */ jsxs("h3", { children: [
|
|
@@ -9860,7 +9743,7 @@ function OfferingProgressCard({
|
|
|
9860
9743
|
/* @__PURE__ */ jsx("span", { children: "\u24D8" })
|
|
9861
9744
|
] }),
|
|
9862
9745
|
/* @__PURE__ */ jsxs(LivePercent, { children: [
|
|
9863
|
-
percentSold.toFixed(1),
|
|
9746
|
+
percentSold < 0.1 && percentSold > 0 ? percentSold.toFixed(3) : percentSold.toFixed(1),
|
|
9864
9747
|
"%",
|
|
9865
9748
|
/* @__PURE__ */ jsx("span", { className: "arrow", children: "\u2191" })
|
|
9866
9749
|
] })
|
|
@@ -10093,59 +9976,6 @@ var ProgressAmounts = styled25.div`
|
|
|
10093
9976
|
.raised { color: #D4AF37; }
|
|
10094
9977
|
.target { color: rgba(255,255,255,0.3); }
|
|
10095
9978
|
`;
|
|
10096
|
-
var CompactContainer = styled25.div`
|
|
10097
|
-
width: 100%;
|
|
10098
|
-
margin: 1.5rem 0;
|
|
10099
|
-
display: flex;
|
|
10100
|
-
flex-direction: column;
|
|
10101
|
-
gap: 0.5rem;
|
|
10102
|
-
`;
|
|
10103
|
-
var HomePreLiveRow = styled25.div`
|
|
10104
|
-
display: flex;
|
|
10105
|
-
align-items: center;
|
|
10106
|
-
justify-content: space-between;
|
|
10107
|
-
padding-top: 1rem;
|
|
10108
|
-
`;
|
|
10109
|
-
var HomeCountdownSide = styled25.div`
|
|
10110
|
-
display: flex;
|
|
10111
|
-
flex-direction: column;
|
|
10112
|
-
align-items: center;
|
|
10113
|
-
flex: 1;
|
|
10114
|
-
`;
|
|
10115
|
-
var HomeUnitsSide = styled25.div`
|
|
10116
|
-
text-align: center;
|
|
10117
|
-
flex-shrink: 0;
|
|
10118
|
-
`;
|
|
10119
|
-
var HomeUnitsLabel = styled25.div`
|
|
10120
|
-
font-size: 0.6rem;
|
|
10121
|
-
color: var(--color-text-secondary);
|
|
10122
|
-
text-transform: uppercase;
|
|
10123
|
-
letter-spacing: 0.1em;
|
|
10124
|
-
margin-bottom: 0.2rem;
|
|
10125
|
-
`;
|
|
10126
|
-
var HomeUnitsValue = styled25.div`
|
|
10127
|
-
font-size: 1.1rem;
|
|
10128
|
-
font-weight: 700;
|
|
10129
|
-
font-family: monospace;
|
|
10130
|
-
span {
|
|
10131
|
-
color: var(--color-text-secondary);
|
|
10132
|
-
font-weight: 400;
|
|
10133
|
-
}
|
|
10134
|
-
`;
|
|
10135
|
-
var HomeSpinner = styled25.span`
|
|
10136
|
-
display: inline-block;
|
|
10137
|
-
width: 14px;
|
|
10138
|
-
height: 14px;
|
|
10139
|
-
border: 2px solid rgba(255, 255, 255, 0.1);
|
|
10140
|
-
border-top-color: var(--color-accent, #f0b90b);
|
|
10141
|
-
border-radius: 50%;
|
|
10142
|
-
animation: homeSpin 1s linear infinite;
|
|
10143
|
-
vertical-align: middle;
|
|
10144
|
-
margin-right: 0.15rem;
|
|
10145
|
-
@keyframes homeSpin {
|
|
10146
|
-
to { transform: rotate(360deg); }
|
|
10147
|
-
}
|
|
10148
|
-
`;
|
|
10149
9979
|
var MAX_DISPLAY_AMOUNT = 6e4;
|
|
10150
9980
|
var formatCurrency4 = (amount) => {
|
|
10151
9981
|
if (amount >= 1e6) return `$${(amount / 1e6).toFixed(2)}M`;
|
|
@@ -11823,7 +11653,7 @@ function PortfolioActivityPanel({
|
|
|
11823
11653
|
formatTimestamp(trade.executedAt)
|
|
11824
11654
|
] })
|
|
11825
11655
|
] }),
|
|
11826
|
-
/* @__PURE__ */ jsx(
|
|
11656
|
+
trade.status === "SETTLEMENT_FAILED" ? /* @__PURE__ */ jsx(ActivityTag, { $color: "#f6465d", $bg: "rgba(246,70,93,0.12)", children: "Failed" }) : /* @__PURE__ */ jsx(
|
|
11827
11657
|
ActivityTag,
|
|
11828
11658
|
{
|
|
11829
11659
|
$color: trade.side === "SELL" ? "#f6465d" : "#0ecb81",
|
|
@@ -13902,7 +13732,7 @@ function PropertyValuation({
|
|
|
13902
13732
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "0.5rem" }, children: [
|
|
13903
13733
|
/* @__PURE__ */ jsxs(PricingModelDetail, { children: [
|
|
13904
13734
|
/* @__PURE__ */ jsx(PropertyDetailLabel, { children: "Last Price" }),
|
|
13905
|
-
/* @__PURE__ */ jsx(PricingDetailValue, { children:
|
|
13735
|
+
/* @__PURE__ */ jsx(PricingDetailValue, { children: formatCompact(lastPrice) })
|
|
13906
13736
|
] }),
|
|
13907
13737
|
/* @__PURE__ */ jsxs(PricingModelDetail, { children: [
|
|
13908
13738
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", width: "100%" }, children: [
|
|
@@ -13913,11 +13743,11 @@ function PropertyValuation({
|
|
|
13913
13743
|
] })
|
|
13914
13744
|
] }),
|
|
13915
13745
|
/* @__PURE__ */ jsxs(PricingDetailValue, { style: { color: "var(--color-accent)", fontWeight: "bold" }, children: [
|
|
13916
|
-
|
|
13746
|
+
formatCompact(fairValue),
|
|
13917
13747
|
" ",
|
|
13918
13748
|
/* @__PURE__ */ jsxs("span", { style: { fontSize: "0.85em", fontWeight: "normal", opacity: 0.8 }, children: [
|
|
13919
13749
|
"(",
|
|
13920
|
-
|
|
13750
|
+
formatCompact(fairValue * tokensOutstanding),
|
|
13921
13751
|
")"
|
|
13922
13752
|
] })
|
|
13923
13753
|
] })
|
|
@@ -13934,7 +13764,7 @@ function PropertyValuation({
|
|
|
13934
13764
|
/* @__PURE__ */ jsx(GaugeIndicator, { type: "fairValue", position: 50 }),
|
|
13935
13765
|
/* @__PURE__ */ jsxs(GaugePriceTag, { position: gaugePosition, children: [
|
|
13936
13766
|
/* @__PURE__ */ jsx("span", { children: "Last Price" }),
|
|
13937
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
13767
|
+
/* @__PURE__ */ jsx("span", { children: formatCompact(lastPrice) })
|
|
13938
13768
|
] }),
|
|
13939
13769
|
/* @__PURE__ */ jsx(GaugeIndicator, { type: "lastPrice", position: gaugePosition })
|
|
13940
13770
|
] }),
|
|
@@ -13942,30 +13772,30 @@ function PropertyValuation({
|
|
|
13942
13772
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#4CAF50" }, children: [
|
|
13943
13773
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
13944
13774
|
"< ",
|
|
13945
|
-
|
|
13775
|
+
formatCompact(undervaluedThreshold)
|
|
13946
13776
|
] }),
|
|
13947
13777
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
13948
13778
|
"(",
|
|
13949
|
-
|
|
13779
|
+
formatCompact(undervaluedThreshold * tokensOutstanding),
|
|
13950
13780
|
")"
|
|
13951
13781
|
] })
|
|
13952
13782
|
] }) }),
|
|
13953
13783
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "var(--color-accent)" }, children: [
|
|
13954
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
13784
|
+
/* @__PURE__ */ jsx("span", { children: formatCompact(fairValue) }),
|
|
13955
13785
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
13956
13786
|
"(",
|
|
13957
|
-
|
|
13787
|
+
formatCompact(fairValue * tokensOutstanding),
|
|
13958
13788
|
")"
|
|
13959
13789
|
] })
|
|
13960
13790
|
] }) }),
|
|
13961
13791
|
/* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsxs(ValuationValue, { style: { color: "#F44336" }, children: [
|
|
13962
13792
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
13963
13793
|
"> ",
|
|
13964
|
-
|
|
13794
|
+
formatCompact(overvaluedThreshold)
|
|
13965
13795
|
] }),
|
|
13966
13796
|
/* @__PURE__ */ jsxs("span", { className: "valuation-amount-span", style: { fontSize: "0.8rem", fontWeight: "normal" }, children: [
|
|
13967
13797
|
"(",
|
|
13968
|
-
|
|
13798
|
+
formatCompact(overvaluedThreshold * tokensOutstanding),
|
|
13969
13799
|
")"
|
|
13970
13800
|
] })
|
|
13971
13801
|
] }) })
|
|
@@ -14172,6 +14002,14 @@ function formatMillions(value) {
|
|
|
14172
14002
|
}
|
|
14173
14003
|
return `$${(value / 1e6).toFixed(2)}m`;
|
|
14174
14004
|
}
|
|
14005
|
+
function formatCompact(value) {
|
|
14006
|
+
if (value == null || !Number.isFinite(value)) return "\u2014";
|
|
14007
|
+
const abs = Math.abs(value);
|
|
14008
|
+
if (abs >= 1e9) return `$${(value / 1e9).toFixed(2)}B`;
|
|
14009
|
+
if (abs >= 1e6) return `$${(value / 1e6).toFixed(2)}M`;
|
|
14010
|
+
if (abs >= 1e3) return `$${(value / 1e3).toFixed(1)}K`;
|
|
14011
|
+
return formatCurrency6(value);
|
|
14012
|
+
}
|
|
14175
14013
|
function formatBedroomLabel(bedrooms) {
|
|
14176
14014
|
if (!Number.isFinite(bedrooms)) return "\u2014";
|
|
14177
14015
|
return `${bedrooms} Bed`;
|
|
@@ -14352,9 +14190,10 @@ var PricingModelCard = styled25.div`
|
|
|
14352
14190
|
var PricingModelHeader = styled25.div`
|
|
14353
14191
|
display: flex;
|
|
14354
14192
|
justify-content: space-between;
|
|
14355
|
-
align-items:
|
|
14193
|
+
align-items: flex-start;
|
|
14356
14194
|
margin-bottom: 1.5rem;
|
|
14357
14195
|
gap: 1rem;
|
|
14196
|
+
flex-wrap: wrap;
|
|
14358
14197
|
|
|
14359
14198
|
.valuation-info {
|
|
14360
14199
|
display: flex;
|
|
@@ -14362,6 +14201,7 @@ var PricingModelHeader = styled25.div`
|
|
|
14362
14201
|
gap: 0.25rem;
|
|
14363
14202
|
font-size: 0.85rem;
|
|
14364
14203
|
color: rgba(255, 255, 255, 0.75);
|
|
14204
|
+
flex-shrink: 0;
|
|
14365
14205
|
}
|
|
14366
14206
|
`;
|
|
14367
14207
|
var PricingModelTitle = styled25.h3`
|
|
@@ -14428,15 +14268,31 @@ var ValuationDetails = styled25.div`
|
|
|
14428
14268
|
display: flex;
|
|
14429
14269
|
justify-content: space-between;
|
|
14430
14270
|
margin-top: 1rem;
|
|
14271
|
+
gap: 0.25rem;
|
|
14431
14272
|
`;
|
|
14432
14273
|
var ValuationItem = styled25.div`
|
|
14433
14274
|
display: flex;
|
|
14434
14275
|
flex-direction: column;
|
|
14276
|
+
min-width: 0;
|
|
14277
|
+
overflow: hidden;
|
|
14435
14278
|
`;
|
|
14436
14279
|
var ValuationValue = styled25.div`
|
|
14437
14280
|
font-size: 1rem;
|
|
14438
14281
|
font-weight: 600;
|
|
14439
14282
|
color: #fff;
|
|
14283
|
+
display: flex;
|
|
14284
|
+
flex-direction: column;
|
|
14285
|
+
gap: 2px;
|
|
14286
|
+
overflow-wrap: break-word;
|
|
14287
|
+
word-break: break-word;
|
|
14288
|
+
|
|
14289
|
+
@media (max-width: 480px) {
|
|
14290
|
+
font-size: 0.72rem;
|
|
14291
|
+
|
|
14292
|
+
.valuation-amount-span {
|
|
14293
|
+
display: none;
|
|
14294
|
+
}
|
|
14295
|
+
}
|
|
14440
14296
|
`;
|
|
14441
14297
|
var ChartContainer = styled25.div`
|
|
14442
14298
|
width: 100%;
|