@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 +93 -5
- package/dist/index.d.ts +93 -5
- package/dist/index.js +711 -182
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +711 -184
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 };
|