@loafmarkets/ui 0.1.153 → 0.1.155
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +109 -60
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +109 -60
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -8410,29 +8410,6 @@ var GymIcon = /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "16", height: "16"
|
|
|
8410
8410
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 6h4" }),
|
|
8411
8411
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 18h4" })
|
|
8412
8412
|
] });
|
|
8413
|
-
var ShieldIcon = /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "#D4AF37", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) });
|
|
8414
|
-
var LockIcon = /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "#D4AF37", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
8415
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2", ry: "2" }),
|
|
8416
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })
|
|
8417
|
-
] });
|
|
8418
|
-
var FileCheckIcon = /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "#D4AF37", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
8419
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }),
|
|
8420
|
-
/* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "14 2 14 8 20 8" }),
|
|
8421
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 15l2 2 4-4" })
|
|
8422
|
-
] });
|
|
8423
|
-
var BuildingIcon = /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "#D4AF37", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
8424
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "4", y: "2", width: "16", height: "20", rx: "2", ry: "2" }),
|
|
8425
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 22v-4h6v4" }),
|
|
8426
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 6h.01" }),
|
|
8427
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 6h.01" }),
|
|
8428
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 6h.01" }),
|
|
8429
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 10h.01" }),
|
|
8430
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 14h.01" }),
|
|
8431
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 10h.01" }),
|
|
8432
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 14h.01" }),
|
|
8433
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 10h.01" }),
|
|
8434
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 14h.01" })
|
|
8435
|
-
] });
|
|
8436
8413
|
var DEFAULT_FEATURES = [
|
|
8437
8414
|
{ icon: BedIcon, value: "\u2014", label: "Beds" },
|
|
8438
8415
|
{ icon: BathIcon, value: "\u2014", label: "Baths" },
|
|
@@ -8450,12 +8427,6 @@ var DEFAULT_PROPERTY_INFO = [
|
|
|
8450
8427
|
{ label: "Status", value: "N/A" }
|
|
8451
8428
|
];
|
|
8452
8429
|
var DEFAULT_DESCRIPTION = "Property description not available.";
|
|
8453
|
-
var TOKENHOLDER_PROTECTIONS = [
|
|
8454
|
-
{ icon: ShieldIcon, title: "SPV Structure", desc: "Each property is held in a dedicated Special Purpose Vehicle, isolating investor assets from platform risk." },
|
|
8455
|
-
{ icon: LockIcon, title: "Smart Contract Audit", desc: "All token contracts are audited by independent security firms before deployment." },
|
|
8456
|
-
{ icon: FileCheckIcon, title: "Title Insurance", desc: "Full title insurance coverage protects token holders against title defects and encumbrances." },
|
|
8457
|
-
{ icon: BuildingIcon, title: "Regulated Exchange", desc: "Trading occurs on a regulated marketplace with KYC/AML compliance and investor protections." }
|
|
8458
|
-
];
|
|
8459
8430
|
function truncateAddress(addr) {
|
|
8460
8431
|
if (addr.length <= 12) return addr;
|
|
8461
8432
|
return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
|
|
@@ -8593,7 +8564,6 @@ function PropertyOverview({
|
|
|
8593
8564
|
{ label: "Last Valuation", value: isLoading && resolvedValuation == null ? loadingSkeleton : resolvedValuation ? resolvedValuation >= 1e6 ? `$${(resolvedValuation / 1e6).toFixed(2)}M` : `$${resolvedValuation.toLocaleString()}` : "\u2014" },
|
|
8594
8565
|
{ label: "Number of Offers", value: "\u2014" },
|
|
8595
8566
|
{ label: "Growth (Past 5 Years)", value: "\u2014" },
|
|
8596
|
-
{ label: "Security Interest in Asset", value: "Yes, secured to Land Registry" },
|
|
8597
8567
|
{ label: "Last Dividend", value: isLoading && monthlyDivPerShare == null ? loadingSkeleton : monthlyDivPerShare != null ? `${(monthlyDivPerShare * 100).toFixed(1)} cents` : "\u2014" },
|
|
8598
8568
|
{ label: "Upcoming Dividend", value: (() => {
|
|
8599
8569
|
const now = /* @__PURE__ */ new Date();
|
|
@@ -8756,12 +8726,59 @@ function PropertyOverview({
|
|
|
8756
8726
|
] })
|
|
8757
8727
|
] }),
|
|
8758
8728
|
/* @__PURE__ */ jsxRuntime.jsxs(Section, { children: [
|
|
8759
|
-
/* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { children: "Tokenholder
|
|
8760
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8761
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8762
|
-
|
|
8763
|
-
|
|
8764
|
-
|
|
8729
|
+
/* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { children: "Tokenholder Security" }),
|
|
8730
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityTable, { children: [
|
|
8731
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRow, { children: [
|
|
8732
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLeft, { children: [
|
|
8733
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityRowLabel, { children: "Legal Structuring" }),
|
|
8734
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityRowLogo, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/Baker_McKenzie.png", alt: "Baker McKenzie", style: { height: "22px", filter: "brightness(0) invert(1)", opacity: 0.8 } }) })
|
|
8735
|
+
] }),
|
|
8736
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityRowRight, { children: /* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLinks, { children: [
|
|
8737
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Legal Opinion" }),
|
|
8738
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Structuring Memo" })
|
|
8739
|
+
] }) })
|
|
8740
|
+
] }),
|
|
8741
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRow, { children: [
|
|
8742
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLeft, { children: [
|
|
8743
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityRowLabel, { children: "Security Interest in Asset" }),
|
|
8744
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRowValue, { children: [
|
|
8745
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityStatusDot, {}),
|
|
8746
|
+
"Secured \u2014 NSW Land Registry"
|
|
8747
|
+
] })
|
|
8748
|
+
] }),
|
|
8749
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityRowRight, { children: /* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLinks, { children: [
|
|
8750
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Mortgage Agreement" }),
|
|
8751
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Registry Filing" })
|
|
8752
|
+
] }) })
|
|
8753
|
+
] }),
|
|
8754
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRow, { children: [
|
|
8755
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLeft, { children: [
|
|
8756
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityRowLabel, { children: "Bankruptcy Remote" }),
|
|
8757
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRowValue, { children: [
|
|
8758
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityStatusDot, {}),
|
|
8759
|
+
"Active \u2014 Dedicated SPV"
|
|
8760
|
+
] })
|
|
8761
|
+
] }),
|
|
8762
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityRowRight, { children: /* @__PURE__ */ jsxRuntime.jsx(SecurityRowLinks, { children: /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "SPV Constitution" }) }) })
|
|
8763
|
+
] }),
|
|
8764
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRow, { children: [
|
|
8765
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLeft, { children: [
|
|
8766
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityRowLabel, { children: "Independent Valuation" }),
|
|
8767
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityRowValue, { children: "CBRE & Savills" })
|
|
8768
|
+
] }),
|
|
8769
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityRowRight, { children: /* @__PURE__ */ jsxRuntime.jsx(SecurityRowLinks, { children: /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Valuation Report" }) }) })
|
|
8770
|
+
] }),
|
|
8771
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRow, { $noBorder: true, children: [
|
|
8772
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLeft, { children: [
|
|
8773
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityRowLabel, { children: "Data Protection" }),
|
|
8774
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityRowValue, { children: [
|
|
8775
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityStatusDot, {}),
|
|
8776
|
+
"Compliant \u2014 Australian Privacy Act"
|
|
8777
|
+
] })
|
|
8778
|
+
] }),
|
|
8779
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityRowRight, { children: /* @__PURE__ */ jsxRuntime.jsx(SecurityRowLinks, { children: /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "DPA Agreement" }) }) })
|
|
8780
|
+
] })
|
|
8781
|
+
] })
|
|
8765
8782
|
] })
|
|
8766
8783
|
] });
|
|
8767
8784
|
}
|
|
@@ -9135,38 +9152,70 @@ var TradingHoursNote = styled9__default.default.div`
|
|
|
9135
9152
|
color: rgba(255,255,255,0.35);
|
|
9136
9153
|
border-top: 1px solid rgba(255,255,255,0.04);
|
|
9137
9154
|
`;
|
|
9138
|
-
var
|
|
9139
|
-
display:
|
|
9140
|
-
|
|
9141
|
-
gap: 1rem;
|
|
9142
|
-
@media (max-width: 768px) { grid-template-columns: 1fr; }
|
|
9143
|
-
`;
|
|
9144
|
-
var ProtectionCard = styled9__default.default.div`
|
|
9145
|
-
background: rgba(255,255,255,0.025);
|
|
9146
|
-
border: 1px solid rgba(255,255,255,0.06);
|
|
9147
|
-
border-radius: 10px;
|
|
9148
|
-
padding: 1.25rem;
|
|
9155
|
+
var SecurityTable = styled9__default.default.div`
|
|
9156
|
+
display: flex;
|
|
9157
|
+
flex-direction: column;
|
|
9149
9158
|
`;
|
|
9150
|
-
var
|
|
9151
|
-
width: 36px;
|
|
9152
|
-
height: 36px;
|
|
9153
|
-
border-radius: 8px;
|
|
9154
|
-
background: rgba(212,175,55,0.1);
|
|
9159
|
+
var SecurityRow = styled9__default.default.div`
|
|
9155
9160
|
display: flex;
|
|
9156
9161
|
align-items: center;
|
|
9157
|
-
justify-content:
|
|
9158
|
-
|
|
9162
|
+
justify-content: space-between;
|
|
9163
|
+
padding: 1rem 0;
|
|
9164
|
+
border-bottom: ${({ $noBorder }) => $noBorder ? "none" : "1px solid rgba(255,255,255,0.06)"};
|
|
9165
|
+
gap: 1rem;
|
|
9166
|
+
@media (max-width: 640px) { flex-direction: column; align-items: flex-start; }
|
|
9159
9167
|
`;
|
|
9160
|
-
var
|
|
9161
|
-
|
|
9168
|
+
var SecurityRowLeft = styled9__default.default.div`
|
|
9169
|
+
display: flex;
|
|
9170
|
+
flex-direction: column;
|
|
9171
|
+
gap: 4px;
|
|
9172
|
+
`;
|
|
9173
|
+
var SecurityRowLabel = styled9__default.default.div`
|
|
9174
|
+
font-size: 0.88rem;
|
|
9162
9175
|
font-weight: 600;
|
|
9163
9176
|
color: #fff;
|
|
9164
|
-
margin-bottom: 0.4rem;
|
|
9165
9177
|
`;
|
|
9166
|
-
var
|
|
9167
|
-
|
|
9178
|
+
var SecurityRowValue = styled9__default.default.div`
|
|
9179
|
+
display: flex;
|
|
9180
|
+
align-items: center;
|
|
9181
|
+
gap: 6px;
|
|
9182
|
+
font-size: 0.78rem;
|
|
9168
9183
|
color: rgba(255,255,255,0.5);
|
|
9169
|
-
|
|
9184
|
+
`;
|
|
9185
|
+
var SecurityRowLogo = styled9__default.default.div`
|
|
9186
|
+
display: flex;
|
|
9187
|
+
align-items: center;
|
|
9188
|
+
margin-top: 2px;
|
|
9189
|
+
`;
|
|
9190
|
+
var SecurityStatusDot = styled9__default.default.span`
|
|
9191
|
+
width: 6px;
|
|
9192
|
+
height: 6px;
|
|
9193
|
+
border-radius: 50%;
|
|
9194
|
+
background: #4ade80;
|
|
9195
|
+
display: inline-block;
|
|
9196
|
+
flex-shrink: 0;
|
|
9197
|
+
`;
|
|
9198
|
+
var SecurityRowRight = styled9__default.default.div`
|
|
9199
|
+
display: flex;
|
|
9200
|
+
align-items: center;
|
|
9201
|
+
flex-shrink: 0;
|
|
9202
|
+
`;
|
|
9203
|
+
var SecurityRowLinks = styled9__default.default.div`
|
|
9204
|
+
display: flex;
|
|
9205
|
+
gap: 1.25rem;
|
|
9206
|
+
`;
|
|
9207
|
+
var SecurityDocLink = styled9__default.default.a`
|
|
9208
|
+
font-size: 0.78rem;
|
|
9209
|
+
color: rgba(255,255,255,0.45);
|
|
9210
|
+
text-decoration: underline;
|
|
9211
|
+
text-underline-offset: 3px;
|
|
9212
|
+
text-decoration-color: rgba(255,255,255,0.2);
|
|
9213
|
+
cursor: pointer;
|
|
9214
|
+
transition: color 0.15s, text-decoration-color 0.15s;
|
|
9215
|
+
&:hover {
|
|
9216
|
+
color: rgba(212,175,55,0.9);
|
|
9217
|
+
text-decoration-color: rgba(212,175,55,0.5);
|
|
9218
|
+
}
|
|
9170
9219
|
`;
|
|
9171
9220
|
var HoldRatioWrap = styled9__default.default.div`
|
|
9172
9221
|
display: flex;
|