@travories/frontend-sdk 0.1.3 → 0.1.4
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 +20 -15
- package/dist/index.d.ts +20 -15
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -521,6 +521,15 @@ interface PackageCardProps {
|
|
|
521
521
|
*/
|
|
522
522
|
declare const PackageCard: React.FC<PackageCardProps>;
|
|
523
523
|
|
|
524
|
+
/** Booking details the user picked in the BookingCardLite when they hit Reserve. */
|
|
525
|
+
interface ReservePayload {
|
|
526
|
+
pkg: TravoriesPackage;
|
|
527
|
+
arrival: string;
|
|
528
|
+
departure: string;
|
|
529
|
+
travelers: BookingTraveler[];
|
|
530
|
+
totalCost: number;
|
|
531
|
+
pricePerPerson: number;
|
|
532
|
+
}
|
|
524
533
|
interface PackageDetailViewProps {
|
|
525
534
|
/** Travories SDK client. Required when using `slug`. */
|
|
526
535
|
client?: TravoriesClient;
|
|
@@ -530,8 +539,10 @@ interface PackageDetailViewProps {
|
|
|
530
539
|
initialBundle?: PackageBundle | null;
|
|
531
540
|
/** Currency code for prices (default "USD"). */
|
|
532
541
|
currency?: string;
|
|
533
|
-
/** Called when the user hits Reserve.
|
|
534
|
-
|
|
542
|
+
/** Called when the user hits Reserve. Receives the full picked payload
|
|
543
|
+
* (pkg + arrival date + travelers + computed totals). Return a Promise to
|
|
544
|
+
* show an "Initiating…" state on the CTA until it resolves. */
|
|
545
|
+
onReserve?: (payload: ReservePayload) => void | Promise<void>;
|
|
535
546
|
/** Called when the user clicks the host card. Receives the host. */
|
|
536
547
|
onSelectHost?: (host: PackageHost) => void;
|
|
537
548
|
/** When set, host card renders as `<a href={agencyHrefFor(host)}>` — enables
|
|
@@ -654,7 +665,7 @@ interface DescriptionSectionProps {
|
|
|
654
665
|
DescriptionData: DescriptionData;
|
|
655
666
|
topData: TopData;
|
|
656
667
|
currency?: string;
|
|
657
|
-
onReserve?: (
|
|
668
|
+
onReserve?: (payload: ReservePayload) => void | Promise<void>;
|
|
658
669
|
pkg: TravoriesPackage;
|
|
659
670
|
routes?: PackageRoutesDay[];
|
|
660
671
|
}
|
|
@@ -730,16 +741,6 @@ interface HostAboutProps {
|
|
|
730
741
|
}
|
|
731
742
|
declare const HostAbout: React.FC<HostAboutProps>;
|
|
732
743
|
|
|
733
|
-
type TravelerOption = {
|
|
734
|
-
id: "Adult" | "Senior Citizen" | "Children" | "Infant";
|
|
735
|
-
name: string;
|
|
736
|
-
count: number;
|
|
737
|
-
ageRange?: {
|
|
738
|
-
min: number;
|
|
739
|
-
max: number;
|
|
740
|
-
};
|
|
741
|
-
countInTotal: boolean;
|
|
742
|
-
};
|
|
743
744
|
interface BookingCardLiteProps {
|
|
744
745
|
DescriptionData: DescriptionData;
|
|
745
746
|
currency?: string;
|
|
@@ -749,7 +750,11 @@ interface BookingCardLiteProps {
|
|
|
749
750
|
onReserve?: (payload: {
|
|
750
751
|
arrival: string;
|
|
751
752
|
departure: string;
|
|
752
|
-
|
|
753
|
+
/** Same shape `client.bookings.initiate()` accepts. */
|
|
754
|
+
travelers: {
|
|
755
|
+
name: string;
|
|
756
|
+
count: number;
|
|
757
|
+
}[];
|
|
753
758
|
totalCost: number;
|
|
754
759
|
pricePerPerson: number;
|
|
755
760
|
}) => void | Promise<void>;
|
|
@@ -819,4 +824,4 @@ declare function startingPrice(prices: PackagePriceTier[] | undefined): number;
|
|
|
819
824
|
declare function formatCurrency(amount: number, currency?: string): string;
|
|
820
825
|
declare function formatRating(rating: number | undefined): string;
|
|
821
826
|
|
|
822
|
-
export { AgenciesResource, type AgencyAssociationItem, AgencyAssociations, type AgencyBundle, AgencyDetailView, type AgencyDetailViewProps, type AgencyHostDetails, type AgencyHostResponse, BookingCardLite, type BookingInitiateRequest, type BookingInitiateResponse, type BookingTraveler, BookingsResource, type DescriptionData, DescriptionSection, GallerySection, type HomePackageCard, type HomeSectionKey, HomeSections, type HomeSectionsContextValue, type HomeSectionsProps, HomeSectionsProvider, type HomeSectionsProviderProps, type HomeSectionsResponse, HostAbout, HostCard, type HttpClientConfig, type HttpRequestOptions, Itinerary, type MajorAttractionItem, type MajorAttractionsResponse, type MediaItem, type PackageBundle, PackageCard, type PackageDay, type PackageDayLocation, PackageDetailView, type PackageDetailViewProps, type PackageDiscount, PackageExcludedAndToPack, type PackageHost, type PackageHostResponse, PackageIncluded, PackageMap, PackageOverview, type PackagePriceTier, type PackageRoute, type PackageRouteGeometry, type PackageRoutesDay, type PackageRoutesResponse, PackagesCarousel, PackagesResource, PackagesSection, type PackagesSectionProps, type ThingItem, type TopData, TopSection, TravoriesApiError, TravoriesClient, type TravoriesClientConfig, type TravoriesImage, type TravoriesImageUrls, type TravoriesPackage, type UseAgencyBundleResult, type UseHomeSectionsResult, type UsePackageBundleResult, type UsePackageBySlugResult, buildDescriptionData, buildGalleryMedia, buildTopData, createTravoriesClient, formatCurrency, formatRating, pickImageUrl, startingPrice, useAgencyBundle, useHomeSections, useHomeSectionsContext, usePackageBundle, usePackageBySlug };
|
|
827
|
+
export { AgenciesResource, type AgencyAssociationItem, AgencyAssociations, type AgencyBundle, AgencyDetailView, type AgencyDetailViewProps, type AgencyHostDetails, type AgencyHostResponse, BookingCardLite, type BookingInitiateRequest, type BookingInitiateResponse, type BookingTraveler, BookingsResource, type DescriptionData, DescriptionSection, GallerySection, type HomePackageCard, type HomeSectionKey, HomeSections, type HomeSectionsContextValue, type HomeSectionsProps, HomeSectionsProvider, type HomeSectionsProviderProps, type HomeSectionsResponse, HostAbout, HostCard, type HttpClientConfig, type HttpRequestOptions, Itinerary, type MajorAttractionItem, type MajorAttractionsResponse, type MediaItem, type PackageBundle, PackageCard, type PackageDay, type PackageDayLocation, PackageDetailView, type PackageDetailViewProps, type PackageDiscount, PackageExcludedAndToPack, type PackageHost, type PackageHostResponse, PackageIncluded, PackageMap, PackageOverview, type PackagePriceTier, type PackageRoute, type PackageRouteGeometry, type PackageRoutesDay, type PackageRoutesResponse, PackagesCarousel, PackagesResource, PackagesSection, type PackagesSectionProps, type ReservePayload, type ThingItem, type TopData, TopSection, TravoriesApiError, TravoriesClient, type TravoriesClientConfig, type TravoriesImage, type TravoriesImageUrls, type TravoriesPackage, type UseAgencyBundleResult, type UseHomeSectionsResult, type UsePackageBundleResult, type UsePackageBySlugResult, buildDescriptionData, buildGalleryMedia, buildTopData, createTravoriesClient, formatCurrency, formatRating, pickImageUrl, startingPrice, useAgencyBundle, useHomeSections, useHomeSectionsContext, usePackageBundle, usePackageBySlug };
|
package/dist/index.d.ts
CHANGED
|
@@ -521,6 +521,15 @@ interface PackageCardProps {
|
|
|
521
521
|
*/
|
|
522
522
|
declare const PackageCard: React.FC<PackageCardProps>;
|
|
523
523
|
|
|
524
|
+
/** Booking details the user picked in the BookingCardLite when they hit Reserve. */
|
|
525
|
+
interface ReservePayload {
|
|
526
|
+
pkg: TravoriesPackage;
|
|
527
|
+
arrival: string;
|
|
528
|
+
departure: string;
|
|
529
|
+
travelers: BookingTraveler[];
|
|
530
|
+
totalCost: number;
|
|
531
|
+
pricePerPerson: number;
|
|
532
|
+
}
|
|
524
533
|
interface PackageDetailViewProps {
|
|
525
534
|
/** Travories SDK client. Required when using `slug`. */
|
|
526
535
|
client?: TravoriesClient;
|
|
@@ -530,8 +539,10 @@ interface PackageDetailViewProps {
|
|
|
530
539
|
initialBundle?: PackageBundle | null;
|
|
531
540
|
/** Currency code for prices (default "USD"). */
|
|
532
541
|
currency?: string;
|
|
533
|
-
/** Called when the user hits Reserve.
|
|
534
|
-
|
|
542
|
+
/** Called when the user hits Reserve. Receives the full picked payload
|
|
543
|
+
* (pkg + arrival date + travelers + computed totals). Return a Promise to
|
|
544
|
+
* show an "Initiating…" state on the CTA until it resolves. */
|
|
545
|
+
onReserve?: (payload: ReservePayload) => void | Promise<void>;
|
|
535
546
|
/** Called when the user clicks the host card. Receives the host. */
|
|
536
547
|
onSelectHost?: (host: PackageHost) => void;
|
|
537
548
|
/** When set, host card renders as `<a href={agencyHrefFor(host)}>` — enables
|
|
@@ -654,7 +665,7 @@ interface DescriptionSectionProps {
|
|
|
654
665
|
DescriptionData: DescriptionData;
|
|
655
666
|
topData: TopData;
|
|
656
667
|
currency?: string;
|
|
657
|
-
onReserve?: (
|
|
668
|
+
onReserve?: (payload: ReservePayload) => void | Promise<void>;
|
|
658
669
|
pkg: TravoriesPackage;
|
|
659
670
|
routes?: PackageRoutesDay[];
|
|
660
671
|
}
|
|
@@ -730,16 +741,6 @@ interface HostAboutProps {
|
|
|
730
741
|
}
|
|
731
742
|
declare const HostAbout: React.FC<HostAboutProps>;
|
|
732
743
|
|
|
733
|
-
type TravelerOption = {
|
|
734
|
-
id: "Adult" | "Senior Citizen" | "Children" | "Infant";
|
|
735
|
-
name: string;
|
|
736
|
-
count: number;
|
|
737
|
-
ageRange?: {
|
|
738
|
-
min: number;
|
|
739
|
-
max: number;
|
|
740
|
-
};
|
|
741
|
-
countInTotal: boolean;
|
|
742
|
-
};
|
|
743
744
|
interface BookingCardLiteProps {
|
|
744
745
|
DescriptionData: DescriptionData;
|
|
745
746
|
currency?: string;
|
|
@@ -749,7 +750,11 @@ interface BookingCardLiteProps {
|
|
|
749
750
|
onReserve?: (payload: {
|
|
750
751
|
arrival: string;
|
|
751
752
|
departure: string;
|
|
752
|
-
|
|
753
|
+
/** Same shape `client.bookings.initiate()` accepts. */
|
|
754
|
+
travelers: {
|
|
755
|
+
name: string;
|
|
756
|
+
count: number;
|
|
757
|
+
}[];
|
|
753
758
|
totalCost: number;
|
|
754
759
|
pricePerPerson: number;
|
|
755
760
|
}) => void | Promise<void>;
|
|
@@ -819,4 +824,4 @@ declare function startingPrice(prices: PackagePriceTier[] | undefined): number;
|
|
|
819
824
|
declare function formatCurrency(amount: number, currency?: string): string;
|
|
820
825
|
declare function formatRating(rating: number | undefined): string;
|
|
821
826
|
|
|
822
|
-
export { AgenciesResource, type AgencyAssociationItem, AgencyAssociations, type AgencyBundle, AgencyDetailView, type AgencyDetailViewProps, type AgencyHostDetails, type AgencyHostResponse, BookingCardLite, type BookingInitiateRequest, type BookingInitiateResponse, type BookingTraveler, BookingsResource, type DescriptionData, DescriptionSection, GallerySection, type HomePackageCard, type HomeSectionKey, HomeSections, type HomeSectionsContextValue, type HomeSectionsProps, HomeSectionsProvider, type HomeSectionsProviderProps, type HomeSectionsResponse, HostAbout, HostCard, type HttpClientConfig, type HttpRequestOptions, Itinerary, type MajorAttractionItem, type MajorAttractionsResponse, type MediaItem, type PackageBundle, PackageCard, type PackageDay, type PackageDayLocation, PackageDetailView, type PackageDetailViewProps, type PackageDiscount, PackageExcludedAndToPack, type PackageHost, type PackageHostResponse, PackageIncluded, PackageMap, PackageOverview, type PackagePriceTier, type PackageRoute, type PackageRouteGeometry, type PackageRoutesDay, type PackageRoutesResponse, PackagesCarousel, PackagesResource, PackagesSection, type PackagesSectionProps, type ThingItem, type TopData, TopSection, TravoriesApiError, TravoriesClient, type TravoriesClientConfig, type TravoriesImage, type TravoriesImageUrls, type TravoriesPackage, type UseAgencyBundleResult, type UseHomeSectionsResult, type UsePackageBundleResult, type UsePackageBySlugResult, buildDescriptionData, buildGalleryMedia, buildTopData, createTravoriesClient, formatCurrency, formatRating, pickImageUrl, startingPrice, useAgencyBundle, useHomeSections, useHomeSectionsContext, usePackageBundle, usePackageBySlug };
|
|
827
|
+
export { AgenciesResource, type AgencyAssociationItem, AgencyAssociations, type AgencyBundle, AgencyDetailView, type AgencyDetailViewProps, type AgencyHostDetails, type AgencyHostResponse, BookingCardLite, type BookingInitiateRequest, type BookingInitiateResponse, type BookingTraveler, BookingsResource, type DescriptionData, DescriptionSection, GallerySection, type HomePackageCard, type HomeSectionKey, HomeSections, type HomeSectionsContextValue, type HomeSectionsProps, HomeSectionsProvider, type HomeSectionsProviderProps, type HomeSectionsResponse, HostAbout, HostCard, type HttpClientConfig, type HttpRequestOptions, Itinerary, type MajorAttractionItem, type MajorAttractionsResponse, type MediaItem, type PackageBundle, PackageCard, type PackageDay, type PackageDayLocation, PackageDetailView, type PackageDetailViewProps, type PackageDiscount, PackageExcludedAndToPack, type PackageHost, type PackageHostResponse, PackageIncluded, PackageMap, PackageOverview, type PackagePriceTier, type PackageRoute, type PackageRouteGeometry, type PackageRoutesDay, type PackageRoutesResponse, PackagesCarousel, PackagesResource, PackagesSection, type PackagesSectionProps, type ReservePayload, type ThingItem, type TopData, TopSection, TravoriesApiError, TravoriesClient, type TravoriesClientConfig, type TravoriesImage, type TravoriesImageUrls, type TravoriesPackage, type UseAgencyBundleResult, type UseHomeSectionsResult, type UsePackageBundleResult, type UsePackageBySlugResult, buildDescriptionData, buildGalleryMedia, buildTopData, createTravoriesClient, formatCurrency, formatRating, pickImageUrl, startingPrice, useAgencyBundle, useHomeSections, useHomeSectionsContext, usePackageBundle, usePackageBySlug };
|
package/dist/index.js
CHANGED
|
@@ -1001,10 +1001,11 @@ var BookingCardLite = ({
|
|
|
1001
1001
|
const handleReserve = () => {
|
|
1002
1002
|
if (!onReserve) return;
|
|
1003
1003
|
if (allPeopleCount === 0) return;
|
|
1004
|
+
const travelers = options.filter((o) => o.count > 0).map((o) => ({ name: o.name, count: o.count }));
|
|
1004
1005
|
const result = onReserve({
|
|
1005
1006
|
arrival,
|
|
1006
1007
|
departure,
|
|
1007
|
-
travelers
|
|
1008
|
+
travelers,
|
|
1008
1009
|
totalCost,
|
|
1009
1010
|
pricePerPerson: currentPrice
|
|
1010
1011
|
});
|
|
@@ -2078,7 +2079,7 @@ var DescriptionSection = ({
|
|
|
2078
2079
|
{
|
|
2079
2080
|
DescriptionData,
|
|
2080
2081
|
currency,
|
|
2081
|
-
onReserve: onReserve ? () => onReserve(pkg) : void 0
|
|
2082
|
+
onReserve: onReserve ? (booking) => onReserve({ pkg, ...booking }) : void 0
|
|
2082
2083
|
}
|
|
2083
2084
|
) })
|
|
2084
2085
|
]
|