@ticketboothapp/booking 1.2.25 → 1.2.27

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.
Files changed (142) hide show
  1. package/package.json +11 -29
  2. package/src/components/booking/AddOnsSection.tsx +2 -2
  3. package/src/components/booking/AdminPaymentChoiceModal.tsx +1 -1
  4. package/src/components/booking/BookingDialog.tsx +31 -13
  5. package/src/components/booking/BookingFlow.tsx +32 -27
  6. package/src/components/booking/BookingFlowCollage.tsx +10 -6
  7. package/src/components/booking/BookingFlowPlaceholder.tsx +1 -1
  8. package/src/components/booking/BookingFlowPreview.tsx +18 -9
  9. package/src/components/booking/BookingProductGrid.tsx +55 -19
  10. package/src/components/booking/Calendar.module.css +19 -4
  11. package/src/components/booking/Calendar.tsx +13 -8
  12. package/src/components/booking/CancellationPolicySelector.tsx +2 -2
  13. package/src/components/booking/ChangeBookingDialog.tsx +22 -12
  14. package/src/components/booking/CheckoutForm.module.css +10 -0
  15. package/src/components/booking/CheckoutForm.tsx +10 -2
  16. package/src/components/booking/CheckoutModal.tsx +16 -14
  17. package/src/components/booking/DapFlowCollage.tsx +5 -2
  18. package/src/components/booking/DapTourDescription.tsx +4 -4
  19. package/src/components/booking/DependentAddOnBookingDialog.tsx +23 -16
  20. package/src/components/booking/DependentAddOnPaymentForm.tsx +10 -7
  21. package/src/components/booking/ItineraryBox.tsx +6 -6
  22. package/src/components/booking/ItineraryBuilder.tsx +1 -1
  23. package/src/components/booking/MealDrinkAddOnSelector.tsx +3 -3
  24. package/src/components/booking/PickupLocationSelector.tsx +20 -18
  25. package/src/components/booking/PickupTimeSelector.tsx +3 -3
  26. package/src/components/booking/PriceBreakdown.tsx +5 -5
  27. package/src/components/booking/PriceSummary.module.css +7 -0
  28. package/src/components/booking/PriceSummary.tsx +8 -7
  29. package/src/components/booking/PrivateShuttleBookingFlow.tsx +28 -19
  30. package/src/components/booking/PromoCodeInput.module.css +31 -25
  31. package/src/components/booking/PromoCodeInput.tsx +36 -24
  32. package/src/components/booking/ReturnTimeSelector.tsx +3 -3
  33. package/src/components/booking/TermsAcceptance.tsx +7 -2
  34. package/src/components/booking/TicketSelector.tsx +1 -1
  35. package/src/components/booking/TourDescription.tsx +11 -6
  36. package/src/components/booking/booking-flow.css +65 -4
  37. package/src/hooks/useBookingSourceMetadataFromLocation.ts +1 -1
  38. package/src/hooks/useIsBookingLaunchLive.ts +1 -1
  39. package/src/index.ts +26 -64
  40. package/src/providers/booking-dialog-provider.tsx +62 -53
  41. package/src/runtime/BookingHostContext.tsx +39 -0
  42. package/src/runtime/index.ts +13 -0
  43. package/src/runtime/types.ts +86 -0
  44. package/tsconfig.json +3 -5
  45. package/src/assets/icons/minus.svg +0 -7
  46. package/src/assets/icons/partner-logos/getyourguide.svg +0 -8
  47. package/src/assets/icons/plus.svg +0 -3
  48. package/src/colours.css +0 -23
  49. package/src/components/BookingDetails.module.css +0 -1591
  50. package/src/components/BookingDetails.tsx +0 -2264
  51. package/src/components/BookingWidget.tsx +0 -305
  52. package/src/components/ManageBookingView.tsx +0 -437
  53. package/src/components/PhoneInputWithCountry.module.css +0 -131
  54. package/src/components/PhoneInputWithCountry.tsx +0 -44
  55. package/src/components/PickupLocationDialog.module.css +0 -360
  56. package/src/components/PickupLocationDialog.tsx +0 -357
  57. package/src/components/PostBookingDependentAddOnUpsell.module.css +0 -174
  58. package/src/components/PostBookingDependentAddOnUpsell.tsx +0 -407
  59. package/src/components/button.css +0 -245
  60. package/src/components/button.tsx +0 -152
  61. package/src/components/colorable-svg.tsx +0 -29
  62. package/src/components/image.css +0 -29
  63. package/src/components/image.tsx +0 -113
  64. package/src/components/partner/PartnerBookingPage.module.css +0 -130
  65. package/src/components/partner/PartnerBookingPage.tsx +0 -390
  66. package/src/components/partner/PartnerBookingPageWithBrowserMetadata.tsx +0 -45
  67. package/src/components/product-tag.module.css +0 -30
  68. package/src/components/product-tag.tsx +0 -34
  69. package/src/components/product-theme-pages/image-modal.tsx +0 -248
  70. package/src/components/product-theme-pages/photo-gallery.module.css +0 -200
  71. package/src/components/terms/TermsContent.tsx +0 -178
  72. package/src/components/value-pill.module.css +0 -59
  73. package/src/components/value-pill.tsx +0 -46
  74. package/src/constants/images.ts +0 -556
  75. package/src/constants/pill-values.ts +0 -210
  76. package/src/constants/products.ts +0 -155
  77. package/src/contexts/AvailabilitiesCacheContext.tsx +0 -125
  78. package/src/contexts/CompanyContext.tsx +0 -70
  79. package/src/data/dap-descriptions/session-couples-families-friends.en.json +0 -61
  80. package/src/data/dap-descriptions/session-elopements.en.json +0 -60
  81. package/src/data/dap-descriptions/session-proposals.en.json +0 -60
  82. package/src/data/product-descriptions/afternoon-delight.en.json +0 -35
  83. package/src/data/product-descriptions/emerald-lake-escape.en.json +0 -68
  84. package/src/data/product-descriptions/lake-louise-adventure.en.json +0 -74
  85. package/src/data/product-descriptions/moraine-lake-adventure.en.json +0 -78
  86. package/src/data/product-descriptions/moraine-lake-sunrise-lake-louise-golden-hour.en.json +0 -65
  87. package/src/data/product-descriptions/moraine-lake-sunrise.en.json +0 -64
  88. package/src/data/product-descriptions/private-tour.en.json +0 -80
  89. package/src/data/product-descriptions/two-lakes-combo.en.json +0 -65
  90. package/src/data/products-config.json +0 -101
  91. package/src/lib/analytics.ts +0 -197
  92. package/src/lib/booking/booking-source.ts +0 -51
  93. package/src/lib/booking/checkout-breakdown.ts +0 -69
  94. package/src/lib/booking/correlation-id.ts +0 -46
  95. package/src/lib/booking/i18n/config.ts +0 -21
  96. package/src/lib/booking/i18n/index.tsx +0 -144
  97. package/src/lib/booking/i18n/messages/en.json +0 -236
  98. package/src/lib/booking/i18n/messages/fr.json +0 -236
  99. package/src/lib/booking/itinerary-display.ts +0 -36
  100. package/src/lib/booking/itinerary-labels.ts +0 -70
  101. package/src/lib/booking/location-calculations.ts +0 -43
  102. package/src/lib/booking/location-utils.ts +0 -165
  103. package/src/lib/booking/map-utils.ts +0 -153
  104. package/src/lib/booking/marker-icons.ts +0 -113
  105. package/src/lib/booking/normalize-booking-product-id.ts +0 -21
  106. package/src/lib/booking/pickup-location-types.ts +0 -25
  107. package/src/lib/booking/places-api.ts +0 -154
  108. package/src/lib/booking/pricing.ts +0 -466
  109. package/src/lib/booking/product-option-id.ts +0 -35
  110. package/src/lib/booking/source-metadata.ts +0 -226
  111. package/src/lib/booking/sunday-week.ts +0 -14
  112. package/src/lib/booking/theme.ts +0 -83
  113. package/src/lib/booking/trace-context.ts +0 -62
  114. package/src/lib/booking/utils.ts +0 -9
  115. package/src/lib/booking-api.ts +0 -1793
  116. package/src/lib/booking-constants.ts +0 -23
  117. package/src/lib/booking-ref.ts +0 -13
  118. package/src/lib/booking-types.ts +0 -36
  119. package/src/lib/currency.ts +0 -81
  120. package/src/lib/dap-descriptions.ts +0 -50
  121. package/src/lib/dap-itinerary-preview.ts +0 -315
  122. package/src/lib/dependent-add-on-api.ts +0 -434
  123. package/src/lib/env.ts +0 -96
  124. package/src/lib/firebase.ts +0 -20
  125. package/src/lib/job-application-api.ts +0 -83
  126. package/src/lib/manage-booking-embed-print.ts +0 -16
  127. package/src/lib/manage-booking-post-checkout.ts +0 -68
  128. package/src/lib/photo-dap-config.ts +0 -228
  129. package/src/lib/photo-packages.ts +0 -75
  130. package/src/lib/pickup/map-utils.ts +0 -56
  131. package/src/lib/pickup/marker-icons.ts +0 -19
  132. package/src/lib/product-descriptions.ts +0 -66
  133. package/src/lib/products-config.ts +0 -73
  134. package/src/providers/dependent-add-on-dialog-provider.tsx +0 -105
  135. package/src/radius.css +0 -5
  136. package/src/spacing.css +0 -7
  137. package/src/strings/en.json +0 -1774
  138. package/src/strings/es.json +0 -1573
  139. package/src/strings/fr.json +0 -1573
  140. package/src/strings/index.js +0 -23
  141. package/src/text-style.css +0 -56
  142. package/src/utils/currency-converter.ts +0 -101
@@ -1,59 +0,0 @@
1
- .valuePill {
2
- display: flex;
3
- align-items: center;
4
- gap: 4px;
5
- padding: 4px 8px;
6
- border-radius: var(--border-radius-pill);
7
- width: fit-content;
8
- overflow: hidden;
9
- }
10
-
11
- .icon {
12
- display: flex;
13
- align-items: center;
14
- justify-content: center;
15
- }
16
-
17
- /* Solid variant */
18
- .valuePill.solid {
19
- background-color: var(--accent-white);
20
- }
21
-
22
- .valuePill.solid .icon {
23
- color: var(--grey-text-dark-70);
24
- }
25
-
26
- .valuePill.solid .label {
27
- color: var(--grey-text-dark-70);
28
- }
29
-
30
- /* Overlay variant */
31
- .valuePill.overlay {
32
- background-color: var(--grey-text-dark-70);
33
- }
34
-
35
- .valuePill.overlay .icon {
36
- color: var(--accent-white);
37
- }
38
-
39
- .valuePill.overlay .label {
40
- color: var(--accent-white);
41
- }
42
-
43
- @media (max-width: 1024px) {
44
- .valuePill {
45
- font-size: 12px;
46
- font-family: 'Poppins';
47
- }
48
- }
49
-
50
- @media (min-width: 1025px) {
51
- .valuePill {
52
- font-size: 16px;
53
- font-family: 'Poppins';
54
- }
55
- }
56
-
57
- .valuePill.compact {
58
- font-size: 14px;
59
- }
@@ -1,46 +0,0 @@
1
- 'use client';
2
-
3
- import { PillValue } from "@/constants/pill-values";
4
- import styles from "./value-pill.module.css";
5
- import ColorableSvg from '@/components/colorable-svg';
6
- import { formatPrice } from '@/utils/currency-converter';
7
- import { useEffect, useState } from 'react';
8
-
9
- export enum PillVariant {
10
- "solid" = "solid",
11
- "overlay" = "overlay"
12
- }
13
-
14
- interface ValuePillProps {
15
- variant: PillVariant;
16
- pillValue: PillValue;
17
- compact?: boolean;
18
- }
19
-
20
- export default function ValuePill({ variant, pillValue, compact }: ValuePillProps) {
21
- const [formattedLabel, setFormattedLabel] = useState(pillValue.label);
22
-
23
- useEffect(() => {
24
- // Check if the label starts with a currency symbol
25
- if (pillValue.label.match(/[A-Z]{1,3}\$\d+$/)) {
26
- const [prefix, price] = pillValue.label.split(/(?=[A-Z]{1,3}\$\d+$)/);
27
- setFormattedLabel(`${prefix || ''}${formatPrice(price)}`);
28
- }
29
- if (pillValue.label.includes('CA$')) {
30
- const parts = pillValue.label.split('CA$');
31
- const prefix = parts[0]; // "from "
32
- const price = `CA$${parts[1]}`; // "CA$200"
33
- setFormattedLabel(`${prefix}${formatPrice(price)}`);
34
- }
35
- }, [pillValue.label]);
36
-
37
- return <div className={`${styles.valuePill} ${styles[variant]} ${compact ? styles.compact : ''}`}>
38
- <ColorableSvg
39
- src={pillValue.icon}
40
- className={styles.icon}
41
- width={16}
42
- height={16}
43
- />
44
- <span className={styles.label}>{formattedLabel}</span>
45
- </div>;
46
- }
@@ -1,556 +0,0 @@
1
- export interface ImageData {
2
- id: string;
3
- alt: string;
4
- }
5
-
6
- import strings from '@/strings';
7
-
8
- export const getImageUrl = (id: string, params: string = '') => {
9
- // Bunny CDN automatically handles WebP conversion when browser supports it
10
- // We'll set some default optimizations if no params provided
11
- const defaultParams = params || 'format=webp&loading=lazy';
12
- return `https://viaviamorainelake.b-cdn.net/${id}${params ? `?${params}` : `?${defaultParams}`}`;
13
- }
14
-
15
- export const IMAGES: Record<string, ImageData> = {
16
- // Staff Profile Photos
17
- STAFF_GRACE: {
18
- id: 'viavia-staff-grace.jpg',
19
- alt: 'Grace - Via Via Staff Member',
20
- },
21
- STAFF_MATHIEU: {
22
- id: 'viavia-staff-matt.jpg',
23
- alt: 'Mathieu - Via Via Staff Member',
24
- },
25
- STAFF_KIERAN: {
26
- id: 'viavia-staff-kieran.jpg',
27
- alt: 'Kieran - Via Via Staff Member',
28
- },
29
- STAFF_VICTOR: {
30
- id: 'viavia-staff-victor.jpg',
31
- alt: 'Victor - Via Via Staff Member',
32
- },
33
- STAFF_LEO: {
34
- id: 'viavia-staff-leo.jpg',
35
- alt: 'Leo - Via Via Staff Member',
36
- },
37
- STAFF_JESS: {
38
- id: 'viavia-staff-jess.jpg',
39
- alt: 'Jess - Via Via Staff Member',
40
- },
41
- STAFF_MARIE: {
42
- id: 'viavia-staff-marie.jpg',
43
- alt: 'Marie - Via Via Staff Member',
44
- },
45
- STAFF_MIKE: {
46
- id: 'viavia-staff-mike.jpg',
47
- alt: 'Mike - Via Via Staff Member',
48
- },
49
- STAFF_KAI: {
50
- id: 'viavia-staff-kai.jpg',
51
- alt: 'Kai - Via Via Staff Member',
52
- },
53
- STAFF_GONZALO: {
54
- id: 'viavia-staff-gonzalo.jpg',
55
- alt: 'Gonzalo - Via Via Staff Member',
56
- },
57
- STAFF_NATHAN: {
58
- id: 'viavia-staff-nathan.jpg',
59
- alt: 'Nathan - Via Via Staff Member',
60
- },
61
- STAFF_JAKE: {
62
- id: 'viavia-staff-jake.jpg',
63
- alt: 'Jake - Via Via Staff Member',
64
- },
65
- STAFF_RON: {
66
- id: 'viavia-staff-ron.jpg',
67
- alt: 'Ron - Via Via Staff Member',
68
- },
69
- STAFF_KATHY: {
70
- id: 'viavia-staff-kathy.jpg',
71
- alt: 'Kathy - Via Via Staff Member',
72
- },
73
- STAFF_CARRIE: {
74
- id: 'viavia-staff-carrie.jpg',
75
- alt: 'Carrie - Via Via Staff Member',
76
- },
77
- STAFF_CLEMENCE: {
78
- id: 'viavia-staff-clem.jpg',
79
- alt: 'Clemence - Via Via Staff Member',
80
- },
81
- STAFF_PIETER: {
82
- id: 'viavia-staff-pieter.jpg',
83
- alt: 'Pieter - Via Via Staff Member',
84
- },
85
- STAFF_KENT: {
86
- id: 'viavia-staff-kent.jpg',
87
- alt: 'Kent - Via Via Staff Member',
88
- },
89
- STAFF_JENNA: {
90
- id: 'viavia-staff-jenna.jpg',
91
- alt: 'Jenna - Via Via Staff Member',
92
- },
93
- STAFF_VISHAL: {
94
- id: 'viavia-staff-vishal.jpg',
95
- alt: 'Vishal - Via Via Staff Member',
96
- },
97
- STAFF_REBECCA: {
98
- id: 'viavia-staff-bec.jpg',
99
- alt: 'Rebecca - Via Via Staff Member',
100
- },
101
- STAFF_HALEIGH: {
102
- id: 'viavia-staff-haleigh.jpg',
103
- alt: 'Haleigh - Via Via Staff Member',
104
- },
105
- STAFF_CHARLIE: {
106
- id: 'viavia-staff-charlie.jpg',
107
- alt: 'Charlie - Via Via Staff Member',
108
- },
109
- MORAINE_LAKE_SUNRISE_CHEERS: {
110
- id: 'moraine-lake-sunrise-cheers.jpg',
111
- alt: strings.imageAltTags.moraineLakeSunriseCheers,
112
- },
113
- MORAINE_LAKE_SUNRISE_CHEERS_2: {
114
- id: 'moraine-lake-sunrise-cheers-2.png',
115
- alt: strings.imageAltTags.moraineLakeSunriseCheers2,
116
- },
117
- MORAINE_LAKE_CANOE_GIRL: {
118
- id: 'moraine-lake-canoe-girl.jpg',
119
- alt: strings.imageAltTags.moraineLakeCanoeGirl,
120
- },
121
- MORAINE_LAKE_ALPINE_GLOW_WIDE: {
122
- id: 'moraine-lake-alpine-glow-wide.jpg',
123
- alt: strings.imageAltTags.moraineLakeAlpineGlowWide,
124
- },
125
- MORAINE_LAKE_CANOES_SUNRISE: {
126
- id: 'moraine-lake-canoes-sunrise.jpg',
127
- alt: strings.imageAltTags.moraineLakeCanoesSunrise,
128
- },
129
- MORAINE_LAKE_YELLOW_BIKINI: {
130
- id: 'moraine-lake-yellow-bikini.jpg',
131
- alt: strings.imageAltTags.moraineLakeYellowBikini,
132
- },
133
- MORAINE_LAKE_BRIGHT_TURQUOISE: {
134
- id: 'moraine-lake-bright-turquoise.jpg',
135
- alt: strings.imageAltTags.moraineLakeBrightTurquoise,
136
- },
137
- GUESTS_LL_CANADA: {
138
- id: 'guests-ll-canada.jpg',
139
- alt: strings.imageAltTags.guestsLLCanada,
140
- },
141
- TAKAKKAW_FALLS: {
142
- id: 'takakkaw-falls.jpg',
143
- alt: strings.imageAltTags.takakkawFalls,
144
- },
145
- EMERALD_LAKE: {
146
- id: 'emerald-lake.jpg',
147
- alt: strings.imageAltTags.emeraldLake,
148
- },
149
- EMERALD_LAKE_SUNRISE_REFLECTION: {
150
- id: 'emerald-lake-sunrise-reflection.jpg',
151
- alt: strings.imageAltTags.emeraldLakeSunriseReflection,
152
- },
153
- EMERALD_LAKE_JUMP: {
154
- id: 'emerald-lake-jump.jpg',
155
- alt: strings.imageAltTags.emeraldLakeJump,
156
- },
157
- EMERALD_LAKE_LODGE_VIEWPOINT: {
158
- id: 'emerald-lake-lodge-viewpoint.jpg',
159
- alt: strings.imageAltTags.emeraldLakeLodgeViewpoint,
160
- },
161
- LAKE_LOUISE_MODEL: {
162
- id: 'lake-louise-model.jpg',
163
- alt: strings.imageAltTags.lakeLouiseModel,
164
- },
165
- LAKE_LOUISE: {
166
- id: 'lake-louise.jpg',
167
- alt: strings.imageAltTags.lakeLouise,
168
- },
169
- MORAINE_LAKE_CANOE: {
170
- id: 'moraine-lake-canoe.jpg',
171
- alt: strings.imageAltTags.moraineLakeCanoe,
172
- },
173
- MORAINE_LAKE_SUNRISE: {
174
- id: 'moraine-lake-sunrise.jpg',
175
- alt: strings.imageAltTags.moraineLakeSunrise,
176
- },
177
- MORAINE_LAKE_SUNRISE_2: {
178
- id: 'moraine-lake-sunrise-2.jpg',
179
- alt: strings.imageAltTags.moraineLakeSunrise2,
180
- },
181
- MORAINE_LAKE_SUNRISE_YELLOW_JACKET: {
182
- id: 'moraine-lake-sunrise-yellow-jacket.jpg',
183
- alt: strings.imageAltTags.moraineLakeSunriseYellowJacket,
184
- },
185
- MORAINE_LAKE_SENTINEL_PASS_VIEW: {
186
- id: 'moraine-lake-sentinel-pass-view.jpg',
187
- alt: strings.imageAltTags.moraineLakeSentinelPassView,
188
- },
189
- VIA_VIA_OPERATIONS_MAP: {
190
- id: 'via-via-map.png',
191
- alt: strings.imageAltTags.viaViaOperationsMap,
192
- },
193
- JENNA_AND_NATHAN_VIA_VIA: {
194
- id: 'jenna-and-nathan-via-via.jpg',
195
- alt: strings.imageAltTags.jennaAndNathanViaVia,
196
- },
197
- VERMILLION_LAKES: {
198
- id: 'vermillion-lakes.jpg',
199
- alt: strings.imageAltTags.vermillionLakes,
200
- },
201
- EMERALD_LAKE_REFLECTION: {
202
- id: 'emerald-lake-reflection.jpg',
203
- alt: strings.imageAltTags.emeraldLakeReflection,
204
- },
205
- LOWER_JOHNSTON_CANYON_FALLS: {
206
- id: 'lower-johnston-canyon-falls.jpg',
207
- alt: strings.imageAltTags.lowerJohnstonCanyonFalls,
208
- },
209
- MORAINE_LAKE_ROAD_SHUTTLE: {
210
- id: 'moraine-lake-road.jpg',
211
- alt: strings.imageAltTags.moraineLakeRoadShuttle,
212
- },
213
- VIA_VIA_SHUTTLE_DROP_OFF_2: {
214
- id: 'via-via-shuttle-drop-off-2.jpg',
215
- alt: strings.imageAltTags.viaViaShuttleDropOff2,
216
- },
217
- MORAINE_LAKE_FRIENDS: {
218
- id: 'moraine-lake-friends.jpg',
219
- alt: strings.imageAltTags.moraineLakeFriends,
220
- },
221
- VIA_VIA_COWORKERS: {
222
- id: 'via-via-coworkers.jpg',
223
- alt: strings.imageAltTags.viaViaCoworkers,
224
- },
225
- VIA_VIA_SHUTTLE_VIEW: {
226
- id: 'via-via-shuttle-view.jpg',
227
- alt: strings.imageAltTags.viaViaShuttleView,
228
- },
229
- VIA_VIA_SHUTTLE: {
230
- id: 'via-via-shuttle.jpg',
231
- alt: strings.imageAltTags.viaViaShuttle,
232
- },
233
- BANFF_SHUTTLE_PICK_UP: {
234
- id: 'banff-shuttle-pick-up.jpg',
235
- alt: strings.imageAltTags.banffShuttlePickUp,
236
- },
237
- LAKE_LOUISE_CANOE: {
238
- id: 'lake-louise-canoe.jpg',
239
- alt: strings.imageAltTags.lakeLouiseCanoe,
240
- },
241
- MORAINE_LAKE_JUMP_IN: {
242
- id: 'moraine-lake-jump-in.jpg',
243
- alt: strings.imageAltTags.moraineLakeJumpIn,
244
- },
245
- MORANTS_CURVE: {
246
- id: 'morants-curve.jpg',
247
- alt: strings.imageAltTags.morantsCurve,
248
- },
249
- VIA_VIA_SHUTTLE_DROP_OFF: {
250
- id: 'via-via-shuttle-drop-off.jpg',
251
- alt: strings.imageAltTags.viaViaShuttleDropOff,
252
- },
253
- WILL_LAMBERT_HEADSHOT: {
254
- id: 'will-lambert-headshot.jpg',
255
- alt: strings.imageAltTags.willLambertHeadshot,
256
- },
257
- MORAINE_LAKE_BIRDS_EYE_VIEW: {
258
- id: 'moraine-lake-birds-eye-view.jpg',
259
- alt: strings.imageAltTags.moraineLakeBirdsEyeView,
260
- },
261
- MORAINE_LAKE_GROUP_PHOTO_WORKSHOP: {
262
- id: 'moraine-lake-group-photo-workshop.jpg',
263
- alt: strings.imageAltTags.moraineLakeGroupPhotoWorkshop,
264
- },
265
- MORAINE_LAKE_COMBO_WORKSHOP: {
266
- id: 'moraine-lake-combo-workshop.jpg',
267
- alt: strings.imageAltTags.moraineLakeComboWorkshop,
268
- },
269
- MORAINE_LAKE_PRIVATE_WORKSHOP: {
270
- id: 'moraine-lake-private-workshop.jpg',
271
- alt: strings.imageAltTags.moraineLakePrivateWorkshop,
272
- },
273
- MORAINE_LAKE_COUPLE: {
274
- id: 'moraine-lake-couple.jpg',
275
- alt: strings.imageAltTags.moraineLakeCouple,
276
- },
277
- MORAINE_LAKE_ENGAGEMENT_BASKET: {
278
- id: 'moraine-lake-engagement-basket.jpg',
279
- alt: strings.imageAltTags.moraineLakeEngagementBasket,
280
- },
281
- MORAINE_LAKE_PROPOSAL: {
282
- id: 'moraine-lake-proposal.jpg',
283
- alt: strings.imageAltTags.moraineLakeProposal,
284
- },
285
- BANFF_NATIONAL_PARK_HIKING: {
286
- id: 'banff-national-park-hiking.jpg',
287
- alt: strings.imageAltTags.banffNationalParkHiking,
288
- },
289
- VIAVIA_BOOKING_GUIDE_DIARY_COVER: {
290
- id: 'viavia-guide-cover.png',
291
- alt: strings.imageAltTags.viaviaBookingGuideDiaryCover,
292
- },
293
- VIAVIA_WILD_SIDE_COVER: {
294
- id: 'viavia-wild-side-cover.png',
295
- alt: strings.imageAltTags.viaviaWildSideCover,
296
- },
297
- VIAVIA_RECOMMENDATIONS_COVER: {
298
- id: 'viavia-recommendations-cover.png',
299
- alt: strings.imageAltTags.viaviaRecommendationsCover,
300
- },
301
- VIAVIA_LARCHES_COVER: {
302
- id: 'viavia-larches-cover.png',
303
- alt: strings.imageAltTags.viaviaLarchesCover,
304
- },
305
- VIAVIA_CANOEING_COVER: {
306
- id: 'viavia-canoeing-cover.png',
307
- alt: strings.imageAltTags.viaviaCanoeingCover,
308
- },
309
- VIAVIA_MORAINE_LAKE_HIKES_COVER: {
310
- id: 'viavia-moraine-lake-hikes-cover.png',
311
- alt: strings.imageAltTags.viaviaMoraineLakeHikesCover,
312
- },
313
- VIAVIA_LAKE_LOUISE_PLANNING_COVER: {
314
- id: 'viavia-lake-louise-planning-cover.png',
315
- alt: strings.imageAltTags.viaviaLakeLouisePlanningCover,
316
- },
317
- VIAVIA_WHATTOWEAR_COVER: {
318
- id: 'viavia-whattowear-cover.png',
319
- alt: strings.imageAltTags.viaviaWhatToWearCover,
320
- },
321
- LARCHES_BLUE: {
322
- id: 'larches-blue.jpg',
323
- alt: strings.imageAltTags.larchesBlue,
324
- },
325
- LARCHES_MOUNTAIN_SKY: {
326
- id: 'larches-mountain-sky.jpg',
327
- alt: strings.imageAltTags.larchesMountainSky,
328
- },
329
- LARCHES_COUPLE: {
330
- id: 'moraine-lake-larches-couple.jpg',
331
- alt: strings.imageAltTags.moraineLakeLarchesCouple,
332
- },
333
- LARCHES_SUN: {
334
- id: 'larches-sun.jpg',
335
- alt: strings.imageAltTags.larchesSun,
336
- },
337
- GRIZZLY_GROWL: {
338
- id: 'grizzly-growl.jpg',
339
- alt: strings.imageAltTags.grizzlyGrowl,
340
- },
341
- MORAINE_EAGLE: {
342
- id: 'moraine-eagle.jpg',
343
- alt: strings.imageAltTags.moraineEagle,
344
- },
345
- MORAINE_GOAT: {
346
- id: 'moraine-goat.jpg',
347
- alt: strings.imageAltTags.moraineGoat,
348
- },
349
- MORAINE_PIKA: {
350
- id: 'moraine-pika.jpg',
351
- alt: strings.imageAltTags.morainePika,
352
- },
353
- GIRL_HIKING_ATTIRE_WITH_DOGS: {
354
- id: 'girl-hiking-attire-with-dogs.jpg',
355
- alt: strings.imageAltTags.girlHikingAttireWithDogs,
356
- },
357
- NATHAN_OUTDOOR_APPAREL: {
358
- id: 'nathan-outdoor-apparel.jpg',
359
- alt: strings.imageAltTags.nathanOutdoorApparel,
360
- },
361
- LAKE_LOUISE_FLORA: {
362
- id: 'lake-louise-flora.jpg',
363
- alt: strings.imageAltTags.lakeLouiseFlora,
364
- },
365
- LAKE_LOUISE_PHOTOGRAPHY: {
366
- id: 'lake-louise-photography.jpg',
367
- alt: strings.imageAltTags.lakeLouisePhotography,
368
- },
369
- LAKE_LOUISE_SWIM: {
370
- id: 'lake-louise-swim.jpg',
371
- alt: strings.imageAltTags.lakeLouiseSwim,
372
- },
373
- BANFF_CANOE_GIRL_WITH_DOG: {
374
- id: 'banff-canoe-girl-with-dog.jpg',
375
- alt: strings.imageAltTags.banffCanoeGirlWithDog,
376
- },
377
- MORAINE_LAKE_HIKING: {
378
- id: 'moraine-lake-hiking.jpg',
379
- alt: strings.imageAltTags.moraineLakeHiking,
380
- },
381
- MORAINE_LAKE_GIRL_ON_ROCK: {
382
- id: 'moraine-lake-girl-on-rock.jpg',
383
- alt: strings.imageAltTags.moraineLakeGirlOnRock,
384
- },
385
- CONSOLATION_LAKES_MODEL: {
386
- id: 'consolation-lakes-model.jpg',
387
- alt: strings.imageAltTags.consolationLakesModel,
388
- },
389
- GIRL_AT_MORAINE_LAKESHORE_TRAIL: {
390
- id: 'girl-at-moraine-lakeshore-trail.jpg',
391
- alt: strings.imageAltTags.girlAtMoraineLakeshoreTrail,
392
- },
393
- EIFFEL_PEAK: {
394
- id: 'eiffel-peak.jpg',
395
- alt: strings.imageAltTags.eiffelPeak,
396
- },
397
- MINNESTIMMA_SUNRISE: {
398
- id: 'minnestimma-sunrise.jpg',
399
- alt: strings.imageAltTags.minnestimmaSunrise,
400
- },
401
- MINNESTIMMA_SUNRISE_2: {
402
- id: 'minnestimma-sunrise-2.jpg',
403
- alt: strings.imageAltTags.minnestimmaSunrise2,
404
- },
405
- MOUNT_TEMPLE: {
406
- id: 'mount-temple.jpg',
407
- alt: strings.imageAltTags.mountTemple,
408
- },
409
- GIRL_HIKING_FLOWERS: {
410
- id: 'girl-hiking-flowers.jpg',
411
- alt: strings.imageAltTags.girlHikingFlowers,
412
- },
413
- LITTLE_SISTER_GETAWAYS: {
414
- id: 'little-sister-getaways.jpg',
415
- alt: strings.imageAltTags.littleSisterGetaways,
416
- },
417
- BASECAMP_RESORTS: {
418
- id: 'basecamp-resorts.jpg',
419
- alt: strings.imageAltTags.basecampResorts,
420
- },
421
- CANADIAN_ROCKIES_RAFTING: {
422
- id: 'canadian-rockies-rafting.jpg',
423
- alt: strings.imageAltTags.canadianRockiesRafting,
424
- },
425
- CANMORE_CAVE_TOURS: {
426
- id: 'canmore-cave-tours.jpg',
427
- alt: strings.imageAltTags.canmoreCaveTours,
428
- },
429
- BANFF_CANOE_CLUB: {
430
- id: 'banff-canoe-club.jpg',
431
- alt: strings.imageAltTags.banffCanoeClub,
432
- },
433
- CANMORE_RIVER_ADVENTURES: {
434
- id: 'canmore-river-adventures.jpg',
435
- alt: strings.imageAltTags.canmoreRiverAdventures,
436
- },
437
- BIKE_BANFF: {
438
- id: 'bike-banff.jpg',
439
- alt: strings.imageAltTags.bikeBanff,
440
- },
441
- BANFF_CANYONING: {
442
- id: 'banff-canyoning.jpg',
443
- alt: strings.imageAltTags.banffCanyoning,
444
- },
445
- CANMORE_ROCKY_MOUNTAIN_INN: {
446
- id: 'canmore-rocky-mountain-inn.jpg',
447
- alt: strings.imageAltTags.canmoreRockyMountainInn,
448
- },
449
- GRANDE_ROCKIES_RESORT: {
450
- id: 'grande-rockies-resort.jpg',
451
- alt: strings.imageAltTags.grandeRockiesResort,
452
- },
453
- BANFF_LODGING_CO: {
454
- id: 'banff-lodging-co.jpg',
455
- alt: strings.imageAltTags.banffLodgingCo,
456
- },
457
- PEKA: {
458
- id: 'peka.jpg',
459
- alt: strings.imageAltTags.peka,
460
- },
461
- CANMORE_INN_AND_SUITES: {
462
- id: 'canmore-inn-and-suites.jpg',
463
- alt: strings.imageAltTags.canmoreInnAndSuites,
464
- },
465
- BREWSTER_MOUNTAIN_LODGE: {
466
- id: 'brewster-mountain-lodge.jpg',
467
- alt: strings.imageAltTags.brewsterMountainLodge,
468
- },
469
- MORAINE_LAKE_PHOTO_SESSIONS: {
470
- id: 'will-moraine-lake-photo-workshop-thumbnail.jpg',
471
- alt: strings.imageAltTags.moraineLakePhotoSessions,
472
- },
473
- VIA_VIA_TEAM_FUN: {
474
- id: 'viaviastaff-team-fun.jpg',
475
- alt: strings.imageAltTags.viaViaTeamFun,
476
- },
477
- CANADA_DAY_158: {
478
- id: 'canada-day-158.jpg',
479
- alt: strings.imageAltTags.canadaDay158,
480
- },
481
- CANADA_DAY_STAFF_1: {
482
- id: 'canada-day-staff-1.jpg',
483
- alt: strings.imageAltTags.canadaDayStaff1,
484
- },
485
- CANADA_DAY_STAFF_2: {
486
- id: 'canada-day-staff-2.jpg',
487
- alt: strings.imageAltTags.canadaDayStaff2,
488
- },
489
- MORAINE_AUTUMN_YOGA_EVENT: {
490
- id: 'moraine-autumn-yoga-event.jpg',
491
- alt: strings.imageAltTags.moraineAutumnYogaEvent,
492
- },
493
- MORAINE_LAKE_SUNRISE_GORP: {
494
- id: 'moraine-lake-sunrise-gorp.jpg',
495
- alt: strings.imageAltTags.moraineLakeSunriseGorp,
496
- },
497
- PRIVATE_TOUR_FAMILY_MORAINE_LAKE: {
498
- id: 'private-tour-family-moraine-lake.jpg',
499
- alt: strings.imageAltTags.privateTourFamilyMoraineLake,
500
- },
501
- FAMILY_MORIANE_LAKE_ROCKPILE: {
502
- id: 'family-moraine-lake-rockpile.jpg',
503
- alt: strings.imageAltTags.familyMoraineLakeRockpile,
504
- },
505
- GIRLS_DAY_RAINY_LAKE_LOUISE: {
506
- id: 'girls-day-rainy-lake-louise.jpg',
507
- alt: strings.imageAltTags.girlsDayRainyLakeLouise,
508
- },
509
- MORAINE_LAKE_SUNRISE_GIRL_FRIENDS: {
510
- id: 'moraine-lake-sunrise-girl-friends.jpg',
511
- alt: strings.imageAltTags.moraineLakeSunriseGirlFriends,
512
- },
513
- MORAINE_LAKE_COUPLE_AT_WATER: {
514
- id: 'moraine-lake-couple-at-water.jpg',
515
- alt: strings.imageAltTags.moraineLakeCoupleAtWater,
516
- },
517
- MORAINE_LAKE_SUNRISE_ELOPEMENT: {
518
- id: 'moraine-lake-sunrise-elopement.jpg',
519
- alt: strings.imageAltTags.moraineLakeSunriseElopement,
520
- },
521
- MORAINE_LAKE_ELOPEMENT: {
522
- id: 'moraine-lake-elopement.jpg',
523
- alt: strings.imageAltTags.moraineLakeElopement,
524
- },
525
- MORAINE_LAKE_ELOPEMENT_LAKESHORE: {
526
- id: 'moraine-lake-elopement-lakeshore.jpg',
527
- alt: strings.imageAltTags.moraineLakeElopementLakeshore,
528
- },
529
- SENTINEL_PASS_ELOPEMENT_SNOW: {
530
- id: 'sentinel-pass-elopement-snow.jpg',
531
- alt: strings.imageAltTags.sentinelPassElopementSnow,
532
- },
533
- SENTINEL_PASS_ELOPEMENT_SNOW_HORIZONTAL: {
534
- id: 'sentinel-pass-elopement-snow-horizontal.jpg',
535
- alt: strings.imageAltTags.sentinelPassElopementSnowHorizontal,
536
- },
537
- LAKE_LOUISE_KISS: {
538
- id: 'lake-louise-kiss.jpg',
539
- alt: strings.imageAltTags.lakeLouiseKiss,
540
- },
541
- MORAINE_LAKE_PROPOSE: {
542
- id: 'moraine-lake-propose.jpg',
543
- alt: strings.imageAltTags.moraineLakePropose,
544
- },
545
- MORAINE_LAKE_OVERCAST_PROPOSE: {
546
- id: 'moraine-lake-overcast-propose.jpg',
547
- alt: strings.imageAltTags.moraineLakeOvercastPropose,
548
- },
549
- MORAINE_LAKE_PROPOSE_CRY: {
550
- id: 'moraine-lake-propose-cry.jpg',
551
- alt: strings.imageAltTags.moraineLakeProposeCry,
552
- }
553
- } as const;
554
-
555
- // Type for accessing image keys
556
- export type ImageKey = keyof typeof IMAGES;