@akin-travel/partner-sdk 1.0.5

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 (204) hide show
  1. package/README.md +1204 -0
  2. package/dist/account/components/AccountInfoSection.d.ts +46 -0
  3. package/dist/account/components/AccountInfoSection.d.ts.map +1 -0
  4. package/dist/account/components/AccountInfoSection.js +52 -0
  5. package/dist/account/components/AccountInfoSection.js.map +1 -0
  6. package/dist/account/components/NotificationPreferencesSection.d.ts +40 -0
  7. package/dist/account/components/NotificationPreferencesSection.d.ts.map +1 -0
  8. package/dist/account/components/NotificationPreferencesSection.js +116 -0
  9. package/dist/account/components/NotificationPreferencesSection.js.map +1 -0
  10. package/dist/account/components/PasskeySection.d.ts +49 -0
  11. package/dist/account/components/PasskeySection.d.ts.map +1 -0
  12. package/dist/account/components/PasskeySection.js +298 -0
  13. package/dist/account/components/PasskeySection.js.map +1 -0
  14. package/dist/account/hooks/useAccountForm.d.ts +23 -0
  15. package/dist/account/hooks/useAccountForm.d.ts.map +1 -0
  16. package/dist/account/hooks/useAccountForm.js +133 -0
  17. package/dist/account/hooks/useAccountForm.js.map +1 -0
  18. package/dist/account/index.d.ts +10 -0
  19. package/dist/account/index.d.ts.map +1 -0
  20. package/dist/account/index.js +21 -0
  21. package/dist/account/index.js.map +1 -0
  22. package/dist/auth/AkinAuthProvider.d.ts +31 -0
  23. package/dist/auth/AkinAuthProvider.d.ts.map +1 -0
  24. package/dist/auth/AkinAuthProvider.js +632 -0
  25. package/dist/auth/AkinAuthProvider.js.map +1 -0
  26. package/dist/auth/components/LoginForm.d.ts +63 -0
  27. package/dist/auth/components/LoginForm.d.ts.map +1 -0
  28. package/dist/auth/components/LoginForm.js +230 -0
  29. package/dist/auth/components/LoginForm.js.map +1 -0
  30. package/dist/auth/components/MagicLinkForm.d.ts +41 -0
  31. package/dist/auth/components/MagicLinkForm.d.ts.map +1 -0
  32. package/dist/auth/components/MagicLinkForm.js +88 -0
  33. package/dist/auth/components/MagicLinkForm.js.map +1 -0
  34. package/dist/auth/components/RequireAuth.d.ts +62 -0
  35. package/dist/auth/components/RequireAuth.d.ts.map +1 -0
  36. package/dist/auth/components/RequireAuth.js +63 -0
  37. package/dist/auth/components/RequireAuth.js.map +1 -0
  38. package/dist/auth/components/RequireGuest.d.ts +60 -0
  39. package/dist/auth/components/RequireGuest.d.ts.map +1 -0
  40. package/dist/auth/components/RequireGuest.js +64 -0
  41. package/dist/auth/components/RequireGuest.js.map +1 -0
  42. package/dist/auth/components/SignupForm.d.ts +45 -0
  43. package/dist/auth/components/SignupForm.d.ts.map +1 -0
  44. package/dist/auth/components/SignupForm.js +167 -0
  45. package/dist/auth/components/SignupForm.js.map +1 -0
  46. package/dist/auth/index.d.ts +10 -0
  47. package/dist/auth/index.d.ts.map +1 -0
  48. package/dist/auth/index.js +21 -0
  49. package/dist/auth/index.js.map +1 -0
  50. package/dist/client.d.ts +17 -0
  51. package/dist/client.d.ts.map +1 -0
  52. package/dist/client.js +136 -0
  53. package/dist/client.js.map +1 -0
  54. package/dist/components/PhoneInput.d.ts +62 -0
  55. package/dist/components/PhoneInput.d.ts.map +1 -0
  56. package/dist/components/PhoneInput.js +65 -0
  57. package/dist/components/PhoneInput.js.map +1 -0
  58. package/dist/components/index.d.ts +2 -0
  59. package/dist/components/index.d.ts.map +1 -0
  60. package/dist/components/index.js +9 -0
  61. package/dist/components/index.js.map +1 -0
  62. package/dist/config.d.ts +111 -0
  63. package/dist/config.d.ts.map +1 -0
  64. package/dist/config.js +56 -0
  65. package/dist/config.js.map +1 -0
  66. package/dist/constants/preferences.d.ts +22 -0
  67. package/dist/constants/preferences.d.ts.map +1 -0
  68. package/dist/constants/preferences.js +52 -0
  69. package/dist/constants/preferences.js.map +1 -0
  70. package/dist/currency/CurrencyProvider.d.ts +46 -0
  71. package/dist/currency/CurrencyProvider.d.ts.map +1 -0
  72. package/dist/currency/CurrencyProvider.js +145 -0
  73. package/dist/currency/CurrencyProvider.js.map +1 -0
  74. package/dist/currency/components/CurrencySelector.d.ts +43 -0
  75. package/dist/currency/components/CurrencySelector.d.ts.map +1 -0
  76. package/dist/currency/components/CurrencySelector.js +58 -0
  77. package/dist/currency/components/CurrencySelector.js.map +1 -0
  78. package/dist/currency/exchangeRates.d.ts +40 -0
  79. package/dist/currency/exchangeRates.d.ts.map +1 -0
  80. package/dist/currency/exchangeRates.js +90 -0
  81. package/dist/currency/exchangeRates.js.map +1 -0
  82. package/dist/currency/index.d.ts +6 -0
  83. package/dist/currency/index.d.ts.map +1 -0
  84. package/dist/currency/index.js +20 -0
  85. package/dist/currency/index.js.map +1 -0
  86. package/dist/header/components/CurrencyAccordion.d.ts +45 -0
  87. package/dist/header/components/CurrencyAccordion.d.ts.map +1 -0
  88. package/dist/header/components/CurrencyAccordion.js +54 -0
  89. package/dist/header/components/CurrencyAccordion.js.map +1 -0
  90. package/dist/header/components/HeaderMenu.d.ts +49 -0
  91. package/dist/header/components/HeaderMenu.d.ts.map +1 -0
  92. package/dist/header/components/HeaderMenu.js +95 -0
  93. package/dist/header/components/HeaderMenu.js.map +1 -0
  94. package/dist/header/components/LanguageAccordion.d.ts +45 -0
  95. package/dist/header/components/LanguageAccordion.d.ts.map +1 -0
  96. package/dist/header/components/LanguageAccordion.js +54 -0
  97. package/dist/header/components/LanguageAccordion.js.map +1 -0
  98. package/dist/header/components/UserAvatar.d.ts +26 -0
  99. package/dist/header/components/UserAvatar.d.ts.map +1 -0
  100. package/dist/header/components/UserAvatar.js +46 -0
  101. package/dist/header/components/UserAvatar.js.map +1 -0
  102. package/dist/header/index.d.ts +10 -0
  103. package/dist/header/index.d.ts.map +1 -0
  104. package/dist/header/index.js +13 -0
  105. package/dist/header/index.js.map +1 -0
  106. package/dist/i18n/I18nProvider.d.ts +57 -0
  107. package/dist/i18n/I18nProvider.d.ts.map +1 -0
  108. package/dist/i18n/I18nProvider.js +205 -0
  109. package/dist/i18n/I18nProvider.js.map +1 -0
  110. package/dist/i18n/components/LanguageSelector.d.ts +43 -0
  111. package/dist/i18n/components/LanguageSelector.d.ts.map +1 -0
  112. package/dist/i18n/components/LanguageSelector.js +57 -0
  113. package/dist/i18n/components/LanguageSelector.js.map +1 -0
  114. package/dist/i18n/index.d.ts +5 -0
  115. package/dist/i18n/index.d.ts.map +1 -0
  116. package/dist/i18n/index.js +14 -0
  117. package/dist/i18n/index.js.map +1 -0
  118. package/dist/i18n/translations/en.json +283 -0
  119. package/dist/i18n/translations/es.json +283 -0
  120. package/dist/index.d.ts +81 -0
  121. package/dist/index.d.ts.map +1 -0
  122. package/dist/index.js +191 -0
  123. package/dist/index.js.map +1 -0
  124. package/dist/loyalty/AkinLoyaltyProvider.d.ts +18 -0
  125. package/dist/loyalty/AkinLoyaltyProvider.d.ts.map +1 -0
  126. package/dist/loyalty/AkinLoyaltyProvider.js +399 -0
  127. package/dist/loyalty/AkinLoyaltyProvider.js.map +1 -0
  128. package/dist/loyalty/components/LoyaltyCard.d.ts +48 -0
  129. package/dist/loyalty/components/LoyaltyCard.d.ts.map +1 -0
  130. package/dist/loyalty/components/LoyaltyCard.js +140 -0
  131. package/dist/loyalty/components/LoyaltyCard.js.map +1 -0
  132. package/dist/loyalty/components/PointsDisplay.d.ts +40 -0
  133. package/dist/loyalty/components/PointsDisplay.d.ts.map +1 -0
  134. package/dist/loyalty/components/PointsDisplay.js +32 -0
  135. package/dist/loyalty/components/PointsDisplay.js.map +1 -0
  136. package/dist/loyalty/components/PreviousStays.d.ts +59 -0
  137. package/dist/loyalty/components/PreviousStays.d.ts.map +1 -0
  138. package/dist/loyalty/components/PreviousStays.js +101 -0
  139. package/dist/loyalty/components/PreviousStays.js.map +1 -0
  140. package/dist/loyalty/components/SimpleTierCards.d.ts +51 -0
  141. package/dist/loyalty/components/SimpleTierCards.d.ts.map +1 -0
  142. package/dist/loyalty/components/SimpleTierCards.js +96 -0
  143. package/dist/loyalty/components/SimpleTierCards.js.map +1 -0
  144. package/dist/loyalty/components/TierCard.d.ts +30 -0
  145. package/dist/loyalty/components/TierCard.d.ts.map +1 -0
  146. package/dist/loyalty/components/TierCard.js +41 -0
  147. package/dist/loyalty/components/TierCard.js.map +1 -0
  148. package/dist/loyalty/components/TierProgress.d.ts +32 -0
  149. package/dist/loyalty/components/TierProgress.d.ts.map +1 -0
  150. package/dist/loyalty/components/TierProgress.js +41 -0
  151. package/dist/loyalty/components/TierProgress.js.map +1 -0
  152. package/dist/loyalty/components/TierRequirementsTable.d.ts +54 -0
  153. package/dist/loyalty/components/TierRequirementsTable.d.ts.map +1 -0
  154. package/dist/loyalty/components/TierRequirementsTable.js +104 -0
  155. package/dist/loyalty/components/TierRequirementsTable.js.map +1 -0
  156. package/dist/loyalty/components/TransactionList.d.ts +44 -0
  157. package/dist/loyalty/components/TransactionList.d.ts.map +1 -0
  158. package/dist/loyalty/components/TransactionList.js +112 -0
  159. package/dist/loyalty/components/TransactionList.js.map +1 -0
  160. package/dist/loyalty/components/UpcomingStays.d.ts +49 -0
  161. package/dist/loyalty/components/UpcomingStays.d.ts.map +1 -0
  162. package/dist/loyalty/components/UpcomingStays.js +60 -0
  163. package/dist/loyalty/components/UpcomingStays.js.map +1 -0
  164. package/dist/loyalty/index.d.ts +12 -0
  165. package/dist/loyalty/index.d.ts.map +1 -0
  166. package/dist/loyalty/index.js +27 -0
  167. package/dist/loyalty/index.js.map +1 -0
  168. package/dist/types/account.d.ts +108 -0
  169. package/dist/types/account.d.ts.map +1 -0
  170. package/dist/types/account.js +3 -0
  171. package/dist/types/account.js.map +1 -0
  172. package/dist/types/auth.d.ts +205 -0
  173. package/dist/types/auth.d.ts.map +1 -0
  174. package/dist/types/auth.js +3 -0
  175. package/dist/types/auth.js.map +1 -0
  176. package/dist/types/currency.d.ts +102 -0
  177. package/dist/types/currency.d.ts.map +1 -0
  178. package/dist/types/currency.js +3 -0
  179. package/dist/types/currency.js.map +1 -0
  180. package/dist/types/header.d.ts +105 -0
  181. package/dist/types/header.d.ts.map +1 -0
  182. package/dist/types/header.js +3 -0
  183. package/dist/types/header.js.map +1 -0
  184. package/dist/types/i18n.d.ts +90 -0
  185. package/dist/types/i18n.d.ts.map +1 -0
  186. package/dist/types/i18n.js +3 -0
  187. package/dist/types/i18n.js.map +1 -0
  188. package/dist/types/index.d.ts +3 -0
  189. package/dist/types/index.d.ts.map +1 -0
  190. package/dist/types/index.js +3 -0
  191. package/dist/types/index.js.map +1 -0
  192. package/dist/types/loyalty.d.ts +312 -0
  193. package/dist/types/loyalty.d.ts.map +1 -0
  194. package/dist/types/loyalty.js +3 -0
  195. package/dist/types/loyalty.js.map +1 -0
  196. package/dist/utils/index.d.ts +2 -0
  197. package/dist/utils/index.d.ts.map +1 -0
  198. package/dist/utils/index.js +10 -0
  199. package/dist/utils/index.js.map +1 -0
  200. package/dist/utils/tierLabels.d.ts +27 -0
  201. package/dist/utils/tierLabels.d.ts.map +1 -0
  202. package/dist/utils/tierLabels.js +110 -0
  203. package/dist/utils/tierLabels.js.map +1 -0
  204. package/package.json +60 -0
@@ -0,0 +1,283 @@
1
+ {
2
+ "home": {
3
+ "welcomeBack": "Welcome back, {name}!",
4
+ "youHavePoints": "You have {points} points",
5
+ "viewRewards": "View Your Rewards",
6
+ "title": "Viajero Loyalty Program",
7
+ "subtitle": "Earn points with every stay. Unlock perks, free nights, and exclusive experiences.",
8
+ "joinNow": "Join Now - Free",
9
+ "earnPoints": "Earn Points",
10
+ "earnPointsDesc": "10 points per $1 spent at any Viajero hostel",
11
+ "unlockPerks": "Unlock Perks",
12
+ "unlockPerksDesc": "Free breakfast, late checkout, room upgrades",
13
+ "levelUp": "Level Up",
14
+ "levelUpDesc": "4 tiers with increasing benefits"
15
+ },
16
+ "login": {
17
+ "subtitle": "Sign in to access your rewards"
18
+ },
19
+ "signup": {
20
+ "title": "Join Viajero",
21
+ "subtitle": "Start earning points on your travels",
22
+ "checkEmail": "We've sent a verification link to {email}",
23
+ "clickLink": "Click the link in the email to verify your account and get started.",
24
+ "backToLogin": "Back to login"
25
+ },
26
+ "verify": {
27
+ "invalidLink": "Invalid verification link. Please request a new one.",
28
+ "failed": "Verification failed. Please request a new link.",
29
+ "pleaseWait": "Please wait while we verify your email address.",
30
+ "redirecting": "Redirecting you to your rewards dashboard..."
31
+ },
32
+ "rewards": {
33
+ "loyaltyNumber": "Loyalty #",
34
+ "yourPoints": "Your Points",
35
+ "tier": "Tier",
36
+ "progressToNext": "Progress to Next Tier",
37
+ "pointsToReach": "{points} points to reach {tier}",
38
+ "noTransactions": "No transactions yet. Book a stay to start earning points!",
39
+ "transaction": "Transaction"
40
+ },
41
+ "auth": {
42
+ "login": {
43
+ "title": "Sign In",
44
+ "email": "Email",
45
+ "password": "Password",
46
+ "submit": "Sign In",
47
+ "forgotPassword": "Forgot password?",
48
+ "noAccount": "Don't have an account?",
49
+ "signUp": "Sign up",
50
+ "or": "or",
51
+ "continueWithPasskey": "Continue with Passkey",
52
+ "continueWithEmail": "Continue with Email",
53
+ "sendMagicLink": "Send Magic Link",
54
+ "magicLinkSent": "Check your email",
55
+ "magicLinkSentDescription": "We sent a sign-in link to {email}",
56
+ "resendLink": "Resend link",
57
+ "tryAnotherMethod": "Try another method"
58
+ },
59
+ "signup": {
60
+ "title": "Create Account",
61
+ "firstName": "First Name",
62
+ "lastName": "Last Name",
63
+ "email": "Email",
64
+ "phone": "Phone",
65
+ "password": "Password",
66
+ "confirmPassword": "Confirm Password",
67
+ "termsAccepted": "I agree to the Terms & Conditions",
68
+ "marketingOptIn": "Send me updates about rewards and offers",
69
+ "submit": "Create Account",
70
+ "hasAccount": "Already have an account?",
71
+ "signIn": "Sign in",
72
+ "success": "Account created!",
73
+ "successDescription": "Check your email to verify your account"
74
+ },
75
+ "verify": {
76
+ "title": "Verifying...",
77
+ "success": "Verified!",
78
+ "error": "Verification failed",
79
+ "tryAgain": "Try again"
80
+ },
81
+ "signOut": "Sign Out"
82
+ },
83
+ "loyalty": {
84
+ "title": "Your Rewards",
85
+ "points": "{count} points",
86
+ "tier": {
87
+ "current": "Current Tier",
88
+ "next": "Next Tier",
89
+ "progress": "{current} / {required} to {next}",
90
+ "maxTier": "You've reached the top tier!",
91
+ "TIER1": "Member",
92
+ "TIER2": "Silver",
93
+ "TIER3": "Gold",
94
+ "TIER4": "Platinum"
95
+ },
96
+ "transactions": {
97
+ "title": "Recent Activity",
98
+ "empty": "No activity yet",
99
+ "loadMore": "Load more",
100
+ "types": {
101
+ "EARN": "Earned",
102
+ "REDEEM": "Redeemed",
103
+ "ADJUSTMENT": "Adjustment",
104
+ "EXPIRE": "Expired",
105
+ "TRANSFER": "Transferred"
106
+ }
107
+ },
108
+ "stats": {
109
+ "totalPoints": "Total Points",
110
+ "lifetimePoints": "Lifetime Points",
111
+ "staysThisYear": "Stays This Year",
112
+ "nightsThisYear": "Nights This Year"
113
+ },
114
+ "card": {
115
+ "memberSince": "Member since {date}",
116
+ "loyaltyNumber": "Loyalty #",
117
+ "thisYear": "This Membership Year",
118
+ "lifetime": "Lifetime",
119
+ "stays": "Stays",
120
+ "nights": "Nights",
121
+ "points": "Points"
122
+ },
123
+ "tierCard": {
124
+ "hey": "Hey",
125
+ "yourTier": "Your tier",
126
+ "noTierYet": "Make your first booking!",
127
+ "earnYourStatus": "Earn your status",
128
+ "bookNow": "Book now",
129
+ "addStay": "Add a stay",
130
+ "referFriend": "Refer a friend",
131
+ "setPreferences": "Set preferences",
132
+ "thisMembershipYear": "This membership year",
133
+ "lifetime": "Lifetime",
134
+ "by": "By:",
135
+ "since": "Since:",
136
+ "points": "Points",
137
+ "originStays": "Origin stays",
138
+ "totalStays": "Total stays"
139
+ },
140
+ "tierRequirements": {
141
+ "title": "Tier Requirements",
142
+ "subtitle": "How to reach each tier",
143
+ "perksAvailable": "{count} perks available",
144
+ "invitationOnly": "By invitation only"
145
+ },
146
+ "tierCards": {
147
+ "title": "The Viajero Way",
148
+ "subtitle": "Your journey through our loyalty tiers",
149
+ "perksAvailable": "{count} perks available",
150
+ "rewardsPerStay": "rewards per stay",
151
+ "invitationOnly": "By invitation only"
152
+ },
153
+ "upcomingStays": {
154
+ "title": "Upcoming Stays",
155
+ "empty": "No upcoming stays. Book your next adventure!",
156
+ "property": "Property",
157
+ "checkIn": "Check In",
158
+ "nights": "Nights",
159
+ "status": "Status",
160
+ "perks": "Perks"
161
+ },
162
+ "previousStays": {
163
+ "title": "Previous Stays",
164
+ "empty": "No previous stays yet. Your travel history will appear here.",
165
+ "property": "Property",
166
+ "checkOut": "Checked Out",
167
+ "nights": "Nights",
168
+ "points": "Points Earned",
169
+ "loadMore": "Load more"
170
+ },
171
+ "activityStatement": {
172
+ "title": "Activity Statement",
173
+ "empty": "No activity yet. Your transactions will appear here.",
174
+ "property": "Property",
175
+ "date": "Date",
176
+ "type": "Type",
177
+ "nights": "Nights",
178
+ "points": "Points",
179
+ "earned": "Earned",
180
+ "spent": "Spent",
181
+ "expired": "Expired",
182
+ "adjusted": "Adjusted",
183
+ "loadMore": "Load more"
184
+ },
185
+ "drawer": {
186
+ "title": "Member Options",
187
+ "subtitle": "Manage your loyalty account",
188
+ "addStay": "Add Stay",
189
+ "refer": "Refer",
190
+ "preferences": "Preferences",
191
+ "addStayDesc": "Link a stay to your account by entering your booking confirmation number.",
192
+ "submitStay": "Link Stay",
193
+ "confirmationNumber": "Confirmation Number",
194
+ "confirmationPlaceholder": "e.g., VIA-12345",
195
+ "lastName": "Last Name",
196
+ "lastNamePlaceholder": "Your last name",
197
+ "referDesc": "Share your referral link with friends and earn bonus points when they book!",
198
+ "yourReferralLink": "Your referral link:",
199
+ "copy": "Copy",
200
+ "referrals": "Referrals",
201
+ "pointsEarned": "Points Earned",
202
+ "preferencesDesc": "Set your travel preferences to personalize your experience.",
203
+ "preferredVibe": "Preferred Vibe",
204
+ "vibes": {
205
+ "social": "Social",
206
+ "quiet": "Quiet",
207
+ "adventure": "Adventure",
208
+ "relaxation": "Relaxation"
209
+ },
210
+ "preferredPerks": "Preferred Perks",
211
+ "perks": {
212
+ "freeBreakfast": "Free Breakfast",
213
+ "lateCheckout": "Late Checkout",
214
+ "roomUpgrade": "Room Upgrade",
215
+ "welcomeDrink": "Welcome Drink"
216
+ },
217
+ "savePreferences": "Save Preferences"
218
+ },
219
+ "progress": {
220
+ "staysOf": "{current} of {target}",
221
+ "originHostels": "Origin Hostels",
222
+ "originNights": "Origin Nights"
223
+ },
224
+ "preferences": {
225
+ "step1": "Which perks interest you?",
226
+ "step2": "What kinds of places do you love?",
227
+ "step3": "What vibe do you look for?"
228
+ }
229
+ },
230
+ "account": {
231
+ "title": "Account",
232
+ "profile": {
233
+ "title": "Profile",
234
+ "edit": "Edit",
235
+ "save": "Save",
236
+ "cancel": "Cancel",
237
+ "firstName": "First Name",
238
+ "lastName": "Last Name",
239
+ "email": "Email",
240
+ "phone": "Phone",
241
+ "updated": "Profile updated"
242
+ },
243
+ "notifications": {
244
+ "title": "Notification Preferences",
245
+ "email": "Email notifications",
246
+ "sms": "SMS notifications",
247
+ "marketing": "Marketing communications"
248
+ },
249
+ "passkeys": {
250
+ "title": "Passkeys",
251
+ "description": "Passkeys let you sign in quickly and securely",
252
+ "add": "Add Passkey",
253
+ "remove": "Remove",
254
+ "noPasskeys": "No passkeys registered",
255
+ "added": "Passkey added",
256
+ "removed": "Passkey removed"
257
+ }
258
+ },
259
+ "common": {
260
+ "loading": "Loading...",
261
+ "error": "Something went wrong",
262
+ "retry": "Try again",
263
+ "close": "Close",
264
+ "save": "Save",
265
+ "cancel": "Cancel",
266
+ "edit": "Edit",
267
+ "delete": "Delete",
268
+ "confirm": "Confirm",
269
+ "back": "Back",
270
+ "next": "Next",
271
+ "done": "Done"
272
+ },
273
+ "header": {
274
+ "menu": "Menu",
275
+ "account": "Account",
276
+ "rewards": "Rewards",
277
+ "signIn": "Sign In",
278
+ "joinFree": "Join Free",
279
+ "signOut": "Sign Out",
280
+ "language": "Language",
281
+ "currency": "Currency"
282
+ }
283
+ }
@@ -0,0 +1,283 @@
1
+ {
2
+ "home": {
3
+ "welcomeBack": "Bienvenido de nuevo, {name}!",
4
+ "youHavePoints": "Tienes {points} puntos",
5
+ "viewRewards": "Ver Tus Recompensas",
6
+ "title": "Programa de Lealtad Viajero",
7
+ "subtitle": "Gana puntos con cada estadía. Desbloquea beneficios, noches gratis y experiencias exclusivas.",
8
+ "joinNow": "Únete Ahora - Gratis",
9
+ "earnPoints": "Gana Puntos",
10
+ "earnPointsDesc": "10 puntos por cada $1 gastado en cualquier hostal Viajero",
11
+ "unlockPerks": "Desbloquea Beneficios",
12
+ "unlockPerksDesc": "Desayuno gratis, late checkout, mejoras de habitación",
13
+ "levelUp": "Sube de Nivel",
14
+ "levelUpDesc": "4 niveles con beneficios crecientes"
15
+ },
16
+ "login": {
17
+ "subtitle": "Inicia sesión para acceder a tus recompensas"
18
+ },
19
+ "signup": {
20
+ "title": "Únete a Viajero",
21
+ "subtitle": "Comienza a ganar puntos en tus viajes",
22
+ "checkEmail": "Hemos enviado un enlace de verificación a {email}",
23
+ "clickLink": "Haz clic en el enlace del correo para verificar tu cuenta y comenzar.",
24
+ "backToLogin": "Volver al inicio de sesión"
25
+ },
26
+ "verify": {
27
+ "invalidLink": "Enlace de verificación inválido. Por favor solicita uno nuevo.",
28
+ "failed": "Verificación fallida. Por favor solicita un nuevo enlace.",
29
+ "pleaseWait": "Por favor espera mientras verificamos tu correo electrónico.",
30
+ "redirecting": "Redirigiendo a tu panel de recompensas..."
31
+ },
32
+ "rewards": {
33
+ "loyaltyNumber": "Número de lealtad",
34
+ "yourPoints": "Tus Puntos",
35
+ "tier": "Nivel",
36
+ "progressToNext": "Progreso al Siguiente Nivel",
37
+ "pointsToReach": "{points} puntos para alcanzar {tier}",
38
+ "noTransactions": "Sin transacciones aún. ¡Reserva una estadía para empezar a ganar puntos!",
39
+ "transaction": "Transacción"
40
+ },
41
+ "auth": {
42
+ "login": {
43
+ "title": "Iniciar Sesión",
44
+ "email": "Correo electrónico",
45
+ "password": "Contraseña",
46
+ "submit": "Iniciar Sesión",
47
+ "forgotPassword": "¿Olvidaste tu contraseña?",
48
+ "noAccount": "¿No tienes una cuenta?",
49
+ "signUp": "Regístrate",
50
+ "or": "o",
51
+ "continueWithPasskey": "Continuar con Passkey",
52
+ "continueWithEmail": "Continuar con Email",
53
+ "sendMagicLink": "Enviar Enlace Mágico",
54
+ "magicLinkSent": "Revisa tu correo",
55
+ "magicLinkSentDescription": "Enviamos un enlace de inicio de sesión a {email}",
56
+ "resendLink": "Reenviar enlace",
57
+ "tryAnotherMethod": "Probar otro método"
58
+ },
59
+ "signup": {
60
+ "title": "Crear Cuenta",
61
+ "firstName": "Nombre",
62
+ "lastName": "Apellido",
63
+ "email": "Correo electrónico",
64
+ "phone": "Teléfono",
65
+ "password": "Contraseña",
66
+ "confirmPassword": "Confirmar Contraseña",
67
+ "termsAccepted": "Acepto los Términos y Condiciones",
68
+ "marketingOptIn": "Envíame actualizaciones sobre recompensas y ofertas",
69
+ "submit": "Crear Cuenta",
70
+ "hasAccount": "¿Ya tienes una cuenta?",
71
+ "signIn": "Inicia sesión",
72
+ "success": "¡Cuenta creada!",
73
+ "successDescription": "Revisa tu correo para verificar tu cuenta"
74
+ },
75
+ "verify": {
76
+ "title": "Verificando...",
77
+ "success": "¡Verificado!",
78
+ "error": "Error de verificación",
79
+ "tryAgain": "Intentar de nuevo"
80
+ },
81
+ "signOut": "Cerrar Sesión"
82
+ },
83
+ "loyalty": {
84
+ "title": "Tus Recompensas",
85
+ "points": "{count} puntos",
86
+ "tier": {
87
+ "current": "Nivel Actual",
88
+ "next": "Siguiente Nivel",
89
+ "progress": "{current} / {required} para {next}",
90
+ "maxTier": "¡Has alcanzado el nivel máximo!",
91
+ "TIER1": "Miembro",
92
+ "TIER2": "Plata",
93
+ "TIER3": "Oro",
94
+ "TIER4": "Platino"
95
+ },
96
+ "transactions": {
97
+ "title": "Actividad Reciente",
98
+ "empty": "Sin actividad aún",
99
+ "loadMore": "Cargar más",
100
+ "types": {
101
+ "EARN": "Ganado",
102
+ "REDEEM": "Canjeado",
103
+ "ADJUSTMENT": "Ajuste",
104
+ "EXPIRE": "Expirado",
105
+ "TRANSFER": "Transferido"
106
+ }
107
+ },
108
+ "stats": {
109
+ "totalPoints": "Puntos Totales",
110
+ "lifetimePoints": "Puntos de por Vida",
111
+ "staysThisYear": "Estancias Este Año",
112
+ "nightsThisYear": "Noches Este Año"
113
+ },
114
+ "card": {
115
+ "memberSince": "Miembro desde {date}",
116
+ "loyaltyNumber": "# de Lealtad",
117
+ "thisYear": "Este Año de Membresía",
118
+ "lifetime": "De por Vida",
119
+ "stays": "Estancias",
120
+ "nights": "Noches",
121
+ "points": "Puntos"
122
+ },
123
+ "tierCard": {
124
+ "hey": "Hola",
125
+ "yourTier": "Tu nivel",
126
+ "noTierYet": "¡Haz tu primera reserva!",
127
+ "earnYourStatus": "Gana tu estatus",
128
+ "bookNow": "Reservar ahora",
129
+ "addStay": "Agregar estancia",
130
+ "referFriend": "Referir a un amigo",
131
+ "setPreferences": "Configurar preferencias",
132
+ "thisMembershipYear": "Este año de membresía",
133
+ "lifetime": "De por vida",
134
+ "by": "Para:",
135
+ "since": "Desde:",
136
+ "points": "Puntos",
137
+ "originStays": "Estancias origen",
138
+ "totalStays": "Estancias totales"
139
+ },
140
+ "tierRequirements": {
141
+ "title": "Requisitos de Nivel",
142
+ "subtitle": "Cómo alcanzar cada nivel",
143
+ "perksAvailable": "{count} beneficios disponibles",
144
+ "invitationOnly": "Solo por invitación"
145
+ },
146
+ "upcomingStays": {
147
+ "title": "Próximas Estancias",
148
+ "empty": "Sin estancias próximas. ¡Reserva tu próxima aventura!",
149
+ "property": "Propiedad",
150
+ "checkIn": "Llegada",
151
+ "nights": "Noches",
152
+ "status": "Estado",
153
+ "perks": "Beneficios"
154
+ },
155
+ "previousStays": {
156
+ "title": "Estancias Anteriores",
157
+ "empty": "Sin estancias anteriores aún. Tu historial de viajes aparecerá aquí.",
158
+ "property": "Propiedad",
159
+ "checkOut": "Salida",
160
+ "nights": "Noches",
161
+ "points": "Puntos Ganados",
162
+ "loadMore": "Cargar más"
163
+ },
164
+ "tierCards": {
165
+ "title": "El Camino Viajero",
166
+ "subtitle": "Tu viaje a través de nuestros niveles de lealtad",
167
+ "perksAvailable": "{count} beneficios disponibles",
168
+ "rewardsPerStay": "recompensas por estancia",
169
+ "invitationOnly": "Solo por invitación"
170
+ },
171
+ "activityStatement": {
172
+ "title": "Estado de Actividad",
173
+ "empty": "Sin actividad aún. Tus transacciones aparecerán aquí.",
174
+ "property": "Propiedad",
175
+ "date": "Fecha",
176
+ "type": "Tipo",
177
+ "nights": "Noches",
178
+ "points": "Puntos",
179
+ "earned": "Ganado",
180
+ "spent": "Gastado",
181
+ "expired": "Expirado",
182
+ "adjusted": "Ajustado",
183
+ "loadMore": "Cargar más"
184
+ },
185
+ "drawer": {
186
+ "title": "Opciones de Miembro",
187
+ "subtitle": "Administra tu cuenta de lealtad",
188
+ "addStay": "Agregar Estancia",
189
+ "refer": "Referir",
190
+ "preferences": "Preferencias",
191
+ "addStayDesc": "Vincula una estancia a tu cuenta ingresando tu número de confirmación de reserva.",
192
+ "submitStay": "Vincular Estancia",
193
+ "confirmationNumber": "Número de Confirmación",
194
+ "confirmationPlaceholder": "ej., VIA-12345",
195
+ "lastName": "Apellido",
196
+ "lastNamePlaceholder": "Tu apellido",
197
+ "referDesc": "¡Comparte tu enlace de referido con amigos y gana puntos extra cuando reserven!",
198
+ "yourReferralLink": "Tu enlace de referido:",
199
+ "copy": "Copiar",
200
+ "referrals": "Referidos",
201
+ "pointsEarned": "Puntos Ganados",
202
+ "preferencesDesc": "Configura tus preferencias de viaje para personalizar tu experiencia.",
203
+ "preferredVibe": "Ambiente Preferido",
204
+ "vibes": {
205
+ "social": "Social",
206
+ "quiet": "Tranquilo",
207
+ "adventure": "Aventura",
208
+ "relaxation": "Relajación"
209
+ },
210
+ "preferredPerks": "Beneficios Preferidos",
211
+ "perks": {
212
+ "freeBreakfast": "Desayuno Gratis",
213
+ "lateCheckout": "Salida Tardía",
214
+ "roomUpgrade": "Mejora de Habitación",
215
+ "welcomeDrink": "Bebida de Bienvenida"
216
+ },
217
+ "savePreferences": "Guardar Preferencias"
218
+ },
219
+ "progress": {
220
+ "staysOf": "{current} de {target}",
221
+ "originHostels": "Hostales Origen",
222
+ "originNights": "Noches Origen"
223
+ },
224
+ "preferences": {
225
+ "step1": "¿Qué beneficios te interesan?",
226
+ "step2": "¿Qué tipos de lugares te encantan?",
227
+ "step3": "¿Qué ambiente buscas?"
228
+ }
229
+ },
230
+ "account": {
231
+ "title": "Cuenta",
232
+ "profile": {
233
+ "title": "Perfil",
234
+ "edit": "Editar",
235
+ "save": "Guardar",
236
+ "cancel": "Cancelar",
237
+ "firstName": "Nombre",
238
+ "lastName": "Apellido",
239
+ "email": "Correo electrónico",
240
+ "phone": "Teléfono",
241
+ "updated": "Perfil actualizado"
242
+ },
243
+ "notifications": {
244
+ "title": "Preferencias de Notificación",
245
+ "email": "Notificaciones por correo",
246
+ "sms": "Notificaciones SMS",
247
+ "marketing": "Comunicaciones de marketing"
248
+ },
249
+ "passkeys": {
250
+ "title": "Passkeys",
251
+ "description": "Las passkeys te permiten iniciar sesión rápida y seguramente",
252
+ "add": "Agregar Passkey",
253
+ "remove": "Eliminar",
254
+ "noPasskeys": "No hay passkeys registradas",
255
+ "added": "Passkey agregada",
256
+ "removed": "Passkey eliminada"
257
+ }
258
+ },
259
+ "common": {
260
+ "loading": "Cargando...",
261
+ "error": "Algo salió mal",
262
+ "retry": "Intentar de nuevo",
263
+ "close": "Cerrar",
264
+ "save": "Guardar",
265
+ "cancel": "Cancelar",
266
+ "edit": "Editar",
267
+ "delete": "Eliminar",
268
+ "confirm": "Confirmar",
269
+ "back": "Atrás",
270
+ "next": "Siguiente",
271
+ "done": "Listo"
272
+ },
273
+ "header": {
274
+ "menu": "Menú",
275
+ "account": "Cuenta",
276
+ "rewards": "Recompensas",
277
+ "signIn": "Iniciar Sesión",
278
+ "joinFree": "Únete Gratis",
279
+ "signOut": "Cerrar Sesión",
280
+ "language": "Idioma",
281
+ "currency": "Moneda"
282
+ }
283
+ }
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Akin Partner SDK
3
+ *
4
+ * SDK for third-party partners to integrate Akin auth and loyalty services
5
+ * into their own React applications.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * import { AkinProvider, useAkinAuth, useAkinLoyalty, LoginForm, TierCard } from '@akin-online/partner-sdk';
10
+ *
11
+ * // Wrap your app with AkinProvider
12
+ * function App() {
13
+ * return (
14
+ * <AkinProvider config={{
15
+ * partnerId: 'your-partner-id',
16
+ * apiKey: 'your-api-key',
17
+ * }}>
18
+ * <YourApp />
19
+ * </AkinProvider>
20
+ * );
21
+ * }
22
+ *
23
+ * // Use hooks for auth state
24
+ * function Profile() {
25
+ * const { member, signOut } = useAkinAuth();
26
+ * const { points, tier } = useAkinLoyalty();
27
+ *
28
+ * return (
29
+ * <div>
30
+ * <h1>Welcome, {member?.firstName}!</h1>
31
+ * <p>{points} points • {tier}</p>
32
+ * <button onClick={signOut}>Sign Out</button>
33
+ * </div>
34
+ * );
35
+ * }
36
+ *
37
+ * // Use headless components for full control over UI
38
+ * function Login() {
39
+ * return (
40
+ * <LoginForm onSuccess={() => navigate('/dashboard')}>
41
+ * {({ email, setEmail, password, setPassword, handleSubmit }) => (
42
+ * <form onSubmit={handleSubmit}>
43
+ * <input value={email} onChange={e => setEmail(e.target.value)} />
44
+ * <input type="password" value={password} onChange={e => setPassword(e.target.value)} />
45
+ * <button type="submit">Sign In</button>
46
+ * </form>
47
+ * )}
48
+ * </LoginForm>
49
+ * );
50
+ * }
51
+ * ```
52
+ */
53
+ export { resolveConfig, DEFAULT_CONFIG, STAGING_CONFIG, DEV_CONFIG } from './config';
54
+ export type { AkinSDKConfig } from './config';
55
+ export { createAkinClient, gql, setTokenProvider, clearTokenCache } from './client';
56
+ export { AkinProvider, useAkinAuth, useSDK } from './auth';
57
+ export { LoginForm, SignupForm, MagicLinkForm } from './auth';
58
+ export { RequireAuth, RequireGuest } from './auth';
59
+ export type { AkinUser, AkinMember, AuthState, AuthActions, AuthContextValue, SignUpData, PasswordlessSignUpData, LoginFormRenderProps, SignupFormRenderProps, MagicLinkFormRenderProps, RequireAuthProps, RequireAuthRenderProps, RequireGuestProps, RequireGuestRenderProps, } from './auth';
60
+ export { useAkinLoyalty } from './loyalty';
61
+ export { TierCard, TierProgress, TransactionList, PointsDisplay, TierRequirementsTable, SimpleTierCards, LoyaltyCard, UpcomingStays, PreviousStays, } from './loyalty';
62
+ export type { TierConfig, TierProgressType, LoyaltyTransaction, MemberTierHistory, TransactionType, TierChangeReason, LoyaltyState, LoyaltyActions, LoyaltyContextValue, TierCardRenderProps, TierProgressRenderProps, TransactionListRenderProps, TierRequirement, RequirementValueType, RequirementOperator, TierRequirementsTableRenderProps, SimpleTierCardsRenderProps, BookingStatus, MemberStay, LoyaltyCardRenderProps, UpcomingStaysRenderProps, PreviousStaysRenderProps, } from './loyalty';
63
+ export { TIER_LABELS, PARTNER_LABELS, KEY_PRIORITY, getLabel, extractRequirementKeys, } from './utils';
64
+ export { I18nProvider, useI18n, useOptionalI18n, DEFAULT_TRANSLATIONS, DEFAULT_LOCALES, } from './i18n';
65
+ export { LanguageSelector } from './i18n';
66
+ export type { LocaleCode, LanguageOption, TranslationDictionary, Translations, I18nConfig, I18nState, I18nActions, I18nContextValue, LanguageSelectorRenderProps, LanguageSelectorProps, } from './i18n';
67
+ export { CurrencyProvider, useCurrency, useOptionalCurrency } from './currency';
68
+ export { CurrencySelector } from './currency';
69
+ export { DEFAULT_CURRENCIES, DEFAULT_EXCHANGE_RATES, getCurrencyOption, getCurrencySymbol, formatCurrencyAmount, convertCurrency, } from './currency';
70
+ export type { CurrencyCode, CurrencyOption, ExchangeRates, CurrencyConfig, CurrencyState, CurrencyActions, CurrencyContextValue, CurrencySelectorRenderProps, CurrencySelectorProps, } from './currency';
71
+ export { AccountInfoSection, NotificationPreferencesSection, PasskeySection, } from './account';
72
+ export { useAccountForm } from './account';
73
+ export { UPDATE_MEMBER, PASSKEY_REGISTRATION_OPTIONS, PASSKEY_REGISTER, MY_PASSKEYS, PASSKEY_DELETE, } from './account';
74
+ export type { ProfileFormData, NotificationPreferences, PasskeyCredential, AccountInfoRenderProps, NotificationPreferencesRenderProps, PasskeySectionRenderProps, AccountPageRenderProps, AccountInfoSectionProps, NotificationPreferencesSectionProps, PasskeySectionProps, } from './account';
75
+ export { HeaderMenu, UserAvatar, LanguageAccordion, CurrencyAccordion, } from './header';
76
+ export type { HeaderUserInfo, MenuItem, HeaderMenuRenderProps, UserAvatarRenderProps, LanguageAccordionRenderProps, CurrencyAccordionRenderProps, HeaderMenuProps, UserAvatarProps, LanguageAccordionProps, CurrencyAccordionProps, } from './header';
77
+ export { PhoneInput, isValidPhoneNumber, parsePhoneNumber, getCountryCallingCode, } from './components';
78
+ export type { PhoneInputProps, Country, PhoneValue, } from './components';
79
+ export { PERK_PREFERENCES, VIBE_PREFERENCES, LOCATION_PREFERENCES, } from './constants/preferences';
80
+ export type { PreferenceOption } from './constants/preferences';
81
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}