@loafmarkets/ui 0.1.343 → 0.1.344

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.d.mts CHANGED
@@ -4,6 +4,8 @@ import React__default, { ReactNode } from 'react';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
6
  import * as LightweightCharts from 'lightweight-charts';
7
+ import { OverviewResponse } from '@loafmarkets/shared-types';
8
+ export { OverviewResponse } from '@loafmarkets/shared-types';
7
9
 
8
10
  declare const buttonVariants: (props?: ({
9
11
  variant?: "primary" | "onboarding" | "onboardingOutline" | "accent" | "accentOutline" | "media" | "outline" | "ghost" | "danger" | null | undefined;
@@ -698,26 +700,6 @@ type GalleryCategory = {
698
700
  startIndex: number;
699
701
  };
700
702
 
701
- interface OverviewResponse {
702
- readonly description: string;
703
- readonly tokensIssued: number;
704
- readonly offeringValuation: number;
705
- readonly weeklyRent: number;
706
- readonly indicativeListing?: string;
707
- readonly minimumParticipation?: number;
708
- readonly landSizeSqm: number;
709
- readonly buildingSizeSqm: number;
710
- readonly swimmingPool: boolean;
711
- readonly tennisCourt: boolean;
712
- readonly garden: boolean;
713
- readonly gym: boolean;
714
- readonly propertyType?: string;
715
- readonly yearBuilt: number;
716
- readonly ownership: string;
717
- readonly zoning: string;
718
- readonly levels: number;
719
- readonly daStatus: string;
720
- }
721
703
  interface OverviewImage {
722
704
  readonly imageUrl: string;
723
705
  readonly title: string;
@@ -1204,4 +1186,4 @@ declare function SlideDigit({ value }: {
1204
1186
  value: string;
1205
1187
  }): react_jsx_runtime.JSX.Element;
1206
1188
 
1207
- export { type ActivityTabId, AssetSelectorBar, type AssetSelectorBarProps, type AssetSelectorMetric, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, type FinancialItem, type FundWalletParams, type FundWalletResult, Header, type HeaderPortfolioData, type HeaderProps, type HousePositionOrderbook, type HousePositionPendingOrder, HousePositionSlider, HousePositionSliderMobile, type HousePositionSliderMobileOrderPayload, type HousePositionSliderMobileOrderbook, type HousePositionSliderMobileProps, type HousePositionSliderOrderPayload, type HousePositionSliderProps, type InspectionSlot, LoafLiquidityBadge, LoafLiquidityLogo, type LoafLiquidityLogoProps, LoginPopup, type LoginPopupProps, MobileTradeNav, type MobileTradeNavItem, type MobileTradeNavProps, type OfferStatus, OfferingProgressCard, type OfferingProgressCardProps, Orderbook, type OrderbookLevel, type OrderbookProps, type OrderbookSide, type OrderbookTrade, type OverviewImage, type OverviewResponse, OwnerBooking, type OwnerBookingProps, PaymentPopup, type PaymentPopupProps, PortfolioActivityPanel, type PortfolioActivityPanelProps, type PortfolioPosition, PortfolioSummary, type PortfolioSummaryProps, PriceChart, type PriceChartCandle, type PriceChartProps, type PriceChartRange, type PropertyAddressOption, PropertyBuy, PropertyCompareBar, type PropertyCompareBarProps, PropertyDocuments, type PropertyGalleryHotspot, type PropertyGalleryImage, PropertyHeroHeader, type PropertyHeroHeaderProps, PropertyHistory, type PropertyInfoItem, PropertyInspectionTimes, PropertyMediaRow, type PropertyMediaRowProps, type PropertyNewsItem, type PropertyNewsType, PropertyNewsUpdates, type PropertyNewsUpdatesProps, type PropertyOffer, PropertyOffers, type PropertyOffersProps, PropertyOverview, type PropertyOverviewProps, PropertyPhotoGallery, type PropertyPriceSummary, PropertySubheader, type PropertySubheaderAction, type PropertySubheaderProps, type PropertySubheaderTab, PropertyTour, type PropertyTourProps, PropertyValuation, type PropertyValuationProps, type PropertyValueSummary, type PurchaseFeedItem, type SelectorItem, Skeleton, type SkeletonProps, SlideDigit, type ToastData, ToastProvider, type ToastVariant, TradeConfirmationModal, type TradeConfirmationModalDetails, type TradeConfirmationModalProps, TradingSlider, type TradingSliderProps, type ValuationHistoryPoint, type ValuationRecentSale, type ValuationSummary, type YourOrder, type YourOrderSide, YourOrders, type YourOrdersProps, badgeVariants, buttonVariants, hasPendingActivity, useAdaptivePolling, useToast };
1189
+ export { type ActivityTabId, AssetSelectorBar, type AssetSelectorBarProps, type AssetSelectorMetric, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, type FinancialItem, type FundWalletParams, type FundWalletResult, Header, type HeaderPortfolioData, type HeaderProps, type HousePositionOrderbook, type HousePositionPendingOrder, HousePositionSlider, HousePositionSliderMobile, type HousePositionSliderMobileOrderPayload, type HousePositionSliderMobileOrderbook, type HousePositionSliderMobileProps, type HousePositionSliderOrderPayload, type HousePositionSliderProps, type InspectionSlot, LoafLiquidityBadge, LoafLiquidityLogo, type LoafLiquidityLogoProps, LoginPopup, type LoginPopupProps, MobileTradeNav, type MobileTradeNavItem, type MobileTradeNavProps, type OfferStatus, OfferingProgressCard, type OfferingProgressCardProps, Orderbook, type OrderbookLevel, type OrderbookProps, type OrderbookSide, type OrderbookTrade, type OverviewImage, OwnerBooking, type OwnerBookingProps, PaymentPopup, type PaymentPopupProps, PortfolioActivityPanel, type PortfolioActivityPanelProps, type PortfolioPosition, PortfolioSummary, type PortfolioSummaryProps, PriceChart, type PriceChartCandle, type PriceChartProps, type PriceChartRange, type PropertyAddressOption, PropertyBuy, PropertyCompareBar, type PropertyCompareBarProps, PropertyDocuments, type PropertyGalleryHotspot, type PropertyGalleryImage, PropertyHeroHeader, type PropertyHeroHeaderProps, PropertyHistory, type PropertyInfoItem, PropertyInspectionTimes, PropertyMediaRow, type PropertyMediaRowProps, type PropertyNewsItem, type PropertyNewsType, PropertyNewsUpdates, type PropertyNewsUpdatesProps, type PropertyOffer, PropertyOffers, type PropertyOffersProps, PropertyOverview, type PropertyOverviewProps, PropertyPhotoGallery, type PropertyPriceSummary, PropertySubheader, type PropertySubheaderAction, type PropertySubheaderProps, type PropertySubheaderTab, PropertyTour, type PropertyTourProps, PropertyValuation, type PropertyValuationProps, type PropertyValueSummary, type PurchaseFeedItem, type SelectorItem, Skeleton, type SkeletonProps, SlideDigit, type ToastData, ToastProvider, type ToastVariant, TradeConfirmationModal, type TradeConfirmationModalDetails, type TradeConfirmationModalProps, TradingSlider, type TradingSliderProps, type ValuationHistoryPoint, type ValuationRecentSale, type ValuationSummary, type YourOrder, type YourOrderSide, YourOrders, type YourOrdersProps, badgeVariants, buttonVariants, hasPendingActivity, useAdaptivePolling, useToast };
package/dist/index.d.ts CHANGED
@@ -4,6 +4,8 @@ import React__default, { ReactNode } from 'react';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
6
  import * as LightweightCharts from 'lightweight-charts';
7
+ import { OverviewResponse } from '@loafmarkets/shared-types';
8
+ export { OverviewResponse } from '@loafmarkets/shared-types';
7
9
 
8
10
  declare const buttonVariants: (props?: ({
9
11
  variant?: "primary" | "onboarding" | "onboardingOutline" | "accent" | "accentOutline" | "media" | "outline" | "ghost" | "danger" | null | undefined;
@@ -698,26 +700,6 @@ type GalleryCategory = {
698
700
  startIndex: number;
699
701
  };
700
702
 
701
- interface OverviewResponse {
702
- readonly description: string;
703
- readonly tokensIssued: number;
704
- readonly offeringValuation: number;
705
- readonly weeklyRent: number;
706
- readonly indicativeListing?: string;
707
- readonly minimumParticipation?: number;
708
- readonly landSizeSqm: number;
709
- readonly buildingSizeSqm: number;
710
- readonly swimmingPool: boolean;
711
- readonly tennisCourt: boolean;
712
- readonly garden: boolean;
713
- readonly gym: boolean;
714
- readonly propertyType?: string;
715
- readonly yearBuilt: number;
716
- readonly ownership: string;
717
- readonly zoning: string;
718
- readonly levels: number;
719
- readonly daStatus: string;
720
- }
721
703
  interface OverviewImage {
722
704
  readonly imageUrl: string;
723
705
  readonly title: string;
@@ -1204,4 +1186,4 @@ declare function SlideDigit({ value }: {
1204
1186
  value: string;
1205
1187
  }): react_jsx_runtime.JSX.Element;
1206
1188
 
1207
- export { type ActivityTabId, AssetSelectorBar, type AssetSelectorBarProps, type AssetSelectorMetric, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, type FinancialItem, type FundWalletParams, type FundWalletResult, Header, type HeaderPortfolioData, type HeaderProps, type HousePositionOrderbook, type HousePositionPendingOrder, HousePositionSlider, HousePositionSliderMobile, type HousePositionSliderMobileOrderPayload, type HousePositionSliderMobileOrderbook, type HousePositionSliderMobileProps, type HousePositionSliderOrderPayload, type HousePositionSliderProps, type InspectionSlot, LoafLiquidityBadge, LoafLiquidityLogo, type LoafLiquidityLogoProps, LoginPopup, type LoginPopupProps, MobileTradeNav, type MobileTradeNavItem, type MobileTradeNavProps, type OfferStatus, OfferingProgressCard, type OfferingProgressCardProps, Orderbook, type OrderbookLevel, type OrderbookProps, type OrderbookSide, type OrderbookTrade, type OverviewImage, type OverviewResponse, OwnerBooking, type OwnerBookingProps, PaymentPopup, type PaymentPopupProps, PortfolioActivityPanel, type PortfolioActivityPanelProps, type PortfolioPosition, PortfolioSummary, type PortfolioSummaryProps, PriceChart, type PriceChartCandle, type PriceChartProps, type PriceChartRange, type PropertyAddressOption, PropertyBuy, PropertyCompareBar, type PropertyCompareBarProps, PropertyDocuments, type PropertyGalleryHotspot, type PropertyGalleryImage, PropertyHeroHeader, type PropertyHeroHeaderProps, PropertyHistory, type PropertyInfoItem, PropertyInspectionTimes, PropertyMediaRow, type PropertyMediaRowProps, type PropertyNewsItem, type PropertyNewsType, PropertyNewsUpdates, type PropertyNewsUpdatesProps, type PropertyOffer, PropertyOffers, type PropertyOffersProps, PropertyOverview, type PropertyOverviewProps, PropertyPhotoGallery, type PropertyPriceSummary, PropertySubheader, type PropertySubheaderAction, type PropertySubheaderProps, type PropertySubheaderTab, PropertyTour, type PropertyTourProps, PropertyValuation, type PropertyValuationProps, type PropertyValueSummary, type PurchaseFeedItem, type SelectorItem, Skeleton, type SkeletonProps, SlideDigit, type ToastData, ToastProvider, type ToastVariant, TradeConfirmationModal, type TradeConfirmationModalDetails, type TradeConfirmationModalProps, TradingSlider, type TradingSliderProps, type ValuationHistoryPoint, type ValuationRecentSale, type ValuationSummary, type YourOrder, type YourOrderSide, YourOrders, type YourOrdersProps, badgeVariants, buttonVariants, hasPendingActivity, useAdaptivePolling, useToast };
1189
+ export { type ActivityTabId, AssetSelectorBar, type AssetSelectorBarProps, type AssetSelectorMetric, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps, type FinancialItem, type FundWalletParams, type FundWalletResult, Header, type HeaderPortfolioData, type HeaderProps, type HousePositionOrderbook, type HousePositionPendingOrder, HousePositionSlider, HousePositionSliderMobile, type HousePositionSliderMobileOrderPayload, type HousePositionSliderMobileOrderbook, type HousePositionSliderMobileProps, type HousePositionSliderOrderPayload, type HousePositionSliderProps, type InspectionSlot, LoafLiquidityBadge, LoafLiquidityLogo, type LoafLiquidityLogoProps, LoginPopup, type LoginPopupProps, MobileTradeNav, type MobileTradeNavItem, type MobileTradeNavProps, type OfferStatus, OfferingProgressCard, type OfferingProgressCardProps, Orderbook, type OrderbookLevel, type OrderbookProps, type OrderbookSide, type OrderbookTrade, type OverviewImage, OwnerBooking, type OwnerBookingProps, PaymentPopup, type PaymentPopupProps, PortfolioActivityPanel, type PortfolioActivityPanelProps, type PortfolioPosition, PortfolioSummary, type PortfolioSummaryProps, PriceChart, type PriceChartCandle, type PriceChartProps, type PriceChartRange, type PropertyAddressOption, PropertyBuy, PropertyCompareBar, type PropertyCompareBarProps, PropertyDocuments, type PropertyGalleryHotspot, type PropertyGalleryImage, PropertyHeroHeader, type PropertyHeroHeaderProps, PropertyHistory, type PropertyInfoItem, PropertyInspectionTimes, PropertyMediaRow, type PropertyMediaRowProps, type PropertyNewsItem, type PropertyNewsType, PropertyNewsUpdates, type PropertyNewsUpdatesProps, type PropertyOffer, PropertyOffers, type PropertyOffersProps, PropertyOverview, type PropertyOverviewProps, PropertyPhotoGallery, type PropertyPriceSummary, PropertySubheader, type PropertySubheaderAction, type PropertySubheaderProps, type PropertySubheaderTab, PropertyTour, type PropertyTourProps, PropertyValuation, type PropertyValuationProps, type PropertyValueSummary, type PurchaseFeedItem, type SelectorItem, Skeleton, type SkeletonProps, SlideDigit, type ToastData, ToastProvider, type ToastVariant, TradeConfirmationModal, type TradeConfirmationModalDetails, type TradeConfirmationModalProps, TradingSlider, type TradingSliderProps, type ValuationHistoryPoint, type ValuationRecentSale, type ValuationSummary, type YourOrder, type YourOrderSide, YourOrders, type YourOrdersProps, badgeVariants, buttonVariants, hasPendingActivity, useAdaptivePolling, useToast };
package/dist/index.js CHANGED
@@ -2514,6 +2514,11 @@ var PropertyTour = React5__namespace.forwardRef(
2514
2514
  ...props
2515
2515
  }, ref) => {
2516
2516
  const videoRef = React5__namespace.useRef(null);
2517
+ React5__namespace.useEffect(() => {
2518
+ if (videoRef.current && src) {
2519
+ videoRef.current.load();
2520
+ }
2521
+ }, [src]);
2517
2522
  React5__namespace.useEffect(() => {
2518
2523
  const video = videoRef.current;
2519
2524
  if (!video) return;
@@ -8670,7 +8675,7 @@ function PropertyOverview({
8670
8675
  const tokenMarketCap = tokenPriceValue && resolvedTokensIssued ? tokenPriceValue * resolvedTokensIssued : null;
8671
8676
  const currentDividendYield = tokenMarketCap && monthlyCoupon > 0 ? (monthlyCoupon * 12 / tokenMarketCap * 100).toFixed(2) : null;
8672
8677
  const loadingSkeleton = /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { width: 90, height: 18 });
8673
- const rawPropertyType = overviewData?.propertyType ?? propertyTypeLabel ?? null;
8678
+ const rawPropertyType = propertyTypeLabel ?? null;
8674
8679
  const resolvedPropertyType = rawPropertyType?.toLowerCase() === "house" ? "Residential" : rawPropertyType;
8675
8680
  const galleryImages = images ?? [];
8676
8681
  const chainValue = /* @__PURE__ */ jsxRuntime.jsxs(ChainLogos, { children: [
@@ -8831,102 +8836,7 @@ function PropertyOverview({
8831
8836
  item.icon && /* @__PURE__ */ jsxRuntime.jsx(AssetFeatureIcon, { children: item.icon }),
8832
8837
  item.value && /* @__PURE__ */ jsxRuntime.jsx(AssetFeatureValue, { children: item.value }),
8833
8838
  /* @__PURE__ */ jsxRuntime.jsx(AssetFeatureLabel, { children: item.label })
8834
- ] }, i)) }),
8835
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetsPanel, { children: [
8836
- /* @__PURE__ */ jsxRuntime.jsx(StatsColumnHeader, { children: "Comparable Assets" }),
8837
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetsGrid, { children: [
8838
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStrip, { children: [
8839
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripImg, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/boondabah.jpg", alt: "Boondabah", onError: (e) => {
8840
- e.target.style.display = "none";
8841
- } }) }),
8842
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStripInfo, { children: [
8843
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStripName, { children: [
8844
- "Boondabah ",
8845
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetBadge, { children: "HERITAGE" })
8846
- ] }),
8847
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripAddr, { children: "200A Raglan St, Mosman" })
8848
- ] }),
8849
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStripRight, { children: [
8850
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripPrice, { children: "$16.07M" }),
8851
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripGrowth, { style: { color: "#4ade80" }, children: "+119%" })
8852
- ] }),
8853
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltip, { children: [
8854
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetTooltipArrow, {}),
8855
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetTooltipImg, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/boondabah.jpg", alt: "Boondabah", onError: (e) => {
8856
- e.target.style.display = "none";
8857
- } }) }),
8858
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipTitle, { children: [
8859
- "Boondabah ",
8860
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetBadge, { children: "HERITAGE" })
8861
- ] }),
8862
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetTooltipAddr, { children: "200A Raglan St, Mosman" }),
8863
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipStats, { children: [
8864
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8865
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Sale Price" }),
8866
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "$16.07M" })
8867
- ] }),
8868
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8869
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Land" }),
8870
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "2,066 sqm" })
8871
- ] }),
8872
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8873
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Era" }),
8874
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "c.1905" })
8875
- ] }),
8876
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8877
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Growth" }),
8878
- /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "#4ade80" }, children: "+119%" })
8879
- ] })
8880
- ] })
8881
- ] })
8882
- ] }),
8883
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStrip, { children: [
8884
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripImg, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/bradleys.jpg", alt: "Dobroyd", onError: (e) => {
8885
- e.target.style.display = "none";
8886
- } }) }),
8887
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStripInfo, { children: [
8888
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStripName, { children: [
8889
- "Dobroyd ",
8890
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetBadge, { children: "HERITAGE" })
8891
- ] }),
8892
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripAddr, { children: "7 Bradleys Head Rd, Mosman" })
8893
- ] }),
8894
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetStripRight, { children: [
8895
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripPrice, { children: "$27.96M" }),
8896
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetStripGrowth, { style: { color: "#4ade80" }, children: "+617%" })
8897
- ] }),
8898
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltip, { children: [
8899
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetTooltipArrow, {}),
8900
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetTooltipImg, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: "/bradleys.jpg", alt: "Dobroyd", onError: (e) => {
8901
- e.target.style.display = "none";
8902
- } }) }),
8903
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipTitle, { children: [
8904
- "Dobroyd ",
8905
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetBadge, { children: "HERITAGE" })
8906
- ] }),
8907
- /* @__PURE__ */ jsxRuntime.jsx(CompAssetTooltipAddr, { children: "7 Bradleys Head Rd, Mosman" }),
8908
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipStats, { children: [
8909
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8910
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Sale Price" }),
8911
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "$27.96M" })
8912
- ] }),
8913
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8914
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Land" }),
8915
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "2,592 sqm" })
8916
- ] }),
8917
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8918
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Era" }),
8919
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "c.1905" })
8920
- ] }),
8921
- /* @__PURE__ */ jsxRuntime.jsxs(CompAssetTooltipRow, { children: [
8922
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Growth" }),
8923
- /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "#4ade80" }, children: "+617%" })
8924
- ] })
8925
- ] })
8926
- ] })
8927
- ] })
8928
- ] })
8929
- ] })
8839
+ ] }, i)) })
8930
8840
  ] }),
8931
8841
  /* @__PURE__ */ jsxRuntime.jsxs(StatsColumn, { children: [
8932
8842
  /* @__PURE__ */ jsxRuntime.jsx(StatsColumnHeader, { children: "Asset Specification" }),
@@ -9046,47 +8956,6 @@ function PropertyOverview({
9046
8956
  ] })
9047
8957
  ] })
9048
8958
  ] }),
9049
- /* @__PURE__ */ jsxRuntime.jsxs(MapCompRow, { children: [
9050
- /* @__PURE__ */ jsxRuntime.jsx(MapCompLeft, { children: /* @__PURE__ */ jsxRuntime.jsx(
9051
- GalleryMapSection,
9052
- {
9053
- images: galleryImages.map((img) => ({ src: img.imageUrl, title: img.title, subtitle: img.subtitle })),
9054
- categories: galleryCategories,
9055
- propertyLocation: location,
9056
- videoUrl,
9057
- tokenName,
9058
- onPhotoClick: onPhotosClick,
9059
- hideGallery: true,
9060
- hideSuburb: true
9061
- }
9062
- ) }),
9063
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanel, { children: [
9064
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanelTitle, { children: [
9065
- "Suburb Profile (",
9066
- location.split(",")[0]?.trim() || location,
9067
- ")"
9068
- ] }),
9069
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanelGrid, { children: [
9070
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanelStat, { children: [
9071
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatLabel, { children: "Median House Price" }),
9072
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatValue, { children: "$5.5M" })
9073
- ] }),
9074
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanelStat, { children: [
9075
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatLabel, { children: "5yr Growth" }),
9076
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatValue, { children: "+42%" })
9077
- ] }),
9078
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanelStat, { children: [
9079
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatLabel, { children: "Suburb Rank" }),
9080
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatValue, { children: "Top 1%" })
9081
- ] }),
9082
- /* @__PURE__ */ jsxRuntime.jsxs(SuburbPanelStat, { children: [
9083
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatLabel, { children: "Avg. Days on Market" }),
9084
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelStatValue, { children: "28" })
9085
- ] })
9086
- ] }),
9087
- /* @__PURE__ */ jsxRuntime.jsx(SuburbPanelDesc, { children: "One of Sydney's most prestigious harbourside suburbs, consistently ranked among Australia's highest-value residential markets. Strong capital growth driven by limited supply, heritage conservation overlays, and international buyer demand." })
9088
- ] })
9089
- ] }),
9090
8959
  /* @__PURE__ */ jsxRuntime.jsxs(AssetBentoNarratives, { children: [
9091
8960
  /* @__PURE__ */ jsxRuntime.jsxs(NarrativeCard, { children: [
9092
8961
  /* @__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" }) }) }),
@@ -9117,21 +8986,11 @@ function PropertyOverview({
9117
8986
  /* @__PURE__ */ jsxRuntime.jsx(THLabel, { children: "Hours (AEST)" }),
9118
8987
  /* @__PURE__ */ jsxRuntime.jsx(THLabel, { children: "Days" })
9119
8988
  ] }),
9120
- /* @__PURE__ */ jsxRuntime.jsxs(TradingHoursRow, { children: [
8989
+ /* @__PURE__ */ jsxRuntime.jsxs(TradingHoursRow, { $last: true, children: [
9121
8990
  /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "Continuous Trading" }),
9122
8991
  /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "10:00 \u2013 16:00" }),
9123
8992
  /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "Mon \u2013 Fri" })
9124
8993
  ] }),
9125
- /* @__PURE__ */ jsxRuntime.jsxs(TradingHoursRow, { children: [
9126
- /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "After Hours" }),
9127
- /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "16:00 \u2013 20:00" }),
9128
- /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "Mon \u2013 Fri" })
9129
- ] }),
9130
- /* @__PURE__ */ jsxRuntime.jsxs(TradingHoursRow, { $last: true, children: [
9131
- /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "Pre-Market" }),
9132
- /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "07:00 \u2013 10:00" }),
9133
- /* @__PURE__ */ jsxRuntime.jsx(THValue, { children: "Mon \u2013 Fri" })
9134
- ] }),
9135
8994
  /* @__PURE__ */ jsxRuntime.jsx(TradingHoursNote, { children: "All times are Australian Eastern Standard Time (AEST/AEDT). Markets are closed on Australian public holidays." })
9136
8995
  ] })
9137
8996
  ] }),
@@ -9380,66 +9239,6 @@ var GallerySpecLeft = styled9__default.default.div`
9380
9239
  flex-direction: column;
9381
9240
  gap: 0.75rem;
9382
9241
  `;
9383
- var MapCompRow = styled9__default.default.div`
9384
- display: grid;
9385
- grid-template-columns: 1fr 380px;
9386
- gap: 0.75rem;
9387
- margin-top: 0.75rem;
9388
- align-items: stretch;
9389
- @media (max-width: 900px) { grid-template-columns: 1fr; }
9390
- `;
9391
- var MapCompLeft = styled9__default.default.div`
9392
- min-width: 0;
9393
- overflow: hidden;
9394
- `;
9395
- var SuburbPanel = styled9__default.default.div`
9396
- background: #111111;
9397
- border: 1px solid rgba(255,255,255,0.1);
9398
- border-radius: 12px;
9399
- padding: 1.25rem;
9400
- display: flex;
9401
- flex-direction: column;
9402
- gap: 0.75rem;
9403
- `;
9404
- var SuburbPanelTitle = styled9__default.default.div`
9405
- font-size: 0.65rem;
9406
- color: #D4AF37;
9407
- text-transform: uppercase;
9408
- letter-spacing: 0.12em;
9409
- font-weight: 600;
9410
- padding-bottom: 0.75rem;
9411
- border-bottom: 1px solid rgba(255,255,255,0.06);
9412
- `;
9413
- var SuburbPanelGrid = styled9__default.default.div`
9414
- display: grid;
9415
- grid-template-columns: 1fr 1fr;
9416
- gap: 0.5rem;
9417
- `;
9418
- var SuburbPanelStat = styled9__default.default.div`
9419
- background: rgba(255,255,255,0.03);
9420
- border-radius: 6px;
9421
- padding: 0.5rem 0.65rem;
9422
- border: 1px solid rgba(255,255,255,0.04);
9423
- `;
9424
- var SuburbPanelStatLabel = styled9__default.default.div`
9425
- font-size: 0.6rem;
9426
- color: rgba(255,255,255,0.4);
9427
- text-transform: uppercase;
9428
- letter-spacing: 0.06em;
9429
- margin-bottom: 0.2rem;
9430
- `;
9431
- var SuburbPanelStatValue = styled9__default.default.div`
9432
- font-size: 0.9rem;
9433
- font-weight: 600;
9434
- color: #fff;
9435
- font-variant-numeric: tabular-nums;
9436
- `;
9437
- var SuburbPanelDesc = styled9__default.default.p`
9438
- margin: 0;
9439
- font-size: 0.75rem;
9440
- color: rgba(255,255,255,0.45);
9441
- line-height: 1.5;
9442
- `;
9443
9242
  var AssetBentoNarratives = styled9__default.default.div`
9444
9243
  display: grid;
9445
9244
  grid-template-columns: repeat(3, 1fr);
@@ -9814,182 +9613,6 @@ var TimelineHoldPeriod = styled9__default.default.span`
9814
9613
  color: rgba(255,255,255,0.25);
9815
9614
  font-weight: 400;
9816
9615
  `;
9817
- var CompAssetsPanel = styled9__default.default.div`
9818
- background: #111111;
9819
- border: 1px solid rgba(255,255,255,0.1);
9820
- border-radius: 12px;
9821
- padding: 0.75rem 1rem;
9822
- display: flex;
9823
- flex-direction: column;
9824
- gap: 0.35rem;
9825
- `;
9826
- var CompAssetsGrid = styled9__default.default.div`
9827
- display: grid;
9828
- grid-template-columns: 1fr 1fr;
9829
- gap: 0.5rem;
9830
- @media (max-width: 768px) {
9831
- grid-template-columns: 1fr;
9832
- }
9833
- `;
9834
- var CompAssetStrip = styled9__default.default.div`
9835
- position: relative;
9836
- display: flex;
9837
- align-items: center;
9838
- gap: 0.75rem;
9839
- background: rgba(255,255,255,0.02);
9840
- border: 1px solid rgba(255,255,255,0.06);
9841
- border-radius: 10px;
9842
- padding: 0.6rem 1rem 0.6rem 0.6rem;
9843
- transition: border-color 0.2s, background 0.2s;
9844
- cursor: pointer;
9845
- &:hover {
9846
- border-color: rgba(212,175,55,0.3);
9847
- background: rgba(255,255,255,0.03);
9848
- }
9849
- &:hover > div:last-child {
9850
- display: block;
9851
- }
9852
- `;
9853
- var CompAssetStripImg = styled9__default.default.div`
9854
- width: 52px;
9855
- height: 52px;
9856
- border-radius: 8px;
9857
- overflow: hidden;
9858
- flex-shrink: 0;
9859
- background: rgba(255,255,255,0.05);
9860
- img {
9861
- width: 100%;
9862
- height: 100%;
9863
- object-fit: cover;
9864
- }
9865
- `;
9866
- var CompAssetStripInfo = styled9__default.default.div`
9867
- flex: 1;
9868
- min-width: 0;
9869
- display: flex;
9870
- flex-direction: column;
9871
- gap: 2px;
9872
- `;
9873
- var CompAssetStripName = styled9__default.default.div`
9874
- font-size: 0.9rem;
9875
- font-weight: 600;
9876
- color: #fff;
9877
- display: flex;
9878
- align-items: center;
9879
- gap: 0.4rem;
9880
- `;
9881
- var CompAssetStripAddr = styled9__default.default.div`
9882
- font-size: 0.72rem;
9883
- color: rgba(255,255,255,0.4);
9884
- `;
9885
- var CompAssetStripRight = styled9__default.default.div`
9886
- flex-shrink: 0;
9887
- text-align: right;
9888
- display: flex;
9889
- flex-direction: column;
9890
- align-items: flex-end;
9891
- gap: 2px;
9892
- `;
9893
- var CompAssetStripPrice = styled9__default.default.div`
9894
- font-size: 1rem;
9895
- font-weight: 700;
9896
- color: #fff;
9897
- font-variant-numeric: tabular-nums;
9898
- white-space: nowrap;
9899
- `;
9900
- var CompAssetStripGrowth = styled9__default.default.div`
9901
- font-size: 0.72rem;
9902
- font-weight: 500;
9903
- font-variant-numeric: tabular-nums;
9904
- `;
9905
- var CompAssetBadge = styled9__default.default.span`
9906
- font-size: 0.52rem;
9907
- font-weight: 600;
9908
- text-transform: uppercase;
9909
- letter-spacing: 0.06em;
9910
- color: #4ade80;
9911
- background: rgba(74,222,128,0.1);
9912
- border: 1px solid rgba(74,222,128,0.2);
9913
- padding: 1px 6px;
9914
- border-radius: 4px;
9915
- white-space: nowrap;
9916
- `;
9917
- var CompAssetTooltip = styled9__default.default.div`
9918
- display: none;
9919
- position: absolute;
9920
- bottom: calc(100% + 10px);
9921
- left: 50%;
9922
- transform: translateX(-50%);
9923
- width: 280px;
9924
- background: #1a1d24;
9925
- border: 1px solid rgba(255,255,255,0.1);
9926
- border-radius: 8px;
9927
- padding: 0.75rem;
9928
- z-index: 100;
9929
- box-shadow: 0 8px 24px rgba(0,0,0,0.5);
9930
- pointer-events: none;
9931
- `;
9932
- var CompAssetTooltipArrow = styled9__default.default.div`
9933
- position: absolute;
9934
- bottom: -5px;
9935
- left: 50%;
9936
- transform: translateX(-50%) rotate(45deg);
9937
- width: 8px;
9938
- height: 8px;
9939
- background: #1a1d24;
9940
- border-right: 1px solid rgba(255,255,255,0.1);
9941
- border-bottom: 1px solid rgba(255,255,255,0.1);
9942
- `;
9943
- var CompAssetTooltipImg = styled9__default.default.div`
9944
- width: 100%;
9945
- height: 120px;
9946
- border-radius: 6px;
9947
- overflow: hidden;
9948
- margin-bottom: 0.6rem;
9949
- background: rgba(255,255,255,0.03);
9950
- img {
9951
- width: 100%;
9952
- height: 100%;
9953
- object-fit: cover;
9954
- }
9955
- `;
9956
- var CompAssetTooltipTitle = styled9__default.default.div`
9957
- font-size: 0.8rem;
9958
- font-weight: 600;
9959
- color: #fff;
9960
- display: flex;
9961
- align-items: center;
9962
- gap: 0.4rem;
9963
- margin-bottom: 2px;
9964
- `;
9965
- var CompAssetTooltipAddr = styled9__default.default.div`
9966
- font-size: 0.65rem;
9967
- color: rgba(255,255,255,0.4);
9968
- margin-bottom: 0.5rem;
9969
- `;
9970
- var CompAssetTooltipStats = styled9__default.default.div`
9971
- display: flex;
9972
- flex-direction: column;
9973
- gap: 0;
9974
- `;
9975
- var CompAssetTooltipRow = styled9__default.default.div`
9976
- display: flex;
9977
- justify-content: space-between;
9978
- align-items: center;
9979
- padding: 0.3rem 0;
9980
- border-bottom: 1px solid rgba(255,255,255,0.04);
9981
- &:last-child { border-bottom: none; }
9982
- span:first-child {
9983
- font-size: 0.7rem;
9984
- color: rgba(255,255,255,0.4);
9985
- }
9986
- span:last-child {
9987
- font-size: 0.75rem;
9988
- font-weight: 500;
9989
- color: #fff;
9990
- font-variant-numeric: tabular-nums;
9991
- }
9992
- `;
9993
9616
  var FeaturesPanel = styled9__default.default.div`
9994
9617
  display: flex;
9995
9618
  flex-wrap: wrap;