@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 +194 -112
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +194 -112
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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
|
|
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,
|
|
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,
|
|
14311
|
-
/* @__PURE__ */ (0,
|
|
14312
|
-
topLabel && /* @__PURE__ */ (0,
|
|
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,
|
|
14321
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
14346
|
-
/* @__PURE__ */ (0,
|
|
14347
|
-
loading && /* @__PURE__ */ (0,
|
|
14348
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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
|
-
|
|
14380
|
-
|
|
14427
|
+
/* @__PURE__ */ (0, import_jsx_runtime158.jsxs)(
|
|
14428
|
+
SelectMenuPanel,
|
|
14381
14429
|
{
|
|
14382
|
-
|
|
14383
|
-
|
|
14384
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
14428
|
-
!errorMessage && helperText && /* @__PURE__ */ (0,
|
|
14429
|
-
errorMessage && !hideErrorMessage && /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
14671
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
14700
|
-
!readOnly && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
14748
|
-
loading && /* @__PURE__ */ (0,
|
|
14749
|
-
hasValue && !readOnly && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
14794
|
-
|
|
14851
|
+
/* @__PURE__ */ (0, import_jsx_runtime159.jsxs)(
|
|
14852
|
+
SelectMenuPanel,
|
|
14795
14853
|
{
|
|
14796
|
-
|
|
14797
|
-
|
|
14798
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
14837
|
-
!errorMessage && helperText && /* @__PURE__ */ (0,
|
|
14838
|
-
errorMessage && !hideErrorMessage && /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
15047
|
-
/* @__PURE__ */ (0,
|
|
15048
|
-
topLabel && /* @__PURE__ */ (0,
|
|
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,
|
|
15057
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
15082
|
-
/* @__PURE__ */ (0,
|
|
15083
|
-
loading && /* @__PURE__ */ (0,
|
|
15084
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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
|
-
|
|
15116
|
-
|
|
15195
|
+
/* @__PURE__ */ (0, import_jsx_runtime161.jsxs)(
|
|
15196
|
+
SelectMenuPanel,
|
|
15117
15197
|
{
|
|
15118
|
-
|
|
15119
|
-
|
|
15120
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
15171
|
-
/* @__PURE__ */ (0,
|
|
15172
|
-
/* @__PURE__ */ (0,
|
|
15173
|
-
] }) : /* @__PURE__ */ (0,
|
|
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,
|
|
15193
|
-
option?.description && /* @__PURE__ */ (0,
|
|
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,
|
|
15210
|
-
!errorMessage && helperText && /* @__PURE__ */ (0,
|
|
15211
|
-
errorMessage && !hideErrorMessage && /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
15431
|
-
name && /* @__PURE__ */ (0,
|
|
15432
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
15491
|
-
/* @__PURE__ */ (0,
|
|
15492
|
-
/* @__PURE__ */ (0,
|
|
15493
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
15564
|
-
/* @__PURE__ */ (0,
|
|
15565
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
15738
|
-
/* @__PURE__ */ (0,
|
|
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
|
}
|