@chekinapp/ui 0.0.71 → 0.0.72

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
@@ -9753,7 +9753,7 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
9753
9753
  var import_react76 = require("react");
9754
9754
  var import_jsx_runtime127 = require("react/jsx-runtime");
9755
9755
  var getValueArray = (value) => {
9756
- if (value) {
9756
+ if (value !== void 0 && value !== null) {
9757
9757
  return Array.isArray(value) ? value : [value];
9758
9758
  }
9759
9759
  return [];
@@ -14127,6 +14127,52 @@ function SelectMenu({
14127
14127
  );
14128
14128
  }
14129
14129
 
14130
+ // src/dashboard/_select-internals/SelectMenuPanel.tsx
14131
+ var import_jsx_runtime157 = require("react/jsx-runtime");
14132
+ function SelectMenuPanel({
14133
+ isOpen,
14134
+ isMobile: isMobile2,
14135
+ onClose,
14136
+ title,
14137
+ className,
14138
+ drawerClassName,
14139
+ children
14140
+ }) {
14141
+ if (!isOpen) return null;
14142
+ if (isMobile2) {
14143
+ return /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
14144
+ Drawer,
14145
+ {
14146
+ open: isOpen,
14147
+ onOpenChange: (next) => {
14148
+ if (!next) onClose();
14149
+ },
14150
+ children: /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)(
14151
+ DrawerContent,
14152
+ {
14153
+ onClose,
14154
+ className: cn("max-h-[calc(100vh-1rem)]", drawerClassName),
14155
+ children: [
14156
+ title ? /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(DrawerTitle, { className: "px-5 pb-3 pt-1 text-left text-[16px] font-semibold leading-6 text-[var(--chekin-color-brand-navy)]", children: title }) : /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(DrawerTitle, { className: "sr-only", children: "Select option" }),
14157
+ /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("div", { className: "flex min-h-0 flex-1 flex-col", children })
14158
+ ]
14159
+ }
14160
+ )
14161
+ }
14162
+ );
14163
+ }
14164
+ return /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
14165
+ "div",
14166
+ {
14167
+ className: cn(
14168
+ "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)]",
14169
+ className
14170
+ ),
14171
+ children
14172
+ }
14173
+ );
14174
+ }
14175
+
14130
14176
  // src/dashboard/_select-internals/useSelectIds.ts
14131
14177
  var React54 = __toESM(require("react"), 1);
14132
14178
  function useSelectIds2({
@@ -14163,7 +14209,7 @@ function useSelectIds2({
14163
14209
  }
14164
14210
 
14165
14211
  // src/dashboard/select/Select.tsx
14166
- var import_jsx_runtime157 = require("react/jsx-runtime");
14212
+ var import_jsx_runtime158 = require("react/jsx-runtime");
14167
14213
  function DashboardSelectInternal({
14168
14214
  options = [],
14169
14215
  value,
@@ -14183,6 +14229,7 @@ function DashboardSelectInternal({
14183
14229
  className,
14184
14230
  menuClassName,
14185
14231
  dropdownClassName,
14232
+ drawerClassName,
14186
14233
  name,
14187
14234
  width,
14188
14235
  noOptionsMessage,
@@ -14199,6 +14246,7 @@ function DashboardSelectInternal({
14199
14246
  const [isOpen, setIsOpen] = React55.useState(false);
14200
14247
  const [searchValue, setSearchValue] = React55.useState("");
14201
14248
  const [highlightedIndex, setHighlightedIndex] = React55.useState(-1);
14249
+ const isMobile2 = useIsMobile();
14202
14250
  const hasValue = Boolean(value);
14203
14251
  const isEmpty = !hasValue;
14204
14252
  const isBlocked = Boolean(disabled) || Boolean(loading);
@@ -14216,7 +14264,7 @@ function DashboardSelectInternal({
14216
14264
  useOutsideClick({
14217
14265
  elementRef: containerRef,
14218
14266
  onOutsideClick: () => setIsOpen(false),
14219
- isDisabled: !isOpen
14267
+ isDisabled: !isOpen || isMobile2
14220
14268
  });
14221
14269
  React55.useEffect(() => {
14222
14270
  if (isBlocked) setIsOpen(false);
@@ -14295,7 +14343,7 @@ function DashboardSelectInternal({
14295
14343
  setIsOpen(false);
14296
14344
  }
14297
14345
  };
14298
- return /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)(
14346
+ return /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)(
14299
14347
  "div",
14300
14348
  {
14301
14349
  ref: containerRef,
@@ -14307,9 +14355,9 @@ function DashboardSelectInternal({
14307
14355
  ),
14308
14356
  style: wrapperWidth ? { width: wrapperWidth } : void 0,
14309
14357
  children: [
14310
- name && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("input", { type: "hidden", name, value: value ? String(value.value) : "" }),
14311
- /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)("div", { className: "relative w-full min-h-[68px]", children: [
14312
- topLabel && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
14358
+ name && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("input", { type: "hidden", name, value: value ? String(value.value) : "" }),
14359
+ /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)("div", { className: "relative w-full min-h-[68px]", children: [
14360
+ topLabel && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14313
14361
  "label",
14314
14362
  {
14315
14363
  htmlFor: triggerId,
@@ -14317,8 +14365,8 @@ function DashboardSelectInternal({
14317
14365
  children: topLabel
14318
14366
  }
14319
14367
  ),
14320
- /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)("div", { className: "relative w-full", children: [
14321
- /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)(
14368
+ /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)("div", { className: "relative w-full", children: [
14369
+ /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)(
14322
14370
  "button",
14323
14371
  {
14324
14372
  id: triggerId,
@@ -14342,10 +14390,10 @@ function DashboardSelectInternal({
14342
14390
  loading && "cursor-progress"
14343
14391
  ),
14344
14392
  children: [
14345
- /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("span", { id: valueId, className: "block min-w-0 flex-1 truncate text-left", children: valueLabel ?? placeholder ?? label }),
14346
- /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)("span", { className: "pointer-events-none flex items-center gap-2 text-[var(--chekin-color-gray-2)]", children: [
14347
- loading && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(ThreeDotsLoader, { height: 18, width: 18 }),
14348
- /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
14393
+ /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("span", { id: valueId, className: "block min-w-0 flex-1 truncate text-left", children: valueLabel ?? placeholder ?? label }),
14394
+ /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)("span", { className: "pointer-events-none flex items-center gap-2 text-[var(--chekin-color-gray-2)]", children: [
14395
+ loading && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(ThreeDotsLoader, { height: 18, width: 18 }),
14396
+ /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14349
14397
  import_lucide_react47.ChevronDown,
14350
14398
  {
14351
14399
  size: 16,
@@ -14359,7 +14407,7 @@ function DashboardSelectInternal({
14359
14407
  ]
14360
14408
  }
14361
14409
  ),
14362
- /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
14410
+ /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14363
14411
  Fieldset,
14364
14412
  {
14365
14413
  isFocused: isOpen,
@@ -14376,15 +14424,17 @@ function DashboardSelectInternal({
14376
14424
  onClick: !isBlocked ? toggleMenu : void 0
14377
14425
  }
14378
14426
  ),
14379
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime157.jsxs)(
14380
- "div",
14427
+ /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)(
14428
+ SelectMenuPanel,
14381
14429
  {
14382
- className: cn(
14383
- "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)]",
14384
- dropdownClassName
14385
- ),
14430
+ isOpen,
14431
+ isMobile: isMobile2,
14432
+ onClose: () => setIsOpen(false),
14433
+ title: typeof label === "string" ? label : void 0,
14434
+ className: dropdownClassName,
14435
+ drawerClassName,
14386
14436
  children: [
14387
- searchable && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("div", { className: "border-b border-[#f2f4f8] px-4 pb-2 pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
14437
+ searchable && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("div", { className: "border-b border-[#f2f4f8] px-4 pb-2 pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14388
14438
  "input",
14389
14439
  {
14390
14440
  ref: searchInputRef,
@@ -14399,7 +14449,7 @@ function DashboardSelectInternal({
14399
14449
  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)]"
14400
14450
  }
14401
14451
  ) }),
14402
- /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
14452
+ /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14403
14453
  SelectMenu,
14404
14454
  {
14405
14455
  id: listboxId,
@@ -14424,9 +14474,9 @@ function DashboardSelectInternal({
14424
14474
  }
14425
14475
  )
14426
14476
  ] }),
14427
- !errorMessage && optional && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("span", { className: "mt-[1px] block text-left text-[14px] font-medium text-[var(--chekin-color-gray-1)]", children: typeof optional === "string" ? optional : "optional" }),
14428
- !errorMessage && helperText && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)("span", { className: "mt-[1px] block text-[12px] font-normal text-[var(--chekin-color-gray-1)]", children: helperText }),
14429
- errorMessage && !hideErrorMessage && /* @__PURE__ */ (0, import_jsx_runtime157.jsx)(
14477
+ !errorMessage && optional && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("span", { className: "mt-[1px] block text-left text-[14px] font-medium text-[var(--chekin-color-gray-1)]", children: typeof optional === "string" ? optional : "optional" }),
14478
+ !errorMessage && helperText && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("span", { className: "mt-[1px] block text-[12px] font-normal text-[var(--chekin-color-gray-1)]", children: helperText }),
14479
+ errorMessage && !hideErrorMessage && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14430
14480
  FieldErrorMessage,
14431
14481
  {
14432
14482
  id: errorId,
@@ -14446,7 +14496,7 @@ var DashboardSelect = React55.forwardRef(
14446
14496
  // src/dashboard/multi-select/MultiSelect.tsx
14447
14497
  var React56 = __toESM(require("react"), 1);
14448
14498
  var import_lucide_react48 = require("lucide-react");
14449
- var import_jsx_runtime158 = require("react/jsx-runtime");
14499
+ var import_jsx_runtime159 = require("react/jsx-runtime");
14450
14500
  var isValueSelected = (selected, option) => selected.some((item) => item.value === option.value);
14451
14501
  function DashboardMultiSelectInternal({
14452
14502
  options = [],
@@ -14467,6 +14517,7 @@ function DashboardMultiSelectInternal({
14467
14517
  className,
14468
14518
  menuClassName,
14469
14519
  dropdownClassName,
14520
+ drawerClassName,
14470
14521
  name,
14471
14522
  width,
14472
14523
  noOptionsMessage,
@@ -14481,12 +14532,14 @@ function DashboardMultiSelectInternal({
14481
14532
  }, ref) {
14482
14533
  const containerRef = React56.useRef(null);
14483
14534
  const inputRef = React56.useRef(null);
14535
+ const mobileSearchInputRef = React56.useRef(null);
14484
14536
  const listRef = React56.useRef(null);
14485
14537
  const optionRefs = React56.useRef([]);
14486
14538
  const [isOpen, setIsOpen] = React56.useState(false);
14487
14539
  const [searchValue, setSearchValue] = React56.useState("");
14488
14540
  const [isFocused, setIsFocused] = React56.useState(false);
14489
14541
  const [highlightedIndex, setHighlightedIndex] = React56.useState(-1);
14542
+ const isMobile2 = useIsMobile();
14490
14543
  const selectedValues = React56.useMemo(() => value ?? [], [value]);
14491
14544
  const hasValue = selectedValues.length > 0;
14492
14545
  const isEmpty = !hasValue;
@@ -14523,7 +14576,7 @@ function DashboardMultiSelectInternal({
14523
14576
  setIsOpen(false);
14524
14577
  setIsFocused(false);
14525
14578
  },
14526
- isDisabled: !isOpen
14579
+ isDisabled: !isOpen || isMobile2
14527
14580
  });
14528
14581
  React56.useEffect(() => {
14529
14582
  if (isBlocked) setIsOpen(false);
@@ -14544,6 +14597,11 @@ function DashboardMultiSelectInternal({
14544
14597
  return getFirstEnabledOptionIndex2(filteredOptions);
14545
14598
  });
14546
14599
  }, [isOpen, filteredOptions]);
14600
+ React56.useEffect(() => {
14601
+ if (!isOpen || !isMobile2) return;
14602
+ const frame = window.requestAnimationFrame(() => mobileSearchInputRef.current?.focus());
14603
+ return () => window.cancelAnimationFrame(frame);
14604
+ }, [isOpen, isMobile2]);
14547
14605
  const openMenu = () => {
14548
14606
  if (isBlocked) return;
14549
14607
  setIsOpen(true);
@@ -14638,7 +14696,7 @@ function DashboardMultiSelectInternal({
14638
14696
  setIsFocused(false);
14639
14697
  onBlur?.(event);
14640
14698
  };
14641
- return /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)(
14699
+ return /* @__PURE__ */ (0, import_jsx_runtime159.jsxs)(
14642
14700
  "div",
14643
14701
  {
14644
14702
  ref: containerRef,
@@ -14651,7 +14709,7 @@ function DashboardMultiSelectInternal({
14651
14709
  ),
14652
14710
  style: wrapperWidth ? { width: wrapperWidth } : void 0,
14653
14711
  children: [
14654
- topLabel && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14712
+ topLabel && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
14655
14713
  "label",
14656
14714
  {
14657
14715
  htmlFor: triggerId,
@@ -14659,7 +14717,7 @@ function DashboardMultiSelectInternal({
14659
14717
  children: topLabel
14660
14718
  }
14661
14719
  ),
14662
- name && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14720
+ name && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
14663
14721
  "input",
14664
14722
  {
14665
14723
  type: "hidden",
@@ -14667,8 +14725,8 @@ function DashboardMultiSelectInternal({
14667
14725
  value: selectedValues.map((item) => String(item.value)).join(",")
14668
14726
  }
14669
14727
  ),
14670
- /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)("div", { className: "relative w-full", children: [
14671
- /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)(
14728
+ /* @__PURE__ */ (0, import_jsx_runtime159.jsxs)("div", { className: "relative w-full", children: [
14729
+ /* @__PURE__ */ (0, import_jsx_runtime159.jsxs)(
14672
14730
  "div",
14673
14731
  {
14674
14732
  id: triggerId,
@@ -14691,13 +14749,13 @@ function DashboardMultiSelectInternal({
14691
14749
  ),
14692
14750
  children: [
14693
14751
  selectedValues.map(
14694
- (option) => renderChip ? /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(React56.Fragment, { children: renderChip(option, () => removeOption(option)) }, String(option.value)) : /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)(
14752
+ (option) => renderChip ? /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(React56.Fragment, { children: renderChip(option, () => removeOption(option)) }, String(option.value)) : /* @__PURE__ */ (0, import_jsx_runtime159.jsxs)(
14695
14753
  "span",
14696
14754
  {
14697
14755
  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)]",
14698
14756
  children: [
14699
- /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("span", { className: "whitespace-nowrap", children: option.label }),
14700
- !readOnly && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14757
+ /* @__PURE__ */ (0, import_jsx_runtime159.jsx)("span", { className: "whitespace-nowrap", children: option.label }),
14758
+ !readOnly && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
14701
14759
  "button",
14702
14760
  {
14703
14761
  type: "button",
@@ -14707,7 +14765,7 @@ function DashboardMultiSelectInternal({
14707
14765
  },
14708
14766
  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]",
14709
14767
  "aria-label": `Remove ${typeof option.label === "string" ? option.label : String(option.value)}`,
14710
- children: /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(import_lucide_react48.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
14768
+ children: /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(import_lucide_react48.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
14711
14769
  }
14712
14770
  )
14713
14771
  ]
@@ -14715,7 +14773,7 @@ function DashboardMultiSelectInternal({
14715
14773
  String(option.value)
14716
14774
  )
14717
14775
  ),
14718
- /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14776
+ /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
14719
14777
  "input",
14720
14778
  {
14721
14779
  ref: inputRef,
@@ -14744,9 +14802,9 @@ function DashboardMultiSelectInternal({
14744
14802
  "aria-activedescendant": isOpen && highlightedIndex >= 0 ? getOptionId2(highlightedIndex) : void 0
14745
14803
  }
14746
14804
  ),
14747
- /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)("span", { className: "ml-auto flex items-center gap-2 pl-2 text-[var(--chekin-color-gray-2)]", children: [
14748
- loading && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(ThreeDotsLoader, { height: 18, width: 18 }),
14749
- hasValue && !readOnly && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14805
+ /* @__PURE__ */ (0, import_jsx_runtime159.jsxs)("span", { className: "ml-auto flex items-center gap-2 pl-2 text-[var(--chekin-color-gray-2)]", children: [
14806
+ loading && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(ThreeDotsLoader, { height: 18, width: 18 }),
14807
+ hasValue && !readOnly && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
14750
14808
  "button",
14751
14809
  {
14752
14810
  type: "button",
@@ -14756,10 +14814,10 @@ function DashboardMultiSelectInternal({
14756
14814
  },
14757
14815
  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]",
14758
14816
  "aria-label": "Clear all",
14759
- children: /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(import_lucide_react48.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
14817
+ children: /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(import_lucide_react48.SquareX, { size: 15, fill: "#9696b9", color: "#f8f8f8", strokeWidth: 1.8 })
14760
14818
  }
14761
14819
  ),
14762
- /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14820
+ /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
14763
14821
  RotateArrow,
14764
14822
  {
14765
14823
  shouldRotate: isOpen,
@@ -14772,7 +14830,7 @@ function DashboardMultiSelectInternal({
14772
14830
  ]
14773
14831
  }
14774
14832
  ),
14775
- /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14833
+ /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
14776
14834
  Fieldset,
14777
14835
  {
14778
14836
  isFocused: isFocused || isOpen,
@@ -14790,15 +14848,35 @@ function DashboardMultiSelectInternal({
14790
14848
  onClick: handleContainerClick
14791
14849
  }
14792
14850
  ),
14793
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime158.jsxs)(
14794
- "div",
14851
+ /* @__PURE__ */ (0, import_jsx_runtime159.jsxs)(
14852
+ SelectMenuPanel,
14795
14853
  {
14796
- className: cn(
14797
- "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)]",
14798
- dropdownClassName
14799
- ),
14854
+ isOpen,
14855
+ isMobile: isMobile2,
14856
+ onClose: () => {
14857
+ setIsOpen(false);
14858
+ setIsFocused(false);
14859
+ },
14860
+ title: typeof label === "string" ? label : void 0,
14861
+ className: dropdownClassName,
14862
+ drawerClassName,
14800
14863
  children: [
14801
- /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14864
+ isMobile2 && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)("div", { className: "border-b border-[#f2f4f8] px-4 pb-2 pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
14865
+ "input",
14866
+ {
14867
+ ref: mobileSearchInputRef,
14868
+ type: "text",
14869
+ value: searchValue,
14870
+ placeholder: placeholder ?? "",
14871
+ onChange: (event) => setSearchValue(event.target.value),
14872
+ onKeyDown: handleInputKeyDown,
14873
+ autoComplete: "off",
14874
+ "aria-controls": listboxId,
14875
+ "aria-activedescendant": highlightedIndex >= 0 ? getOptionId2(highlightedIndex) : void 0,
14876
+ 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)]"
14877
+ }
14878
+ ) }),
14879
+ /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
14802
14880
  SelectMenu,
14803
14881
  {
14804
14882
  id: listboxId,
@@ -14820,7 +14898,7 @@ function DashboardMultiSelectInternal({
14820
14898
  isMulti: true
14821
14899
  }
14822
14900
  ),
14823
- canCreateNewOption && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14901
+ canCreateNewOption && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
14824
14902
  "button",
14825
14903
  {
14826
14904
  type: "button",
@@ -14833,9 +14911,9 @@ function DashboardMultiSelectInternal({
14833
14911
  }
14834
14912
  )
14835
14913
  ] }),
14836
- !errorMessage && optional && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("span", { className: "mt-[1px] block text-left text-[14px] font-medium text-[var(--chekin-color-gray-1)]", children: typeof optional === "string" ? optional : "optional" }),
14837
- !errorMessage && helperText && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)("span", { className: "mt-[1px] block text-[12px] font-normal text-[var(--chekin-color-gray-1)]", children: helperText }),
14838
- errorMessage && !hideErrorMessage && /* @__PURE__ */ (0, import_jsx_runtime158.jsx)(
14914
+ !errorMessage && optional && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)("span", { className: "mt-[1px] block text-left text-[14px] font-medium text-[var(--chekin-color-gray-1)]", children: typeof optional === "string" ? optional : "optional" }),
14915
+ !errorMessage && helperText && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)("span", { className: "mt-[1px] block text-[12px] font-normal text-[var(--chekin-color-gray-1)]", children: helperText }),
14916
+ errorMessage && !hideErrorMessage && /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(
14839
14917
  FieldErrorMessage,
14840
14918
  {
14841
14919
  id: errorId,
@@ -14853,10 +14931,10 @@ var DashboardMultiSelect = React56.forwardRef(
14853
14931
 
14854
14932
  // src/dashboard/creatable-multi-select/CreatableMultiSelect.tsx
14855
14933
  var React57 = __toESM(require("react"), 1);
14856
- var import_jsx_runtime159 = require("react/jsx-runtime");
14934
+ var import_jsx_runtime160 = require("react/jsx-runtime");
14857
14935
  var DashboardCreatableMultiSelect = React57.forwardRef(
14858
14936
  function DashboardCreatableMultiSelect2(props, ref) {
14859
- return /* @__PURE__ */ (0, import_jsx_runtime159.jsx)(DashboardMultiSelect, { ref, ...props, isCreatable: true });
14937
+ return /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(DashboardMultiSelect, { ref, ...props, isCreatable: true });
14860
14938
  }
14861
14939
  );
14862
14940
 
@@ -14864,7 +14942,7 @@ var DashboardCreatableMultiSelect = React57.forwardRef(
14864
14942
  var React58 = __toESM(require("react"), 1);
14865
14943
  var import_lucide_react49 = require("lucide-react");
14866
14944
  var import_react_virtual2 = require("@tanstack/react-virtual");
14867
- var import_jsx_runtime160 = require("react/jsx-runtime");
14945
+ var import_jsx_runtime161 = require("react/jsx-runtime");
14868
14946
  var DEFAULT_ITEM_HEIGHT = 60;
14869
14947
  var DEFAULT_LIST_HEIGHT = 322;
14870
14948
  var DEFAULT_OVERSCAN = 5;
@@ -14888,6 +14966,7 @@ function DashboardInfiniteScrollSelectInternal({
14888
14966
  className,
14889
14967
  menuClassName,
14890
14968
  dropdownClassName,
14969
+ drawerClassName,
14891
14970
  name,
14892
14971
  width,
14893
14972
  noOptionsMessage,
@@ -14912,6 +14991,7 @@ function DashboardInfiniteScrollSelectInternal({
14912
14991
  const [isOpen, setIsOpen] = React58.useState(false);
14913
14992
  const [searchValue, setSearchValue] = React58.useState("");
14914
14993
  const [highlightedIndex, setHighlightedIndex] = React58.useState(-1);
14994
+ const isMobile2 = useIsMobile();
14915
14995
  const hasValue = Boolean(value);
14916
14996
  const isEmpty = !hasValue;
14917
14997
  const isBlocked = Boolean(disabled) || Boolean(loading);
@@ -14936,7 +15016,7 @@ function DashboardInfiniteScrollSelectInternal({
14936
15016
  useOutsideClick({
14937
15017
  elementRef: containerRef,
14938
15018
  onOutsideClick: () => setIsOpen(false),
14939
- isDisabled: !isOpen
15019
+ isDisabled: !isOpen || isMobile2
14940
15020
  });
14941
15021
  React58.useEffect(() => {
14942
15022
  if (isBlocked) setIsOpen(false);
@@ -15031,7 +15111,7 @@ function DashboardInfiniteScrollSelectInternal({
15031
15111
  const emptyMessage = noOptionsMessage?.();
15032
15112
  const totalSize = virtualizer.getTotalSize();
15033
15113
  const measuredListHeight = Math.min(listHeight, Math.max(totalSize, itemHeight));
15034
- return /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)(
15114
+ return /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)(
15035
15115
  "div",
15036
15116
  {
15037
15117
  ref: containerRef,
@@ -15043,9 +15123,9 @@ function DashboardInfiniteScrollSelectInternal({
15043
15123
  ),
15044
15124
  style: wrapperWidth ? { width: wrapperWidth } : void 0,
15045
15125
  children: [
15046
- name && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("input", { type: "hidden", name, value: value ? String(value.value) : "" }),
15047
- /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { className: "relative min-h-[68px] w-full", children: [
15048
- topLabel && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
15126
+ name && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("input", { type: "hidden", name, value: value ? String(value.value) : "" }),
15127
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)("div", { className: "relative min-h-[68px] w-full", children: [
15128
+ topLabel && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15049
15129
  "label",
15050
15130
  {
15051
15131
  htmlFor: triggerId,
@@ -15053,8 +15133,8 @@ function DashboardInfiniteScrollSelectInternal({
15053
15133
  children: topLabel
15054
15134
  }
15055
15135
  ),
15056
- /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { className: "relative w-full", children: [
15057
- /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)(
15136
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)("div", { className: "relative w-full", children: [
15137
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)(
15058
15138
  "button",
15059
15139
  {
15060
15140
  id: triggerId,
@@ -15078,10 +15158,10 @@ function DashboardInfiniteScrollSelectInternal({
15078
15158
  loading && "cursor-progress"
15079
15159
  ),
15080
15160
  children: [
15081
- /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("span", { id: valueId, className: "block min-w-0 flex-1 truncate text-left", children: valueLabel ?? placeholder ?? label }),
15082
- /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("span", { className: "pointer-events-none flex items-center gap-2 text-[var(--chekin-color-gray-2)]", children: [
15083
- loading && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(ThreeDotsLoader, { height: 18, width: 18 }),
15084
- /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
15161
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("span", { id: valueId, className: "block min-w-0 flex-1 truncate text-left", children: valueLabel ?? placeholder ?? label }),
15162
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)("span", { className: "pointer-events-none flex items-center gap-2 text-[var(--chekin-color-gray-2)]", children: [
15163
+ loading && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(ThreeDotsLoader, { height: 18, width: 18 }),
15164
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15085
15165
  import_lucide_react49.ChevronDown,
15086
15166
  {
15087
15167
  size: 16,
@@ -15095,7 +15175,7 @@ function DashboardInfiniteScrollSelectInternal({
15095
15175
  ]
15096
15176
  }
15097
15177
  ),
15098
- /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
15178
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15099
15179
  Fieldset,
15100
15180
  {
15101
15181
  isFocused: isOpen,
@@ -15112,15 +15192,17 @@ function DashboardInfiniteScrollSelectInternal({
15112
15192
  onClick: !isBlocked ? toggleMenu : void 0
15113
15193
  }
15114
15194
  ),
15115
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)(
15116
- "div",
15195
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)(
15196
+ SelectMenuPanel,
15117
15197
  {
15118
- className: cn(
15119
- "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)]",
15120
- dropdownClassName
15121
- ),
15198
+ isOpen,
15199
+ isMobile: isMobile2,
15200
+ onClose: () => setIsOpen(false),
15201
+ title: typeof label === "string" ? label : void 0,
15202
+ className: dropdownClassName,
15203
+ drawerClassName,
15122
15204
  children: [
15123
- searchable && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { className: "border-b border-[#f2f4f8] px-4 pb-2 pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
15205
+ searchable && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("div", { className: "border-b border-[#f2f4f8] px-4 pb-2 pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15124
15206
  "input",
15125
15207
  {
15126
15208
  ref: searchInputRef,
@@ -15135,13 +15217,13 @@ function DashboardInfiniteScrollSelectInternal({
15135
15217
  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)]"
15136
15218
  }
15137
15219
  ) }),
15138
- itemCount === 0 ? /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("div", { className: "px-4 py-[20px] text-left text-[16px] text-[var(--chekin-color-brand-navy)]", children: emptyMessage ?? "No options" }) : /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
15220
+ itemCount === 0 ? /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("div", { className: "px-4 py-[20px] text-left text-[16px] text-[var(--chekin-color-brand-navy)]", children: emptyMessage ?? "No options" }) : /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15139
15221
  "div",
15140
15222
  {
15141
15223
  ref: scrollRef,
15142
15224
  className: cn("overflow-y-auto", menuClassName),
15143
15225
  style: { height: `${measuredListHeight}px` },
15144
- children: /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
15226
+ children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15145
15227
  "div",
15146
15228
  {
15147
15229
  id: listboxId,
@@ -15158,7 +15240,7 @@ function DashboardInfiniteScrollSelectInternal({
15158
15240
  const isSelected = !isLoaderRow && option ? option.value === value?.value : false;
15159
15241
  const isHighlighted = virtualItem.index === highlightedIndex;
15160
15242
  const isOptionDisabled = Boolean(isBlocked || option?.isDisabled);
15161
- return /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
15243
+ return /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15162
15244
  "div",
15163
15245
  {
15164
15246
  "data-index": virtualItem.index,
@@ -15167,10 +15249,10 @@ function DashboardInfiniteScrollSelectInternal({
15167
15249
  height: `${virtualItem.size}px`,
15168
15250
  transform: `translateY(${virtualItem.start}px)`
15169
15251
  },
15170
- children: isLoaderRow ? /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)("div", { className: "flex h-full items-center justify-center gap-2 px-4 text-[14px] font-medium text-[var(--chekin-color-gray-1)]", children: [
15171
- /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(ThreeDotsLoader, { height: 18, width: 18 }),
15172
- /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("span", { children: loadingMoreText })
15173
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime160.jsxs)(
15252
+ children: isLoaderRow ? /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)("div", { className: "flex h-full items-center justify-center gap-2 px-4 text-[14px] font-medium text-[var(--chekin-color-gray-1)]", children: [
15253
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(ThreeDotsLoader, { height: 18, width: 18 }),
15254
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("span", { children: loadingMoreText })
15255
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)(
15174
15256
  "button",
15175
15257
  {
15176
15258
  id: getOptionId2(virtualItem.index),
@@ -15189,8 +15271,8 @@ function DashboardInfiniteScrollSelectInternal({
15189
15271
  isOptionDisabled && "cursor-default opacity-30"
15190
15272
  ),
15191
15273
  children: [
15192
- /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("span", { className: "block break-words", children: option?.label }),
15193
- option?.description && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("span", { className: "ml-2 mt-[3px] shrink-0 text-[12px] font-bold italic text-[#777e91]", children: option.description })
15274
+ /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("span", { className: "block break-words", children: option?.label }),
15275
+ option?.description && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("span", { className: "ml-2 mt-[3px] shrink-0 text-[12px] font-bold italic text-[#777e91]", children: option.description })
15194
15276
  ]
15195
15277
  }
15196
15278
  )
@@ -15206,9 +15288,9 @@ function DashboardInfiniteScrollSelectInternal({
15206
15288
  }
15207
15289
  )
15208
15290
  ] }),
15209
- !errorMessage && optional && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("span", { className: "mt-[1px] block text-left text-[14px] font-medium text-[var(--chekin-color-gray-1)]", children: typeof optional === "string" ? optional : "optional" }),
15210
- !errorMessage && helperText && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)("span", { className: "mt-[1px] block text-[12px] font-normal text-[var(--chekin-color-gray-1)]", children: helperText }),
15211
- errorMessage && !hideErrorMessage && /* @__PURE__ */ (0, import_jsx_runtime160.jsx)(
15291
+ !errorMessage && optional && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("span", { className: "mt-[1px] block text-left text-[14px] font-medium text-[var(--chekin-color-gray-1)]", children: typeof optional === "string" ? optional : "optional" }),
15292
+ !errorMessage && helperText && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("span", { className: "mt-[1px] block text-[12px] font-normal text-[var(--chekin-color-gray-1)]", children: helperText }),
15293
+ errorMessage && !hideErrorMessage && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15212
15294
  FieldErrorMessage,
15213
15295
  {
15214
15296
  id: errorId,
@@ -15230,7 +15312,7 @@ var React59 = __toESM(require("react"), 1);
15230
15312
  var import_lucide_react50 = require("lucide-react");
15231
15313
  var import_react_virtual3 = require("@tanstack/react-virtual");
15232
15314
  var import_react82 = require("react");
15233
- var import_jsx_runtime161 = require("react/jsx-runtime");
15315
+ var import_jsx_runtime162 = require("react/jsx-runtime");
15234
15316
  var ROW_HEIGHT = 48;
15235
15317
  var DESKTOP_LIST_HEIGHT = 280;
15236
15318
  var MOBILE_LIST_HEIGHT = 420;
@@ -15399,7 +15481,7 @@ var SearchableSelectInternal = ({
15399
15481
  }
15400
15482
  }
15401
15483
  }
15402
- const content = /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15484
+ const content = /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
15403
15485
  SearchableSelectContent,
15404
15486
  {
15405
15487
  inputId: searchInputId,
@@ -15427,9 +15509,9 @@ var SearchableSelectInternal = ({
15427
15509
  }
15428
15510
  );
15429
15511
  React59.useImperativeHandle(ref, () => triggerRef.current, []);
15430
- return /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)("div", { ref: containerRef, className: cn("relative w-full max-w-[425px]", className), children: [
15431
- name && /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("input", { type: "hidden", name, value: value ? String(value.value) : "" }),
15432
- /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15512
+ return /* @__PURE__ */ (0, import_jsx_runtime162.jsxs)("div", { ref: containerRef, className: cn("relative w-full max-w-[425px]", className), children: [
15513
+ name && /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("input", { type: "hidden", name, value: value ? String(value.value) : "" }),
15514
+ /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
15433
15515
  FieldTrigger,
15434
15516
  {
15435
15517
  id: `${reactId}-trigger`,
@@ -15464,7 +15546,7 @@ var SearchableSelectInternal = ({
15464
15546
  },
15465
15547
  onKeyDown: handleTriggerKeyDown,
15466
15548
  onBlur,
15467
- trailingAdornment: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15549
+ trailingAdornment: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
15468
15550
  import_lucide_react50.ChevronDown,
15469
15551
  {
15470
15552
  className: cn(
@@ -15475,7 +15557,7 @@ var SearchableSelectInternal = ({
15475
15557
  )
15476
15558
  }
15477
15559
  ),
15478
- isMobile2 ? /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15560
+ isMobile2 ? /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
15479
15561
  Drawer,
15480
15562
  {
15481
15563
  open,
@@ -15487,13 +15569,13 @@ var SearchableSelectInternal = ({
15487
15569
  }
15488
15570
  closeSelect();
15489
15571
  },
15490
- children: /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)(DrawerContent, { onClose: closeSelect, lockScroll: false, children: [
15491
- /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(DrawerTitle, { className: "sr-only", children: mobileTitle ?? label }),
15492
- /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(DrawerDescription, { className: "sr-only", children: label }),
15493
- /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("div", { className: "px-5 pb-5 pt-1", children: content })
15572
+ children: /* @__PURE__ */ (0, import_jsx_runtime162.jsxs)(DrawerContent, { onClose: closeSelect, lockScroll: false, children: [
15573
+ /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(DrawerTitle, { className: "sr-only", children: mobileTitle ?? label }),
15574
+ /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(DrawerDescription, { className: "sr-only", children: label }),
15575
+ /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("div", { className: "px-5 pb-5 pt-1", children: content })
15494
15576
  ] })
15495
15577
  }
15496
- ) : open ? /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15578
+ ) : open ? /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
15497
15579
  "div",
15498
15580
  {
15499
15581
  className: cn(
@@ -15560,16 +15642,16 @@ function SearchableSelectContent({
15560
15642
  virtualizer.scrollToIndex(highlightedIndex, { align: "auto" });
15561
15643
  }
15562
15644
  }, [highlightedIndex, virtualizer]);
15563
- return /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)("div", { className: "p-2", children: [
15564
- /* @__PURE__ */ (0, import_jsx_runtime161.jsxs)("div", { className: "relative mb-2", children: [
15565
- /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15645
+ return /* @__PURE__ */ (0, import_jsx_runtime162.jsxs)("div", { className: "p-2", children: [
15646
+ /* @__PURE__ */ (0, import_jsx_runtime162.jsxs)("div", { className: "relative mb-2", children: [
15647
+ /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
15566
15648
  import_lucide_react50.Search,
15567
15649
  {
15568
15650
  "aria-hidden": "true",
15569
15651
  className: "absolute left-4 top-1/2 h-5 w-5 -translate-y-1/2 text-[#9696B9]"
15570
15652
  }
15571
15653
  ),
15572
- /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15654
+ /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
15573
15655
  "input",
15574
15656
  {
15575
15657
  id: inputId,
@@ -15588,7 +15670,7 @@ function SearchableSelectContent({
15588
15670
  }
15589
15671
  )
15590
15672
  ] }),
15591
- loading && options.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("div", { className: "px-4 py-5 text-center text-base leading-6 text-[#6C6C6C]", children: loadingText }) : options.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("div", { className: "px-4 py-5 text-center text-base leading-6 text-[#6C6C6C]", children: emptyMessage }) : /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15673
+ loading && options.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("div", { className: "px-4 py-5 text-center text-base leading-6 text-[#6C6C6C]", children: loadingText }) : options.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("div", { className: "px-4 py-5 text-center text-base leading-6 text-[#6C6C6C]", children: emptyMessage }) : /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
15592
15674
  "div",
15593
15675
  {
15594
15676
  id: listboxId,
@@ -15597,7 +15679,7 @@ function SearchableSelectContent({
15597
15679
  "aria-labelledby": labelId,
15598
15680
  className: cn("overflow-y-auto outline-none", menuClassName),
15599
15681
  style: { height: Math.min(height, rowCount * ROW_HEIGHT) },
15600
- children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15682
+ children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
15601
15683
  "div",
15602
15684
  {
15603
15685
  className: "relative w-full",
@@ -15605,7 +15687,7 @@ function SearchableSelectContent({
15605
15687
  children: virtualItems.map((virtualItem) => {
15606
15688
  const option = options[virtualItem.index];
15607
15689
  if (!option) {
15608
- return /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15690
+ return /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
15609
15691
  "div",
15610
15692
  {
15611
15693
  className: "absolute left-0 top-0 flex w-full items-center px-4 text-base leading-6 text-[#6C6C6C]",
@@ -15620,7 +15702,7 @@ function SearchableSelectContent({
15620
15702
  }
15621
15703
  const isSelected = value?.value === option.value;
15622
15704
  const isHighlighted = virtualItem.index === highlightedIndex;
15623
- return /* @__PURE__ */ (0, import_jsx_runtime161.jsx)(
15705
+ return /* @__PURE__ */ (0, import_jsx_runtime162.jsx)(
15624
15706
  "button",
15625
15707
  {
15626
15708
  id: getOptionId(idPrefix, virtualItem.index),
@@ -15642,7 +15724,7 @@ function SearchableSelectContent({
15642
15724
  height: `${virtualItem.size}px`,
15643
15725
  transform: `translateY(${virtualItem.start}px)`
15644
15726
  },
15645
- children: /* @__PURE__ */ (0, import_jsx_runtime161.jsx)("span", { className: "truncate text-center", children: String(option.label) })
15727
+ children: /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("span", { className: "truncate text-center", children: String(option.label) })
15646
15728
  },
15647
15729
  `${String(option.value)}-${virtualItem.index}`
15648
15730
  );
@@ -15728,14 +15810,14 @@ function getErrorMessage(error) {
15728
15810
 
15729
15811
  // src/lib/toastResponseError.tsx
15730
15812
  var import_i18next = __toESM(require("i18next"), 1);
15731
- var import_jsx_runtime162 = require("react/jsx-runtime");
15813
+ var import_jsx_runtime163 = require("react/jsx-runtime");
15732
15814
  function addSupportEmailToMessage(message, prefixText) {
15733
15815
  if (typeof message !== "string") {
15734
15816
  return message;
15735
15817
  }
15736
15818
  const builtMessage = `${prefixText ? `${prefixText} ` : ""}${message}`;
15737
- return /* @__PURE__ */ (0, import_jsx_runtime162.jsxs)("div", { children: [
15738
- /* @__PURE__ */ (0, import_jsx_runtime162.jsx)("div", { children: builtMessage }),
15819
+ return /* @__PURE__ */ (0, import_jsx_runtime163.jsxs)("div", { children: [
15820
+ /* @__PURE__ */ (0, import_jsx_runtime163.jsx)("div", { children: builtMessage }),
15739
15821
  import_i18next.default.t("reach_us_at_email")
15740
15822
  ] });
15741
15823
  }