@planetaexo/design-system 0.5.3 → 0.5.4

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.d.cts CHANGED
@@ -626,6 +626,14 @@ interface RegistrationSuccessCardProps {
626
626
  formatAnswer?: (field: RegistrationField, value: RegistrationFieldValue) => string;
627
627
  className?: string;
628
628
  actions?: React.ReactNode;
629
+ /** Logo URL displayed above the title. Pass `null` to hide the logo. */
630
+ logo?: string | null;
631
+ logoAlt?: string;
632
+ /** Terms section rendered at the bottom of the card. */
633
+ terms?: {
634
+ markdown: string;
635
+ accepted: boolean;
636
+ } | null;
629
637
  adventure?: RegistrationAdventure | null;
630
638
  booking?: RegistrationBooking | null;
631
639
  traveller?: RegistrationTraveller | null;
@@ -637,7 +645,7 @@ interface RegistrationSuccessCardProps {
637
645
  travellerLabel?: string;
638
646
  };
639
647
  }
640
- declare function RegistrationSuccessCard({ title, message, answersTitle, fields, answers, dateFormatter, formatAnswer, className, actions, adventure, booking, traveller, tripInfoLabels, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
648
+ declare function RegistrationSuccessCard({ title, message, answersTitle, fields, answers, dateFormatter, formatAnswer, className, actions, logo, logoAlt, terms, adventure, booking, traveller, tripInfoLabels, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
641
649
 
642
650
  interface FloatingInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
643
651
  label: string;
package/dist/index.d.ts CHANGED
@@ -626,6 +626,14 @@ interface RegistrationSuccessCardProps {
626
626
  formatAnswer?: (field: RegistrationField, value: RegistrationFieldValue) => string;
627
627
  className?: string;
628
628
  actions?: React.ReactNode;
629
+ /** Logo URL displayed above the title. Pass `null` to hide the logo. */
630
+ logo?: string | null;
631
+ logoAlt?: string;
632
+ /** Terms section rendered at the bottom of the card. */
633
+ terms?: {
634
+ markdown: string;
635
+ accepted: boolean;
636
+ } | null;
629
637
  adventure?: RegistrationAdventure | null;
630
638
  booking?: RegistrationBooking | null;
631
639
  traveller?: RegistrationTraveller | null;
@@ -637,7 +645,7 @@ interface RegistrationSuccessCardProps {
637
645
  travellerLabel?: string;
638
646
  };
639
647
  }
640
- declare function RegistrationSuccessCard({ title, message, answersTitle, fields, answers, dateFormatter, formatAnswer, className, actions, adventure, booking, traveller, tripInfoLabels, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
648
+ declare function RegistrationSuccessCard({ title, message, answersTitle, fields, answers, dateFormatter, formatAnswer, className, actions, logo, logoAlt, terms, adventure, booking, traveller, tripInfoLabels, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
641
649
 
642
650
  interface FloatingInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
643
651
  label: string;
package/dist/index.js CHANGED
@@ -5076,6 +5076,9 @@ function RegistrationSuccessCard({
5076
5076
  formatAnswer,
5077
5077
  className,
5078
5078
  actions,
5079
+ logo,
5080
+ logoAlt = "PlanetaEXO",
5081
+ terms,
5079
5082
  adventure,
5080
5083
  booking,
5081
5084
  traveller,
@@ -5098,9 +5101,18 @@ function RegistrationSuccessCard({
5098
5101
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-xl border border-border bg-card p-6 sm:p-8 flex flex-col gap-10", className), children: [
5099
5102
  actions && /* @__PURE__ */ jsx("div", { className: "flex gap-3 justify-end", children: actions }),
5100
5103
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-3 text-center", children: [
5101
- /* @__PURE__ */ jsx("div", { className: "inline-flex h-14 w-14 items-center justify-center rounded-full bg-primary/10 text-primary", children: /* @__PURE__ */ jsx(CircleCheckIcon, { size: 28 }) }),
5104
+ logo !== null && /* eslint-disable-next-line @next/next/no-img-element */
5105
+ /* @__PURE__ */ jsx(
5106
+ "img",
5107
+ {
5108
+ src: logo != null ? logo : "/logo-planetaexo.png",
5109
+ alt: logoAlt,
5110
+ className: "h-10 w-auto object-contain"
5111
+ }
5112
+ ),
5113
+ logo === void 0 && /* @__PURE__ */ jsx("div", { className: "inline-flex h-14 w-14 items-center justify-center rounded-full bg-primary/10 text-primary", children: /* @__PURE__ */ jsx(CircleCheckIcon, { size: 28 }) }),
5102
5114
  /* @__PURE__ */ jsx("h2", { className: "text-2xl font-black uppercase tracking-wide text-foreground font-heading leading-tight", children: title }),
5103
- /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground font-ui", children: message })
5115
+ message && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground font-ui", children: message })
5104
5116
  ] }),
5105
5117
  hasTripInfo && /* @__PURE__ */ jsx(FormSection2, { title: TL.sectionTitle, children: /* @__PURE__ */ jsxs("dl", { className: "flex flex-col gap-y-3 text-sm font-ui", children: [
5106
5118
  adventure && /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-x-4", children: [
@@ -5130,7 +5142,17 @@ function RegistrationSuccessCard({
5130
5142
  f,
5131
5143
  answers[f.id]
5132
5144
  ) })
5133
- ] }, f.id)) }) })
5145
+ ] }, f.id)) }) }),
5146
+ terms && /* @__PURE__ */ jsxs(FormSection2, { title: "Terms & Conditions", children: [
5147
+ /* @__PURE__ */ jsx("div", { className: "rounded-lg border border-border bg-muted/30 p-4 max-h-48 overflow-y-auto", children: /* @__PURE__ */ jsx("p", { className: "whitespace-pre-wrap text-sm leading-relaxed text-foreground font-ui", children: terms.markdown }) }),
5148
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm font-ui", children: [
5149
+ /* @__PURE__ */ jsx("div", { className: cn(
5150
+ "inline-flex h-5 w-5 items-center justify-center rounded-full text-white text-xs",
5151
+ terms.accepted ? "bg-primary" : "bg-destructive"
5152
+ ), children: terms.accepted ? "\u2713" : "\u2717" }),
5153
+ /* @__PURE__ */ jsx("span", { className: terms.accepted ? "text-primary font-medium" : "text-destructive font-medium", children: terms.accepted ? "Accepted" : "Not accepted" })
5154
+ ] })
5155
+ ] })
5134
5156
  ] });
5135
5157
  }
5136
5158
  var OTPCodeInput = ({