@chekinapp/ui 0.0.104 → 0.0.106

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
@@ -3096,23 +3096,40 @@ function useLoadMore({
3096
3096
  threshold = 0.1,
3097
3097
  rootMargin
3098
3098
  }) {
3099
- const loadMoreRef = (0, import_react17.useRef)(null);
3099
+ const elementRef = (0, import_react17.useRef)(null);
3100
+ const observerRef = (0, import_react17.useRef)(null);
3101
+ const handleLoadMore = useEvent(onLoadMore);
3102
+ const cleanupObserver = (0, import_react17.useCallback)(() => {
3103
+ observerRef.current?.disconnect();
3104
+ observerRef.current = null;
3105
+ }, []);
3106
+ const observeElement = (0, import_react17.useCallback)(
3107
+ (element) => {
3108
+ cleanupObserver();
3109
+ if (!element || typeof IntersectionObserver === "undefined") return;
3110
+ const observer = new IntersectionObserver(
3111
+ (entries) => {
3112
+ const entry = entries[0];
3113
+ if (!entry?.isIntersecting || !hasNextPage || loading || disabled) return;
3114
+ handleLoadMore();
3115
+ },
3116
+ { threshold, rootMargin }
3117
+ );
3118
+ observer.observe(element);
3119
+ observerRef.current = observer;
3120
+ },
3121
+ [cleanupObserver, disabled, handleLoadMore, hasNextPage, loading, rootMargin, threshold]
3122
+ );
3123
+ const loadMoreRef = (0, import_react17.useCallback)(
3124
+ (element) => {
3125
+ elementRef.current = element;
3126
+ observeElement(element);
3127
+ },
3128
+ [observeElement]
3129
+ );
3100
3130
  (0, import_react17.useEffect)(() => {
3101
- const element = loadMoreRef.current;
3102
- if (!element) return;
3103
- const observer = new IntersectionObserver(
3104
- (entries) => {
3105
- if (entries[0].isIntersecting && hasNextPage && !loading && !disabled) {
3106
- onLoadMore();
3107
- }
3108
- },
3109
- { threshold, rootMargin }
3110
- );
3111
- observer.observe(element);
3112
- return () => {
3113
- observer.disconnect();
3114
- };
3115
- }, [hasNextPage, loading, disabled, onLoadMore, threshold, rootMargin]);
3131
+ return cleanupObserver;
3132
+ }, [cleanupObserver]);
3116
3133
  return [loadMoreRef];
3117
3134
  }
3118
3135
 
@@ -9238,7 +9255,13 @@ var SIGNATURE_PROPS = {
9238
9255
  throttle: 16
9239
9256
  };
9240
9257
  var ASPECT_RATIO = 330 / 190;
9241
- function getTrimmedCanvasData(canvas, padding = 10) {
9258
+ function getCanvasPixelPadding(canvas, padding) {
9259
+ if (!Number.isFinite(padding) || padding <= 0) return 0;
9260
+ const cssWidth = canvas.getBoundingClientRect().width;
9261
+ const scale = cssWidth > 0 ? canvas.width / cssWidth : 1;
9262
+ return Math.round(padding * scale);
9263
+ }
9264
+ function getTrimmedCanvas(canvas, padding = 10) {
9242
9265
  const ctx = canvas.getContext("2d");
9243
9266
  if (!ctx) return null;
9244
9267
  const { width, height } = canvas;
@@ -9254,18 +9277,19 @@ function getTrimmedCanvasData(canvas, padding = 10) {
9254
9277
  const alpha = data[(y * width + x) * 4 + 3];
9255
9278
  if (alpha > 0) {
9256
9279
  hasContent = true;
9257
- minX = Math.min(minX, x);
9258
- minY = Math.min(minY, y);
9259
- maxX = Math.max(maxX, x);
9260
- maxY = Math.max(maxY, y);
9280
+ if (x < minX) minX = x;
9281
+ if (y < minY) minY = y;
9282
+ if (x > maxX) maxX = x;
9283
+ if (y > maxY) maxY = y;
9261
9284
  }
9262
9285
  }
9263
9286
  }
9264
9287
  if (!hasContent) return null;
9265
- minX = Math.max(0, minX - padding);
9266
- minY = Math.max(0, minY - padding);
9267
- maxX = Math.min(width - 1, maxX + padding);
9268
- maxY = Math.min(height - 1, maxY + padding);
9288
+ const pixelPadding = getCanvasPixelPadding(canvas, padding);
9289
+ minX = Math.max(0, minX - pixelPadding);
9290
+ minY = Math.max(0, minY - pixelPadding);
9291
+ maxX = Math.min(width - 1, maxX + pixelPadding);
9292
+ maxY = Math.min(height - 1, maxY + pixelPadding);
9269
9293
  const trimmedWidth = maxX - minX + 1;
9270
9294
  const trimmedHeight = maxY - minY + 1;
9271
9295
  const trimmedCanvas = document.createElement("canvas");
@@ -9284,10 +9308,7 @@ function getTrimmedCanvasData(canvas, padding = 10) {
9284
9308
  trimmedWidth,
9285
9309
  trimmedHeight
9286
9310
  );
9287
- return {
9288
- canvas: trimmedCanvas,
9289
- bounds: { x: minX, y: minY, width: trimmedWidth, height: trimmedHeight }
9290
- };
9311
+ return trimmedCanvas;
9291
9312
  }
9292
9313
  var SignatureCanvas = (0, import_react74.forwardRef)(
9293
9314
  ({ onClear, onEnd, onEnable, className, enabled }, ref) => {
@@ -9352,9 +9373,9 @@ var SignatureCanvas = (0, import_react74.forwardRef)(
9352
9373
  toTrimmedDataURL: (type = "image/png", encoderOptions, padding = 10) => {
9353
9374
  const canvas = canvasRef.current?.getCanvas();
9354
9375
  if (!canvas) return "";
9355
- const trimmed = getTrimmedCanvasData(canvas, padding);
9376
+ const trimmed = getTrimmedCanvas(canvas, padding);
9356
9377
  if (!trimmed) return "";
9357
- return trimmed.canvas.toDataURL(type, encoderOptions);
9378
+ return trimmed.toDataURL(type, encoderOptions);
9358
9379
  },
9359
9380
  getCanvas: (...args) => canvasRef.current?.getCanvas(...args)
9360
9381
  }));
@@ -12493,7 +12514,7 @@ var DashboardInput = React43.forwardRef(
12493
12514
  "div",
12494
12515
  {
12495
12516
  className: cn(
12496
- "relative block w-full min-h-[68px] max-w-[var(--dashboard-input-max-width,none)]",
12517
+ "relative block w-full max-w-[var(--field-max-width,296px)] min-h-[68px]",
12497
12518
  disabled && "cursor-not-allowed opacity-50",
12498
12519
  loading && "cursor-progress opacity-50",
12499
12520
  wrapperClassName,
@@ -12693,7 +12714,7 @@ function SelectFieldShell({
12693
12714
  ref: containerRef,
12694
12715
  onBlur,
12695
12716
  className: cn(
12696
- "relative w-full max-w-[var(--max-field-width)]",
12717
+ "relative w-full max-w-[var(--field-max-width,296px)]",
12697
12718
  disabled && "cursor-not-allowed opacity-50",
12698
12719
  loading && "cursor-progress",
12699
12720
  className
@@ -12908,6 +12929,7 @@ function SelectMenuPanel({
12908
12929
  }
12909
12930
 
12910
12931
  // src/dashboard/_select-internals/SelectSearchInput.tsx
12932
+ var import_lucide_react43 = require("lucide-react");
12911
12933
  var import_jsx_runtime149 = require("react/jsx-runtime");
12912
12934
  function SelectSearchInput({
12913
12935
  inputRef,
@@ -12918,25 +12940,34 @@ function SelectSearchInput({
12918
12940
  onChange,
12919
12941
  onKeyDown
12920
12942
  }) {
12921
- return /* @__PURE__ */ (0, import_jsx_runtime149.jsx)("div", { className: "border-b border-[#f2f4f8] px-4 pb-2 pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
12922
- "input",
12923
- {
12924
- ref: inputRef,
12925
- type: "text",
12926
- value,
12927
- placeholder,
12928
- onChange,
12929
- onKeyDown,
12930
- autoComplete: "off",
12931
- "aria-controls": listboxId,
12932
- "aria-activedescendant": activeOptionId,
12933
- className: "m-0 box-border h-9 w-full rounded-md border border-[var(--chekin-color-gray-3)] bg-white px-3 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)]"
12934
- }
12935
- ) });
12943
+ return /* @__PURE__ */ (0, import_jsx_runtime149.jsx)("div", { className: "border-b border-[#f2f4f8] px-4 pb-2 pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)("div", { className: "relative", children: [
12944
+ /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
12945
+ import_lucide_react43.Search,
12946
+ {
12947
+ "aria-hidden": "true",
12948
+ className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--chekin-color-gray-2)]"
12949
+ }
12950
+ ),
12951
+ /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
12952
+ "input",
12953
+ {
12954
+ ref: inputRef,
12955
+ type: "text",
12956
+ value,
12957
+ placeholder,
12958
+ onChange,
12959
+ onKeyDown,
12960
+ autoComplete: "off",
12961
+ "aria-controls": listboxId,
12962
+ "aria-activedescendant": activeOptionId,
12963
+ 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)]"
12964
+ }
12965
+ )
12966
+ ] }) });
12936
12967
  }
12937
12968
 
12938
12969
  // src/dashboard/_select-internals/SelectTrigger.tsx
12939
- var import_lucide_react43 = require("lucide-react");
12970
+ var import_lucide_react44 = require("lucide-react");
12940
12971
  var import_jsx_runtime150 = require("react/jsx-runtime");
12941
12972
  function SelectTrigger({
12942
12973
  triggerRef,
@@ -12986,7 +13017,7 @@ function SelectTrigger({
12986
13017
  /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)("span", { className: "pointer-events-none flex items-center gap-2 text-[var(--chekin-color-gray-2)]", children: [
12987
13018
  loading && /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(ThreeDotsLoader, { height: 18, width: 18 }),
12988
13019
  /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(
12989
- import_lucide_react43.ChevronDown,
13020
+ import_lucide_react44.ChevronDown,
12990
13021
  {
12991
13022
  size: 16,
12992
13023
  className: cn(
@@ -13323,11 +13354,11 @@ var DashboardSelect = React47.forwardRef(
13323
13354
 
13324
13355
  // src/dashboard/multi-select/MultiSelect.tsx
13325
13356
  var React48 = __toESM(require("react"), 1);
13326
- var import_lucide_react45 = require("lucide-react");
13357
+ var import_lucide_react46 = require("lucide-react");
13327
13358
  var import_react_i18next32 = require("react-i18next");
13328
13359
 
13329
13360
  // src/dashboard/multi-select/MultiSelectChip.tsx
13330
- var import_lucide_react44 = require("lucide-react");
13361
+ var import_lucide_react45 = require("lucide-react");
13331
13362
  var import_react_i18next31 = require("react-i18next");
13332
13363
  var import_jsx_runtime152 = require("react/jsx-runtime");
13333
13364
  function MultiSelectChip({
@@ -13349,7 +13380,7 @@ function MultiSelectChip({
13349
13380
  },
13350
13381
  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]",
13351
13382
  "aria-label": t("remove_item", { label: labelText }),
13352
- children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_lucide_react44.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
13383
+ children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_lucide_react45.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
13353
13384
  }
13354
13385
  )
13355
13386
  ] });
@@ -13603,6 +13634,13 @@ function DashboardMultiSelectInternal({
13603
13634
  String(option.value)
13604
13635
  )
13605
13636
  ),
13637
+ /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
13638
+ import_lucide_react46.Search,
13639
+ {
13640
+ "aria-hidden": "true",
13641
+ className: "h-4 w-4 shrink-0 text-[var(--chekin-color-gray-2)]"
13642
+ }
13643
+ ),
13606
13644
  /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
13607
13645
  "input",
13608
13646
  {
@@ -13644,7 +13682,7 @@ function DashboardMultiSelectInternal({
13644
13682
  },
13645
13683
  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]",
13646
13684
  "aria-label": t("clear_all"),
13647
- children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_lucide_react45.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
13685
+ children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_lucide_react46.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
13648
13686
  }
13649
13687
  ),
13650
13688
  /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
@@ -13691,21 +13729,30 @@ function DashboardMultiSelectInternal({
13691
13729
  className: dropdownClassName,
13692
13730
  drawerClassName,
13693
13731
  children: [
13694
- isMobile3 && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("div", { className: "border-b border-[#f2f4f8] px-4 pb-2 pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
13695
- "input",
13696
- {
13697
- ref: mobileSearchInputRef,
13698
- type: "text",
13699
- value: searchValue,
13700
- placeholder: placeholder ?? "",
13701
- onChange: (event) => setSearchValue(event.target.value),
13702
- onKeyDown: handleInputKeyDown,
13703
- autoComplete: "off",
13704
- "aria-controls": listboxId,
13705
- "aria-activedescendant": highlightedIndex >= 0 ? getOptionId2(highlightedIndex) : void 0,
13706
- className: "m-0 box-border h-9 w-full rounded-md border border-[var(--chekin-color-gray-3)] bg-white px-3 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)]"
13707
- }
13708
- ) }),
13732
+ isMobile3 && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("div", { className: "border-b border-[#f2f4f8] px-4 pb-2 pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)("div", { className: "relative", children: [
13733
+ /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
13734
+ import_lucide_react46.Search,
13735
+ {
13736
+ "aria-hidden": "true",
13737
+ className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--chekin-color-gray-2)]"
13738
+ }
13739
+ ),
13740
+ /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
13741
+ "input",
13742
+ {
13743
+ ref: mobileSearchInputRef,
13744
+ type: "text",
13745
+ value: searchValue,
13746
+ placeholder: placeholder ?? "",
13747
+ onChange: (event) => setSearchValue(event.target.value),
13748
+ onKeyDown: handleInputKeyDown,
13749
+ autoComplete: "off",
13750
+ "aria-controls": listboxId,
13751
+ "aria-activedescendant": highlightedIndex >= 0 ? getOptionId2(highlightedIndex) : void 0,
13752
+ 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)]"
13753
+ }
13754
+ )
13755
+ ] }) }),
13709
13756
  /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
13710
13757
  SelectMenu,
13711
13758
  {
@@ -14206,7 +14253,7 @@ var DashboardTextarea = React51.forwardRef(
14206
14253
  "div",
14207
14254
  {
14208
14255
  className: cn(
14209
- "relative block min-h-[88px] w-full",
14256
+ "relative block min-h-[88px] w-full max-w-[var(--field-max-width,296px)]",
14210
14257
  isBlocked && "cursor-not-allowed opacity-50",
14211
14258
  loading && "cursor-progress opacity-50",
14212
14259
  className
@@ -14270,7 +14317,7 @@ var DashboardTextarea = React51.forwardRef(
14270
14317
 
14271
14318
  // src/dashboard/datepicker/Datepicker.tsx
14272
14319
  var React53 = __toESM(require("react"), 1);
14273
- var import_lucide_react46 = require("lucide-react");
14320
+ var import_lucide_react47 = require("lucide-react");
14274
14321
  var import_react_i18next35 = require("react-i18next");
14275
14322
 
14276
14323
  // src/airbnb-fields/datepicker/useDatePickerWheel.ts
@@ -15244,7 +15291,7 @@ var DashboardDatepicker = React53.forwardRef(
15244
15291
  {
15245
15292
  ref: containerRef,
15246
15293
  className: cn(
15247
- "relative w-full max-w-[var(--max-field-width)]",
15294
+ "relative w-full max-w-[var(--field-max-width,296px)]",
15248
15295
  disabled && "cursor-not-allowed opacity-50",
15249
15296
  loading && "cursor-progress",
15250
15297
  className
@@ -15275,7 +15322,7 @@ var DashboardDatepicker = React53.forwardRef(
15275
15322
  /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("span", { className: "pointer-events-none flex items-center gap-2 text-[var(--chekin-color-gray-2)]", children: [
15276
15323
  loading && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(ThreeDotsLoader, { height: 18, width: 18 }),
15277
15324
  /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
15278
- import_lucide_react46.ChevronDown,
15325
+ import_lucide_react47.ChevronDown,
15279
15326
  {
15280
15327
  size: 16,
15281
15328
  className: cn(
@@ -15361,7 +15408,7 @@ var DashboardDatepicker = React53.forwardRef(
15361
15408
  }
15362
15409
  ),
15363
15410
  /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
15364
- import_lucide_react46.ChevronDown,
15411
+ import_lucide_react47.ChevronDown,
15365
15412
  {
15366
15413
  size: 14,
15367
15414
  onMouseDown: (event) => {
@@ -15696,7 +15743,7 @@ function resolveRangeSelection({
15696
15743
  }
15697
15744
 
15698
15745
  // src/dashboard/date-range-picker/components/DateRangeInputs.tsx
15699
- var import_lucide_react47 = require("lucide-react");
15746
+ var import_lucide_react48 = require("lucide-react");
15700
15747
  var import_jsx_runtime161 = require("react/jsx-runtime");
15701
15748
  var DEFAULT_PLACEHOLDER = "00-00-0000";
15702
15749
  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)]";
@@ -15817,7 +15864,7 @@ function DateRangeInputs({
15817
15864
  onClick: onReset,
15818
15865
  className: iconButtonClass,
15819
15866
  "aria-label": clearLabel,
15820
- children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(import_lucide_react47.SquareX, { size: 16, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
15867
+ children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(import_lucide_react48.SquareX, { size: 16, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
15821
15868
  }
15822
15869
  ),
15823
15870
  !readOnly && !hideCalendarIcon && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
@@ -15832,7 +15879,7 @@ function DateRangeInputs({
15832
15879
  focusedInput !== null || isOpen ? "text-[var(--chekin-color-brand-blue)]" : "text-[var(--chekin-color-gray-2)]"
15833
15880
  ),
15834
15881
  "aria-label": openCalendarLabel,
15835
- children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(import_lucide_react47.CalendarDays, { size: 18 })
15882
+ children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(import_lucide_react48.CalendarDays, { size: 18 })
15836
15883
  }
15837
15884
  )
15838
15885
  ] })
@@ -16095,7 +16142,7 @@ var DashboardDateRangePicker = React57.forwardRef(function DashboardDateRangePic
16095
16142
  {
16096
16143
  ref: containerRef,
16097
16144
  className: cn(
16098
- "relative w-full max-w-[var(--max-field-width)]",
16145
+ "relative w-full max-w-[var(--field-max-width,296px)]",
16099
16146
  disabled && "cursor-not-allowed opacity-50",
16100
16147
  loading && "cursor-progress",
16101
16148
  className
@@ -16380,7 +16427,7 @@ var DashboardTimePicker = React59.forwardRef(
16380
16427
 
16381
16428
  // src/dashboard/file-input/FileInput.tsx
16382
16429
  var React60 = __toESM(require("react"), 1);
16383
- var import_lucide_react48 = require("lucide-react");
16430
+ var import_lucide_react49 = require("lucide-react");
16384
16431
  var import_react_i18next38 = require("react-i18next");
16385
16432
  var import_jsx_runtime166 = require("react/jsx-runtime");
16386
16433
  function defaultDownload(url) {
@@ -16445,7 +16492,7 @@ var DashboardFileInput = React60.forwardRef(
16445
16492
  {
16446
16493
  htmlFor: inputId,
16447
16494
  className: cn(
16448
- "relative block w-full max-w-[var(--max-field-width)] cursor-pointer text-left",
16495
+ "relative block w-full max-w-[var(--field-max-width,296px)] cursor-pointer text-left",
16449
16496
  (disabled || readOnly) && "cursor-not-allowed",
16450
16497
  loading && "cursor-progress",
16451
16498
  disabled && "opacity-50",
@@ -16493,7 +16540,7 @@ var DashboardFileInput = React60.forwardRef(
16493
16540
  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",
16494
16541
  children: [
16495
16542
  /* @__PURE__ */ (0, import_jsx_runtime166.jsx)("span", { className: "truncate", children: resolvedDownloadLabel }),
16496
- /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(import_lucide_react48.Download, { size: 15 })
16543
+ /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(import_lucide_react49.Download, { size: 15 })
16497
16544
  ]
16498
16545
  }
16499
16546
  ) : /* @__PURE__ */ (0, import_jsx_runtime166.jsx)("span", { className: "truncate text-[14px] font-medium text-[var(--chekin-color-brand-navy)]", children: value.name }),
@@ -16505,7 +16552,7 @@ var DashboardFileInput = React60.forwardRef(
16505
16552
  onClick: handleClear,
16506
16553
  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]",
16507
16554
  "aria-label": t("remove_file"),
16508
- children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(import_lucide_react48.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
16555
+ children: /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(import_lucide_react49.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
16509
16556
  }
16510
16557
  )
16511
16558
  ]
@@ -16513,7 +16560,7 @@ var DashboardFileInput = React60.forwardRef(
16513
16560
  ) : /* @__PURE__ */ (0, import_jsx_runtime166.jsx)("span", { className: "block min-w-0 flex-1 truncate text-left text-[var(--chekin-color-gray-1)]", children: placeholder ?? "" }),
16514
16561
  /* @__PURE__ */ (0, import_jsx_runtime166.jsxs)("span", { className: "ml-auto flex items-center gap-2 text-[var(--chekin-color-gray-2)]", children: [
16515
16562
  loading && /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(ThreeDotsLoader, { height: 18, width: 18 }),
16516
- /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(import_lucide_react48.Paperclip, { size: 20 })
16563
+ /* @__PURE__ */ (0, import_jsx_runtime166.jsx)(import_lucide_react49.Paperclip, { size: 20 })
16517
16564
  ] })
16518
16565
  ]
16519
16566
  }
@@ -16754,11 +16801,11 @@ LegacyTextarea.displayName = "LegacyTextarea";
16754
16801
 
16755
16802
  // src/airbnb-fields/datepicker/DatePicker.tsx
16756
16803
  var React63 = __toESM(require("react"), 1);
16757
- var import_lucide_react50 = require("lucide-react");
16804
+ var import_lucide_react51 = require("lucide-react");
16758
16805
 
16759
16806
  // src/airbnb-fields/field-trigger/FieldTrigger.tsx
16760
16807
  var React62 = __toESM(require("react"), 1);
16761
- var import_lucide_react49 = require("lucide-react");
16808
+ var import_lucide_react50 = require("lucide-react");
16762
16809
  var import_react_i18next39 = require("react-i18next");
16763
16810
  var import_jsx_runtime170 = require("react/jsx-runtime");
16764
16811
  var AirbnbFieldTrigger = React62.forwardRef(
@@ -16824,7 +16871,7 @@ var AirbnbFieldTrigger = React62.forwardRef(
16824
16871
  const resolvedTrailingAdornment = loading || trailingAdornment ? /* @__PURE__ */ (0, import_jsx_runtime170.jsxs)("span", { className: "flex items-center gap-2", children: [
16825
16872
  trailingAdornment,
16826
16873
  loading && /* @__PURE__ */ (0, import_jsx_runtime170.jsx)(
16827
- import_lucide_react49.Loader2,
16874
+ import_lucide_react50.Loader2,
16828
16875
  {
16829
16876
  "aria-hidden": "true",
16830
16877
  className: "h-5 w-5 animate-spin text-[var(--chekin-color-gray-1)]"
@@ -17085,7 +17132,7 @@ var AirbnbDatePicker = React63.forwardRef(
17085
17132
  onClick: handleTriggerClick,
17086
17133
  onKeyDown: handleTriggerKeyDown,
17087
17134
  onBlur,
17088
- trailingAdornment: /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(import_lucide_react50.Calendar, { className: "h-5 w-5 text-[#1F1F1B]", strokeWidth: 2 })
17135
+ trailingAdornment: /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(import_lucide_react51.Calendar, { className: "h-5 w-5 text-[#1F1F1B]", strokeWidth: 2 })
17089
17136
  }
17090
17137
  ),
17091
17138
  /* @__PURE__ */ (0, import_jsx_runtime171.jsx)(
@@ -17275,7 +17322,7 @@ AirbnbInput.displayName = "AirbnbInput";
17275
17322
 
17276
17323
  // src/airbnb-fields/phone-field/PhoneField.tsx
17277
17324
  var React70 = __toESM(require("react"), 1);
17278
- var import_lucide_react52 = require("lucide-react");
17325
+ var import_lucide_react53 = require("lucide-react");
17279
17326
 
17280
17327
  // src/airbnb-fields/select/Select.tsx
17281
17328
  var React69 = __toESM(require("react"), 1);
@@ -17624,7 +17671,7 @@ function AirbnbSelectMobileContent({
17624
17671
 
17625
17672
  // src/airbnb-fields/select/SelectTrigger.tsx
17626
17673
  var React65 = __toESM(require("react"), 1);
17627
- var import_lucide_react51 = require("lucide-react");
17674
+ var import_lucide_react52 = require("lucide-react");
17628
17675
  var import_jsx_runtime177 = require("react/jsx-runtime");
17629
17676
  var AirbnbSelectTrigger = React65.forwardRef(
17630
17677
  ({
@@ -17681,7 +17728,7 @@ var AirbnbSelectTrigger = React65.forwardRef(
17681
17728
  onKeyDown,
17682
17729
  onBlur,
17683
17730
  trailingAdornment: /* @__PURE__ */ (0, import_jsx_runtime177.jsx)(
17684
- import_lucide_react51.ChevronDown,
17731
+ import_lucide_react52.ChevronDown,
17685
17732
  {
17686
17733
  className: open ? "h-6 w-6 rotate-180 text-[#1F1F1B] transition-transform" : "h-6 w-6 text-[#1F1F1B] transition-transform"
17687
17734
  }
@@ -18468,7 +18515,7 @@ var AirbnbPhoneField = React70.forwardRef(
18468
18515
  children: [
18469
18516
  /* @__PURE__ */ (0, import_jsx_runtime179.jsx)("span", { children: valueLabel ?? codePlaceholder }),
18470
18517
  /* @__PURE__ */ (0, import_jsx_runtime179.jsx)(
18471
- import_lucide_react52.ChevronDown,
18518
+ import_lucide_react53.ChevronDown,
18472
18519
  {
18473
18520
  className: cn("h-5 w-5 transition-transform", open ? "rotate-180" : ""),
18474
18521
  strokeWidth: 2
@@ -18519,7 +18566,7 @@ AirbnbPhoneField.displayName = "AirbnbPhoneField";
18519
18566
 
18520
18567
  // src/airbnb-fields/searchable-select/SearchableSelect.tsx
18521
18568
  var React71 = __toESM(require("react"), 1);
18522
- var import_lucide_react53 = require("lucide-react");
18569
+ var import_lucide_react54 = require("lucide-react");
18523
18570
  var import_react_virtual3 = require("@tanstack/react-virtual");
18524
18571
  var import_react90 = require("react");
18525
18572
  var import_jsx_runtime180 = require("react/jsx-runtime");
@@ -18757,7 +18804,7 @@ var AirbnbSearchableSelectInternal = ({
18757
18804
  onKeyDown: handleTriggerKeyDown,
18758
18805
  onBlur,
18759
18806
  trailingAdornment: /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
18760
- import_lucide_react53.ChevronDown,
18807
+ import_lucide_react54.ChevronDown,
18761
18808
  {
18762
18809
  className: cn(
18763
18810
  "h-6 w-6 text-[#1F1F1B] transition-transform",
@@ -18855,7 +18902,7 @@ function AirbnbSearchableSelectContent({
18855
18902
  return /* @__PURE__ */ (0, import_jsx_runtime180.jsxs)("div", { className: "p-2", children: [
18856
18903
  /* @__PURE__ */ (0, import_jsx_runtime180.jsxs)("div", { className: "relative mb-2", children: [
18857
18904
  /* @__PURE__ */ (0, import_jsx_runtime180.jsx)(
18858
- import_lucide_react53.Search,
18905
+ import_lucide_react54.Search,
18859
18906
  {
18860
18907
  "aria-hidden": "true",
18861
18908
  className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 text-[#9696B9]"
@@ -18965,13 +19012,13 @@ function getNextEnabledIndex(options, startIndex, step) {
18965
19012
  // src/airbnb-fields/search-input/SearchInput.tsx
18966
19013
  var React72 = __toESM(require("react"), 1);
18967
19014
  var import_react_i18next40 = require("react-i18next");
18968
- var import_lucide_react54 = require("lucide-react");
19015
+ var import_lucide_react55 = require("lucide-react");
18969
19016
  var import_jsx_runtime181 = require("react/jsx-runtime");
18970
19017
  var AirbnbSearchInput = React72.forwardRef(({ onReset, placeholder, wrapperClassName, ...props }, ref) => {
18971
19018
  const { t } = (0, import_react_i18next40.useTranslation)();
18972
19019
  const placeholderText = placeholder || t("search_property") + "...";
18973
19020
  return /* @__PURE__ */ (0, import_jsx_runtime181.jsxs)("div", { className: cn("input-wrapper relative", wrapperClassName), children: [
18974
- /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_lucide_react54.Search, { className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[#9696B9]" }),
19021
+ /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_lucide_react55.Search, { className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[#9696B9]" }),
18975
19022
  /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(
18976
19023
  "input",
18977
19024
  {
@@ -18997,7 +19044,7 @@ var AirbnbSearchInput = React72.forwardRef(({ onReset, placeholder, wrapperClass
18997
19044
  variant: "ghost",
18998
19045
  onClick: onReset,
18999
19046
  className: "absolute right-0 top-1/2 h-5 w-5 -translate-y-1/2 transform text-[#9696B9]",
19000
- children: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_lucide_react54.X, { className: "h-5 w-5" })
19047
+ children: /* @__PURE__ */ (0, import_jsx_runtime181.jsx)(import_lucide_react55.X, { className: "h-5 w-5" })
19001
19048
  }
19002
19049
  )
19003
19050
  ] });