@loafmarkets/ui 0.1.169 → 0.1.171

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 CHANGED
@@ -8538,7 +8538,7 @@ function PropertyOverview({
8538
8538
  }
8539
8539
  return f;
8540
8540
  })();
8541
- const propertyInfo = propertyInfoProp ?? (() => {
8541
+ propertyInfoProp ?? (() => {
8542
8542
  const info = [...DEFAULT_PROPERTY_INFO];
8543
8543
  if (propertyTypeLabel && !overviewData) info[0] = { label: "Property Type", value: propertyTypeLabel };
8544
8544
  if (overviewData) {
@@ -8694,41 +8694,133 @@ function PropertyOverview({
8694
8694
  }
8695
8695
  ) }),
8696
8696
  /* @__PURE__ */ jsxRuntime.jsxs(Section, { children: [
8697
- /* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { children: "Asset Details" }),
8698
- /* @__PURE__ */ jsxRuntime.jsxs(AssetPanelsGrid, { children: [
8699
- /* @__PURE__ */ jsxRuntime.jsxs(MetricsPanel, { children: [
8700
- /* @__PURE__ */ jsxRuntime.jsx(MetricsPanelTitle, { children: "Key Metrics" }),
8701
- (landSize != null || buildingSize != null) && /* @__PURE__ */ jsxRuntime.jsxs(LandFloorCard, { children: [
8702
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { flex: 1 }, children: [
8703
- /* @__PURE__ */ jsxRuntime.jsx(MetricLabel, { children: "Land" }),
8704
- /* @__PURE__ */ jsxRuntime.jsxs(MetricValueRow, { children: [
8705
- /* @__PURE__ */ jsxRuntime.jsx(MetricBig, { children: landSize?.toLocaleString() ?? "\u2014" }),
8706
- /* @__PURE__ */ jsxRuntime.jsx(MetricUnit, { children: "sqm" })
8697
+ /* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { children: "Investment Profile" }),
8698
+ /* @__PURE__ */ jsxRuntime.jsxs(InvestmentNarrativesRow, { children: [
8699
+ /* @__PURE__ */ jsxRuntime.jsxs(NarrativeCard, { children: [
8700
+ /* @__PURE__ */ jsxRuntime.jsx(NarrativeIcon, { children: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M22 12h-4l-3 9L9 3l-3 9H2" }) }) }),
8701
+ /* @__PURE__ */ jsxRuntime.jsx(NarrativeTitle, { children: "Generational Compounding" }),
8702
+ /* @__PURE__ */ jsxRuntime.jsx(NarrativeDesc, { children: "Acquired in 1976 for \xA340,000 \u2014 compounded through every market cycle to a current valuation exceeding A$20M." })
8703
+ ] }),
8704
+ /* @__PURE__ */ jsxRuntime.jsxs(NarrativeCard, { children: [
8705
+ /* @__PURE__ */ jsxRuntime.jsx(NarrativeIcon, { children: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) }) }),
8706
+ /* @__PURE__ */ jsxRuntime.jsx(NarrativeTitle, { children: "Permanent Scarcity" }),
8707
+ /* @__PURE__ */ jsxRuntime.jsx(NarrativeDesc, { children: "Heritage harbour-front estates in Mosman cannot be replicated. Sustained global demand into this safe-haven supports long-term price growth." })
8708
+ ] }),
8709
+ /* @__PURE__ */ jsxRuntime.jsxs(NarrativeCard, { children: [
8710
+ /* @__PURE__ */ jsxRuntime.jsx(NarrativeIcon, { children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: [
8711
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10" }),
8712
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 6v6l4 2" })
8713
+ ] }) }),
8714
+ /* @__PURE__ */ jsxRuntime.jsx(NarrativeTitle, { children: "Liquidity Premium" }),
8715
+ /* @__PURE__ */ jsxRuntime.jsx(NarrativeDesc, { children: "Listed assets historically trade at a 20\u201330% premium to unlisted counterparts. First individual property admitted to a continuously traded market." })
8716
+ ] })
8717
+ ] }),
8718
+ /* @__PURE__ */ jsxRuntime.jsxs(StatsGrid, { children: [
8719
+ /* @__PURE__ */ jsxRuntime.jsxs(StatsColumn, { children: [
8720
+ /* @__PURE__ */ jsxRuntime.jsx(StatsColumnHeader, { children: "Capital History" }),
8721
+ /* @__PURE__ */ jsxRuntime.jsxs(TimelineWrap, { children: [
8722
+ /* @__PURE__ */ jsxRuntime.jsxs(TimelineEntry, { children: [
8723
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineYear, { children: "1880s" }),
8724
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineDot, {}),
8725
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineDetail, { children: /* @__PURE__ */ jsxRuntime.jsx(TimelineLabel, { children: "Built \u2014 Pre-Federation" }) })
8726
+ ] }),
8727
+ /* @__PURE__ */ jsxRuntime.jsxs(TimelineEntry, { children: [
8728
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineYear, { children: "1976" }),
8729
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineDot, {}),
8730
+ /* @__PURE__ */ jsxRuntime.jsxs(TimelineDetail, { children: [
8731
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineLabel, { children: "Sold" }),
8732
+ /* @__PURE__ */ jsxRuntime.jsx(TimelinePrice, { children: "\xA340,000" })
8733
+ ] })
8734
+ ] }),
8735
+ /* @__PURE__ */ jsxRuntime.jsxs(TimelineEntry, { children: [
8736
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineYear, { children: "1993" }),
8737
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineDot, {}),
8738
+ /* @__PURE__ */ jsxRuntime.jsxs(TimelineDetail, { children: [
8739
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineLabel, { children: "Sold" }),
8740
+ /* @__PURE__ */ jsxRuntime.jsx(TimelinePrice, { children: "$1.33M" })
8741
+ ] })
8742
+ ] }),
8743
+ /* @__PURE__ */ jsxRuntime.jsxs(TimelineEntry, { children: [
8744
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineYear, { children: "2006" }),
8745
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineDot, {}),
8746
+ /* @__PURE__ */ jsxRuntime.jsxs(TimelineDetail, { children: [
8747
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineLabel, { children: "Sold" }),
8748
+ /* @__PURE__ */ jsxRuntime.jsx(TimelinePrice, { children: "$7.86M" })
8707
8749
  ] })
8708
8750
  ] }),
8709
- /* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: 1, background: "rgba(212,175,55,0.3)" } }),
8710
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { flex: 1 }, children: [
8711
- /* @__PURE__ */ jsxRuntime.jsx(MetricLabel, { children: "Floor" }),
8712
- /* @__PURE__ */ jsxRuntime.jsxs(MetricValueRow, { children: [
8713
- /* @__PURE__ */ jsxRuntime.jsx(MetricBig, { children: buildingSize?.toLocaleString() ?? "\u2014" }),
8714
- /* @__PURE__ */ jsxRuntime.jsx(MetricUnit, { children: "sqm" })
8751
+ /* @__PURE__ */ jsxRuntime.jsxs(TimelineEntry, { children: [
8752
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineYear, { children: "2021" }),
8753
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineDot, {}),
8754
+ /* @__PURE__ */ jsxRuntime.jsxs(TimelineDetail, { children: [
8755
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineLabel, { children: "Sold \u2014 COVID correction" }),
8756
+ /* @__PURE__ */ jsxRuntime.jsx(TimelinePrice, { children: "$9.09M" })
8757
+ ] })
8758
+ ] }),
8759
+ /* @__PURE__ */ jsxRuntime.jsxs(TimelineEntry, { $last: true, children: [
8760
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineYear, { children: "2026" }),
8761
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineDot, { $active: true }),
8762
+ /* @__PURE__ */ jsxRuntime.jsxs(TimelineDetail, { children: [
8763
+ /* @__PURE__ */ jsxRuntime.jsx(TimelineLabel, { children: "Loaf Offering" }),
8764
+ /* @__PURE__ */ jsxRuntime.jsx(TimelinePrice, { $gold: true, children: "$18.65M" })
8715
8765
  ] })
8716
8766
  ] })
8717
8767
  ] }),
8718
- /* @__PURE__ */ jsxRuntime.jsx(FeaturesGrid, { children: features.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
8719
- item.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "rgba(255,255,255,0.6)", display: "flex", alignItems: "center", opacity: 0.45, flexShrink: 0 }, children: item.icon }),
8720
- item.value && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: "1.1rem", fontWeight: 700, color: "#fff", lineHeight: 1 }, children: item.value }),
8721
- /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: "0.85rem", color: "rgba(255,255,255,0.6)", fontWeight: 400 }, children: item.label })
8722
- ] }, i)) })
8768
+ /* @__PURE__ */ jsxRuntime.jsx(ComparableSalesTitle, { children: "Comparable Sales" }),
8769
+ /* @__PURE__ */ jsxRuntime.jsxs(StatRow, { children: [
8770
+ /* @__PURE__ */ jsxRuntime.jsx(StatLabel, { children: "200A Raglan St, Mosman" }),
8771
+ /* @__PURE__ */ jsxRuntime.jsxs(StatValue, { children: [
8772
+ "$16.07M ",
8773
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: "0.7rem", color: "rgba(255,255,255,0.3)", fontWeight: 400 }, children: "Mar 2022" })
8774
+ ] })
8775
+ ] }),
8776
+ /* @__PURE__ */ jsxRuntime.jsxs(StatRow, { children: [
8777
+ /* @__PURE__ */ jsxRuntime.jsx(StatLabel, { children: "7 Bradleys Head Rd, Mosman" }),
8778
+ /* @__PURE__ */ jsxRuntime.jsxs(StatValue, { children: [
8779
+ "$27.96M ",
8780
+ /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: "0.7rem", color: "rgba(255,255,255,0.3)", fontWeight: 400 }, children: "Aug 2024" })
8781
+ ] })
8782
+ ] })
8723
8783
  ] }),
8724
- /* @__PURE__ */ jsxRuntime.jsxs(InfoPanel, { children: [
8725
- /* @__PURE__ */ jsxRuntime.jsx(MetricsPanelTitle, { children: "Property Info" }),
8726
- /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "flex", flexDirection: "column", gap: "0.85rem" }, children: propertyInfo.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [
8727
- /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: "0.8rem", color: "rgba(255,255,255,0.6)", fontWeight: 400 }, children: item.label }),
8728
- /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: "0.95rem", fontWeight: 600, color: item.status === "active" ? "#4CAF50" : item.status === "progress" ? "#D4AF37" : "#fff", display: "flex", alignItems: "center", gap: "0.4rem" }, children: [
8729
- item.status && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", width: 6, height: 6, borderRadius: "50%", background: item.status === "active" ? "#4CAF50" : "#D4AF37", boxShadow: item.status === "active" ? "0 0 6px rgba(76,175,80,0.5)" : "0 0 6px rgba(212,175,55,0.5)" } }),
8730
- item.value
8784
+ /* @__PURE__ */ jsxRuntime.jsxs(StatsColumn, { children: [
8785
+ /* @__PURE__ */ jsxRuntime.jsx(StatsColumnHeader, { children: "Asset Specification" }),
8786
+ /* @__PURE__ */ jsxRuntime.jsxs(StatRow, { children: [
8787
+ /* @__PURE__ */ jsxRuntime.jsx(StatLabel, { children: "Land (Freehold)" }),
8788
+ /* @__PURE__ */ jsxRuntime.jsxs(StatValue, { children: [
8789
+ landSize?.toLocaleString() ?? "1,848",
8790
+ " sqm"
8731
8791
  ] })
8792
+ ] }),
8793
+ /* @__PURE__ */ jsxRuntime.jsxs(StatRow, { children: [
8794
+ /* @__PURE__ */ jsxRuntime.jsx(StatLabel, { children: "Interior" }),
8795
+ /* @__PURE__ */ jsxRuntime.jsxs(StatValue, { children: [
8796
+ buildingSize?.toLocaleString() ?? "~800",
8797
+ " sqm"
8798
+ ] })
8799
+ ] }),
8800
+ /* @__PURE__ */ jsxRuntime.jsxs(StatRow, { children: [
8801
+ /* @__PURE__ */ jsxRuntime.jsx(StatLabel, { children: "Built" }),
8802
+ /* @__PURE__ */ jsxRuntime.jsx(StatValue, { children: "1880 \u2014 Heritage Listed" })
8803
+ ] }),
8804
+ /* @__PURE__ */ jsxRuntime.jsxs(StatRow, { children: [
8805
+ /* @__PURE__ */ jsxRuntime.jsx(StatLabel, { children: "Zoning" }),
8806
+ /* @__PURE__ */ jsxRuntime.jsx(StatValue, { children: "R3 \u2014 Development Potential" })
8807
+ ] }),
8808
+ /* @__PURE__ */ jsxRuntime.jsxs(StatRow, { children: [
8809
+ /* @__PURE__ */ jsxRuntime.jsx(StatLabel, { children: "Heritage Premium" }),
8810
+ /* @__PURE__ */ jsxRuntime.jsx(StatValue, { style: { color: "#4ade80" }, children: "+12% vs non-heritage" })
8811
+ ] }),
8812
+ /* @__PURE__ */ jsxRuntime.jsxs(StatRow, { children: [
8813
+ /* @__PURE__ */ jsxRuntime.jsx(StatLabel, { children: "Suburb Median" }),
8814
+ /* @__PURE__ */ jsxRuntime.jsx(StatValue, { children: "$4.2M (Mosman)" })
8815
+ ] }),
8816
+ /* @__PURE__ */ jsxRuntime.jsxs(StatRow, { children: [
8817
+ /* @__PURE__ */ jsxRuntime.jsx(StatLabel, { children: "5yr Suburb Growth" }),
8818
+ /* @__PURE__ */ jsxRuntime.jsx(StatValue, { style: { color: "#4ade80" }, children: "+90%" })
8819
+ ] }),
8820
+ /* @__PURE__ */ jsxRuntime.jsx(AssetFeatureRow, { children: features.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs(AssetFeatureItem, { children: [
8821
+ item.icon && /* @__PURE__ */ jsxRuntime.jsx(AssetFeatureIcon, { children: item.icon }),
8822
+ item.value && /* @__PURE__ */ jsxRuntime.jsx(AssetFeatureValue, { children: item.value }),
8823
+ /* @__PURE__ */ jsxRuntime.jsx(AssetFeatureLabel, { children: item.label })
8732
8824
  ] }, i)) })
8733
8825
  ] })
8734
8826
  ] })
@@ -8761,46 +8853,71 @@ function PropertyOverview({
8761
8853
  ] }),
8762
8854
  /* @__PURE__ */ jsxRuntime.jsxs(Section, { children: [
8763
8855
  /* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { children: "Tokenholder Security" }),
8764
- /* @__PURE__ */ jsxRuntime.jsxs(SecurityTable, { children: [
8765
- /* @__PURE__ */ jsxRuntime.jsxs(SecurityRow, { children: [
8766
- /* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLeft, { children: [
8767
- /* @__PURE__ */ jsxRuntime.jsx(SecurityRowLabel, { children: "Legal Structuring" }),
8768
- /* @__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 } }) })
8769
- ] }),
8770
- /* @__PURE__ */ jsxRuntime.jsx(SecurityRowRight, { children: /* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLinks, { children: [
8771
- /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Legal Opinion" }),
8772
- /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Structuring Memo" })
8773
- ] }) })
8856
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCardsGrid, { children: [
8857
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCard, { children: [
8858
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityCardIcon, { children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
8859
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 12l2 2 4-4" }),
8860
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 3l8 4.5v5c0 5-3.5 8.5-8 10.5-4.5-2-8-5.5-8-10.5v-5l8-4.5z" })
8861
+ ] }) }),
8862
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCardContent, { children: [
8863
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityCardTitle, { children: "Legal Structuring" }),
8864
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityCardProvider, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/Baker_McKenzie.png", alt: "Baker McKenzie", style: { height: 16, filter: "brightness(0) invert(1)", opacity: 0.7 } }) }),
8865
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCardLinks, { children: [
8866
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Legal Opinion" }),
8867
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Structuring Memo" })
8868
+ ] })
8869
+ ] })
8774
8870
  ] }),
8775
- /* @__PURE__ */ jsxRuntime.jsxs(SecurityRow, { children: [
8776
- /* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLeft, { children: [
8777
- /* @__PURE__ */ jsxRuntime.jsx(SecurityRowLabel, { children: "Security Interest in Asset" }),
8778
- /* @__PURE__ */ jsxRuntime.jsxs(SecurityRowValue, { children: [
8871
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCard, { children: [
8872
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityCardIcon, { children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
8873
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2" }),
8874
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })
8875
+ ] }) }),
8876
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCardContent, { children: [
8877
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityCardTitle, { children: "Security Interest in Asset" }),
8878
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCardStatus, { children: [
8779
8879
  /* @__PURE__ */ jsxRuntime.jsx(SecurityStatusDot, {}),
8780
8880
  "Secured \u2014 NSW Land Registry"
8881
+ ] }),
8882
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCardLinks, { children: [
8883
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Mortgage Agreement" }),
8884
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Registry Filing" })
8781
8885
  ] })
8782
- ] }),
8783
- /* @__PURE__ */ jsxRuntime.jsx(SecurityRowRight, { children: /* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLinks, { children: [
8784
- /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Mortgage Agreement" }),
8785
- /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Registry Filing" })
8786
- ] }) })
8886
+ ] })
8787
8887
  ] }),
8788
- /* @__PURE__ */ jsxRuntime.jsxs(SecurityRow, { children: [
8789
- /* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLeft, { children: [
8790
- /* @__PURE__ */ jsxRuntime.jsx(SecurityRowLabel, { children: "Bankruptcy Remote" }),
8791
- /* @__PURE__ */ jsxRuntime.jsxs(SecurityRowValue, { children: [
8888
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCard, { children: [
8889
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityCardIcon, { children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
8890
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 21h18" }),
8891
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 21V7l8-4v18" }),
8892
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19 21V11l-6-4" }),
8893
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 9v.01" }),
8894
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 12v.01" }),
8895
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 15v.01" }),
8896
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 18v.01" })
8897
+ ] }) }),
8898
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCardContent, { children: [
8899
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityCardTitle, { children: "Bankruptcy Remote" }),
8900
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCardStatus, { children: [
8792
8901
  /* @__PURE__ */ jsxRuntime.jsx(SecurityStatusDot, {}),
8793
8902
  "Active \u2014 Dedicated SPV"
8794
- ] })
8795
- ] }),
8796
- /* @__PURE__ */ jsxRuntime.jsx(SecurityRowRight, { children: /* @__PURE__ */ jsxRuntime.jsx(SecurityRowLinks, { children: /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "SPV Constitution" }) }) })
8903
+ ] }),
8904
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityCardLinks, { children: /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "SPV Constitution" }) })
8905
+ ] })
8797
8906
  ] }),
8798
- /* @__PURE__ */ jsxRuntime.jsxs(SecurityRow, { $noBorder: true, children: [
8799
- /* @__PURE__ */ jsxRuntime.jsxs(SecurityRowLeft, { children: [
8800
- /* @__PURE__ */ jsxRuntime.jsx(SecurityRowLabel, { children: "Independent Valuation" }),
8801
- /* @__PURE__ */ jsxRuntime.jsx(SecurityRowLogo, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/savills.png", alt: "Savills", style: { height: "18px", filter: "brightness(0) invert(1)", opacity: 0.8 } }) })
8802
- ] }),
8803
- /* @__PURE__ */ jsxRuntime.jsx(SecurityRowRight, { children: /* @__PURE__ */ jsxRuntime.jsx(SecurityRowLinks, { children: /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Valuation Report" }) }) })
8907
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCard, { children: [
8908
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityCardIcon, { children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
8909
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 3h5v5" }),
8910
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 3H3v5" }),
8911
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 22l-4-4 4-4" }),
8912
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 22l4-4-4-4" }),
8913
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 3l-9 9" }),
8914
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 3l9 9" })
8915
+ ] }) }),
8916
+ /* @__PURE__ */ jsxRuntime.jsxs(SecurityCardContent, { children: [
8917
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityCardTitle, { children: "Independent Valuation" }),
8918
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityCardProvider, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/savills.png", alt: "Savills", style: { height: 14, filter: "brightness(0) invert(1)", opacity: 0.7 } }) }),
8919
+ /* @__PURE__ */ jsxRuntime.jsx(SecurityCardLinks, { children: /* @__PURE__ */ jsxRuntime.jsx(SecurityDocLink, { href: "#documents", children: "Valuation Report" }) })
8920
+ ] })
8804
8921
  ] })
8805
8922
  ] })
8806
8923
  ] })
@@ -9132,68 +9249,131 @@ var StatValue = styled9__default.default.span`
9132
9249
  color: ${(p) => p.$gold ? "#D4AF37" : "#fff"};
9133
9250
  font-variant-numeric: tabular-nums;
9134
9251
  `;
9135
- var AssetPanelsGrid = styled9__default.default.div`
9252
+ var InvestmentNarrativesRow = styled9__default.default.div`
9136
9253
  display: grid;
9137
- grid-template-columns: 1fr 1fr;
9138
- gap: 1rem;
9254
+ grid-template-columns: repeat(3, 1fr);
9255
+ gap: 0.75rem;
9256
+ margin-bottom: 1.25rem;
9139
9257
  @media (max-width: 768px) { grid-template-columns: 1fr; }
9140
9258
  `;
9141
- var MetricsPanel = styled9__default.default.div`
9259
+ var NarrativeCard = styled9__default.default.div`
9142
9260
  background: rgba(255,255,255,0.025);
9143
- border-radius: 10px;
9144
9261
  border: 1px solid rgba(255,255,255,0.06);
9145
- padding: 1.25rem 1.5rem;
9146
- overflow: hidden;
9262
+ border-radius: 10px;
9263
+ padding: 1.25rem;
9264
+ display: flex;
9265
+ flex-direction: column;
9266
+ gap: 0.5rem;
9267
+ transition: border-color 0.2s ease;
9268
+ &:hover { border-color: rgba(212,175,55,0.25); }
9147
9269
  `;
9148
- var InfoPanel = styled9__default.default(MetricsPanel)``;
9149
- var MetricsPanelTitle = styled9__default.default.div`
9150
- font-size: 0.65rem;
9270
+ var NarrativeIcon = styled9__default.default.div`
9271
+ width: 36px;
9272
+ height: 36px;
9273
+ border-radius: 8px;
9274
+ background: rgba(212,175,55,0.08);
9275
+ border: 1px solid rgba(212,175,55,0.15);
9276
+ display: flex;
9277
+ align-items: center;
9278
+ justify-content: center;
9151
9279
  color: #D4AF37;
9152
- text-transform: uppercase;
9153
- letter-spacing: 0.12em;
9280
+ flex-shrink: 0;
9281
+ `;
9282
+ var NarrativeTitle = styled9__default.default.div`
9283
+ font-size: 0.88rem;
9154
9284
  font-weight: 600;
9155
- margin-bottom: 1rem;
9156
- padding-bottom: 0.75rem;
9157
- border-bottom: 1px solid rgba(255,255,255,0.06);
9285
+ color: #fff;
9158
9286
  `;
9159
- var LandFloorCard = styled9__default.default.div`
9160
- background: linear-gradient(135deg, rgba(212,175,55,0.12), rgba(184,134,11,0.06));
9161
- border-radius: 10px;
9162
- padding: 0.85rem 1rem;
9163
- border: 1px solid rgba(212,175,55,0.25);
9287
+ var NarrativeDesc = styled9__default.default.div`
9288
+ font-size: 0.78rem;
9289
+ color: rgba(255,255,255,0.45);
9290
+ line-height: 1.55;
9291
+ `;
9292
+ var TimelineWrap = styled9__default.default.div`
9164
9293
  display: flex;
9165
- gap: 1rem;
9166
- margin-bottom: 0.75rem;
9294
+ flex-direction: column;
9295
+ position: relative;
9296
+ padding-left: 0;
9297
+ `;
9298
+ var TimelineEntry = styled9__default.default.div`
9299
+ display: grid;
9300
+ grid-template-columns: 48px 12px 1fr;
9301
+ align-items: center;
9302
+ gap: 0.75rem;
9303
+ padding: 0.55rem 0;
9304
+ border-bottom: ${(p) => p.$last ? "none" : "1px solid rgba(255,255,255,0.03)"};
9305
+ `;
9306
+ var TimelineYear = styled9__default.default.span`
9307
+ font-size: 0.72rem;
9308
+ font-weight: 500;
9309
+ color: rgba(255,255,255,0.4);
9310
+ text-align: right;
9311
+ font-variant-numeric: tabular-nums;
9312
+ `;
9313
+ var TimelineDot = styled9__default.default.div`
9314
+ width: 8px;
9315
+ height: 8px;
9316
+ border-radius: 50%;
9317
+ background: ${(p) => p.$active ? "#D4AF37" : "rgba(255,255,255,0.15)"};
9318
+ border: ${(p) => p.$active ? "2px solid rgba(212,175,55,0.4)" : "none"};
9319
+ justify-self: center;
9167
9320
  `;
9168
- var MetricLabel = styled9__default.default.div`
9321
+ var TimelineDetail = styled9__default.default.div`
9322
+ display: flex;
9323
+ align-items: center;
9324
+ justify-content: space-between;
9325
+ gap: 0.5rem;
9326
+ `;
9327
+ var TimelineLabel = styled9__default.default.span`
9328
+ font-size: 0.8rem;
9329
+ color: rgba(255,255,255,0.6);
9330
+ `;
9331
+ var TimelinePrice = styled9__default.default.span`
9332
+ font-size: 0.85rem;
9333
+ font-weight: 600;
9334
+ color: ${(p) => p.$gold ? "#D4AF37" : "#fff"};
9335
+ font-variant-numeric: tabular-nums;
9336
+ `;
9337
+ var ComparableSalesTitle = styled9__default.default.div`
9169
9338
  font-size: 0.65rem;
9170
- color: #D4AF37;
9339
+ color: rgba(255,255,255,0.35);
9171
9340
  text-transform: uppercase;
9172
- letter-spacing: 0.1em;
9173
- margin-bottom: 0.4rem;
9341
+ letter-spacing: 0.08em;
9174
9342
  font-weight: 500;
9343
+ margin-top: 1rem;
9344
+ padding-top: 0.75rem;
9345
+ padding-bottom: 0.5rem;
9346
+ border-top: 1px solid rgba(255,255,255,0.04);
9175
9347
  `;
9176
- var MetricValueRow = styled9__default.default.div`
9348
+ var AssetFeatureRow = styled9__default.default.div`
9177
9349
  display: flex;
9178
- align-items: baseline;
9179
- gap: 0.25rem;
9350
+ flex-wrap: wrap;
9351
+ gap: 0.5rem 1.25rem;
9352
+ padding-top: 0.75rem;
9353
+ margin-top: 0.25rem;
9354
+ border-top: 1px solid rgba(255,255,255,0.04);
9180
9355
  `;
9181
- var MetricBig = styled9__default.default.span`
9182
- font-size: 1.5rem;
9183
- font-weight: 700;
9184
- color: #D4AF37;
9185
- line-height: 1;
9356
+ var AssetFeatureItem = styled9__default.default.div`
9357
+ display: flex;
9358
+ align-items: center;
9359
+ gap: 0.35rem;
9186
9360
  `;
9187
- var MetricUnit = styled9__default.default.span`
9188
- font-size: 0.7rem;
9189
- color: rgba(212,175,55,0.7);
9190
- font-weight: 500;
9361
+ var AssetFeatureIcon = styled9__default.default.span`
9362
+ color: rgba(255,255,255,0.35);
9363
+ display: flex;
9364
+ align-items: center;
9365
+ flex-shrink: 0;
9191
9366
  `;
9192
- var FeaturesGrid = styled9__default.default.div`
9193
- display: grid;
9194
- grid-template-columns: repeat(3, 1fr);
9195
- gap: 0.75rem;
9196
- @media (max-width: 768px) { grid-template-columns: repeat(2, 1fr); }
9367
+ var AssetFeatureValue = styled9__default.default.span`
9368
+ font-size: 0.95rem;
9369
+ font-weight: 600;
9370
+ color: #fff;
9371
+ line-height: 1;
9372
+ `;
9373
+ var AssetFeatureLabel = styled9__default.default.span`
9374
+ font-size: 0.8rem;
9375
+ color: rgba(255,255,255,0.5);
9376
+ font-weight: 400;
9197
9377
  `;
9198
9378
  var TradingHoursCard = styled9__default.default.div`
9199
9379
  background: rgba(255,255,255,0.025);
@@ -9228,40 +9408,56 @@ var TradingHoursNote = styled9__default.default.div`
9228
9408
  color: rgba(255,255,255,0.35);
9229
9409
  border-top: 1px solid rgba(255,255,255,0.04);
9230
9410
  `;
9231
- var SecurityTable = styled9__default.default.div`
9411
+ var SecurityCardsGrid = styled9__default.default.div`
9412
+ display: grid;
9413
+ grid-template-columns: 1fr 1fr;
9414
+ gap: 0.75rem;
9415
+ @media (max-width: 768px) { grid-template-columns: 1fr; }
9416
+ `;
9417
+ var SecurityCard = styled9__default.default.div`
9418
+ background: rgba(255,255,255,0.025);
9419
+ border: 1px solid rgba(255,255,255,0.06);
9420
+ border-radius: 10px;
9421
+ padding: 1.25rem;
9232
9422
  display: flex;
9233
- flex-direction: column;
9423
+ gap: 1rem;
9424
+ transition: border-color 0.2s ease;
9425
+ &:hover { border-color: rgba(255,255,255,0.12); }
9234
9426
  `;
9235
- var SecurityRow = styled9__default.default.div`
9427
+ var SecurityCardIcon = styled9__default.default.div`
9428
+ width: 40px;
9429
+ height: 40px;
9430
+ border-radius: 10px;
9431
+ background: rgba(74,222,128,0.08);
9432
+ border: 1px solid rgba(74,222,128,0.15);
9236
9433
  display: flex;
9237
9434
  align-items: center;
9238
- justify-content: space-between;
9239
- padding: 1rem 0;
9240
- border-bottom: ${({ $noBorder }) => $noBorder ? "none" : "1px solid rgba(255,255,255,0.06)"};
9241
- gap: 1rem;
9242
- @media (max-width: 640px) { flex-direction: column; align-items: flex-start; }
9435
+ justify-content: center;
9436
+ flex-shrink: 0;
9437
+ color: #4ade80;
9243
9438
  `;
9244
- var SecurityRowLeft = styled9__default.default.div`
9439
+ var SecurityCardContent = styled9__default.default.div`
9245
9440
  display: flex;
9246
9441
  flex-direction: column;
9247
9442
  gap: 4px;
9443
+ min-width: 0;
9248
9444
  `;
9249
- var SecurityRowLabel = styled9__default.default.div`
9250
- font-size: 0.88rem;
9445
+ var SecurityCardTitle = styled9__default.default.div`
9446
+ font-size: 0.85rem;
9251
9447
  font-weight: 600;
9252
9448
  color: #fff;
9253
9449
  `;
9254
- var SecurityRowValue = styled9__default.default.div`
9450
+ var SecurityCardStatus = styled9__default.default.div`
9255
9451
  display: flex;
9256
9452
  align-items: center;
9257
9453
  gap: 6px;
9258
- font-size: 0.78rem;
9454
+ font-size: 0.75rem;
9259
9455
  color: rgba(255,255,255,0.5);
9260
9456
  `;
9261
- var SecurityRowLogo = styled9__default.default.div`
9457
+ var SecurityCardProvider = styled9__default.default.div`
9262
9458
  display: flex;
9263
9459
  align-items: center;
9264
- margin-top: 2px;
9460
+ margin-top: 1px;
9265
9461
  `;
9266
9462
  var SecurityStatusDot = styled9__default.default.span`
9267
9463
  width: 6px;
@@ -9271,21 +9467,17 @@ var SecurityStatusDot = styled9__default.default.span`
9271
9467
  display: inline-block;
9272
9468
  flex-shrink: 0;
9273
9469
  `;
9274
- var SecurityRowRight = styled9__default.default.div`
9275
- display: flex;
9276
- align-items: center;
9277
- flex-shrink: 0;
9278
- `;
9279
- var SecurityRowLinks = styled9__default.default.div`
9470
+ var SecurityCardLinks = styled9__default.default.div`
9280
9471
  display: flex;
9281
- gap: 1.25rem;
9472
+ gap: 0.75rem;
9473
+ margin-top: 4px;
9282
9474
  `;
9283
9475
  var SecurityDocLink = styled9__default.default.a`
9284
- font-size: 0.78rem;
9285
- color: rgba(255,255,255,0.45);
9476
+ font-size: 0.72rem;
9477
+ color: rgba(255,255,255,0.4);
9286
9478
  text-decoration: underline;
9287
9479
  text-underline-offset: 3px;
9288
- text-decoration-color: rgba(255,255,255,0.2);
9480
+ text-decoration-color: rgba(255,255,255,0.15);
9289
9481
  cursor: pointer;
9290
9482
  transition: color 0.15s, text-decoration-color 0.15s;
9291
9483
  &:hover {
@@ -10558,7 +10750,7 @@ function AssetSelectorBar({
10558
10750
  i > 0 && /* @__PURE__ */ jsxRuntime.jsx(Separator, { children: "|" }),
10559
10751
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, children: [
10560
10752
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
10561
- /* @__PURE__ */ jsxRuntime.jsx(MetricLabel2, { children: m.label }),
10753
+ /* @__PURE__ */ jsxRuntime.jsx(MetricLabel, { children: m.label }),
10562
10754
  /* @__PURE__ */ jsxRuntime.jsx(MetricValue, { $accent: !!m.accent, $secondary: !!m.secondary, children: m.value })
10563
10755
  ] }),
10564
10756
  m.change != null && /* @__PURE__ */ jsxRuntime.jsxs(MetricChange, { $positive: m.change >= 0, children: [
@@ -10698,7 +10890,7 @@ var SelectorMetrics = styled9__default.default.div`
10698
10890
  gap: 0.5rem;
10699
10891
  }
10700
10892
  `;
10701
- var MetricLabel2 = styled9__default.default.span`
10893
+ var MetricLabel = styled9__default.default.span`
10702
10894
  font-size: 0.75rem;
10703
10895
  color: var(--color-text-secondary);
10704
10896
  text-transform: uppercase;
@@ -11007,14 +11199,14 @@ function OfferingProgressCard({
11007
11199
  ] }) : /* @__PURE__ */ jsxRuntime.jsx(PreLiveStatus, { $statusColor: statusColor, children: "Sale Not Yet Open" }),
11008
11200
  /* @__PURE__ */ jsxRuntime.jsxs(MetricsRow, { children: [
11009
11201
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
11010
- /* @__PURE__ */ jsxRuntime.jsx(MetricLabel3, { children: isPrivateClient ? "Token Price (Pre-Offering)" : "Token Price" }),
11202
+ /* @__PURE__ */ jsxRuntime.jsx(MetricLabel2, { children: isPrivateClient ? "Token Price (Pre-Offering)" : "Token Price" }),
11011
11203
  /* @__PURE__ */ jsxRuntime.jsxs(MetricValue2, { $accent: true, children: [
11012
11204
  "$",
11013
11205
  tokenPrice.toLocaleString(void 0, { minimumFractionDigits: 2, maximumFractionDigits: 2 })
11014
11206
  ] })
11015
11207
  ] }),
11016
11208
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { textAlign: "right" }, children: [
11017
- /* @__PURE__ */ jsxRuntime.jsx(MetricLabel3, { children: isPrivateClient ? "Offering Valuation (Pre-Offering)" : "Offering Valuation" }),
11209
+ /* @__PURE__ */ jsxRuntime.jsx(MetricLabel2, { children: isPrivateClient ? "Offering Valuation (Pre-Offering)" : "Offering Valuation" }),
11018
11210
  /* @__PURE__ */ jsxRuntime.jsxs(MetricValue2, { children: [
11019
11211
  "$",
11020
11212
  offeringValuation.toLocaleString()
@@ -11139,7 +11331,7 @@ var MetricsRow = styled9__default.default.div`
11139
11331
  border-top: 1px solid rgba(255,255,255,0.06);
11140
11332
  padding-top: 1rem;
11141
11333
  `;
11142
- var MetricLabel3 = styled9__default.default.div`
11334
+ var MetricLabel2 = styled9__default.default.div`
11143
11335
  font-size: 0.6rem;
11144
11336
  color: var(--color-text-secondary);
11145
11337
  text-transform: uppercase;