@loafmarkets/ui 0.1.14 → 0.1.17

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
@@ -339,6 +339,7 @@ type YourOrdersProps = React.HTMLAttributes<HTMLDivElement> & {
339
339
  onTabChange?: (tabId: string) => void;
340
340
  renderOrderActions?: (order: YourOrder) => React.ReactNode;
341
341
  renderTabContent?: (args: RenderTabContentArgs) => React.ReactNode | null;
342
+ pageSize?: number;
342
343
  };
343
344
  declare const YourOrders: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
344
345
  title?: string;
@@ -348,6 +349,7 @@ declare const YourOrders: React.ForwardRefExoticComponent<React.HTMLAttributes<H
348
349
  onTabChange?: (tabId: string) => void;
349
350
  renderOrderActions?: (order: YourOrder) => React.ReactNode;
350
351
  renderTabContent?: (args: RenderTabContentArgs) => React.ReactNode | null;
352
+ pageSize?: number;
351
353
  } & React.RefAttributes<HTMLDivElement>>;
352
354
 
353
355
  type PriceChartRange = "30s" | "1m" | "5m" | "15m" | "1h" | "4h" | "24h" | "1W" | "1M";
@@ -395,6 +397,10 @@ type PropertyHeroHeaderProps = React.HTMLAttributes<HTMLDivElement> & {
395
397
  propertyTypeLabel?: string;
396
398
  onTrade?: () => void;
397
399
  onMakeOffer?: () => void;
400
+ tradeButtonLabel?: string;
401
+ makeOfferButtonLabel?: string;
402
+ makeOfferDisabled?: boolean;
403
+ hideMakeOfferButton?: boolean;
398
404
  };
399
405
  declare const PropertyHeroHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
400
406
  imageUrl: string;
@@ -410,6 +416,10 @@ declare const PropertyHeroHeader: React.ForwardRefExoticComponent<React.HTMLAttr
410
416
  propertyTypeLabel?: string;
411
417
  onTrade?: () => void;
412
418
  onMakeOffer?: () => void;
419
+ tradeButtonLabel?: string;
420
+ makeOfferButtonLabel?: string;
421
+ makeOfferDisabled?: boolean;
422
+ hideMakeOfferButton?: boolean;
413
423
  } & React.RefAttributes<HTMLDivElement>>;
414
424
 
415
425
  type EmailCodeParams = {
@@ -469,6 +479,8 @@ type LoginPopupProps = {
469
479
  }> | void;
470
480
  /** Optional view to show immediately when the popup opens. */
471
481
  initialView?: LoginPopupView;
482
+ /** Handler invoked when the user selects "Sign in with Wallet". */
483
+ onWalletLogin?: () => Promise<void> | void;
472
484
  };
473
485
  declare const LoginPopup: React__default.FC<LoginPopupProps>;
474
486
 
@@ -477,7 +489,7 @@ type HeaderUser = {
477
489
  email?: string | null;
478
490
  walletAddress?: string | null;
479
491
  };
480
- type HeaderActiveTab = "home" | "trade" | "offerings" | "propertyMap" | "about";
492
+ type HeaderActiveTab = "home" | "trade" | "offerings" | "propertyMap" | "about" | "portfolio" | "learn";
481
493
  type HeaderLoginPopupComponentProps = {
482
494
  onClose: () => void;
483
495
  initialView?: LoginPopupView;
@@ -495,8 +507,10 @@ type HeaderProps = {
495
507
  tradePath?: string;
496
508
  homePath?: string;
497
509
  aboutPath?: string;
510
+ learnPath?: string;
498
511
  offeringsPath?: string;
499
512
  propertyMapPath?: string;
513
+ portfolioPath?: string;
500
514
  loafLiquidityPath?: string;
501
515
  /** Absolute URL for the auth/login surface (e.g. https://auth.loafmarkets.com/login). */
502
516
  authLoginUrl?: string | null;
@@ -578,13 +592,39 @@ declare const PropertyCompareBar: React.ForwardRefExoticComponent<React.HTMLAttr
578
592
  price?: PropertyPriceSummary;
579
593
  } & React.RefAttributes<HTMLDivElement>>;
580
594
 
595
+ interface OverviewResponse {
596
+ readonly description: string;
597
+ readonly tokensIssued: number;
598
+ readonly offeringValuation: number;
599
+ readonly weeklyRent: number;
600
+ readonly indicativeListing: string;
601
+ readonly minimumParticipation?: number;
602
+ readonly landSizeSqm: number;
603
+ readonly buildingSizeSqm: number;
604
+ readonly swimmingPool: boolean;
605
+ readonly tennisCourt: boolean;
606
+ readonly garden: boolean;
607
+ readonly gym: boolean;
608
+ readonly propertyType?: string;
609
+ readonly yearBuilt: number;
610
+ readonly ownership: string;
611
+ readonly zoning: string;
612
+ readonly levels: number;
613
+ readonly daStatus: string;
614
+ }
581
615
  type PropertyOverviewProps = {
582
616
  propertyName: string;
583
617
  location: string;
584
618
  midPrice: number;
585
619
  onTradeClick?: () => void;
620
+ overviewData?: OverviewResponse | null;
621
+ minimumParticipation?: number | null;
622
+ bedrooms?: number | null;
623
+ bathrooms?: number | null;
624
+ carSpaces?: number | null;
625
+ propertyTypeLabel?: string | null;
586
626
  };
587
- declare function PropertyOverview({ propertyName: _propertyName, location: _location, midPrice: _midPrice, onTradeClick: _onTradeClick }: PropertyOverviewProps): react_jsx_runtime.JSX.Element;
627
+ declare function PropertyOverview({ propertyName: _propertyName, location: _location, midPrice: _midPrice, onTradeClick: _onTradeClick, overviewData, minimumParticipation, bedrooms, bathrooms, carSpaces, propertyTypeLabel, }: PropertyOverviewProps): react_jsx_runtime.JSX.Element;
588
628
 
589
629
  type OfferStatus = 'active' | 'rejected' | 'expired' | 'historical' | 'pending';
590
630
  type PropertyOffer = {
@@ -603,7 +643,17 @@ declare function PropertyOffers({ offers }: PropertyOffersProps): react_jsx_runt
603
643
 
604
644
  declare function PropertyHistory(): react_jsx_runtime.JSX.Element;
605
645
 
606
- declare function PropertyDocuments(): react_jsx_runtime.JSX.Element;
646
+ interface DocumentItem {
647
+ readonly title: string;
648
+ readonly documentUrl: string;
649
+ }
650
+ interface DocumentsResponse {
651
+ readonly documents: readonly DocumentItem[];
652
+ }
653
+ type PropertyDocumentsProps = {
654
+ documentsData?: DocumentsResponse | null;
655
+ };
656
+ declare function PropertyDocuments({ documentsData }: PropertyDocumentsProps): react_jsx_runtime.JSX.Element;
607
657
 
608
658
  type InspectionSlot = {
609
659
  slotId: string;
@@ -656,19 +706,34 @@ type SaleData = {
656
706
  feePercent: number;
657
707
  offeringValuation: number;
658
708
  };
709
+ type PropertySubscription = {
710
+ propertyName: string;
711
+ tokenSymbol: string;
712
+ tokens: number;
713
+ value: number;
714
+ avgPrice: number;
715
+ percentOfProperty: string;
716
+ timestamp: string;
717
+ status?: string;
718
+ };
659
719
 
660
720
  type PropertyBuyProps = {
661
721
  propertyName?: string;
662
722
  propertyLocation?: string;
723
+ tokenDisplayName?: string;
724
+ tokenSymbol?: string;
663
725
  isAuthenticated: boolean;
664
726
  onSignIn: () => void;
665
727
  saleData?: SaleData | null;
666
728
  walletUsdcBalance?: number | null;
729
+ walletPropertyTokenBalance?: number | null;
667
730
  onPurchase?: (tokenAmount: number) => Promise<void>;
668
731
  purchaseStatus?: 'idle' | 'checking-allowance' | 'approving' | 'purchasing' | 'success' | 'error';
669
732
  purchaseError?: string | null;
733
+ onDeposit?: () => void;
734
+ initialUserSubscriptions?: PropertySubscription[];
670
735
  };
671
- declare function PropertyBuy({ propertyName, propertyLocation: propertyLocationLabel, isAuthenticated, onSignIn, saleData, walletUsdcBalance, onPurchase, purchaseStatus, purchaseError, }: PropertyBuyProps): react_jsx_runtime.JSX.Element;
736
+ declare function PropertyBuy({ propertyName, propertyLocation: propertyLocationLabel, tokenDisplayName, tokenSymbol, isAuthenticated, onSignIn, saleData, walletUsdcBalance, walletPropertyTokenBalance, onPurchase, purchaseStatus, purchaseError, onDeposit, initialUserSubscriptions, }: PropertyBuyProps): react_jsx_runtime.JSX.Element;
672
737
 
673
738
  type OwnerBookingProps = {
674
739
  propertyName?: string | null;
@@ -757,4 +822,27 @@ type PropertyPhotoGalleryProps = {
757
822
  };
758
823
  declare function PropertyPhotoGallery({ isOpen, onClose, startIndex, title, subtitle, images, }: PropertyPhotoGalleryProps): react_jsx_runtime.JSX.Element | null;
759
824
 
760
- export { 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 FundWalletParams, Header, 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, Orderbook, type OrderbookLevel, type OrderbookProps, type OrderbookSide, type OrderbookTrade, OwnerBooking, type OwnerBookingProps, PaymentPopup, type PaymentPopupProps, 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, PropertyInspectionTimes, 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, TradeConfirmationModal, type TradeConfirmationModalDetails, type TradeConfirmationModalProps, TradingSlider, type TradingSliderProps, type ValuationHistoryPoint, type ValuationRecentSale, type ValuationSummary, type YourOrder, type YourOrderSide, YourOrders, type YourOrdersProps, badgeVariants, buttonVariants };
825
+ type ToastVariant = 'success' | 'error' | 'info' | 'pending';
826
+ type ToastData = {
827
+ id: string;
828
+ variant: ToastVariant;
829
+ title: string;
830
+ /** Human-readable amount e.g. "20,000 USDC" */
831
+ amount?: string;
832
+ /** On-chain tx hash — shown truncated with a block explorer link */
833
+ txHash?: string;
834
+ /** Explorer base URL, defaults to Base Sepolia */
835
+ explorerUrl?: string;
836
+ /** Auto-dismiss after ms. 0 = never. Default 6000 */
837
+ duration?: number;
838
+ };
839
+ type ToastContextValue = {
840
+ toast: (data: Omit<ToastData, 'id'>) => string;
841
+ dismiss: (id: string) => void;
842
+ };
843
+ declare function ToastProvider({ children }: {
844
+ children: React__default.ReactNode;
845
+ }): react_jsx_runtime.JSX.Element;
846
+ declare function useToast(): ToastContextValue;
847
+
848
+ export { 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 FundWalletParams, Header, 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, Orderbook, type OrderbookLevel, type OrderbookProps, type OrderbookSide, type OrderbookTrade, OwnerBooking, type OwnerBookingProps, PaymentPopup, type PaymentPopupProps, 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, PropertyInspectionTimes, 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 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, useToast };
package/dist/index.d.ts CHANGED
@@ -339,6 +339,7 @@ type YourOrdersProps = React.HTMLAttributes<HTMLDivElement> & {
339
339
  onTabChange?: (tabId: string) => void;
340
340
  renderOrderActions?: (order: YourOrder) => React.ReactNode;
341
341
  renderTabContent?: (args: RenderTabContentArgs) => React.ReactNode | null;
342
+ pageSize?: number;
342
343
  };
343
344
  declare const YourOrders: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
344
345
  title?: string;
@@ -348,6 +349,7 @@ declare const YourOrders: React.ForwardRefExoticComponent<React.HTMLAttributes<H
348
349
  onTabChange?: (tabId: string) => void;
349
350
  renderOrderActions?: (order: YourOrder) => React.ReactNode;
350
351
  renderTabContent?: (args: RenderTabContentArgs) => React.ReactNode | null;
352
+ pageSize?: number;
351
353
  } & React.RefAttributes<HTMLDivElement>>;
352
354
 
353
355
  type PriceChartRange = "30s" | "1m" | "5m" | "15m" | "1h" | "4h" | "24h" | "1W" | "1M";
@@ -395,6 +397,10 @@ type PropertyHeroHeaderProps = React.HTMLAttributes<HTMLDivElement> & {
395
397
  propertyTypeLabel?: string;
396
398
  onTrade?: () => void;
397
399
  onMakeOffer?: () => void;
400
+ tradeButtonLabel?: string;
401
+ makeOfferButtonLabel?: string;
402
+ makeOfferDisabled?: boolean;
403
+ hideMakeOfferButton?: boolean;
398
404
  };
399
405
  declare const PropertyHeroHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
400
406
  imageUrl: string;
@@ -410,6 +416,10 @@ declare const PropertyHeroHeader: React.ForwardRefExoticComponent<React.HTMLAttr
410
416
  propertyTypeLabel?: string;
411
417
  onTrade?: () => void;
412
418
  onMakeOffer?: () => void;
419
+ tradeButtonLabel?: string;
420
+ makeOfferButtonLabel?: string;
421
+ makeOfferDisabled?: boolean;
422
+ hideMakeOfferButton?: boolean;
413
423
  } & React.RefAttributes<HTMLDivElement>>;
414
424
 
415
425
  type EmailCodeParams = {
@@ -469,6 +479,8 @@ type LoginPopupProps = {
469
479
  }> | void;
470
480
  /** Optional view to show immediately when the popup opens. */
471
481
  initialView?: LoginPopupView;
482
+ /** Handler invoked when the user selects "Sign in with Wallet". */
483
+ onWalletLogin?: () => Promise<void> | void;
472
484
  };
473
485
  declare const LoginPopup: React__default.FC<LoginPopupProps>;
474
486
 
@@ -477,7 +489,7 @@ type HeaderUser = {
477
489
  email?: string | null;
478
490
  walletAddress?: string | null;
479
491
  };
480
- type HeaderActiveTab = "home" | "trade" | "offerings" | "propertyMap" | "about";
492
+ type HeaderActiveTab = "home" | "trade" | "offerings" | "propertyMap" | "about" | "portfolio" | "learn";
481
493
  type HeaderLoginPopupComponentProps = {
482
494
  onClose: () => void;
483
495
  initialView?: LoginPopupView;
@@ -495,8 +507,10 @@ type HeaderProps = {
495
507
  tradePath?: string;
496
508
  homePath?: string;
497
509
  aboutPath?: string;
510
+ learnPath?: string;
498
511
  offeringsPath?: string;
499
512
  propertyMapPath?: string;
513
+ portfolioPath?: string;
500
514
  loafLiquidityPath?: string;
501
515
  /** Absolute URL for the auth/login surface (e.g. https://auth.loafmarkets.com/login). */
502
516
  authLoginUrl?: string | null;
@@ -578,13 +592,39 @@ declare const PropertyCompareBar: React.ForwardRefExoticComponent<React.HTMLAttr
578
592
  price?: PropertyPriceSummary;
579
593
  } & React.RefAttributes<HTMLDivElement>>;
580
594
 
595
+ interface OverviewResponse {
596
+ readonly description: string;
597
+ readonly tokensIssued: number;
598
+ readonly offeringValuation: number;
599
+ readonly weeklyRent: number;
600
+ readonly indicativeListing: string;
601
+ readonly minimumParticipation?: number;
602
+ readonly landSizeSqm: number;
603
+ readonly buildingSizeSqm: number;
604
+ readonly swimmingPool: boolean;
605
+ readonly tennisCourt: boolean;
606
+ readonly garden: boolean;
607
+ readonly gym: boolean;
608
+ readonly propertyType?: string;
609
+ readonly yearBuilt: number;
610
+ readonly ownership: string;
611
+ readonly zoning: string;
612
+ readonly levels: number;
613
+ readonly daStatus: string;
614
+ }
581
615
  type PropertyOverviewProps = {
582
616
  propertyName: string;
583
617
  location: string;
584
618
  midPrice: number;
585
619
  onTradeClick?: () => void;
620
+ overviewData?: OverviewResponse | null;
621
+ minimumParticipation?: number | null;
622
+ bedrooms?: number | null;
623
+ bathrooms?: number | null;
624
+ carSpaces?: number | null;
625
+ propertyTypeLabel?: string | null;
586
626
  };
587
- declare function PropertyOverview({ propertyName: _propertyName, location: _location, midPrice: _midPrice, onTradeClick: _onTradeClick }: PropertyOverviewProps): react_jsx_runtime.JSX.Element;
627
+ declare function PropertyOverview({ propertyName: _propertyName, location: _location, midPrice: _midPrice, onTradeClick: _onTradeClick, overviewData, minimumParticipation, bedrooms, bathrooms, carSpaces, propertyTypeLabel, }: PropertyOverviewProps): react_jsx_runtime.JSX.Element;
588
628
 
589
629
  type OfferStatus = 'active' | 'rejected' | 'expired' | 'historical' | 'pending';
590
630
  type PropertyOffer = {
@@ -603,7 +643,17 @@ declare function PropertyOffers({ offers }: PropertyOffersProps): react_jsx_runt
603
643
 
604
644
  declare function PropertyHistory(): react_jsx_runtime.JSX.Element;
605
645
 
606
- declare function PropertyDocuments(): react_jsx_runtime.JSX.Element;
646
+ interface DocumentItem {
647
+ readonly title: string;
648
+ readonly documentUrl: string;
649
+ }
650
+ interface DocumentsResponse {
651
+ readonly documents: readonly DocumentItem[];
652
+ }
653
+ type PropertyDocumentsProps = {
654
+ documentsData?: DocumentsResponse | null;
655
+ };
656
+ declare function PropertyDocuments({ documentsData }: PropertyDocumentsProps): react_jsx_runtime.JSX.Element;
607
657
 
608
658
  type InspectionSlot = {
609
659
  slotId: string;
@@ -656,19 +706,34 @@ type SaleData = {
656
706
  feePercent: number;
657
707
  offeringValuation: number;
658
708
  };
709
+ type PropertySubscription = {
710
+ propertyName: string;
711
+ tokenSymbol: string;
712
+ tokens: number;
713
+ value: number;
714
+ avgPrice: number;
715
+ percentOfProperty: string;
716
+ timestamp: string;
717
+ status?: string;
718
+ };
659
719
 
660
720
  type PropertyBuyProps = {
661
721
  propertyName?: string;
662
722
  propertyLocation?: string;
723
+ tokenDisplayName?: string;
724
+ tokenSymbol?: string;
663
725
  isAuthenticated: boolean;
664
726
  onSignIn: () => void;
665
727
  saleData?: SaleData | null;
666
728
  walletUsdcBalance?: number | null;
729
+ walletPropertyTokenBalance?: number | null;
667
730
  onPurchase?: (tokenAmount: number) => Promise<void>;
668
731
  purchaseStatus?: 'idle' | 'checking-allowance' | 'approving' | 'purchasing' | 'success' | 'error';
669
732
  purchaseError?: string | null;
733
+ onDeposit?: () => void;
734
+ initialUserSubscriptions?: PropertySubscription[];
670
735
  };
671
- declare function PropertyBuy({ propertyName, propertyLocation: propertyLocationLabel, isAuthenticated, onSignIn, saleData, walletUsdcBalance, onPurchase, purchaseStatus, purchaseError, }: PropertyBuyProps): react_jsx_runtime.JSX.Element;
736
+ declare function PropertyBuy({ propertyName, propertyLocation: propertyLocationLabel, tokenDisplayName, tokenSymbol, isAuthenticated, onSignIn, saleData, walletUsdcBalance, walletPropertyTokenBalance, onPurchase, purchaseStatus, purchaseError, onDeposit, initialUserSubscriptions, }: PropertyBuyProps): react_jsx_runtime.JSX.Element;
672
737
 
673
738
  type OwnerBookingProps = {
674
739
  propertyName?: string | null;
@@ -757,4 +822,27 @@ type PropertyPhotoGalleryProps = {
757
822
  };
758
823
  declare function PropertyPhotoGallery({ isOpen, onClose, startIndex, title, subtitle, images, }: PropertyPhotoGalleryProps): react_jsx_runtime.JSX.Element | null;
759
824
 
760
- export { 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 FundWalletParams, Header, 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, Orderbook, type OrderbookLevel, type OrderbookProps, type OrderbookSide, type OrderbookTrade, OwnerBooking, type OwnerBookingProps, PaymentPopup, type PaymentPopupProps, 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, PropertyInspectionTimes, 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, TradeConfirmationModal, type TradeConfirmationModalDetails, type TradeConfirmationModalProps, TradingSlider, type TradingSliderProps, type ValuationHistoryPoint, type ValuationRecentSale, type ValuationSummary, type YourOrder, type YourOrderSide, YourOrders, type YourOrdersProps, badgeVariants, buttonVariants };
825
+ type ToastVariant = 'success' | 'error' | 'info' | 'pending';
826
+ type ToastData = {
827
+ id: string;
828
+ variant: ToastVariant;
829
+ title: string;
830
+ /** Human-readable amount e.g. "20,000 USDC" */
831
+ amount?: string;
832
+ /** On-chain tx hash — shown truncated with a block explorer link */
833
+ txHash?: string;
834
+ /** Explorer base URL, defaults to Base Sepolia */
835
+ explorerUrl?: string;
836
+ /** Auto-dismiss after ms. 0 = never. Default 6000 */
837
+ duration?: number;
838
+ };
839
+ type ToastContextValue = {
840
+ toast: (data: Omit<ToastData, 'id'>) => string;
841
+ dismiss: (id: string) => void;
842
+ };
843
+ declare function ToastProvider({ children }: {
844
+ children: React__default.ReactNode;
845
+ }): react_jsx_runtime.JSX.Element;
846
+ declare function useToast(): ToastContextValue;
847
+
848
+ export { 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 FundWalletParams, Header, 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, Orderbook, type OrderbookLevel, type OrderbookProps, type OrderbookSide, type OrderbookTrade, OwnerBooking, type OwnerBookingProps, PaymentPopup, type PaymentPopupProps, 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, PropertyInspectionTimes, 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 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, useToast };