@chekinapp/ui 0.0.145 → 0.2.0
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 +236 -212
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +236 -212
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/global.css +53 -54
package/dist/index.js
CHANGED
|
@@ -451,11 +451,11 @@ var bookmarkTabsListVariants = cva3(
|
|
|
451
451
|
variant: {
|
|
452
452
|
default: [
|
|
453
453
|
"relative h-auto w-full gap-1 bg-transparent p-0",
|
|
454
|
-
"before:absolute before:inset-x-0 before:bottom-0 before:h-px before:bg-[
|
|
454
|
+
"before:absolute before:inset-x-0 before:bottom-0 before:h-px before:bg-[var(--chekin-border-default)]"
|
|
455
455
|
],
|
|
456
456
|
material: [
|
|
457
457
|
"relative h-auto w-full gap-1 bg-transparent p-0",
|
|
458
|
-
"before:absolute before:inset-x-0 before:bottom-0 before:h-px before:bg-[
|
|
458
|
+
"before:absolute before:inset-x-0 before:bottom-0 before:h-px before:bg-[var(--chekin-border-default)]"
|
|
459
459
|
]
|
|
460
460
|
}
|
|
461
461
|
},
|
|
@@ -474,7 +474,7 @@ var bookmarkTabsTriggerVariants = cva3(
|
|
|
474
474
|
variants: {
|
|
475
475
|
variant: {
|
|
476
476
|
default: [
|
|
477
|
-
"overflow-hidden rounded-lg rounded-b-none border-x border-t border-[
|
|
477
|
+
"overflow-hidden rounded-lg rounded-b-none border-x border-t border-[var(--chekin-border-default)]",
|
|
478
478
|
"bg-[var(--chekin-color-surface-input-empty)] px-4 py-2 text-base font-semibold text-[var(--chekin-color-gray-1)]",
|
|
479
479
|
"data-[state=active]:z-10 data-[state=active]:cursor-default data-[state=active]:bg-[var(--chekin-color-white)]",
|
|
480
480
|
"data-[state=active]:text-[var(--chekin-color-brand-navy)] data-[state=active]:shadow-none",
|
|
@@ -2018,7 +2018,7 @@ var iconButtonVariants = cva9(
|
|
|
2018
2018
|
primary: "bg-[var(--chekin-color-brand-blue)] text-[var(--chekin-color-white)] hover:brightness-95",
|
|
2019
2019
|
secondary: "border border-[var(--chekin-color-gray-3)] bg-[var(--chekin-color-white)] text-[var(--chekin-color-brand-navy)] hover:bg-[var(--chekin-color-surface-input-empty)]",
|
|
2020
2020
|
ghost: "bg-transparent text-[var(--chekin-color-gray-1)] hover:bg-[var(--chekin-color-surface-input-empty)]",
|
|
2021
|
-
destructive: "border border-[var(--chekin-color-gray-3)] bg-[var(--chekin-color-white)] text-[var(--error-message-color)] hover:bg-[
|
|
2021
|
+
destructive: "border border-[var(--chekin-color-gray-3)] bg-[var(--chekin-color-white)] text-[var(--error-message-color)] hover:bg-[var(--chekin-red-150)]"
|
|
2022
2022
|
}
|
|
2023
2023
|
},
|
|
2024
2024
|
defaultVariants: { size: "m", shape: "rounded", variant: "secondary" }
|
|
@@ -2046,7 +2046,7 @@ var IconButton = React12.forwardRef(
|
|
|
2046
2046
|
"aria-label": props["aria-label"] ?? label,
|
|
2047
2047
|
className: cn(
|
|
2048
2048
|
iconButtonVariants({ size, shape, variant }),
|
|
2049
|
-
outlined && "h-[30px] w-[30px] rounded-sm border border-[
|
|
2049
|
+
outlined && "h-[30px] w-[30px] rounded-sm border border-[var(--chekin-border-default)] bg-[var(--chekin-color-white)]",
|
|
2050
2050
|
className
|
|
2051
2051
|
),
|
|
2052
2052
|
...props,
|
|
@@ -3961,7 +3961,7 @@ function DropdownMenuItemContent({
|
|
|
3961
3961
|
label,
|
|
3962
3962
|
description
|
|
3963
3963
|
}) {
|
|
3964
|
-
return /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-3 text-[var(--chekin-color-brand-navy)] [&_svg]:text-[
|
|
3964
|
+
return /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-3 text-[var(--chekin-color-brand-navy)] [&_svg]:text-[var(--chekin-neutral-400)]", children: [
|
|
3965
3965
|
icon,
|
|
3966
3966
|
/* @__PURE__ */ jsxs29("div", { children: [
|
|
3967
3967
|
/* @__PURE__ */ jsx38("div", { children: label }),
|
|
@@ -4466,11 +4466,11 @@ var statusStyles = {
|
|
|
4466
4466
|
color: "text-[var(--chekin-color-brand-blue)]"
|
|
4467
4467
|
},
|
|
4468
4468
|
[HALO_ICON_STATUS.success]: {
|
|
4469
|
-
background: "bg-[
|
|
4470
|
-
color: "text-[
|
|
4469
|
+
background: "bg-[var(--chekin-green-50)]",
|
|
4470
|
+
color: "text-[var(--chekin-green-600)]"
|
|
4471
4471
|
},
|
|
4472
4472
|
[HALO_ICON_STATUS.danger]: {
|
|
4473
|
-
background: "bg-[
|
|
4473
|
+
background: "bg-[var(--chekin-red-100)]",
|
|
4474
4474
|
color: "text-[var(--error-message-color)]"
|
|
4475
4475
|
}
|
|
4476
4476
|
};
|
|
@@ -4815,9 +4815,9 @@ var framedIconVariants = cva11("inline-flex items-center justify-center shrink-0
|
|
|
4815
4815
|
tone: {
|
|
4816
4816
|
neutral: "bg-[var(--chekin-color-surface-input-empty)] text-[var(--chekin-color-gray-1)]",
|
|
4817
4817
|
info: "bg-[var(--chekin-color-surface-pressed)] text-[var(--chekin-color-brand-blue)]",
|
|
4818
|
-
success: "bg-[
|
|
4819
|
-
warn: "bg-[
|
|
4820
|
-
error: "bg-[
|
|
4818
|
+
success: "bg-[var(--chekin-green-50)] text-[var(--chekin-green-700)]",
|
|
4819
|
+
warn: "bg-[var(--chekin-amber-200)] text-[var(--chekin-amber-700)]",
|
|
4820
|
+
error: "bg-[var(--chekin-red-150)] text-[var(--error-message-color)]"
|
|
4821
4821
|
}
|
|
4822
4822
|
},
|
|
4823
4823
|
defaultVariants: { size: "m", shape: "rounded", tone: "info" }
|
|
@@ -5902,7 +5902,7 @@ function LargeModal({
|
|
|
5902
5902
|
}
|
|
5903
5903
|
},
|
|
5904
5904
|
children: [
|
|
5905
|
-
/* @__PURE__ */ jsxs40(DialogHeader, { className: "flex-shrink-0 flex-row items-center justify-between rounded-t-2xl border-b border-[
|
|
5905
|
+
/* @__PURE__ */ jsxs40(DialogHeader, { className: "flex-shrink-0 flex-row items-center justify-between rounded-t-2xl border-b border-[var(--chekin-border-default)] bg-[var(--chekin-color-white)] p-6", children: [
|
|
5906
5906
|
/* @__PURE__ */ jsxs40("div", { children: [
|
|
5907
5907
|
/* @__PURE__ */ jsx66(DialogTitle, { className: "text-lg font-semibold text-[var(--chekin-color-brand-navy)]", children: header }),
|
|
5908
5908
|
subHeader && /* @__PURE__ */ jsx66("div", { children: subHeader })
|
|
@@ -5958,7 +5958,7 @@ var LinkInternal = forwardRef28(
|
|
|
5958
5958
|
className: cn(
|
|
5959
5959
|
"inline cursor-pointer text-[var(--button-link-text)] no-underline transition-all duration-75 ease-in-out",
|
|
5960
5960
|
!disabled && "hover:opacity-80 active:opacity-100",
|
|
5961
|
-
disabled && "cursor-not-allowed text-[
|
|
5961
|
+
disabled && "cursor-not-allowed text-[var(--chekin-neutral-400)]",
|
|
5962
5962
|
"[&_img]:inline [&_img]:align-middle [&_svg]:relative [&_svg]:bottom-[1px] [&_svg]:ml-1 [&_svg]:inline [&_svg]:align-middle",
|
|
5963
5963
|
className
|
|
5964
5964
|
),
|
|
@@ -6129,7 +6129,7 @@ function Modal({
|
|
|
6129
6129
|
onClick: handleClose,
|
|
6130
6130
|
className: cn(
|
|
6131
6131
|
"modal__close",
|
|
6132
|
-
"absolute right-4 top-4 z-10 rounded-full p-1 text-[var(--chekin-color-brand-blue)] hover:bg-[
|
|
6132
|
+
"absolute right-4 top-4 z-10 rounded-full p-1 text-[var(--chekin-color-brand-blue)] hover:bg-[var(--chekin-neutral-50)]"
|
|
6133
6133
|
),
|
|
6134
6134
|
"aria-label": "Close",
|
|
6135
6135
|
children: /* @__PURE__ */ jsx70(X4, { className: "h-5 w-5" })
|
|
@@ -6407,7 +6407,7 @@ var LegacySelectTrigger = React23.forwardRef(({ className, children, size = "sm"
|
|
|
6407
6407
|
{
|
|
6408
6408
|
ref,
|
|
6409
6409
|
className: cn(
|
|
6410
|
-
"flex h-full w-full items-center justify-between gap-2 rounded-lg border border-[
|
|
6410
|
+
"flex h-full w-full items-center justify-between gap-2 rounded-lg border border-[var(--chekin-gray-200)] bg-white px-3 py-2 text-start text-[var(--chekin-color-brand-navy)] shadow-[0_1px_2px_rgb(0_0_0_/_0.05)] shadow-black/5 outline-none",
|
|
6411
6411
|
"focus:border-[var(--chekin-color-brand-blue)] focus:shadow-[var(--chekin-shadow-focus)]",
|
|
6412
6412
|
"data-[placeholder]:text-[var(--chekin-color-gray-1)]",
|
|
6413
6413
|
"disabled:cursor-not-allowed disabled:opacity-50 [&>span]:min-w-0",
|
|
@@ -6454,7 +6454,7 @@ var LegacySelectContent = React23.forwardRef(({ className, children, position =
|
|
|
6454
6454
|
{
|
|
6455
6455
|
ref,
|
|
6456
6456
|
className: cn(
|
|
6457
|
-
"relative z-50 max-h-[min(24rem,var(--radix-select-content-available-height))] min-w-[8rem] overflow-hidden rounded-lg border border-[
|
|
6457
|
+
"relative z-50 max-h-[min(24rem,var(--radix-select-content-available-height))] min-w-[8rem] overflow-hidden rounded-lg border border-[var(--chekin-gray-200)] bg-white text-[var(--chekin-color-brand-navy)] shadow-lg shadow-black/5",
|
|
6458
6458
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
6459
6459
|
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
6460
6460
|
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
@@ -6501,8 +6501,8 @@ var LegacySelectItem = React23.forwardRef(({ className, children, size = "sm", .
|
|
|
6501
6501
|
ref,
|
|
6502
6502
|
className: cn(
|
|
6503
6503
|
"relative flex w-full cursor-default select-none items-center rounded-md py-1.5 pe-2 ps-8 outline-none",
|
|
6504
|
-
"focus:bg-[
|
|
6505
|
-
"data-[highlighted]:bg-[
|
|
6504
|
+
"focus:bg-[var(--chekin-gray-50)] focus:text-[var(--chekin-color-brand-navy)]",
|
|
6505
|
+
"data-[highlighted]:bg-[var(--chekin-gray-50)] data-[highlighted]:text-[var(--chekin-color-brand-navy)]",
|
|
6506
6506
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
6507
6507
|
selectSizeClassNames[size],
|
|
6508
6508
|
className
|
|
@@ -6519,7 +6519,7 @@ var LegacySelectSeparator = React23.forwardRef(({ className, ...props }, ref) =>
|
|
|
6519
6519
|
SelectPrimitive.Separator,
|
|
6520
6520
|
{
|
|
6521
6521
|
ref,
|
|
6522
|
-
className: cn("-mx-1 my-1 h-px bg-[
|
|
6522
|
+
className: cn("-mx-1 my-1 h-px bg-[var(--chekin-gray-100)]", className),
|
|
6523
6523
|
...props
|
|
6524
6524
|
}
|
|
6525
6525
|
));
|
|
@@ -6658,8 +6658,8 @@ var LegacyMultiSelectInner = ({
|
|
|
6658
6658
|
handleSelect(stringValue);
|
|
6659
6659
|
},
|
|
6660
6660
|
className: cn(
|
|
6661
|
-
"relative flex w-full cursor-pointer select-none items-center rounded-md py-1.5 pe-2 ps-8 text-sm outline-none hover:bg-[
|
|
6662
|
-
selected && "bg-[
|
|
6661
|
+
"relative flex w-full cursor-pointer select-none items-center rounded-md py-1.5 pe-2 ps-8 text-sm outline-none hover:bg-[var(--chekin-gray-50)] hover:text-[var(--chekin-color-brand-navy)] data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
6662
|
+
selected && "bg-[var(--chekin-gray-50)]"
|
|
6663
6663
|
),
|
|
6664
6664
|
children: [
|
|
6665
6665
|
/* @__PURE__ */ jsx77("span", { className: "absolute start-2 flex size-3.5 items-center justify-center", children: selected && /* @__PURE__ */ jsx77(CheckIcon2, { size: 16, strokeWidth: 2 }) }),
|
|
@@ -6940,7 +6940,7 @@ var PopoverContent = React24.forwardRef(({ className, sideOffset = 4, align = "c
|
|
|
6940
6940
|
sideOffset,
|
|
6941
6941
|
align,
|
|
6942
6942
|
className: cn(
|
|
6943
|
-
"z-50 w-72 rounded-lg border border-[
|
|
6943
|
+
"z-50 w-72 rounded-lg border border-[var(--chekin-gray-200)] bg-[var(--chekin-color-white)] p-4 shadow-[0_10px_15px_-3px_rgb(0_0_0_/_0.1),0_4px_6px_-4px_rgb(0_0_0_/_0.1)] outline-none",
|
|
6944
6944
|
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
6945
6945
|
"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
6946
6946
|
className
|
|
@@ -6972,7 +6972,7 @@ function PopoverWithTooltip({
|
|
|
6972
6972
|
align: "center",
|
|
6973
6973
|
sideOffset: 4,
|
|
6974
6974
|
className: cn(
|
|
6975
|
-
"z-50 w-72 rounded-lg border border-[
|
|
6975
|
+
"z-50 w-72 rounded-lg border border-[var(--chekin-gray-200)] bg-white p-4 shadow-lg outline-none",
|
|
6976
6976
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
6977
6977
|
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
6978
6978
|
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
@@ -7259,13 +7259,13 @@ var RadioCardsGroup = forwardRef36(
|
|
|
7259
7259
|
{
|
|
7260
7260
|
className: cn(
|
|
7261
7261
|
"radio-card",
|
|
7262
|
-
"relative box-border flex min-h-[168px] w-[352px] items-start gap-4 rounded-lg border border-[
|
|
7262
|
+
"relative box-border flex min-h-[168px] w-[352px] items-start gap-4 rounded-lg border border-[var(--chekin-border-default)] bg-white p-4 pl-14",
|
|
7263
7263
|
!disabled && !loading && !readOnly && "cursor-pointer hover:border-[var(--brand-color,var(--chekin-color-brand-blue))]",
|
|
7264
7264
|
isSelected && "border-2 border-[var(--brand-color,var(--chekin-color-brand-blue))] bg-[var(--chekin-color-surface-autocomplete)]",
|
|
7265
7265
|
disabled && "cursor-not-allowed opacity-50",
|
|
7266
7266
|
loading && "cursor-progress opacity-50",
|
|
7267
7267
|
readOnly && "cursor-default",
|
|
7268
|
-
error && "border-[
|
|
7268
|
+
error && "border-[var(--chekin-red-500)]",
|
|
7269
7269
|
cardClassName
|
|
7270
7270
|
),
|
|
7271
7271
|
children: [
|
|
@@ -7297,7 +7297,7 @@ var RadioCardsGroup = forwardRef36(
|
|
|
7297
7297
|
}
|
|
7298
7298
|
}
|
|
7299
7299
|
),
|
|
7300
|
-
error && /* @__PURE__ */ jsx85("div", { className: "mt-2 text-left text-sm text-[
|
|
7300
|
+
error && /* @__PURE__ */ jsx85("div", { className: "mt-2 text-left text-sm text-[var(--chekin-red-500)]", children: error })
|
|
7301
7301
|
] });
|
|
7302
7302
|
}
|
|
7303
7303
|
);
|
|
@@ -7307,13 +7307,13 @@ var MemoizedRadioCardsGroup = memo4(RadioCardsGroup);
|
|
|
7307
7307
|
import { jsx as jsx86, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
7308
7308
|
var getRatingColor = (score, maxScore) => {
|
|
7309
7309
|
const percentage = score / maxScore * 100;
|
|
7310
|
-
if (percentage === 0) return "
|
|
7311
|
-
if (percentage <= 20) return "
|
|
7312
|
-
if (percentage <= 40) return "
|
|
7313
|
-
if (percentage <= 50) return "
|
|
7314
|
-
if (percentage <= 60) return "
|
|
7315
|
-
if (percentage <= 80) return "
|
|
7316
|
-
return "
|
|
7310
|
+
if (percentage === 0) return "var(--chekin-rating-0)";
|
|
7311
|
+
if (percentage <= 20) return "var(--chekin-rating-1)";
|
|
7312
|
+
if (percentage <= 40) return "var(--chekin-rating-2)";
|
|
7313
|
+
if (percentage <= 50) return "var(--chekin-rating-3)";
|
|
7314
|
+
if (percentage <= 60) return "var(--chekin-rating-4)";
|
|
7315
|
+
if (percentage <= 80) return "var(--chekin-rating-5)";
|
|
7316
|
+
return "var(--chekin-rating-6)";
|
|
7317
7317
|
};
|
|
7318
7318
|
function RatingProgress({
|
|
7319
7319
|
label,
|
|
@@ -7534,7 +7534,7 @@ function RatingStars({
|
|
|
7534
7534
|
description,
|
|
7535
7535
|
className,
|
|
7536
7536
|
starClassName,
|
|
7537
|
-
filledColor = "
|
|
7537
|
+
filledColor = "var(--chekin-amber-500)",
|
|
7538
7538
|
emptyColor = "var(--chekin-color-gray-3)"
|
|
7539
7539
|
}) {
|
|
7540
7540
|
const { t } = useTranslation13();
|
|
@@ -7614,7 +7614,7 @@ function SearchButton({ onClick, className, icon, ariaLabel }) {
|
|
|
7614
7614
|
{
|
|
7615
7615
|
onClick,
|
|
7616
7616
|
className: cn(
|
|
7617
|
-
"p-1.5 text-[
|
|
7617
|
+
"p-1.5 text-[var(--chekin-neutral-500)] hover:text-[var(--chekin-color-brand-blue)]",
|
|
7618
7618
|
className
|
|
7619
7619
|
),
|
|
7620
7620
|
"data-testid": "search-button",
|
|
@@ -7761,7 +7761,7 @@ var sectionTagVariants = cva12(
|
|
|
7761
7761
|
{
|
|
7762
7762
|
variants: {
|
|
7763
7763
|
color: {
|
|
7764
|
-
green: "bg-[
|
|
7764
|
+
green: "bg-[var(--chekin-green-800)]",
|
|
7765
7765
|
blue: "bg-[var(--chekin-color-brand-blue)]"
|
|
7766
7766
|
}
|
|
7767
7767
|
},
|
|
@@ -8756,7 +8756,7 @@ import { useTranslation as useTranslation16 } from "react-i18next";
|
|
|
8756
8756
|
import ReactSignatureCanvas from "react-signature-canvas";
|
|
8757
8757
|
import { jsx as jsx105, jsxs as jsxs64 } from "react/jsx-runtime";
|
|
8758
8758
|
var SIGNATURE_PROPS = {
|
|
8759
|
-
penColor: "
|
|
8759
|
+
penColor: "var(--chekin-blue-900)",
|
|
8760
8760
|
minWidth: 1.5,
|
|
8761
8761
|
maxWidth: 2,
|
|
8762
8762
|
dotSize: 2,
|
|
@@ -10287,7 +10287,7 @@ function ThreeDotsLoader({
|
|
|
10287
10287
|
"div",
|
|
10288
10288
|
{
|
|
10289
10289
|
className: cn(
|
|
10290
|
-
"flex items-center justify-center gap-x-[13px] [&>div]:text-sm [&>div]:font-bold [&>div]:uppercase [&>div]:text-[
|
|
10290
|
+
"flex items-center justify-center gap-x-[13px] [&>div]:text-sm [&>div]:font-bold [&>div]:uppercase [&>div]:text-[var(--chekin-neutral-500)] [&>div]:opacity-50",
|
|
10291
10291
|
className
|
|
10292
10292
|
),
|
|
10293
10293
|
role: "progressbar",
|
|
@@ -10318,15 +10318,15 @@ function UploadedFilesList({
|
|
|
10318
10318
|
return /* @__PURE__ */ jsx130("div", { className: cn("flex flex-wrap gap-2.5", className), children: files.map((file, index) => /* @__PURE__ */ jsxs78(
|
|
10319
10319
|
"div",
|
|
10320
10320
|
{
|
|
10321
|
-
className: "flex cursor-default items-center gap-2 rounded border border-[
|
|
10321
|
+
className: "flex cursor-default items-center gap-2 rounded border border-[var(--chekin-neutral-400)] bg-[var(--chekin-neutral-75)] py-1.5 pl-3 pr-1.5",
|
|
10322
10322
|
children: [
|
|
10323
|
-
/* @__PURE__ */ jsx130("span", { className: "text-nowrap text-sm font-medium leading-5 text-[
|
|
10323
|
+
/* @__PURE__ */ jsx130("span", { className: "text-nowrap text-sm font-medium leading-5 text-[var(--chekin-blue-900)]", children: file.name }),
|
|
10324
10324
|
/* @__PURE__ */ jsx130(
|
|
10325
10325
|
"button",
|
|
10326
10326
|
{
|
|
10327
10327
|
type: "button",
|
|
10328
10328
|
onClick: () => onRemoveFile(file.name),
|
|
10329
|
-
className: "flex h-[18px] w-[18px] shrink-0 cursor-pointer items-center justify-center rounded bg-[
|
|
10329
|
+
className: "flex h-[18px] w-[18px] shrink-0 cursor-pointer items-center justify-center rounded bg-[var(--chekin-neutral-600)] transition-all hover:shadow-md active:opacity-95",
|
|
10330
10330
|
"aria-label": `Remove ${file.name}`,
|
|
10331
10331
|
children: /* @__PURE__ */ jsx130(X6, { className: "h-3.5 w-3.5 text-white", strokeWidth: 3 })
|
|
10332
10332
|
}
|
|
@@ -11855,12 +11855,12 @@ function ResponsiveDropdown({
|
|
|
11855
11855
|
] });
|
|
11856
11856
|
}
|
|
11857
11857
|
|
|
11858
|
-
// src/
|
|
11858
|
+
// src/fields/input/Input.tsx
|
|
11859
11859
|
import * as React44 from "react";
|
|
11860
11860
|
import { Eye, Minus as Minus4, Plus as Plus3, X as X9 } from "lucide-react";
|
|
11861
11861
|
import { useTranslation as useTranslation25 } from "react-i18next";
|
|
11862
11862
|
|
|
11863
|
-
// src/
|
|
11863
|
+
// src/fields/input/useInputValueState.ts
|
|
11864
11864
|
import * as React43 from "react";
|
|
11865
11865
|
var isEmptyValue = (value) => {
|
|
11866
11866
|
if (value === void 0 || value === null) return true;
|
|
@@ -11925,7 +11925,7 @@ function useInputValueState({
|
|
|
11925
11925
|
};
|
|
11926
11926
|
}
|
|
11927
11927
|
|
|
11928
|
-
// src/
|
|
11928
|
+
// src/fields/_fieldset/Fieldset.tsx
|
|
11929
11929
|
import { Fragment as Fragment15, jsx as jsx141, jsxs as jsxs88 } from "react/jsx-runtime";
|
|
11930
11930
|
function Fieldset({
|
|
11931
11931
|
isActivated,
|
|
@@ -11954,7 +11954,7 @@ function Fieldset({
|
|
|
11954
11954
|
className: cn(
|
|
11955
11955
|
"absolute box-border inline-flex max-w-full cursor-text items-center pl-[3px] pr-5 transition-all duration-100 ease-in",
|
|
11956
11956
|
"left-[13px] text-[var(--chekin-color-gray-1)]",
|
|
11957
|
-
isEmpty && !isFocused ? "top-[
|
|
11957
|
+
isEmpty && !isFocused ? "top-[var(--field-label-top)]" : "top-[var(--field-label-raised-top)] !px-1",
|
|
11958
11958
|
isFocused && "text-[var(--chekin-color-brand-blue)]",
|
|
11959
11959
|
raised && invalid && "text-[var(--error-message-color)]",
|
|
11960
11960
|
readOnly && "cursor-default",
|
|
@@ -12027,7 +12027,7 @@ function Fieldset({
|
|
|
12027
12027
|
] });
|
|
12028
12028
|
}
|
|
12029
12029
|
|
|
12030
|
-
// src/
|
|
12030
|
+
// src/fields/input/Input.tsx
|
|
12031
12031
|
import { jsx as jsx142, jsxs as jsxs89 } from "react/jsx-runtime";
|
|
12032
12032
|
var Input = React44.forwardRef(
|
|
12033
12033
|
({
|
|
@@ -12205,7 +12205,7 @@ var Input = React44.forwardRef(
|
|
|
12205
12205
|
className: cn(
|
|
12206
12206
|
"input__control",
|
|
12207
12207
|
"m-0 box-border h-12 w-full rounded-[6px] border-0 px-4 text-[16px] font-medium leading-5 text-[var(--chekin-color-brand-navy)] outline-none transition-colors duration-200 [text-overflow:ellipsis] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none",
|
|
12208
|
-
"placeholder:font-
|
|
12208
|
+
"placeholder:text-[length:var(--field-placeholder-font-size)] placeholder:font-[var(--field-placeholder-font-weight)] placeholder:text-[var(--chekin-color-gray-1)] placeholder:opacity-100",
|
|
12209
12209
|
isEmpty && !isFocused ? "bg-[var(--empty-field-background)]" : "bg-transparent",
|
|
12210
12210
|
isEmpty && "text-[var(--chekin-color-gray-1)]",
|
|
12211
12211
|
inputType === "password" && "[&:not(:placeholder-shown)]:font-bold [&:not(:placeholder-shown)]:tracking-[2px]",
|
|
@@ -12227,7 +12227,7 @@ var Input = React44.forwardRef(
|
|
|
12227
12227
|
type: "button",
|
|
12228
12228
|
onClick: onReset,
|
|
12229
12229
|
disabled,
|
|
12230
|
-
className: "input__reset-button absolute right-0 top-0 flex h-full w-10 items-center justify-center border-0 bg-transparent p-0 text-[
|
|
12230
|
+
className: "input__reset-button absolute right-0 top-0 flex h-full w-10 items-center justify-center border-0 bg-transparent p-0 text-[var(--chekin-neutral-500)] hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50",
|
|
12231
12231
|
"aria-label": t("reset"),
|
|
12232
12232
|
children: /* @__PURE__ */ jsx142(X9, { size: 14 })
|
|
12233
12233
|
}
|
|
@@ -12245,7 +12245,7 @@ var Input = React44.forwardRef(
|
|
|
12245
12245
|
size: 20,
|
|
12246
12246
|
className: cn(
|
|
12247
12247
|
"input__password-icon",
|
|
12248
|
-
isPasswordRevealed ? "text-[
|
|
12248
|
+
isPasswordRevealed ? "text-[var(--chekin-airbnb-pink)]" : "text-[var(--chekin-color-gray-2)]"
|
|
12249
12249
|
)
|
|
12250
12250
|
}
|
|
12251
12251
|
)
|
|
@@ -12303,7 +12303,7 @@ var Input = React44.forwardRef(
|
|
|
12303
12303
|
);
|
|
12304
12304
|
Input.displayName = "Input";
|
|
12305
12305
|
|
|
12306
|
-
// src/
|
|
12306
|
+
// src/fields/copy-input/CopyInput.tsx
|
|
12307
12307
|
import * as React45 from "react";
|
|
12308
12308
|
import { jsx as jsx143 } from "react/jsx-runtime";
|
|
12309
12309
|
var CopyInput = React45.forwardRef(
|
|
@@ -12332,11 +12332,11 @@ var CopyInput = React45.forwardRef(
|
|
|
12332
12332
|
);
|
|
12333
12333
|
CopyInput.displayName = "CopyInput";
|
|
12334
12334
|
|
|
12335
|
-
// src/
|
|
12335
|
+
// src/fields/phone-input/PhoneInput.tsx
|
|
12336
12336
|
import * as React51 from "react";
|
|
12337
12337
|
import { useTranslation as useTranslation33 } from "react-i18next";
|
|
12338
12338
|
|
|
12339
|
-
// src/
|
|
12339
|
+
// src/fields/_select-internals/SelectFieldShell.tsx
|
|
12340
12340
|
import { useTranslation as useTranslation26 } from "react-i18next";
|
|
12341
12341
|
import { jsx as jsx144, jsxs as jsxs90 } from "react/jsx-runtime";
|
|
12342
12342
|
var FOCUSABLE_TRIGGER_SELECTOR = 'input:not([type="hidden"]):not([disabled]):not([readonly]), button:not([disabled])';
|
|
@@ -12410,11 +12410,11 @@ function SelectFieldShell({
|
|
|
12410
12410
|
);
|
|
12411
12411
|
}
|
|
12412
12412
|
|
|
12413
|
-
// src/
|
|
12413
|
+
// src/fields/_select-internals/SelectMenu.tsx
|
|
12414
12414
|
import * as React46 from "react";
|
|
12415
12415
|
import { useTranslation as useTranslation27 } from "react-i18next";
|
|
12416
12416
|
|
|
12417
|
-
// src/
|
|
12417
|
+
// src/fields/_select-internals/utils.ts
|
|
12418
12418
|
function isOptionGroup(item) {
|
|
12419
12419
|
if (!item || typeof item !== "object") return false;
|
|
12420
12420
|
if ("value" in item) return false;
|
|
@@ -12504,7 +12504,7 @@ function countriesFilter(option, inputValue) {
|
|
|
12504
12504
|
return false;
|
|
12505
12505
|
}
|
|
12506
12506
|
|
|
12507
|
-
// src/
|
|
12507
|
+
// src/fields/_select-internals/slots/DefaultOption.tsx
|
|
12508
12508
|
import { Check as Check6 } from "lucide-react";
|
|
12509
12509
|
import { jsx as jsx145, jsxs as jsxs91 } from "react/jsx-runtime";
|
|
12510
12510
|
function DefaultOption(props) {
|
|
@@ -12567,7 +12567,7 @@ function DefaultOption(props) {
|
|
|
12567
12567
|
);
|
|
12568
12568
|
}
|
|
12569
12569
|
|
|
12570
|
-
// src/
|
|
12570
|
+
// src/fields/_select-internals/SelectMenu.tsx
|
|
12571
12571
|
import { jsx as jsx146, jsxs as jsxs92 } from "react/jsx-runtime";
|
|
12572
12572
|
function buildMenuEntries(groupedOptions, options, formatGroupLabel, listboxId) {
|
|
12573
12573
|
if (!groupedOptions || !groupedOptions.some((item) => isOptionGroup(item))) {
|
|
@@ -12740,7 +12740,7 @@ function SelectMenu({
|
|
|
12740
12740
|
);
|
|
12741
12741
|
}
|
|
12742
12742
|
|
|
12743
|
-
// src/
|
|
12743
|
+
// src/fields/_select-internals/SelectMenuPanel.tsx
|
|
12744
12744
|
import { useTranslation as useTranslation28 } from "react-i18next";
|
|
12745
12745
|
import { jsx as jsx147, jsxs as jsxs93 } from "react/jsx-runtime";
|
|
12746
12746
|
function SelectMenuPanel({
|
|
@@ -12804,7 +12804,7 @@ function SelectMenuPanel({
|
|
|
12804
12804
|
);
|
|
12805
12805
|
}
|
|
12806
12806
|
|
|
12807
|
-
// src/
|
|
12807
|
+
// src/fields/_select-internals/SelectSearchInput.tsx
|
|
12808
12808
|
import { Search as Search3 } from "lucide-react";
|
|
12809
12809
|
import { jsx as jsx148, jsxs as jsxs94 } from "react/jsx-runtime";
|
|
12810
12810
|
function SelectSearchInput({
|
|
@@ -12842,7 +12842,7 @@ function SelectSearchInput({
|
|
|
12842
12842
|
] }) });
|
|
12843
12843
|
}
|
|
12844
12844
|
|
|
12845
|
-
// src/
|
|
12845
|
+
// src/fields/_select-internals/SelectTrigger.tsx
|
|
12846
12846
|
import { ChevronDown as ChevronDown2 } from "lucide-react";
|
|
12847
12847
|
import { jsx as jsx149, jsxs as jsxs95 } from "react/jsx-runtime";
|
|
12848
12848
|
function SelectTrigger({
|
|
@@ -12916,7 +12916,7 @@ function SelectTrigger({
|
|
|
12916
12916
|
);
|
|
12917
12917
|
}
|
|
12918
12918
|
|
|
12919
|
-
// src/
|
|
12919
|
+
// src/fields/_select-internals/ComboboxTrigger.tsx
|
|
12920
12920
|
import { Search as Search4, SquareX as SquareX2 } from "lucide-react";
|
|
12921
12921
|
import { useTranslation as useTranslation29 } from "react-i18next";
|
|
12922
12922
|
import { jsx as jsx150, jsxs as jsxs96 } from "react/jsx-runtime";
|
|
@@ -12988,13 +12988,13 @@ function ComboboxTrigger({
|
|
|
12988
12988
|
),
|
|
12989
12989
|
children: [
|
|
12990
12990
|
leftIcon && /* @__PURE__ */ jsx150("span", { className: "pointer-events-none absolute left-0 top-0 flex h-full max-w-10 items-center justify-center text-[var(--chekin-color-gray-2)]", children: /* @__PURE__ */ jsx150("span", { className: "flex h-full w-10 items-center justify-center", children: leftIcon }) }),
|
|
12991
|
-
!leftIcon && searchable && (isFocused || isOpen) && /* @__PURE__ */ jsx150("span", { className: "pointer-events-none absolute left-0 top-0 flex h-full max-w-10 items-center justify-center text-[var(--chekin-color-gray-2)]", children: /* @__PURE__ */ jsx150("span", { className: "flex h-full w-10 items-center justify-center", children: /* @__PURE__ */ jsx150(Search4, { size: 16, "aria-hidden": "true" }) }) }),
|
|
12991
|
+
!leftIcon && !isMulti && searchable && (isFocused || isOpen) && /* @__PURE__ */ jsx150("span", { className: "pointer-events-none absolute left-0 top-0 flex h-full max-w-10 items-center justify-center text-[var(--chekin-color-gray-2)]", children: /* @__PURE__ */ jsx150("span", { className: "flex h-full w-10 items-center justify-center", children: /* @__PURE__ */ jsx150(Search4, { size: 16, "aria-hidden": "true" }) }) }),
|
|
12992
12992
|
/* @__PURE__ */ jsxs96(
|
|
12993
12993
|
"div",
|
|
12994
12994
|
{
|
|
12995
12995
|
className: cn(
|
|
12996
12996
|
"flex min-w-0 flex-1 items-center gap-2 py-[10px]",
|
|
12997
|
-
leftIcon || searchable && (isFocused || isOpen) ? "pl-10" : "pl-4",
|
|
12997
|
+
leftIcon || searchable && !isMulti && (isFocused || isOpen) ? "pl-10" : "pl-4",
|
|
12998
12998
|
isMulti && "flex-wrap"
|
|
12999
12999
|
),
|
|
13000
13000
|
children: [
|
|
@@ -13035,7 +13035,7 @@ function ComboboxTrigger({
|
|
|
13035
13035
|
"aria-controls": listboxId,
|
|
13036
13036
|
"aria-activedescendant": activeOptionId,
|
|
13037
13037
|
className: cn(
|
|
13038
|
-
"col-start-1 row-start-1 m-0 box-border w-full min-w-0 border-0 bg-transparent p-0 text-[16px] font-medium leading-5 text-[var(--chekin-color-brand-navy)] outline-none placeholder:text-[var(--chekin-color-gray-1)]",
|
|
13038
|
+
"col-start-1 row-start-1 m-0 box-border w-full min-w-0 border-0 bg-transparent p-0 text-[16px] font-medium leading-5 text-[var(--chekin-color-brand-navy)] outline-none placeholder:text-[length:var(--field-placeholder-font-size)] placeholder:font-[var(--field-placeholder-font-weight)] placeholder:text-[var(--chekin-color-gray-1)]",
|
|
13039
13039
|
isMulti ? "min-w-[40px]" : "text-ellipsis",
|
|
13040
13040
|
readOnly && !disabled && !loading && "cursor-default",
|
|
13041
13041
|
disabled && !loading && "cursor-not-allowed",
|
|
@@ -13056,9 +13056,17 @@ function ComboboxTrigger({
|
|
|
13056
13056
|
{
|
|
13057
13057
|
type: "button",
|
|
13058
13058
|
onClick: onClear,
|
|
13059
|
-
className: "flex h-5 w-5 items-center justify-center rounded-[3px] border-0 bg-transparent p-0 text-[
|
|
13059
|
+
className: "flex h-5 w-5 items-center justify-center rounded-[3px] border-0 bg-transparent p-0 text-[var(--chekin-neutral-500)] hover:shadow-[0_3px_3px_#0f477734]",
|
|
13060
13060
|
"aria-label": clearLabel,
|
|
13061
|
-
children: /* @__PURE__ */ jsx150(
|
|
13061
|
+
children: /* @__PURE__ */ jsx150(
|
|
13062
|
+
SquareX2,
|
|
13063
|
+
{
|
|
13064
|
+
size: 15,
|
|
13065
|
+
fill: "var(--chekin-neutral-500)",
|
|
13066
|
+
color: "#f8f8f8",
|
|
13067
|
+
strokeWidth: 1.8
|
|
13068
|
+
}
|
|
13069
|
+
)
|
|
13062
13070
|
}
|
|
13063
13071
|
),
|
|
13064
13072
|
!hideIndicator && /* @__PURE__ */ jsx150(
|
|
@@ -13076,7 +13084,7 @@ function ComboboxTrigger({
|
|
|
13076
13084
|
);
|
|
13077
13085
|
}
|
|
13078
13086
|
|
|
13079
|
-
// src/
|
|
13087
|
+
// src/fields/_select-internals/useSelectIds.ts
|
|
13080
13088
|
import * as React47 from "react";
|
|
13081
13089
|
function useSelectIds({
|
|
13082
13090
|
name,
|
|
@@ -13111,7 +13119,7 @@ function useSelectIds({
|
|
|
13111
13119
|
};
|
|
13112
13120
|
}
|
|
13113
13121
|
|
|
13114
|
-
// src/
|
|
13122
|
+
// src/fields/_select-internals/useSelectMenuState.ts
|
|
13115
13123
|
import * as React48 from "react";
|
|
13116
13124
|
function useSelectMenuState({
|
|
13117
13125
|
isBlocked,
|
|
@@ -13160,7 +13168,7 @@ function useSelectMenuState({
|
|
|
13160
13168
|
return { containerRef, isOpen, openMenu, closeMenu, toggleMenu, setIsOpen };
|
|
13161
13169
|
}
|
|
13162
13170
|
|
|
13163
|
-
// src/
|
|
13171
|
+
// src/fields/_select-internals/useSelectState.ts
|
|
13164
13172
|
import * as React49 from "react";
|
|
13165
13173
|
function resolveValueLabel(option, getValueLabel) {
|
|
13166
13174
|
if (!option) return "";
|
|
@@ -13210,11 +13218,11 @@ function useSelectState(params) {
|
|
|
13210
13218
|
[singleSelected, getValueLabel]
|
|
13211
13219
|
);
|
|
13212
13220
|
const isSearchOnlyInput = searchable && (isMulti || Boolean(isSearchInDropdown));
|
|
13213
|
-
const isInputControlled = controlledInputValue
|
|
13221
|
+
const isInputControlled = Boolean(controlledInputValue);
|
|
13214
13222
|
const [internalInputValue, setInternalInputValue] = React49.useState(
|
|
13215
13223
|
searchable && !isSearchOnlyInput ? valueLabel : ""
|
|
13216
13224
|
);
|
|
13217
|
-
const inputValue = isInputControlled ? controlledInputValue : internalInputValue;
|
|
13225
|
+
const inputValue = isInputControlled ? controlledInputValue ?? "" : internalInputValue;
|
|
13218
13226
|
const setInputValue = React49.useCallback(
|
|
13219
13227
|
(next) => {
|
|
13220
13228
|
if (!isInputControlled) setInternalInputValue(next);
|
|
@@ -13225,7 +13233,7 @@ function useSelectState(params) {
|
|
|
13225
13233
|
const isBlocked = Boolean(disabled) || Boolean(loading) || Boolean(readOnly);
|
|
13226
13234
|
const hasInvalidState = Boolean(error);
|
|
13227
13235
|
const errorMessage = typeof error === "string" ? error : void 0;
|
|
13228
|
-
const { containerRef, isOpen,
|
|
13236
|
+
const { containerRef, isOpen, closeMenu, setIsOpen } = useSelectMenuState({
|
|
13229
13237
|
isBlocked,
|
|
13230
13238
|
isMobile: isMobile3,
|
|
13231
13239
|
onOutsideClick: () => setIsFocused(false),
|
|
@@ -13233,19 +13241,18 @@ function useSelectState(params) {
|
|
|
13233
13241
|
onMenuOpenChange
|
|
13234
13242
|
});
|
|
13235
13243
|
const ids = useSelectIds({ name, hasValue, error, hideErrorMessage });
|
|
13236
|
-
const { listboxId, getOptionId: getOptionId2 } = ids;
|
|
13237
13244
|
React49.useEffect(() => {
|
|
13238
13245
|
if (!searchable) return;
|
|
13239
13246
|
if (isSearchOnlyInput) return;
|
|
13240
13247
|
if (!isFocused) setInputValue(valueLabel);
|
|
13241
|
-
}, [valueLabel, isFocused, isSearchOnlyInput, searchable]);
|
|
13248
|
+
}, [valueLabel, isFocused, isSearchOnlyInput, searchable, setInputValue]);
|
|
13242
13249
|
React49.useEffect(() => {
|
|
13243
13250
|
if (!isSearchOnlyInput) return;
|
|
13244
13251
|
if (!isOpen) {
|
|
13245
13252
|
setInputValue("");
|
|
13246
13253
|
setHighlightedIndex(-1);
|
|
13247
13254
|
}
|
|
13248
|
-
}, [isOpen, isSearchOnlyInput]);
|
|
13255
|
+
}, [isOpen, isSearchOnlyInput, setInputValue]);
|
|
13249
13256
|
const trimmedInput = inputValue.trim();
|
|
13250
13257
|
const isFiltering = searchable && (isSearchOnlyInput ? trimmedInput.length > 0 : trimmedInput.length > 0 && trimmedInput.toLowerCase() !== valueLabel.toLowerCase());
|
|
13251
13258
|
const filteredOptions = React49.useMemo(() => {
|
|
@@ -13316,16 +13323,17 @@ function useSelectState(params) {
|
|
|
13316
13323
|
inputRef.current?.blur();
|
|
13317
13324
|
},
|
|
13318
13325
|
[
|
|
13319
|
-
isMulti,
|
|
13320
13326
|
isOptionDisabled,
|
|
13321
|
-
|
|
13322
|
-
selectedOptions,
|
|
13327
|
+
isMulti,
|
|
13323
13328
|
onSelectionChange,
|
|
13324
|
-
|
|
13325
|
-
|
|
13326
|
-
getValueLabel,
|
|
13329
|
+
setInputValue,
|
|
13330
|
+
searchable,
|
|
13327
13331
|
isSearchInDropdown,
|
|
13328
|
-
|
|
13332
|
+
getValueLabel,
|
|
13333
|
+
setIsOpen,
|
|
13334
|
+
isValueSelected,
|
|
13335
|
+
selectedOptions,
|
|
13336
|
+
closeMenuOnSelect
|
|
13329
13337
|
]
|
|
13330
13338
|
);
|
|
13331
13339
|
const removeOption = React49.useCallback(
|
|
@@ -13347,7 +13355,7 @@ function useSelectState(params) {
|
|
|
13347
13355
|
setInputValue("");
|
|
13348
13356
|
inputRef.current?.focus();
|
|
13349
13357
|
},
|
|
13350
|
-
[isBlocked, onSelectionChange]
|
|
13358
|
+
[isBlocked, onSelectionChange, setInputValue]
|
|
13351
13359
|
);
|
|
13352
13360
|
const createOption = React49.useCallback(() => {
|
|
13353
13361
|
if (!canCreateNewOption) return;
|
|
@@ -13377,7 +13385,8 @@ function useSelectState(params) {
|
|
|
13377
13385
|
setIsOpen,
|
|
13378
13386
|
getValueLabel,
|
|
13379
13387
|
isSearchInDropdown,
|
|
13380
|
-
searchable
|
|
13388
|
+
searchable,
|
|
13389
|
+
setInputValue
|
|
13381
13390
|
]);
|
|
13382
13391
|
const handleInputChange = React49.useCallback(
|
|
13383
13392
|
(event) => {
|
|
@@ -13418,7 +13427,7 @@ function useSelectState(params) {
|
|
|
13418
13427
|
if (searchable && !isSearchOnlyInput) setInputValue(valueLabel);
|
|
13419
13428
|
onBlur?.(event);
|
|
13420
13429
|
},
|
|
13421
|
-
[containerRef, isSearchOnlyInput, searchable, valueLabel, onBlur]
|
|
13430
|
+
[containerRef, isSearchOnlyInput, searchable, valueLabel, onBlur, setInputValue]
|
|
13422
13431
|
);
|
|
13423
13432
|
const handleInputKeyDown = React49.useCallback(
|
|
13424
13433
|
(event) => {
|
|
@@ -13493,17 +13502,14 @@ function useSelectState(params) {
|
|
|
13493
13502
|
canCreateNewOption,
|
|
13494
13503
|
createOption,
|
|
13495
13504
|
valueLabel,
|
|
13496
|
-
searchable
|
|
13505
|
+
searchable,
|
|
13506
|
+
setInputValue
|
|
13497
13507
|
]
|
|
13498
13508
|
);
|
|
13499
13509
|
const isEmpty = !hasValue && !inputValue;
|
|
13500
13510
|
React49.useDebugValue({ isOpen, isMulti, highlightedIndex, selectedOptions });
|
|
13501
13511
|
return {
|
|
13502
|
-
// ids
|
|
13503
13512
|
ids,
|
|
13504
|
-
listboxId,
|
|
13505
|
-
getOptionId: getOptionId2,
|
|
13506
|
-
// refs
|
|
13507
13513
|
containerRef,
|
|
13508
13514
|
inputRef,
|
|
13509
13515
|
mobileSearchInputRef,
|
|
@@ -13511,26 +13517,16 @@ function useSelectState(params) {
|
|
|
13511
13517
|
registerOptionRef: (index, node) => {
|
|
13512
13518
|
optionRefs.current[index] = node;
|
|
13513
13519
|
},
|
|
13514
|
-
// menu
|
|
13515
13520
|
isOpen,
|
|
13516
|
-
openMenu,
|
|
13517
13521
|
closeMenu,
|
|
13518
|
-
setIsOpen,
|
|
13519
|
-
// input
|
|
13520
13522
|
inputValue,
|
|
13521
|
-
setInputValue,
|
|
13522
13523
|
trimmedInput,
|
|
13523
13524
|
valueLabel,
|
|
13524
|
-
// options
|
|
13525
13525
|
filteredOptions,
|
|
13526
|
-
isFiltering,
|
|
13527
|
-
// highlight
|
|
13528
13526
|
highlightedIndex,
|
|
13529
13527
|
setHighlightedIndex,
|
|
13530
|
-
// focus
|
|
13531
13528
|
isFocused,
|
|
13532
13529
|
setIsFocused,
|
|
13533
|
-
// flags
|
|
13534
13530
|
isBlocked,
|
|
13535
13531
|
hasValue,
|
|
13536
13532
|
isEmpty,
|
|
@@ -13539,14 +13535,10 @@ function useSelectState(params) {
|
|
|
13539
13535
|
isMobile: isMobile3,
|
|
13540
13536
|
inMenuSearchVisible,
|
|
13541
13537
|
canCreateNewOption,
|
|
13542
|
-
// selection helpers
|
|
13543
|
-
isValueSelected,
|
|
13544
|
-
// actions
|
|
13545
13538
|
selectOption,
|
|
13546
13539
|
removeOption,
|
|
13547
13540
|
clearSelection,
|
|
13548
13541
|
createOption,
|
|
13549
|
-
// handlers
|
|
13550
13542
|
handleInputChange,
|
|
13551
13543
|
handleInputFocus,
|
|
13552
13544
|
handleTriggerFocus,
|
|
@@ -13556,7 +13548,7 @@ function useSelectState(params) {
|
|
|
13556
13548
|
};
|
|
13557
13549
|
}
|
|
13558
13550
|
|
|
13559
|
-
// src/
|
|
13551
|
+
// src/fields/_select-internals/slots/DefaultMultiValueChip.tsx
|
|
13560
13552
|
import { X as X10 } from "lucide-react";
|
|
13561
13553
|
import { useTranslation as useTranslation30 } from "react-i18next";
|
|
13562
13554
|
import { jsx as jsx151, jsxs as jsxs97 } from "react/jsx-runtime";
|
|
@@ -13585,7 +13577,7 @@ function DefaultMultiValueChip({
|
|
|
13585
13577
|
] });
|
|
13586
13578
|
}
|
|
13587
13579
|
|
|
13588
|
-
// src/
|
|
13580
|
+
// src/fields/_select-internals/slots/DefaultControl.tsx
|
|
13589
13581
|
import { jsx as jsx152 } from "react/jsx-runtime";
|
|
13590
13582
|
function DefaultControl(props) {
|
|
13591
13583
|
const {
|
|
@@ -13678,7 +13670,7 @@ function DefaultControl(props) {
|
|
|
13678
13670
|
);
|
|
13679
13671
|
}
|
|
13680
13672
|
|
|
13681
|
-
// src/
|
|
13673
|
+
// src/fields/_select-internals/slots/StaticControl.tsx
|
|
13682
13674
|
import { SquareX as SquareX3 } from "lucide-react";
|
|
13683
13675
|
import { jsx as jsx153, jsxs as jsxs98 } from "react/jsx-runtime";
|
|
13684
13676
|
function StaticControl(props) {
|
|
@@ -13740,15 +13732,23 @@ function StaticControl(props) {
|
|
|
13740
13732
|
{
|
|
13741
13733
|
type: "button",
|
|
13742
13734
|
onClick: onClear,
|
|
13743
|
-
className: "absolute right-9 top-1/2 flex h-5 w-5 -translate-y-1/2 items-center justify-center rounded-[3px] border-0 bg-transparent p-0 text-[
|
|
13735
|
+
className: "absolute right-9 top-1/2 flex h-5 w-5 -translate-y-1/2 items-center justify-center rounded-[3px] border-0 bg-transparent p-0 text-[var(--chekin-neutral-500)] hover:shadow-[0_3px_3px_#0f477734]",
|
|
13744
13736
|
"aria-label": clearLabel,
|
|
13745
|
-
children: /* @__PURE__ */ jsx153(
|
|
13737
|
+
children: /* @__PURE__ */ jsx153(
|
|
13738
|
+
SquareX3,
|
|
13739
|
+
{
|
|
13740
|
+
size: 15,
|
|
13741
|
+
fill: "var(--chekin-neutral-500)",
|
|
13742
|
+
color: "#f8f8f8",
|
|
13743
|
+
strokeWidth: 1.8
|
|
13744
|
+
}
|
|
13745
|
+
)
|
|
13746
13746
|
}
|
|
13747
13747
|
)
|
|
13748
13748
|
] });
|
|
13749
13749
|
}
|
|
13750
13750
|
|
|
13751
|
-
// src/
|
|
13751
|
+
// src/fields/_select-internals/slots/DefaultMenuList.tsx
|
|
13752
13752
|
import { jsx as jsx154 } from "react/jsx-runtime";
|
|
13753
13753
|
function DefaultMenuList(props) {
|
|
13754
13754
|
const {
|
|
@@ -13811,7 +13811,7 @@ function DefaultMenuList(props) {
|
|
|
13811
13811
|
);
|
|
13812
13812
|
}
|
|
13813
13813
|
|
|
13814
|
-
// src/
|
|
13814
|
+
// src/fields/_select-internals/slots/DefaultCreateOption.tsx
|
|
13815
13815
|
import { useTranslation as useTranslation31 } from "react-i18next";
|
|
13816
13816
|
import { jsx as jsx155 } from "react/jsx-runtime";
|
|
13817
13817
|
function DefaultCreateOption({
|
|
@@ -13831,7 +13831,7 @@ function DefaultCreateOption({
|
|
|
13831
13831
|
);
|
|
13832
13832
|
}
|
|
13833
13833
|
|
|
13834
|
-
// src/
|
|
13834
|
+
// src/fields/_select-internals/slots/mergeComponents.ts
|
|
13835
13835
|
function defaultComponents() {
|
|
13836
13836
|
return {
|
|
13837
13837
|
Control: DefaultControl,
|
|
@@ -13853,11 +13853,11 @@ function mergeComponents(overrides) {
|
|
|
13853
13853
|
};
|
|
13854
13854
|
}
|
|
13855
13855
|
|
|
13856
|
-
// src/
|
|
13856
|
+
// src/fields/select/Select.tsx
|
|
13857
13857
|
import * as React50 from "react";
|
|
13858
13858
|
import { useTranslation as useTranslation32 } from "react-i18next";
|
|
13859
13859
|
|
|
13860
|
-
// src/
|
|
13860
|
+
// src/fields/select/useSetCorrectOptionIfThereIsOnlyValue.ts
|
|
13861
13861
|
import { useEffect as useEffect39 } from "react";
|
|
13862
13862
|
function useSetCorrectOptionIfThereIsOnlyValue({ value, options, onChange, enabled = true }) {
|
|
13863
13863
|
useEffect39(() => {
|
|
@@ -13872,7 +13872,7 @@ function useSetCorrectOptionIfThereIsOnlyValue({ value, options, onChange, enabl
|
|
|
13872
13872
|
}, [enabled, onChange, options, value]);
|
|
13873
13873
|
}
|
|
13874
13874
|
|
|
13875
|
-
// src/
|
|
13875
|
+
// src/fields/select/Select.tsx
|
|
13876
13876
|
import { jsx as jsx156, jsxs as jsxs99 } from "react/jsx-runtime";
|
|
13877
13877
|
function SelectInternal(props, ref) {
|
|
13878
13878
|
const {
|
|
@@ -14079,8 +14079,8 @@ function SelectInternal(props, ref) {
|
|
|
14079
14079
|
{
|
|
14080
14080
|
isFocused: state.isFocused || state.isOpen,
|
|
14081
14081
|
invalid: hasInvalidState,
|
|
14082
|
-
isEmpty: state.isEmpty
|
|
14083
|
-
isActivated: !state.isEmpty || state.isFocused || state.isOpen
|
|
14082
|
+
isEmpty: state.isEmpty,
|
|
14083
|
+
isActivated: !state.isEmpty || state.isFocused || state.isOpen,
|
|
14084
14084
|
disabled,
|
|
14085
14085
|
loading,
|
|
14086
14086
|
readOnly,
|
|
@@ -14115,7 +14115,7 @@ function SelectInternal(props, ref) {
|
|
|
14115
14115
|
placeholder: t("search_placeholder"),
|
|
14116
14116
|
listboxId: state.ids.listboxId,
|
|
14117
14117
|
activeOptionId: state.highlightedIndex >= 0 ? state.ids.getOptionId(state.highlightedIndex) : void 0,
|
|
14118
|
-
onChange:
|
|
14118
|
+
onChange: state.handleInputChange,
|
|
14119
14119
|
onKeyDown: state.handleInputKeyDown
|
|
14120
14120
|
}
|
|
14121
14121
|
),
|
|
@@ -14165,7 +14165,7 @@ function SelectInternal(props, ref) {
|
|
|
14165
14165
|
}
|
|
14166
14166
|
var Select = React50.forwardRef(SelectInternal);
|
|
14167
14167
|
|
|
14168
|
-
// src/
|
|
14168
|
+
// src/fields/phone-input/utils.ts
|
|
14169
14169
|
var PREFIX_REGEX = /^\+/;
|
|
14170
14170
|
function isPhoneInputValue(value) {
|
|
14171
14171
|
if (typeof value === "string" || typeof value === "number") {
|
|
@@ -14232,7 +14232,7 @@ function formatPhoneCodeOptionLabel(option) {
|
|
|
14232
14232
|
return label.includes(value) ? label : `${label} ${value}`;
|
|
14233
14233
|
}
|
|
14234
14234
|
|
|
14235
|
-
// src/
|
|
14235
|
+
// src/fields/phone-input/PhoneInput.tsx
|
|
14236
14236
|
import { jsx as jsx157, jsxs as jsxs100 } from "react/jsx-runtime";
|
|
14237
14237
|
var PhoneInput = React51.forwardRef(
|
|
14238
14238
|
function PhoneInput2({
|
|
@@ -14471,36 +14471,36 @@ var PhoneInput = React51.forwardRef(
|
|
|
14471
14471
|
);
|
|
14472
14472
|
PhoneInput.displayName = "PhoneInput";
|
|
14473
14473
|
|
|
14474
|
-
// src/
|
|
14474
|
+
// src/fields/creatable-select/CreatableSelect.tsx
|
|
14475
14475
|
import * as React52 from "react";
|
|
14476
14476
|
import { jsx as jsx158 } from "react/jsx-runtime";
|
|
14477
14477
|
var CreatableSelect = React52.forwardRef(function CreatableSelect2(props, ref) {
|
|
14478
14478
|
return /* @__PURE__ */ jsx158(Select, { ref, ...props, isCreatable: true });
|
|
14479
14479
|
});
|
|
14480
14480
|
|
|
14481
|
-
// src/
|
|
14481
|
+
// src/fields/multi-select/MultiSelect.tsx
|
|
14482
14482
|
import * as React53 from "react";
|
|
14483
14483
|
import { jsx as jsx159 } from "react/jsx-runtime";
|
|
14484
14484
|
var MultiSelect = React53.forwardRef(function MultiSelect2(props, ref) {
|
|
14485
14485
|
return /* @__PURE__ */ jsx159(Select, { ref, ...props, isMulti: true });
|
|
14486
14486
|
});
|
|
14487
14487
|
|
|
14488
|
-
// src/
|
|
14488
|
+
// src/fields/creatable-multi-select/CreatableMultiSelect.tsx
|
|
14489
14489
|
import * as React54 from "react";
|
|
14490
14490
|
import { jsx as jsx160 } from "react/jsx-runtime";
|
|
14491
14491
|
var CreatableMultiSelect = React54.forwardRef(function CreatableMultiSelect2(props, ref) {
|
|
14492
14492
|
return /* @__PURE__ */ jsx160(Select, { ref, ...props, isMulti: true, isCreatable: true });
|
|
14493
14493
|
});
|
|
14494
14494
|
|
|
14495
|
-
// src/
|
|
14495
|
+
// src/fields/infinite-scroll-select/InfiniteScrollSelect.tsx
|
|
14496
14496
|
import * as React57 from "react";
|
|
14497
14497
|
|
|
14498
|
-
// src/
|
|
14498
|
+
// src/fields/infinite-scroll-select/VirtualMenuList.tsx
|
|
14499
14499
|
import * as React56 from "react";
|
|
14500
14500
|
import { useTranslation as useTranslation34 } from "react-i18next";
|
|
14501
14501
|
import { useVirtualizer as useVirtualizer2 } from "@tanstack/react-virtual";
|
|
14502
14502
|
|
|
14503
|
-
// src/
|
|
14503
|
+
// src/fields/infinite-scroll-select/InfiniteScrollContext.tsx
|
|
14504
14504
|
import * as React55 from "react";
|
|
14505
14505
|
var InfiniteScrollContext = React55.createContext(
|
|
14506
14506
|
null
|
|
@@ -14515,7 +14515,7 @@ function useInfiniteScrollContext() {
|
|
|
14515
14515
|
return ctx;
|
|
14516
14516
|
}
|
|
14517
14517
|
|
|
14518
|
-
// src/
|
|
14518
|
+
// src/fields/infinite-scroll-select/VirtualMenuList.tsx
|
|
14519
14519
|
import { jsx as jsx161, jsxs as jsxs101 } from "react/jsx-runtime";
|
|
14520
14520
|
function VirtualMenuList(props) {
|
|
14521
14521
|
const {
|
|
@@ -14711,7 +14711,7 @@ function VirtualMenuList(props) {
|
|
|
14711
14711
|
) });
|
|
14712
14712
|
}
|
|
14713
14713
|
|
|
14714
|
-
// src/
|
|
14714
|
+
// src/fields/infinite-scroll-select/InfiniteScrollSelect.tsx
|
|
14715
14715
|
import { jsx as jsx162 } from "react/jsx-runtime";
|
|
14716
14716
|
var DEFAULT_ITEM_HEIGHT = 60;
|
|
14717
14717
|
var DEFAULT_LIST_HEIGHT = 322;
|
|
@@ -14822,7 +14822,7 @@ var InfiniteScrollSelect = React57.forwardRef(
|
|
|
14822
14822
|
InfiniteScrollSelectInternal
|
|
14823
14823
|
);
|
|
14824
14824
|
|
|
14825
|
-
// src/
|
|
14825
|
+
// src/fields/infinite-scroll-multi-select/InfiniteScrollMultiSelect.tsx
|
|
14826
14826
|
import * as React58 from "react";
|
|
14827
14827
|
import { jsx as jsx163 } from "react/jsx-runtime";
|
|
14828
14828
|
var InfiniteScrollMultiSelect = React58.forwardRef(function InfiniteScrollMultiSelect2(props, ref) {
|
|
@@ -14830,11 +14830,11 @@ var InfiniteScrollMultiSelect = React58.forwardRef(function InfiniteScrollMultiS
|
|
|
14830
14830
|
return /* @__PURE__ */ jsx163(Forwarded, { ...props, ref, isMulti: true });
|
|
14831
14831
|
});
|
|
14832
14832
|
|
|
14833
|
-
// src/
|
|
14833
|
+
// src/fields/select-checkboxes/SelectCheckboxes.tsx
|
|
14834
14834
|
import * as React59 from "react";
|
|
14835
14835
|
import { useTranslation as useTranslation36 } from "react-i18next";
|
|
14836
14836
|
|
|
14837
|
-
// src/
|
|
14837
|
+
// src/fields/select-checkboxes/VisualCheckbox.tsx
|
|
14838
14838
|
import { Check as Check7 } from "lucide-react";
|
|
14839
14839
|
import { jsx as jsx164 } from "react/jsx-runtime";
|
|
14840
14840
|
function VisualCheckbox({ checked, disabled, className }) {
|
|
@@ -14854,7 +14854,7 @@ function VisualCheckbox({ checked, disabled, className }) {
|
|
|
14854
14854
|
);
|
|
14855
14855
|
}
|
|
14856
14856
|
|
|
14857
|
-
// src/
|
|
14857
|
+
// src/fields/select-checkboxes/SelectCheckboxOption.tsx
|
|
14858
14858
|
import { jsx as jsx165, jsxs as jsxs102 } from "react/jsx-runtime";
|
|
14859
14859
|
function SelectCheckboxOption(props) {
|
|
14860
14860
|
const {
|
|
@@ -14899,7 +14899,7 @@ function SelectCheckboxOption(props) {
|
|
|
14899
14899
|
);
|
|
14900
14900
|
}
|
|
14901
14901
|
|
|
14902
|
-
// src/
|
|
14902
|
+
// src/fields/select-checkboxes/CountTrigger.tsx
|
|
14903
14903
|
import { ChevronDown as ChevronDown3 } from "lucide-react";
|
|
14904
14904
|
import { useTranslation as useTranslation35 } from "react-i18next";
|
|
14905
14905
|
import { jsx as jsx166, jsxs as jsxs103 } from "react/jsx-runtime";
|
|
@@ -14974,7 +14974,7 @@ function createCountTrigger(opts) {
|
|
|
14974
14974
|
return CountTrigger;
|
|
14975
14975
|
}
|
|
14976
14976
|
|
|
14977
|
-
// src/
|
|
14977
|
+
// src/fields/select-checkboxes/SelectAllRow.tsx
|
|
14978
14978
|
import { jsx as jsx167, jsxs as jsxs104 } from "react/jsx-runtime";
|
|
14979
14979
|
function SelectAllRow({ label, checked, disabled, onToggle }) {
|
|
14980
14980
|
return /* @__PURE__ */ jsxs104(
|
|
@@ -14995,7 +14995,7 @@ function SelectAllRow({ label, checked, disabled, onToggle }) {
|
|
|
14995
14995
|
);
|
|
14996
14996
|
}
|
|
14997
14997
|
|
|
14998
|
-
// src/
|
|
14998
|
+
// src/fields/select-checkboxes/SelectCheckboxes.tsx
|
|
14999
14999
|
import { Fragment as Fragment16, jsx as jsx168 } from "react/jsx-runtime";
|
|
15000
15000
|
function hasPaginationProps(props) {
|
|
15001
15001
|
return props.canLoadMore !== void 0 || props.isLoadingMore !== void 0 || props.loadMoreItems !== void 0 || props.onSearchChange !== void 0;
|
|
@@ -15154,11 +15154,11 @@ var SelectCheckboxes = React59.forwardRef(
|
|
|
15154
15154
|
SelectCheckboxesInternal
|
|
15155
15155
|
);
|
|
15156
15156
|
|
|
15157
|
-
// src/
|
|
15157
|
+
// src/fields/textarea/Textarea.tsx
|
|
15158
15158
|
import * as React61 from "react";
|
|
15159
15159
|
import { useTranslation as useTranslation37 } from "react-i18next";
|
|
15160
15160
|
|
|
15161
|
-
// src/
|
|
15161
|
+
// src/fields/textarea/useTextareaValueState.ts
|
|
15162
15162
|
import * as React60 from "react";
|
|
15163
15163
|
var isEmptyValue2 = (value) => {
|
|
15164
15164
|
if (value === void 0 || value === null) return true;
|
|
@@ -15223,7 +15223,7 @@ function useTextareaValueState({
|
|
|
15223
15223
|
};
|
|
15224
15224
|
}
|
|
15225
15225
|
|
|
15226
|
-
// src/
|
|
15226
|
+
// src/fields/textarea/Textarea.tsx
|
|
15227
15227
|
import { jsx as jsx169, jsxs as jsxs105 } from "react/jsx-runtime";
|
|
15228
15228
|
var LINE_HEIGHT = 20;
|
|
15229
15229
|
var VERTICAL_PADDING = 32;
|
|
@@ -15333,7 +15333,7 @@ var Textarea = React61.forwardRef(function Textarea2({
|
|
|
15333
15333
|
onBlur: handleBlur,
|
|
15334
15334
|
className: cn(
|
|
15335
15335
|
"m-0 box-border block w-full resize-none rounded-[6px] border bg-white px-4 py-4 text-[16px] font-medium leading-5 text-[var(--chekin-color-brand-navy)] outline-none transition-colors duration-100 ease-in-out",
|
|
15336
|
-
"border-[var(--field-border)] placeholder:font-
|
|
15336
|
+
"border-[var(--field-border)] placeholder:text-[length:var(--field-placeholder-font-size)] placeholder:font-[var(--field-placeholder-font-weight)] placeholder:text-[var(--chekin-color-gray-1)]",
|
|
15337
15337
|
!isBlocked && "focus:border-[var(--field-border-focused)]",
|
|
15338
15338
|
isEmpty && "border-[var(--field-border)] bg-[var(--empty-field-background)] text-[var(--chekin-color-gray-1)]",
|
|
15339
15339
|
isInvalid && "border-[var(--field-border-invalid)] focus:border-[var(--field-border-invalid)]",
|
|
@@ -15361,7 +15361,7 @@ var Textarea = React61.forwardRef(function Textarea2({
|
|
|
15361
15361
|
);
|
|
15362
15362
|
});
|
|
15363
15363
|
|
|
15364
|
-
// src/
|
|
15364
|
+
// src/fields/datepicker/Datepicker.tsx
|
|
15365
15365
|
import * as React63 from "react";
|
|
15366
15366
|
import { ChevronDown as ChevronDown4 } from "lucide-react";
|
|
15367
15367
|
import { useTranslation as useTranslation38 } from "react-i18next";
|
|
@@ -16010,7 +16010,7 @@ function AirbnbDatePickerContent({
|
|
|
16010
16010
|
) });
|
|
16011
16011
|
}
|
|
16012
16012
|
|
|
16013
|
-
// src/
|
|
16013
|
+
// src/fields/datepicker/Datepicker.tsx
|
|
16014
16014
|
import { jsx as jsx172, jsxs as jsxs108 } from "react/jsx-runtime";
|
|
16015
16015
|
var MONTHS_IN_YEAR2 = 12;
|
|
16016
16016
|
function getMonthLabels2(locale) {
|
|
@@ -16358,7 +16358,7 @@ var Datepicker = React63.forwardRef(
|
|
|
16358
16358
|
}
|
|
16359
16359
|
);
|
|
16360
16360
|
const subInputClass = cn(
|
|
16361
|
-
"m-0 box-border h-full w-full min-w-0 border-0 bg-transparent text-center text-[16px] font-medium leading-5 text-[var(--chekin-color-brand-navy)] outline-none placeholder:text-[var(--chekin-color-gray-1)]",
|
|
16361
|
+
"m-0 box-border h-full w-full min-w-0 border-0 bg-transparent text-center text-[16px] font-medium leading-5 text-[var(--chekin-color-brand-navy)] outline-none placeholder:text-[length:var(--field-placeholder-font-size)] placeholder:font-[var(--field-placeholder-font-weight)] placeholder:text-[var(--chekin-color-gray-1)]",
|
|
16362
16362
|
isBlocked && "cursor-not-allowed",
|
|
16363
16363
|
loading && "cursor-progress"
|
|
16364
16364
|
);
|
|
@@ -16415,7 +16415,7 @@ var Datepicker = React63.forwardRef(
|
|
|
16415
16415
|
"relative box-border grid h-12 w-full grid-cols-[minmax(0,1fr)_minmax(96px,140px)_minmax(0,1fr)] items-center rounded-[6px] text-[16px] font-medium text-[var(--chekin-color-brand-navy)]"
|
|
16416
16416
|
),
|
|
16417
16417
|
children: [
|
|
16418
|
-
/* @__PURE__ */ jsx172("div", { className: "flex h-full min-w-0 items-center px-2
|
|
16418
|
+
/* @__PURE__ */ jsx172("div", { className: "flex h-full min-w-0 items-center px-2", children: /* @__PURE__ */ jsx172(
|
|
16419
16419
|
"input",
|
|
16420
16420
|
{
|
|
16421
16421
|
ref: dayInputRef,
|
|
@@ -16485,7 +16485,7 @@ var Datepicker = React63.forwardRef(
|
|
|
16485
16485
|
},
|
|
16486
16486
|
onKeyDown: handleMonthInputKeyDown,
|
|
16487
16487
|
className: cn(
|
|
16488
|
-
"m-0 box-border h-full w-full min-w-0 border-0 bg-transparent text-center text-[16px] font-medium leading-5 outline-none placeholder:text-[var(--chekin-color-gray-1)]",
|
|
16488
|
+
"m-0 box-border h-full w-full min-w-0 border-0 bg-transparent text-center text-[16px] font-medium leading-5 outline-none placeholder:text-[length:var(--field-placeholder-font-size)] placeholder:font-[var(--field-placeholder-font-weight)] placeholder:text-[var(--chekin-color-gray-1)]",
|
|
16489
16489
|
monthIndex !== null ? "text-[var(--chekin-color-brand-navy)]" : "text-[var(--chekin-color-gray-1)]",
|
|
16490
16490
|
(isBlocked || readOnly) && "cursor-not-allowed"
|
|
16491
16491
|
)
|
|
@@ -16508,7 +16508,7 @@ var Datepicker = React63.forwardRef(
|
|
|
16508
16508
|
}
|
|
16509
16509
|
)
|
|
16510
16510
|
] }),
|
|
16511
|
-
/* @__PURE__ */ jsx172("div", { className: "flex h-full min-w-0 items-center px-2
|
|
16511
|
+
/* @__PURE__ */ jsx172("div", { className: "flex h-full min-w-0 items-center px-2", children: /* @__PURE__ */ jsx172(
|
|
16512
16512
|
"input",
|
|
16513
16513
|
{
|
|
16514
16514
|
ref: yearInputRef,
|
|
@@ -16612,14 +16612,14 @@ var Datepicker = React63.forwardRef(
|
|
|
16612
16612
|
}
|
|
16613
16613
|
);
|
|
16614
16614
|
|
|
16615
|
-
// src/
|
|
16615
|
+
// src/fields/date-range-picker/DateRangePicker.tsx
|
|
16616
16616
|
import * as React67 from "react";
|
|
16617
16617
|
import { useTranslation as useTranslation39 } from "react-i18next";
|
|
16618
16618
|
|
|
16619
|
-
// src/
|
|
16619
|
+
// src/fields/date-range-picker/isDayBlocked.ts
|
|
16620
16620
|
import { differenceInDays, isAfter, isBefore, isSameDay } from "date-fns";
|
|
16621
16621
|
|
|
16622
|
-
// src/
|
|
16622
|
+
// src/fields/date-range-picker/dateUtils.ts
|
|
16623
16623
|
import { format as formatDateFns, isValid, parse } from "date-fns";
|
|
16624
16624
|
var DEFAULT_DISPLAY_FORMAT = "dd-MM-yyyy";
|
|
16625
16625
|
var SUPPORTED_FORMATS = ["dd-MM-yyyy", "dd.MM.yyyy", "dd/MM/yyyy"];
|
|
@@ -16647,7 +16647,7 @@ function resetTime(date) {
|
|
|
16647
16647
|
return next;
|
|
16648
16648
|
}
|
|
16649
16649
|
|
|
16650
|
-
// src/
|
|
16650
|
+
// src/fields/date-range-picker/isDayBlocked.ts
|
|
16651
16651
|
var isDayBlocked = ({ minDate, maxDate, maxDays, minDays, datesRange }) => (date) => {
|
|
16652
16652
|
const startDate = datesRange?.from ? resetTime(datesRange.from) : null;
|
|
16653
16653
|
const endDate = datesRange?.to ? resetTime(datesRange.to) : null;
|
|
@@ -16674,7 +16674,7 @@ var isDayBlocked = ({ minDate, maxDate, maxDays, minDays, datesRange }) => (date
|
|
|
16674
16674
|
return false;
|
|
16675
16675
|
};
|
|
16676
16676
|
|
|
16677
|
-
// src/
|
|
16677
|
+
// src/fields/date-range-picker/createDisabledMatchers.ts
|
|
16678
16678
|
var createDisabledMatchers = ({
|
|
16679
16679
|
disabledDays,
|
|
16680
16680
|
minDate,
|
|
@@ -16691,7 +16691,7 @@ var createDisabledMatchers = ({
|
|
|
16691
16691
|
return result;
|
|
16692
16692
|
};
|
|
16693
16693
|
|
|
16694
|
-
// src/
|
|
16694
|
+
// src/fields/date-range-picker/hooks/useRangeValue.ts
|
|
16695
16695
|
import * as React64 from "react";
|
|
16696
16696
|
var getRangeKey = (range) => `${range?.from?.getTime() ?? ""}-${range?.to?.getTime() ?? ""}`;
|
|
16697
16697
|
function useRangeValue({
|
|
@@ -16726,10 +16726,10 @@ function useRangeValue({
|
|
|
16726
16726
|
return { value: draft, commit };
|
|
16727
16727
|
}
|
|
16728
16728
|
|
|
16729
|
-
// src/
|
|
16729
|
+
// src/fields/date-range-picker/hooks/useRangeTextInputs.ts
|
|
16730
16730
|
import * as React65 from "react";
|
|
16731
16731
|
|
|
16732
|
-
// src/
|
|
16732
|
+
// src/fields/date-range-picker/utils/inputFormat.ts
|
|
16733
16733
|
function parseDateInputFormat(format2) {
|
|
16734
16734
|
const tokens = [];
|
|
16735
16735
|
let i = 0;
|
|
@@ -16805,7 +16805,7 @@ function autoFormatDateInput(raw, tokens) {
|
|
|
16805
16805
|
return result;
|
|
16806
16806
|
}
|
|
16807
16807
|
|
|
16808
|
-
// src/
|
|
16808
|
+
// src/fields/date-range-picker/hooks/useRangeTextInputs.ts
|
|
16809
16809
|
var countDigits = (text) => text.replace(/\D/g, "").length;
|
|
16810
16810
|
function useRangeTextInputs({
|
|
16811
16811
|
value,
|
|
@@ -16897,7 +16897,7 @@ function useRangeTextInputs({
|
|
|
16897
16897
|
};
|
|
16898
16898
|
}
|
|
16899
16899
|
|
|
16900
|
-
// src/
|
|
16900
|
+
// src/fields/date-range-picker/hooks/useRangeMonthSync.ts
|
|
16901
16901
|
import * as React66 from "react";
|
|
16902
16902
|
function useRangeMonthSync(value) {
|
|
16903
16903
|
const isPreloadedRef = React66.useRef(false);
|
|
@@ -16918,7 +16918,7 @@ function useRangeMonthSync(value) {
|
|
|
16918
16918
|
return { month, setMonth, syncMonthToValue, resetPreload };
|
|
16919
16919
|
}
|
|
16920
16920
|
|
|
16921
|
-
// src/
|
|
16921
|
+
// src/fields/date-range-picker/utils/rangeSelection.ts
|
|
16922
16922
|
import { isBefore as isBefore2 } from "date-fns";
|
|
16923
16923
|
function resolveRangeSelection({
|
|
16924
16924
|
previous,
|
|
@@ -16936,12 +16936,12 @@ function resolveRangeSelection({
|
|
|
16936
16936
|
return { next, shouldClose };
|
|
16937
16937
|
}
|
|
16938
16938
|
|
|
16939
|
-
// src/
|
|
16939
|
+
// src/fields/date-range-picker/components/DateRangeInputs.tsx
|
|
16940
16940
|
import { CalendarDays, SquareX as SquareX4 } from "lucide-react";
|
|
16941
16941
|
import { jsx as jsx173, jsxs as jsxs109 } from "react/jsx-runtime";
|
|
16942
16942
|
var DEFAULT_PLACEHOLDER = "00-00-0000";
|
|
16943
|
-
var inputBaseClass = "m-0 box-border h-full w-full min-w-0 border-0 bg-transparent text-[16px] font-medium leading-5 text-[var(--chekin-color-brand-navy)] outline-none placeholder:text-[var(--chekin-color-gray-1)]";
|
|
16944
|
-
var iconButtonClass = "flex h-5 w-5 items-center justify-center rounded-[3px] border-0 bg-transparent p-0 text-[
|
|
16943
|
+
var inputBaseClass = "m-0 box-border h-full w-full min-w-0 border-0 bg-transparent text-[16px] font-medium leading-5 text-[var(--chekin-color-brand-navy)] outline-none placeholder:text-[length:var(--field-placeholder-font-size)] placeholder:font-[var(--field-placeholder-font-weight)] placeholder:text-[var(--chekin-color-gray-1)]";
|
|
16944
|
+
var iconButtonClass = "flex h-5 w-5 items-center justify-center rounded-[3px] border-0 bg-transparent p-0 text-[var(--chekin-neutral-500)] outline-none hover:shadow-[0_3px_3px_#0f477734] disabled:cursor-not-allowed";
|
|
16945
16945
|
function DateRangeInputs({
|
|
16946
16946
|
fromId,
|
|
16947
16947
|
toId,
|
|
@@ -17059,7 +17059,15 @@ function DateRangeInputs({
|
|
|
17059
17059
|
onClick: onReset,
|
|
17060
17060
|
className: iconButtonClass,
|
|
17061
17061
|
"aria-label": clearLabel,
|
|
17062
|
-
children: /* @__PURE__ */ jsx173(
|
|
17062
|
+
children: /* @__PURE__ */ jsx173(
|
|
17063
|
+
SquareX4,
|
|
17064
|
+
{
|
|
17065
|
+
size: 16,
|
|
17066
|
+
fill: "var(--chekin-neutral-500)",
|
|
17067
|
+
color: "#f8f8f8",
|
|
17068
|
+
strokeWidth: 1.8
|
|
17069
|
+
}
|
|
17070
|
+
)
|
|
17063
17071
|
}
|
|
17064
17072
|
),
|
|
17065
17073
|
!readOnly && !hideCalendarIcon && /* @__PURE__ */ jsx173(
|
|
@@ -17083,7 +17091,7 @@ function DateRangeInputs({
|
|
|
17083
17091
|
);
|
|
17084
17092
|
}
|
|
17085
17093
|
|
|
17086
|
-
// src/
|
|
17094
|
+
// src/fields/date-range-picker/components/DateRangeCalendar.tsx
|
|
17087
17095
|
import { jsx as jsx174 } from "react/jsx-runtime";
|
|
17088
17096
|
function DateRangeCalendar({
|
|
17089
17097
|
value,
|
|
@@ -17122,7 +17130,7 @@ function DateRangeCalendar({
|
|
|
17122
17130
|
);
|
|
17123
17131
|
}
|
|
17124
17132
|
|
|
17125
|
-
// src/
|
|
17133
|
+
// src/fields/date-range-picker/components/DateRangePopover.tsx
|
|
17126
17134
|
import { jsx as jsx175, jsxs as jsxs110 } from "react/jsx-runtime";
|
|
17127
17135
|
function DateRangePopover({
|
|
17128
17136
|
isOpen,
|
|
@@ -17170,7 +17178,7 @@ function DateRangePopover({
|
|
|
17170
17178
|
);
|
|
17171
17179
|
}
|
|
17172
17180
|
|
|
17173
|
-
// src/
|
|
17181
|
+
// src/fields/date-range-picker/DateRangePicker.tsx
|
|
17174
17182
|
import { jsx as jsx176, jsxs as jsxs111 } from "react/jsx-runtime";
|
|
17175
17183
|
var DateRangePicker = React67.forwardRef(function DateRangePicker2({
|
|
17176
17184
|
label,
|
|
@@ -17512,7 +17520,7 @@ var DateRangePicker = React67.forwardRef(function DateRangePicker2({
|
|
|
17512
17520
|
);
|
|
17513
17521
|
});
|
|
17514
17522
|
|
|
17515
|
-
// src/
|
|
17523
|
+
// src/fields/date-range-picker/useValidateDates.ts
|
|
17516
17524
|
import * as React68 from "react";
|
|
17517
17525
|
import { useTranslation as useTranslation40 } from "react-i18next";
|
|
17518
17526
|
import { differenceInDays as differenceInDays2, isAfter as isAfter2, isBefore as isBefore3 } from "date-fns";
|
|
@@ -17592,7 +17600,7 @@ function useValidateDates({
|
|
|
17592
17600
|
return { validateDates };
|
|
17593
17601
|
}
|
|
17594
17602
|
|
|
17595
|
-
// src/
|
|
17603
|
+
// src/fields/time-picker/TimePicker.tsx
|
|
17596
17604
|
import * as React69 from "react";
|
|
17597
17605
|
import { addDays, addHours, addMinutes, format, parse as parse2 } from "date-fns";
|
|
17598
17606
|
import { jsx as jsx177 } from "react/jsx-runtime";
|
|
@@ -17646,7 +17654,7 @@ var TimePicker = React69.forwardRef(function TimePicker2({ format: formatName =
|
|
|
17646
17654
|
return /* @__PURE__ */ jsx177(Select, { ref, ...selectProps, options: resolvedOptions });
|
|
17647
17655
|
});
|
|
17648
17656
|
|
|
17649
|
-
// src/
|
|
17657
|
+
// src/fields/file-input/FileInput.tsx
|
|
17650
17658
|
import * as React70 from "react";
|
|
17651
17659
|
import { Download, Paperclip, SquareX as SquareX5 } from "lucide-react";
|
|
17652
17660
|
import { useTranslation as useTranslation41 } from "react-i18next";
|
|
@@ -17751,7 +17759,7 @@ var FileInput = React70.forwardRef(function FileInput2({
|
|
|
17751
17759
|
hasFileChip ? /* @__PURE__ */ jsxs112(
|
|
17752
17760
|
"div",
|
|
17753
17761
|
{
|
|
17754
|
-
className: "inline-flex h-6 max-w-[85%] items-center rounded-[4px] border border-[
|
|
17762
|
+
className: "inline-flex h-6 max-w-[85%] items-center rounded-[4px] border border-[var(--chekin-neutral-400)] bg-[var(--chekin-neutral-75)] pl-[10px] pr-1",
|
|
17755
17763
|
onClick: (event) => event.preventDefault(),
|
|
17756
17764
|
children: [
|
|
17757
17765
|
isUrl ? /* @__PURE__ */ jsxs112(
|
|
@@ -17772,9 +17780,17 @@ var FileInput = React70.forwardRef(function FileInput2({
|
|
|
17772
17780
|
type: "button",
|
|
17773
17781
|
disabled: isBlocked || readOnly,
|
|
17774
17782
|
onClick: handleClear,
|
|
17775
|
-
className: "ml-2 flex h-[15px] w-[15px] items-center justify-center rounded-[3px] border-0 bg-transparent p-0 text-[
|
|
17783
|
+
className: "ml-2 flex h-[15px] w-[15px] items-center justify-center rounded-[3px] border-0 bg-transparent p-0 text-[var(--chekin-neutral-500)] outline-none hover:shadow-[0_3px_3px_#0f477734]",
|
|
17776
17784
|
"aria-label": t("remove_file"),
|
|
17777
|
-
children: /* @__PURE__ */ jsx178(
|
|
17785
|
+
children: /* @__PURE__ */ jsx178(
|
|
17786
|
+
SquareX5,
|
|
17787
|
+
{
|
|
17788
|
+
size: 15,
|
|
17789
|
+
fill: "var(--chekin-neutral-500)",
|
|
17790
|
+
color: "#f8f8f8",
|
|
17791
|
+
strokeWidth: 1.8
|
|
17792
|
+
}
|
|
17793
|
+
)
|
|
17778
17794
|
}
|
|
17779
17795
|
)
|
|
17780
17796
|
]
|
|
@@ -17818,7 +17834,7 @@ var FileInput = React70.forwardRef(function FileInput2({
|
|
|
17818
17834
|
);
|
|
17819
17835
|
});
|
|
17820
17836
|
|
|
17821
|
-
// src/
|
|
17837
|
+
// src/fields/select-icons-box/SelectIconsBox.tsx
|
|
17822
17838
|
import * as React71 from "react";
|
|
17823
17839
|
import { jsx as jsx179, jsxs as jsxs113 } from "react/jsx-runtime";
|
|
17824
17840
|
var FOCUSABLE_TRIGGER_SELECTOR2 = 'input:not([type="hidden"]):not([disabled]):not([readonly]), button:not([disabled])';
|
|
@@ -17829,7 +17845,7 @@ var SelectIconsBox = React71.forwardRef(
|
|
|
17829
17845
|
renderIcon,
|
|
17830
17846
|
onSelect,
|
|
17831
17847
|
columns = 4,
|
|
17832
|
-
iconsColor = "
|
|
17848
|
+
iconsColor = "var(--chekin-neutral-600)",
|
|
17833
17849
|
isOpen: controlledOpen,
|
|
17834
17850
|
defaultOpen = false,
|
|
17835
17851
|
onOpenChange,
|
|
@@ -17895,7 +17911,7 @@ var SelectIconsBox = React71.forwardRef(
|
|
|
17895
17911
|
type: "button",
|
|
17896
17912
|
"data-icon-box-item": true,
|
|
17897
17913
|
onClick: () => handlePick(iconName),
|
|
17898
|
-
className: "relative flex h-10 w-10 cursor-pointer items-center justify-center rounded-full border-0 bg-transparent p-0 outline-none hover:bg-[
|
|
17914
|
+
className: "relative flex h-10 w-10 cursor-pointer items-center justify-center rounded-full border-0 bg-transparent p-0 outline-none hover:bg-[var(--chekin-neutral-50)]",
|
|
17899
17915
|
"aria-label": iconName,
|
|
17900
17916
|
children: renderIcon(iconName, iconsColor)
|
|
17901
17917
|
},
|
|
@@ -18008,9 +18024,9 @@ var LegacyTextarea = forwardRef73(
|
|
|
18008
18024
|
name,
|
|
18009
18025
|
disabled,
|
|
18010
18026
|
className: cn(
|
|
18011
|
-
"peer box-border min-h-[120px] w-full resize-none rounded-lg border border-[
|
|
18012
|
-
invalid && "border-[
|
|
18013
|
-
disabled && "cursor-not-allowed resize-none border-[
|
|
18027
|
+
"peer box-border min-h-[120px] w-full resize-none rounded-lg border border-[var(--chekin-neutral-300)] bg-[var(--chekin-neutral-50)] px-4 py-3 text-[var(--chekin-blue-900)] outline-none [scrollbar-color:#777e91_transparent] [scrollbar-gutter:stable] placeholder:text-[var(--chekin-neutral-600)] placeholder:opacity-100 focus:border-[var(--chekin-blue-500)] focus:bg-white focus:transition-colors focus:duration-100 focus:ease-in-out [&:not(:placeholder-shown)]:bg-white",
|
|
18028
|
+
invalid && "border-[var(--chekin-red-500)] focus:border-[var(--chekin-red-500)]",
|
|
18029
|
+
disabled && "cursor-not-allowed resize-none border-[var(--chekin-neutral-500)] bg-[var(--chekin-neutral-50)] text-[var(--chekin-neutral-500)] placeholder:text-[var(--chekin-neutral-500)]",
|
|
18014
18030
|
textareaClassName
|
|
18015
18031
|
),
|
|
18016
18032
|
...textareaProps
|
|
@@ -18021,9 +18037,9 @@ var LegacyTextarea = forwardRef73(
|
|
|
18021
18037
|
{
|
|
18022
18038
|
htmlFor: inputId,
|
|
18023
18039
|
className: cn(
|
|
18024
|
-
"pointer-events-none absolute left-3 top-4 px-1 text-[
|
|
18025
|
-
invalid && "text-[
|
|
18026
|
-
disabled && "text-[
|
|
18040
|
+
"pointer-events-none absolute left-3 top-4 px-1 text-[var(--chekin-neutral-600)] transition-all duration-100 ease-in-out peer-focus:left-2 peer-focus:top-[-0.6rem] peer-focus:bg-white peer-focus:text-sm peer-focus:font-medium peer-focus:text-[var(--chekin-blue-500)] peer-[:not(:placeholder-shown)]:left-2 peer-[:not(:placeholder-shown)]:top-[-0.6rem] peer-[:not(:placeholder-shown)]:bg-white peer-[:not(:placeholder-shown)]:text-sm peer-[:not(:placeholder-shown)]:font-medium",
|
|
18041
|
+
invalid && "text-[var(--chekin-red-500)] peer-focus:text-[var(--chekin-red-500)]",
|
|
18042
|
+
disabled && "text-[var(--chekin-neutral-500)]"
|
|
18027
18043
|
),
|
|
18028
18044
|
children: label
|
|
18029
18045
|
}
|
|
@@ -18112,9 +18128,9 @@ var AirbnbFieldTrigger = React72.forwardRef(
|
|
|
18112
18128
|
] }) : void 0;
|
|
18113
18129
|
const sharedClasses = cn(
|
|
18114
18130
|
"relative flex w-full items-center border bg-transparent text-left transition-colors focus-visible:outline-none",
|
|
18115
|
-
"rounded-[12px] border-[
|
|
18131
|
+
"rounded-[12px] border-[var(--chekin-airbnb-gray-muted)] pl-4 pr-4 focus-visible:ring-2 focus-visible:ring-[var(--chekin-airbnb-ink-strong)] focus-visible:ring-offset-2",
|
|
18116
18132
|
isRaised ? "min-h-[60px]" : "h-[60px]",
|
|
18117
|
-
hasInvalidState ? "border-[var(--error-message-color)] bg-[
|
|
18133
|
+
hasInvalidState ? "border-[var(--error-message-color)] bg-[var(--chekin-airbnb-pink-surface-soft)]" : "border-[var(--chekin-airbnb-gray-muted)]",
|
|
18118
18134
|
disabled ? "cursor-not-allowed opacity-50" : loading ? "cursor-progress" : "cursor-pointer",
|
|
18119
18135
|
className
|
|
18120
18136
|
);
|
|
@@ -18136,7 +18152,7 @@ var AirbnbFieldTrigger = React72.forwardRef(
|
|
|
18136
18152
|
"absolute left-0 origin-left transition-all duration-200 ease-out",
|
|
18137
18153
|
hasLabelMeta ? "max-w-full" : "pointer-events-none truncate",
|
|
18138
18154
|
isRaised ? "top-[-1px] translate-y-0 text-xs leading-5" : "top-1/2 -translate-y-1/2 text-[16px] leading-7",
|
|
18139
|
-
hasInvalidState ? "text-[var(--error-message-color)]" : "text-[
|
|
18155
|
+
hasInvalidState ? "text-[var(--error-message-color)]" : "text-[var(--chekin-airbnb-gray-text)]"
|
|
18140
18156
|
),
|
|
18141
18157
|
children: animatedLabel
|
|
18142
18158
|
}
|
|
@@ -18148,7 +18164,7 @@ var AirbnbFieldTrigger = React72.forwardRef(
|
|
|
18148
18164
|
className: cn(
|
|
18149
18165
|
"absolute left-0 block truncate transition-all duration-200 ease-out",
|
|
18150
18166
|
"bottom-0 translate-y-0 text-[16px] leading-6 opacity-100",
|
|
18151
|
-
hasInvalidState ? "text-[var(--error-message-color)]" : "text-[
|
|
18167
|
+
hasInvalidState ? "text-[var(--error-message-color)]" : "text-[var(--chekin-airbnb-ink-strong)]"
|
|
18152
18168
|
),
|
|
18153
18169
|
children: valueText
|
|
18154
18170
|
}
|
|
@@ -18166,7 +18182,7 @@ var AirbnbFieldTrigger = React72.forwardRef(
|
|
|
18166
18182
|
)
|
|
18167
18183
|
] });
|
|
18168
18184
|
return /* @__PURE__ */ jsxs116("div", { className: "w-full", children: [
|
|
18169
|
-
topLabel && /* @__PURE__ */ jsx182("p", { className: "mb-3 text-[16px] font-semibold leading-5 text-[
|
|
18185
|
+
topLabel && /* @__PURE__ */ jsx182("p", { className: "mb-3 text-[16px] font-semibold leading-5 text-[var(--chekin-airbnb-ink-strong)]", children: topLabel }),
|
|
18170
18186
|
as === "button" ? /* @__PURE__ */ jsx182(
|
|
18171
18187
|
"button",
|
|
18172
18188
|
{
|
|
@@ -18359,7 +18375,13 @@ var AirbnbDatePicker = React73.forwardRef(
|
|
|
18359
18375
|
onClick: handleTriggerClick,
|
|
18360
18376
|
onKeyDown: handleTriggerKeyDown,
|
|
18361
18377
|
onBlur,
|
|
18362
|
-
trailingAdornment: /* @__PURE__ */ jsx183(
|
|
18378
|
+
trailingAdornment: /* @__PURE__ */ jsx183(
|
|
18379
|
+
Calendar2,
|
|
18380
|
+
{
|
|
18381
|
+
className: "h-5 w-5 text-[var(--chekin-airbnb-ink)]",
|
|
18382
|
+
strokeWidth: 2
|
|
18383
|
+
}
|
|
18384
|
+
)
|
|
18363
18385
|
}
|
|
18364
18386
|
),
|
|
18365
18387
|
/* @__PURE__ */ jsx183(
|
|
@@ -18513,7 +18535,7 @@ var AirbnbInput = React74.forwardRef(
|
|
|
18513
18535
|
tooltip,
|
|
18514
18536
|
describedBy: error && renderErrorMessage ? errorId : void 0,
|
|
18515
18537
|
className: cn(
|
|
18516
|
-
"px-4 focus-within:ring-2 focus-within:ring-[
|
|
18538
|
+
"px-4 focus-within:ring-2 focus-within:ring-[var(--chekin-airbnb-ink)] focus-within:ring-offset-2",
|
|
18517
18539
|
disabled ? "cursor-not-allowed" : "cursor-text",
|
|
18518
18540
|
fieldClassName
|
|
18519
18541
|
),
|
|
@@ -18543,7 +18565,7 @@ var AirbnbInput = React74.forwardRef(
|
|
|
18543
18565
|
"aria-label": accessibleLabel && hasLabelMeta ? accessibleLabel : void 0,
|
|
18544
18566
|
"aria-labelledby": accessibleLabel && !hasLabelMeta ? labelId : void 0,
|
|
18545
18567
|
className: cn(
|
|
18546
|
-
"absolute left-0 h-6 w-full border-0 bg-transparent p-0 text-[16px] leading-6 text-[
|
|
18568
|
+
"absolute left-0 h-6 w-full border-0 bg-transparent p-0 text-[16px] leading-6 text-[var(--chekin-airbnb-ink)] outline-none placeholder:text-[var(--chekin-airbnb-gray-cool)]",
|
|
18547
18569
|
"bottom-0",
|
|
18548
18570
|
hasInvalidState ? "text-[var(--status-danger)] placeholder:text-[var(--status-danger)]" : "",
|
|
18549
18571
|
disabled ? "cursor-not-allowed" : loading ? "cursor-progress" : "",
|
|
@@ -18559,14 +18581,16 @@ var AirbnbInput = React74.forwardRef(
|
|
|
18559
18581
|
type: "button",
|
|
18560
18582
|
onClick: togglePasswordReveal,
|
|
18561
18583
|
disabled: isBlocked,
|
|
18562
|
-
className: "absolute bottom-0 right-0 flex h-6 w-6 items-center justify-center border-0 bg-transparent p-0 text-[
|
|
18584
|
+
className: "absolute bottom-0 right-0 flex h-6 w-6 items-center justify-center border-0 bg-transparent p-0 text-[var(--chekin-airbnb-gray-cool)] hover:text-[var(--chekin-airbnb-ink)] hover:opacity-85 disabled:cursor-not-allowed disabled:opacity-50",
|
|
18563
18585
|
"aria-label": isPasswordRevealed ? t("hide_password") : t("show_password"),
|
|
18564
18586
|
children: /* @__PURE__ */ jsx184(
|
|
18565
18587
|
Eye2,
|
|
18566
18588
|
{
|
|
18567
18589
|
size: 18,
|
|
18568
18590
|
"aria-hidden": "true",
|
|
18569
|
-
className: cn(
|
|
18591
|
+
className: cn(
|
|
18592
|
+
isPasswordRevealed ? "text-[var(--chekin-airbnb-pink)]" : ""
|
|
18593
|
+
)
|
|
18570
18594
|
}
|
|
18571
18595
|
)
|
|
18572
18596
|
}
|
|
@@ -18618,7 +18642,7 @@ function AirbnbSelectDesktopMenu({
|
|
|
18618
18642
|
onKeyDown,
|
|
18619
18643
|
className: cn("max-h-[280px] overflow-y-auto p-2 outline-none", menuClassName),
|
|
18620
18644
|
children: [
|
|
18621
|
-
options.length === 0 && emptyMessage ? /* @__PURE__ */ jsx185("div", { className: "px-4 py-3 text-base leading-6 text-[
|
|
18645
|
+
options.length === 0 && emptyMessage ? /* @__PURE__ */ jsx185("div", { className: "px-4 py-3 text-base leading-6 text-[var(--chekin-airbnb-gray-text)]", children: emptyMessage }) : null,
|
|
18622
18646
|
options.map((option, index) => {
|
|
18623
18647
|
const isSelected = selectedValue?.value === option.value;
|
|
18624
18648
|
const isHighlighted = index === highlightedIndex;
|
|
@@ -18639,9 +18663,9 @@ function AirbnbSelectDesktopMenu({
|
|
|
18639
18663
|
onClick: () => onOptionClick(option),
|
|
18640
18664
|
onMouseMove: () => onOptionHover?.(index),
|
|
18641
18665
|
className: cn(
|
|
18642
|
-
"w-full rounded-2xl px-4 py-3 text-left text-base leading-6 text-[
|
|
18643
|
-
isHighlighted && "bg-[
|
|
18644
|
-
isSelected && "bg-[
|
|
18666
|
+
"w-full rounded-2xl px-4 py-3 text-left text-base leading-6 text-[var(--chekin-airbnb-zinc)] transition-colors",
|
|
18667
|
+
isHighlighted && "bg-[var(--chekin-airbnb-surface)]",
|
|
18668
|
+
isSelected && "bg-[var(--chekin-airbnb-surface)] font-medium text-[var(--chekin-airbnb-ink-black)]",
|
|
18645
18669
|
(disabled || option.isDisabled) && "cursor-not-allowed opacity-40"
|
|
18646
18670
|
),
|
|
18647
18671
|
children: String(option.label)
|
|
@@ -18680,7 +18704,7 @@ function AirbnbSelectDesktopContent({
|
|
|
18680
18704
|
"div",
|
|
18681
18705
|
{
|
|
18682
18706
|
className: cn(
|
|
18683
|
-
"absolute left-0 right-0 top-[calc(100%+8px)] z-20 overflow-hidden rounded-[20px] border border-[
|
|
18707
|
+
"absolute left-0 right-0 top-[calc(100%+8px)] z-20 overflow-hidden rounded-[20px] border border-[var(--chekin-airbnb-border)] bg-white shadow-[0_14px_30px_rgba(18,18,18,0.08)]",
|
|
18684
18708
|
dropdownClassName
|
|
18685
18709
|
),
|
|
18686
18710
|
children: /* @__PURE__ */ jsx186(
|
|
@@ -18812,7 +18836,7 @@ function AirbnbSelectMobileWheel({
|
|
|
18812
18836
|
onKeyDown,
|
|
18813
18837
|
className: cn("relative overflow-hidden outline-none", menuClassName),
|
|
18814
18838
|
children: [
|
|
18815
|
-
options.length === 0 && emptyMessage ? /* @__PURE__ */ jsx187("div", { className: "flex min-h-[160px] items-center justify-center px-4 text-center text-base leading-6 text-[
|
|
18839
|
+
options.length === 0 && emptyMessage ? /* @__PURE__ */ jsx187("div", { className: "flex min-h-[160px] items-center justify-center px-4 text-center text-base leading-6 text-[var(--chekin-airbnb-gray-text)]", children: emptyMessage }) : null,
|
|
18816
18840
|
/* @__PURE__ */ jsx187("div", { className: "pointer-events-none absolute inset-x-0 top-0 h-16 bg-gradient-to-b from-white via-white/80 to-transparent" }),
|
|
18817
18841
|
/* @__PURE__ */ jsx187("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 h-16 bg-gradient-to-t from-white via-white/80 to-transparent" }),
|
|
18818
18842
|
/* @__PURE__ */ jsx187(
|
|
@@ -18986,7 +19010,7 @@ var AirbnbSelectTrigger = React75.forwardRef(
|
|
|
18986
19010
|
trailingAdornment: /* @__PURE__ */ jsx189(
|
|
18987
19011
|
ChevronDown5,
|
|
18988
19012
|
{
|
|
18989
|
-
className: open ? "h-6 w-6 rotate-180 text-[
|
|
19013
|
+
className: open ? "h-6 w-6 rotate-180 text-[var(--chekin-airbnb-ink)] transition-transform" : "h-6 w-6 text-[var(--chekin-airbnb-ink)] transition-transform"
|
|
18990
19014
|
}
|
|
18991
19015
|
)
|
|
18992
19016
|
}
|
|
@@ -19711,7 +19735,7 @@ var AirbnbPhoneField = React80.forwardRef(
|
|
|
19711
19735
|
"label",
|
|
19712
19736
|
{
|
|
19713
19737
|
htmlFor: inputId,
|
|
19714
|
-
className: "mb-3 block text-[16px] font-medium leading-5 text-[
|
|
19738
|
+
className: "mb-3 block text-[16px] font-medium leading-5 text-[var(--chekin-airbnb-ink)]",
|
|
19715
19739
|
children: topLabel
|
|
19716
19740
|
}
|
|
19717
19741
|
),
|
|
@@ -19761,8 +19785,8 @@ var AirbnbPhoneField = React80.forwardRef(
|
|
|
19761
19785
|
onClick,
|
|
19762
19786
|
onKeyDown,
|
|
19763
19787
|
className: cn(
|
|
19764
|
-
"flex h-full min-h-[60px] w-full items-center justify-center gap-2 rounded-l-[16px] rounded-r-none border border-r-0 px-4 text-[16px] font-medium leading-6 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[
|
|
19765
|
-
hasInvalidState ? "border-[var(--status-danger)] bg-[#F2F2F2] text-[var(--status-danger)]" : "border-[
|
|
19788
|
+
"flex h-full min-h-[60px] w-full items-center justify-center gap-2 rounded-l-[16px] rounded-r-none border border-r-0 px-4 text-[16px] font-medium leading-6 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--chekin-airbnb-ink)] focus-visible:ring-offset-2",
|
|
19789
|
+
hasInvalidState ? "border-[var(--status-danger)] bg-[#F2F2F2] text-[var(--status-danger)]" : "border-[var(--chekin-airbnb-gray-muted)] bg-[var(--chekin-airbnb-surface-alt)] text-[var(--chekin-airbnb-ink)]",
|
|
19766
19790
|
triggerDisabled ? "cursor-not-allowed opacity-50" : triggerLoading ? "cursor-progress" : "cursor-pointer"
|
|
19767
19791
|
),
|
|
19768
19792
|
children: [
|
|
@@ -20055,7 +20079,7 @@ var AirbnbSearchableSelectInternal = ({
|
|
|
20055
20079
|
ChevronDown7,
|
|
20056
20080
|
{
|
|
20057
20081
|
className: cn(
|
|
20058
|
-
"h-6 w-6 text-[
|
|
20082
|
+
"h-6 w-6 text-[var(--chekin-airbnb-ink)] transition-transform",
|
|
20059
20083
|
open && "rotate-180"
|
|
20060
20084
|
)
|
|
20061
20085
|
}
|
|
@@ -20084,7 +20108,7 @@ var AirbnbSearchableSelectInternal = ({
|
|
|
20084
20108
|
"div",
|
|
20085
20109
|
{
|
|
20086
20110
|
className: cn(
|
|
20087
|
-
"absolute left-0 right-0 top-[calc(100%+8px)] z-20 overflow-hidden rounded-[20px] border border-[
|
|
20111
|
+
"absolute left-0 right-0 top-[calc(100%+8px)] z-20 overflow-hidden rounded-[20px] border border-[var(--chekin-airbnb-border)] bg-white shadow-[0_14px_30px_rgba(18,18,18,0.08)]",
|
|
20088
20112
|
dropdownClassName
|
|
20089
20113
|
),
|
|
20090
20114
|
children: content
|
|
@@ -20153,7 +20177,7 @@ function AirbnbSearchableSelectContent({
|
|
|
20153
20177
|
Search5,
|
|
20154
20178
|
{
|
|
20155
20179
|
"aria-hidden": "true",
|
|
20156
|
-
className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 text-[
|
|
20180
|
+
className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 text-[var(--chekin-neutral-500)]"
|
|
20157
20181
|
}
|
|
20158
20182
|
),
|
|
20159
20183
|
/* @__PURE__ */ jsx192(
|
|
@@ -20171,11 +20195,11 @@ function AirbnbSearchableSelectContent({
|
|
|
20171
20195
|
placeholder: searchPlaceholder,
|
|
20172
20196
|
onChange: (event) => onSearchChange(event.target.value),
|
|
20173
20197
|
onKeyDown: onSearchKeyDown,
|
|
20174
|
-
className: "h-11 w-full rounded-xl border border-[
|
|
20198
|
+
className: "h-11 w-full rounded-xl border border-[var(--chekin-airbnb-border)] bg-white pl-12 pr-4 text-base text-[var(--chekin-airbnb-ink)] outline-none placeholder:text-[var(--chekin-neutral-500)] focus:border-[var(--chekin-airbnb-ink)]"
|
|
20175
20199
|
}
|
|
20176
20200
|
)
|
|
20177
20201
|
] }),
|
|
20178
|
-
loading && options.length === 0 ? /* @__PURE__ */ jsx192("div", { className: "px-4 py-5 text-center text-base leading-6 text-[
|
|
20202
|
+
loading && options.length === 0 ? /* @__PURE__ */ jsx192("div", { className: "px-4 py-5 text-center text-base leading-6 text-[var(--chekin-airbnb-gray-text)]", children: loadingText }) : options.length === 0 ? /* @__PURE__ */ jsx192("div", { className: "px-4 py-5 text-center text-base leading-6 text-[var(--chekin-airbnb-gray-text)]", children: emptyMessage }) : /* @__PURE__ */ jsx192(
|
|
20179
20203
|
"div",
|
|
20180
20204
|
{
|
|
20181
20205
|
id: listboxId,
|
|
@@ -20195,7 +20219,7 @@ function AirbnbSearchableSelectContent({
|
|
|
20195
20219
|
return /* @__PURE__ */ jsx192(
|
|
20196
20220
|
"div",
|
|
20197
20221
|
{
|
|
20198
|
-
className: "absolute left-0 top-0 flex w-full items-center px-4 text-base leading-6 text-[
|
|
20222
|
+
className: "absolute left-0 top-0 flex w-full items-center px-4 text-base leading-6 text-[var(--chekin-airbnb-gray-text)]",
|
|
20199
20223
|
style: {
|
|
20200
20224
|
height: `${virtualItem.size}px`,
|
|
20201
20225
|
transform: `translateY(${virtualItem.start}px)`
|
|
@@ -20220,9 +20244,9 @@ function AirbnbSearchableSelectContent({
|
|
|
20220
20244
|
onClick: () => onOptionClick(option),
|
|
20221
20245
|
onMouseMove: () => onOptionHover(virtualItem.index),
|
|
20222
20246
|
className: cn(
|
|
20223
|
-
"absolute left-0 top-0 flex w-full items-center justify-center rounded-2xl px-4 text-center text-base leading-6 text-[
|
|
20224
|
-
isHighlighted && "bg-[
|
|
20225
|
-
isSelected && "bg-[
|
|
20247
|
+
"absolute left-0 top-0 flex w-full items-center justify-center rounded-2xl px-4 text-center text-base leading-6 text-[var(--chekin-airbnb-zinc)] transition-colors",
|
|
20248
|
+
isHighlighted && "bg-[var(--chekin-airbnb-surface)]",
|
|
20249
|
+
isSelected && "bg-[var(--chekin-airbnb-surface)] font-medium text-[var(--chekin-airbnb-ink-black)]",
|
|
20226
20250
|
option.isDisabled && "cursor-not-allowed opacity-40"
|
|
20227
20251
|
),
|
|
20228
20252
|
style: {
|
|
@@ -20266,7 +20290,7 @@ var AirbnbSearchInput = React82.forwardRef(({ onReset, placeholder, wrapperClass
|
|
|
20266
20290
|
const { t } = useTranslation44();
|
|
20267
20291
|
const placeholderText = placeholder || t("search_property") + "...";
|
|
20268
20292
|
return /* @__PURE__ */ jsxs125("div", { className: cn("input-wrapper relative", wrapperClassName), children: [
|
|
20269
|
-
/* @__PURE__ */ jsx193(Search6, { className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[
|
|
20293
|
+
/* @__PURE__ */ jsx193(Search6, { className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[var(--chekin-neutral-500)]" }),
|
|
20270
20294
|
/* @__PURE__ */ jsx193(
|
|
20271
20295
|
"input",
|
|
20272
20296
|
{
|
|
@@ -20281,7 +20305,7 @@ var AirbnbSearchInput = React82.forwardRef(({ onReset, placeholder, wrapperClass
|
|
|
20281
20305
|
onBlur: props.onBlur,
|
|
20282
20306
|
placeholder: placeholderText,
|
|
20283
20307
|
className: cn(
|
|
20284
|
-
"placeholder-shown:bg-accent flex h-10 w-full rounded-md border border-input bg-background py-3 pl-12 pr-4 text-base text-[#2d3748] ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-base placeholder:font-medium placeholder:text-[
|
|
20308
|
+
"placeholder-shown:bg-accent flex h-10 w-full rounded-md border border-input bg-background py-3 pl-12 pr-4 text-base text-[#2d3748] ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-base placeholder:font-medium placeholder:text-[var(--chekin-neutral-500)] focus:border-gray-300 focus:outline-none focus:ring-0 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
20285
20309
|
props.className
|
|
20286
20310
|
)
|
|
20287
20311
|
}
|
|
@@ -20291,7 +20315,7 @@ var AirbnbSearchInput = React82.forwardRef(({ onReset, placeholder, wrapperClass
|
|
|
20291
20315
|
{
|
|
20292
20316
|
variant: "ghost",
|
|
20293
20317
|
onClick: onReset,
|
|
20294
|
-
className: "absolute right-0 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[
|
|
20318
|
+
className: "absolute right-0 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[var(--chekin-neutral-500)]",
|
|
20295
20319
|
children: /* @__PURE__ */ jsx193(X11, { className: "h-5 w-5" })
|
|
20296
20320
|
}
|
|
20297
20321
|
)
|
|
@@ -20329,7 +20353,7 @@ var AirbnbSwitch = React83.forwardRef(
|
|
|
20329
20353
|
"focus-visible:outline-none focus-visible:shadow-[var(--chekin-shadow-focus)]",
|
|
20330
20354
|
"disabled:cursor-not-allowed disabled:opacity-50 aria-busy:cursor-wait aria-busy:opacity-50",
|
|
20331
20355
|
"aria-readonly:cursor-default aria-readonly:opacity-100",
|
|
20332
|
-
"data-[state=checked]:bg-[
|
|
20356
|
+
"data-[state=checked]:bg-[var(--chekin-airbnb-ink-strong)] data-[state=unchecked]:bg-[var(--chekin-airbnb-border-soft)]",
|
|
20333
20357
|
className
|
|
20334
20358
|
),
|
|
20335
20359
|
id: fieldId,
|
|
@@ -20351,7 +20375,7 @@ var AirbnbSwitch = React83.forwardRef(
|
|
|
20351
20375
|
Check8,
|
|
20352
20376
|
{
|
|
20353
20377
|
"aria-hidden": "true",
|
|
20354
|
-
className: "h-3 w-3 text-[
|
|
20378
|
+
className: "h-3 w-3 text-[var(--chekin-airbnb-ink-strong)] opacity-0 transition-opacity duration-150 group-data-[state=checked]:opacity-100",
|
|
20355
20379
|
strokeWidth: 3
|
|
20356
20380
|
}
|
|
20357
20381
|
)
|