@loafmarkets/ui 0.1.170 → 0.1.172
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 +256 -19
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +256 -19
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -8512,7 +8512,7 @@ function PropertyOverview({
|
|
|
8512
8512
|
}
|
|
8513
8513
|
return f;
|
|
8514
8514
|
})();
|
|
8515
|
-
|
|
8515
|
+
propertyInfoProp ?? (() => {
|
|
8516
8516
|
const info = [...DEFAULT_PROPERTY_INFO];
|
|
8517
8517
|
if (propertyTypeLabel && !overviewData) info[0] = { label: "Property Type", value: propertyTypeLabel };
|
|
8518
8518
|
if (overviewData) {
|
|
@@ -8668,39 +8668,158 @@ function PropertyOverview({
|
|
|
8668
8668
|
}
|
|
8669
8669
|
) }),
|
|
8670
8670
|
/* @__PURE__ */ jsxs(Section, { children: [
|
|
8671
|
-
/* @__PURE__ */ jsx(SectionHeader, { children: "
|
|
8671
|
+
/* @__PURE__ */ jsx(SectionHeader, { children: "Investment Profile" }),
|
|
8672
|
+
/* @__PURE__ */ jsxs(InvestmentNarrativesRow, { children: [
|
|
8673
|
+
/* @__PURE__ */ jsxs(NarrativeCard, { children: [
|
|
8674
|
+
/* @__PURE__ */ jsx(NarrativeIcon, { children: /* @__PURE__ */ jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ jsx("path", { d: "M22 12h-4l-3 9L9 3l-3 9H2" }) }) }),
|
|
8675
|
+
/* @__PURE__ */ jsx(NarrativeTitle, { children: "Generational Compounding" }),
|
|
8676
|
+
/* @__PURE__ */ jsx(NarrativeDesc, { children: "Acquired in 1976 for \xA340,000 \u2014 compounded through every market cycle to a current valuation exceeding A$20M." })
|
|
8677
|
+
] }),
|
|
8678
|
+
/* @__PURE__ */ jsxs(NarrativeCard, { children: [
|
|
8679
|
+
/* @__PURE__ */ jsx(NarrativeIcon, { children: /* @__PURE__ */ jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) }) }),
|
|
8680
|
+
/* @__PURE__ */ jsx(NarrativeTitle, { children: "Permanent Scarcity" }),
|
|
8681
|
+
/* @__PURE__ */ jsx(NarrativeDesc, { children: "Heritage harbour-front estates in Mosman cannot be replicated. Sustained global demand into this safe-haven supports long-term price growth." })
|
|
8682
|
+
] }),
|
|
8683
|
+
/* @__PURE__ */ jsxs(NarrativeCard, { children: [
|
|
8684
|
+
/* @__PURE__ */ jsx(NarrativeIcon, { children: /* @__PURE__ */ jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: [
|
|
8685
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
|
|
8686
|
+
/* @__PURE__ */ jsx("path", { d: "M12 6v6l4 2" })
|
|
8687
|
+
] }) }),
|
|
8688
|
+
/* @__PURE__ */ jsx(NarrativeTitle, { children: "Liquidity Premium" }),
|
|
8689
|
+
/* @__PURE__ */ jsx(NarrativeDesc, { children: "Listed assets historically trade at a 20\u201330% premium to unlisted counterparts. First individual property admitted to a continuously traded market." })
|
|
8690
|
+
] })
|
|
8691
|
+
] }),
|
|
8672
8692
|
/* @__PURE__ */ jsxs(StatsGrid, { children: [
|
|
8673
8693
|
/* @__PURE__ */ jsxs(StatsColumn, { children: [
|
|
8674
|
-
/* @__PURE__ */ jsx(StatsColumnHeader, { children: "
|
|
8675
|
-
|
|
8676
|
-
/* @__PURE__ */
|
|
8694
|
+
/* @__PURE__ */ jsx(StatsColumnHeader, { children: "Capital History" }),
|
|
8695
|
+
/* @__PURE__ */ jsxs(TimelineWrap, { children: [
|
|
8696
|
+
/* @__PURE__ */ jsxs(TimelineEntry, { children: [
|
|
8697
|
+
/* @__PURE__ */ jsx(TimelineYear, { children: "1880s" }),
|
|
8698
|
+
/* @__PURE__ */ jsx(TimelineDot, {}),
|
|
8699
|
+
/* @__PURE__ */ jsx(TimelineDetail, { children: /* @__PURE__ */ jsx(TimelineLabel, { children: "Built \u2014 Pre-Federation" }) })
|
|
8700
|
+
] }),
|
|
8701
|
+
/* @__PURE__ */ jsxs(TimelineEntry, { children: [
|
|
8702
|
+
/* @__PURE__ */ jsx(TimelineYear, { children: "1976" }),
|
|
8703
|
+
/* @__PURE__ */ jsx(TimelineDot, {}),
|
|
8704
|
+
/* @__PURE__ */ jsxs(TimelineDetail, { children: [
|
|
8705
|
+
/* @__PURE__ */ jsx(TimelineLabel, { children: "Acquired" }),
|
|
8706
|
+
/* @__PURE__ */ jsx(TimelinePriceWrap, { children: /* @__PURE__ */ jsx(TimelinePrice, { children: "\xA340,000" }) })
|
|
8707
|
+
] })
|
|
8708
|
+
] }),
|
|
8709
|
+
/* @__PURE__ */ jsxs(TimelineEntry, { children: [
|
|
8710
|
+
/* @__PURE__ */ jsx(TimelineYear, { children: "1993" }),
|
|
8711
|
+
/* @__PURE__ */ jsx(TimelineDot, {}),
|
|
8712
|
+
/* @__PURE__ */ jsxs(TimelineDetail, { children: [
|
|
8713
|
+
/* @__PURE__ */ jsxs(TimelineLabel, { children: [
|
|
8714
|
+
"Sold ",
|
|
8715
|
+
/* @__PURE__ */ jsx(TimelineHoldPeriod, { children: "17 yrs" })
|
|
8716
|
+
] }),
|
|
8717
|
+
/* @__PURE__ */ jsxs(TimelinePriceWrap, { children: [
|
|
8718
|
+
/* @__PURE__ */ jsx(TimelineGain, { children: "+1,563%" }),
|
|
8719
|
+
/* @__PURE__ */ jsx(TimelinePrice, { children: "$1.33M" })
|
|
8720
|
+
] })
|
|
8721
|
+
] })
|
|
8722
|
+
] }),
|
|
8723
|
+
/* @__PURE__ */ jsxs(TimelineEntry, { children: [
|
|
8724
|
+
/* @__PURE__ */ jsx(TimelineYear, { children: "2006" }),
|
|
8725
|
+
/* @__PURE__ */ jsx(TimelineDot, {}),
|
|
8726
|
+
/* @__PURE__ */ jsxs(TimelineDetail, { children: [
|
|
8727
|
+
/* @__PURE__ */ jsxs(TimelineLabel, { children: [
|
|
8728
|
+
"Sold ",
|
|
8729
|
+
/* @__PURE__ */ jsx(TimelineHoldPeriod, { children: "13 yrs" })
|
|
8730
|
+
] }),
|
|
8731
|
+
/* @__PURE__ */ jsxs(TimelinePriceWrap, { children: [
|
|
8732
|
+
/* @__PURE__ */ jsx(TimelineGain, { children: "+491%" }),
|
|
8733
|
+
/* @__PURE__ */ jsx(TimelinePrice, { children: "$7.86M" })
|
|
8734
|
+
] })
|
|
8735
|
+
] })
|
|
8736
|
+
] }),
|
|
8737
|
+
/* @__PURE__ */ jsxs(TimelineEntry, { children: [
|
|
8738
|
+
/* @__PURE__ */ jsx(TimelineYear, { children: "2021" }),
|
|
8739
|
+
/* @__PURE__ */ jsx(TimelineDot, {}),
|
|
8740
|
+
/* @__PURE__ */ jsxs(TimelineDetail, { children: [
|
|
8741
|
+
/* @__PURE__ */ jsxs(TimelineLabel, { children: [
|
|
8742
|
+
"Sold \u2014 COVID correction ",
|
|
8743
|
+
/* @__PURE__ */ jsx(TimelineHoldPeriod, { children: "15 yrs" })
|
|
8744
|
+
] }),
|
|
8745
|
+
/* @__PURE__ */ jsxs(TimelinePriceWrap, { children: [
|
|
8746
|
+
/* @__PURE__ */ jsx(TimelineGain, { children: "+16%" }),
|
|
8747
|
+
/* @__PURE__ */ jsx(TimelinePrice, { children: "$9.09M" })
|
|
8748
|
+
] })
|
|
8749
|
+
] })
|
|
8750
|
+
] }),
|
|
8751
|
+
/* @__PURE__ */ jsxs(TimelineEntry, { $last: true, children: [
|
|
8752
|
+
/* @__PURE__ */ jsx(TimelineYear, { children: "2026" }),
|
|
8753
|
+
/* @__PURE__ */ jsx(TimelineDot, { $active: true }),
|
|
8754
|
+
/* @__PURE__ */ jsxs(TimelineDetail, { children: [
|
|
8755
|
+
/* @__PURE__ */ jsxs(TimelineLabel, { children: [
|
|
8756
|
+
"Loaf Offering ",
|
|
8757
|
+
/* @__PURE__ */ jsx(TimelineHoldPeriod, { children: "5 yrs" })
|
|
8758
|
+
] }),
|
|
8759
|
+
/* @__PURE__ */ jsxs(TimelinePriceWrap, { children: [
|
|
8760
|
+
/* @__PURE__ */ jsx(TimelineGain, { children: "+105%" }),
|
|
8761
|
+
/* @__PURE__ */ jsx(TimelinePrice, { $gold: true, children: "$18.65M" })
|
|
8762
|
+
] })
|
|
8763
|
+
] })
|
|
8764
|
+
] })
|
|
8765
|
+
] }),
|
|
8766
|
+
/* @__PURE__ */ jsx(ComparableSalesTitle, { children: "Comparable Sales" }),
|
|
8767
|
+
/* @__PURE__ */ jsxs(StatRow, { children: [
|
|
8768
|
+
/* @__PURE__ */ jsx(StatLabel, { children: "200A Raglan St, Mosman" }),
|
|
8769
|
+
/* @__PURE__ */ jsxs(StatValue, { children: [
|
|
8770
|
+
"$16.07M ",
|
|
8771
|
+
/* @__PURE__ */ jsx("span", { style: { fontSize: "0.7rem", color: "rgba(255,255,255,0.3)", fontWeight: 400 }, children: "Mar 2022" })
|
|
8772
|
+
] })
|
|
8773
|
+
] }),
|
|
8774
|
+
/* @__PURE__ */ jsxs(StatRow, { children: [
|
|
8775
|
+
/* @__PURE__ */ jsx(StatLabel, { children: "7 Bradleys Head Rd, Mosman" }),
|
|
8776
|
+
/* @__PURE__ */ jsxs(StatValue, { children: [
|
|
8777
|
+
"$27.96M ",
|
|
8778
|
+
/* @__PURE__ */ jsx("span", { style: { fontSize: "0.7rem", color: "rgba(255,255,255,0.3)", fontWeight: 400 }, children: "Aug 2024" })
|
|
8779
|
+
] })
|
|
8780
|
+
] })
|
|
8781
|
+
] }),
|
|
8782
|
+
/* @__PURE__ */ jsxs(StatsColumn, { children: [
|
|
8783
|
+
/* @__PURE__ */ jsx(StatsColumnHeader, { children: "Asset Specification" }),
|
|
8784
|
+
/* @__PURE__ */ jsxs(StatRow, { children: [
|
|
8785
|
+
/* @__PURE__ */ jsx(StatLabel, { children: "Land (Freehold)" }),
|
|
8677
8786
|
/* @__PURE__ */ jsxs(StatValue, { children: [
|
|
8678
|
-
landSize
|
|
8787
|
+
landSize?.toLocaleString() ?? "1,848",
|
|
8679
8788
|
" sqm"
|
|
8680
8789
|
] })
|
|
8681
8790
|
] }),
|
|
8682
|
-
|
|
8683
|
-
/* @__PURE__ */ jsx(StatLabel, { children: "
|
|
8791
|
+
/* @__PURE__ */ jsxs(StatRow, { children: [
|
|
8792
|
+
/* @__PURE__ */ jsx(StatLabel, { children: "Interior" }),
|
|
8684
8793
|
/* @__PURE__ */ jsxs(StatValue, { children: [
|
|
8685
|
-
buildingSize
|
|
8794
|
+
buildingSize?.toLocaleString() ?? "~800",
|
|
8686
8795
|
" sqm"
|
|
8687
8796
|
] })
|
|
8688
8797
|
] }),
|
|
8798
|
+
/* @__PURE__ */ jsxs(StatRow, { children: [
|
|
8799
|
+
/* @__PURE__ */ jsx(StatLabel, { children: "Built" }),
|
|
8800
|
+
/* @__PURE__ */ jsx(StatValue, { children: "1880 \u2014 Heritage Listed" })
|
|
8801
|
+
] }),
|
|
8802
|
+
/* @__PURE__ */ jsxs(StatRow, { children: [
|
|
8803
|
+
/* @__PURE__ */ jsx(StatLabel, { children: "Zoning" }),
|
|
8804
|
+
/* @__PURE__ */ jsx(StatValue, { children: "R3 \u2014 Development Potential" })
|
|
8805
|
+
] }),
|
|
8806
|
+
/* @__PURE__ */ jsxs(StatRow, { children: [
|
|
8807
|
+
/* @__PURE__ */ jsx(StatLabel, { children: "Heritage Premium" }),
|
|
8808
|
+
/* @__PURE__ */ jsx(StatValue, { style: { color: "#4ade80" }, children: "+12% vs non-heritage" })
|
|
8809
|
+
] }),
|
|
8810
|
+
/* @__PURE__ */ jsxs(StatRow, { children: [
|
|
8811
|
+
/* @__PURE__ */ jsx(StatLabel, { children: "Suburb Median" }),
|
|
8812
|
+
/* @__PURE__ */ jsx(StatValue, { children: "$4.2M (Mosman)" })
|
|
8813
|
+
] }),
|
|
8814
|
+
/* @__PURE__ */ jsxs(StatRow, { children: [
|
|
8815
|
+
/* @__PURE__ */ jsx(StatLabel, { children: "5yr Suburb Growth" }),
|
|
8816
|
+
/* @__PURE__ */ jsx(StatValue, { style: { color: "#4ade80" }, children: "+90%" })
|
|
8817
|
+
] }),
|
|
8689
8818
|
/* @__PURE__ */ jsx(AssetFeatureRow, { children: features.map((item, i) => /* @__PURE__ */ jsxs(AssetFeatureItem, { children: [
|
|
8690
8819
|
item.icon && /* @__PURE__ */ jsx(AssetFeatureIcon, { children: item.icon }),
|
|
8691
8820
|
item.value && /* @__PURE__ */ jsx(AssetFeatureValue, { children: item.value }),
|
|
8692
8821
|
/* @__PURE__ */ jsx(AssetFeatureLabel, { children: item.label })
|
|
8693
8822
|
] }, i)) })
|
|
8694
|
-
] }),
|
|
8695
|
-
/* @__PURE__ */ jsxs(StatsColumn, { children: [
|
|
8696
|
-
/* @__PURE__ */ jsx(StatsColumnHeader, { children: "Property Info" }),
|
|
8697
|
-
propertyInfo.map((item, i) => /* @__PURE__ */ jsxs(StatRow, { children: [
|
|
8698
|
-
/* @__PURE__ */ jsx(StatLabel, { children: item.label }),
|
|
8699
|
-
/* @__PURE__ */ jsxs(StatValue, { style: { color: item.status === "active" ? "#4ade80" : item.status === "progress" ? "#D4AF37" : void 0 }, children: [
|
|
8700
|
-
item.status && /* @__PURE__ */ jsx("span", { style: { display: "inline-block", width: 6, height: 6, borderRadius: "50%", background: item.status === "active" ? "#4ade80" : "#D4AF37", marginRight: 6 } }),
|
|
8701
|
-
item.value
|
|
8702
|
-
] })
|
|
8703
|
-
] }, i))
|
|
8704
8823
|
] })
|
|
8705
8824
|
] })
|
|
8706
8825
|
] }),
|
|
@@ -9128,6 +9247,124 @@ var StatValue = styled9.span`
|
|
|
9128
9247
|
color: ${(p) => p.$gold ? "#D4AF37" : "#fff"};
|
|
9129
9248
|
font-variant-numeric: tabular-nums;
|
|
9130
9249
|
`;
|
|
9250
|
+
var InvestmentNarrativesRow = styled9.div`
|
|
9251
|
+
display: grid;
|
|
9252
|
+
grid-template-columns: repeat(3, 1fr);
|
|
9253
|
+
gap: 0.75rem;
|
|
9254
|
+
margin-bottom: 1.25rem;
|
|
9255
|
+
@media (max-width: 768px) { grid-template-columns: 1fr; }
|
|
9256
|
+
`;
|
|
9257
|
+
var NarrativeCard = styled9.div`
|
|
9258
|
+
background: rgba(255,255,255,0.025);
|
|
9259
|
+
border: 1px solid rgba(255,255,255,0.06);
|
|
9260
|
+
border-radius: 10px;
|
|
9261
|
+
padding: 1.25rem;
|
|
9262
|
+
display: flex;
|
|
9263
|
+
flex-direction: column;
|
|
9264
|
+
gap: 0.5rem;
|
|
9265
|
+
transition: border-color 0.2s ease;
|
|
9266
|
+
&:hover { border-color: rgba(212,175,55,0.25); }
|
|
9267
|
+
`;
|
|
9268
|
+
var NarrativeIcon = styled9.div`
|
|
9269
|
+
width: 36px;
|
|
9270
|
+
height: 36px;
|
|
9271
|
+
border-radius: 8px;
|
|
9272
|
+
background: rgba(212,175,55,0.08);
|
|
9273
|
+
border: 1px solid rgba(212,175,55,0.15);
|
|
9274
|
+
display: flex;
|
|
9275
|
+
align-items: center;
|
|
9276
|
+
justify-content: center;
|
|
9277
|
+
color: #D4AF37;
|
|
9278
|
+
flex-shrink: 0;
|
|
9279
|
+
`;
|
|
9280
|
+
var NarrativeTitle = styled9.div`
|
|
9281
|
+
font-size: 0.88rem;
|
|
9282
|
+
font-weight: 600;
|
|
9283
|
+
color: #fff;
|
|
9284
|
+
`;
|
|
9285
|
+
var NarrativeDesc = styled9.div`
|
|
9286
|
+
font-size: 0.78rem;
|
|
9287
|
+
color: rgba(255,255,255,0.45);
|
|
9288
|
+
line-height: 1.55;
|
|
9289
|
+
`;
|
|
9290
|
+
var TimelineWrap = styled9.div`
|
|
9291
|
+
display: flex;
|
|
9292
|
+
flex-direction: column;
|
|
9293
|
+
position: relative;
|
|
9294
|
+
padding-left: 0;
|
|
9295
|
+
`;
|
|
9296
|
+
var TimelineEntry = styled9.div`
|
|
9297
|
+
display: grid;
|
|
9298
|
+
grid-template-columns: 48px 12px 1fr;
|
|
9299
|
+
align-items: center;
|
|
9300
|
+
gap: 0.75rem;
|
|
9301
|
+
padding: 0.55rem 0;
|
|
9302
|
+
border-bottom: ${(p) => p.$last ? "none" : "1px solid rgba(255,255,255,0.03)"};
|
|
9303
|
+
`;
|
|
9304
|
+
var TimelineYear = styled9.span`
|
|
9305
|
+
font-size: 0.72rem;
|
|
9306
|
+
font-weight: 500;
|
|
9307
|
+
color: rgba(255,255,255,0.4);
|
|
9308
|
+
text-align: right;
|
|
9309
|
+
font-variant-numeric: tabular-nums;
|
|
9310
|
+
`;
|
|
9311
|
+
var TimelineDot = styled9.div`
|
|
9312
|
+
width: 8px;
|
|
9313
|
+
height: 8px;
|
|
9314
|
+
border-radius: 50%;
|
|
9315
|
+
background: ${(p) => p.$active ? "#D4AF37" : "rgba(255,255,255,0.15)"};
|
|
9316
|
+
border: ${(p) => p.$active ? "2px solid rgba(212,175,55,0.4)" : "none"};
|
|
9317
|
+
justify-self: center;
|
|
9318
|
+
`;
|
|
9319
|
+
var TimelineDetail = styled9.div`
|
|
9320
|
+
display: flex;
|
|
9321
|
+
align-items: center;
|
|
9322
|
+
justify-content: space-between;
|
|
9323
|
+
gap: 0.5rem;
|
|
9324
|
+
`;
|
|
9325
|
+
var TimelineLabel = styled9.span`
|
|
9326
|
+
font-size: 0.8rem;
|
|
9327
|
+
color: rgba(255,255,255,0.6);
|
|
9328
|
+
`;
|
|
9329
|
+
var TimelinePriceWrap = styled9.div`
|
|
9330
|
+
display: flex;
|
|
9331
|
+
align-items: center;
|
|
9332
|
+
gap: 0.5rem;
|
|
9333
|
+
flex-shrink: 0;
|
|
9334
|
+
`;
|
|
9335
|
+
var TimelinePrice = styled9.span`
|
|
9336
|
+
font-size: 0.85rem;
|
|
9337
|
+
font-weight: 600;
|
|
9338
|
+
color: ${(p) => p.$gold ? "#D4AF37" : "#fff"};
|
|
9339
|
+
font-variant-numeric: tabular-nums;
|
|
9340
|
+
`;
|
|
9341
|
+
var TimelineGain = styled9.span`
|
|
9342
|
+
font-size: 0.68rem;
|
|
9343
|
+
font-weight: 600;
|
|
9344
|
+
color: #4ade80;
|
|
9345
|
+
background: rgba(74,222,128,0.08);
|
|
9346
|
+
border: 1px solid rgba(74,222,128,0.15);
|
|
9347
|
+
padding: 1px 6px;
|
|
9348
|
+
border-radius: 4px;
|
|
9349
|
+
font-variant-numeric: tabular-nums;
|
|
9350
|
+
white-space: nowrap;
|
|
9351
|
+
`;
|
|
9352
|
+
var TimelineHoldPeriod = styled9.span`
|
|
9353
|
+
font-size: 0.68rem;
|
|
9354
|
+
color: rgba(255,255,255,0.25);
|
|
9355
|
+
font-weight: 400;
|
|
9356
|
+
`;
|
|
9357
|
+
var ComparableSalesTitle = styled9.div`
|
|
9358
|
+
font-size: 0.65rem;
|
|
9359
|
+
color: rgba(255,255,255,0.35);
|
|
9360
|
+
text-transform: uppercase;
|
|
9361
|
+
letter-spacing: 0.08em;
|
|
9362
|
+
font-weight: 500;
|
|
9363
|
+
margin-top: 1rem;
|
|
9364
|
+
padding-top: 0.75rem;
|
|
9365
|
+
padding-bottom: 0.5rem;
|
|
9366
|
+
border-top: 1px solid rgba(255,255,255,0.04);
|
|
9367
|
+
`;
|
|
9131
9368
|
var AssetFeatureRow = styled9.div`
|
|
9132
9369
|
display: flex;
|
|
9133
9370
|
flex-wrap: wrap;
|