@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.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-[#e5e6ee]"
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-[#e5e6ee]"
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-[#e5e6ee]",
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-[#FFE8EF]"
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-[#e5e6ee] bg-[var(--chekin-color-white)]",
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-[#acacd5]", children: [
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-[#e8fcf7]",
4470
- color: "text-[#2bc29f]"
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-[#ffe2ed]",
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-[#E8FCF7] text-[#0F9F80]",
4819
- warn: "bg-[#FFF4E5] text-[#B86A00]",
4820
- error: "bg-[#FFE8EF] text-[var(--error-message-color)]"
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-[#e5e6ee] bg-[var(--chekin-color-white)] p-6", children: [
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-[#ACACD5]",
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-[#f4f6f8]"
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-[#e5e7eb] 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",
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-[#e5e7eb] bg-white text-[var(--chekin-color-brand-navy)] shadow-lg shadow-black/5",
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-[#f9fafb] focus:text-[var(--chekin-color-brand-navy)]",
6505
- "data-[highlighted]:bg-[#f9fafb] data-[highlighted]:text-[var(--chekin-color-brand-navy)]",
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-[#f3f4f6]", className),
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-[#f9fafb] hover:text-[var(--chekin-color-brand-navy)] data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
6662
- selected && "bg-[#f9fafb]"
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-[#e5e7eb] 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",
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-[#e5e7eb] bg-white p-4 shadow-lg outline-none",
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-[#e5e6ee] bg-white p-4 pl-14",
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-[#ff2467]",
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-[#ff2467]", children: error })
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 "#ff2765";
7311
- if (percentage <= 20) return "#ff673c";
7312
- if (percentage <= 40) return "#ffa514";
7313
- if (percentage <= 50) return "#ffc400";
7314
- if (percentage <= 60) return "#cdc326";
7315
- if (percentage <= 80) return "#78c366";
7316
- return "#2cc29e";
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 = "#ffb700",
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-[#9696b9] hover:text-[var(--chekin-color-brand-blue)]",
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-[#059669]",
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: "#161643",
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-[#9696b9] [&>div]:opacity-50",
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-[#acacd5] bg-[#f0f0f8] py-1.5 pl-3 pr-1.5",
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-[#161643]", children: file.name }),
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-[#6b6b95] transition-all hover:shadow-md active:opacity-95",
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/dashboard/input/Input.tsx
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/dashboard/input/useInputValueState.ts
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/dashboard/_fieldset/Fieldset.tsx
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-[12px]" : "top-[-10px] !px-1",
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/dashboard/input/Input.tsx
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-medium placeholder:text-[var(--chekin-color-gray-1)] placeholder:opacity-100",
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-[#9696b9] hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50",
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-[#fc98dd]" : "text-[var(--chekin-color-gray-2)]"
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/dashboard/copy-input/CopyInput.tsx
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/dashboard/phone-input/PhoneInput.tsx
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/dashboard/_select-internals/SelectFieldShell.tsx
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/dashboard/_select-internals/SelectMenu.tsx
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/dashboard/_select-internals/utils.ts
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/dashboard/_select-internals/slots/DefaultOption.tsx
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/dashboard/_select-internals/SelectMenu.tsx
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/dashboard/_select-internals/SelectMenuPanel.tsx
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/dashboard/_select-internals/SelectSearchInput.tsx
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/dashboard/_select-internals/SelectTrigger.tsx
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/dashboard/_select-internals/ComboboxTrigger.tsx
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-[#9696b9] hover:shadow-[0_3px_3px_#0f477734]",
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(SquareX2, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
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/dashboard/_select-internals/useSelectIds.ts
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/dashboard/_select-internals/useSelectMenuState.ts
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/dashboard/_select-internals/useSelectState.ts
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 !== void 0;
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, openMenu, closeMenu, setIsOpen } = useSelectMenuState({
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
- isValueSelected,
13322
- selectedOptions,
13327
+ isMulti,
13323
13328
  onSelectionChange,
13324
- closeMenuOnSelect,
13325
- setIsOpen,
13326
- getValueLabel,
13329
+ setInputValue,
13330
+ searchable,
13327
13331
  isSearchInDropdown,
13328
- searchable
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/dashboard/_select-internals/slots/DefaultMultiValueChip.tsx
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/dashboard/_select-internals/slots/DefaultControl.tsx
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/dashboard/_select-internals/slots/StaticControl.tsx
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-[#9696b9] hover:shadow-[0_3px_3px_#0f477734]",
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(SquareX3, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
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/dashboard/_select-internals/slots/DefaultMenuList.tsx
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/dashboard/_select-internals/slots/DefaultCreateOption.tsx
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/dashboard/_select-internals/slots/mergeComponents.ts
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/dashboard/select/Select.tsx
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/dashboard/select/useSetCorrectOptionIfThereIsOnlyValue.ts
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/dashboard/select/Select.tsx
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 && !state.inputValue,
14083
- isActivated: !state.isEmpty || state.isFocused || state.isOpen || Boolean(state.inputValue),
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: (event) => state.setInputValue(event.target.value),
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/dashboard/phone-input/utils.ts
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/dashboard/phone-input/PhoneInput.tsx
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/dashboard/creatable-select/CreatableSelect.tsx
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/dashboard/multi-select/MultiSelect.tsx
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/dashboard/creatable-multi-select/CreatableMultiSelect.tsx
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/dashboard/infinite-scroll-select/InfiniteScrollSelect.tsx
14495
+ // src/fields/infinite-scroll-select/InfiniteScrollSelect.tsx
14496
14496
  import * as React57 from "react";
14497
14497
 
14498
- // src/dashboard/infinite-scroll-select/VirtualMenuList.tsx
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/dashboard/infinite-scroll-select/InfiniteScrollContext.tsx
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/dashboard/infinite-scroll-select/VirtualMenuList.tsx
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/dashboard/infinite-scroll-select/InfiniteScrollSelect.tsx
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/dashboard/infinite-scroll-multi-select/InfiniteScrollMultiSelect.tsx
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/dashboard/select-checkboxes/SelectCheckboxes.tsx
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/dashboard/select-checkboxes/VisualCheckbox.tsx
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/dashboard/select-checkboxes/SelectCheckboxOption.tsx
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/dashboard/select-checkboxes/CountTrigger.tsx
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/dashboard/select-checkboxes/SelectAllRow.tsx
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/dashboard/select-checkboxes/SelectCheckboxes.tsx
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/dashboard/textarea/Textarea.tsx
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/dashboard/textarea/useTextareaValueState.ts
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/dashboard/textarea/Textarea.tsx
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-medium placeholder:text-[var(--chekin-color-gray-1)]",
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/dashboard/datepicker/Datepicker.tsx
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/dashboard/datepicker/Datepicker.tsx
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 sm:px-4", children: /* @__PURE__ */ jsx172(
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 sm:px-4", children: /* @__PURE__ */ jsx172(
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/dashboard/date-range-picker/DateRangePicker.tsx
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/dashboard/date-range-picker/isDayBlocked.ts
16619
+ // src/fields/date-range-picker/isDayBlocked.ts
16620
16620
  import { differenceInDays, isAfter, isBefore, isSameDay } from "date-fns";
16621
16621
 
16622
- // src/dashboard/date-range-picker/dateUtils.ts
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/dashboard/date-range-picker/isDayBlocked.ts
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/dashboard/date-range-picker/createDisabledMatchers.ts
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/dashboard/date-range-picker/hooks/useRangeValue.ts
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/dashboard/date-range-picker/hooks/useRangeTextInputs.ts
16729
+ // src/fields/date-range-picker/hooks/useRangeTextInputs.ts
16730
16730
  import * as React65 from "react";
16731
16731
 
16732
- // src/dashboard/date-range-picker/utils/inputFormat.ts
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/dashboard/date-range-picker/hooks/useRangeTextInputs.ts
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/dashboard/date-range-picker/hooks/useRangeMonthSync.ts
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/dashboard/date-range-picker/utils/rangeSelection.ts
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/dashboard/date-range-picker/components/DateRangeInputs.tsx
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-[#9696b9] outline-none hover:shadow-[0_3px_3px_#0f477734] disabled:cursor-not-allowed";
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(SquareX4, { size: 16, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
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/dashboard/date-range-picker/components/DateRangeCalendar.tsx
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/dashboard/date-range-picker/components/DateRangePopover.tsx
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/dashboard/date-range-picker/DateRangePicker.tsx
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/dashboard/date-range-picker/useValidateDates.ts
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/dashboard/time-picker/TimePicker.tsx
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/dashboard/file-input/FileInput.tsx
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-[#acacd5] bg-[#f0f0f8] pl-[10px] pr-1",
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-[#9696b9] outline-none hover:shadow-[0_3px_3px_#0f477734]",
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(SquareX5, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
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/dashboard/select-icons-box/SelectIconsBox.tsx
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 = "#6B6B95",
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-[#f4f6f8]",
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-[#cecede] bg-[#f4f6f8] px-4 py-3 text-[#161643] outline-none [scrollbar-color:#777e91_transparent] [scrollbar-gutter:stable] placeholder:text-[#6b6b95] placeholder:opacity-100 focus:border-[#385bf8] focus:bg-white focus:transition-colors focus:duration-100 focus:ease-in-out [&:not(:placeholder-shown)]:bg-white",
18012
- invalid && "border-[#ff2467] focus:border-[#ff2467]",
18013
- disabled && "cursor-not-allowed resize-none border-[#9696b9] bg-[#f4f6f8] text-[#9696b9] placeholder:text-[#9696b9]",
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-[#6b6b95] 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-[#385bf8] 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",
18025
- invalid && "text-[#ff2467] peer-focus:text-[#ff2467]",
18026
- disabled && "text-[#9696b9]"
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-[#8c8c8c] pl-4 pr-4 focus-visible:ring-2 focus-visible:ring-[#222222] focus-visible:ring-offset-2",
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-[#FFF5F3]" : "border-[#8c8c8c]",
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-[#6c6c6c]"
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-[#222222]"
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-[#222222]", children: topLabel }),
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(Calendar2, { className: "h-5 w-5 text-[#1F1F1B]", strokeWidth: 2 })
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-[#1F1F1B] focus-within:ring-offset-2",
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-[#1F1F1B] outline-none placeholder:text-[#7A8399]",
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-[#7A8399] hover:text-[#1F1F1B] hover:opacity-85 disabled:cursor-not-allowed disabled:opacity-50",
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(isPasswordRevealed ? "text-[#fc98dd]" : "")
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-[#6C6C6C]", children: emptyMessage }) : null,
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-[#3F3F46] transition-colors",
18643
- isHighlighted && "bg-[#F7F6F4]",
18644
- isSelected && "bg-[#F7F6F4] font-medium text-[#171717]",
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-[#DEDAD2] bg-white shadow-[0_14px_30px_rgba(18,18,18,0.08)]",
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-[#6C6C6C]", children: emptyMessage }) : null,
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-[#1F1F1B] transition-transform" : "h-6 w-6 text-[#1F1F1B] transition-transform"
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-[#1F1F1B]",
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-[#1F1F1B] focus-visible:ring-offset-2",
19765
- hasInvalidState ? "border-[var(--status-danger)] bg-[#F2F2F2] text-[var(--status-danger)]" : "border-[#8C8C8C] bg-[#F4F4F2] text-[#1F1F1B]",
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-[#1F1F1B] transition-transform",
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-[#DEDAD2] bg-white shadow-[0_14px_30px_rgba(18,18,18,0.08)]",
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-[#9696B9]"
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-[#DEDAD2] bg-white pl-12 pr-4 text-base text-[#1F1F1B] outline-none placeholder:text-[#9696B9] focus:border-[#1F1F1B]"
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-[#6C6C6C]", children: loadingText }) : options.length === 0 ? /* @__PURE__ */ jsx192("div", { className: "px-4 py-5 text-center text-base leading-6 text-[#6C6C6C]", children: emptyMessage }) : /* @__PURE__ */ jsx192(
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-[#6C6C6C]",
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-[#3F3F46] transition-colors",
20224
- isHighlighted && "bg-[#F7F6F4]",
20225
- isSelected && "bg-[#F7F6F4] font-medium text-[#171717]",
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-[#9696B9]" }),
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-[#9696B9] focus:border-gray-300 focus:outline-none focus:ring-0 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
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-[#9696B9]",
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-[#222222] data-[state=unchecked]:bg-[#E7E7E4]",
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-[#222222] opacity-0 transition-opacity duration-150 group-data-[state=checked]:opacity-100",
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
  )