@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.cjs +190 -76
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +20 -1
- package/dist/index.d.ts +20 -1
- package/dist/index.js +189 -76
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
9364
|
-
/* @__PURE__ */
|
|
9365
|
-
/* @__PURE__ */
|
|
9366
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
9451
|
-
/* @__PURE__ */
|
|
9452
|
-
/* @__PURE__ */
|
|
9453
|
-
/* @__PURE__ */
|
|
9454
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
10100
|
-
name && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
10231
|
-
name && /* @__PURE__ */
|
|
10232
|
-
codeName && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
10259
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
10307
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
10359
|
-
/* @__PURE__ */
|
|
10360
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
10576
|
-
name && /* @__PURE__ */
|
|
10577
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
10630
|
-
/* @__PURE__ */
|
|
10631
|
-
/* @__PURE__ */
|
|
10632
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
10703
|
-
/* @__PURE__ */
|
|
10704
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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,
|