@chekinapp/ui 0.0.113 → 0.0.114

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 CHANGED
@@ -12796,6 +12796,7 @@ var import_react_i18next33 = require("react-i18next");
12796
12796
  // src/dashboard/_select-internals/SelectFieldShell.tsx
12797
12797
  var import_react_i18next27 = require("react-i18next");
12798
12798
  var import_jsx_runtime146 = require("react/jsx-runtime");
12799
+ var FOCUSABLE_TRIGGER_SELECTOR = 'input:not([type="hidden"]):not([disabled]):not([readonly]), button:not([disabled])';
12799
12800
  function SelectFieldShell({
12800
12801
  containerRef,
12801
12802
  className,
@@ -12816,13 +12817,22 @@ function SelectFieldShell({
12816
12817
  }) {
12817
12818
  const { t } = (0, import_react_i18next27.useTranslation)();
12818
12819
  const wrapperWidth = toCssSize(width);
12820
+ const handleContainerFocus = (event) => {
12821
+ if (event.target !== event.currentTarget) return;
12822
+ const focusable = event.currentTarget.querySelector(
12823
+ FOCUSABLE_TRIGGER_SELECTOR
12824
+ );
12825
+ focusable?.focus();
12826
+ };
12819
12827
  return /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)(
12820
12828
  "div",
12821
12829
  {
12822
12830
  ref: containerRef,
12831
+ tabIndex: -1,
12823
12832
  onBlur,
12833
+ onFocus: handleContainerFocus,
12824
12834
  className: cn(
12825
- "relative w-full max-w-[var(--field-max-width,296px)]",
12835
+ "relative w-full max-w-[var(--field-max-width,296px)] outline-none",
12826
12836
  disabled && !loading && "cursor-not-allowed opacity-50",
12827
12837
  loading && "cursor-progress opacity-50",
12828
12838
  className
@@ -12894,6 +12904,7 @@ function defaultIsOptionSelected(option, selectValue) {
12894
12904
  }
12895
12905
 
12896
12906
  // src/dashboard/_select-internals/slots/DefaultOption.tsx
12907
+ var import_lucide_react43 = require("lucide-react");
12897
12908
  var import_jsx_runtime147 = require("react/jsx-runtime");
12898
12909
  function DefaultOption(props) {
12899
12910
  const {
@@ -12902,7 +12913,7 @@ function DefaultOption(props) {
12902
12913
  isSelected,
12903
12914
  isHighlighted,
12904
12915
  isDisabled,
12905
- isLast,
12916
+ isMulti,
12906
12917
  id,
12907
12918
  onClick,
12908
12919
  onHover,
@@ -12930,15 +12941,26 @@ function DefaultOption(props) {
12930
12941
  onClick: () => onClick(option),
12931
12942
  onMouseMove: () => onHover(index),
12932
12943
  className: cn(
12933
- "flex w-full items-start justify-between border-0 border-b border-[#f2f4f8] bg-white px-4 py-[20px] text-left text-[16px] font-medium leading-5 text-[var(--chekin-color-brand-navy)] outline-none transition-colors",
12934
- isLast && "border-b-transparent",
12935
- isHighlighted && !isSelected && "cursor-pointer text-[var(--chekin-color-brand-blue)]",
12936
- isSelected && "cursor-default font-bold text-[var(--chekin-color-brand-navy)]",
12937
- isDisabled && "cursor-default opacity-30"
12944
+ "group relative flex w-full items-start justify-between gap-2 rounded-md border-0 bg-transparent px-3 py-2.5 text-left text-[15px] font-medium leading-5 text-[var(--chekin-color-brand-navy)] outline-none transition-colors duration-100",
12945
+ !isDisabled && "cursor-pointer hover:bg-[var(--chekin-color-surface-pressed)]",
12946
+ isHighlighted && !isDisabled && "bg-[var(--chekin-color-surface-pressed)]",
12947
+ isSelected && "bg-[var(--chekin-color-surface-autocomplete)] font-semibold text-[var(--chekin-color-brand-blue)]",
12948
+ isDisabled && "cursor-not-allowed text-[var(--chekin-color-gray-2)]"
12938
12949
  ),
12939
12950
  children: [
12940
- /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "block break-words", children: labelContent }),
12941
- option.description && /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "ml-2 mt-[3px] shrink-0 text-[12px] font-bold italic text-[#777e91]", children: option.description })
12951
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "block min-w-0 break-words", children: labelContent }),
12952
+ option.description && /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "ml-auto shrink-0 self-center text-[12px] font-medium italic text-[var(--chekin-color-gray-1)]", children: option.description }),
12953
+ isSelected && /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
12954
+ import_lucide_react43.Check,
12955
+ {
12956
+ "aria-hidden": "true",
12957
+ className: cn(
12958
+ "shrink-0 text-[var(--chekin-color-brand-blue)]",
12959
+ isMulti ? "ml-1 mt-0.5 h-3.5 w-3.5" : "ml-2 mt-0.5 h-4 w-4"
12960
+ ),
12961
+ strokeWidth: 2.5
12962
+ }
12963
+ )
12942
12964
  ]
12943
12965
  }
12944
12966
  );
@@ -12970,7 +12992,8 @@ function SelectMenu({
12970
12992
  components,
12971
12993
  inputValue = "",
12972
12994
  formatOptionLabel,
12973
- isOptionSelected: isOptionSelected2
12995
+ isOptionSelected: isOptionSelected2,
12996
+ onMenuScrollToBottom
12974
12997
  }) {
12975
12998
  const { t } = (0, import_react_i18next28.useTranslation)();
12976
12999
  const emptyMessage = noOptionsMessage?.() ?? t("no_options");
@@ -12981,6 +13004,19 @@ function SelectMenu({
12981
13004
  () => selectedValues ?? (selectedValue ? [selectedValue] : []),
12982
13005
  [selectedValues, selectedValue]
12983
13006
  );
13007
+ const wasAtBottomRef = React45.useRef(false);
13008
+ const handleScroll = React45.useCallback(
13009
+ (event) => {
13010
+ if (!onMenuScrollToBottom) return;
13011
+ const target = event.currentTarget;
13012
+ const atBottom = target.scrollHeight - target.scrollTop - target.clientHeight <= 1;
13013
+ if (atBottom && !wasAtBottomRef.current) {
13014
+ onMenuScrollToBottom(event);
13015
+ }
13016
+ wasAtBottomRef.current = atBottom;
13017
+ },
13018
+ [onMenuScrollToBottom]
13019
+ );
12984
13020
  return /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
12985
13021
  "div",
12986
13022
  {
@@ -12993,12 +13029,14 @@ function SelectMenu({
12993
13029
  "aria-multiselectable": isMulti,
12994
13030
  "aria-activedescendant": highlightedIndex !== void 0 && highlightedIndex >= 0 ? getOptionId2(highlightedIndex) : void 0,
12995
13031
  onKeyDown,
13032
+ onScroll: onMenuScrollToBottom ? handleScroll : void 0,
12996
13033
  className: cn(
12997
- "h-auto max-h-[322px] min-h-[75px] overflow-y-auto px-4 pb-[19px] pt-[17px] outline-none",
13034
+ "max-h-[300px] overflow-y-auto overscroll-contain p-1.5 outline-none",
13035
+ "[scrollbar-color:var(--chekin-color-gray-3)_transparent] [scrollbar-width:thin] [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-[var(--chekin-color-gray-3)] [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar]:w-1.5",
12998
13036
  menuClassName
12999
13037
  ),
13000
13038
  children: [
13001
- !hasOptions && (emptyContent ?? /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "mt-[10px] text-left text-[16px] text-[var(--chekin-color-brand-navy)]", children: emptyMessage })),
13039
+ !hasOptions && (emptyContent ?? /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "px-3 py-3 text-left text-[14px] font-medium text-[var(--chekin-color-gray-1)]", children: emptyMessage })),
13002
13040
  options.map((option, index) => {
13003
13041
  const isSelected = isOptionSelected2 ? isOptionSelected2(option, selectedList) : isOptionSelected(option, selectedValue, selectedValues);
13004
13042
  const isHighlighted = index === highlightedIndex;
@@ -13088,7 +13126,7 @@ function SelectMenuPanel({
13088
13126
  "div",
13089
13127
  {
13090
13128
  className: cn(
13091
- "absolute left-0 right-0 top-full z-20 overflow-hidden rounded-b-lg bg-white shadow-[0_30px_30px_0_rgba(33,72,255,0.2)]",
13129
+ "absolute left-0 right-0 top-full z-50 mt-1.5 overflow-hidden rounded-lg border border-[var(--chekin-color-gray-3)] bg-white shadow-[0_4px_8px_-2px_rgba(22,22,67,0.06),0_16px_32px_-12px_rgba(33,72,255,0.18)] ring-1 ring-black/[0.02] animate-in fade-in-0 zoom-in-95 slide-in-from-top-1 duration-150",
13092
13130
  className
13093
13131
  ),
13094
13132
  children
@@ -13097,7 +13135,7 @@ function SelectMenuPanel({
13097
13135
  }
13098
13136
 
13099
13137
  // src/dashboard/_select-internals/SelectSearchInput.tsx
13100
- var import_lucide_react43 = require("lucide-react");
13138
+ var import_lucide_react44 = require("lucide-react");
13101
13139
  var import_jsx_runtime150 = require("react/jsx-runtime");
13102
13140
  function SelectSearchInput({
13103
13141
  inputRef,
@@ -13108,12 +13146,12 @@ function SelectSearchInput({
13108
13146
  onChange,
13109
13147
  onKeyDown
13110
13148
  }) {
13111
- return /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("div", { className: "border-b border-[#f2f4f8] px-4 pb-2 pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)("div", { className: "relative", children: [
13149
+ return /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("div", { className: "border-b border-[var(--chekin-color-gray-3)] bg-white p-2", children: /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)("div", { className: "relative", children: [
13112
13150
  /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(
13113
- import_lucide_react43.Search,
13151
+ import_lucide_react44.Search,
13114
13152
  {
13115
13153
  "aria-hidden": "true",
13116
- className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--chekin-color-gray-2)]"
13154
+ className: "pointer-events-none absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--chekin-color-gray-2)]"
13117
13155
  }
13118
13156
  ),
13119
13157
  /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(
@@ -13128,14 +13166,14 @@ function SelectSearchInput({
13128
13166
  autoComplete: "off",
13129
13167
  "aria-controls": listboxId,
13130
13168
  "aria-activedescendant": activeOptionId,
13131
- className: "m-0 box-border h-9 w-full rounded-md border border-[var(--chekin-color-gray-3)] bg-white px-9 text-[16px] font-medium text-[var(--chekin-color-brand-navy)] outline-none transition-colors placeholder:text-[var(--chekin-color-gray-1)] focus:border-[var(--chekin-color-brand-blue)]"
13169
+ className: "m-0 box-border h-9 w-full rounded-md border border-[var(--chekin-color-gray-3)] bg-white pl-8 pr-3 text-[14px] font-medium text-[var(--chekin-color-brand-navy)] outline-none transition-colors placeholder:text-[var(--chekin-color-gray-2)] hover:border-[var(--chekin-color-gray-2)] focus:border-[var(--chekin-color-brand-blue)] focus:ring-2 focus:ring-[var(--chekin-color-brand-blue)]/15"
13132
13170
  }
13133
13171
  )
13134
13172
  ] }) });
13135
13173
  }
13136
13174
 
13137
13175
  // src/dashboard/_select-internals/SelectTrigger.tsx
13138
- var import_lucide_react44 = require("lucide-react");
13176
+ var import_lucide_react45 = require("lucide-react");
13139
13177
  var import_jsx_runtime151 = require("react/jsx-runtime");
13140
13178
  function SelectTrigger({
13141
13179
  triggerRef,
@@ -13183,7 +13221,7 @@ function SelectTrigger({
13183
13221
  children: [
13184
13222
  /* @__PURE__ */ (0, import_jsx_runtime151.jsx)("span", { id: valueId, className: "block min-w-0 flex-1 truncate text-left", children: valueLabel ?? (isOpen ? placeholder : null) }),
13185
13223
  /* @__PURE__ */ (0, import_jsx_runtime151.jsx)("span", { className: "pointer-events-none flex items-center gap-2 text-[var(--chekin-color-gray-2)]", children: /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(
13186
- import_lucide_react44.ChevronDown,
13224
+ import_lucide_react45.ChevronDown,
13187
13225
  {
13188
13226
  size: 16,
13189
13227
  className: cn(
@@ -13198,7 +13236,7 @@ function SelectTrigger({
13198
13236
  }
13199
13237
 
13200
13238
  // src/dashboard/_select-internals/ComboboxTrigger.tsx
13201
- var import_lucide_react45 = require("lucide-react");
13239
+ var import_lucide_react46 = require("lucide-react");
13202
13240
  var import_react_i18next30 = require("react-i18next");
13203
13241
  var import_jsx_runtime152 = require("react/jsx-runtime");
13204
13242
  function ComboboxTrigger({
@@ -13307,7 +13345,7 @@ function ComboboxTrigger({
13307
13345
  onClick: onClear,
13308
13346
  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]",
13309
13347
  "aria-label": clearLabel,
13310
- children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_lucide_react45.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
13348
+ children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_lucide_react46.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
13311
13349
  }
13312
13350
  ),
13313
13351
  !hideIndicator && /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
@@ -13763,7 +13801,7 @@ function useSelectState(params) {
13763
13801
  }
13764
13802
 
13765
13803
  // src/dashboard/_select-internals/slots/DefaultMultiValueChip.tsx
13766
- var import_lucide_react46 = require("lucide-react");
13804
+ var import_lucide_react47 = require("lucide-react");
13767
13805
  var import_react_i18next31 = require("react-i18next");
13768
13806
  var import_jsx_runtime153 = require("react/jsx-runtime");
13769
13807
  function DefaultMultiValueChip({
@@ -13773,8 +13811,8 @@ function DefaultMultiValueChip({
13773
13811
  }) {
13774
13812
  const { t } = (0, import_react_i18next31.useTranslation)();
13775
13813
  const labelText = typeof option.label === "string" ? option.label : String(option.value);
13776
- return /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)("span", { className: "inline-flex items-center gap-2 rounded-[4px] border border-[#acacd5] bg-[#f0f0f8] py-[2px] pl-[10px] pr-1 text-[12px] font-medium text-[var(--chekin-color-brand-navy)]", children: [
13777
- /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("span", { className: "whitespace-nowrap", children: option.label }),
13814
+ return /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)("span", { className: "inline-flex items-center gap-1 rounded-md border border-[var(--chekin-color-gray-3)] bg-[var(--chekin-color-surface-pressed)] py-0.5 pl-2 pr-1 text-[13px] font-medium text-[var(--chekin-color-brand-navy)] transition-colors", children: [
13815
+ /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("span", { className: "whitespace-nowrap leading-5", children: option.label }),
13778
13816
  !readOnly && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
13779
13817
  "button",
13780
13818
  {
@@ -13783,9 +13821,9 @@ function DefaultMultiValueChip({
13783
13821
  event.stopPropagation();
13784
13822
  onRemove();
13785
13823
  },
13786
- className: "flex h-[15px] w-[15px] items-center justify-center rounded-[3px] border-0 bg-transparent p-0 text-[#9696b9] hover:shadow-[0_3px_3px_#0f477734]",
13824
+ className: "flex h-4 w-4 items-center justify-center rounded-sm border-0 bg-transparent p-0 text-[var(--chekin-color-gray-1)] outline-none transition-colors hover:bg-white/70 hover:text-[var(--chekin-color-brand-navy)] focus-visible:ring-2 focus-visible:ring-[var(--chekin-color-brand-blue)]/30",
13787
13825
  "aria-label": t("remove_item", { label: labelText }),
13788
- children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_lucide_react46.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
13826
+ children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_lucide_react47.X, { size: 12, strokeWidth: 2.5 })
13789
13827
  }
13790
13828
  )
13791
13829
  ] });
@@ -13942,7 +13980,8 @@ function DefaultMenuList(props) {
13942
13980
  components,
13943
13981
  inputValue,
13944
13982
  formatOptionLabel,
13945
- isOptionSelected: isOptionSelected2
13983
+ isOptionSelected: isOptionSelected2,
13984
+ onMenuScrollToBottom
13946
13985
  } = props;
13947
13986
  return /* @__PURE__ */ (0, import_jsx_runtime156.jsx)(
13948
13987
  SelectMenu,
@@ -13969,7 +14008,8 @@ function DefaultMenuList(props) {
13969
14008
  components,
13970
14009
  inputValue,
13971
14010
  formatOptionLabel,
13972
- isOptionSelected: isOptionSelected2
14011
+ isOptionSelected: isOptionSelected2,
14012
+ onMenuScrollToBottom
13973
14013
  }
13974
14014
  );
13975
14015
  }
@@ -14059,7 +14099,8 @@ function SelectInternal(props, ref) {
14059
14099
  components: userComponents,
14060
14100
  onInputChange,
14061
14101
  searchPosition = "trigger",
14062
- menuHeader
14102
+ menuHeader,
14103
+ onMenuScrollToBottom
14063
14104
  } = props;
14064
14105
  const isSearchInDropdown = searchPosition === "dropdown";
14065
14106
  const isMulti = props.isMulti === true;
@@ -14250,7 +14291,8 @@ function SelectInternal(props, ref) {
14250
14291
  components,
14251
14292
  inputValue: state.inputValue,
14252
14293
  formatOptionLabel,
14253
- isOptionSelected: isOptionSelected2
14294
+ isOptionSelected: isOptionSelected2,
14295
+ onMenuScrollToBottom
14254
14296
  }
14255
14297
  ),
14256
14298
  state.canCreateNewOption && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
@@ -14314,7 +14356,8 @@ function VirtualMenuList(props) {
14314
14356
  components,
14315
14357
  inputValue = "",
14316
14358
  formatOptionLabel,
14317
- isOptionSelected: isOptionSelectedProp
14359
+ isOptionSelected: isOptionSelectedProp,
14360
+ onMenuScrollToBottom
14318
14361
  } = props;
14319
14362
  const {
14320
14363
  canLoadMore,
@@ -14362,6 +14405,19 @@ function VirtualMenuList(props) {
14362
14405
  const lastOptionIndex = options.length - 1;
14363
14406
  const emptyMessage = noOptionsMessage?.() ?? t("no_options");
14364
14407
  const isOptionSelected2 = (option) => isOptionSelectedProp ? isOptionSelectedProp(option, selectedOptions) : selectedOptions.some((s) => s.value === option.value);
14408
+ const wasAtBottomRef = React51.useRef(false);
14409
+ const handleScroll = React51.useCallback(
14410
+ (event) => {
14411
+ if (!onMenuScrollToBottom) return;
14412
+ const target = event.currentTarget;
14413
+ const atBottom = target.scrollHeight - target.scrollTop - target.clientHeight <= 1;
14414
+ if (atBottom && !wasAtBottomRef.current) {
14415
+ onMenuScrollToBottom(event);
14416
+ }
14417
+ wasAtBottomRef.current = atBottom;
14418
+ },
14419
+ [onMenuScrollToBottom]
14420
+ );
14365
14421
  if (options.length === 0) {
14366
14422
  return /* @__PURE__ */ (0, import_jsx_runtime159.jsx)("div", { className: "min-h-[75px] px-4 pb-[19px] pt-[17px]", children: isLoadingMore ? /* @__PURE__ */ (0, import_jsx_runtime159.jsxs)(
14367
14423
  "div",
@@ -14390,6 +14446,7 @@ function VirtualMenuList(props) {
14390
14446
  ref: scrollRef,
14391
14447
  className: cn("overflow-y-auto", menuClassName),
14392
14448
  style: { height: `${measuredListHeight}px` },
14449
+ onScroll: onMenuScrollToBottom ? handleScroll : void 0,
14393
14450
  children: /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
14394
14451
  "div",
14395
14452
  {
@@ -14871,7 +14928,6 @@ function SelectCheckboxOption(props) {
14871
14928
  isSelected,
14872
14929
  isHighlighted,
14873
14930
  isDisabled,
14874
- isLast,
14875
14931
  id,
14876
14932
  onClick,
14877
14933
  onHover,
@@ -14891,11 +14947,11 @@ function SelectCheckboxOption(props) {
14891
14947
  onClick: () => onClick(option),
14892
14948
  onMouseMove: () => onHover(index),
14893
14949
  className: cn(
14894
- "flex w-full items-center gap-3 border-0 border-b border-[#f2f4f8] bg-white px-4 py-[14px] text-left text-[16px] font-medium leading-5 text-[var(--chekin-color-brand-navy)] outline-none transition-colors",
14895
- isLast && "border-b-transparent",
14950
+ "flex w-full items-center gap-3 rounded-md border-0 bg-transparent px-3 py-2 text-left text-[15px] font-medium leading-5 text-[var(--chekin-color-brand-navy)] outline-none transition-colors duration-100",
14951
+ !isDisabled && "cursor-pointer hover:bg-[var(--chekin-color-surface-pressed)]",
14896
14952
  isHighlighted && !isDisabled && "bg-[var(--chekin-color-surface-pressed)]",
14897
- isSelected && "font-bold",
14898
- isDisabled && "cursor-default opacity-40"
14953
+ isSelected && "bg-[var(--chekin-color-surface-autocomplete)] font-semibold text-[var(--chekin-color-brand-blue)]",
14954
+ isDisabled && "cursor-not-allowed text-[var(--chekin-color-gray-2)]"
14899
14955
  ),
14900
14956
  children: [
14901
14957
  /* @__PURE__ */ (0, import_jsx_runtime167.jsx)(
@@ -14908,9 +14964,9 @@ function SelectCheckboxOption(props) {
14908
14964
  className: "pointer-events-none shrink-0"
14909
14965
  }
14910
14966
  ),
14911
- /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)("span", { className: "flex min-w-0 flex-1 items-start justify-between gap-2", children: [
14967
+ /* @__PURE__ */ (0, import_jsx_runtime167.jsxs)("span", { className: "flex min-w-0 flex-1 items-center justify-between gap-2", children: [
14912
14968
  /* @__PURE__ */ (0, import_jsx_runtime167.jsx)("span", { className: "block break-words", children: option.label }),
14913
- option.description && /* @__PURE__ */ (0, import_jsx_runtime167.jsx)("span", { className: "shrink-0 text-[12px] font-bold italic text-[#777e91]", children: option.description })
14969
+ option.description && /* @__PURE__ */ (0, import_jsx_runtime167.jsx)("span", { className: "shrink-0 text-[12px] font-medium italic text-[var(--chekin-color-gray-1)]", children: option.description })
14914
14970
  ] })
14915
14971
  ]
14916
14972
  }
@@ -14918,7 +14974,7 @@ function SelectCheckboxOption(props) {
14918
14974
  }
14919
14975
 
14920
14976
  // src/dashboard/select-checkboxes/CountTrigger.tsx
14921
- var import_lucide_react47 = require("lucide-react");
14977
+ var import_lucide_react48 = require("lucide-react");
14922
14978
  var import_react_i18next36 = require("react-i18next");
14923
14979
  var import_jsx_runtime168 = require("react/jsx-runtime");
14924
14980
  function createCountTrigger(opts) {
@@ -14969,7 +15025,7 @@ function createCountTrigger(opts) {
14969
15025
  children: [
14970
15026
  /* @__PURE__ */ (0, import_jsx_runtime168.jsx)("span", { id: valueId, className: "block min-w-0 flex-1 truncate text-left", children: display }),
14971
15027
  /* @__PURE__ */ (0, import_jsx_runtime168.jsx)("span", { className: "pointer-events-none flex items-center gap-2 text-[var(--chekin-color-gray-2)]", children: /* @__PURE__ */ (0, import_jsx_runtime168.jsx)(
14972
- import_lucide_react47.ChevronDown,
15028
+ import_lucide_react48.ChevronDown,
14973
15029
  {
14974
15030
  size: 16,
14975
15031
  className: cn(
@@ -15355,7 +15411,7 @@ var Textarea = React61.forwardRef(function Textarea2({
15355
15411
 
15356
15412
  // src/dashboard/datepicker/Datepicker.tsx
15357
15413
  var React63 = __toESM(require("react"), 1);
15358
- var import_lucide_react48 = require("lucide-react");
15414
+ var import_lucide_react49 = require("lucide-react");
15359
15415
  var import_react_i18next39 = require("react-i18next");
15360
15416
 
15361
15417
  // src/airbnb-fields/datepicker/useDatePickerWheel.ts
@@ -16104,7 +16160,11 @@ var Datepicker = React63.forwardRef(
16104
16160
  const [monthInputValue, setMonthInputValue] = React63.useState("");
16105
16161
  const [monthHighlightIndex, setMonthHighlightIndex] = React63.useState(-1);
16106
16162
  const isMobile3 = useIsMobile();
16107
- React63.useImperativeHandle(ref, () => dayInputRef.current, []);
16163
+ React63.useImperativeHandle(
16164
+ ref,
16165
+ () => dayInputRef.current ?? mobileTriggerRef.current,
16166
+ [isMobile3]
16167
+ );
16108
16168
  React63.useEffect(() => {
16109
16169
  if (!isControlled) return;
16110
16170
  const next = partsFromDate(value ?? null);
@@ -16358,7 +16418,7 @@ var Datepicker = React63.forwardRef(
16358
16418
  children: [
16359
16419
  /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("span", { className: "block min-w-0 flex-1 truncate text-left", children: triggerText ?? (isWheelOpen ? mobilePlaceholder : null) }),
16360
16420
  /* @__PURE__ */ (0, import_jsx_runtime174.jsx)("span", { className: "pointer-events-none flex items-center gap-2 text-[var(--chekin-color-gray-2)]", children: /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
16361
- import_lucide_react48.ChevronDown,
16421
+ import_lucide_react49.ChevronDown,
16362
16422
  {
16363
16423
  size: 16,
16364
16424
  className: cn(
@@ -16443,7 +16503,7 @@ var Datepicker = React63.forwardRef(
16443
16503
  }
16444
16504
  ),
16445
16505
  /* @__PURE__ */ (0, import_jsx_runtime174.jsx)(
16446
- import_lucide_react48.ChevronDown,
16506
+ import_lucide_react49.ChevronDown,
16447
16507
  {
16448
16508
  size: 14,
16449
16509
  onMouseDown: (event) => {
@@ -16768,7 +16828,7 @@ function resolveRangeSelection({
16768
16828
  }
16769
16829
 
16770
16830
  // src/dashboard/date-range-picker/components/DateRangeInputs.tsx
16771
- var import_lucide_react49 = require("lucide-react");
16831
+ var import_lucide_react50 = require("lucide-react");
16772
16832
  var import_jsx_runtime175 = require("react/jsx-runtime");
16773
16833
  var DEFAULT_PLACEHOLDER = "00-00-0000";
16774
16834
  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)]";
@@ -16888,7 +16948,7 @@ function DateRangeInputs({
16888
16948
  onClick: onReset,
16889
16949
  className: iconButtonClass,
16890
16950
  "aria-label": clearLabel,
16891
- children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(import_lucide_react49.SquareX, { size: 16, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
16951
+ children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(import_lucide_react50.SquareX, { size: 16, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
16892
16952
  }
16893
16953
  ),
16894
16954
  !readOnly && !hideCalendarIcon && /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(
@@ -16903,7 +16963,7 @@ function DateRangeInputs({
16903
16963
  focusedInput !== null || isOpen ? "text-[var(--chekin-color-brand-blue)]" : "text-[var(--chekin-color-gray-2)]"
16904
16964
  ),
16905
16965
  "aria-label": openCalendarLabel,
16906
- children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(import_lucide_react49.CalendarDays, { size: 18 })
16966
+ children: /* @__PURE__ */ (0, import_jsx_runtime175.jsx)(import_lucide_react50.CalendarDays, { size: 18 })
16907
16967
  }
16908
16968
  )
16909
16969
  ] })
@@ -17449,7 +17509,7 @@ var TimePicker = React69.forwardRef(function TimePicker2({ format: formatName =
17449
17509
 
17450
17510
  // src/dashboard/file-input/FileInput.tsx
17451
17511
  var React70 = __toESM(require("react"), 1);
17452
- var import_lucide_react50 = require("lucide-react");
17512
+ var import_lucide_react51 = require("lucide-react");
17453
17513
  var import_react_i18next42 = require("react-i18next");
17454
17514
  var import_jsx_runtime180 = require("react/jsx-runtime");
17455
17515
  function defaultDownload(url) {
@@ -17561,7 +17621,7 @@ var FileInput = React70.forwardRef(function FileInput2({
17561
17621
  className: "inline-flex items-center gap-[7px] truncate border-0 bg-transparent p-0 text-[14px] font-medium text-[var(--chekin-color-brand-navy)] outline-none",
17562
17622
  children: [
17563
17623
  /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("span", { className: "truncate", children: resolvedDownloadLabel }),
17564
- /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_lucide_react50.Download, { size: 15 })
17624
+ /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_lucide_react51.Download, { size: 15 })
17565
17625
  ]
17566
17626
  }
17567
17627
  ) : /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("span", { className: "truncate text-[14px] font-medium text-[var(--chekin-color-brand-navy)]", children: value.name }),
@@ -17573,13 +17633,13 @@ var FileInput = React70.forwardRef(function FileInput2({
17573
17633
  onClick: handleClear,
17574
17634
  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]",
17575
17635
  "aria-label": t("remove_file"),
17576
- children: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_lucide_react50.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
17636
+ children: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_lucide_react51.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
17577
17637
  }
17578
17638
  )
17579
17639
  ]
17580
17640
  }
17581
17641
  ) : /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("span", { className: "block min-w-0 flex-1 truncate text-left text-[var(--chekin-color-gray-1)]", children: placeholder ?? "" }),
17582
- /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("span", { className: "ml-auto flex items-center gap-2 text-[var(--chekin-color-gray-2)]", children: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_lucide_react50.Paperclip, { size: 20 }) })
17642
+ /* @__PURE__ */ (0, import_jsx_runtime180.jsx)("span", { className: "ml-auto flex items-center gap-2 text-[var(--chekin-color-gray-2)]", children: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(import_lucide_react51.Paperclip, { size: 20 }) })
17583
17643
  ]
17584
17644
  }
17585
17645
  ),
@@ -17620,78 +17680,92 @@ var FileInput = React70.forwardRef(function FileInput2({
17620
17680
  // src/dashboard/select-icons-box/SelectIconsBox.tsx
17621
17681
  var React71 = __toESM(require("react"), 1);
17622
17682
  var import_jsx_runtime181 = require("react/jsx-runtime");
17623
- function SelectIconsBox({
17624
- children,
17625
- icons,
17626
- renderIcon,
17627
- onSelect,
17628
- columns = 4,
17629
- iconsColor = "#6B6B95",
17630
- isOpen: controlledOpen,
17631
- defaultOpen = false,
17632
- onOpenChange,
17633
- position = "left",
17634
- className,
17635
- boxClassName
17636
- }) {
17637
- const containerRef = React71.useRef(null);
17638
- const isControlled = controlledOpen !== void 0;
17639
- const [internalOpen, setInternalOpen] = React71.useState(defaultOpen);
17640
- const isOpen = isControlled ? controlledOpen : internalOpen;
17641
- const setOpen = (next) => {
17642
- if (!isControlled) setInternalOpen(next);
17643
- onOpenChange?.(next);
17644
- };
17645
- const handleToggle = (event) => {
17646
- if (event.target.closest("[data-icon-box-item]")) return;
17647
- setOpen(!isOpen);
17648
- };
17649
- useOutsideClick({
17650
- elementRef: containerRef,
17651
- onOutsideClick: () => setOpen(false),
17652
- isDisabled: !isOpen
17653
- });
17654
- const handlePick = (iconName) => {
17655
- onSelect(iconName);
17656
- setOpen(false);
17657
- };
17658
- return /* @__PURE__ */ (0, import_jsx_runtime181.jsxs)(
17659
- "div",
17660
- {
17661
- ref: containerRef,
17662
- onClick: handleToggle,
17663
- className: cn("relative inline-block", className),
17664
- children: [
17665
- children,
17666
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
17667
- "div",
17668
- {
17669
- className: cn(
17670
- "absolute top-full z-30 mt-1 grid max-h-[192px] overflow-y-auto rounded-[6px] bg-white p-6 shadow-[0_15px_15px_0_rgba(33,72,255,0.2)]",
17671
- position === "left" && "left-0",
17672
- position === "right" && "right-0",
17673
- position === "center" && "left-1/2 -translate-x-1/2",
17674
- boxClassName
17675
- ),
17676
- style: { gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))` },
17677
- children: icons.map((iconName) => /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
17678
- "button",
17679
- {
17680
- type: "button",
17681
- "data-icon-box-item": true,
17682
- onClick: () => handlePick(iconName),
17683
- 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]",
17684
- "aria-label": iconName,
17685
- children: renderIcon(iconName, iconsColor)
17686
- },
17687
- iconName
17688
- ))
17689
- }
17690
- )
17691
- ]
17692
- }
17693
- );
17694
- }
17683
+ var FOCUSABLE_TRIGGER_SELECTOR2 = 'input:not([type="hidden"]):not([disabled]):not([readonly]), button:not([disabled])';
17684
+ var SelectIconsBox = React71.forwardRef(
17685
+ function SelectIconsBox2({
17686
+ children,
17687
+ icons,
17688
+ renderIcon,
17689
+ onSelect,
17690
+ columns = 4,
17691
+ iconsColor = "#6B6B95",
17692
+ isOpen: controlledOpen,
17693
+ defaultOpen = false,
17694
+ onOpenChange,
17695
+ position = "left",
17696
+ className,
17697
+ boxClassName
17698
+ }, ref) {
17699
+ const containerRef = React71.useRef(null);
17700
+ const combinedContainerRef = useCombinedRef(containerRef, ref);
17701
+ const isControlled = controlledOpen !== void 0;
17702
+ const [internalOpen, setInternalOpen] = React71.useState(defaultOpen);
17703
+ const isOpen = isControlled ? controlledOpen : internalOpen;
17704
+ const setOpen = (next) => {
17705
+ if (!isControlled) setInternalOpen(next);
17706
+ onOpenChange?.(next);
17707
+ };
17708
+ const handleToggle = (event) => {
17709
+ if (event.target.closest("[data-icon-box-item]")) return;
17710
+ setOpen(!isOpen);
17711
+ };
17712
+ useOutsideClick({
17713
+ elementRef: containerRef,
17714
+ onOutsideClick: () => setOpen(false),
17715
+ isDisabled: !isOpen
17716
+ });
17717
+ const handlePick = (iconName) => {
17718
+ onSelect(iconName);
17719
+ setOpen(false);
17720
+ };
17721
+ const handleContainerFocus = (event) => {
17722
+ if (event.target !== event.currentTarget) return;
17723
+ const focusable = event.currentTarget.querySelector(
17724
+ FOCUSABLE_TRIGGER_SELECTOR2
17725
+ );
17726
+ focusable?.focus();
17727
+ };
17728
+ return /* @__PURE__ */ (0, import_jsx_runtime181.jsxs)(
17729
+ "div",
17730
+ {
17731
+ ref: combinedContainerRef,
17732
+ tabIndex: -1,
17733
+ onFocus: handleContainerFocus,
17734
+ onClick: handleToggle,
17735
+ className: cn("relative inline-block outline-none", className),
17736
+ children: [
17737
+ children,
17738
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
17739
+ "div",
17740
+ {
17741
+ className: cn(
17742
+ "absolute top-full z-30 mt-1 grid max-h-[192px] overflow-y-auto rounded-[6px] bg-white p-6 shadow-[0_15px_15px_0_rgba(33,72,255,0.2)]",
17743
+ position === "left" && "left-0",
17744
+ position === "right" && "right-0",
17745
+ position === "center" && "left-1/2 -translate-x-1/2",
17746
+ boxClassName
17747
+ ),
17748
+ style: { gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))` },
17749
+ children: icons.map((iconName) => /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
17750
+ "button",
17751
+ {
17752
+ type: "button",
17753
+ "data-icon-box-item": true,
17754
+ onClick: () => handlePick(iconName),
17755
+ 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]",
17756
+ "aria-label": iconName,
17757
+ children: renderIcon(iconName, iconsColor)
17758
+ },
17759
+ iconName
17760
+ ))
17761
+ }
17762
+ )
17763
+ ]
17764
+ }
17765
+ );
17766
+ }
17767
+ );
17768
+ SelectIconsBox.displayName = "SelectIconsBox";
17695
17769
 
17696
17770
  // src/lib/breakpoints.ts
17697
17771
  var DEVICE_BREAKPOINTS = {
@@ -17818,11 +17892,11 @@ LegacyTextarea.displayName = "LegacyTextarea";
17818
17892
 
17819
17893
  // src/airbnb-fields/datepicker/DatePicker.tsx
17820
17894
  var React73 = __toESM(require("react"), 1);
17821
- var import_lucide_react52 = require("lucide-react");
17895
+ var import_lucide_react53 = require("lucide-react");
17822
17896
 
17823
17897
  // src/airbnb-fields/field-trigger/FieldTrigger.tsx
17824
17898
  var React72 = __toESM(require("react"), 1);
17825
- var import_lucide_react51 = require("lucide-react");
17899
+ var import_lucide_react52 = require("lucide-react");
17826
17900
  var import_react_i18next43 = require("react-i18next");
17827
17901
  var import_jsx_runtime184 = require("react/jsx-runtime");
17828
17902
  var AirbnbFieldTrigger = React72.forwardRef(
@@ -17888,7 +17962,7 @@ var AirbnbFieldTrigger = React72.forwardRef(
17888
17962
  const resolvedTrailingAdornment = loading || trailingAdornment ? /* @__PURE__ */ (0, import_jsx_runtime184.jsxs)("span", { className: "flex items-center gap-2", children: [
17889
17963
  trailingAdornment,
17890
17964
  loading && /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
17891
- import_lucide_react51.Loader2,
17965
+ import_lucide_react52.Loader2,
17892
17966
  {
17893
17967
  "aria-hidden": "true",
17894
17968
  className: "h-5 w-5 animate-spin text-[var(--chekin-color-gray-1)]"
@@ -18149,7 +18223,7 @@ var AirbnbDatePicker = React73.forwardRef(
18149
18223
  onClick: handleTriggerClick,
18150
18224
  onKeyDown: handleTriggerKeyDown,
18151
18225
  onBlur,
18152
- trailingAdornment: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_lucide_react52.Calendar, { className: "h-5 w-5 text-[#1F1F1B]", strokeWidth: 2 })
18226
+ trailingAdornment: /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(import_lucide_react53.Calendar, { className: "h-5 w-5 text-[#1F1F1B]", strokeWidth: 2 })
18153
18227
  }
18154
18228
  ),
18155
18229
  /* @__PURE__ */ (0, import_jsx_runtime185.jsx)(
@@ -18339,7 +18413,7 @@ AirbnbInput.displayName = "AirbnbInput";
18339
18413
 
18340
18414
  // src/airbnb-fields/phone-field/PhoneField.tsx
18341
18415
  var React80 = __toESM(require("react"), 1);
18342
- var import_lucide_react54 = require("lucide-react");
18416
+ var import_lucide_react55 = require("lucide-react");
18343
18417
 
18344
18418
  // src/airbnb-fields/select/Select.tsx
18345
18419
  var React79 = __toESM(require("react"), 1);
@@ -18688,7 +18762,7 @@ function AirbnbSelectMobileContent({
18688
18762
 
18689
18763
  // src/airbnb-fields/select/SelectTrigger.tsx
18690
18764
  var React75 = __toESM(require("react"), 1);
18691
- var import_lucide_react53 = require("lucide-react");
18765
+ var import_lucide_react54 = require("lucide-react");
18692
18766
  var import_jsx_runtime191 = require("react/jsx-runtime");
18693
18767
  var AirbnbSelectTrigger = React75.forwardRef(
18694
18768
  ({
@@ -18745,7 +18819,7 @@ var AirbnbSelectTrigger = React75.forwardRef(
18745
18819
  onKeyDown,
18746
18820
  onBlur,
18747
18821
  trailingAdornment: /* @__PURE__ */ (0, import_jsx_runtime191.jsx)(
18748
- import_lucide_react53.ChevronDown,
18822
+ import_lucide_react54.ChevronDown,
18749
18823
  {
18750
18824
  className: open ? "h-6 w-6 rotate-180 text-[#1F1F1B] transition-transform" : "h-6 w-6 text-[#1F1F1B] transition-transform"
18751
18825
  }
@@ -19532,7 +19606,7 @@ var AirbnbPhoneField = React80.forwardRef(
19532
19606
  children: [
19533
19607
  /* @__PURE__ */ (0, import_jsx_runtime193.jsx)("span", { children: valueLabel ?? codePlaceholder }),
19534
19608
  /* @__PURE__ */ (0, import_jsx_runtime193.jsx)(
19535
- import_lucide_react54.ChevronDown,
19609
+ import_lucide_react55.ChevronDown,
19536
19610
  {
19537
19611
  className: cn("h-5 w-5 transition-transform", open ? "rotate-180" : ""),
19538
19612
  strokeWidth: 2
@@ -19583,7 +19657,7 @@ AirbnbPhoneField.displayName = "AirbnbPhoneField";
19583
19657
 
19584
19658
  // src/airbnb-fields/searchable-select/SearchableSelect.tsx
19585
19659
  var React81 = __toESM(require("react"), 1);
19586
- var import_lucide_react55 = require("lucide-react");
19660
+ var import_lucide_react56 = require("lucide-react");
19587
19661
  var import_react_virtual3 = require("@tanstack/react-virtual");
19588
19662
  var import_react90 = require("react");
19589
19663
  var import_jsx_runtime194 = require("react/jsx-runtime");
@@ -19821,7 +19895,7 @@ var AirbnbSearchableSelectInternal = ({
19821
19895
  onKeyDown: handleTriggerKeyDown,
19822
19896
  onBlur,
19823
19897
  trailingAdornment: /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(
19824
- import_lucide_react55.ChevronDown,
19898
+ import_lucide_react56.ChevronDown,
19825
19899
  {
19826
19900
  className: cn(
19827
19901
  "h-6 w-6 text-[#1F1F1B] transition-transform",
@@ -19919,7 +19993,7 @@ function AirbnbSearchableSelectContent({
19919
19993
  return /* @__PURE__ */ (0, import_jsx_runtime194.jsxs)("div", { className: "p-2", children: [
19920
19994
  /* @__PURE__ */ (0, import_jsx_runtime194.jsxs)("div", { className: "relative mb-2", children: [
19921
19995
  /* @__PURE__ */ (0, import_jsx_runtime194.jsx)(
19922
- import_lucide_react55.Search,
19996
+ import_lucide_react56.Search,
19923
19997
  {
19924
19998
  "aria-hidden": "true",
19925
19999
  className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 text-[#9696B9]"
@@ -20029,13 +20103,13 @@ function getNextEnabledIndex(options, startIndex, step) {
20029
20103
  // src/airbnb-fields/search-input/SearchInput.tsx
20030
20104
  var React82 = __toESM(require("react"), 1);
20031
20105
  var import_react_i18next44 = require("react-i18next");
20032
- var import_lucide_react56 = require("lucide-react");
20106
+ var import_lucide_react57 = require("lucide-react");
20033
20107
  var import_jsx_runtime195 = require("react/jsx-runtime");
20034
20108
  var AirbnbSearchInput = React82.forwardRef(({ onReset, placeholder, wrapperClassName, ...props }, ref) => {
20035
20109
  const { t } = (0, import_react_i18next44.useTranslation)();
20036
20110
  const placeholderText = placeholder || t("search_property") + "...";
20037
20111
  return /* @__PURE__ */ (0, import_jsx_runtime195.jsxs)("div", { className: cn("input-wrapper relative", wrapperClassName), children: [
20038
- /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_lucide_react56.Search, { className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[#9696B9]" }),
20112
+ /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_lucide_react57.Search, { className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[#9696B9]" }),
20039
20113
  /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
20040
20114
  "input",
20041
20115
  {
@@ -20061,7 +20135,7 @@ var AirbnbSearchInput = React82.forwardRef(({ onReset, placeholder, wrapperClass
20061
20135
  variant: "ghost",
20062
20136
  onClick: onReset,
20063
20137
  className: "absolute right-0 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[#9696B9]",
20064
- children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_lucide_react56.X, { className: "h-5 w-5" })
20138
+ children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(import_lucide_react57.X, { className: "h-5 w-5" })
20065
20139
  }
20066
20140
  )
20067
20141
  ] });