@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.js
CHANGED
|
@@ -8450,12 +8450,12 @@ var DEFAULT_PROPERTY_INFO = [
|
|
|
8450
8450
|
{ label: "Status", value: "N/A" }
|
|
8451
8451
|
];
|
|
8452
8452
|
var DEFAULT_DESCRIPTION = "Property description not available.";
|
|
8453
|
-
var
|
|
8454
|
-
|
|
8455
|
-
|
|
8456
|
-
|
|
8457
|
-
|
|
8458
|
-
];
|
|
8453
|
+
var ScaleIcon = /* @__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: [
|
|
8454
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 3v18" }),
|
|
8455
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 7l9-4 9 4" }),
|
|
8456
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 7l3 5h-6l3-5z" }),
|
|
8457
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M18 7l3 5h-6l3-5z" })
|
|
8458
|
+
] });
|
|
8459
8459
|
function truncateAddress(addr) {
|
|
8460
8460
|
if (addr.length <= 12) return addr;
|
|
8461
8461
|
return `${addr.slice(0, 6)}...${addr.slice(-4)}`;
|
|
@@ -8593,7 +8593,6 @@ function PropertyOverview({
|
|
|
8593
8593
|
{ label: "Last Valuation", value: isLoading && resolvedValuation == null ? loadingSkeleton : resolvedValuation ? resolvedValuation >= 1e6 ? `$${(resolvedValuation / 1e6).toFixed(2)}M` : `$${resolvedValuation.toLocaleString()}` : "\u2014" },
|
|
8594
8594
|
{ label: "Number of Offers", value: "\u2014" },
|
|
8595
8595
|
{ label: "Growth (Past 5 Years)", value: "\u2014" },
|
|
8596
|
-
{ label: "Security Interest in Asset", value: "Yes, secured to Land Registry" },
|
|
8597
8596
|
{ label: "Last Dividend", value: isLoading && monthlyDivPerShare == null ? loadingSkeleton : monthlyDivPerShare != null ? `${(monthlyDivPerShare * 100).toFixed(1)} cents` : "\u2014" },
|
|
8598
8597
|
{ label: "Upcoming Dividend", value: (() => {
|
|
8599
8598
|
const now = /* @__PURE__ */ new Date();
|
|
@@ -8756,12 +8755,99 @@ function PropertyOverview({
|
|
|
8756
8755
|
] })
|
|
8757
8756
|
] }),
|
|
8758
8757
|
/* @__PURE__ */ jsxRuntime.jsxs(Section, { children: [
|
|
8759
|
-
/* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { children: "Tokenholder
|
|
8760
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8761
|
-
|
|
8762
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8763
|
-
|
|
8764
|
-
|
|
8758
|
+
/* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { children: "Tokenholder Security" }),
|
|
8759
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityIntro, { children: "Every token issued by Loaf Markets is underpinned by institutional-grade legal and structural protections, independently verified and documented." }),
|
|
8760
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityTopRow, { children: [
|
|
8761
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityBadge, { children: [
|
|
8762
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityBadgeIcon, { children: ScaleIcon }),
|
|
8763
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityBadgeContent, { children: [
|
|
8764
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityBadgeLabel, { children: "Legal Structuring by" }),
|
|
8765
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityBadgeLogo, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/Baker_McKenzie.png", alt: "Baker McKenzie", style: { height: "28px", filter: "brightness(0) invert(1)", opacity: 0.85 } }) })
|
|
8766
|
+
] })
|
|
8767
|
+
] }),
|
|
8768
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityBadge, { children: [
|
|
8769
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityBadgeIcon, { children: FileCheckIcon }),
|
|
8770
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityBadgeContent, { children: [
|
|
8771
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityBadgeLabel, { children: "Independent Valuation by" }),
|
|
8772
|
+
/* @__PURE__ */ jsxRuntime.jsx(SecurityBadgeValuer, { children: "CBRE & Savills" })
|
|
8773
|
+
] })
|
|
8774
|
+
] })
|
|
8775
|
+
] }),
|
|
8776
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionsGrid, { children: [
|
|
8777
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionCard, { children: [
|
|
8778
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionCardHeader, { children: [
|
|
8779
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionIconWrap, { children: ShieldIcon }),
|
|
8780
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
8781
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionTitle, { children: "Security Interest in Asset" }),
|
|
8782
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionStatus, { children: [
|
|
8783
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionStatusDot, {}),
|
|
8784
|
+
"Secured & Registered"
|
|
8785
|
+
] })
|
|
8786
|
+
] })
|
|
8787
|
+
] }),
|
|
8788
|
+
/* @__PURE__ */ jsxRuntime.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." }),
|
|
8789
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionDocs, { children: [
|
|
8790
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionDocTag, { children: "Mortgage Agreement" }),
|
|
8791
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionDocTag, { children: "Land Registry Filing" })
|
|
8792
|
+
] })
|
|
8793
|
+
] }),
|
|
8794
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionCard, { children: [
|
|
8795
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionCardHeader, { children: [
|
|
8796
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionIconWrap, { children: LockIcon }),
|
|
8797
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
8798
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionTitle, { children: "Bankruptcy Remote SPV" }),
|
|
8799
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionStatus, { children: [
|
|
8800
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionStatusDot, {}),
|
|
8801
|
+
"Active"
|
|
8802
|
+
] })
|
|
8803
|
+
] })
|
|
8804
|
+
] }),
|
|
8805
|
+
/* @__PURE__ */ jsxRuntime.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." }),
|
|
8806
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionDocs, { children: [
|
|
8807
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionDocTag, { children: "SPV Constitution" }),
|
|
8808
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionDocTag, { children: "Legal Opinion" })
|
|
8809
|
+
] })
|
|
8810
|
+
] }),
|
|
8811
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionCard, { children: [
|
|
8812
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionCardHeader, { children: [
|
|
8813
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionIconWrap, { children: FileCheckIcon }),
|
|
8814
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
8815
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionTitle, { children: "Data Protection & Compliance" }),
|
|
8816
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionStatus, { children: [
|
|
8817
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionStatusDot, {}),
|
|
8818
|
+
"Compliant"
|
|
8819
|
+
] })
|
|
8820
|
+
] })
|
|
8821
|
+
] }),
|
|
8822
|
+
/* @__PURE__ */ jsxRuntime.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." }),
|
|
8823
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionDocs, { children: [
|
|
8824
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionDocTag, { children: "DPA Agreement" }),
|
|
8825
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionDocTag, { children: "Privacy Policy" })
|
|
8826
|
+
] })
|
|
8827
|
+
] }),
|
|
8828
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionCard, { children: [
|
|
8829
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionCardHeader, { children: [
|
|
8830
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionIconWrap, { children: BuildingIcon }),
|
|
8831
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
8832
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionTitle, { children: "Independent Valuation" }),
|
|
8833
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionStatus, { children: [
|
|
8834
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionStatusDot, {}),
|
|
8835
|
+
"Current"
|
|
8836
|
+
] })
|
|
8837
|
+
] })
|
|
8838
|
+
] }),
|
|
8839
|
+
/* @__PURE__ */ jsxRuntime.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." }),
|
|
8840
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ProtectionDocs, { children: [
|
|
8841
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionDocTag, { children: "Valuation Report" }),
|
|
8842
|
+
/* @__PURE__ */ jsxRuntime.jsx(ProtectionDocTag, { children: "Methodology" })
|
|
8843
|
+
] })
|
|
8844
|
+
] })
|
|
8845
|
+
] }),
|
|
8846
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SecurityFooter, { children: [
|
|
8847
|
+
"Full documentation including legal opinions, mortgage instruments, SPV constitutions, and valuation reports is available in the ",
|
|
8848
|
+
/* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Documents" }),
|
|
8849
|
+
" tab."
|
|
8850
|
+
] })
|
|
8765
8851
|
] })
|
|
8766
8852
|
] });
|
|
8767
8853
|
}
|
|
@@ -9135,6 +9221,62 @@ var TradingHoursNote = styled9__default.default.div`
|
|
|
9135
9221
|
color: rgba(255,255,255,0.35);
|
|
9136
9222
|
border-top: 1px solid rgba(255,255,255,0.04);
|
|
9137
9223
|
`;
|
|
9224
|
+
var SecurityIntro = styled9__default.default.p`
|
|
9225
|
+
font-size: 0.85rem;
|
|
9226
|
+
color: rgba(255,255,255,0.5);
|
|
9227
|
+
line-height: 1.6;
|
|
9228
|
+
margin: 0 0 1.5rem;
|
|
9229
|
+
max-width: 720px;
|
|
9230
|
+
`;
|
|
9231
|
+
var SecurityTopRow = styled9__default.default.div`
|
|
9232
|
+
display: flex;
|
|
9233
|
+
gap: 1rem;
|
|
9234
|
+
margin-bottom: 1.25rem;
|
|
9235
|
+
@media (max-width: 768px) { flex-direction: column; }
|
|
9236
|
+
`;
|
|
9237
|
+
var SecurityBadge = styled9__default.default.div`
|
|
9238
|
+
flex: 1;
|
|
9239
|
+
display: flex;
|
|
9240
|
+
align-items: center;
|
|
9241
|
+
gap: 1rem;
|
|
9242
|
+
background: rgba(212,175,55,0.04);
|
|
9243
|
+
border: 1px solid rgba(212,175,55,0.15);
|
|
9244
|
+
border-radius: 10px;
|
|
9245
|
+
padding: 1rem 1.25rem;
|
|
9246
|
+
`;
|
|
9247
|
+
var SecurityBadgeIcon = styled9__default.default.div`
|
|
9248
|
+
width: 40px;
|
|
9249
|
+
height: 40px;
|
|
9250
|
+
border-radius: 8px;
|
|
9251
|
+
background: rgba(212,175,55,0.1);
|
|
9252
|
+
display: flex;
|
|
9253
|
+
align-items: center;
|
|
9254
|
+
justify-content: center;
|
|
9255
|
+
flex-shrink: 0;
|
|
9256
|
+
`;
|
|
9257
|
+
var SecurityBadgeContent = styled9__default.default.div`
|
|
9258
|
+
display: flex;
|
|
9259
|
+
flex-direction: column;
|
|
9260
|
+
gap: 4px;
|
|
9261
|
+
`;
|
|
9262
|
+
var SecurityBadgeLabel = styled9__default.default.span`
|
|
9263
|
+
font-size: 0.72rem;
|
|
9264
|
+
color: rgba(255,255,255,0.45);
|
|
9265
|
+
text-transform: uppercase;
|
|
9266
|
+
letter-spacing: 0.04em;
|
|
9267
|
+
font-weight: 500;
|
|
9268
|
+
`;
|
|
9269
|
+
var SecurityBadgeLogo = styled9__default.default.div`
|
|
9270
|
+
display: flex;
|
|
9271
|
+
align-items: center;
|
|
9272
|
+
height: 28px;
|
|
9273
|
+
`;
|
|
9274
|
+
var SecurityBadgeValuer = styled9__default.default.div`
|
|
9275
|
+
font-size: 1rem;
|
|
9276
|
+
font-weight: 600;
|
|
9277
|
+
color: #fff;
|
|
9278
|
+
letter-spacing: 0.02em;
|
|
9279
|
+
`;
|
|
9138
9280
|
var ProtectionsGrid = styled9__default.default.div`
|
|
9139
9281
|
display: grid;
|
|
9140
9282
|
grid-template-columns: 1fr 1fr;
|
|
@@ -9146,6 +9288,14 @@ var ProtectionCard = styled9__default.default.div`
|
|
|
9146
9288
|
border: 1px solid rgba(255,255,255,0.06);
|
|
9147
9289
|
border-radius: 10px;
|
|
9148
9290
|
padding: 1.25rem;
|
|
9291
|
+
display: flex;
|
|
9292
|
+
flex-direction: column;
|
|
9293
|
+
gap: 0.75rem;
|
|
9294
|
+
`;
|
|
9295
|
+
var ProtectionCardHeader = styled9__default.default.div`
|
|
9296
|
+
display: flex;
|
|
9297
|
+
align-items: flex-start;
|
|
9298
|
+
gap: 0.75rem;
|
|
9149
9299
|
`;
|
|
9150
9300
|
var ProtectionIconWrap = styled9__default.default.div`
|
|
9151
9301
|
width: 36px;
|
|
@@ -9155,18 +9305,62 @@ var ProtectionIconWrap = styled9__default.default.div`
|
|
|
9155
9305
|
display: flex;
|
|
9156
9306
|
align-items: center;
|
|
9157
9307
|
justify-content: center;
|
|
9158
|
-
|
|
9308
|
+
flex-shrink: 0;
|
|
9159
9309
|
`;
|
|
9160
9310
|
var ProtectionTitle = styled9__default.default.div`
|
|
9161
9311
|
font-size: 0.92rem;
|
|
9162
9312
|
font-weight: 600;
|
|
9163
9313
|
color: #fff;
|
|
9164
|
-
margin-bottom:
|
|
9314
|
+
margin-bottom: 2px;
|
|
9315
|
+
`;
|
|
9316
|
+
var ProtectionStatus = styled9__default.default.div`
|
|
9317
|
+
display: flex;
|
|
9318
|
+
align-items: center;
|
|
9319
|
+
gap: 5px;
|
|
9320
|
+
font-size: 0.72rem;
|
|
9321
|
+
color: #4ade80;
|
|
9322
|
+
font-weight: 500;
|
|
9323
|
+
`;
|
|
9324
|
+
var ProtectionStatusDot = styled9__default.default.span`
|
|
9325
|
+
width: 6px;
|
|
9326
|
+
height: 6px;
|
|
9327
|
+
border-radius: 50%;
|
|
9328
|
+
background: #4ade80;
|
|
9329
|
+
display: inline-block;
|
|
9165
9330
|
`;
|
|
9166
9331
|
var ProtectionDesc = styled9__default.default.div`
|
|
9167
9332
|
font-size: 0.8rem;
|
|
9168
9333
|
color: rgba(255,255,255,0.5);
|
|
9334
|
+
line-height: 1.6;
|
|
9335
|
+
`;
|
|
9336
|
+
var ProtectionDocs = styled9__default.default.div`
|
|
9337
|
+
display: flex;
|
|
9338
|
+
flex-wrap: wrap;
|
|
9339
|
+
gap: 6px;
|
|
9340
|
+
margin-top: auto;
|
|
9341
|
+
`;
|
|
9342
|
+
var ProtectionDocTag = styled9__default.default.span`
|
|
9343
|
+
font-size: 0.68rem;
|
|
9344
|
+
color: rgba(212,175,55,0.8);
|
|
9345
|
+
background: rgba(212,175,55,0.08);
|
|
9346
|
+
border: 1px solid rgba(212,175,55,0.12);
|
|
9347
|
+
border-radius: 4px;
|
|
9348
|
+
padding: 3px 8px;
|
|
9349
|
+
font-weight: 500;
|
|
9350
|
+
`;
|
|
9351
|
+
var SecurityFooter = styled9__default.default.div`
|
|
9352
|
+
margin-top: 1.25rem;
|
|
9353
|
+
padding: 0.85rem 1rem;
|
|
9354
|
+
background: rgba(255,255,255,0.02);
|
|
9355
|
+
border: 1px solid rgba(255,255,255,0.05);
|
|
9356
|
+
border-radius: 8px;
|
|
9357
|
+
font-size: 0.78rem;
|
|
9358
|
+
color: rgba(255,255,255,0.4);
|
|
9169
9359
|
line-height: 1.5;
|
|
9360
|
+
strong {
|
|
9361
|
+
color: rgba(212,175,55,0.8);
|
|
9362
|
+
font-weight: 600;
|
|
9363
|
+
}
|
|
9170
9364
|
`;
|
|
9171
9365
|
var HoldRatioWrap = styled9__default.default.div`
|
|
9172
9366
|
display: flex;
|