@loafmarkets/ui 0.1.71 → 0.1.73
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 +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +41 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +41 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -824,7 +824,6 @@ interface TradeHistoryItem {
|
|
|
824
824
|
readonly price: number;
|
|
825
825
|
readonly executedAt: number;
|
|
826
826
|
readonly fee: number;
|
|
827
|
-
readonly status?: string;
|
|
828
827
|
}
|
|
829
828
|
interface TransferHistoryItem {
|
|
830
829
|
readonly type: 'DEPOSIT' | 'WITHDRAWAL';
|
|
@@ -979,10 +978,12 @@ type OfferingProgressCardProps = {
|
|
|
979
978
|
raisedAmount?: number;
|
|
980
979
|
targetAmount?: number;
|
|
981
980
|
isPrivateClient?: boolean;
|
|
981
|
+
/** "default" = full card with header/countdown, "compact" = bar-only (demo style) */
|
|
982
|
+
variant?: 'default' | 'compact';
|
|
982
983
|
style?: React__default.CSSProperties;
|
|
983
984
|
className?: string;
|
|
984
985
|
};
|
|
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;
|
|
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;
|
|
986
987
|
|
|
987
988
|
type OwnerBookingProps = {
|
|
988
989
|
propertyName?: string | null;
|
package/dist/index.d.ts
CHANGED
|
@@ -824,7 +824,6 @@ interface TradeHistoryItem {
|
|
|
824
824
|
readonly price: number;
|
|
825
825
|
readonly executedAt: number;
|
|
826
826
|
readonly fee: number;
|
|
827
|
-
readonly status?: string;
|
|
828
827
|
}
|
|
829
828
|
interface TransferHistoryItem {
|
|
830
829
|
readonly type: 'DEPOSIT' | 'WITHDRAWAL';
|
|
@@ -979,10 +978,12 @@ type OfferingProgressCardProps = {
|
|
|
979
978
|
raisedAmount?: number;
|
|
980
979
|
targetAmount?: number;
|
|
981
980
|
isPrivateClient?: boolean;
|
|
981
|
+
/** "default" = full card with header/countdown, "compact" = bar-only (demo style) */
|
|
982
|
+
variant?: 'default' | 'compact';
|
|
982
983
|
style?: React__default.CSSProperties;
|
|
983
984
|
className?: string;
|
|
984
985
|
};
|
|
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;
|
|
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;
|
|
986
987
|
|
|
987
988
|
type OwnerBookingProps = {
|
|
988
989
|
propertyName?: string | null;
|
package/dist/index.js
CHANGED
|
@@ -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: "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" }) }),
|
|
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)", 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" }) }),
|
|
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", children: resolvedHeading }),
|
|
2944
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: isHomeVariant ? "text-base font-semibold text-white" : "text-lg font-semibold text-white", style: { margin: 0 }, children: resolvedHeading }),
|
|
2945
2945
|
subheading ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-white/60", children: subheading }) : null
|
|
2946
2946
|
] })
|
|
2947
2947
|
] }),
|
|
@@ -2979,7 +2979,7 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
|
|
|
2979
2979
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2980
2980
|
"div",
|
|
2981
2981
|
{
|
|
2982
|
-
className: "
|
|
2982
|
+
className: cn("flex flex-1 flex-col overflow-hidden", isHomeVariant ? "mt-2 gap-0" : "mt-4 gap-3"),
|
|
2983
2983
|
style: !isPurchaseVariant && !isHomeVariant ? { minHeight: `${ITEMS_PER_PAGE * 86}px` } : void 0,
|
|
2984
2984
|
children: isPurchaseVariant ? purchaseItems.length > 0 ? purchaseItems.slice(0, 7).map((purchase, index) => {
|
|
2985
2985
|
const maxAmount = 6e4;
|
|
@@ -3121,8 +3121,8 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
|
|
|
3121
3121
|
type: "button",
|
|
3122
3122
|
onClick: () => setHomePage((p) => Math.max(0, p - 1)),
|
|
3123
3123
|
disabled: homePage === 0,
|
|
3124
|
-
style: { background: "transparent", border: "1px solid rgba(255,255,255,0.15)", borderRadius: "
|
|
3125
|
-
children: "
|
|
3124
|
+
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)" },
|
|
3125
|
+
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" }) })
|
|
3126
3126
|
}
|
|
3127
3127
|
),
|
|
3128
3128
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: "0.7rem", color: "rgba(255,255,255,0.5)" }, children: [
|
|
@@ -3136,8 +3136,8 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
|
|
|
3136
3136
|
type: "button",
|
|
3137
3137
|
onClick: () => setHomePage((p) => Math.min(homeTotalPages - 1, p + 1)),
|
|
3138
3138
|
disabled: homePage >= homeTotalPages - 1,
|
|
3139
|
-
style: { background: "transparent", border: "1px solid rgba(255,255,255,0.15)", borderRadius: "
|
|
3140
|
-
children: "
|
|
3139
|
+
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)" },
|
|
3140
|
+
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" }) })
|
|
3141
3141
|
}
|
|
3142
3142
|
)
|
|
3143
3143
|
] }),
|
|
@@ -3148,8 +3148,9 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
|
|
|
3148
3148
|
type: "button",
|
|
3149
3149
|
onClick: () => setPage((p) => Math.max(0, p - 1)),
|
|
3150
3150
|
disabled: page === 0,
|
|
3151
|
-
className: cn("rounded-full border border-white/15
|
|
3152
|
-
|
|
3151
|
+
className: cn("rounded-full border border-white/15 flex items-center justify-center", page === 0 ? "opacity-40 cursor-not-allowed" : "hover:border-white/40"),
|
|
3152
|
+
style: { width: "28px", height: "28px", padding: 0, background: "transparent", color: "rgba(255,255,255,0.6)" },
|
|
3153
|
+
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" }) })
|
|
3153
3154
|
}
|
|
3154
3155
|
),
|
|
3155
3156
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-medium text-white/70", children: [
|
|
@@ -3164,8 +3165,9 @@ var PropertyNewsUpdates = React5__namespace.forwardRef(
|
|
|
3164
3165
|
type: "button",
|
|
3165
3166
|
onClick: () => setPage((p) => Math.min(totalPages - 1, p + 1)),
|
|
3166
3167
|
disabled: page >= totalPages - 1,
|
|
3167
|
-
className: cn("rounded-full border border-white/15
|
|
3168
|
-
|
|
3168
|
+
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"),
|
|
3169
|
+
style: { width: "28px", height: "28px", padding: 0, background: "transparent", color: "rgba(255,255,255,0.6)" },
|
|
3170
|
+
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" }) })
|
|
3169
3171
|
}
|
|
3170
3172
|
)
|
|
3171
3173
|
] }),
|
|
@@ -9670,6 +9672,7 @@ function OfferingProgressCard({
|
|
|
9670
9672
|
raisedAmount,
|
|
9671
9673
|
targetAmount,
|
|
9672
9674
|
isPrivateClient = false,
|
|
9675
|
+
variant = "default",
|
|
9673
9676
|
style,
|
|
9674
9677
|
className
|
|
9675
9678
|
}) {
|
|
@@ -9701,6 +9704,24 @@ function OfferingProgressCard({
|
|
|
9701
9704
|
const interval = setInterval(() => setCountdown(calculateCountdown()), 1e3);
|
|
9702
9705
|
return () => clearInterval(interval);
|
|
9703
9706
|
}, [opensAt]);
|
|
9707
|
+
if (variant === "compact") {
|
|
9708
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(CompactContainer, { style, className, children: [
|
|
9709
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProgressBarOuter, { children: /* @__PURE__ */ jsxRuntime.jsx(ProgressBarInner, { style: { width: `${Math.min(percentSold, 100)}%` } }) }),
|
|
9710
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProgressInfo, { children: [
|
|
9711
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProgressSubscribers, { children: [
|
|
9712
|
+
"Subscribers: ",
|
|
9713
|
+
subscriberCount.toLocaleString()
|
|
9714
|
+
] }),
|
|
9715
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProgressAmounts, { children: [
|
|
9716
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "raised", children: formatCurrency3(computedRaised) }),
|
|
9717
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "target", children: [
|
|
9718
|
+
" / ",
|
|
9719
|
+
formatCurrency3(computedTarget)
|
|
9720
|
+
] })
|
|
9721
|
+
] })
|
|
9722
|
+
] })
|
|
9723
|
+
] });
|
|
9724
|
+
}
|
|
9704
9725
|
return /* @__PURE__ */ jsxRuntime.jsxs(Container, { style, className, children: [
|
|
9705
9726
|
/* @__PURE__ */ jsxRuntime.jsxs(Header2, { children: [
|
|
9706
9727
|
/* @__PURE__ */ jsxRuntime.jsxs("h3", { children: [
|
|
@@ -9769,7 +9790,7 @@ function OfferingProgressCard({
|
|
|
9769
9790
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u24D8" })
|
|
9770
9791
|
] }),
|
|
9771
9792
|
/* @__PURE__ */ jsxRuntime.jsxs(LivePercent, { children: [
|
|
9772
|
-
percentSold
|
|
9793
|
+
percentSold.toFixed(1),
|
|
9773
9794
|
"%",
|
|
9774
9795
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "arrow", children: "\u2191" })
|
|
9775
9796
|
] })
|
|
@@ -10002,6 +10023,13 @@ var ProgressAmounts = styled25__default.default.div`
|
|
|
10002
10023
|
.raised { color: #D4AF37; }
|
|
10003
10024
|
.target { color: rgba(255,255,255,0.3); }
|
|
10004
10025
|
`;
|
|
10026
|
+
var CompactContainer = styled25__default.default.div`
|
|
10027
|
+
width: 100%;
|
|
10028
|
+
margin: 1.5rem 0;
|
|
10029
|
+
display: flex;
|
|
10030
|
+
flex-direction: column;
|
|
10031
|
+
gap: 0.5rem;
|
|
10032
|
+
`;
|
|
10005
10033
|
var MAX_DISPLAY_AMOUNT = 6e4;
|
|
10006
10034
|
var formatCurrency4 = (amount) => {
|
|
10007
10035
|
if (amount >= 1e6) return `$${(amount / 1e6).toFixed(2)}M`;
|
|
@@ -11679,7 +11707,7 @@ function PortfolioActivityPanel({
|
|
|
11679
11707
|
formatTimestamp(trade.executedAt)
|
|
11680
11708
|
] })
|
|
11681
11709
|
] }),
|
|
11682
|
-
|
|
11710
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
11683
11711
|
ActivityTag,
|
|
11684
11712
|
{
|
|
11685
11713
|
$color: trade.side === "SELL" ? "#f6465d" : "#0ecb81",
|