@chekinapp/ui 0.0.2 → 0.0.3

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.js CHANGED
@@ -4713,6 +4713,10 @@ import { useEffect as useEffect8 } from "react";
4713
4713
  function getChekinRuntimeSettings() {
4714
4714
  return window.ChekinProSettings || window.ChekinHousingsSDKSettings || {};
4715
4715
  }
4716
+ function isMobileModalModeAvailable() {
4717
+ const settings = getChekinRuntimeSettings();
4718
+ return !settings.autoHeight;
4719
+ }
4716
4720
 
4717
4721
  // src/lib/use-scroll-frame-into-view.ts
4718
4722
  function useScrollFrameIntoView(active, options = {}) {
@@ -8988,9 +8992,117 @@ function DatePicker({
8988
8992
  ] });
8989
8993
  }
8990
8994
 
8995
+ // src/responsive-sheet/ResponsiveSheet.tsx
8996
+ import { jsx as jsx122, jsxs as jsxs79 } from "react/jsx-runtime";
8997
+ function ResponsiveSheet({
8998
+ open,
8999
+ onClose,
9000
+ title,
9001
+ description,
9002
+ children,
9003
+ className,
9004
+ contentClassName,
9005
+ dialogClassName,
9006
+ drawerClassName,
9007
+ titleClassName,
9008
+ descriptionClassName,
9009
+ showCloseButton = true,
9010
+ showDrawerHandle = true,
9011
+ closeOnOverlayClick = true,
9012
+ closeOnEscape = true
9013
+ }) {
9014
+ const { isMatch: isMobile } = useScreenResize(DEVICE.laptop);
9015
+ const isMobileMode = isMobile && isMobileModalModeAvailable();
9016
+ const handleOpenChange = (nextOpen) => {
9017
+ if (!nextOpen) {
9018
+ onClose();
9019
+ }
9020
+ };
9021
+ const handleInteractOutside = (event) => {
9022
+ if (!closeOnOverlayClick) {
9023
+ event.preventDefault();
9024
+ }
9025
+ };
9026
+ const handleEscapeKeyDown = (event) => {
9027
+ if (!closeOnEscape) {
9028
+ event.preventDefault();
9029
+ }
9030
+ };
9031
+ const content = /* @__PURE__ */ jsxs79(
9032
+ "div",
9033
+ {
9034
+ className: cn(
9035
+ "flex w-full flex-col px-6 pb-6 pt-4 sm:px-8 sm:pb-8 sm:pt-8",
9036
+ contentClassName
9037
+ ),
9038
+ children: [
9039
+ title ? /* @__PURE__ */ jsx122(
9040
+ "div",
9041
+ {
9042
+ className: cn(
9043
+ "text-center text-[20px] font-semibold leading-7",
9044
+ titleClassName
9045
+ ),
9046
+ children: title
9047
+ }
9048
+ ) : null,
9049
+ description ? /* @__PURE__ */ jsx122(
9050
+ "p",
9051
+ {
9052
+ className: cn(
9053
+ "mt-3 text-center text-[14px] leading-6 text-[var(--primary)]/70",
9054
+ descriptionClassName
9055
+ ),
9056
+ children: description
9057
+ }
9058
+ ) : null,
9059
+ children
9060
+ ]
9061
+ }
9062
+ );
9063
+ if (isMobileMode) {
9064
+ return /* @__PURE__ */ jsx122(Drawer, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs79(
9065
+ DrawerContent,
9066
+ {
9067
+ onClose,
9068
+ showHandle: showDrawerHandle,
9069
+ closeOnOverlayClick,
9070
+ lockScroll: false,
9071
+ onEscapeKeyDown: handleEscapeKeyDown,
9072
+ className: cn(className, drawerClassName),
9073
+ children: [
9074
+ title ? /* @__PURE__ */ jsx122(DrawerTitle, { className: "sr-only", children: title }) : null,
9075
+ description ? /* @__PURE__ */ jsx122(DrawerDescription, { className: "sr-only", children: description }) : null,
9076
+ content
9077
+ ]
9078
+ }
9079
+ ) });
9080
+ }
9081
+ return /* @__PURE__ */ jsx122(Dialog, { open, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxs79(
9082
+ DialogContent,
9083
+ {
9084
+ showCloseButton,
9085
+ onPointerDownOutside: handleInteractOutside,
9086
+ onInteractOutside: handleInteractOutside,
9087
+ onEscapeKeyDown: handleEscapeKeyDown,
9088
+ className: cn(
9089
+ "max-w-[560px] rounded-[28px] border-0 p-0 shadow-xl",
9090
+ className,
9091
+ dialogClassName
9092
+ ),
9093
+ lockScroll: false,
9094
+ children: [
9095
+ title ? /* @__PURE__ */ jsx122(DialogTitle, { className: "sr-only", children: title }) : null,
9096
+ description ? /* @__PURE__ */ jsx122(DialogDescription, { className: "sr-only", children: description }) : null,
9097
+ content
9098
+ ]
9099
+ }
9100
+ ) });
9101
+ }
9102
+
8991
9103
  // src/airbnb/input/Input.tsx
8992
9104
  import * as React31 from "react";
8993
- import { jsx as jsx122 } from "react/jsx-runtime";
9105
+ import { jsx as jsx123 } from "react/jsx-runtime";
8994
9106
  var getInputValue = (value) => value != null ? String(value) : "";
8995
9107
  var AirbnbInput = React31.forwardRef(
8996
9108
  ({
@@ -9065,7 +9177,7 @@ var AirbnbInput = React31.forwardRef(
9065
9177
  setIsFocused(false);
9066
9178
  onBlur?.(event);
9067
9179
  };
9068
- return /* @__PURE__ */ jsx122("div", { className: cn("w-full", wrapperClassName), children: /* @__PURE__ */ jsx122(
9180
+ return /* @__PURE__ */ jsx123("div", { className: cn("w-full", wrapperClassName), children: /* @__PURE__ */ jsx123(
9069
9181
  FieldTrigger,
9070
9182
  {
9071
9183
  as: "div",
@@ -9093,7 +9205,7 @@ var AirbnbInput = React31.forwardRef(
9093
9205
  trailingAdornment,
9094
9206
  forceFloatingLabel: shouldShowLabel,
9095
9207
  hideErrorMessage: !renderErrorMessage,
9096
- children: /* @__PURE__ */ jsx122(
9208
+ children: /* @__PURE__ */ jsx123(
9097
9209
  "input",
9098
9210
  {
9099
9211
  ...props,
@@ -9134,7 +9246,7 @@ import { ChevronDown as ChevronDown2 } from "lucide-react";
9134
9246
  import * as React36 from "react";
9135
9247
 
9136
9248
  // src/airbnb/select/SelectDesktopMenu.tsx
9137
- import { jsx as jsx123, jsxs as jsxs79 } from "react/jsx-runtime";
9249
+ import { jsx as jsx124, jsxs as jsxs80 } from "react/jsx-runtime";
9138
9250
  function SelectDesktopMenu({
9139
9251
  id,
9140
9252
  options,
@@ -9153,7 +9265,7 @@ function SelectDesktopMenu({
9153
9265
  noOptionsMessage
9154
9266
  }) {
9155
9267
  const emptyMessage = noOptionsMessage?.();
9156
- return /* @__PURE__ */ jsxs79(
9268
+ return /* @__PURE__ */ jsxs80(
9157
9269
  "div",
9158
9270
  {
9159
9271
  id,
@@ -9166,12 +9278,12 @@ function SelectDesktopMenu({
9166
9278
  onKeyDown,
9167
9279
  className: cn("max-h-[280px] overflow-y-auto p-2 outline-none", menuClassName),
9168
9280
  children: [
9169
- options.length === 0 && emptyMessage ? /* @__PURE__ */ jsx123("div", { className: "px-4 py-3 text-base leading-6 text-[#6C6C6C]", children: emptyMessage }) : null,
9281
+ options.length === 0 && emptyMessage ? /* @__PURE__ */ jsx124("div", { className: "px-4 py-3 text-base leading-6 text-[#6C6C6C]", children: emptyMessage }) : null,
9170
9282
  options.map((option, index) => {
9171
9283
  const isSelected = selectedValue?.value === option.value;
9172
9284
  const isHighlighted = index === highlightedIndex;
9173
9285
  const optionKey = `${String(option.value)}-${index}`;
9174
- return /* @__PURE__ */ jsx123(
9286
+ return /* @__PURE__ */ jsx124(
9175
9287
  "button",
9176
9288
  {
9177
9289
  id: getOptionId2(index),
@@ -9203,7 +9315,7 @@ function SelectDesktopMenu({
9203
9315
  }
9204
9316
 
9205
9317
  // src/airbnb/select/SelectDesktopContent.tsx
9206
- import { jsx as jsx124 } from "react/jsx-runtime";
9318
+ import { jsx as jsx125 } from "react/jsx-runtime";
9207
9319
  function SelectDesktopContent({
9208
9320
  isOpen,
9209
9321
  listboxId,
@@ -9224,14 +9336,14 @@ function SelectDesktopContent({
9224
9336
  noOptionsMessage
9225
9337
  }) {
9226
9338
  if (!isOpen) return null;
9227
- return /* @__PURE__ */ jsx124(
9339
+ return /* @__PURE__ */ jsx125(
9228
9340
  "div",
9229
9341
  {
9230
9342
  className: cn(
9231
9343
  "absolute left-0 right-0 top-[calc(100%+8px)] z-20 overflow-hidden rounded-[20px] border border-[#DEDAD2] bg-white shadow-[0_14px_30px_rgba(18,18,18,0.08)]",
9232
9344
  dropdownClassName
9233
9345
  ),
9234
- children: /* @__PURE__ */ jsx124(
9346
+ children: /* @__PURE__ */ jsx125(
9235
9347
  SelectDesktopMenu,
9236
9348
  {
9237
9349
  id: listboxId,
@@ -9329,7 +9441,7 @@ function getMobileOptionStyles(index, scrollTop) {
9329
9441
  }
9330
9442
 
9331
9443
  // src/airbnb/select/SelectMobileWheel.tsx
9332
- import { jsx as jsx125, jsxs as jsxs80 } from "react/jsx-runtime";
9444
+ import { jsx as jsx126, jsxs as jsxs81 } from "react/jsx-runtime";
9333
9445
  function SelectMobileWheel({
9334
9446
  id,
9335
9447
  options,
@@ -9348,7 +9460,7 @@ function SelectMobileWheel({
9348
9460
  }) {
9349
9461
  const spacerHeight2 = getWheelSpacerHeight();
9350
9462
  const emptyMessage = noOptionsMessage?.();
9351
- return /* @__PURE__ */ jsxs80(
9463
+ return /* @__PURE__ */ jsxs81(
9352
9464
  "div",
9353
9465
  {
9354
9466
  id,
@@ -9360,10 +9472,10 @@ function SelectMobileWheel({
9360
9472
  onKeyDown,
9361
9473
  className: cn("relative overflow-hidden outline-none", menuClassName),
9362
9474
  children: [
9363
- options.length === 0 && emptyMessage ? /* @__PURE__ */ jsx125("div", { className: "flex min-h-[160px] items-center justify-center px-4 text-center text-base leading-6 text-[#6C6C6C]", children: emptyMessage }) : null,
9364
- /* @__PURE__ */ jsx125("div", { className: "pointer-events-none absolute inset-x-0 top-0 h-16 bg-gradient-to-b from-white via-white/80 to-transparent" }),
9365
- /* @__PURE__ */ jsx125("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 h-16 bg-gradient-to-t from-white via-white/80 to-transparent" }),
9366
- /* @__PURE__ */ jsx125(
9475
+ options.length === 0 && emptyMessage ? /* @__PURE__ */ jsx126("div", { className: "flex min-h-[160px] items-center justify-center px-4 text-center text-base leading-6 text-[#6C6C6C]", children: emptyMessage }) : null,
9476
+ /* @__PURE__ */ jsx126("div", { className: "pointer-events-none absolute inset-x-0 top-0 h-16 bg-gradient-to-b from-white via-white/80 to-transparent" }),
9477
+ /* @__PURE__ */ jsx126("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 h-16 bg-gradient-to-t from-white via-white/80 to-transparent" }),
9478
+ /* @__PURE__ */ jsx126(
9367
9479
  "div",
9368
9480
  {
9369
9481
  "aria-hidden": true,
@@ -9373,7 +9485,7 @@ function SelectMobileWheel({
9373
9485
  )
9374
9486
  }
9375
9487
  ),
9376
- /* @__PURE__ */ jsxs80(
9488
+ /* @__PURE__ */ jsxs81(
9377
9489
  "div",
9378
9490
  {
9379
9491
  ref: listRef,
@@ -9388,11 +9500,11 @@ function SelectMobileWheel({
9388
9500
  WebkitOverflowScrolling: "touch"
9389
9501
  },
9390
9502
  children: [
9391
- /* @__PURE__ */ jsx125("div", { style: { height: `${spacerHeight2}px` } }),
9503
+ /* @__PURE__ */ jsx126("div", { style: { height: `${spacerHeight2}px` } }),
9392
9504
  options.map((option, index) => {
9393
9505
  const { distance, style } = getMobileOptionStyles(index, scrollTop);
9394
9506
  const optionKey = `${String(option.value)}-${index}`;
9395
- return /* @__PURE__ */ jsx125(
9507
+ return /* @__PURE__ */ jsx126(
9396
9508
  "button",
9397
9509
  {
9398
9510
  id: getOptionId2(index),
@@ -9413,7 +9525,7 @@ function SelectMobileWheel({
9413
9525
  optionKey
9414
9526
  );
9415
9527
  }),
9416
- /* @__PURE__ */ jsx125("div", { style: { height: `${spacerHeight2}px` } })
9528
+ /* @__PURE__ */ jsx126("div", { style: { height: `${spacerHeight2}px` } })
9417
9529
  ]
9418
9530
  }
9419
9531
  )
@@ -9423,7 +9535,7 @@ function SelectMobileWheel({
9423
9535
  }
9424
9536
 
9425
9537
  // src/airbnb/select/SelectMobileContent.tsx
9426
- import { jsx as jsx126, jsxs as jsxs81 } from "react/jsx-runtime";
9538
+ import { jsx as jsx127, jsxs as jsxs82 } from "react/jsx-runtime";
9427
9539
  function SelectMobileContent({
9428
9540
  open,
9429
9541
  onOpenChange,
@@ -9447,11 +9559,11 @@ function SelectMobileContent({
9447
9559
  getOptionId: getOptionId2,
9448
9560
  noOptionsMessage
9449
9561
  }) {
9450
- return /* @__PURE__ */ jsx126(Drawer, { open, onOpenChange, children: /* @__PURE__ */ jsxs81(DrawerContent, { onClose, lockScroll: false, children: [
9451
- /* @__PURE__ */ jsx126(DrawerTitle, { className: "sr-only", children: mobileTitle ?? label }),
9452
- /* @__PURE__ */ jsx126(DrawerDescription, { className: "sr-only", children: label }),
9453
- /* @__PURE__ */ jsxs81("div", { className: "px-6 pb-4 pt-1", children: [
9454
- /* @__PURE__ */ jsx126(
9562
+ return /* @__PURE__ */ jsx127(Drawer, { open, onOpenChange, children: /* @__PURE__ */ jsxs82(DrawerContent, { onClose, lockScroll: false, children: [
9563
+ /* @__PURE__ */ jsx127(DrawerTitle, { className: "sr-only", children: mobileTitle ?? label }),
9564
+ /* @__PURE__ */ jsx127(DrawerDescription, { className: "sr-only", children: label }),
9565
+ /* @__PURE__ */ jsxs82("div", { className: "px-6 pb-4 pt-1", children: [
9566
+ /* @__PURE__ */ jsx127(
9455
9567
  SelectMobileWheel,
9456
9568
  {
9457
9569
  id: listboxId,
@@ -9470,7 +9582,7 @@ function SelectMobileContent({
9470
9582
  noOptionsMessage
9471
9583
  }
9472
9584
  ),
9473
- /* @__PURE__ */ jsx126(Button, { type: "button", onClick: onDone, className: "mt-4 h-12 mb-8 w-full", children: doneLabel })
9585
+ /* @__PURE__ */ jsx127(Button, { type: "button", onClick: onDone, className: "mt-4 h-12 mb-8 w-full", children: doneLabel })
9474
9586
  ] })
9475
9587
  ] }) });
9476
9588
  }
@@ -9478,7 +9590,7 @@ function SelectMobileContent({
9478
9590
  // src/airbnb/select/SelectTrigger.tsx
9479
9591
  import * as React32 from "react";
9480
9592
  import { ChevronDown } from "lucide-react";
9481
- import { jsx as jsx127 } from "react/jsx-runtime";
9593
+ import { jsx as jsx128 } from "react/jsx-runtime";
9482
9594
  var SelectTrigger2 = React32.forwardRef(
9483
9595
  ({
9484
9596
  id,
@@ -9500,7 +9612,7 @@ var SelectTrigger2 = React32.forwardRef(
9500
9612
  onClick,
9501
9613
  onKeyDown
9502
9614
  }, ref) => {
9503
- return /* @__PURE__ */ jsx127(
9615
+ return /* @__PURE__ */ jsx128(
9504
9616
  FieldTrigger,
9505
9617
  {
9506
9618
  id,
@@ -9524,7 +9636,7 @@ var SelectTrigger2 = React32.forwardRef(
9524
9636
  disabled,
9525
9637
  onClick,
9526
9638
  onKeyDown,
9527
- trailingAdornment: /* @__PURE__ */ jsx127(
9639
+ trailingAdornment: /* @__PURE__ */ jsx128(
9528
9640
  ChevronDown,
9529
9641
  {
9530
9642
  className: open ? "h-6 w-6 rotate-180 text-[#1F1F1B] transition-transform" : "h-6 w-6 text-[#1F1F1B] transition-transform"
@@ -9938,7 +10050,7 @@ function useOutsideClick(elementRef, onOutsideClick, nested) {
9938
10050
  }
9939
10051
 
9940
10052
  // src/airbnb/select/Select.tsx
9941
- import { jsx as jsx128, jsxs as jsxs82 } from "react/jsx-runtime";
10053
+ import { jsx as jsx129, jsxs as jsxs83 } from "react/jsx-runtime";
9942
10054
  function AirbnbSelect({
9943
10055
  options,
9944
10056
  value,
@@ -10096,8 +10208,8 @@ function AirbnbSelect({
10096
10208
  handleMobileOpenChange(false);
10097
10209
  }
10098
10210
  };
10099
- return /* @__PURE__ */ jsxs82("div", { ref: containerRef, className: cn("relative w-full max-w-[480px]", className), children: [
10100
- name && /* @__PURE__ */ jsx128("input", { type: "hidden", name, value: value ? String(value.value) : "" }),
10211
+ return /* @__PURE__ */ jsxs83("div", { ref: containerRef, className: cn("relative w-full max-w-[480px]", className), children: [
10212
+ name && /* @__PURE__ */ jsx129("input", { type: "hidden", name, value: value ? String(value.value) : "" }),
10101
10213
  renderTrigger ? renderTrigger({
10102
10214
  id: triggerId,
10103
10215
  open: isOpen,
@@ -10114,7 +10226,7 @@ function AirbnbSelect({
10114
10226
  triggerRef,
10115
10227
  onClick: handleTriggerClick,
10116
10228
  onKeyDown: handleRootTriggerKeyDown
10117
- }) : /* @__PURE__ */ jsx128(
10229
+ }) : /* @__PURE__ */ jsx129(
10118
10230
  SelectTrigger2,
10119
10231
  {
10120
10232
  id: triggerId,
@@ -10138,7 +10250,7 @@ function AirbnbSelect({
10138
10250
  onKeyDown: handleRootTriggerKeyDown
10139
10251
  }
10140
10252
  ),
10141
- isMobile ? /* @__PURE__ */ jsx128(
10253
+ isMobile ? /* @__PURE__ */ jsx129(
10142
10254
  SelectMobileContent,
10143
10255
  {
10144
10256
  open: isOpen,
@@ -10163,7 +10275,7 @@ function AirbnbSelect({
10163
10275
  getOptionId: getOptionId2,
10164
10276
  noOptionsMessage
10165
10277
  }
10166
- ) : /* @__PURE__ */ jsx128(
10278
+ ) : /* @__PURE__ */ jsx129(
10167
10279
  SelectDesktopContent,
10168
10280
  {
10169
10281
  isOpen,
@@ -10195,7 +10307,7 @@ function AirbnbSelect({
10195
10307
  }
10196
10308
 
10197
10309
  // src/airbnb/phone-field/PhoneField.tsx
10198
- import { jsx as jsx129, jsxs as jsxs83 } from "react/jsx-runtime";
10310
+ import { jsx as jsx130, jsxs as jsxs84 } from "react/jsx-runtime";
10199
10311
  function PhoneField({
10200
10312
  variant = "default",
10201
10313
  label,
@@ -10227,9 +10339,9 @@ function PhoneField({
10227
10339
  [codeOptions, value?.code]
10228
10340
  );
10229
10341
  const combinedValue = value?.code || value?.number ? `${value?.code ?? ""}${value?.number ?? ""}` : "";
10230
- return /* @__PURE__ */ jsxs83("div", { className: cn("w-full max-w-[480px]", className), children: [
10231
- name && /* @__PURE__ */ jsx129("input", { type: "hidden", name, value: combinedValue, disabled }),
10232
- codeName && /* @__PURE__ */ jsx129(
10342
+ return /* @__PURE__ */ jsxs84("div", { className: cn("w-full max-w-[480px]", className), children: [
10343
+ name && /* @__PURE__ */ jsx130("input", { type: "hidden", name, value: combinedValue, disabled }),
10344
+ codeName && /* @__PURE__ */ jsx130(
10233
10345
  "input",
10234
10346
  {
10235
10347
  type: "hidden",
@@ -10238,7 +10350,7 @@ function PhoneField({
10238
10350
  disabled
10239
10351
  }
10240
10352
  ),
10241
- numberName && /* @__PURE__ */ jsx129(
10353
+ numberName && /* @__PURE__ */ jsx130(
10242
10354
  "input",
10243
10355
  {
10244
10356
  type: "hidden",
@@ -10247,7 +10359,7 @@ function PhoneField({
10247
10359
  disabled
10248
10360
  }
10249
10361
  ),
10250
- topLabel && /* @__PURE__ */ jsx129(
10362
+ topLabel && /* @__PURE__ */ jsx130(
10251
10363
  "label",
10252
10364
  {
10253
10365
  htmlFor: inputId,
@@ -10255,8 +10367,8 @@ function PhoneField({
10255
10367
  children: topLabel
10256
10368
  }
10257
10369
  ),
10258
- /* @__PURE__ */ jsxs83("div", { className: "flex items-stretch", children: [
10259
- /* @__PURE__ */ jsx129(
10370
+ /* @__PURE__ */ jsxs84("div", { className: "flex items-stretch", children: [
10371
+ /* @__PURE__ */ jsx130(
10260
10372
  AirbnbSelect,
10261
10373
  {
10262
10374
  variant,
@@ -10283,7 +10395,7 @@ function PhoneField({
10283
10395
  onClick,
10284
10396
  onKeyDown,
10285
10397
  valueLabel
10286
- }) => /* @__PURE__ */ jsxs83(
10398
+ }) => /* @__PURE__ */ jsxs84(
10287
10399
  "button",
10288
10400
  {
10289
10401
  id,
@@ -10303,8 +10415,8 @@ function PhoneField({
10303
10415
  triggerDisabled ? "cursor-not-allowed opacity-50" : "cursor-pointer"
10304
10416
  ),
10305
10417
  children: [
10306
- /* @__PURE__ */ jsx129("span", { children: valueLabel ?? codePlaceholder }),
10307
- /* @__PURE__ */ jsx129(
10418
+ /* @__PURE__ */ jsx130("span", { children: valueLabel ?? codePlaceholder }),
10419
+ /* @__PURE__ */ jsx130(
10308
10420
  ChevronDown2,
10309
10421
  {
10310
10422
  className: cn("h-5 w-5 transition-transform", open ? "rotate-180" : ""),
@@ -10316,7 +10428,7 @@ function PhoneField({
10316
10428
  )
10317
10429
  }
10318
10430
  ),
10319
- /* @__PURE__ */ jsx129(
10431
+ /* @__PURE__ */ jsx130(
10320
10432
  AirbnbInput,
10321
10433
  {
10322
10434
  id: inputId,
@@ -10343,7 +10455,7 @@ function PhoneField({
10343
10455
  }
10344
10456
  )
10345
10457
  ] }),
10346
- error && /* @__PURE__ */ jsx129(FieldErrorMessage, { message: error })
10458
+ error && /* @__PURE__ */ jsx130(FieldErrorMessage, { message: error })
10347
10459
  ] });
10348
10460
  }
10349
10461
 
@@ -10351,13 +10463,13 @@ function PhoneField({
10351
10463
  import * as React38 from "react";
10352
10464
  import { useTranslation as useTranslation22 } from "react-i18next";
10353
10465
  import { Search as Search3, X as X8 } from "lucide-react";
10354
- import { jsx as jsx130, jsxs as jsxs84 } from "react/jsx-runtime";
10466
+ import { jsx as jsx131, jsxs as jsxs85 } from "react/jsx-runtime";
10355
10467
  var AirbnbSearchInput = React38.forwardRef(({ onReset, placeholder, wrapperClassName, ...props }, ref) => {
10356
10468
  const { t } = useTranslation22();
10357
10469
  const placeholderText = placeholder || t("search_property") + "...";
10358
- return /* @__PURE__ */ jsxs84("div", { className: cn("input-wrapper relative", wrapperClassName), children: [
10359
- /* @__PURE__ */ jsx130(Search3, { className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[#9696B9]" }),
10360
- /* @__PURE__ */ jsx130(
10470
+ return /* @__PURE__ */ jsxs85("div", { className: cn("input-wrapper relative", wrapperClassName), children: [
10471
+ /* @__PURE__ */ jsx131(Search3, { className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[#9696B9]" }),
10472
+ /* @__PURE__ */ jsx131(
10361
10473
  "input",
10362
10474
  {
10363
10475
  ...props,
@@ -10376,13 +10488,13 @@ var AirbnbSearchInput = React38.forwardRef(({ onReset, placeholder, wrapperClass
10376
10488
  )
10377
10489
  }
10378
10490
  ),
10379
- onReset && /* @__PURE__ */ jsx130(
10491
+ onReset && /* @__PURE__ */ jsx131(
10380
10492
  Button,
10381
10493
  {
10382
10494
  variant: "ghost",
10383
10495
  onClick: onReset,
10384
10496
  className: "absolute right-0 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[#9696B9]",
10385
- children: /* @__PURE__ */ jsx130(X8, { className: "h-5 w-5" })
10497
+ children: /* @__PURE__ */ jsx131(X8, { className: "h-5 w-5" })
10386
10498
  }
10387
10499
  )
10388
10500
  ] });
@@ -10393,7 +10505,7 @@ AirbnbSearchInput.displayName = "SearchInput";
10393
10505
  import * as React39 from "react";
10394
10506
  import { ChevronDown as ChevronDown3, Search as Search4 } from "lucide-react";
10395
10507
  import { useVirtualizer } from "@tanstack/react-virtual";
10396
- import { jsx as jsx131, jsxs as jsxs85 } from "react/jsx-runtime";
10508
+ import { jsx as jsx132, jsxs as jsxs86 } from "react/jsx-runtime";
10397
10509
  var ROW_HEIGHT = 48;
10398
10510
  var DESKTOP_LIST_HEIGHT = 280;
10399
10511
  var MOBILE_LIST_HEIGHT = 420;
@@ -10544,7 +10656,7 @@ var SearchableSelectInternal = ({
10544
10656
  }
10545
10657
  }
10546
10658
  }
10547
- const content = /* @__PURE__ */ jsx131(
10659
+ const content = /* @__PURE__ */ jsx132(
10548
10660
  SearchableSelectContent,
10549
10661
  {
10550
10662
  inputId: searchInputId,
@@ -10572,9 +10684,9 @@ var SearchableSelectInternal = ({
10572
10684
  }
10573
10685
  );
10574
10686
  React39.useImperativeHandle(ref, () => triggerRef.current, []);
10575
- return /* @__PURE__ */ jsxs85("div", { ref: containerRef, className: cn("relative w-full max-w-[480px]", className), children: [
10576
- name && /* @__PURE__ */ jsx131("input", { type: "hidden", name, value: value ? String(value.value) : "" }),
10577
- /* @__PURE__ */ jsx131(
10687
+ return /* @__PURE__ */ jsxs86("div", { ref: containerRef, className: cn("relative w-full max-w-[480px]", className), children: [
10688
+ name && /* @__PURE__ */ jsx132("input", { type: "hidden", name, value: value ? String(value.value) : "" }),
10689
+ /* @__PURE__ */ jsx132(
10578
10690
  FieldTrigger,
10579
10691
  {
10580
10692
  id: `${reactId}-trigger`,
@@ -10604,7 +10716,7 @@ var SearchableSelectInternal = ({
10604
10716
  openSelect();
10605
10717
  },
10606
10718
  onKeyDown: handleTriggerKeyDown,
10607
- trailingAdornment: /* @__PURE__ */ jsx131(
10719
+ trailingAdornment: /* @__PURE__ */ jsx132(
10608
10720
  ChevronDown3,
10609
10721
  {
10610
10722
  className: cn(
@@ -10615,7 +10727,7 @@ var SearchableSelectInternal = ({
10615
10727
  )
10616
10728
  }
10617
10729
  ),
10618
- isMobile ? /* @__PURE__ */ jsx131(
10730
+ isMobile ? /* @__PURE__ */ jsx132(
10619
10731
  Drawer,
10620
10732
  {
10621
10733
  open,
@@ -10626,13 +10738,13 @@ var SearchableSelectInternal = ({
10626
10738
  }
10627
10739
  closeSelect();
10628
10740
  },
10629
- children: /* @__PURE__ */ jsxs85(DrawerContent, { onClose: closeSelect, lockScroll: false, children: [
10630
- /* @__PURE__ */ jsx131(DrawerTitle, { className: "sr-only", children: mobileTitle ?? label }),
10631
- /* @__PURE__ */ jsx131(DrawerDescription, { className: "sr-only", children: label }),
10632
- /* @__PURE__ */ jsx131("div", { className: "px-5 pb-5 pt-1", children: content })
10741
+ children: /* @__PURE__ */ jsxs86(DrawerContent, { onClose: closeSelect, lockScroll: false, children: [
10742
+ /* @__PURE__ */ jsx132(DrawerTitle, { className: "sr-only", children: mobileTitle ?? label }),
10743
+ /* @__PURE__ */ jsx132(DrawerDescription, { className: "sr-only", children: label }),
10744
+ /* @__PURE__ */ jsx132("div", { className: "px-5 pb-5 pt-1", children: content })
10633
10745
  ] })
10634
10746
  }
10635
- ) : open ? /* @__PURE__ */ jsx131(
10747
+ ) : open ? /* @__PURE__ */ jsx132(
10636
10748
  "div",
10637
10749
  {
10638
10750
  className: cn(
@@ -10699,16 +10811,16 @@ function SearchableSelectContent({
10699
10811
  virtualizer.scrollToIndex(highlightedIndex, { align: "auto" });
10700
10812
  }
10701
10813
  }, [highlightedIndex, virtualizer]);
10702
- return /* @__PURE__ */ jsxs85("div", { className: "p-2", children: [
10703
- /* @__PURE__ */ jsxs85("div", { className: "relative mb-2", children: [
10704
- /* @__PURE__ */ jsx131(
10814
+ return /* @__PURE__ */ jsxs86("div", { className: "p-2", children: [
10815
+ /* @__PURE__ */ jsxs86("div", { className: "relative mb-2", children: [
10816
+ /* @__PURE__ */ jsx132(
10705
10817
  Search4,
10706
10818
  {
10707
10819
  "aria-hidden": "true",
10708
10820
  className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 text-[#9696B9]"
10709
10821
  }
10710
10822
  ),
10711
- /* @__PURE__ */ jsx131(
10823
+ /* @__PURE__ */ jsx132(
10712
10824
  "input",
10713
10825
  {
10714
10826
  id: inputId,
@@ -10727,7 +10839,7 @@ function SearchableSelectContent({
10727
10839
  }
10728
10840
  )
10729
10841
  ] }),
10730
- loading && options.length === 0 ? /* @__PURE__ */ jsx131("div", { className: "px-4 py-5 text-center text-base leading-6 text-[#6C6C6C]", children: loadingText }) : options.length === 0 ? /* @__PURE__ */ jsx131("div", { className: "px-4 py-5 text-center text-base leading-6 text-[#6C6C6C]", children: emptyMessage }) : /* @__PURE__ */ jsx131(
10842
+ loading && options.length === 0 ? /* @__PURE__ */ jsx132("div", { className: "px-4 py-5 text-center text-base leading-6 text-[#6C6C6C]", children: loadingText }) : options.length === 0 ? /* @__PURE__ */ jsx132("div", { className: "px-4 py-5 text-center text-base leading-6 text-[#6C6C6C]", children: emptyMessage }) : /* @__PURE__ */ jsx132(
10731
10843
  "div",
10732
10844
  {
10733
10845
  id: listboxId,
@@ -10736,7 +10848,7 @@ function SearchableSelectContent({
10736
10848
  "aria-labelledby": labelId,
10737
10849
  className: cn("overflow-y-auto outline-none", menuClassName),
10738
10850
  style: { height: Math.min(height, rowCount * ROW_HEIGHT) },
10739
- children: /* @__PURE__ */ jsx131(
10851
+ children: /* @__PURE__ */ jsx132(
10740
10852
  "div",
10741
10853
  {
10742
10854
  className: "relative w-full",
@@ -10744,7 +10856,7 @@ function SearchableSelectContent({
10744
10856
  children: virtualItems.map((virtualItem) => {
10745
10857
  const option = options[virtualItem.index];
10746
10858
  if (!option) {
10747
- return /* @__PURE__ */ jsx131(
10859
+ return /* @__PURE__ */ jsx132(
10748
10860
  "div",
10749
10861
  {
10750
10862
  className: "absolute left-0 top-0 flex w-full items-center px-4 text-base leading-6 text-[#6C6C6C]",
@@ -10759,7 +10871,7 @@ function SearchableSelectContent({
10759
10871
  }
10760
10872
  const isSelected = value?.value === option.value;
10761
10873
  const isHighlighted = virtualItem.index === highlightedIndex;
10762
- return /* @__PURE__ */ jsx131(
10874
+ return /* @__PURE__ */ jsx132(
10763
10875
  "button",
10764
10876
  {
10765
10877
  id: getOptionId(idPrefix, virtualItem.index),
@@ -10781,7 +10893,7 @@ function SearchableSelectContent({
10781
10893
  height: `${virtualItem.size}px`,
10782
10894
  transform: `translateY(${virtualItem.start}px)`
10783
10895
  },
10784
- children: /* @__PURE__ */ jsx131("span", { className: "truncate text-center", children: String(option.label) })
10896
+ children: /* @__PURE__ */ jsx132("span", { className: "truncate text-center", children: String(option.label) })
10785
10897
  },
10786
10898
  `${String(option.value)}-${virtualItem.index}`
10787
10899
  );
@@ -10951,6 +11063,7 @@ export {
10951
11063
  RatingRadioGroup,
10952
11064
  RatingStars,
10953
11065
  RegistryIcon,
11066
+ ResponsiveSheet,
10954
11067
  RotateIcon,
10955
11068
  ScrollArea,
10956
11069
  ScrollBar,