@planetaexo/design-system 0.4.17 → 0.4.19

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
@@ -256,11 +256,15 @@ interface BookingDetailsProps {
256
256
  onEditTraveller?: (adventureId: string, travellerId: string) => void;
257
257
  onRemoveTraveller?: (adventureId: string, travellerId: string) => void;
258
258
  onAddSuggestedTraveller?: (adventureId: string, travellerId: string) => void;
259
+ /** Quando fornecida, substitui o modal interno do DS ao clicar "More travellers". */
260
+ onAddTraveller?: (adventureId: string) => void;
261
+ /** Quando fornecida, desassocia o viajante da aventura sem deletá-lo da reserva. */
262
+ onUnassignFromAdventure?: (adventureId: string, travellerId: string) => void;
259
263
  onPayBalance?: () => void;
260
264
  onCancelRequest?: () => void;
261
265
  className?: string;
262
266
  }
263
- declare function BookingDetails({ bookingId, status, createdAt, contact, agentName, agentContactUrl, adventures, summaryLineItems, subtotal, total, depositInfo, onAddContactAsTraveller, onEditTraveller, onRemoveTraveller, onAddSuggestedTraveller, onPayBalance, onCancelRequest, className, }: BookingDetailsProps): react_jsx_runtime.JSX.Element;
267
+ declare function BookingDetails({ bookingId, status, createdAt, contact, agentName, agentContactUrl, adventures, summaryLineItems, subtotal, total, depositInfo, onAddContactAsTraveller, onEditTraveller, onRemoveTraveller, onAddSuggestedTraveller, onAddTraveller, onUnassignFromAdventure, onPayBalance, onCancelRequest, className, }: BookingDetailsProps): react_jsx_runtime.JSX.Element;
264
268
 
265
269
  interface BookingConfirmationLabels {
266
270
  ctaButton?: string;
package/dist/index.d.ts CHANGED
@@ -256,11 +256,15 @@ interface BookingDetailsProps {
256
256
  onEditTraveller?: (adventureId: string, travellerId: string) => void;
257
257
  onRemoveTraveller?: (adventureId: string, travellerId: string) => void;
258
258
  onAddSuggestedTraveller?: (adventureId: string, travellerId: string) => void;
259
+ /** Quando fornecida, substitui o modal interno do DS ao clicar "More travellers". */
260
+ onAddTraveller?: (adventureId: string) => void;
261
+ /** Quando fornecida, desassocia o viajante da aventura sem deletá-lo da reserva. */
262
+ onUnassignFromAdventure?: (adventureId: string, travellerId: string) => void;
259
263
  onPayBalance?: () => void;
260
264
  onCancelRequest?: () => void;
261
265
  className?: string;
262
266
  }
263
- declare function BookingDetails({ bookingId, status, createdAt, contact, agentName, agentContactUrl, adventures, summaryLineItems, subtotal, total, depositInfo, onAddContactAsTraveller, onEditTraveller, onRemoveTraveller, onAddSuggestedTraveller, onPayBalance, onCancelRequest, className, }: BookingDetailsProps): react_jsx_runtime.JSX.Element;
267
+ declare function BookingDetails({ bookingId, status, createdAt, contact, agentName, agentContactUrl, adventures, summaryLineItems, subtotal, total, depositInfo, onAddContactAsTraveller, onEditTraveller, onRemoveTraveller, onAddSuggestedTraveller, onAddTraveller, onUnassignFromAdventure, onPayBalance, onCancelRequest, className, }: BookingDetailsProps): react_jsx_runtime.JSX.Element;
264
268
 
265
269
  interface BookingConfirmationLabels {
266
270
  ctaButton?: string;
package/dist/index.js CHANGED
@@ -2195,7 +2195,9 @@ function AdventureSection({
2195
2195
  onAddContactAsTraveller,
2196
2196
  onEditTraveller,
2197
2197
  onRemoveTraveller,
2198
- onAddSuggestedTraveller
2198
+ onAddSuggestedTraveller,
2199
+ onAddTraveller,
2200
+ onUnassignFromAdventure
2199
2201
  }) {
2200
2202
  var _a, _b, _c;
2201
2203
  const [detailsOpen, setDetailsOpen] = React22.useState(false);
@@ -2349,7 +2351,7 @@ function AdventureSection({
2349
2351
  "button",
2350
2352
  {
2351
2353
  type: "button",
2352
- onClick: () => setAddModalOpen(true),
2354
+ onClick: () => onAddTraveller ? onAddTraveller(adventure.id) : setAddModalOpen(true),
2353
2355
  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",
2354
2356
  children: [
2355
2357
  /* @__PURE__ */ jsx(PlusIcon, { className: "w-3 h-3" }),
@@ -2432,12 +2434,12 @@ function AdventureSection({
2432
2434
  children: /* @__PURE__ */ jsx(Trash2Icon, { className: "w-3.5 h-3.5" })
2433
2435
  }
2434
2436
  ),
2435
- onRemoveTraveller && /* @__PURE__ */ jsx(
2437
+ (onUnassignFromAdventure || onRemoveTraveller) && /* @__PURE__ */ jsx(
2436
2438
  "button",
2437
2439
  {
2438
2440
  type: "button",
2439
- onClick: () => onRemoveTraveller(adventure.id, t.id),
2440
- className: "flex h-8 w-8 sm:h-7 sm:w-7 items-center justify-center rounded-lg text-muted-foreground hover:text-destructive hover:bg-destructive/10 transition-colors",
2441
+ onClick: () => onUnassignFromAdventure ? onUnassignFromAdventure(adventure.id, t.id) : onRemoveTraveller(adventure.id, t.id),
2442
+ className: "flex h-8 w-8 sm:h-7 sm:w-7 items-center justify-center rounded-lg text-muted-foreground hover:text-amber-500 hover:bg-amber-500/10 transition-colors",
2441
2443
  "aria-label": `Remove ${t.firstName} from adventure`,
2442
2444
  children: /* @__PURE__ */ jsx(UserMinusIcon, { className: "w-3.5 h-3.5" })
2443
2445
  }
@@ -2719,6 +2721,8 @@ function BookingDetails({
2719
2721
  onEditTraveller,
2720
2722
  onRemoveTraveller,
2721
2723
  onAddSuggestedTraveller,
2724
+ onAddTraveller,
2725
+ onUnassignFromAdventure,
2722
2726
  onPayBalance,
2723
2727
  onCancelRequest,
2724
2728
  className
@@ -2800,7 +2804,9 @@ function BookingDetails({
2800
2804
  onAddContactAsTraveller,
2801
2805
  onEditTraveller,
2802
2806
  onRemoveTraveller,
2803
- onAddSuggestedTraveller
2807
+ onAddSuggestedTraveller,
2808
+ onAddTraveller,
2809
+ onUnassignFromAdventure
2804
2810
  },
2805
2811
  adventure.id
2806
2812
  ))
@@ -5064,11 +5070,10 @@ var OTPCodeInput = ({
5064
5070
  e.preventDefault();
5065
5071
  }
5066
5072
  };
5067
- const handlePaste = (e) => {
5073
+ const handlePaste = (e, startIndex) => {
5068
5074
  e.preventDefault();
5069
5075
  const pasted = e.clipboardData.getData("text").replace(/\D/g, "").slice(0, length);
5070
5076
  if (!pasted) return;
5071
- const startIndex = focusedIndexRef.current;
5072
5077
  const newDigits = [...digits];
5073
5078
  for (let i = 0; i < pasted.length && startIndex + i < length; i++) {
5074
5079
  newDigits[startIndex + i] = pasted[i];
@@ -5098,7 +5103,6 @@ var OTPCodeInput = ({
5098
5103
  ),
5099
5104
  role: "group",
5100
5105
  "aria-label": label,
5101
- onPaste: handlePaste,
5102
5106
  children: digits.map((digit, index) => /* @__PURE__ */ jsx(
5103
5107
  "input",
5104
5108
  {
@@ -5109,13 +5113,14 @@ var OTPCodeInput = ({
5109
5113
  type: "text",
5110
5114
  inputMode: "numeric",
5111
5115
  pattern: "\\d*",
5112
- maxLength: 2,
5116
+ maxLength: 1,
5113
5117
  value: digit,
5114
5118
  autoComplete: index === 0 ? "one-time-code" : "off",
5115
5119
  "aria-label": `${label} d\xEDgito ${index + 1} de ${length}`,
5116
5120
  disabled,
5117
5121
  onChange: (e) => handleChange(index, e.target.value),
5118
5122
  onKeyDown: (e) => handleKeyDown(index, e),
5123
+ onPaste: (e) => handlePaste(e, index),
5119
5124
  onFocus: (e) => {
5120
5125
  focusedIndexRef.current = index;
5121
5126
  e.target.select();