@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.cjs
CHANGED
|
@@ -1373,7 +1373,7 @@ function AdventureCard({ adventure }) {
|
|
|
1373
1373
|
(adventure.description || adventure.detailsSlot) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1374
1374
|
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-1" }),
|
|
1375
1375
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1376
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest mb-3", children: (_f = adventure.itineraryLabel) != null ? _f : "
|
|
1376
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest mb-3", children: (_f = adventure.itineraryLabel) != null ? _f : "Details" }),
|
|
1377
1377
|
adventure.description && !adventure.detailsSlot && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base text-foreground/80 leading-snug font-sans", children: adventure.description }),
|
|
1378
1378
|
adventure.detailsSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(
|
|
1379
1379
|
"text-foreground",
|
|
@@ -2216,13 +2216,206 @@ function Offer({
|
|
|
2216
2216
|
] }) })
|
|
2217
2217
|
] });
|
|
2218
2218
|
}
|
|
2219
|
+
function getInitial(name) {
|
|
2220
|
+
return name && name.length > 0 ? name.charAt(0).toUpperCase() : "?";
|
|
2221
|
+
}
|
|
2222
|
+
function CompactAgentCard({
|
|
2223
|
+
name,
|
|
2224
|
+
avatar,
|
|
2225
|
+
email,
|
|
2226
|
+
whatsappUrl,
|
|
2227
|
+
label,
|
|
2228
|
+
nameFallback,
|
|
2229
|
+
legacyContactUrl,
|
|
2230
|
+
legacyContactLabel,
|
|
2231
|
+
className
|
|
2232
|
+
}) {
|
|
2233
|
+
const hasAgent = !!name;
|
|
2234
|
+
const displayName = hasAgent ? name : nameFallback != null ? nameFallback : "No agent assigned";
|
|
2235
|
+
const showLegacyContact = hasAgent && !email && !whatsappUrl && !!legacyContactUrl;
|
|
2236
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2237
|
+
"div",
|
|
2238
|
+
{
|
|
2239
|
+
className: cn(
|
|
2240
|
+
"rounded-xl border border-border bg-card p-4 flex items-center gap-3.5 min-w-0",
|
|
2241
|
+
className
|
|
2242
|
+
),
|
|
2243
|
+
children: [
|
|
2244
|
+
hasAgent && avatar ? (
|
|
2245
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
2246
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2247
|
+
"img",
|
|
2248
|
+
{
|
|
2249
|
+
src: avatar,
|
|
2250
|
+
alt: displayName,
|
|
2251
|
+
className: "h-10 w-10 shrink-0 rounded-full object-cover ring-2 ring-primary/20"
|
|
2252
|
+
}
|
|
2253
|
+
)
|
|
2254
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
2255
|
+
"div",
|
|
2256
|
+
{
|
|
2257
|
+
className: cn(
|
|
2258
|
+
"flex h-10 w-10 shrink-0 items-center justify-center rounded-full font-heading font-bold text-sm uppercase",
|
|
2259
|
+
hasAgent ? "bg-primary/10 text-primary" : "bg-muted text-muted-foreground"
|
|
2260
|
+
),
|
|
2261
|
+
children: getInitial(name)
|
|
2262
|
+
}
|
|
2263
|
+
),
|
|
2264
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 min-w-0 flex-1", children: [
|
|
2265
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: label != null ? label : "Your Agent" }),
|
|
2266
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2267
|
+
"p",
|
|
2268
|
+
{
|
|
2269
|
+
className: cn(
|
|
2270
|
+
"text-sm font-sans truncate",
|
|
2271
|
+
hasAgent ? "font-semibold text-foreground" : "italic text-muted-foreground"
|
|
2272
|
+
),
|
|
2273
|
+
children: displayName
|
|
2274
|
+
}
|
|
2275
|
+
)
|
|
2276
|
+
] }),
|
|
2277
|
+
hasAgent && (email || whatsappUrl) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-auto shrink-0 flex items-center gap-1.5", children: [
|
|
2278
|
+
email && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2279
|
+
"a",
|
|
2280
|
+
{
|
|
2281
|
+
href: `mailto:${email}`,
|
|
2282
|
+
className: "flex items-center justify-center h-8 w-8 rounded-full bg-primary/10 text-primary transition-colors hover:bg-primary/20",
|
|
2283
|
+
"aria-label": `Email ${displayName}`,
|
|
2284
|
+
title: email,
|
|
2285
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MailIcon, { className: "w-3.5 h-3.5" })
|
|
2286
|
+
}
|
|
2287
|
+
),
|
|
2288
|
+
whatsappUrl && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2289
|
+
"a",
|
|
2290
|
+
{
|
|
2291
|
+
href: whatsappUrl,
|
|
2292
|
+
target: "_blank",
|
|
2293
|
+
rel: "noopener noreferrer",
|
|
2294
|
+
className: "flex items-center justify-center h-8 w-8 rounded-full bg-[#25D366]/15 text-[#25D366] transition-colors hover:bg-[#25D366]/25",
|
|
2295
|
+
"aria-label": `WhatsApp ${displayName}`,
|
|
2296
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "w-3.5 h-3.5", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.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" }) })
|
|
2297
|
+
}
|
|
2298
|
+
)
|
|
2299
|
+
] }),
|
|
2300
|
+
showLegacyContact && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2301
|
+
"a",
|
|
2302
|
+
{
|
|
2303
|
+
href: legacyContactUrl,
|
|
2304
|
+
target: "_blank",
|
|
2305
|
+
rel: "noopener noreferrer",
|
|
2306
|
+
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",
|
|
2307
|
+
children: [
|
|
2308
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.MessageCircleIcon, { className: "w-3.5 h-3.5" }),
|
|
2309
|
+
legacyContactLabel != null ? legacyContactLabel : "Contact"
|
|
2310
|
+
]
|
|
2311
|
+
}
|
|
2312
|
+
)
|
|
2313
|
+
]
|
|
2314
|
+
}
|
|
2315
|
+
);
|
|
2316
|
+
}
|
|
2317
|
+
function WideAgentCard({
|
|
2318
|
+
name,
|
|
2319
|
+
avatar,
|
|
2320
|
+
email,
|
|
2321
|
+
whatsappUrl,
|
|
2322
|
+
label,
|
|
2323
|
+
nameFallback,
|
|
2324
|
+
helperText,
|
|
2325
|
+
className
|
|
2326
|
+
}) {
|
|
2327
|
+
const hasAgent = !!name;
|
|
2328
|
+
const displayName = hasAgent ? name : nameFallback != null ? nameFallback : "No agent assigned";
|
|
2329
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2330
|
+
"div",
|
|
2331
|
+
{
|
|
2332
|
+
className: cn(
|
|
2333
|
+
"rounded-2xl border border-border bg-card p-5 flex flex-col gap-4",
|
|
2334
|
+
className
|
|
2335
|
+
),
|
|
2336
|
+
children: [
|
|
2337
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-3 text-center", children: [
|
|
2338
|
+
hasAgent && avatar ? (
|
|
2339
|
+
// eslint-disable-next-line @next/next/no-img-element
|
|
2340
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2341
|
+
"img",
|
|
2342
|
+
{
|
|
2343
|
+
src: avatar,
|
|
2344
|
+
alt: displayName,
|
|
2345
|
+
className: "w-16 h-16 rounded-full object-cover ring-2 ring-primary/20"
|
|
2346
|
+
}
|
|
2347
|
+
)
|
|
2348
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-bold text-primary font-heading", children: getInitial(name) }) }),
|
|
2349
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2350
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans", children: label }),
|
|
2351
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm font-sans text-foreground mt-0.5", children: [
|
|
2352
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-bold text-foreground font-heading", children: displayName }),
|
|
2353
|
+
helperText && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2354
|
+
" ",
|
|
2355
|
+
helperText
|
|
2356
|
+
] })
|
|
2357
|
+
] })
|
|
2358
|
+
] })
|
|
2359
|
+
] }),
|
|
2360
|
+
(whatsappUrl || email) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2361
|
+
/* @__PURE__ */ jsxRuntime.jsx(Separator, {}),
|
|
2362
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
2363
|
+
whatsappUrl && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2364
|
+
"a",
|
|
2365
|
+
{
|
|
2366
|
+
href: whatsappUrl,
|
|
2367
|
+
target: "_blank",
|
|
2368
|
+
rel: "noopener noreferrer",
|
|
2369
|
+
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",
|
|
2370
|
+
children: [
|
|
2371
|
+
/* @__PURE__ */ jsxRuntime.jsx("svg", { className: "w-4 h-4 shrink-0 text-[#25D366]", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.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" }) }),
|
|
2372
|
+
"WhatsApp"
|
|
2373
|
+
]
|
|
2374
|
+
}
|
|
2375
|
+
),
|
|
2376
|
+
email && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2377
|
+
"a",
|
|
2378
|
+
{
|
|
2379
|
+
href: `mailto:${email}`,
|
|
2380
|
+
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",
|
|
2381
|
+
children: [
|
|
2382
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.MailIcon, { className: "w-4 h-4 shrink-0 text-primary" }),
|
|
2383
|
+
"Email"
|
|
2384
|
+
]
|
|
2385
|
+
}
|
|
2386
|
+
)
|
|
2387
|
+
] })
|
|
2388
|
+
] })
|
|
2389
|
+
]
|
|
2390
|
+
}
|
|
2391
|
+
);
|
|
2392
|
+
}
|
|
2393
|
+
function AgentContactCard(props) {
|
|
2394
|
+
if (props.layout === "wide") return /* @__PURE__ */ jsxRuntime.jsx(WideAgentCard, __spreadValues({}, props));
|
|
2395
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CompactAgentCard, __spreadValues({}, props));
|
|
2396
|
+
}
|
|
2219
2397
|
var STATUS_STYLES = {
|
|
2220
2398
|
pending: "bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400",
|
|
2221
2399
|
confirmed: "bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400",
|
|
2222
2400
|
cancelled: "bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400",
|
|
2223
|
-
completed: "bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"
|
|
2401
|
+
completed: "bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400",
|
|
2402
|
+
pendingRegistration: "bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400",
|
|
2403
|
+
pendingPayment: "bg-warning/15 text-warning-foreground dark:bg-warning/20 dark:text-warning",
|
|
2404
|
+
pendingPaymentOverdue: "bg-destructive/15 text-destructive dark:bg-destructive/25 dark:text-destructive",
|
|
2405
|
+
complete: "bg-success/15 text-success dark:bg-success/20 dark:text-success"
|
|
2406
|
+
};
|
|
2407
|
+
var STATUS_DEFAULT_LABELS = {
|
|
2408
|
+
pending: "Pending",
|
|
2409
|
+
confirmed: "Confirmed",
|
|
2410
|
+
cancelled: "Cancelled",
|
|
2411
|
+
completed: "Completed",
|
|
2412
|
+
pendingRegistration: "Pending registration",
|
|
2413
|
+
pendingPayment: "Pending payment",
|
|
2414
|
+
pendingPaymentOverdue: "Payment overdue",
|
|
2415
|
+
complete: "Complete"
|
|
2224
2416
|
};
|
|
2225
|
-
function StatusBadge({ status }) {
|
|
2417
|
+
function StatusBadge({ status, label }) {
|
|
2418
|
+
var _a;
|
|
2226
2419
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2227
2420
|
"span",
|
|
2228
2421
|
{
|
|
@@ -2230,7 +2423,7 @@ function StatusBadge({ status }) {
|
|
|
2230
2423
|
"inline-flex items-center rounded-full px-3 py-1 text-xs font-bold font-heading uppercase tracking-wider",
|
|
2231
2424
|
STATUS_STYLES[status]
|
|
2232
2425
|
),
|
|
2233
|
-
children: status
|
|
2426
|
+
children: (_a = label != null ? label : STATUS_DEFAULT_LABELS[status]) != null ? _a : status
|
|
2234
2427
|
}
|
|
2235
2428
|
);
|
|
2236
2429
|
}
|
|
@@ -2285,7 +2478,7 @@ function AdventureSection({
|
|
|
2285
2478
|
onRequestOpenDeleteModal,
|
|
2286
2479
|
cannotRemoveLastTravellerLabel
|
|
2287
2480
|
}) {
|
|
2288
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
2481
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
2289
2482
|
const [detailsOpen, setDetailsOpen] = React22__namespace.useState(false);
|
|
2290
2483
|
const handleCopyUrl = (url) => {
|
|
2291
2484
|
if (onCopyFormLink) {
|
|
@@ -2357,7 +2550,7 @@ function AdventureSection({
|
|
|
2357
2550
|
] }),
|
|
2358
2551
|
detailsOpen && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-t border-border px-5 lg:px-6 py-5 flex flex-col gap-5 bg-muted/10", children: [
|
|
2359
2552
|
(adventure.detailsSlot || adventure.description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
2360
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: "
|
|
2553
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (_e = adventure.itineraryLabel) != null ? _e : "Details" }),
|
|
2361
2554
|
adventure.detailsSlot ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2362
2555
|
"div",
|
|
2363
2556
|
{
|
|
@@ -2462,8 +2655,8 @@ function AdventureSection({
|
|
|
2462
2655
|
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",
|
|
2463
2656
|
children: [
|
|
2464
2657
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.PlusIcon, { className: "w-3 h-3" }),
|
|
2465
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: (
|
|
2466
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sm:hidden", children: (
|
|
2658
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: (_f = adventure.addTravellerLabel) != null ? _f : "More travellers" }),
|
|
2659
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sm:hidden", children: (_h = (_g = adventure.addTravellerShortLabel) != null ? _g : adventure.addTravellerLabel) != null ? _h : "Add" })
|
|
2467
2660
|
]
|
|
2468
2661
|
}
|
|
2469
2662
|
)
|
|
@@ -2957,7 +3150,8 @@ function OrderSummary({
|
|
|
2957
3150
|
summaryLineItems,
|
|
2958
3151
|
subtotal,
|
|
2959
3152
|
total,
|
|
2960
|
-
depositInfo
|
|
3153
|
+
depositInfo,
|
|
3154
|
+
balanceDueLabel
|
|
2961
3155
|
}) {
|
|
2962
3156
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-2xl border border-border bg-card p-5 lg:p-6 flex flex-col gap-4", children: [
|
|
2963
3157
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: "Order Summary" }),
|
|
@@ -3053,7 +3247,7 @@ function OrderSummary({
|
|
|
3053
3247
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold text-foreground font-sans", children: depositInfo.remainingAmount })
|
|
3054
3248
|
] }),
|
|
3055
3249
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
3056
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground font-sans", children: "Balance due" }),
|
|
3250
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground font-sans", children: balanceDueLabel != null ? balanceDueLabel : "Balance due" }),
|
|
3057
3251
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold text-foreground font-sans", children: depositInfo.balanceDueDate })
|
|
3058
3252
|
] })
|
|
3059
3253
|
] })
|
|
@@ -3062,13 +3256,18 @@ function OrderSummary({
|
|
|
3062
3256
|
function BookingDetails({
|
|
3063
3257
|
bookingId,
|
|
3064
3258
|
status,
|
|
3259
|
+
statusLabel,
|
|
3065
3260
|
createdAt,
|
|
3066
3261
|
contact,
|
|
3262
|
+
agent,
|
|
3067
3263
|
agentName,
|
|
3068
3264
|
agentContactUrl,
|
|
3069
3265
|
agentNameFallback,
|
|
3070
3266
|
agentLabel,
|
|
3071
3267
|
agentContactLabel,
|
|
3268
|
+
contactSectionLabel,
|
|
3269
|
+
payBalanceLabel,
|
|
3270
|
+
balanceDueLabel,
|
|
3072
3271
|
cannotRemoveLastTravellerLabel,
|
|
3073
3272
|
adventures,
|
|
3074
3273
|
summaryLineItems,
|
|
@@ -3098,7 +3297,7 @@ function BookingDetails({
|
|
|
3098
3297
|
signOutLabel,
|
|
3099
3298
|
className
|
|
3100
3299
|
}) {
|
|
3101
|
-
var _a, _b, _c;
|
|
3300
|
+
var _a, _b, _c, _d;
|
|
3102
3301
|
const people = totalPeople(adventures);
|
|
3103
3302
|
const hasSubmitAddTraveller = !!onSubmitAddTraveller;
|
|
3104
3303
|
const hasSubmitEditTraveller = !!onSubmitEditTraveller;
|
|
@@ -3213,56 +3412,27 @@ function BookingDetails({
|
|
|
3213
3412
|
createdAt
|
|
3214
3413
|
] })
|
|
3215
3414
|
] }),
|
|
3216
|
-
/* @__PURE__ */ jsxRuntime.jsx(StatusBadge, { status })
|
|
3415
|
+
/* @__PURE__ */ jsxRuntime.jsx(StatusBadge, { status, label: statusLabel })
|
|
3217
3416
|
] }),
|
|
3218
3417
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-3", children: [
|
|
3219
3418
|
/* @__PURE__ */ jsxRuntime.jsxs(InfoCard, { label: "Contact", children: [
|
|
3220
3419
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold", children: contact.name }),
|
|
3221
3420
|
contact.email && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground font-sans truncate", children: contact.email })
|
|
3222
3421
|
] }),
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
),
|
|
3238
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [
|
|
3239
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: agentLabel != null ? agentLabel : "Your Agent" }),
|
|
3240
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3241
|
-
"p",
|
|
3242
|
-
{
|
|
3243
|
-
className: cn(
|
|
3244
|
-
"text-sm font-sans truncate",
|
|
3245
|
-
hasAgent ? "font-semibold text-foreground" : "italic text-muted-foreground"
|
|
3246
|
-
),
|
|
3247
|
-
children: displayName
|
|
3248
|
-
}
|
|
3249
|
-
)
|
|
3250
|
-
] }),
|
|
3251
|
-
hasAgent && agentContactUrl && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3252
|
-
"a",
|
|
3253
|
-
{
|
|
3254
|
-
href: agentContactUrl,
|
|
3255
|
-
target: "_blank",
|
|
3256
|
-
rel: "noopener noreferrer",
|
|
3257
|
-
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",
|
|
3258
|
-
children: [
|
|
3259
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.MessageCircleIcon, { className: "w-3.5 h-3.5" }),
|
|
3260
|
-
agentContactLabel != null ? agentContactLabel : "Contact"
|
|
3261
|
-
]
|
|
3262
|
-
}
|
|
3263
|
-
)
|
|
3264
|
-
] });
|
|
3265
|
-
})(),
|
|
3422
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3423
|
+
AgentContactCard,
|
|
3424
|
+
{
|
|
3425
|
+
layout: "compact",
|
|
3426
|
+
name: (_a = agent == null ? void 0 : agent.name) != null ? _a : agentName,
|
|
3427
|
+
avatar: agent == null ? void 0 : agent.avatar,
|
|
3428
|
+
email: agent == null ? void 0 : agent.email,
|
|
3429
|
+
whatsappUrl: agent == null ? void 0 : agent.whatsappUrl,
|
|
3430
|
+
label: agentLabel,
|
|
3431
|
+
nameFallback: agentNameFallback,
|
|
3432
|
+
legacyContactUrl: agentContactUrl,
|
|
3433
|
+
legacyContactLabel: agentContactLabel
|
|
3434
|
+
}
|
|
3435
|
+
),
|
|
3266
3436
|
/* @__PURE__ */ jsxRuntime.jsxs(InfoCard, { label: "Total People", children: [
|
|
3267
3437
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3268
3438
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.UsersIcon, { className: "w-4 h-4 text-primary shrink-0" }),
|
|
@@ -3313,11 +3483,12 @@ function BookingDetails({
|
|
|
3313
3483
|
summaryLineItems,
|
|
3314
3484
|
subtotal,
|
|
3315
3485
|
total,
|
|
3316
|
-
depositInfo
|
|
3486
|
+
depositInfo,
|
|
3487
|
+
balanceDueLabel
|
|
3317
3488
|
}
|
|
3318
3489
|
),
|
|
3319
3490
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-2xl border border-border bg-card p-5 lg:p-6 flex flex-col gap-4", children: [
|
|
3320
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: "Responsible Person" }),
|
|
3491
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: contactSectionLabel != null ? contactSectionLabel : "Responsible Person" }),
|
|
3321
3492
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 sm:grid-cols-3 gap-x-6 gap-y-3", children: [
|
|
3322
3493
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3323
3494
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Name" }),
|
|
@@ -3325,15 +3496,15 @@ function BookingDetails({
|
|
|
3325
3496
|
] }),
|
|
3326
3497
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3327
3498
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Email" }),
|
|
3328
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans truncate", children: (
|
|
3499
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans truncate", children: (_b = contact.email) != null ? _b : "\u2014" })
|
|
3329
3500
|
] }),
|
|
3330
3501
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3331
3502
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Phone" }),
|
|
3332
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans", children: (
|
|
3503
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans", children: (_c = contact.phone) != null ? _c : "\u2014" })
|
|
3333
3504
|
] }),
|
|
3334
3505
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3335
3506
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Country" }),
|
|
3336
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans", children: (
|
|
3507
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans", children: (_d = contact.country) != null ? _d : "\u2014" })
|
|
3337
3508
|
] }),
|
|
3338
3509
|
contact.passport && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3339
3510
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Passport / CPF" }),
|
|
@@ -3344,24 +3515,38 @@ function BookingDetails({
|
|
|
3344
3515
|
(onPayBalance || onCancelRequest) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-4", children: [
|
|
3345
3516
|
depositInfo && !depositInfo.isPaidInFull && // Se consumer passar remainingAmountValue, só mostra botão quando saldo > 0.
|
|
3346
3517
|
// Quando undefined, mantém comportamento antigo (backward compat).
|
|
3347
|
-
(depositInfo.remainingAmountValue === void 0 || depositInfo.remainingAmountValue > 0) && onPayBalance && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3518
|
+
(depositInfo.remainingAmountValue === void 0 || depositInfo.remainingAmountValue > 0) && onPayBalance && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full flex flex-col items-center gap-1.5", children: [
|
|
3519
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3520
|
+
"button",
|
|
3521
|
+
{
|
|
3522
|
+
type: "button",
|
|
3523
|
+
onClick: onPayBalance,
|
|
3524
|
+
className: cn(
|
|
3525
|
+
"w-full rounded-full py-3.5 text-center text-sm font-bold uppercase tracking-wide font-heading",
|
|
3526
|
+
depositInfo.isOverdue ? "bg-destructive text-destructive-foreground hover:bg-destructive/90" : "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
3527
|
+
"transition-colors",
|
|
3528
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
3529
|
+
"flex items-center justify-center gap-2"
|
|
3530
|
+
),
|
|
3531
|
+
children: [
|
|
3532
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CreditCardIcon, { className: "w-4 h-4" }),
|
|
3533
|
+
payBalanceLabel != null ? payBalanceLabel : "Pay remaining balance",
|
|
3534
|
+
" \u2014 ",
|
|
3535
|
+
depositInfo.remainingAmount
|
|
3536
|
+
]
|
|
3537
|
+
}
|
|
3538
|
+
),
|
|
3539
|
+
depositInfo.dueDateLabel && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3540
|
+
"p",
|
|
3541
|
+
{
|
|
3542
|
+
className: cn(
|
|
3543
|
+
"text-xs font-sans",
|
|
3544
|
+
depositInfo.isOverdue ? "text-destructive font-semibold" : "text-muted-foreground"
|
|
3545
|
+
),
|
|
3546
|
+
children: depositInfo.dueDateLabel
|
|
3547
|
+
}
|
|
3548
|
+
)
|
|
3549
|
+
] }),
|
|
3365
3550
|
onCancelRequest && status !== "cancelled" && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3366
3551
|
"button",
|
|
3367
3552
|
{
|
|
@@ -3513,7 +3698,7 @@ var DEFAULT_LABELS = {
|
|
|
3513
3698
|
childrenUnit: "child(ren)",
|
|
3514
3699
|
travellersLabel: "Travellers",
|
|
3515
3700
|
childBadge: "child",
|
|
3516
|
-
itineraryLabel: "
|
|
3701
|
+
itineraryLabel: "Details",
|
|
3517
3702
|
includedLabel: "O que est\xE1 incluso",
|
|
3518
3703
|
notIncludedLabel: "O que n\xE3o est\xE1 incluso",
|
|
3519
3704
|
pricingLabel: "Pricing",
|
|
@@ -9222,6 +9407,7 @@ function LeadCapturePopup({
|
|
|
9222
9407
|
}
|
|
9223
9408
|
|
|
9224
9409
|
exports.ActivityCard = ActivityCard;
|
|
9410
|
+
exports.AgentContactCard = AgentContactCard;
|
|
9225
9411
|
exports.Alert = Alert;
|
|
9226
9412
|
exports.BirthDateField = BirthDateField;
|
|
9227
9413
|
exports.BookingConfirmation = BookingConfirmation;
|