@loafmarkets/ui 0.1.153 → 0.1.154
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 +209 -15
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +209 -15
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -8424,12 +8424,12 @@ var DEFAULT_PROPERTY_INFO = [
|
|
|
8424
8424
|
{ label: "Status", value: "N/A" }
|
|
8425
8425
|
];
|
|
8426
8426
|
var DEFAULT_DESCRIPTION = "Property description not available.";
|
|
8427
|
-
var
|
|
8428
|
-
|
|
8429
|
-
|
|
8430
|
-
|
|
8431
|
-
|
|
8432
|
-
];
|
|
8427
|
+
var ScaleIcon = /* @__PURE__ */ jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "#D4AF37", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
8428
|
+
/* @__PURE__ */ jsx("path", { d: "M12 3v18" }),
|
|
8429
|
+
/* @__PURE__ */ jsx("path", { d: "M3 7l9-4 9 4" }),
|
|
8430
|
+
/* @__PURE__ */ jsx("path", { d: "M3 7l3 5h-6l3-5z" }),
|
|
8431
|
+
/* @__PURE__ */ jsx("path", { d: "M18 7l3 5h-6l3-5z" })
|
|
8432
|
+
] });
|
|
8433
8433
|
function truncateAddress(addr) {
|
|
8434
8434
|
if (addr.length <= 12) return addr;
|
|
8435
8435
|
return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
|
|
@@ -8567,7 +8567,6 @@ function PropertyOverview({
|
|
|
8567
8567
|
{ label: "Last Valuation", value: isLoading && resolvedValuation == null ? loadingSkeleton : resolvedValuation ? resolvedValuation >= 1e6 ? `$${(resolvedValuation / 1e6).toFixed(2)}M` : `$${resolvedValuation.toLocaleString()}` : "\u2014" },
|
|
8568
8568
|
{ label: "Number of Offers", value: "\u2014" },
|
|
8569
8569
|
{ label: "Growth (Past 5 Years)", value: "\u2014" },
|
|
8570
|
-
{ label: "Security Interest in Asset", value: "Yes, secured to Land Registry" },
|
|
8571
8570
|
{ label: "Last Dividend", value: isLoading && monthlyDivPerShare == null ? loadingSkeleton : monthlyDivPerShare != null ? `${(monthlyDivPerShare * 100).toFixed(1)} cents` : "\u2014" },
|
|
8572
8571
|
{ label: "Upcoming Dividend", value: (() => {
|
|
8573
8572
|
const now = /* @__PURE__ */ new Date();
|
|
@@ -8730,12 +8729,99 @@ function PropertyOverview({
|
|
|
8730
8729
|
] })
|
|
8731
8730
|
] }),
|
|
8732
8731
|
/* @__PURE__ */ jsxs(Section, { children: [
|
|
8733
|
-
/* @__PURE__ */ jsx(SectionHeader, { children: "Tokenholder
|
|
8734
|
-
/* @__PURE__ */ jsx(
|
|
8735
|
-
|
|
8736
|
-
/* @__PURE__ */
|
|
8737
|
-
|
|
8738
|
-
|
|
8732
|
+
/* @__PURE__ */ jsx(SectionHeader, { children: "Tokenholder Security" }),
|
|
8733
|
+
/* @__PURE__ */ jsx(SecurityIntro, { children: "Every token issued by Loaf Markets is underpinned by institutional-grade legal and structural protections, independently verified and documented." }),
|
|
8734
|
+
/* @__PURE__ */ jsxs(SecurityTopRow, { children: [
|
|
8735
|
+
/* @__PURE__ */ jsxs(SecurityBadge, { children: [
|
|
8736
|
+
/* @__PURE__ */ jsx(SecurityBadgeIcon, { children: ScaleIcon }),
|
|
8737
|
+
/* @__PURE__ */ jsxs(SecurityBadgeContent, { children: [
|
|
8738
|
+
/* @__PURE__ */ jsx(SecurityBadgeLabel, { children: "Legal Structuring by" }),
|
|
8739
|
+
/* @__PURE__ */ jsx(SecurityBadgeLogo, { children: /* @__PURE__ */ jsx("img", { src: "/Baker_McKenzie.png", alt: "Baker McKenzie", style: { height: "28px", filter: "brightness(0) invert(1)", opacity: 0.85 } }) })
|
|
8740
|
+
] })
|
|
8741
|
+
] }),
|
|
8742
|
+
/* @__PURE__ */ jsxs(SecurityBadge, { children: [
|
|
8743
|
+
/* @__PURE__ */ jsx(SecurityBadgeIcon, { children: FileCheckIcon }),
|
|
8744
|
+
/* @__PURE__ */ jsxs(SecurityBadgeContent, { children: [
|
|
8745
|
+
/* @__PURE__ */ jsx(SecurityBadgeLabel, { children: "Independent Valuation by" }),
|
|
8746
|
+
/* @__PURE__ */ jsx(SecurityBadgeValuer, { children: "CBRE & Savills" })
|
|
8747
|
+
] })
|
|
8748
|
+
] })
|
|
8749
|
+
] }),
|
|
8750
|
+
/* @__PURE__ */ jsxs(ProtectionsGrid, { children: [
|
|
8751
|
+
/* @__PURE__ */ jsxs(ProtectionCard, { children: [
|
|
8752
|
+
/* @__PURE__ */ jsxs(ProtectionCardHeader, { children: [
|
|
8753
|
+
/* @__PURE__ */ jsx(ProtectionIconWrap, { children: ShieldIcon }),
|
|
8754
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
8755
|
+
/* @__PURE__ */ jsx(ProtectionTitle, { children: "Security Interest in Asset" }),
|
|
8756
|
+
/* @__PURE__ */ jsxs(ProtectionStatus, { children: [
|
|
8757
|
+
/* @__PURE__ */ jsx(ProtectionStatusDot, {}),
|
|
8758
|
+
"Secured & Registered"
|
|
8759
|
+
] })
|
|
8760
|
+
] })
|
|
8761
|
+
] }),
|
|
8762
|
+
/* @__PURE__ */ jsx(ProtectionDesc, { children: "A registered mortgage over the property is held on behalf of token holders, secured against the NSW Land Registry. This ensures token holders have a direct, enforceable claim over the underlying real estate." }),
|
|
8763
|
+
/* @__PURE__ */ jsxs(ProtectionDocs, { children: [
|
|
8764
|
+
/* @__PURE__ */ jsx(ProtectionDocTag, { children: "Mortgage Agreement" }),
|
|
8765
|
+
/* @__PURE__ */ jsx(ProtectionDocTag, { children: "Land Registry Filing" })
|
|
8766
|
+
] })
|
|
8767
|
+
] }),
|
|
8768
|
+
/* @__PURE__ */ jsxs(ProtectionCard, { children: [
|
|
8769
|
+
/* @__PURE__ */ jsxs(ProtectionCardHeader, { children: [
|
|
8770
|
+
/* @__PURE__ */ jsx(ProtectionIconWrap, { children: LockIcon }),
|
|
8771
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
8772
|
+
/* @__PURE__ */ jsx(ProtectionTitle, { children: "Bankruptcy Remote SPV" }),
|
|
8773
|
+
/* @__PURE__ */ jsxs(ProtectionStatus, { children: [
|
|
8774
|
+
/* @__PURE__ */ jsx(ProtectionStatusDot, {}),
|
|
8775
|
+
"Active"
|
|
8776
|
+
] })
|
|
8777
|
+
] })
|
|
8778
|
+
] }),
|
|
8779
|
+
/* @__PURE__ */ jsx(ProtectionDesc, { children: "The property is held within a dedicated Special Purpose Vehicle, legally isolated from Loaf Markets' operating entity. In the event of platform insolvency, token holder assets remain protected and ring-fenced." }),
|
|
8780
|
+
/* @__PURE__ */ jsxs(ProtectionDocs, { children: [
|
|
8781
|
+
/* @__PURE__ */ jsx(ProtectionDocTag, { children: "SPV Constitution" }),
|
|
8782
|
+
/* @__PURE__ */ jsx(ProtectionDocTag, { children: "Legal Opinion" })
|
|
8783
|
+
] })
|
|
8784
|
+
] }),
|
|
8785
|
+
/* @__PURE__ */ jsxs(ProtectionCard, { children: [
|
|
8786
|
+
/* @__PURE__ */ jsxs(ProtectionCardHeader, { children: [
|
|
8787
|
+
/* @__PURE__ */ jsx(ProtectionIconWrap, { children: FileCheckIcon }),
|
|
8788
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
8789
|
+
/* @__PURE__ */ jsx(ProtectionTitle, { children: "Data Protection & Compliance" }),
|
|
8790
|
+
/* @__PURE__ */ jsxs(ProtectionStatus, { children: [
|
|
8791
|
+
/* @__PURE__ */ jsx(ProtectionStatusDot, {}),
|
|
8792
|
+
"Compliant"
|
|
8793
|
+
] })
|
|
8794
|
+
] })
|
|
8795
|
+
] }),
|
|
8796
|
+
/* @__PURE__ */ jsx(ProtectionDesc, { children: "All investor data is handled under executed Data Processing Agreements compliant with Australian Privacy Act and GDPR standards. KYC/AML procedures follow AUSTRAC reporting obligations." }),
|
|
8797
|
+
/* @__PURE__ */ jsxs(ProtectionDocs, { children: [
|
|
8798
|
+
/* @__PURE__ */ jsx(ProtectionDocTag, { children: "DPA Agreement" }),
|
|
8799
|
+
/* @__PURE__ */ jsx(ProtectionDocTag, { children: "Privacy Policy" })
|
|
8800
|
+
] })
|
|
8801
|
+
] }),
|
|
8802
|
+
/* @__PURE__ */ jsxs(ProtectionCard, { children: [
|
|
8803
|
+
/* @__PURE__ */ jsxs(ProtectionCardHeader, { children: [
|
|
8804
|
+
/* @__PURE__ */ jsx(ProtectionIconWrap, { children: BuildingIcon }),
|
|
8805
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
8806
|
+
/* @__PURE__ */ jsx(ProtectionTitle, { children: "Independent Valuation" }),
|
|
8807
|
+
/* @__PURE__ */ jsxs(ProtectionStatus, { children: [
|
|
8808
|
+
/* @__PURE__ */ jsx(ProtectionStatusDot, {}),
|
|
8809
|
+
"Current"
|
|
8810
|
+
] })
|
|
8811
|
+
] })
|
|
8812
|
+
] }),
|
|
8813
|
+
/* @__PURE__ */ jsx(ProtectionDesc, { children: "Property valuations are conducted by independent, internationally recognised firms (CBRE, Savills) at regular intervals. Reports are available for review in the Documents tab." }),
|
|
8814
|
+
/* @__PURE__ */ jsxs(ProtectionDocs, { children: [
|
|
8815
|
+
/* @__PURE__ */ jsx(ProtectionDocTag, { children: "Valuation Report" }),
|
|
8816
|
+
/* @__PURE__ */ jsx(ProtectionDocTag, { children: "Methodology" })
|
|
8817
|
+
] })
|
|
8818
|
+
] })
|
|
8819
|
+
] }),
|
|
8820
|
+
/* @__PURE__ */ jsxs(SecurityFooter, { children: [
|
|
8821
|
+
"Full documentation including legal opinions, mortgage instruments, SPV constitutions, and valuation reports is available in the ",
|
|
8822
|
+
/* @__PURE__ */ jsx("strong", { children: "Documents" }),
|
|
8823
|
+
" tab."
|
|
8824
|
+
] })
|
|
8739
8825
|
] })
|
|
8740
8826
|
] });
|
|
8741
8827
|
}
|
|
@@ -9109,6 +9195,62 @@ var TradingHoursNote = styled9.div`
|
|
|
9109
9195
|
color: rgba(255,255,255,0.35);
|
|
9110
9196
|
border-top: 1px solid rgba(255,255,255,0.04);
|
|
9111
9197
|
`;
|
|
9198
|
+
var SecurityIntro = styled9.p`
|
|
9199
|
+
font-size: 0.85rem;
|
|
9200
|
+
color: rgba(255,255,255,0.5);
|
|
9201
|
+
line-height: 1.6;
|
|
9202
|
+
margin: 0 0 1.5rem;
|
|
9203
|
+
max-width: 720px;
|
|
9204
|
+
`;
|
|
9205
|
+
var SecurityTopRow = styled9.div`
|
|
9206
|
+
display: flex;
|
|
9207
|
+
gap: 1rem;
|
|
9208
|
+
margin-bottom: 1.25rem;
|
|
9209
|
+
@media (max-width: 768px) { flex-direction: column; }
|
|
9210
|
+
`;
|
|
9211
|
+
var SecurityBadge = styled9.div`
|
|
9212
|
+
flex: 1;
|
|
9213
|
+
display: flex;
|
|
9214
|
+
align-items: center;
|
|
9215
|
+
gap: 1rem;
|
|
9216
|
+
background: rgba(212,175,55,0.04);
|
|
9217
|
+
border: 1px solid rgba(212,175,55,0.15);
|
|
9218
|
+
border-radius: 10px;
|
|
9219
|
+
padding: 1rem 1.25rem;
|
|
9220
|
+
`;
|
|
9221
|
+
var SecurityBadgeIcon = styled9.div`
|
|
9222
|
+
width: 40px;
|
|
9223
|
+
height: 40px;
|
|
9224
|
+
border-radius: 8px;
|
|
9225
|
+
background: rgba(212,175,55,0.1);
|
|
9226
|
+
display: flex;
|
|
9227
|
+
align-items: center;
|
|
9228
|
+
justify-content: center;
|
|
9229
|
+
flex-shrink: 0;
|
|
9230
|
+
`;
|
|
9231
|
+
var SecurityBadgeContent = styled9.div`
|
|
9232
|
+
display: flex;
|
|
9233
|
+
flex-direction: column;
|
|
9234
|
+
gap: 4px;
|
|
9235
|
+
`;
|
|
9236
|
+
var SecurityBadgeLabel = styled9.span`
|
|
9237
|
+
font-size: 0.72rem;
|
|
9238
|
+
color: rgba(255,255,255,0.45);
|
|
9239
|
+
text-transform: uppercase;
|
|
9240
|
+
letter-spacing: 0.04em;
|
|
9241
|
+
font-weight: 500;
|
|
9242
|
+
`;
|
|
9243
|
+
var SecurityBadgeLogo = styled9.div`
|
|
9244
|
+
display: flex;
|
|
9245
|
+
align-items: center;
|
|
9246
|
+
height: 28px;
|
|
9247
|
+
`;
|
|
9248
|
+
var SecurityBadgeValuer = styled9.div`
|
|
9249
|
+
font-size: 1rem;
|
|
9250
|
+
font-weight: 600;
|
|
9251
|
+
color: #fff;
|
|
9252
|
+
letter-spacing: 0.02em;
|
|
9253
|
+
`;
|
|
9112
9254
|
var ProtectionsGrid = styled9.div`
|
|
9113
9255
|
display: grid;
|
|
9114
9256
|
grid-template-columns: 1fr 1fr;
|
|
@@ -9120,6 +9262,14 @@ var ProtectionCard = styled9.div`
|
|
|
9120
9262
|
border: 1px solid rgba(255,255,255,0.06);
|
|
9121
9263
|
border-radius: 10px;
|
|
9122
9264
|
padding: 1.25rem;
|
|
9265
|
+
display: flex;
|
|
9266
|
+
flex-direction: column;
|
|
9267
|
+
gap: 0.75rem;
|
|
9268
|
+
`;
|
|
9269
|
+
var ProtectionCardHeader = styled9.div`
|
|
9270
|
+
display: flex;
|
|
9271
|
+
align-items: flex-start;
|
|
9272
|
+
gap: 0.75rem;
|
|
9123
9273
|
`;
|
|
9124
9274
|
var ProtectionIconWrap = styled9.div`
|
|
9125
9275
|
width: 36px;
|
|
@@ -9129,18 +9279,62 @@ var ProtectionIconWrap = styled9.div`
|
|
|
9129
9279
|
display: flex;
|
|
9130
9280
|
align-items: center;
|
|
9131
9281
|
justify-content: center;
|
|
9132
|
-
|
|
9282
|
+
flex-shrink: 0;
|
|
9133
9283
|
`;
|
|
9134
9284
|
var ProtectionTitle = styled9.div`
|
|
9135
9285
|
font-size: 0.92rem;
|
|
9136
9286
|
font-weight: 600;
|
|
9137
9287
|
color: #fff;
|
|
9138
|
-
margin-bottom:
|
|
9288
|
+
margin-bottom: 2px;
|
|
9289
|
+
`;
|
|
9290
|
+
var ProtectionStatus = styled9.div`
|
|
9291
|
+
display: flex;
|
|
9292
|
+
align-items: center;
|
|
9293
|
+
gap: 5px;
|
|
9294
|
+
font-size: 0.72rem;
|
|
9295
|
+
color: #4ade80;
|
|
9296
|
+
font-weight: 500;
|
|
9297
|
+
`;
|
|
9298
|
+
var ProtectionStatusDot = styled9.span`
|
|
9299
|
+
width: 6px;
|
|
9300
|
+
height: 6px;
|
|
9301
|
+
border-radius: 50%;
|
|
9302
|
+
background: #4ade80;
|
|
9303
|
+
display: inline-block;
|
|
9139
9304
|
`;
|
|
9140
9305
|
var ProtectionDesc = styled9.div`
|
|
9141
9306
|
font-size: 0.8rem;
|
|
9142
9307
|
color: rgba(255,255,255,0.5);
|
|
9308
|
+
line-height: 1.6;
|
|
9309
|
+
`;
|
|
9310
|
+
var ProtectionDocs = styled9.div`
|
|
9311
|
+
display: flex;
|
|
9312
|
+
flex-wrap: wrap;
|
|
9313
|
+
gap: 6px;
|
|
9314
|
+
margin-top: auto;
|
|
9315
|
+
`;
|
|
9316
|
+
var ProtectionDocTag = styled9.span`
|
|
9317
|
+
font-size: 0.68rem;
|
|
9318
|
+
color: rgba(212,175,55,0.8);
|
|
9319
|
+
background: rgba(212,175,55,0.08);
|
|
9320
|
+
border: 1px solid rgba(212,175,55,0.12);
|
|
9321
|
+
border-radius: 4px;
|
|
9322
|
+
padding: 3px 8px;
|
|
9323
|
+
font-weight: 500;
|
|
9324
|
+
`;
|
|
9325
|
+
var SecurityFooter = styled9.div`
|
|
9326
|
+
margin-top: 1.25rem;
|
|
9327
|
+
padding: 0.85rem 1rem;
|
|
9328
|
+
background: rgba(255,255,255,0.02);
|
|
9329
|
+
border: 1px solid rgba(255,255,255,0.05);
|
|
9330
|
+
border-radius: 8px;
|
|
9331
|
+
font-size: 0.78rem;
|
|
9332
|
+
color: rgba(255,255,255,0.4);
|
|
9143
9333
|
line-height: 1.5;
|
|
9334
|
+
strong {
|
|
9335
|
+
color: rgba(212,175,55,0.8);
|
|
9336
|
+
font-weight: 600;
|
|
9337
|
+
}
|
|
9144
9338
|
`;
|
|
9145
9339
|
var HoldRatioWrap = styled9.div`
|
|
9146
9340
|
display: flex;
|