@loczer/storefront-sdk 0.208.0 → 0.210.0
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/StorefrontContext.d.ts +89 -0
- package/dist/StorefrontContext.d.ts.map +1 -1
- package/dist/StorefrontContext.js +8 -1
- package/dist/StorefrontProvider.d.ts +84 -0
- package/dist/StorefrontProvider.d.ts.map +1 -1
- package/dist/StorefrontProvider.js +55 -41
- package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/date/index-DAbcklF5.js +1 -0
- package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/date/mini-CSEBo1ZP.js +60 -0
- package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/index--u3Qf-qy.js +4 -0
- package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/tz/index-CEcibV-H.js +1 -0
- package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/tzOffset/index-COlDDdap.js +22 -0
- package/dist/chunks/pkg/booking-engine/dist/pricing-BJaynUu_.js +3 -0
- package/dist/chunks/pkg/booking-engine/dist/utils/schedule-ssRov9xe.js +39 -0
- package/dist/chunks/pkg/booking-engine/dist/utils/timezone-B6XIbBPz.js +79 -0
- package/dist/chunks/pkg/ui/dist/Map/{MapContent-CDeWtwKa.js → MapContent-TzYCv8ji.js} +109 -108
- package/dist/chunks/pkg/ui/dist/Map/constants-dF2KdJZy.js +8 -0
- package/dist/chunks/pkg/ui/dist/{Map-Cs7wgtH9.js → Map-ZM-ZOU9P.js} +1 -1
- package/dist/components/BookingBikeVariantDialog/index.js +15 -15
- package/dist/components/ContactSection/index.js +9 -9
- package/dist/components/Header/index.d.ts.map +1 -1
- package/dist/components/Header/index.js +72 -66
- package/dist/components/Itineraries/ItinerariesSection.d.ts +2 -0
- package/dist/components/Itineraries/ItinerariesSection.d.ts.map +1 -0
- package/dist/components/Itineraries/ItinerariesSection.js +81 -0
- package/dist/components/Itineraries/ItineraryListItem.d.ts +9 -0
- package/dist/components/Itineraries/ItineraryListItem.d.ts.map +1 -0
- package/dist/components/Itineraries/ItineraryListItem.js +100 -0
- package/dist/components/Itineraries/ItineraryRouteMap.d.ts +10 -0
- package/dist/components/Itineraries/ItineraryRouteMap.d.ts.map +1 -0
- package/dist/components/Itineraries/ItineraryRouteMap.js +67 -0
- package/dist/components/Itineraries/index.d.ts +4 -0
- package/dist/components/Itineraries/index.d.ts.map +1 -0
- package/dist/components/Itineraries/index.js +4 -0
- package/dist/components/Map/index.d.ts +12 -0
- package/dist/components/Map/index.d.ts.map +1 -1
- package/dist/components/Map/index.js +1 -1
- package/dist/components/ProductPriceBadge/index.d.ts.map +1 -1
- package/dist/components/ProductPriceBadge/index.js +86 -80
- package/dist/components/StorefrontCartPanel/index.d.ts +4 -4
- package/dist/components/StorefrontCartPanel/index.d.ts.map +1 -1
- package/dist/components/StorefrontCartPanel/index.js +10 -9
- package/dist/i18n/en.d.ts +42 -6
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +44 -8
- package/dist/i18n/fr.d.ts +42 -6
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +44 -8
- package/dist/index.d.ts +817 -36
- package/dist/index.js +67 -60
- package/dist/lib/booking.d.ts +0 -6
- package/dist/lib/booking.d.ts.map +1 -1
- package/dist/lib/booking.js +51 -65
- package/dist/lib/cartSummary.d.ts +5 -3
- package/dist/lib/cartSummary.d.ts.map +1 -1
- package/dist/lib/cartSummary.js +7 -7
- package/dist/lib/itineraryPresentation.d.ts +14 -0
- package/dist/lib/itineraryPresentation.d.ts.map +1 -0
- package/dist/lib/itineraryPresentation.js +26 -0
- package/dist/lib/pricing.d.ts +18 -6
- package/dist/lib/pricing.d.ts.map +1 -1
- package/dist/lib/pricing.js +45 -29
- package/dist/lib/storefrontItineraries.d.ts +418 -0
- package/dist/lib/storefrontItineraries.d.ts.map +1 -0
- package/dist/lib/storefrontItineraries.js +81 -0
- package/dist/pages/BookingPage.d.ts.map +1 -1
- package/dist/pages/BookingPage.js +205 -201
- package/dist/pages/CheckoutPage.d.ts.map +1 -1
- package/dist/pages/CheckoutPage.js +276 -273
- package/dist/pages/HomePage.d.ts.map +1 -1
- package/dist/pages/HomePage.js +111 -108
- package/dist/pages/ItinerariesPage.d.ts +2 -0
- package/dist/pages/ItinerariesPage.d.ts.map +1 -0
- package/dist/pages/ItinerariesPage.js +76 -0
- package/dist/pages/ItineraryDetailsPage.d.ts +66 -0
- package/dist/pages/ItineraryDetailsPage.d.ts.map +1 -0
- package/dist/pages/ItineraryDetailsPage.js +223 -0
- package/dist/pages/ProductPage.js +6 -6
- package/dist/pages/checkout/components/CheckoutSummaryColumn.d.ts +2 -2
- package/dist/pages/checkout/components/CheckoutSummaryColumn.d.ts.map +1 -1
- package/dist/pages/checkout/components/CheckoutSummaryColumn.js +4 -4
- package/dist/pages/itineraries/ElevationProfile.d.ts +5 -0
- package/dist/pages/itineraries/ElevationProfile.d.ts.map +1 -0
- package/dist/pages/itineraries/ElevationProfile.js +59 -0
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +18 -10
- package/dist/storefront.css +1 -1
- package/package.json +1 -1
- package/dist/chunks/pkg/ui/dist/Map/constants-BNmiJXfg.js +0 -4
package/dist/index.d.ts
CHANGED
|
@@ -871,6 +871,11 @@ export declare type BookingPeriodTimeSlotsStatus = "local" | "loading" | "ready"
|
|
|
871
871
|
|
|
872
872
|
export declare type BookingPeriodTranslator = (key: string, options?: Record<string, unknown>) => string;
|
|
873
873
|
|
|
874
|
+
export declare type BookingRentalUnitSummary = {
|
|
875
|
+
priceUnit: PriceUnit_2;
|
|
876
|
+
billableUnitCount: number;
|
|
877
|
+
};
|
|
878
|
+
|
|
874
879
|
export declare type BookingScheduleInput = z.infer<typeof bookingScheduleInputSchema>;
|
|
875
880
|
|
|
876
881
|
export declare const bookingScheduleInputSchema: z.ZodObject<{
|
|
@@ -908,9 +913,9 @@ export declare function buildBookingInsuranceSnapshot(input: {
|
|
|
908
913
|
items: InsuranceQuoteItemInput[];
|
|
909
914
|
}): BookingInsuranceSnapshot;
|
|
910
915
|
|
|
911
|
-
export declare function
|
|
916
|
+
export declare function buildPriceTierLabels(prices: StorefrontPublicProductPrice[] | undefined, locale: string, t: TFunction, priceUnit?: PriceUnit_2): string[];
|
|
912
917
|
|
|
913
|
-
export declare function
|
|
918
|
+
export declare function buildRentalPriceRows(prices: StorefrontPublicProductPrice[] | undefined, locale: string, priceUnit?: PriceUnit_2): RentalPriceRow[];
|
|
914
919
|
|
|
915
920
|
export declare const buildStorefrontAvailabilityKey: (productId: string, productVariantId?: string | null) => string;
|
|
916
921
|
|
|
@@ -919,7 +924,8 @@ export declare const buildStorefrontCartSummary: (params: {
|
|
|
919
924
|
language: string;
|
|
920
925
|
fallbackLanguage?: string;
|
|
921
926
|
products: StorefrontProductsCollections;
|
|
922
|
-
|
|
927
|
+
priceUnit: StorefrontPublicProductPrice["unit"];
|
|
928
|
+
billableUnitCount?: number;
|
|
923
929
|
}) => StorefrontCartSummary;
|
|
924
930
|
|
|
925
931
|
export declare const buildStorefrontImageUrl: (imageId: string, storeSlug: string, width?: number) => string;
|
|
@@ -945,10 +951,12 @@ export declare const buttonVariants: (props?: ({
|
|
|
945
951
|
size?: "default" | "icon" | "sm" | "lg" | null | undefined;
|
|
946
952
|
} & ClassProp) | undefined) => string;
|
|
947
953
|
|
|
948
|
-
export declare function
|
|
954
|
+
export declare function calculateBookingRentalUnitSummary(booking: StorefrontBookingParams, pricing: PricingConfiguration, timeZone?: string): BookingRentalUnitSummary | null;
|
|
949
955
|
|
|
950
956
|
export declare function calculateInsuranceCalendarDays(start: Date, end: Date, timeZone?: string): number;
|
|
951
957
|
|
|
958
|
+
export declare function calculateRentalPriceForQuantity(prices: StorefrontPublicProductPrice[] | undefined, unitCount: number, priceUnit?: PriceUnit_2): number | null;
|
|
959
|
+
|
|
952
960
|
export declare type CancellationPolicy = z.infer<typeof cancellationPolicySchema>;
|
|
953
961
|
|
|
954
962
|
export declare const cancellationPolicySchema: z.ZodObject<{
|
|
@@ -1617,12 +1625,6 @@ export declare const currencyCodeSchema: z.ZodEnum<{
|
|
|
1617
1625
|
|
|
1618
1626
|
export declare function currencyMinorUnitDigits(_currency: CurrencyCode): number;
|
|
1619
1627
|
|
|
1620
|
-
export declare type DailyPriceRow = {
|
|
1621
|
-
dayCount: number;
|
|
1622
|
-
totalPriceLabel: string;
|
|
1623
|
-
perDayPriceLabel: string;
|
|
1624
|
-
};
|
|
1625
|
-
|
|
1626
1628
|
export declare const DEFAULT_BOOKING_DELIVERY_OPTION: "pickup";
|
|
1627
1629
|
|
|
1628
1630
|
export declare const DEFAULT_CANCELLATION_POLICY: CancellationPolicy;
|
|
@@ -1768,6 +1770,8 @@ export declare const formatPriceMinor: (valueMinor: MoneyMinor_2, language: stri
|
|
|
1768
1770
|
maximumFractionDigits?: number;
|
|
1769
1771
|
}) => string;
|
|
1770
1772
|
|
|
1773
|
+
export declare function formatRentalUnitQuantity(quantity: number, priceUnit: PriceUnit_2, locale: string, t: TFunction): string;
|
|
1774
|
+
|
|
1771
1775
|
export declare const formatStorefrontPhoneDisplay: (phone: string, country?: string) => string;
|
|
1772
1776
|
|
|
1773
1777
|
export declare const formatStorefrontPriceMinor: (valueMinor: number, locale: string, { currency }?: {
|
|
@@ -1800,14 +1804,6 @@ export declare const getAvailabilityVariant: (status: string | undefined) => {
|
|
|
1800
1804
|
variant: "secondary" | "outline" | "destructive";
|
|
1801
1805
|
};
|
|
1802
1806
|
|
|
1803
|
-
export declare const getBookingDurationLabel: (booking: StorefrontBookingParams) => {
|
|
1804
|
-
hours: number;
|
|
1805
|
-
minutes: number;
|
|
1806
|
-
label: string;
|
|
1807
|
-
};
|
|
1808
|
-
|
|
1809
|
-
export declare const getBookingDurationMinutes: (booking: StorefrontBookingParams) => number;
|
|
1810
|
-
|
|
1811
1807
|
export declare const getBookingParamsFromSearch: (searchParams: URLSearchParams, fallback?: Partial<StorefrontBookingParams>) => StorefrontBookingParams;
|
|
1812
1808
|
|
|
1813
1809
|
export declare const getBookingSessionStorageKey: (storeSlug?: string) => string;
|
|
@@ -1983,6 +1979,8 @@ export declare const getMinDayPriceMinor: (prices: Array<{
|
|
|
1983
1979
|
unit?: string;
|
|
1984
1980
|
}>) => MoneyMinor_2 | null;
|
|
1985
1981
|
|
|
1982
|
+
export declare function getPricingUnitLabel(priceUnit: PriceUnit_2, t: TFunction, count?: number): string;
|
|
1983
|
+
|
|
1986
1984
|
export declare const getStorefrontAvailabilityIssue: (record: StorefrontPublicAvailabilityRecord | undefined) => StorefrontAvailabilityIssue | undefined;
|
|
1987
1985
|
|
|
1988
1986
|
export declare const getStorefrontAvailabilityStatus: (record: StorefrontPublicAvailabilityRecord | undefined) => "AVAILABLE" | "LOW_STOCK" | "OUT_OF_STOCK";
|
|
@@ -2046,6 +2044,93 @@ export declare function isProductVariantCodeIdentifierKind(kind: string): boolea
|
|
|
2046
2044
|
|
|
2047
2045
|
export declare const isStorefrontAvailabilityInsufficient: (record: StorefrontPublicAvailabilityRecord | undefined) => boolean;
|
|
2048
2046
|
|
|
2047
|
+
export declare function ItinerariesPage(): JSX.Element;
|
|
2048
|
+
|
|
2049
|
+
export declare function ItinerariesSection(): JSX.Element | null;
|
|
2050
|
+
|
|
2051
|
+
export declare const itineraryDetailsLoader: ({ ctx, params }: LoaderArgs) => Promise<{
|
|
2052
|
+
slug: string;
|
|
2053
|
+
title: Record<string, {
|
|
2054
|
+
[x: string]: unknown;
|
|
2055
|
+
value: string;
|
|
2056
|
+
updatedAt: Date;
|
|
2057
|
+
autoTranslated?: boolean | undefined;
|
|
2058
|
+
}>;
|
|
2059
|
+
introduction: Record<string, {
|
|
2060
|
+
[x: string]: unknown;
|
|
2061
|
+
value: string;
|
|
2062
|
+
updatedAt: Date;
|
|
2063
|
+
autoTranslated?: boolean | undefined;
|
|
2064
|
+
}>;
|
|
2065
|
+
tags: Record<string, {
|
|
2066
|
+
[x: string]: unknown;
|
|
2067
|
+
value: string;
|
|
2068
|
+
updatedAt: Date;
|
|
2069
|
+
autoTranslated?: boolean | undefined;
|
|
2070
|
+
}>[];
|
|
2071
|
+
coverImageId: string | null;
|
|
2072
|
+
difficulty: "easy" | "moderate" | "challenging";
|
|
2073
|
+
tripType: "one_way" | "out_and_back" | "loop";
|
|
2074
|
+
metrics: {
|
|
2075
|
+
distanceMeters: number;
|
|
2076
|
+
durationSeconds: number;
|
|
2077
|
+
elevationGainMeters: number;
|
|
2078
|
+
elevationLossMeters: number;
|
|
2079
|
+
};
|
|
2080
|
+
geometry: {
|
|
2081
|
+
type: "LineString";
|
|
2082
|
+
coordinates: ([number, number] | [number, number, number])[];
|
|
2083
|
+
};
|
|
2084
|
+
bounds: {
|
|
2085
|
+
west: number;
|
|
2086
|
+
south: number;
|
|
2087
|
+
east: number;
|
|
2088
|
+
north: number;
|
|
2089
|
+
} | null;
|
|
2090
|
+
steps: {
|
|
2091
|
+
id: string;
|
|
2092
|
+
label: Record<string, {
|
|
2093
|
+
[x: string]: unknown;
|
|
2094
|
+
value: string;
|
|
2095
|
+
updatedAt: Date;
|
|
2096
|
+
autoTranslated?: boolean | undefined;
|
|
2097
|
+
}>;
|
|
2098
|
+
description: Record<string, {
|
|
2099
|
+
[x: string]: unknown;
|
|
2100
|
+
value: string;
|
|
2101
|
+
updatedAt: Date;
|
|
2102
|
+
autoTranslated?: boolean | undefined;
|
|
2103
|
+
}>;
|
|
2104
|
+
role: "shaping" | "stop" | "detached";
|
|
2105
|
+
point: {
|
|
2106
|
+
lng: number;
|
|
2107
|
+
lat: number;
|
|
2108
|
+
ele?: number | undefined;
|
|
2109
|
+
};
|
|
2110
|
+
imageIds: string[];
|
|
2111
|
+
category?: string | undefined;
|
|
2112
|
+
}[];
|
|
2113
|
+
}>;
|
|
2114
|
+
|
|
2115
|
+
export declare function ItineraryDetailsPage(): JSX.Element;
|
|
2116
|
+
|
|
2117
|
+
export declare function ItineraryListItem({ itinerary, storeSlug, compact, active, onActivate, }: {
|
|
2118
|
+
itinerary: StorefrontItinerarySummary;
|
|
2119
|
+
storeSlug: string;
|
|
2120
|
+
compact?: boolean;
|
|
2121
|
+
active?: boolean;
|
|
2122
|
+
onActivate?: () => void;
|
|
2123
|
+
}): JSX.Element;
|
|
2124
|
+
|
|
2125
|
+
export declare function ItineraryRouteMap({ coordinates, steps, mapboxToken, language, fallbackLanguage, className, }: {
|
|
2126
|
+
coordinates: StorefrontItineraryCoordinate[];
|
|
2127
|
+
steps: StorefrontItineraryStep[];
|
|
2128
|
+
mapboxToken?: string;
|
|
2129
|
+
language: string;
|
|
2130
|
+
fallbackLanguage: string;
|
|
2131
|
+
className?: string;
|
|
2132
|
+
}): JSX.Element;
|
|
2133
|
+
|
|
2049
2134
|
declare type JourneyType = "start" | "end";
|
|
2050
2135
|
|
|
2051
2136
|
export declare const Label: React_2.ForwardRefExoticComponent<React_2.LabelHTMLAttributes<HTMLLabelElement> & VariantProps<(props?: ClassProp | undefined) => string> & React_2.RefAttributes<HTMLLabelElement>>;
|
|
@@ -2291,6 +2376,90 @@ export declare const loader: ({ ctx, params }: LoaderArgs) => Promise<{
|
|
|
2291
2376
|
bookingBikes: BikeProduct[];
|
|
2292
2377
|
bookingAccessories: AccessoryProduct[];
|
|
2293
2378
|
language: StorefrontI18nLanguage;
|
|
2379
|
+
itineraries: {
|
|
2380
|
+
slug: string;
|
|
2381
|
+
title: Record<string, {
|
|
2382
|
+
[x: string]: unknown;
|
|
2383
|
+
value: string;
|
|
2384
|
+
updatedAt: Date;
|
|
2385
|
+
autoTranslated?: boolean | undefined;
|
|
2386
|
+
}>;
|
|
2387
|
+
introduction: Record<string, {
|
|
2388
|
+
[x: string]: unknown;
|
|
2389
|
+
value: string;
|
|
2390
|
+
updatedAt: Date;
|
|
2391
|
+
autoTranslated?: boolean | undefined;
|
|
2392
|
+
}>;
|
|
2393
|
+
tags: Record<string, {
|
|
2394
|
+
[x: string]: unknown;
|
|
2395
|
+
value: string;
|
|
2396
|
+
updatedAt: Date;
|
|
2397
|
+
autoTranslated?: boolean | undefined;
|
|
2398
|
+
}>[];
|
|
2399
|
+
coverImageId: string | null;
|
|
2400
|
+
difficulty: "easy" | "moderate" | "challenging";
|
|
2401
|
+
tripType: "one_way" | "out_and_back" | "loop";
|
|
2402
|
+
metrics: {
|
|
2403
|
+
distanceMeters: number;
|
|
2404
|
+
durationSeconds: number;
|
|
2405
|
+
elevationGainMeters: number;
|
|
2406
|
+
elevationLossMeters: number;
|
|
2407
|
+
};
|
|
2408
|
+
}[];
|
|
2409
|
+
featuredItineraries: {
|
|
2410
|
+
slug: string;
|
|
2411
|
+
title: Record<string, {
|
|
2412
|
+
[x: string]: unknown;
|
|
2413
|
+
value: string;
|
|
2414
|
+
updatedAt: Date;
|
|
2415
|
+
autoTranslated?: boolean | undefined;
|
|
2416
|
+
}>;
|
|
2417
|
+
introduction: Record<string, {
|
|
2418
|
+
[x: string]: unknown;
|
|
2419
|
+
value: string;
|
|
2420
|
+
updatedAt: Date;
|
|
2421
|
+
autoTranslated?: boolean | undefined;
|
|
2422
|
+
}>;
|
|
2423
|
+
tags: Record<string, {
|
|
2424
|
+
[x: string]: unknown;
|
|
2425
|
+
value: string;
|
|
2426
|
+
updatedAt: Date;
|
|
2427
|
+
autoTranslated?: boolean | undefined;
|
|
2428
|
+
}>[];
|
|
2429
|
+
coverImageId: string | null;
|
|
2430
|
+
difficulty: "easy" | "moderate" | "challenging";
|
|
2431
|
+
tripType: "one_way" | "out_and_back" | "loop";
|
|
2432
|
+
metrics: {
|
|
2433
|
+
distanceMeters: number;
|
|
2434
|
+
durationSeconds: number;
|
|
2435
|
+
elevationGainMeters: number;
|
|
2436
|
+
elevationLossMeters: number;
|
|
2437
|
+
};
|
|
2438
|
+
previewCoordinates: ([number, number] | [number, number, number])[];
|
|
2439
|
+
steps: {
|
|
2440
|
+
id: string;
|
|
2441
|
+
label: Record<string, {
|
|
2442
|
+
[x: string]: unknown;
|
|
2443
|
+
value: string;
|
|
2444
|
+
updatedAt: Date;
|
|
2445
|
+
autoTranslated?: boolean | undefined;
|
|
2446
|
+
}>;
|
|
2447
|
+
description: Record<string, {
|
|
2448
|
+
[x: string]: unknown;
|
|
2449
|
+
value: string;
|
|
2450
|
+
updatedAt: Date;
|
|
2451
|
+
autoTranslated?: boolean | undefined;
|
|
2452
|
+
}>;
|
|
2453
|
+
role: "shaping" | "stop" | "detached";
|
|
2454
|
+
point: {
|
|
2455
|
+
lng: number;
|
|
2456
|
+
lat: number;
|
|
2457
|
+
ele?: number | undefined;
|
|
2458
|
+
};
|
|
2459
|
+
imageIds: string[];
|
|
2460
|
+
category?: string | undefined;
|
|
2461
|
+
}[];
|
|
2462
|
+
}[];
|
|
2294
2463
|
}>;
|
|
2295
2464
|
|
|
2296
2465
|
export declare type LocalizedString<TExtra extends Record<string, unknown> = Record<string, unknown>> = Record<string, LocalizedStringEntry<TExtra>>;
|
|
@@ -2378,6 +2547,8 @@ export declare const priceSchema: z.ZodObject<{
|
|
|
2378
2547
|
|
|
2379
2548
|
export declare type PriceUnit = z.infer<typeof priceUnitSchema>;
|
|
2380
2549
|
|
|
2550
|
+
declare type PriceUnit_2 = StorefrontPublicProductPrice["unit"];
|
|
2551
|
+
|
|
2381
2552
|
export declare const priceUnitSchema: z.ZodEnum<{
|
|
2382
2553
|
day: "day";
|
|
2383
2554
|
half_day: "half_day";
|
|
@@ -2386,6 +2557,8 @@ export declare const priceUnitSchema: z.ZodEnum<{
|
|
|
2386
2557
|
week: "week";
|
|
2387
2558
|
}>;
|
|
2388
2559
|
|
|
2560
|
+
declare type PricingConfiguration = StorefrontConfiguration["bookingEngine"]["pricing"];
|
|
2561
|
+
|
|
2389
2562
|
export declare const PRODUCT_VARIANT_CODE_IDENTIFIER_KIND = "variant_code";
|
|
2390
2563
|
|
|
2391
2564
|
export declare const PRODUCT_VARIANT_CODE_MAX_LENGTH = 3;
|
|
@@ -2832,6 +3005,12 @@ export declare const readBookingSearchParamsFromSessionStorage: (storeSlug?: str
|
|
|
2832
3005
|
|
|
2833
3006
|
export declare const readBookingSearchParamsFromStorage: (storage: BookingSearchStorage, storeSlug?: string) => URLSearchParams;
|
|
2834
3007
|
|
|
3008
|
+
export declare type RentalPriceRow = {
|
|
3009
|
+
unitCount: number;
|
|
3010
|
+
totalPriceLabel: string;
|
|
3011
|
+
perUnitPriceLabel: string;
|
|
3012
|
+
};
|
|
3013
|
+
|
|
2835
3014
|
export declare type RequestPayload = z.infer<typeof requestSchema>;
|
|
2836
3015
|
|
|
2837
3016
|
export declare const requestSchema: z.ZodObject<{
|
|
@@ -3095,6 +3274,12 @@ export declare const STOREFRONT_HERO_MODES: readonly ["current_booking_hero", "b
|
|
|
3095
3274
|
|
|
3096
3275
|
export declare const STOREFRONT_IMAGE_ROUTE = "/api/public/storefront/images/get";
|
|
3097
3276
|
|
|
3277
|
+
export declare const STOREFRONT_ITINERARIES_FEATURED_ROUTE = "/api/public/storefront/itineraries/featured";
|
|
3278
|
+
|
|
3279
|
+
export declare const STOREFRONT_ITINERARIES_LIST_ROUTE = "/api/public/storefront/itineraries/list";
|
|
3280
|
+
|
|
3281
|
+
export declare const STOREFRONT_ITINERARY_DETAIL_ROUTE = "/api/public/storefront/itineraries/get";
|
|
3282
|
+
|
|
3098
3283
|
export declare const STOREFRONT_PRODUCTS_ROUTE = "/api/public/storefront/products";
|
|
3099
3284
|
|
|
3100
3285
|
export declare const STOREFRONT_TIME_SLOTS_ROUTE = "/api/public/storefront/availability/time-slots";
|
|
@@ -3194,19 +3379,19 @@ export declare type StorefrontCartItem = {
|
|
|
3194
3379
|
quantity: number;
|
|
3195
3380
|
};
|
|
3196
3381
|
|
|
3197
|
-
export declare function StorefrontCartPanel({ lines, itemCount,
|
|
3382
|
+
export declare function StorefrontCartPanel({ lines, itemCount, totalPerBaseUnitMinor, baseUnitLabel, estimatedTotalMinor, discountedEstimatedTotalMinor, discountAmountMinor, lateReturnSurchargeMinor, couponCode, durationInBaseUnitLabel, title, description, checkoutPath, showCheckoutAction, showClearAction, editable, summaryAddon, stickyTopClassName, onQuantityChange, onRemove, onClear, }: StorefrontCartPanelProps): JSX.Element;
|
|
3198
3383
|
|
|
3199
3384
|
declare type StorefrontCartPanelProps = {
|
|
3200
3385
|
lines: StorefrontCartSummaryLine[];
|
|
3201
3386
|
itemCount: number;
|
|
3202
|
-
|
|
3203
|
-
|
|
3387
|
+
totalPerBaseUnitMinor: number;
|
|
3388
|
+
baseUnitLabel: string;
|
|
3204
3389
|
estimatedTotalMinor?: number;
|
|
3205
3390
|
discountedEstimatedTotalMinor?: number;
|
|
3206
3391
|
discountAmountMinor?: number;
|
|
3207
3392
|
lateReturnSurchargeMinor?: number;
|
|
3208
3393
|
couponCode?: string;
|
|
3209
|
-
|
|
3394
|
+
durationInBaseUnitLabel?: string;
|
|
3210
3395
|
title?: string;
|
|
3211
3396
|
description?: string;
|
|
3212
3397
|
checkoutPath?: string;
|
|
@@ -3228,8 +3413,8 @@ export declare function StorefrontCartProvider({ storeSlug, products, children,
|
|
|
3228
3413
|
|
|
3229
3414
|
export declare type StorefrontCartSummary = {
|
|
3230
3415
|
lines: StorefrontCartSummaryLine[];
|
|
3231
|
-
|
|
3232
|
-
|
|
3416
|
+
totalPerBaseUnitMinor: number;
|
|
3417
|
+
billableUnitCount?: number;
|
|
3233
3418
|
estimatedTotalMinor?: number;
|
|
3234
3419
|
};
|
|
3235
3420
|
|
|
@@ -3786,6 +3971,8 @@ export declare type StorefrontContextValue = {
|
|
|
3786
3971
|
bookingAccessories: AccessoryProduct[];
|
|
3787
3972
|
mapboxToken?: string;
|
|
3788
3973
|
language: StorefrontI18nLanguage;
|
|
3974
|
+
itineraries: StorefrontItinerarySummary[];
|
|
3975
|
+
featuredItineraries: StorefrontItineraryPreview[];
|
|
3789
3976
|
};
|
|
3790
3977
|
|
|
3791
3978
|
export declare const storefrontEn: {
|
|
@@ -3797,6 +3984,7 @@ export declare const storefrontEn: {
|
|
|
3797
3984
|
nav_categories: string;
|
|
3798
3985
|
nav_featured: string;
|
|
3799
3986
|
nav_products: string;
|
|
3987
|
+
nav_itineraries: string;
|
|
3800
3988
|
nav_contact: string;
|
|
3801
3989
|
language_toggle: string;
|
|
3802
3990
|
cta_book_now: string;
|
|
@@ -3871,6 +4059,36 @@ export declare const storefrontEn: {
|
|
|
3871
4059
|
featured_title: string;
|
|
3872
4060
|
featured_description: string;
|
|
3873
4061
|
featured_view_all: string;
|
|
4062
|
+
itineraries_eyebrow: string;
|
|
4063
|
+
itineraries_title: string;
|
|
4064
|
+
itineraries_description: string;
|
|
4065
|
+
itineraries_list_label: string;
|
|
4066
|
+
itineraries_view_all: string;
|
|
4067
|
+
itineraries_back_home: string;
|
|
4068
|
+
itineraries_page_title: string;
|
|
4069
|
+
itineraries_page_description_one: string;
|
|
4070
|
+
itineraries_page_description_other: string;
|
|
4071
|
+
itineraries_filter_label: string;
|
|
4072
|
+
itineraries_filter_all: string;
|
|
4073
|
+
itineraries_no_results: string;
|
|
4074
|
+
itineraries_difficulty_easy: string;
|
|
4075
|
+
itineraries_difficulty_moderate: string;
|
|
4076
|
+
itineraries_difficulty_challenging: string;
|
|
4077
|
+
itineraries_back_to_list: string;
|
|
4078
|
+
itineraries_route_label: string;
|
|
4079
|
+
itineraries_step_fallback: string;
|
|
4080
|
+
itineraries_highlights_label: string;
|
|
4081
|
+
itineraries_distance_label: string;
|
|
4082
|
+
itineraries_duration_label: string;
|
|
4083
|
+
itineraries_elevation_gain_label: string;
|
|
4084
|
+
itineraries_elevation_loss_label: string;
|
|
4085
|
+
itineraries_difficulty_label: string;
|
|
4086
|
+
itineraries_details_label: string;
|
|
4087
|
+
itineraries_elevation_profile_label: string;
|
|
4088
|
+
itineraries_elevation_profile_chart_label: string;
|
|
4089
|
+
itineraries_booking_title: string;
|
|
4090
|
+
itineraries_booking_description: string;
|
|
4091
|
+
itineraries_booking_cta: string;
|
|
3874
4092
|
about_section_title: string;
|
|
3875
4093
|
about_section_heading: string;
|
|
3876
4094
|
about_section_fallback: string;
|
|
@@ -3896,12 +4114,18 @@ export declare const storefrontEn: {
|
|
|
3896
4114
|
price_then: string;
|
|
3897
4115
|
price_details_aria_label: string;
|
|
3898
4116
|
price_table_title: string;
|
|
3899
|
-
|
|
3900
|
-
price_table_day_other: string;
|
|
3901
|
-
price_table_per_day: string;
|
|
4117
|
+
price_table_per_unit: string;
|
|
3902
4118
|
price_table_contact_prompt: string;
|
|
4119
|
+
price_unit_hour_one: string;
|
|
4120
|
+
price_unit_hour_other: string;
|
|
4121
|
+
price_unit_half_day_one: string;
|
|
4122
|
+
price_unit_half_day_other: string;
|
|
3903
4123
|
price_unit_day_one: string;
|
|
3904
4124
|
price_unit_day_other: string;
|
|
4125
|
+
price_unit_week_one: string;
|
|
4126
|
+
price_unit_week_other: string;
|
|
4127
|
+
price_unit_month_one: string;
|
|
4128
|
+
price_unit_month_other: string;
|
|
3905
4129
|
products_title: string;
|
|
3906
4130
|
products_description: string;
|
|
3907
4131
|
products_page_title: string;
|
|
@@ -3921,7 +4145,7 @@ export declare const storefrontEn: {
|
|
|
3921
4145
|
cart_empty_description: string;
|
|
3922
4146
|
cart_line_meta: string;
|
|
3923
4147
|
remove_from_cart: string;
|
|
3924
|
-
|
|
4148
|
+
cart_total_per_unit: string;
|
|
3925
4149
|
cart_clear: string;
|
|
3926
4150
|
booking_select_variant_cancel: string;
|
|
3927
4151
|
close_modal: string;
|
|
@@ -3943,8 +4167,7 @@ export declare const storefrontEn: {
|
|
|
3943
4167
|
checkout_subtitle: string;
|
|
3944
4168
|
checkout_summary_title: string;
|
|
3945
4169
|
checkout_summary_description: string;
|
|
3946
|
-
|
|
3947
|
-
checkout_estimated_days_other: string;
|
|
4170
|
+
checkout_estimated_duration: string;
|
|
3948
4171
|
checkout_estimated_total: string;
|
|
3949
4172
|
checkout_form_title: string;
|
|
3950
4173
|
checkout_form_description: string;
|
|
@@ -4290,6 +4513,7 @@ export declare const storefrontFr: {
|
|
|
4290
4513
|
nav_categories: string;
|
|
4291
4514
|
nav_featured: string;
|
|
4292
4515
|
nav_products: string;
|
|
4516
|
+
nav_itineraries: string;
|
|
4293
4517
|
nav_contact: string;
|
|
4294
4518
|
language_toggle: string;
|
|
4295
4519
|
cta_book_now: string;
|
|
@@ -4364,6 +4588,36 @@ export declare const storefrontFr: {
|
|
|
4364
4588
|
featured_title: string;
|
|
4365
4589
|
featured_description: string;
|
|
4366
4590
|
featured_view_all: string;
|
|
4591
|
+
itineraries_eyebrow: string;
|
|
4592
|
+
itineraries_title: string;
|
|
4593
|
+
itineraries_description: string;
|
|
4594
|
+
itineraries_list_label: string;
|
|
4595
|
+
itineraries_view_all: string;
|
|
4596
|
+
itineraries_back_home: string;
|
|
4597
|
+
itineraries_page_title: string;
|
|
4598
|
+
itineraries_page_description_one: string;
|
|
4599
|
+
itineraries_page_description_other: string;
|
|
4600
|
+
itineraries_filter_label: string;
|
|
4601
|
+
itineraries_filter_all: string;
|
|
4602
|
+
itineraries_no_results: string;
|
|
4603
|
+
itineraries_difficulty_easy: string;
|
|
4604
|
+
itineraries_difficulty_moderate: string;
|
|
4605
|
+
itineraries_difficulty_challenging: string;
|
|
4606
|
+
itineraries_back_to_list: string;
|
|
4607
|
+
itineraries_route_label: string;
|
|
4608
|
+
itineraries_step_fallback: string;
|
|
4609
|
+
itineraries_highlights_label: string;
|
|
4610
|
+
itineraries_distance_label: string;
|
|
4611
|
+
itineraries_duration_label: string;
|
|
4612
|
+
itineraries_elevation_gain_label: string;
|
|
4613
|
+
itineraries_elevation_loss_label: string;
|
|
4614
|
+
itineraries_difficulty_label: string;
|
|
4615
|
+
itineraries_details_label: string;
|
|
4616
|
+
itineraries_elevation_profile_label: string;
|
|
4617
|
+
itineraries_elevation_profile_chart_label: string;
|
|
4618
|
+
itineraries_booking_title: string;
|
|
4619
|
+
itineraries_booking_description: string;
|
|
4620
|
+
itineraries_booking_cta: string;
|
|
4367
4621
|
about_section_title: string;
|
|
4368
4622
|
about_section_heading: string;
|
|
4369
4623
|
about_section_fallback: string;
|
|
@@ -4389,12 +4643,18 @@ export declare const storefrontFr: {
|
|
|
4389
4643
|
price_then: string;
|
|
4390
4644
|
price_details_aria_label: string;
|
|
4391
4645
|
price_table_title: string;
|
|
4392
|
-
|
|
4393
|
-
price_table_day_other: string;
|
|
4394
|
-
price_table_per_day: string;
|
|
4646
|
+
price_table_per_unit: string;
|
|
4395
4647
|
price_table_contact_prompt: string;
|
|
4648
|
+
price_unit_hour_one: string;
|
|
4649
|
+
price_unit_hour_other: string;
|
|
4650
|
+
price_unit_half_day_one: string;
|
|
4651
|
+
price_unit_half_day_other: string;
|
|
4396
4652
|
price_unit_day_one: string;
|
|
4397
4653
|
price_unit_day_other: string;
|
|
4654
|
+
price_unit_week_one: string;
|
|
4655
|
+
price_unit_week_other: string;
|
|
4656
|
+
price_unit_month_one: string;
|
|
4657
|
+
price_unit_month_other: string;
|
|
4398
4658
|
products_title: string;
|
|
4399
4659
|
products_description: string;
|
|
4400
4660
|
products_page_title: string;
|
|
@@ -4415,7 +4675,7 @@ export declare const storefrontFr: {
|
|
|
4415
4675
|
cart_empty_description: string;
|
|
4416
4676
|
cart_line_meta: string;
|
|
4417
4677
|
remove_from_cart: string;
|
|
4418
|
-
|
|
4678
|
+
cart_total_per_unit: string;
|
|
4419
4679
|
cart_clear: string;
|
|
4420
4680
|
booking_select_variant_cancel: string;
|
|
4421
4681
|
close_modal: string;
|
|
@@ -4437,8 +4697,7 @@ export declare const storefrontFr: {
|
|
|
4437
4697
|
checkout_subtitle: string;
|
|
4438
4698
|
checkout_summary_title: string;
|
|
4439
4699
|
checkout_summary_description: string;
|
|
4440
|
-
|
|
4441
|
-
checkout_estimated_days_other: string;
|
|
4700
|
+
checkout_estimated_duration: string;
|
|
4442
4701
|
checkout_estimated_total: string;
|
|
4443
4702
|
checkout_form_title: string;
|
|
4444
4703
|
checkout_form_description: string;
|
|
@@ -4740,6 +4999,441 @@ export declare const storefrontImageRequestSchema: z.ZodObject<{
|
|
|
4740
4999
|
w: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
4741
5000
|
}, z.core.$strip>;
|
|
4742
5001
|
|
|
5002
|
+
export declare const storefrontItinerariesFeaturedRequestSchema: z.ZodObject<{
|
|
5003
|
+
storeSlug: z.ZodString;
|
|
5004
|
+
}, z.core.$strip>;
|
|
5005
|
+
|
|
5006
|
+
export declare const storefrontItinerariesFeaturedResponseSchema: z.ZodObject<{
|
|
5007
|
+
success: z.ZodBoolean;
|
|
5008
|
+
message: z.ZodOptional<z.ZodString>;
|
|
5009
|
+
itineraries: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
5010
|
+
slug: z.ZodString;
|
|
5011
|
+
title: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5012
|
+
value: z.ZodString;
|
|
5013
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5014
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5015
|
+
}, z.core.$loose>>;
|
|
5016
|
+
introduction: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5017
|
+
value: z.ZodString;
|
|
5018
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5019
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5020
|
+
}, z.core.$loose>>;
|
|
5021
|
+
tags: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5022
|
+
value: z.ZodString;
|
|
5023
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5024
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5025
|
+
}, z.core.$loose>>>;
|
|
5026
|
+
coverImageId: z.ZodNullable<z.ZodString>;
|
|
5027
|
+
difficulty: z.ZodEnum<{
|
|
5028
|
+
easy: "easy";
|
|
5029
|
+
moderate: "moderate";
|
|
5030
|
+
challenging: "challenging";
|
|
5031
|
+
}>;
|
|
5032
|
+
tripType: z.ZodEnum<{
|
|
5033
|
+
one_way: "one_way";
|
|
5034
|
+
out_and_back: "out_and_back";
|
|
5035
|
+
loop: "loop";
|
|
5036
|
+
}>;
|
|
5037
|
+
metrics: z.ZodObject<{
|
|
5038
|
+
distanceMeters: z.ZodNumber;
|
|
5039
|
+
durationSeconds: z.ZodNumber;
|
|
5040
|
+
elevationGainMeters: z.ZodNumber;
|
|
5041
|
+
elevationLossMeters: z.ZodNumber;
|
|
5042
|
+
}, z.core.$strip>;
|
|
5043
|
+
previewCoordinates: z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
5044
|
+
steps: z.ZodArray<z.ZodObject<{
|
|
5045
|
+
id: z.ZodString;
|
|
5046
|
+
label: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5047
|
+
value: z.ZodString;
|
|
5048
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5049
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5050
|
+
}, z.core.$loose>>;
|
|
5051
|
+
description: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5052
|
+
value: z.ZodString;
|
|
5053
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5054
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5055
|
+
}, z.core.$loose>>;
|
|
5056
|
+
category: z.ZodOptional<z.ZodString>;
|
|
5057
|
+
role: z.ZodEnum<{
|
|
5058
|
+
shaping: "shaping";
|
|
5059
|
+
stop: "stop";
|
|
5060
|
+
detached: "detached";
|
|
5061
|
+
}>;
|
|
5062
|
+
point: z.ZodObject<{
|
|
5063
|
+
lng: z.ZodNumber;
|
|
5064
|
+
lat: z.ZodNumber;
|
|
5065
|
+
ele: z.ZodOptional<z.ZodNumber>;
|
|
5066
|
+
}, z.core.$strip>;
|
|
5067
|
+
imageIds: z.ZodArray<z.ZodString>;
|
|
5068
|
+
}, z.core.$strip>>;
|
|
5069
|
+
}, z.core.$strip>>>;
|
|
5070
|
+
}, z.core.$strip>;
|
|
5071
|
+
|
|
5072
|
+
export declare const storefrontItinerariesListRequestSchema: z.ZodObject<{
|
|
5073
|
+
storeSlug: z.ZodString;
|
|
5074
|
+
}, z.core.$strip>;
|
|
5075
|
+
|
|
5076
|
+
export declare const storefrontItinerariesListResponseSchema: z.ZodObject<{
|
|
5077
|
+
success: z.ZodBoolean;
|
|
5078
|
+
message: z.ZodOptional<z.ZodString>;
|
|
5079
|
+
itineraries: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
5080
|
+
slug: z.ZodString;
|
|
5081
|
+
title: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5082
|
+
value: z.ZodString;
|
|
5083
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5084
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5085
|
+
}, z.core.$loose>>;
|
|
5086
|
+
introduction: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5087
|
+
value: z.ZodString;
|
|
5088
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5089
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5090
|
+
}, z.core.$loose>>;
|
|
5091
|
+
tags: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5092
|
+
value: z.ZodString;
|
|
5093
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5094
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5095
|
+
}, z.core.$loose>>>;
|
|
5096
|
+
coverImageId: z.ZodNullable<z.ZodString>;
|
|
5097
|
+
difficulty: z.ZodEnum<{
|
|
5098
|
+
easy: "easy";
|
|
5099
|
+
moderate: "moderate";
|
|
5100
|
+
challenging: "challenging";
|
|
5101
|
+
}>;
|
|
5102
|
+
tripType: z.ZodEnum<{
|
|
5103
|
+
one_way: "one_way";
|
|
5104
|
+
out_and_back: "out_and_back";
|
|
5105
|
+
loop: "loop";
|
|
5106
|
+
}>;
|
|
5107
|
+
metrics: z.ZodObject<{
|
|
5108
|
+
distanceMeters: z.ZodNumber;
|
|
5109
|
+
durationSeconds: z.ZodNumber;
|
|
5110
|
+
elevationGainMeters: z.ZodNumber;
|
|
5111
|
+
elevationLossMeters: z.ZodNumber;
|
|
5112
|
+
}, z.core.$strip>;
|
|
5113
|
+
}, z.core.$strip>>>;
|
|
5114
|
+
}, z.core.$strip>;
|
|
5115
|
+
|
|
5116
|
+
export declare const storefrontItineraryBoundsSchema: z.ZodObject<{
|
|
5117
|
+
west: z.ZodNumber;
|
|
5118
|
+
south: z.ZodNumber;
|
|
5119
|
+
east: z.ZodNumber;
|
|
5120
|
+
north: z.ZodNumber;
|
|
5121
|
+
}, z.core.$strip>;
|
|
5122
|
+
|
|
5123
|
+
export declare type StorefrontItineraryCoordinate = z.infer<typeof storefrontItineraryCoordinateSchema>;
|
|
5124
|
+
|
|
5125
|
+
export declare const storefrontItineraryCoordinateSchema: z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
|
|
5126
|
+
|
|
5127
|
+
export declare type StorefrontItineraryDetail = z.infer<typeof storefrontItineraryDetailSchema>;
|
|
5128
|
+
|
|
5129
|
+
export declare const storefrontItineraryDetailRequestSchema: z.ZodObject<{
|
|
5130
|
+
storeSlug: z.ZodString;
|
|
5131
|
+
itinerarySlug: z.ZodString;
|
|
5132
|
+
}, z.core.$strip>;
|
|
5133
|
+
|
|
5134
|
+
export declare const storefrontItineraryDetailResponseSchema: z.ZodObject<{
|
|
5135
|
+
success: z.ZodBoolean;
|
|
5136
|
+
message: z.ZodOptional<z.ZodString>;
|
|
5137
|
+
itinerary: z.ZodOptional<z.ZodObject<{
|
|
5138
|
+
slug: z.ZodString;
|
|
5139
|
+
title: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5140
|
+
value: z.ZodString;
|
|
5141
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5142
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5143
|
+
}, z.core.$loose>>;
|
|
5144
|
+
introduction: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5145
|
+
value: z.ZodString;
|
|
5146
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5147
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5148
|
+
}, z.core.$loose>>;
|
|
5149
|
+
tags: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5150
|
+
value: z.ZodString;
|
|
5151
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5152
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5153
|
+
}, z.core.$loose>>>;
|
|
5154
|
+
coverImageId: z.ZodNullable<z.ZodString>;
|
|
5155
|
+
difficulty: z.ZodEnum<{
|
|
5156
|
+
easy: "easy";
|
|
5157
|
+
moderate: "moderate";
|
|
5158
|
+
challenging: "challenging";
|
|
5159
|
+
}>;
|
|
5160
|
+
tripType: z.ZodEnum<{
|
|
5161
|
+
one_way: "one_way";
|
|
5162
|
+
out_and_back: "out_and_back";
|
|
5163
|
+
loop: "loop";
|
|
5164
|
+
}>;
|
|
5165
|
+
metrics: z.ZodObject<{
|
|
5166
|
+
distanceMeters: z.ZodNumber;
|
|
5167
|
+
durationSeconds: z.ZodNumber;
|
|
5168
|
+
elevationGainMeters: z.ZodNumber;
|
|
5169
|
+
elevationLossMeters: z.ZodNumber;
|
|
5170
|
+
}, z.core.$strip>;
|
|
5171
|
+
geometry: z.ZodObject<{
|
|
5172
|
+
type: z.ZodLiteral<"LineString">;
|
|
5173
|
+
coordinates: z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
5174
|
+
}, z.core.$strip>;
|
|
5175
|
+
bounds: z.ZodNullable<z.ZodObject<{
|
|
5176
|
+
west: z.ZodNumber;
|
|
5177
|
+
south: z.ZodNumber;
|
|
5178
|
+
east: z.ZodNumber;
|
|
5179
|
+
north: z.ZodNumber;
|
|
5180
|
+
}, z.core.$strip>>;
|
|
5181
|
+
steps: z.ZodArray<z.ZodObject<{
|
|
5182
|
+
id: z.ZodString;
|
|
5183
|
+
label: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5184
|
+
value: z.ZodString;
|
|
5185
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5186
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5187
|
+
}, z.core.$loose>>;
|
|
5188
|
+
description: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5189
|
+
value: z.ZodString;
|
|
5190
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5191
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5192
|
+
}, z.core.$loose>>;
|
|
5193
|
+
category: z.ZodOptional<z.ZodString>;
|
|
5194
|
+
role: z.ZodEnum<{
|
|
5195
|
+
shaping: "shaping";
|
|
5196
|
+
stop: "stop";
|
|
5197
|
+
detached: "detached";
|
|
5198
|
+
}>;
|
|
5199
|
+
point: z.ZodObject<{
|
|
5200
|
+
lng: z.ZodNumber;
|
|
5201
|
+
lat: z.ZodNumber;
|
|
5202
|
+
ele: z.ZodOptional<z.ZodNumber>;
|
|
5203
|
+
}, z.core.$strip>;
|
|
5204
|
+
imageIds: z.ZodArray<z.ZodString>;
|
|
5205
|
+
}, z.core.$strip>>;
|
|
5206
|
+
}, z.core.$strip>>;
|
|
5207
|
+
}, z.core.$strip>;
|
|
5208
|
+
|
|
5209
|
+
export declare const storefrontItineraryDetailSchema: z.ZodObject<{
|
|
5210
|
+
slug: z.ZodString;
|
|
5211
|
+
title: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5212
|
+
value: z.ZodString;
|
|
5213
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5214
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5215
|
+
}, z.core.$loose>>;
|
|
5216
|
+
introduction: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5217
|
+
value: z.ZodString;
|
|
5218
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5219
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5220
|
+
}, z.core.$loose>>;
|
|
5221
|
+
tags: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5222
|
+
value: z.ZodString;
|
|
5223
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5224
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5225
|
+
}, z.core.$loose>>>;
|
|
5226
|
+
coverImageId: z.ZodNullable<z.ZodString>;
|
|
5227
|
+
difficulty: z.ZodEnum<{
|
|
5228
|
+
easy: "easy";
|
|
5229
|
+
moderate: "moderate";
|
|
5230
|
+
challenging: "challenging";
|
|
5231
|
+
}>;
|
|
5232
|
+
tripType: z.ZodEnum<{
|
|
5233
|
+
one_way: "one_way";
|
|
5234
|
+
out_and_back: "out_and_back";
|
|
5235
|
+
loop: "loop";
|
|
5236
|
+
}>;
|
|
5237
|
+
metrics: z.ZodObject<{
|
|
5238
|
+
distanceMeters: z.ZodNumber;
|
|
5239
|
+
durationSeconds: z.ZodNumber;
|
|
5240
|
+
elevationGainMeters: z.ZodNumber;
|
|
5241
|
+
elevationLossMeters: z.ZodNumber;
|
|
5242
|
+
}, z.core.$strip>;
|
|
5243
|
+
geometry: z.ZodObject<{
|
|
5244
|
+
type: z.ZodLiteral<"LineString">;
|
|
5245
|
+
coordinates: z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
5246
|
+
}, z.core.$strip>;
|
|
5247
|
+
bounds: z.ZodNullable<z.ZodObject<{
|
|
5248
|
+
west: z.ZodNumber;
|
|
5249
|
+
south: z.ZodNumber;
|
|
5250
|
+
east: z.ZodNumber;
|
|
5251
|
+
north: z.ZodNumber;
|
|
5252
|
+
}, z.core.$strip>>;
|
|
5253
|
+
steps: z.ZodArray<z.ZodObject<{
|
|
5254
|
+
id: z.ZodString;
|
|
5255
|
+
label: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5256
|
+
value: z.ZodString;
|
|
5257
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5258
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5259
|
+
}, z.core.$loose>>;
|
|
5260
|
+
description: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5261
|
+
value: z.ZodString;
|
|
5262
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5263
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5264
|
+
}, z.core.$loose>>;
|
|
5265
|
+
category: z.ZodOptional<z.ZodString>;
|
|
5266
|
+
role: z.ZodEnum<{
|
|
5267
|
+
shaping: "shaping";
|
|
5268
|
+
stop: "stop";
|
|
5269
|
+
detached: "detached";
|
|
5270
|
+
}>;
|
|
5271
|
+
point: z.ZodObject<{
|
|
5272
|
+
lng: z.ZodNumber;
|
|
5273
|
+
lat: z.ZodNumber;
|
|
5274
|
+
ele: z.ZodOptional<z.ZodNumber>;
|
|
5275
|
+
}, z.core.$strip>;
|
|
5276
|
+
imageIds: z.ZodArray<z.ZodString>;
|
|
5277
|
+
}, z.core.$strip>>;
|
|
5278
|
+
}, z.core.$strip>;
|
|
5279
|
+
|
|
5280
|
+
export declare const storefrontItineraryDifficultySchema: z.ZodEnum<{
|
|
5281
|
+
easy: "easy";
|
|
5282
|
+
moderate: "moderate";
|
|
5283
|
+
challenging: "challenging";
|
|
5284
|
+
}>;
|
|
5285
|
+
|
|
5286
|
+
export declare type StorefrontItineraryLocalizedString = z.infer<typeof storefrontItineraryLocalizedStringSchema>;
|
|
5287
|
+
|
|
5288
|
+
export declare const storefrontItineraryLocalizedStringSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5289
|
+
value: z.ZodString;
|
|
5290
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5291
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5292
|
+
}, z.core.$loose>>;
|
|
5293
|
+
|
|
5294
|
+
export declare const storefrontItineraryMetricsSchema: z.ZodObject<{
|
|
5295
|
+
distanceMeters: z.ZodNumber;
|
|
5296
|
+
durationSeconds: z.ZodNumber;
|
|
5297
|
+
elevationGainMeters: z.ZodNumber;
|
|
5298
|
+
elevationLossMeters: z.ZodNumber;
|
|
5299
|
+
}, z.core.$strip>;
|
|
5300
|
+
|
|
5301
|
+
export declare type StorefrontItineraryPreview = z.infer<typeof storefrontItineraryPreviewSchema>;
|
|
5302
|
+
|
|
5303
|
+
export declare const storefrontItineraryPreviewSchema: z.ZodObject<{
|
|
5304
|
+
slug: z.ZodString;
|
|
5305
|
+
title: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5306
|
+
value: z.ZodString;
|
|
5307
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5308
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5309
|
+
}, z.core.$loose>>;
|
|
5310
|
+
introduction: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5311
|
+
value: z.ZodString;
|
|
5312
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5313
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5314
|
+
}, z.core.$loose>>;
|
|
5315
|
+
tags: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5316
|
+
value: z.ZodString;
|
|
5317
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5318
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5319
|
+
}, z.core.$loose>>>;
|
|
5320
|
+
coverImageId: z.ZodNullable<z.ZodString>;
|
|
5321
|
+
difficulty: z.ZodEnum<{
|
|
5322
|
+
easy: "easy";
|
|
5323
|
+
moderate: "moderate";
|
|
5324
|
+
challenging: "challenging";
|
|
5325
|
+
}>;
|
|
5326
|
+
tripType: z.ZodEnum<{
|
|
5327
|
+
one_way: "one_way";
|
|
5328
|
+
out_and_back: "out_and_back";
|
|
5329
|
+
loop: "loop";
|
|
5330
|
+
}>;
|
|
5331
|
+
metrics: z.ZodObject<{
|
|
5332
|
+
distanceMeters: z.ZodNumber;
|
|
5333
|
+
durationSeconds: z.ZodNumber;
|
|
5334
|
+
elevationGainMeters: z.ZodNumber;
|
|
5335
|
+
elevationLossMeters: z.ZodNumber;
|
|
5336
|
+
}, z.core.$strip>;
|
|
5337
|
+
previewCoordinates: z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
5338
|
+
steps: z.ZodArray<z.ZodObject<{
|
|
5339
|
+
id: z.ZodString;
|
|
5340
|
+
label: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5341
|
+
value: z.ZodString;
|
|
5342
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5343
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5344
|
+
}, z.core.$loose>>;
|
|
5345
|
+
description: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5346
|
+
value: z.ZodString;
|
|
5347
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5348
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5349
|
+
}, z.core.$loose>>;
|
|
5350
|
+
category: z.ZodOptional<z.ZodString>;
|
|
5351
|
+
role: z.ZodEnum<{
|
|
5352
|
+
shaping: "shaping";
|
|
5353
|
+
stop: "stop";
|
|
5354
|
+
detached: "detached";
|
|
5355
|
+
}>;
|
|
5356
|
+
point: z.ZodObject<{
|
|
5357
|
+
lng: z.ZodNumber;
|
|
5358
|
+
lat: z.ZodNumber;
|
|
5359
|
+
ele: z.ZodOptional<z.ZodNumber>;
|
|
5360
|
+
}, z.core.$strip>;
|
|
5361
|
+
imageIds: z.ZodArray<z.ZodString>;
|
|
5362
|
+
}, z.core.$strip>>;
|
|
5363
|
+
}, z.core.$strip>;
|
|
5364
|
+
|
|
5365
|
+
export declare type StorefrontItineraryStep = z.infer<typeof storefrontItineraryStepSchema>;
|
|
5366
|
+
|
|
5367
|
+
export declare const storefrontItineraryStepSchema: z.ZodObject<{
|
|
5368
|
+
id: z.ZodString;
|
|
5369
|
+
label: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5370
|
+
value: z.ZodString;
|
|
5371
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5372
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5373
|
+
}, z.core.$loose>>;
|
|
5374
|
+
description: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5375
|
+
value: z.ZodString;
|
|
5376
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5377
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5378
|
+
}, z.core.$loose>>;
|
|
5379
|
+
category: z.ZodOptional<z.ZodString>;
|
|
5380
|
+
role: z.ZodEnum<{
|
|
5381
|
+
shaping: "shaping";
|
|
5382
|
+
stop: "stop";
|
|
5383
|
+
detached: "detached";
|
|
5384
|
+
}>;
|
|
5385
|
+
point: z.ZodObject<{
|
|
5386
|
+
lng: z.ZodNumber;
|
|
5387
|
+
lat: z.ZodNumber;
|
|
5388
|
+
ele: z.ZodOptional<z.ZodNumber>;
|
|
5389
|
+
}, z.core.$strip>;
|
|
5390
|
+
imageIds: z.ZodArray<z.ZodString>;
|
|
5391
|
+
}, z.core.$strip>;
|
|
5392
|
+
|
|
5393
|
+
export declare type StorefrontItinerarySummary = z.infer<typeof storefrontItinerarySummarySchema>;
|
|
5394
|
+
|
|
5395
|
+
export declare const storefrontItinerarySummarySchema: z.ZodObject<{
|
|
5396
|
+
slug: z.ZodString;
|
|
5397
|
+
title: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5398
|
+
value: z.ZodString;
|
|
5399
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5400
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5401
|
+
}, z.core.$loose>>;
|
|
5402
|
+
introduction: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5403
|
+
value: z.ZodString;
|
|
5404
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5405
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5406
|
+
}, z.core.$loose>>;
|
|
5407
|
+
tags: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5408
|
+
value: z.ZodString;
|
|
5409
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
5410
|
+
autoTranslated: z.ZodOptional<z.ZodBoolean>;
|
|
5411
|
+
}, z.core.$loose>>>;
|
|
5412
|
+
coverImageId: z.ZodNullable<z.ZodString>;
|
|
5413
|
+
difficulty: z.ZodEnum<{
|
|
5414
|
+
easy: "easy";
|
|
5415
|
+
moderate: "moderate";
|
|
5416
|
+
challenging: "challenging";
|
|
5417
|
+
}>;
|
|
5418
|
+
tripType: z.ZodEnum<{
|
|
5419
|
+
one_way: "one_way";
|
|
5420
|
+
out_and_back: "out_and_back";
|
|
5421
|
+
loop: "loop";
|
|
5422
|
+
}>;
|
|
5423
|
+
metrics: z.ZodObject<{
|
|
5424
|
+
distanceMeters: z.ZodNumber;
|
|
5425
|
+
durationSeconds: z.ZodNumber;
|
|
5426
|
+
elevationGainMeters: z.ZodNumber;
|
|
5427
|
+
elevationLossMeters: z.ZodNumber;
|
|
5428
|
+
}, z.core.$strip>;
|
|
5429
|
+
}, z.core.$strip>;
|
|
5430
|
+
|
|
5431
|
+
export declare const storefrontItineraryTripTypeSchema: z.ZodEnum<{
|
|
5432
|
+
one_way: "one_way";
|
|
5433
|
+
out_and_back: "out_and_back";
|
|
5434
|
+
loop: "loop";
|
|
5435
|
+
}>;
|
|
5436
|
+
|
|
4743
5437
|
export declare type StorefrontLocalizedRichText = z.infer<typeof storefrontLocalizedRichTextSchema>;
|
|
4744
5438
|
|
|
4745
5439
|
export declare const storefrontLocalizedRichTextSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
@@ -5874,6 +6568,93 @@ export declare function useStorefrontConfig(): {
|
|
|
5874
6568
|
};
|
|
5875
6569
|
};
|
|
5876
6570
|
|
|
6571
|
+
export declare function useStorefrontItineraries(): {
|
|
6572
|
+
itineraries: {
|
|
6573
|
+
slug: string;
|
|
6574
|
+
title: Record<string, {
|
|
6575
|
+
[x: string]: unknown;
|
|
6576
|
+
value: string;
|
|
6577
|
+
updatedAt: Date;
|
|
6578
|
+
autoTranslated?: boolean | undefined;
|
|
6579
|
+
}>;
|
|
6580
|
+
introduction: Record<string, {
|
|
6581
|
+
[x: string]: unknown;
|
|
6582
|
+
value: string;
|
|
6583
|
+
updatedAt: Date;
|
|
6584
|
+
autoTranslated?: boolean | undefined;
|
|
6585
|
+
}>;
|
|
6586
|
+
tags: Record<string, {
|
|
6587
|
+
[x: string]: unknown;
|
|
6588
|
+
value: string;
|
|
6589
|
+
updatedAt: Date;
|
|
6590
|
+
autoTranslated?: boolean | undefined;
|
|
6591
|
+
}>[];
|
|
6592
|
+
coverImageId: string | null;
|
|
6593
|
+
difficulty: "easy" | "moderate" | "challenging";
|
|
6594
|
+
tripType: "one_way" | "out_and_back" | "loop";
|
|
6595
|
+
metrics: {
|
|
6596
|
+
distanceMeters: number;
|
|
6597
|
+
durationSeconds: number;
|
|
6598
|
+
elevationGainMeters: number;
|
|
6599
|
+
elevationLossMeters: number;
|
|
6600
|
+
};
|
|
6601
|
+
}[];
|
|
6602
|
+
featuredItineraries: {
|
|
6603
|
+
slug: string;
|
|
6604
|
+
title: Record<string, {
|
|
6605
|
+
[x: string]: unknown;
|
|
6606
|
+
value: string;
|
|
6607
|
+
updatedAt: Date;
|
|
6608
|
+
autoTranslated?: boolean | undefined;
|
|
6609
|
+
}>;
|
|
6610
|
+
introduction: Record<string, {
|
|
6611
|
+
[x: string]: unknown;
|
|
6612
|
+
value: string;
|
|
6613
|
+
updatedAt: Date;
|
|
6614
|
+
autoTranslated?: boolean | undefined;
|
|
6615
|
+
}>;
|
|
6616
|
+
tags: Record<string, {
|
|
6617
|
+
[x: string]: unknown;
|
|
6618
|
+
value: string;
|
|
6619
|
+
updatedAt: Date;
|
|
6620
|
+
autoTranslated?: boolean | undefined;
|
|
6621
|
+
}>[];
|
|
6622
|
+
coverImageId: string | null;
|
|
6623
|
+
difficulty: "easy" | "moderate" | "challenging";
|
|
6624
|
+
tripType: "one_way" | "out_and_back" | "loop";
|
|
6625
|
+
metrics: {
|
|
6626
|
+
distanceMeters: number;
|
|
6627
|
+
durationSeconds: number;
|
|
6628
|
+
elevationGainMeters: number;
|
|
6629
|
+
elevationLossMeters: number;
|
|
6630
|
+
};
|
|
6631
|
+
previewCoordinates: ([number, number] | [number, number, number])[];
|
|
6632
|
+
steps: {
|
|
6633
|
+
id: string;
|
|
6634
|
+
label: Record<string, {
|
|
6635
|
+
[x: string]: unknown;
|
|
6636
|
+
value: string;
|
|
6637
|
+
updatedAt: Date;
|
|
6638
|
+
autoTranslated?: boolean | undefined;
|
|
6639
|
+
}>;
|
|
6640
|
+
description: Record<string, {
|
|
6641
|
+
[x: string]: unknown;
|
|
6642
|
+
value: string;
|
|
6643
|
+
updatedAt: Date;
|
|
6644
|
+
autoTranslated?: boolean | undefined;
|
|
6645
|
+
}>;
|
|
6646
|
+
role: "shaping" | "stop" | "detached";
|
|
6647
|
+
point: {
|
|
6648
|
+
lng: number;
|
|
6649
|
+
lat: number;
|
|
6650
|
+
ele?: number | undefined;
|
|
6651
|
+
};
|
|
6652
|
+
imageIds: string[];
|
|
6653
|
+
category?: string | undefined;
|
|
6654
|
+
}[];
|
|
6655
|
+
}[];
|
|
6656
|
+
};
|
|
6657
|
+
|
|
5877
6658
|
export declare function useStorefrontProducts(): {
|
|
5878
6659
|
bikes: BikeProduct[];
|
|
5879
6660
|
accessories: AccessoryProduct[];
|