@planetaexo/design-system 0.9.5 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +265 -79
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +49 -7
- package/dist/index.d.ts +49 -7
- package/dist/index.js +266 -81
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import { cva } from 'class-variance-authority';
|
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
|
-
import { XIcon, ChevronDownIcon, CalendarIcon, SearchIcon, ChevronRightIcon, ArrowLeftIcon, CheckCircle2Icon, MapIcon, LogOutIcon,
|
|
7
|
+
import { XIcon, ChevronDownIcon, CalendarIcon, SearchIcon, ChevronRightIcon, ArrowLeftIcon, CheckCircle2Icon, MapIcon, LogOutIcon, UsersIcon, CreditCardIcon, AlertCircleIcon, MinusIcon, PlusIcon, CircleCheckIcon, ChevronLeftIcon, ClockIcon, ChevronUpIcon, UserIcon, MenuIcon, SunIcon, MoonIcon, MapPinIcon, PackageIcon, InfoIcon, Loader2Icon, SendIcon, CheckCircleIcon, CheckIcon, MailIcon, PhoneIcon, MessageCircleIcon, CompassIcon, UserPlusIcon, ExternalLinkIcon, CopyIcon, PencilIcon, Trash2Icon, UserMinusIcon, AlertTriangleIcon, CarIcon, ZoomInIcon, StarIcon, LayoutGridIcon } from 'lucide-react';
|
|
8
8
|
import { Separator as Separator$1 } from '@base-ui/react/separator';
|
|
9
9
|
import { Dialog as Dialog$1 } from '@base-ui/react/dialog';
|
|
10
10
|
import { Button as Button$1 } from '@base-ui/react/button';
|
|
@@ -1352,7 +1352,7 @@ function AdventureCard({ adventure }) {
|
|
|
1352
1352
|
(adventure.description || adventure.detailsSlot) && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1353
1353
|
/* @__PURE__ */ jsx(Separator, { className: "my-1" }),
|
|
1354
1354
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
1355
|
-
/* @__PURE__ */ jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest mb-3", children: (_f = adventure.itineraryLabel) != null ? _f : "
|
|
1355
|
+
/* @__PURE__ */ jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest mb-3", children: (_f = adventure.itineraryLabel) != null ? _f : "Details" }),
|
|
1356
1356
|
adventure.description && !adventure.detailsSlot && /* @__PURE__ */ jsx("p", { className: "text-base text-foreground/80 leading-snug font-sans", children: adventure.description }),
|
|
1357
1357
|
adventure.detailsSlot && /* @__PURE__ */ jsx("div", { className: cn(
|
|
1358
1358
|
"text-foreground",
|
|
@@ -2195,13 +2195,206 @@ function Offer({
|
|
|
2195
2195
|
] }) })
|
|
2196
2196
|
] });
|
|
2197
2197
|
}
|
|
2198
|
+
function getInitial(name) {
|
|
2199
|
+
return name && name.length > 0 ? name.charAt(0).toUpperCase() : "?";
|
|
2200
|
+
}
|
|
2201
|
+
function CompactAgentCard({
|
|
2202
|
+
name,
|
|
2203
|
+
avatar,
|
|
2204
|
+
email,
|
|
2205
|
+
whatsappUrl,
|
|
2206
|
+
label,
|
|
2207
|
+
nameFallback,
|
|
2208
|
+
legacyContactUrl,
|
|
2209
|
+
legacyContactLabel,
|
|
2210
|
+
className
|
|
2211
|
+
}) {
|
|
2212
|
+
const hasAgent = !!name;
|
|
2213
|
+
const displayName = hasAgent ? name : nameFallback != null ? nameFallback : "No agent assigned";
|
|
2214
|
+
const showLegacyContact = hasAgent && !email && !whatsappUrl && !!legacyContactUrl;
|
|
2215
|
+
return /* @__PURE__ */ jsxs(
|
|
2216
|
+
"div",
|
|
2217
|
+
{
|
|
2218
|
+
className: cn(
|
|
2219
|
+
"rounded-xl border border-border bg-card p-4 flex items-center gap-3.5 min-w-0",
|
|
2220
|
+
className
|
|
2221
|
+
),
|
|
2222
|
+
children: [
|
|
2223
|
+
hasAgent && avatar ? (
|
|
2224
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
2225
|
+
/* @__PURE__ */ jsx(
|
|
2226
|
+
"img",
|
|
2227
|
+
{
|
|
2228
|
+
src: avatar,
|
|
2229
|
+
alt: displayName,
|
|
2230
|
+
className: "h-10 w-10 shrink-0 rounded-full object-cover ring-2 ring-primary/20"
|
|
2231
|
+
}
|
|
2232
|
+
)
|
|
2233
|
+
) : /* @__PURE__ */ jsx(
|
|
2234
|
+
"div",
|
|
2235
|
+
{
|
|
2236
|
+
className: cn(
|
|
2237
|
+
"flex h-10 w-10 shrink-0 items-center justify-center rounded-full font-heading font-bold text-sm uppercase",
|
|
2238
|
+
hasAgent ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground"
|
|
2239
|
+
),
|
|
2240
|
+
children: getInitial(name)
|
|
2241
|
+
}
|
|
2242
|
+
),
|
|
2243
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 min-w-0 flex-1", children: [
|
|
2244
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: label != null ? label : "Your Agent" }),
|
|
2245
|
+
/* @__PURE__ */ jsx(
|
|
2246
|
+
"p",
|
|
2247
|
+
{
|
|
2248
|
+
className: cn(
|
|
2249
|
+
"text-sm font-sans truncate",
|
|
2250
|
+
hasAgent ? "font-semibold text-foreground" : "italic text-muted-foreground"
|
|
2251
|
+
),
|
|
2252
|
+
children: displayName
|
|
2253
|
+
}
|
|
2254
|
+
)
|
|
2255
|
+
] }),
|
|
2256
|
+
hasAgent && (email || whatsappUrl) && /* @__PURE__ */ jsxs("div", { className: "ml-auto shrink-0 flex items-center gap-1.5", children: [
|
|
2257
|
+
email && /* @__PURE__ */ jsx(
|
|
2258
|
+
"a",
|
|
2259
|
+
{
|
|
2260
|
+
href: `mailto:${email}`,
|
|
2261
|
+
className: "flex items-center justify-center h-8 w-8 rounded-full bg-primary/10 text-primary transition-colors hover:bg-primary/20",
|
|
2262
|
+
"aria-label": `Email ${displayName}`,
|
|
2263
|
+
title: email,
|
|
2264
|
+
children: /* @__PURE__ */ jsx(MailIcon, { className: "w-3.5 h-3.5" })
|
|
2265
|
+
}
|
|
2266
|
+
),
|
|
2267
|
+
whatsappUrl && /* @__PURE__ */ jsx(
|
|
2268
|
+
"a",
|
|
2269
|
+
{
|
|
2270
|
+
href: whatsappUrl,
|
|
2271
|
+
target: "_blank",
|
|
2272
|
+
rel: "noopener noreferrer",
|
|
2273
|
+
className: "flex items-center justify-center h-8 w-8 rounded-full bg-[#25D366]/15 text-[#25D366] transition-colors hover:bg-[#25D366]/25",
|
|
2274
|
+
"aria-label": `WhatsApp ${displayName}`,
|
|
2275
|
+
children: /* @__PURE__ */ jsx("svg", { className: "w-3.5 h-3.5", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z" }) })
|
|
2276
|
+
}
|
|
2277
|
+
)
|
|
2278
|
+
] }),
|
|
2279
|
+
showLegacyContact && /* @__PURE__ */ jsxs(
|
|
2280
|
+
"a",
|
|
2281
|
+
{
|
|
2282
|
+
href: legacyContactUrl,
|
|
2283
|
+
target: "_blank",
|
|
2284
|
+
rel: "noopener noreferrer",
|
|
2285
|
+
className: "ml-auto shrink-0 flex items-center gap-1.5 rounded-full bg-primary/10 px-3.5 py-1.5 text-xs font-semibold text-primary font-ui transition-colors hover:bg-primary/20",
|
|
2286
|
+
children: [
|
|
2287
|
+
/* @__PURE__ */ jsx(MessageCircleIcon, { className: "w-3.5 h-3.5" }),
|
|
2288
|
+
legacyContactLabel != null ? legacyContactLabel : "Contact"
|
|
2289
|
+
]
|
|
2290
|
+
}
|
|
2291
|
+
)
|
|
2292
|
+
]
|
|
2293
|
+
}
|
|
2294
|
+
);
|
|
2295
|
+
}
|
|
2296
|
+
function WideAgentCard({
|
|
2297
|
+
name,
|
|
2298
|
+
avatar,
|
|
2299
|
+
email,
|
|
2300
|
+
whatsappUrl,
|
|
2301
|
+
label,
|
|
2302
|
+
nameFallback,
|
|
2303
|
+
helperText,
|
|
2304
|
+
className
|
|
2305
|
+
}) {
|
|
2306
|
+
const hasAgent = !!name;
|
|
2307
|
+
const displayName = hasAgent ? name : nameFallback != null ? nameFallback : "No agent assigned";
|
|
2308
|
+
return /* @__PURE__ */ jsxs(
|
|
2309
|
+
"div",
|
|
2310
|
+
{
|
|
2311
|
+
className: cn(
|
|
2312
|
+
"rounded-2xl border border-border bg-card p-5 flex flex-col gap-4",
|
|
2313
|
+
className
|
|
2314
|
+
),
|
|
2315
|
+
children: [
|
|
2316
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-3 text-center", children: [
|
|
2317
|
+
hasAgent && avatar ? (
|
|
2318
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
2319
|
+
/* @__PURE__ */ jsx(
|
|
2320
|
+
"img",
|
|
2321
|
+
{
|
|
2322
|
+
src: avatar,
|
|
2323
|
+
alt: displayName,
|
|
2324
|
+
className: "w-16 h-16 rounded-full object-cover ring-2 ring-primary/20"
|
|
2325
|
+
}
|
|
2326
|
+
)
|
|
2327
|
+
) : /* @__PURE__ */ jsx("div", { className: "w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center", children: /* @__PURE__ */ jsx("span", { className: "text-xl font-bold text-primary font-heading", children: getInitial(name) }) }),
|
|
2328
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
2329
|
+
label && /* @__PURE__ */ jsx("p", { className: "text-sm text-foreground font-sans", children: label }),
|
|
2330
|
+
/* @__PURE__ */ jsxs("p", { className: "text-sm font-sans text-foreground mt-0.5", children: [
|
|
2331
|
+
/* @__PURE__ */ jsx("span", { className: "font-bold text-foreground font-heading", children: displayName }),
|
|
2332
|
+
helperText && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2333
|
+
" ",
|
|
2334
|
+
helperText
|
|
2335
|
+
] })
|
|
2336
|
+
] })
|
|
2337
|
+
] })
|
|
2338
|
+
] }),
|
|
2339
|
+
(whatsappUrl || email) && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2340
|
+
/* @__PURE__ */ jsx(Separator, {}),
|
|
2341
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
2342
|
+
whatsappUrl && /* @__PURE__ */ jsxs(
|
|
2343
|
+
"a",
|
|
2344
|
+
{
|
|
2345
|
+
href: whatsappUrl,
|
|
2346
|
+
target: "_blank",
|
|
2347
|
+
rel: "noopener noreferrer",
|
|
2348
|
+
className: "flex items-center gap-2.5 rounded-lg border border-border px-4 py-2.5 text-sm font-sans text-foreground hover:bg-muted/50 transition-colors",
|
|
2349
|
+
children: [
|
|
2350
|
+
/* @__PURE__ */ jsx("svg", { className: "w-4 h-4 shrink-0 text-[#25D366]", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z" }) }),
|
|
2351
|
+
"WhatsApp"
|
|
2352
|
+
]
|
|
2353
|
+
}
|
|
2354
|
+
),
|
|
2355
|
+
email && /* @__PURE__ */ jsxs(
|
|
2356
|
+
"a",
|
|
2357
|
+
{
|
|
2358
|
+
href: `mailto:${email}`,
|
|
2359
|
+
className: "flex items-center gap-2.5 rounded-lg border border-border px-4 py-2.5 text-sm font-sans text-foreground hover:bg-muted/50 transition-colors",
|
|
2360
|
+
children: [
|
|
2361
|
+
/* @__PURE__ */ jsx(MailIcon, { className: "w-4 h-4 shrink-0 text-primary" }),
|
|
2362
|
+
"Email"
|
|
2363
|
+
]
|
|
2364
|
+
}
|
|
2365
|
+
)
|
|
2366
|
+
] })
|
|
2367
|
+
] })
|
|
2368
|
+
]
|
|
2369
|
+
}
|
|
2370
|
+
);
|
|
2371
|
+
}
|
|
2372
|
+
function AgentContactCard(props) {
|
|
2373
|
+
if (props.layout === "wide") return /* @__PURE__ */ jsx(WideAgentCard, __spreadValues({}, props));
|
|
2374
|
+
return /* @__PURE__ */ jsx(CompactAgentCard, __spreadValues({}, props));
|
|
2375
|
+
}
|
|
2198
2376
|
var STATUS_STYLES = {
|
|
2199
2377
|
pending: "bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400",
|
|
2200
2378
|
confirmed: "bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400",
|
|
2201
2379
|
cancelled: "bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400",
|
|
2202
|
-
completed: "bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"
|
|
2380
|
+
completed: "bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400",
|
|
2381
|
+
pendingRegistration: "bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400",
|
|
2382
|
+
pendingPayment: "bg-warning/15 text-warning-foreground dark:bg-warning/20 dark:text-warning",
|
|
2383
|
+
pendingPaymentOverdue: "bg-destructive/15 text-destructive dark:bg-destructive/25 dark:text-destructive",
|
|
2384
|
+
complete: "bg-success/15 text-success dark:bg-success/20 dark:text-success"
|
|
2385
|
+
};
|
|
2386
|
+
var STATUS_DEFAULT_LABELS = {
|
|
2387
|
+
pending: "Pending",
|
|
2388
|
+
confirmed: "Confirmed",
|
|
2389
|
+
cancelled: "Cancelled",
|
|
2390
|
+
completed: "Completed",
|
|
2391
|
+
pendingRegistration: "Pending registration",
|
|
2392
|
+
pendingPayment: "Pending payment",
|
|
2393
|
+
pendingPaymentOverdue: "Payment overdue",
|
|
2394
|
+
complete: "Complete"
|
|
2203
2395
|
};
|
|
2204
|
-
function StatusBadge({ status }) {
|
|
2396
|
+
function StatusBadge({ status, label }) {
|
|
2397
|
+
var _a;
|
|
2205
2398
|
return /* @__PURE__ */ jsx(
|
|
2206
2399
|
"span",
|
|
2207
2400
|
{
|
|
@@ -2209,7 +2402,7 @@ function StatusBadge({ status }) {
|
|
|
2209
2402
|
"inline-flex items-center rounded-full px-3 py-1 text-xs font-bold font-heading uppercase tracking-wider",
|
|
2210
2403
|
STATUS_STYLES[status]
|
|
2211
2404
|
),
|
|
2212
|
-
children: status
|
|
2405
|
+
children: (_a = label != null ? label : STATUS_DEFAULT_LABELS[status]) != null ? _a : status
|
|
2213
2406
|
}
|
|
2214
2407
|
);
|
|
2215
2408
|
}
|
|
@@ -2264,7 +2457,7 @@ function AdventureSection({
|
|
|
2264
2457
|
onRequestOpenDeleteModal,
|
|
2265
2458
|
cannotRemoveLastTravellerLabel
|
|
2266
2459
|
}) {
|
|
2267
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
2460
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
2268
2461
|
const [detailsOpen, setDetailsOpen] = React22.useState(false);
|
|
2269
2462
|
const handleCopyUrl = (url) => {
|
|
2270
2463
|
if (onCopyFormLink) {
|
|
@@ -2336,7 +2529,7 @@ function AdventureSection({
|
|
|
2336
2529
|
] }),
|
|
2337
2530
|
detailsOpen && /* @__PURE__ */ jsxs("div", { className: "border-t border-border px-5 lg:px-6 py-5 flex flex-col gap-5 bg-muted/10", children: [
|
|
2338
2531
|
(adventure.detailsSlot || adventure.description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
2339
|
-
/* @__PURE__ */ jsx("h4", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: "
|
|
2532
|
+
/* @__PURE__ */ jsx("h4", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (_e = adventure.itineraryLabel) != null ? _e : "Details" }),
|
|
2340
2533
|
adventure.detailsSlot ? /* @__PURE__ */ jsx(
|
|
2341
2534
|
"div",
|
|
2342
2535
|
{
|
|
@@ -2441,8 +2634,8 @@ function AdventureSection({
|
|
|
2441
2634
|
className: "flex items-center gap-1.5 rounded-full border border-border px-3 py-1.5 text-xs font-ui text-primary hover:border-primary hover:bg-primary/5 transition-colors",
|
|
2442
2635
|
children: [
|
|
2443
2636
|
/* @__PURE__ */ jsx(PlusIcon, { className: "w-3 h-3" }),
|
|
2444
|
-
/* @__PURE__ */ jsx("span", { className: "hidden sm:inline", children: (
|
|
2445
|
-
/* @__PURE__ */ jsx("span", { className: "sm:hidden", children: (
|
|
2637
|
+
/* @__PURE__ */ jsx("span", { className: "hidden sm:inline", children: (_f = adventure.addTravellerLabel) != null ? _f : "More travellers" }),
|
|
2638
|
+
/* @__PURE__ */ jsx("span", { className: "sm:hidden", children: (_h = (_g = adventure.addTravellerShortLabel) != null ? _g : adventure.addTravellerLabel) != null ? _h : "Add" })
|
|
2446
2639
|
]
|
|
2447
2640
|
}
|
|
2448
2641
|
)
|
|
@@ -2936,7 +3129,8 @@ function OrderSummary({
|
|
|
2936
3129
|
summaryLineItems,
|
|
2937
3130
|
subtotal,
|
|
2938
3131
|
total,
|
|
2939
|
-
depositInfo
|
|
3132
|
+
depositInfo,
|
|
3133
|
+
balanceDueLabel
|
|
2940
3134
|
}) {
|
|
2941
3135
|
return /* @__PURE__ */ jsxs("div", { className: "rounded-2xl border border-border bg-card p-5 lg:p-6 flex flex-col gap-4", children: [
|
|
2942
3136
|
/* @__PURE__ */ jsx("h3", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: "Order Summary" }),
|
|
@@ -3032,7 +3226,7 @@ function OrderSummary({
|
|
|
3032
3226
|
/* @__PURE__ */ jsx("span", { className: "text-sm font-semibold text-foreground font-sans", children: depositInfo.remainingAmount })
|
|
3033
3227
|
] }),
|
|
3034
3228
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
3035
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground font-sans", children: "Balance due" }),
|
|
3229
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground font-sans", children: balanceDueLabel != null ? balanceDueLabel : "Balance due" }),
|
|
3036
3230
|
/* @__PURE__ */ jsx("span", { className: "text-sm font-semibold text-foreground font-sans", children: depositInfo.balanceDueDate })
|
|
3037
3231
|
] })
|
|
3038
3232
|
] })
|
|
@@ -3041,13 +3235,18 @@ function OrderSummary({
|
|
|
3041
3235
|
function BookingDetails({
|
|
3042
3236
|
bookingId,
|
|
3043
3237
|
status,
|
|
3238
|
+
statusLabel,
|
|
3044
3239
|
createdAt,
|
|
3045
3240
|
contact,
|
|
3241
|
+
agent,
|
|
3046
3242
|
agentName,
|
|
3047
3243
|
agentContactUrl,
|
|
3048
3244
|
agentNameFallback,
|
|
3049
3245
|
agentLabel,
|
|
3050
3246
|
agentContactLabel,
|
|
3247
|
+
contactSectionLabel,
|
|
3248
|
+
payBalanceLabel,
|
|
3249
|
+
balanceDueLabel,
|
|
3051
3250
|
cannotRemoveLastTravellerLabel,
|
|
3052
3251
|
adventures,
|
|
3053
3252
|
summaryLineItems,
|
|
@@ -3077,7 +3276,7 @@ function BookingDetails({
|
|
|
3077
3276
|
signOutLabel,
|
|
3078
3277
|
className
|
|
3079
3278
|
}) {
|
|
3080
|
-
var _a, _b, _c;
|
|
3279
|
+
var _a, _b, _c, _d;
|
|
3081
3280
|
const people = totalPeople(adventures);
|
|
3082
3281
|
const hasSubmitAddTraveller = !!onSubmitAddTraveller;
|
|
3083
3282
|
const hasSubmitEditTraveller = !!onSubmitEditTraveller;
|
|
@@ -3192,56 +3391,27 @@ function BookingDetails({
|
|
|
3192
3391
|
createdAt
|
|
3193
3392
|
] })
|
|
3194
3393
|
] }),
|
|
3195
|
-
/* @__PURE__ */ jsx(StatusBadge, { status })
|
|
3394
|
+
/* @__PURE__ */ jsx(StatusBadge, { status, label: statusLabel })
|
|
3196
3395
|
] }),
|
|
3197
3396
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-3", children: [
|
|
3198
3397
|
/* @__PURE__ */ jsxs(InfoCard, { label: "Contact", children: [
|
|
3199
3398
|
/* @__PURE__ */ jsx("p", { className: "font-semibold", children: contact.name }),
|
|
3200
3399
|
contact.email && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground font-sans truncate", children: contact.email })
|
|
3201
3400
|
] }),
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
),
|
|
3217
|
-
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [
|
|
3218
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: agentLabel != null ? agentLabel : "Your Agent" }),
|
|
3219
|
-
/* @__PURE__ */ jsx(
|
|
3220
|
-
"p",
|
|
3221
|
-
{
|
|
3222
|
-
className: cn(
|
|
3223
|
-
"text-sm font-sans truncate",
|
|
3224
|
-
hasAgent ? "font-semibold text-foreground" : "italic text-muted-foreground"
|
|
3225
|
-
),
|
|
3226
|
-
children: displayName
|
|
3227
|
-
}
|
|
3228
|
-
)
|
|
3229
|
-
] }),
|
|
3230
|
-
hasAgent && agentContactUrl && /* @__PURE__ */ jsxs(
|
|
3231
|
-
"a",
|
|
3232
|
-
{
|
|
3233
|
-
href: agentContactUrl,
|
|
3234
|
-
target: "_blank",
|
|
3235
|
-
rel: "noopener noreferrer",
|
|
3236
|
-
className: "ml-auto shrink-0 flex items-center gap-1.5 rounded-full bg-primary/10 px-3.5 py-1.5 text-xs font-semibold text-primary font-ui transition-colors hover:bg-primary/20",
|
|
3237
|
-
children: [
|
|
3238
|
-
/* @__PURE__ */ jsx(MessageCircleIcon, { className: "w-3.5 h-3.5" }),
|
|
3239
|
-
agentContactLabel != null ? agentContactLabel : "Contact"
|
|
3240
|
-
]
|
|
3241
|
-
}
|
|
3242
|
-
)
|
|
3243
|
-
] });
|
|
3244
|
-
})(),
|
|
3401
|
+
/* @__PURE__ */ jsx(
|
|
3402
|
+
AgentContactCard,
|
|
3403
|
+
{
|
|
3404
|
+
layout: "compact",
|
|
3405
|
+
name: (_a = agent == null ? void 0 : agent.name) != null ? _a : agentName,
|
|
3406
|
+
avatar: agent == null ? void 0 : agent.avatar,
|
|
3407
|
+
email: agent == null ? void 0 : agent.email,
|
|
3408
|
+
whatsappUrl: agent == null ? void 0 : agent.whatsappUrl,
|
|
3409
|
+
label: agentLabel,
|
|
3410
|
+
nameFallback: agentNameFallback,
|
|
3411
|
+
legacyContactUrl: agentContactUrl,
|
|
3412
|
+
legacyContactLabel: agentContactLabel
|
|
3413
|
+
}
|
|
3414
|
+
),
|
|
3245
3415
|
/* @__PURE__ */ jsxs(InfoCard, { label: "Total People", children: [
|
|
3246
3416
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3247
3417
|
/* @__PURE__ */ jsx(UsersIcon, { className: "w-4 h-4 text-primary shrink-0" }),
|
|
@@ -3292,11 +3462,12 @@ function BookingDetails({
|
|
|
3292
3462
|
summaryLineItems,
|
|
3293
3463
|
subtotal,
|
|
3294
3464
|
total,
|
|
3295
|
-
depositInfo
|
|
3465
|
+
depositInfo,
|
|
3466
|
+
balanceDueLabel
|
|
3296
3467
|
}
|
|
3297
3468
|
),
|
|
3298
3469
|
/* @__PURE__ */ jsxs("div", { className: "rounded-2xl border border-border bg-card p-5 lg:p-6 flex flex-col gap-4", children: [
|
|
3299
|
-
/* @__PURE__ */ jsx("h3", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: "Responsible Person" }),
|
|
3470
|
+
/* @__PURE__ */ jsx("h3", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: contactSectionLabel != null ? contactSectionLabel : "Responsible Person" }),
|
|
3300
3471
|
/* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 sm:grid-cols-3 gap-x-6 gap-y-3", children: [
|
|
3301
3472
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
3302
3473
|
/* @__PURE__ */ jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Name" }),
|
|
@@ -3304,15 +3475,15 @@ function BookingDetails({
|
|
|
3304
3475
|
] }),
|
|
3305
3476
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
3306
3477
|
/* @__PURE__ */ jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Email" }),
|
|
3307
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-foreground font-sans truncate", children: (
|
|
3478
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-foreground font-sans truncate", children: (_b = contact.email) != null ? _b : "\u2014" })
|
|
3308
3479
|
] }),
|
|
3309
3480
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
3310
3481
|
/* @__PURE__ */ jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Phone" }),
|
|
3311
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-foreground font-sans", children: (
|
|
3482
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-foreground font-sans", children: (_c = contact.phone) != null ? _c : "\u2014" })
|
|
3312
3483
|
] }),
|
|
3313
3484
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
3314
3485
|
/* @__PURE__ */ jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Country" }),
|
|
3315
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-foreground font-sans", children: (
|
|
3486
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-foreground font-sans", children: (_d = contact.country) != null ? _d : "\u2014" })
|
|
3316
3487
|
] }),
|
|
3317
3488
|
contact.passport && /* @__PURE__ */ jsxs("div", { children: [
|
|
3318
3489
|
/* @__PURE__ */ jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Passport / CPF" }),
|
|
@@ -3323,24 +3494,38 @@ function BookingDetails({
|
|
|
3323
3494
|
(onPayBalance || onCancelRequest) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-4", children: [
|
|
3324
3495
|
depositInfo && !depositInfo.isPaidInFull && // Se consumer passar remainingAmountValue, só mostra botão quando saldo > 0.
|
|
3325
3496
|
// Quando undefined, mantém comportamento antigo (backward compat).
|
|
3326
|
-
(depositInfo.remainingAmountValue === void 0 || depositInfo.remainingAmountValue > 0) && onPayBalance && /* @__PURE__ */ jsxs(
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
|
|
3340
|
-
|
|
3341
|
-
|
|
3342
|
-
|
|
3343
|
-
|
|
3497
|
+
(depositInfo.remainingAmountValue === void 0 || depositInfo.remainingAmountValue > 0) && onPayBalance && /* @__PURE__ */ jsxs("div", { className: "w-full flex flex-col items-center gap-1.5", children: [
|
|
3498
|
+
/* @__PURE__ */ jsxs(
|
|
3499
|
+
"button",
|
|
3500
|
+
{
|
|
3501
|
+
type: "button",
|
|
3502
|
+
onClick: onPayBalance,
|
|
3503
|
+
className: cn(
|
|
3504
|
+
"w-full rounded-full py-3.5 text-center text-sm font-bold uppercase tracking-wide font-heading",
|
|
3505
|
+
depositInfo.isOverdue ? "bg-destructive text-destructive-foreground hover:bg-destructive/90" : "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
3506
|
+
"transition-colors",
|
|
3507
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
3508
|
+
"flex items-center justify-center gap-2"
|
|
3509
|
+
),
|
|
3510
|
+
children: [
|
|
3511
|
+
/* @__PURE__ */ jsx(CreditCardIcon, { className: "w-4 h-4" }),
|
|
3512
|
+
payBalanceLabel != null ? payBalanceLabel : "Pay remaining balance",
|
|
3513
|
+
" \u2014 ",
|
|
3514
|
+
depositInfo.remainingAmount
|
|
3515
|
+
]
|
|
3516
|
+
}
|
|
3517
|
+
),
|
|
3518
|
+
depositInfo.dueDateLabel && /* @__PURE__ */ jsx(
|
|
3519
|
+
"p",
|
|
3520
|
+
{
|
|
3521
|
+
className: cn(
|
|
3522
|
+
"text-xs font-sans",
|
|
3523
|
+
depositInfo.isOverdue ? "text-destructive font-semibold" : "text-muted-foreground"
|
|
3524
|
+
),
|
|
3525
|
+
children: depositInfo.dueDateLabel
|
|
3526
|
+
}
|
|
3527
|
+
)
|
|
3528
|
+
] }),
|
|
3344
3529
|
onCancelRequest && status !== "cancelled" && /* @__PURE__ */ jsxs(
|
|
3345
3530
|
"button",
|
|
3346
3531
|
{
|
|
@@ -3492,7 +3677,7 @@ var DEFAULT_LABELS = {
|
|
|
3492
3677
|
childrenUnit: "child(ren)",
|
|
3493
3678
|
travellersLabel: "Travellers",
|
|
3494
3679
|
childBadge: "child",
|
|
3495
|
-
itineraryLabel: "
|
|
3680
|
+
itineraryLabel: "Details",
|
|
3496
3681
|
includedLabel: "O que est\xE1 incluso",
|
|
3497
3682
|
notIncludedLabel: "O que n\xE3o est\xE1 incluso",
|
|
3498
3683
|
pricingLabel: "Pricing",
|
|
@@ -9200,6 +9385,6 @@ function LeadCapturePopup({
|
|
|
9200
9385
|
);
|
|
9201
9386
|
}
|
|
9202
9387
|
|
|
9203
|
-
export { ActivityCard, Alert, BirthDateField, BookingConfirmation, BookingConfirmationEmail, BookingConfirmedCard, BookingDetails, BookingForm, BookingOtpEmail, BookingShell, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentMethodSelector, PaymentModalShell, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, buttonVariants, cn, emailTokens, getStripeAppearance, stripeAppearance, wrapEmailHtml };
|
|
9388
|
+
export { ActivityCard, AgentContactCard, Alert, BirthDateField, BookingConfirmation, BookingConfirmationEmail, BookingConfirmedCard, BookingDetails, BookingForm, BookingOtpEmail, BookingShell, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentMethodSelector, PaymentModalShell, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, buttonVariants, cn, emailTokens, getStripeAppearance, stripeAppearance, wrapEmailHtml };
|
|
9204
9389
|
//# sourceMappingURL=index.js.map
|
|
9205
9390
|
//# sourceMappingURL=index.js.map
|