@2urgseui/core 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -549,9 +549,9 @@ function AsyncSelectInner(props) {
549
549
  setSelectedItem(null);
550
550
  };
551
551
  const triggerLabel = selectedItem ? resolveLabel(selectedItem, labelKey) : value?.label ? value.label : null;
552
- return /* @__PURE__ */ jsxs5(Popover, { open, onOpenChange: setOpen, children: [
552
+ return /* @__PURE__ */ jsx6("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsxs5(Popover, { open, onOpenChange: setOpen, children: [
553
553
  name && /* @__PURE__ */ jsx6("input", { type: "hidden", name, value: value?.value ?? "" }),
554
- /* @__PURE__ */ jsx6(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs5(
554
+ /* @__PURE__ */ jsx6(PopoverTrigger, { asChild: true, className: "w-full", children: /* @__PURE__ */ jsxs5(
555
555
  "button",
556
556
  {
557
557
  ref: innerRef,
@@ -561,10 +561,9 @@ function AsyncSelectInner(props) {
561
561
  "aria-expanded": open,
562
562
  disabled,
563
563
  className: cn(
564
- "flex h-11 w-full appearance-none items-center justify-between gap-2 px-4 text-base md:text-sm",
564
+ "flex min-h-11 w-full min-w-0 appearance-none items-center justify-between gap-2 px-4 py-2 text-base md:text-sm",
565
565
  inputSurfaceField,
566
566
  inputSurfaceFieldDisabled,
567
- "[&>span]:line-clamp-1 [&>span]:text-inherit [&_svg]:text-slate-500 dark:[&_svg]:text-slate-400",
568
567
  error && inputSurfaceFieldInvalid,
569
568
  className
570
569
  ),
@@ -572,11 +571,14 @@ function AsyncSelectInner(props) {
572
571
  /* @__PURE__ */ jsx6(
573
572
  "span",
574
573
  {
575
- className: cn("truncate", !triggerLabel && "text-slate-500 dark:text-slate-400"),
574
+ className: cn(
575
+ "min-w-0 flex-1 text-left whitespace-normal break-words",
576
+ !triggerLabel && "text-slate-500 dark:text-slate-400"
577
+ ),
576
578
  children: triggerLabel ?? placeholder
577
579
  }
578
580
  ),
579
- /* @__PURE__ */ jsxs5("span", { className: "flex shrink-0 items-center gap-1", children: [
581
+ /* @__PURE__ */ jsxs5("span", { className: "ml-auto flex shrink-0 items-center gap-1", children: [
580
582
  clearable && value?.value && !disabled && /* @__PURE__ */ jsx6(
581
583
  "span",
582
584
  {
@@ -600,7 +602,7 @@ function AsyncSelectInner(props) {
600
602
  PopoverContent,
601
603
  {
602
604
  align: "start",
603
- className: "w-[--radix-popover-trigger-width] p-0",
605
+ className: "w-[var(--radix-popover-trigger-width)] min-w-[var(--radix-popover-trigger-width)] max-w-[var(--radix-popover-content-available-width)] p-0",
604
606
  onOpenAutoFocus: (e) => e.preventDefault(),
605
607
  children: [
606
608
  searchable && /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2 border-b px-3 py-2", children: [
@@ -633,14 +635,14 @@ function AsyncSelectInner(props) {
633
635
  "aria-selected": isSelected,
634
636
  onClick: () => handleSelect(item),
635
637
  className: cn(
636
- "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none",
638
+ "relative flex w-full cursor-default select-none items-start rounded-sm py-1.5 pl-8 pr-2 text-sm text-left outline-none",
637
639
  "hover:bg-accent hover:text-accent-foreground",
638
640
  "focus-visible:bg-accent focus-visible:text-accent-foreground",
639
641
  isSelected && "bg-accent/50"
640
642
  ),
641
643
  children: [
642
644
  /* @__PURE__ */ jsx6("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: isSelected && /* @__PURE__ */ jsx6(Check, { className: "h-4 w-4" }) }),
643
- /* @__PURE__ */ jsx6("span", { className: "truncate", children: resolveLabel(item, labelKey) })
645
+ /* @__PURE__ */ jsx6("span", { className: "min-w-0 flex-1 whitespace-normal break-words", children: resolveLabel(item, labelKey) })
644
646
  ]
645
647
  },
646
648
  itemValue
@@ -658,7 +660,7 @@ function AsyncSelectInner(props) {
658
660
  ]
659
661
  }
660
662
  )
661
- ] });
663
+ ] }) });
662
664
  }
663
665
  var AsyncSelect = React6.forwardRef(
664
666
  (props, ref) => /* @__PURE__ */ jsx6(AsyncSelectInner, { ...props, innerRef: ref })
@@ -1915,7 +1917,7 @@ var FileDropzone = React20.forwardRef(
1915
1917
  FileDropzone.displayName = "FileDropzone";
1916
1918
 
1917
1919
  // source/components/primitive/FormField/form-field.tsx
1918
- import * as React29 from "react";
1920
+ import * as React30 from "react";
1919
1921
  import {
1920
1922
  Controller
1921
1923
  } from "react-hook-form";
@@ -2172,30 +2174,195 @@ var RichTextEditor = ({
2172
2174
  );
2173
2175
  };
2174
2176
 
2175
- // source/components/primitive/Select/select.tsx
2177
+ // source/components/primitive/SearchableSelect/searchable-select.tsx
2176
2178
  import * as React25 from "react";
2177
- import * as SelectPrimitive from "@radix-ui/react-select";
2178
- import { Check as Check4, ChevronDown as ChevronDown3, ChevronUp } from "lucide-react";
2179
+ import { Check as Check4, ChevronDown as ChevronDown3, Search as Search2 } from "lucide-react";
2179
2180
  import { jsx as jsx28, jsxs as jsxs18 } from "react/jsx-runtime";
2181
+ function reactNodeToLabelString2(node) {
2182
+ if (node == null || typeof node === "boolean") return "";
2183
+ if (typeof node === "string" || typeof node === "number") return String(node);
2184
+ if (Array.isArray(node)) return node.map(reactNodeToLabelString2).join("");
2185
+ return "";
2186
+ }
2187
+ function defaultFilterItem(item, search) {
2188
+ const q = search.trim().toLowerCase();
2189
+ if (!q) return true;
2190
+ return reactNodeToLabelString2(item.label).toLowerCase().includes(q);
2191
+ }
2192
+ function SearchableSelectInner({
2193
+ items,
2194
+ value,
2195
+ onValueChange,
2196
+ placeholder = "Select\u2026",
2197
+ searchPlaceholder = "Search\u2026",
2198
+ clearable = false,
2199
+ disabled = false,
2200
+ error = false,
2201
+ name,
2202
+ id,
2203
+ className,
2204
+ filterItem = defaultFilterItem,
2205
+ onBlur,
2206
+ "aria-describedby": ariaDescribedBy,
2207
+ "aria-invalid": ariaInvalid,
2208
+ innerRef
2209
+ }) {
2210
+ const [open, setOpen] = React25.useState(false);
2211
+ const [search, setSearch] = React25.useState("");
2212
+ const searchInputRef = React25.useRef(null);
2213
+ const filteredItems = items.filter((item) => filterItem(item, search));
2214
+ const selectedItem = items.find((item) => item.value === value);
2215
+ React25.useEffect(() => {
2216
+ if (open) {
2217
+ setTimeout(() => searchInputRef.current?.focus(), 0);
2218
+ } else {
2219
+ setSearch("");
2220
+ }
2221
+ }, [open]);
2222
+ const handleSelect = (item) => {
2223
+ if (item.disabled) return;
2224
+ if (clearable && item.value === value) {
2225
+ onValueChange?.("");
2226
+ } else {
2227
+ onValueChange?.(item.value);
2228
+ }
2229
+ setOpen(false);
2230
+ };
2231
+ const handleClear = (e) => {
2232
+ e.stopPropagation();
2233
+ onValueChange?.("");
2234
+ };
2235
+ return /* @__PURE__ */ jsx28("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsxs18(Popover, { open, onOpenChange: setOpen, children: [
2236
+ name && /* @__PURE__ */ jsx28("input", { type: "hidden", name, value: value ?? "" }),
2237
+ /* @__PURE__ */ jsx28(PopoverTrigger, { asChild: true, className: "w-full", children: /* @__PURE__ */ jsxs18(
2238
+ "button",
2239
+ {
2240
+ ref: innerRef,
2241
+ id,
2242
+ type: "button",
2243
+ role: "combobox",
2244
+ "aria-expanded": open,
2245
+ "aria-describedby": ariaDescribedBy,
2246
+ "aria-invalid": ariaInvalid,
2247
+ disabled,
2248
+ onBlur,
2249
+ className: cn(
2250
+ "flex min-h-11 w-full min-w-0 appearance-none items-center justify-between gap-2 px-4 py-2 text-base md:text-sm",
2251
+ inputSurfaceField,
2252
+ inputSurfaceFieldDisabled,
2253
+ error && inputSurfaceFieldInvalid,
2254
+ className
2255
+ ),
2256
+ children: [
2257
+ /* @__PURE__ */ jsx28(
2258
+ "span",
2259
+ {
2260
+ className: cn(
2261
+ "min-w-0 flex-1 text-left whitespace-normal break-words",
2262
+ !selectedItem && "text-slate-500 dark:text-slate-400"
2263
+ ),
2264
+ children: selectedItem?.label ?? placeholder
2265
+ }
2266
+ ),
2267
+ /* @__PURE__ */ jsxs18("span", { className: "ml-auto flex shrink-0 items-center gap-1", children: [
2268
+ clearable && value && !disabled && /* @__PURE__ */ jsx28(
2269
+ "span",
2270
+ {
2271
+ role: "button",
2272
+ tabIndex: -1,
2273
+ "aria-label": "Clear selection",
2274
+ onClick: handleClear,
2275
+ onKeyDown: (e) => {
2276
+ if (e.key === "Enter" || e.key === " ") {
2277
+ handleClear(e);
2278
+ }
2279
+ },
2280
+ className: "rounded-sm p-0.5 text-muted-foreground hover:text-foreground",
2281
+ children: "\xD7"
2282
+ }
2283
+ ),
2284
+ /* @__PURE__ */ jsx28(ChevronDown3, { "aria-hidden": true, className: "h-4 w-4 shrink-0 text-slate-500 dark:text-slate-400" })
2285
+ ] })
2286
+ ]
2287
+ }
2288
+ ) }),
2289
+ /* @__PURE__ */ jsxs18(
2290
+ PopoverContent,
2291
+ {
2292
+ align: "start",
2293
+ className: "w-[--radix-popover-trigger-width] min-w-[var(--radix-popover-trigger-width)] max-w-[var(--radix-popover-content-available-width)] p-0",
2294
+ onOpenAutoFocus: (e) => e.preventDefault(),
2295
+ children: [
2296
+ /* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-2 border-b px-3 py-2", children: [
2297
+ /* @__PURE__ */ jsx28(Search2, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
2298
+ /* @__PURE__ */ jsx28(
2299
+ "input",
2300
+ {
2301
+ ref: searchInputRef,
2302
+ value: search,
2303
+ onChange: (e) => setSearch(e.target.value),
2304
+ placeholder: searchPlaceholder,
2305
+ className: "h-8 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground"
2306
+ }
2307
+ )
2308
+ ] }),
2309
+ /* @__PURE__ */ jsx28("div", { className: "max-h-60 overflow-y-auto p-1", children: filteredItems.length === 0 ? /* @__PURE__ */ jsx28("div", { className: "px-3 py-6 text-center text-sm text-muted-foreground", children: "No results found." }) : filteredItems.map((item) => {
2310
+ const isSelected = item.value === value;
2311
+ return /* @__PURE__ */ jsxs18(
2312
+ "button",
2313
+ {
2314
+ type: "button",
2315
+ role: "option",
2316
+ "aria-selected": isSelected,
2317
+ disabled: item.disabled,
2318
+ onClick: () => handleSelect(item),
2319
+ className: cn(
2320
+ "relative flex w-full cursor-default select-none items-start rounded-sm py-1.5 pl-8 pr-2 text-sm text-left outline-none",
2321
+ "hover:bg-accent hover:text-accent-foreground",
2322
+ "focus-visible:bg-accent focus-visible:text-accent-foreground",
2323
+ "disabled:pointer-events-none disabled:opacity-50",
2324
+ isSelected && "bg-accent/50"
2325
+ ),
2326
+ children: [
2327
+ /* @__PURE__ */ jsx28("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: isSelected && /* @__PURE__ */ jsx28(Check4, { className: "h-4 w-4" }) }),
2328
+ /* @__PURE__ */ jsx28("span", { className: "min-w-0 flex-1 whitespace-normal break-words", children: item.label })
2329
+ ]
2330
+ },
2331
+ item.value
2332
+ );
2333
+ }) })
2334
+ ]
2335
+ }
2336
+ )
2337
+ ] }) });
2338
+ }
2339
+ var SearchableSelect = React25.forwardRef((props, ref) => /* @__PURE__ */ jsx28(SearchableSelectInner, { ...props, innerRef: ref }));
2340
+ SearchableSelect.displayName = "SearchableSelect";
2341
+
2342
+ // source/components/primitive/Select/select.tsx
2343
+ import * as React26 from "react";
2344
+ import * as SelectPrimitive from "@radix-ui/react-select";
2345
+ import { Check as Check5, ChevronDown as ChevronDown4, ChevronUp } from "lucide-react";
2346
+ import { jsx as jsx29, jsxs as jsxs19 } from "react/jsx-runtime";
2180
2347
  var Select = SelectPrimitive.Root;
2181
2348
  var SelectGroup = SelectPrimitive.Group;
2182
2349
  var SelectValue = SelectPrimitive.Value;
2183
- var SelectTrigger = React25.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs18(
2350
+ var SelectTrigger = React26.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs19(
2184
2351
  SelectPrimitive.Trigger,
2185
2352
  {
2186
2353
  ref,
2187
2354
  className: cn(
2188
- "flex h-11 w-full appearance-none items-center justify-between gap-2 px-4 text-base md:text-sm",
2355
+ "flex min-h-11 w-full appearance-none items-center justify-between gap-2 px-4 py-2 text-base md:text-sm",
2189
2356
  inputSurfaceField,
2190
2357
  inputSurfaceFieldDisabled,
2191
- "[&>span]:line-clamp-1 [&>span]:text-inherit [&_svg]:text-slate-500 dark:[&_svg]:text-slate-400",
2358
+ "[&>span]:min-w-0 [&>span]:flex-1 [&>span]:text-left [&>span]:whitespace-normal [&>span]:break-words [&>span]:text-inherit [&_svg]:text-slate-500 dark:[&_svg]:text-slate-400",
2192
2359
  className
2193
2360
  ),
2194
2361
  ...props,
2195
2362
  children: [
2196
2363
  children,
2197
- /* @__PURE__ */ jsx28(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx28(
2198
- ChevronDown3,
2364
+ /* @__PURE__ */ jsx29(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx29(
2365
+ ChevronDown4,
2199
2366
  {
2200
2367
  "aria-hidden": "true",
2201
2368
  className: "h-4 w-4 shrink-0"
@@ -2205,7 +2372,7 @@ var SelectTrigger = React25.forwardRef(({ className, children, ...props }, ref)
2205
2372
  }
2206
2373
  ));
2207
2374
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
2208
- var SelectScrollUpButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2375
+ var SelectScrollUpButton = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2209
2376
  SelectPrimitive.ScrollUpButton,
2210
2377
  {
2211
2378
  ref,
@@ -2214,11 +2381,11 @@ var SelectScrollUpButton = React25.forwardRef(({ className, ...props }, ref) =>
2214
2381
  className
2215
2382
  ),
2216
2383
  ...props,
2217
- children: /* @__PURE__ */ jsx28(ChevronUp, { className: "h-4 w-4" })
2384
+ children: /* @__PURE__ */ jsx29(ChevronUp, { className: "h-4 w-4" })
2218
2385
  }
2219
2386
  ));
2220
2387
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
2221
- var SelectScrollDownButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2388
+ var SelectScrollDownButton = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2222
2389
  SelectPrimitive.ScrollDownButton,
2223
2390
  {
2224
2391
  ref,
@@ -2227,39 +2394,39 @@ var SelectScrollDownButton = React25.forwardRef(({ className, ...props }, ref) =
2227
2394
  className
2228
2395
  ),
2229
2396
  ...props,
2230
- children: /* @__PURE__ */ jsx28(ChevronDown3, { className: "h-4 w-4" })
2397
+ children: /* @__PURE__ */ jsx29(ChevronDown4, { className: "h-4 w-4" })
2231
2398
  }
2232
2399
  ));
2233
2400
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
2234
- var SelectContent = React25.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx28(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs18(
2401
+ var SelectContent = React26.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx29(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs19(
2235
2402
  SelectPrimitive.Content,
2236
2403
  {
2237
2404
  ref,
2238
2405
  className: cn(
2239
- "relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",
2240
- position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
2406
+ "relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",
2407
+ position === "popper" && "min-w-[var(--radix-select-trigger-width)] max-w-[var(--radix-select-content-available-width)] data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
2241
2408
  className
2242
2409
  ),
2243
2410
  position,
2244
2411
  ...props,
2245
2412
  children: [
2246
- /* @__PURE__ */ jsx28(SelectScrollUpButton, {}),
2247
- /* @__PURE__ */ jsx28(
2413
+ /* @__PURE__ */ jsx29(SelectScrollUpButton, {}),
2414
+ /* @__PURE__ */ jsx29(
2248
2415
  SelectPrimitive.Viewport,
2249
2416
  {
2250
2417
  className: cn(
2251
2418
  "p-1",
2252
- position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
2419
+ position === "popper" && "w-full min-w-[var(--radix-select-trigger-width)]"
2253
2420
  ),
2254
2421
  children
2255
2422
  }
2256
2423
  ),
2257
- /* @__PURE__ */ jsx28(SelectScrollDownButton, {})
2424
+ /* @__PURE__ */ jsx29(SelectScrollDownButton, {})
2258
2425
  ]
2259
2426
  }
2260
2427
  ) }));
2261
2428
  SelectContent.displayName = SelectPrimitive.Content.displayName;
2262
- var SelectLabel = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2429
+ var SelectLabel = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2263
2430
  SelectPrimitive.Label,
2264
2431
  {
2265
2432
  ref,
@@ -2268,31 +2435,31 @@ var SelectLabel = React25.forwardRef(({ className, ...props }, ref) => /* @__PUR
2268
2435
  }
2269
2436
  ));
2270
2437
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
2271
- var SelectItem = React25.forwardRef(({ value, className, children, ...props }, ref) => {
2438
+ var SelectItem = React26.forwardRef(({ value, className, children, ...props }, ref) => {
2272
2439
  if (value === "") {
2273
2440
  throw new Error(
2274
2441
  'SelectItem: `value` must not be an empty string \u2014 Radix uses "" to reset the Select and show the placeholder. Omit that option and use `<SelectValue placeholder="\u2026">`, or assign a sentinel value such as `"none"`.'
2275
2442
  );
2276
2443
  }
2277
- return /* @__PURE__ */ jsxs18(
2444
+ return /* @__PURE__ */ jsxs19(
2278
2445
  SelectPrimitive.Item,
2279
2446
  {
2280
2447
  ref,
2281
2448
  value,
2282
2449
  className: cn(
2283
- "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
2450
+ "relative flex w-full cursor-default select-none items-start rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
2284
2451
  className
2285
2452
  ),
2286
2453
  ...props,
2287
2454
  children: [
2288
- /* @__PURE__ */ jsx28("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx28(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx28(Check4, { className: "h-4 w-4" }) }) }),
2289
- /* @__PURE__ */ jsx28(SelectPrimitive.ItemText, { children })
2455
+ /* @__PURE__ */ jsx29("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx29(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(Check5, { className: "h-4 w-4" }) }) }),
2456
+ /* @__PURE__ */ jsx29(SelectPrimitive.ItemText, { className: "whitespace-normal break-words", children })
2290
2457
  ]
2291
2458
  }
2292
2459
  );
2293
2460
  });
2294
2461
  SelectItem.displayName = SelectPrimitive.Item.displayName;
2295
- var SelectSeparator = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx28(
2462
+ var SelectSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2296
2463
  SelectPrimitive.Separator,
2297
2464
  {
2298
2465
  ref,
@@ -2303,10 +2470,10 @@ var SelectSeparator = React25.forwardRef(({ className, ...props }, ref) => /* @_
2303
2470
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
2304
2471
 
2305
2472
  // source/components/primitive/Switch/switch.tsx
2306
- import * as React26 from "react";
2473
+ import * as React27 from "react";
2307
2474
  import * as SwitchPrimitives from "@radix-ui/react-switch";
2308
2475
  import { cva as cva9 } from "class-variance-authority";
2309
- import { jsx as jsx29, jsxs as jsxs19 } from "react/jsx-runtime";
2476
+ import { jsx as jsx30, jsxs as jsxs20 } from "react/jsx-runtime";
2310
2477
  var switchRootVariants = cva9(
2311
2478
  [
2312
2479
  "peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors",
@@ -2340,14 +2507,14 @@ var switchThumbVariants = cva9(
2340
2507
  }
2341
2508
  }
2342
2509
  );
2343
- var Switch = React26.forwardRef(
2510
+ var Switch = React27.forwardRef(
2344
2511
  ({ className, label, description, error, size, id: idProp, ...props }, ref) => {
2345
- const generatedId = React26.useId();
2512
+ const generatedId = React27.useId();
2346
2513
  const id = idProp ?? generatedId;
2347
2514
  const descriptionId = description ? `${id}-description` : void 0;
2348
2515
  const errorId = error ? `${id}-error` : void 0;
2349
- return /* @__PURE__ */ jsxs19("div", { className: "flex items-start gap-3", children: [
2350
- /* @__PURE__ */ jsx29(
2516
+ return /* @__PURE__ */ jsxs20("div", { className: "flex items-start gap-3", children: [
2517
+ /* @__PURE__ */ jsx30(
2351
2518
  SwitchPrimitives.Root,
2352
2519
  {
2353
2520
  ref,
@@ -2360,7 +2527,7 @@ var Switch = React26.forwardRef(
2360
2527
  className
2361
2528
  ),
2362
2529
  ...props,
2363
- children: /* @__PURE__ */ jsx29(
2530
+ children: /* @__PURE__ */ jsx30(
2364
2531
  SwitchPrimitives.Thumb,
2365
2532
  {
2366
2533
  className: cn(switchThumbVariants({ size }))
@@ -2368,8 +2535,8 @@ var Switch = React26.forwardRef(
2368
2535
  )
2369
2536
  }
2370
2537
  ),
2371
- (label || description || error) && /* @__PURE__ */ jsxs19("div", { className: "flex flex-col leading-tight", children: [
2372
- label && /* @__PURE__ */ jsx29(
2538
+ (label || description || error) && /* @__PURE__ */ jsxs20("div", { className: "flex flex-col leading-tight", children: [
2539
+ label && /* @__PURE__ */ jsx30(
2373
2540
  "label",
2374
2541
  {
2375
2542
  htmlFor: id,
@@ -2377,7 +2544,7 @@ var Switch = React26.forwardRef(
2377
2544
  children: label
2378
2545
  }
2379
2546
  ),
2380
- description && /* @__PURE__ */ jsx29(
2547
+ description && /* @__PURE__ */ jsx30(
2381
2548
  "p",
2382
2549
  {
2383
2550
  id: descriptionId,
@@ -2385,7 +2552,7 @@ var Switch = React26.forwardRef(
2385
2552
  children: description
2386
2553
  }
2387
2554
  ),
2388
- error && /* @__PURE__ */ jsx29(
2555
+ error && /* @__PURE__ */ jsx30(
2389
2556
  "p",
2390
2557
  {
2391
2558
  id: errorId,
@@ -2400,9 +2567,9 @@ var Switch = React26.forwardRef(
2400
2567
  Switch.displayName = "Switch";
2401
2568
 
2402
2569
  // source/components/primitive/Text/text.tsx
2403
- import * as React27 from "react";
2570
+ import * as React28 from "react";
2404
2571
  import { cva as cva10 } from "class-variance-authority";
2405
- import { jsx as jsx30 } from "react/jsx-runtime";
2572
+ import { jsx as jsx31 } from "react/jsx-runtime";
2406
2573
  var textVariants = cva10("text-foreground", {
2407
2574
  variants: {
2408
2575
  element: {
@@ -2451,7 +2618,7 @@ var textVariants = cva10("text-foreground", {
2451
2618
  tone: "default"
2452
2619
  }
2453
2620
  });
2454
- var Text = React27.forwardRef(
2621
+ var Text = React28.forwardRef(
2455
2622
  ({
2456
2623
  element = "p",
2457
2624
  size,
@@ -2464,7 +2631,7 @@ var Text = React27.forwardRef(
2464
2631
  }, ref) => {
2465
2632
  const Comp = element;
2466
2633
  const variantElement = element === "div" ? "p" : element;
2467
- return /* @__PURE__ */ jsx30(
2634
+ return /* @__PURE__ */ jsx31(
2468
2635
  Comp,
2469
2636
  {
2470
2637
  ref,
@@ -2487,8 +2654,8 @@ var Text = React27.forwardRef(
2487
2654
  Text.displayName = "Text";
2488
2655
 
2489
2656
  // source/components/primitive/TextArea/textarea.tsx
2490
- import * as React28 from "react";
2491
- import { jsx as jsx31 } from "react/jsx-runtime";
2657
+ import * as React29 from "react";
2658
+ import { jsx as jsx32 } from "react/jsx-runtime";
2492
2659
  var resizeClasses = {
2493
2660
  none: "resize-none",
2494
2661
  vertical: "resize-y",
@@ -2496,9 +2663,9 @@ var resizeClasses = {
2496
2663
  both: "resize"
2497
2664
  };
2498
2665
  var layout = "block min-h-[120px] w-full min-w-0 px-4 py-2 text-sm md:text-base";
2499
- var Textarea = React28.forwardRef(
2666
+ var Textarea = React29.forwardRef(
2500
2667
  ({ className, error, resize = "vertical", ...props }, ref) => {
2501
- return /* @__PURE__ */ jsx31(
2668
+ return /* @__PURE__ */ jsx32(
2502
2669
  "textarea",
2503
2670
  {
2504
2671
  ref,
@@ -2520,7 +2687,7 @@ var Textarea = React28.forwardRef(
2520
2687
  Textarea.displayName = "Textarea";
2521
2688
 
2522
2689
  // source/components/primitive/FormField/form-field.tsx
2523
- import { jsx as jsx32, jsxs as jsxs20 } from "react/jsx-runtime";
2690
+ import { jsx as jsx33, jsxs as jsxs21 } from "react/jsx-runtime";
2524
2691
  function stripThousands(s) {
2525
2692
  return s.replace(/,/g, "");
2526
2693
  }
@@ -2664,7 +2831,7 @@ function FormField({
2664
2831
  className,
2665
2832
  renderInput
2666
2833
  }) {
2667
- const generatedId = React29.useId();
2834
+ const generatedId = React30.useId();
2668
2835
  const inputId = `field-${generatedId}`;
2669
2836
  const descriptionId = description ? `${inputId}-description` : void 0;
2670
2837
  const externalError = error ? String(error) : void 0;
@@ -2707,7 +2874,7 @@ function FormField({
2707
2874
  );
2708
2875
  }
2709
2876
  if (control) {
2710
- return /* @__PURE__ */ jsx32(
2877
+ return /* @__PURE__ */ jsx33(
2711
2878
  Controller,
2712
2879
  {
2713
2880
  name,
@@ -2734,7 +2901,7 @@ function FormField({
2734
2901
  onChange: field.onChange,
2735
2902
  onBlur: field.onBlur,
2736
2903
  ref: field.ref
2737
- }) : /* @__PURE__ */ jsx32(
2904
+ }) : /* @__PURE__ */ jsx33(
2738
2905
  FormFieldVariantControl,
2739
2906
  {
2740
2907
  variant,
@@ -2759,7 +2926,7 @@ function FormField({
2759
2926
  maskInput: renderInput ? void 0 : maskInput
2760
2927
  }
2761
2928
  );
2762
- const labelBlock = isCheckboxInline || !hasFieldLabel2 ? null : /* @__PURE__ */ jsx32(
2929
+ const labelBlock = isCheckboxInline || !hasFieldLabel2 ? null : /* @__PURE__ */ jsx33(
2763
2930
  Label2,
2764
2931
  {
2765
2932
  id: variant === "radio" || variant === "richtext" ? legendId : void 0,
@@ -2769,8 +2936,8 @@ function FormField({
2769
2936
  children: label
2770
2937
  }
2771
2938
  );
2772
- const checkboxInline = isCheckboxInline ? hasFieldLabel2 ? /* @__PURE__ */ jsxs20("div", { className: "flex w-full min-w-0 items-start gap-2", children: [
2773
- /* @__PURE__ */ jsx32(
2939
+ const checkboxInline = isCheckboxInline ? hasFieldLabel2 ? /* @__PURE__ */ jsxs21("div", { className: "flex w-full min-w-0 items-start gap-2", children: [
2940
+ /* @__PURE__ */ jsx33(
2774
2941
  Checkbox,
2775
2942
  {
2776
2943
  ...checkboxProps,
@@ -2785,7 +2952,7 @@ function FormField({
2785
2952
  "aria-invalid": hasError || void 0
2786
2953
  }
2787
2954
  ),
2788
- /* @__PURE__ */ jsx32(
2955
+ /* @__PURE__ */ jsx33(
2789
2956
  Label2,
2790
2957
  {
2791
2958
  htmlFor: inputId,
@@ -2795,7 +2962,7 @@ function FormField({
2795
2962
  children: label
2796
2963
  }
2797
2964
  )
2798
- ] }) : /* @__PURE__ */ jsx32(
2965
+ ] }) : /* @__PURE__ */ jsx33(
2799
2966
  Checkbox,
2800
2967
  {
2801
2968
  ...checkboxProps,
@@ -2810,7 +2977,7 @@ function FormField({
2810
2977
  "aria-invalid": hasError || void 0
2811
2978
  }
2812
2979
  ) : null;
2813
- return /* @__PURE__ */ jsxs20(
2980
+ return /* @__PURE__ */ jsxs21(
2814
2981
  "div",
2815
2982
  {
2816
2983
  className: cn(
@@ -2818,12 +2985,12 @@ function FormField({
2818
2985
  className
2819
2986
  ),
2820
2987
  children: [
2821
- isCheckboxInline ? checkboxInline : /* @__PURE__ */ jsxs20("div", { className: "flex w-full min-w-0 flex-col gap-1.5", children: [
2988
+ isCheckboxInline ? checkboxInline : /* @__PURE__ */ jsxs21("div", { className: "flex w-full min-w-0 flex-col gap-1.5", children: [
2822
2989
  labelBlock,
2823
2990
  controlNode
2824
2991
  ] }),
2825
- description && /* @__PURE__ */ jsx32(Text, { id: descriptionId, size: "sm", tone: "muted", children: description }),
2826
- message && /* @__PURE__ */ jsx32(Text, { id: errorId, size: "sm", tone: "destructive", children: message })
2992
+ description && /* @__PURE__ */ jsx33(Text, { id: descriptionId, size: "sm", tone: "muted", children: description }),
2993
+ message && /* @__PURE__ */ jsx33(Text, { id: errorId, size: "sm", tone: "destructive", children: message })
2827
2994
  ]
2828
2995
  }
2829
2996
  );
@@ -2848,7 +3015,7 @@ function FormField({
2848
3015
  "aria-describedby": describedBy,
2849
3016
  error: Boolean(externalError),
2850
3017
  ...registered
2851
- }) : variant === "textarea" ? /* @__PURE__ */ jsx32(
3018
+ }) : variant === "textarea" ? /* @__PURE__ */ jsx33(
2852
3019
  Textarea,
2853
3020
  {
2854
3021
  id: inputId,
@@ -2857,7 +3024,7 @@ function FormField({
2857
3024
  ...textareaProps,
2858
3025
  ...registered
2859
3026
  }
2860
- ) : /* @__PURE__ */ jsx32(
3027
+ ) : /* @__PURE__ */ jsx33(
2861
3028
  Input,
2862
3029
  {
2863
3030
  id: inputId,
@@ -2867,13 +3034,13 @@ function FormField({
2867
3034
  ...registered
2868
3035
  }
2869
3036
  );
2870
- return /* @__PURE__ */ jsxs20("div", { className: cn("mt-4 flex w-full min-w-0 flex-col gap-2", className), children: [
2871
- hasFieldLabel ? /* @__PURE__ */ jsxs20("div", { className: "flex w-full min-w-0 flex-col gap-1.5", children: [
2872
- /* @__PURE__ */ jsx32(Label2, { htmlFor: inputId, required, size: "sm", children: label }),
3037
+ return /* @__PURE__ */ jsxs21("div", { className: cn("mt-4 flex w-full min-w-0 flex-col gap-2", className), children: [
3038
+ hasFieldLabel ? /* @__PURE__ */ jsxs21("div", { className: "flex w-full min-w-0 flex-col gap-1.5", children: [
3039
+ /* @__PURE__ */ jsx33(Label2, { htmlFor: inputId, required, size: "sm", children: label }),
2873
3040
  registeredControl
2874
- ] }) : /* @__PURE__ */ jsx32("div", { className: "w-full min-w-0", children: registeredControl }),
2875
- description && /* @__PURE__ */ jsx32(Text, { id: descriptionId, size: "sm", tone: "muted", children: description }),
2876
- externalError && /* @__PURE__ */ jsx32(Text, { id: `${inputId}-error`, size: "sm", tone: "destructive", children: externalError })
3041
+ ] }) : /* @__PURE__ */ jsx33("div", { className: "w-full min-w-0", children: registeredControl }),
3042
+ description && /* @__PURE__ */ jsx33(Text, { id: descriptionId, size: "sm", tone: "muted", children: description }),
3043
+ externalError && /* @__PURE__ */ jsx33(Text, { id: `${inputId}-error`, size: "sm", tone: "destructive", children: externalError })
2877
3044
  ] });
2878
3045
  }
2879
3046
  function formValueToAsyncSelectOption(v) {
@@ -2911,7 +3078,7 @@ function FormFieldVariantControl({
2911
3078
  }) {
2912
3079
  switch (variant) {
2913
3080
  case "textarea":
2914
- return /* @__PURE__ */ jsx32("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx32(
3081
+ return /* @__PURE__ */ jsx33("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx33(
2915
3082
  Textarea,
2916
3083
  {
2917
3084
  ...textareaProps,
@@ -2929,7 +3096,7 @@ function FormFieldVariantControl({
2929
3096
  case "checkbox":
2930
3097
  return null;
2931
3098
  case "switch":
2932
- return /* @__PURE__ */ jsx32("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx32(
3099
+ return /* @__PURE__ */ jsx33("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx33(
2933
3100
  Switch,
2934
3101
  {
2935
3102
  ...switchProps,
@@ -2953,6 +3120,10 @@ function FormFieldVariantControl({
2953
3120
  items,
2954
3121
  triggerClassName,
2955
3122
  contentClassName,
3123
+ searchable,
3124
+ searchPlaceholder,
3125
+ clearable,
3126
+ filterItem,
2956
3127
  ...selectRootRest
2957
3128
  } = selectProps;
2958
3129
  const emptyValueItems = items.filter((item) => item.value === "");
@@ -2962,7 +3133,33 @@ function FormFieldVariantControl({
2962
3133
  );
2963
3134
  }
2964
3135
  const value = field.value == null || field.value === "" ? void 0 : String(field.value);
2965
- return /* @__PURE__ */ jsx32("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsxs20(
3136
+ if (searchable) {
3137
+ return /* @__PURE__ */ jsx33("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx33(
3138
+ SearchableSelect,
3139
+ {
3140
+ items,
3141
+ value,
3142
+ onValueChange: field.onChange,
3143
+ onBlur: field.onBlur,
3144
+ placeholder,
3145
+ searchPlaceholder,
3146
+ clearable,
3147
+ filterItem,
3148
+ disabled: field.disabled,
3149
+ error: hasError,
3150
+ name: field.name,
3151
+ id: inputId,
3152
+ ref: field.ref,
3153
+ className: cn(
3154
+ hasError && inputSurfaceFieldInvalid,
3155
+ triggerClassName
3156
+ ),
3157
+ "aria-describedby": describedBy,
3158
+ "aria-invalid": hasError || void 0
3159
+ }
3160
+ ) });
3161
+ }
3162
+ return /* @__PURE__ */ jsx33("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsxs21(
2966
3163
  Select,
2967
3164
  {
2968
3165
  ...selectRootRest,
@@ -2971,7 +3168,7 @@ function FormFieldVariantControl({
2971
3168
  disabled: field.disabled,
2972
3169
  name: field.name,
2973
3170
  children: [
2974
- /* @__PURE__ */ jsx32(
3171
+ /* @__PURE__ */ jsx33(
2975
3172
  SelectTrigger,
2976
3173
  {
2977
3174
  id: inputId,
@@ -2983,10 +3180,10 @@ function FormFieldVariantControl({
2983
3180
  triggerClassName
2984
3181
  ),
2985
3182
  onBlur: field.onBlur,
2986
- children: /* @__PURE__ */ jsx32(SelectValue, { placeholder })
3183
+ children: /* @__PURE__ */ jsx33(SelectValue, { placeholder })
2987
3184
  }
2988
3185
  ),
2989
- /* @__PURE__ */ jsx32(SelectContent, { className: contentClassName, children: items.map((item) => /* @__PURE__ */ jsx32(
3186
+ /* @__PURE__ */ jsx33(SelectContent, { className: contentClassName, children: items.map((item) => /* @__PURE__ */ jsx33(
2990
3187
  SelectItem,
2991
3188
  {
2992
3189
  value: item.value,
@@ -3009,7 +3206,7 @@ function FormFieldVariantControl({
3009
3206
  if (!asyncSelectProps?.labelKey) {
3010
3207
  throw new Error('FormField variant "async-select" requires asyncSelectProps.labelKey.');
3011
3208
  }
3012
- return /* @__PURE__ */ jsx32("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx32(
3209
+ return /* @__PURE__ */ jsx33("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx33(
3013
3210
  AsyncSelect,
3014
3211
  {
3015
3212
  ...asyncSelectProps,
@@ -3033,7 +3230,7 @@ function FormFieldVariantControl({
3033
3230
  className: radioClassName,
3034
3231
  ...radioGroupRest
3035
3232
  } = radioProps;
3036
- return /* @__PURE__ */ jsx32(
3233
+ return /* @__PURE__ */ jsx33(
3037
3234
  RadioGroup2,
3038
3235
  {
3039
3236
  ...radioGroupRest,
@@ -3048,8 +3245,8 @@ function FormFieldVariantControl({
3048
3245
  "aria-describedby": describedBy,
3049
3246
  "aria-invalid": hasError || void 0,
3050
3247
  ref: field.ref,
3051
- children: options.map((opt) => /* @__PURE__ */ jsxs20("div", { className: "flex items-center gap-2", children: [
3052
- /* @__PURE__ */ jsx32(
3248
+ children: options.map((opt) => /* @__PURE__ */ jsxs21("div", { className: "flex items-center gap-2", children: [
3249
+ /* @__PURE__ */ jsx33(
3053
3250
  RadioGroupItem,
3054
3251
  {
3055
3252
  value: opt.value,
@@ -3057,7 +3254,7 @@ function FormFieldVariantControl({
3057
3254
  disabled: opt.disabled
3058
3255
  }
3059
3256
  ),
3060
- /* @__PURE__ */ jsx32(
3257
+ /* @__PURE__ */ jsx33(
3061
3258
  Label2,
3062
3259
  {
3063
3260
  htmlFor: opt.id ?? `${inputId}-${opt.value}`,
@@ -3076,7 +3273,7 @@ function FormFieldVariantControl({
3076
3273
  }
3077
3274
  const { maxLength, groups, containerClassName, ...otpRest } = otpProps;
3078
3275
  const slotGroups = groups?.length ? groups : defaultOtpGroups(maxLength);
3079
- return /* @__PURE__ */ jsx32("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx32(
3276
+ return /* @__PURE__ */ jsx33("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx33(
3080
3277
  InputOTP,
3081
3278
  {
3082
3279
  ...otpRest,
@@ -3095,15 +3292,15 @@ function FormFieldVariantControl({
3095
3292
  hasError && inputOtpContainerInvalid,
3096
3293
  containerClassName
3097
3294
  ),
3098
- children: slotGroups.map((indices, gi) => /* @__PURE__ */ jsxs20(React29.Fragment, { children: [
3099
- gi > 0 ? /* @__PURE__ */ jsx32(InputOTPSeparator, {}) : null,
3100
- /* @__PURE__ */ jsx32(InputOTPGroup, { children: indices.map((index) => /* @__PURE__ */ jsx32(InputOTPSlot, { index }, index)) })
3295
+ children: slotGroups.map((indices, gi) => /* @__PURE__ */ jsxs21(React30.Fragment, { children: [
3296
+ gi > 0 ? /* @__PURE__ */ jsx33(InputOTPSeparator, {}) : null,
3297
+ /* @__PURE__ */ jsx33(InputOTPGroup, { children: indices.map((index) => /* @__PURE__ */ jsx33(InputOTPSlot, { index }, index)) })
3101
3298
  ] }, gi))
3102
3299
  }
3103
3300
  ) });
3104
3301
  }
3105
3302
  case "richtext":
3106
- return /* @__PURE__ */ jsx32(
3303
+ return /* @__PURE__ */ jsx33(
3107
3304
  "div",
3108
3305
  {
3109
3306
  className: "w-full min-w-0",
@@ -3113,7 +3310,7 @@ function FormFieldVariantControl({
3113
3310
  "aria-describedby": describedBy,
3114
3311
  "aria-invalid": hasError || void 0,
3115
3312
  onBlur: field.onBlur,
3116
- children: /* @__PURE__ */ jsx32(
3313
+ children: /* @__PURE__ */ jsx33(
3117
3314
  RichTextEditor,
3118
3315
  {
3119
3316
  value: field.value ?? "",
@@ -3125,7 +3322,7 @@ function FormFieldVariantControl({
3125
3322
  }
3126
3323
  );
3127
3324
  case "dropzone":
3128
- return /* @__PURE__ */ jsx32("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx32(
3325
+ return /* @__PURE__ */ jsx33("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx33(
3129
3326
  FileDropzone,
3130
3327
  {
3131
3328
  ...dropzoneProps,
@@ -3159,7 +3356,7 @@ function FormFieldVariantControl({
3159
3356
  const pattern = maskInput.pattern;
3160
3357
  const rawStored = field.value == null || field.value === "" ? "" : String(field.value);
3161
3358
  const displayValue = formFieldMaskFormatDisplay(pattern, rawStored);
3162
- return /* @__PURE__ */ jsx32("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx32(
3359
+ return /* @__PURE__ */ jsx33("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx33(
3163
3360
  Input,
3164
3361
  {
3165
3362
  ...restInputProps,
@@ -3196,7 +3393,7 @@ function FormFieldVariantControl({
3196
3393
  useGrouping
3197
3394
  );
3198
3395
  const defaultInputMode = allowDecimal ? "decimal" : "numeric";
3199
- return /* @__PURE__ */ jsx32("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx32(
3396
+ return /* @__PURE__ */ jsx33("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx33(
3200
3397
  Input,
3201
3398
  {
3202
3399
  ...restInputProps,
@@ -3220,7 +3417,7 @@ function FormFieldVariantControl({
3220
3417
  }
3221
3418
  ) });
3222
3419
  }
3223
- return /* @__PURE__ */ jsx32("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx32(
3420
+ return /* @__PURE__ */ jsx33("div", { className: "w-full min-w-0", children: /* @__PURE__ */ jsx33(
3224
3421
  Input,
3225
3422
  {
3226
3423
  ...restInputProps,
@@ -3245,9 +3442,9 @@ function FormFieldVariantControl({
3245
3442
  }
3246
3443
 
3247
3444
  // source/components/primitive/Heading/heading.tsx
3248
- import * as React30 from "react";
3445
+ import * as React31 from "react";
3249
3446
  import { cva as cva11 } from "class-variance-authority";
3250
- import { jsx as jsx33 } from "react/jsx-runtime";
3447
+ import { jsx as jsx34 } from "react/jsx-runtime";
3251
3448
  var headingVariants = cva11(
3252
3449
  "text-foreground tracking-tight",
3253
3450
  {
@@ -3313,7 +3510,7 @@ var headingVariants = cva11(
3313
3510
  }
3314
3511
  }
3315
3512
  );
3316
- var Heading = React30.forwardRef(
3513
+ var Heading = React31.forwardRef(
3317
3514
  ({
3318
3515
  level = 1,
3319
3516
  size,
@@ -3326,7 +3523,7 @@ var Heading = React30.forwardRef(
3326
3523
  ...props
3327
3524
  }, ref) => {
3328
3525
  const Tag = `h${level}`;
3329
- return /* @__PURE__ */ jsx33(
3526
+ return /* @__PURE__ */ jsx34(
3330
3527
  Tag,
3331
3528
  {
3332
3529
  ref,
@@ -3342,10 +3539,10 @@ var Heading = React30.forwardRef(
3342
3539
  Heading.displayName = "Heading";
3343
3540
 
3344
3541
  // source/components/primitive/InputGroup/input-group.tsx
3345
- import * as React31 from "react";
3346
- import { jsx as jsx34 } from "react/jsx-runtime";
3347
- var InputGroup = React31.forwardRef(
3348
- ({ className, error, children, ...props }, ref) => /* @__PURE__ */ jsx34(
3542
+ import * as React32 from "react";
3543
+ import { jsx as jsx35 } from "react/jsx-runtime";
3544
+ var InputGroup = React32.forwardRef(
3545
+ ({ className, error, children, ...props }, ref) => /* @__PURE__ */ jsx35(
3349
3546
  "div",
3350
3547
  {
3351
3548
  ref,
@@ -3363,7 +3560,7 @@ var InputGroup = React31.forwardRef(
3363
3560
  )
3364
3561
  );
3365
3562
  InputGroup.displayName = "InputGroup";
3366
- var InputGroupIcon = React31.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
3563
+ var InputGroupIcon = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3367
3564
  "span",
3368
3565
  {
3369
3566
  ref,
@@ -3376,8 +3573,8 @@ var InputGroupIcon = React31.forwardRef(({ className, ...props }, ref) => /* @__
3376
3573
  }
3377
3574
  ));
3378
3575
  InputGroupIcon.displayName = "InputGroupIcon";
3379
- var InputGroupInput = React31.forwardRef(
3380
- ({ className, type, ...props }, ref) => /* @__PURE__ */ jsx34(
3576
+ var InputGroupInput = React32.forwardRef(
3577
+ ({ className, type, ...props }, ref) => /* @__PURE__ */ jsx35(
3381
3578
  "input",
3382
3579
  {
3383
3580
  ref,
@@ -3396,10 +3593,10 @@ InputGroupInput.displayName = "InputGroupInput";
3396
3593
  var inputGroupSelectTriggerTextAlignClass = "pl-12";
3397
3594
 
3398
3595
  // source/components/primitive/Pagination/pagination.tsx
3399
- import * as React32 from "react";
3596
+ import * as React33 from "react";
3400
3597
  import { ChevronLeft, ChevronRight as ChevronRight2, MoreHorizontal } from "lucide-react";
3401
- import { jsx as jsx35, jsxs as jsxs21 } from "react/jsx-runtime";
3402
- var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx35(
3598
+ import { jsx as jsx36, jsxs as jsxs22 } from "react/jsx-runtime";
3599
+ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx36(
3403
3600
  "nav",
3404
3601
  {
3405
3602
  role: "navigation",
@@ -3409,7 +3606,7 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx35(
3409
3606
  }
3410
3607
  );
3411
3608
  Pagination.displayName = "Pagination";
3412
- var PaginationContent = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35(
3609
+ var PaginationContent = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(
3413
3610
  "ul",
3414
3611
  {
3415
3612
  ref,
@@ -3418,14 +3615,14 @@ var PaginationContent = React32.forwardRef(({ className, ...props }, ref) => /*
3418
3615
  }
3419
3616
  ));
3420
3617
  PaginationContent.displayName = "PaginationContent";
3421
- var PaginationItem = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx35("li", { ref, className: cn("", className), ...props }));
3618
+ var PaginationItem = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36("li", { ref, className: cn("", className), ...props }));
3422
3619
  PaginationItem.displayName = "PaginationItem";
3423
3620
  var PaginationLink = ({
3424
3621
  className,
3425
3622
  isActive,
3426
3623
  size = "icon",
3427
3624
  ...props
3428
- }) => /* @__PURE__ */ jsx35(
3625
+ }) => /* @__PURE__ */ jsx36(
3429
3626
  "a",
3430
3627
  {
3431
3628
  "aria-current": isActive ? "page" : void 0,
@@ -3443,7 +3640,7 @@ PaginationLink.displayName = "PaginationLink";
3443
3640
  var PaginationPrevious = ({
3444
3641
  className,
3445
3642
  ...props
3446
- }) => /* @__PURE__ */ jsxs21(
3643
+ }) => /* @__PURE__ */ jsxs22(
3447
3644
  PaginationLink,
3448
3645
  {
3449
3646
  "aria-label": "Go to previous page",
@@ -3451,8 +3648,8 @@ var PaginationPrevious = ({
3451
3648
  size: "default",
3452
3649
  ...props,
3453
3650
  children: [
3454
- /* @__PURE__ */ jsx35(ChevronLeft, { className: "h-4 w-4" }),
3455
- /* @__PURE__ */ jsx35("span", { children: "Previous" })
3651
+ /* @__PURE__ */ jsx36(ChevronLeft, { className: "h-4 w-4" }),
3652
+ /* @__PURE__ */ jsx36("span", { children: "Previous" })
3456
3653
  ]
3457
3654
  }
3458
3655
  );
@@ -3460,7 +3657,7 @@ PaginationPrevious.displayName = "PaginationPrevious";
3460
3657
  var PaginationNext = ({
3461
3658
  className,
3462
3659
  ...props
3463
- }) => /* @__PURE__ */ jsxs21(
3660
+ }) => /* @__PURE__ */ jsxs22(
3464
3661
  PaginationLink,
3465
3662
  {
3466
3663
  "aria-label": "Go to next page",
@@ -3468,8 +3665,8 @@ var PaginationNext = ({
3468
3665
  size: "default",
3469
3666
  ...props,
3470
3667
  children: [
3471
- /* @__PURE__ */ jsx35("span", { children: "Next" }),
3472
- /* @__PURE__ */ jsx35(ChevronRight2, { className: "h-4 w-4" })
3668
+ /* @__PURE__ */ jsx36("span", { children: "Next" }),
3669
+ /* @__PURE__ */ jsx36(ChevronRight2, { className: "h-4 w-4" })
3473
3670
  ]
3474
3671
  }
3475
3672
  );
@@ -3477,31 +3674,31 @@ PaginationNext.displayName = "PaginationNext";
3477
3674
  var PaginationEllipsis = ({
3478
3675
  className,
3479
3676
  ...props
3480
- }) => /* @__PURE__ */ jsxs21(
3677
+ }) => /* @__PURE__ */ jsxs22(
3481
3678
  "span",
3482
3679
  {
3483
3680
  "aria-hidden": true,
3484
3681
  className: cn("flex h-9 w-9 items-center justify-center", className),
3485
3682
  ...props,
3486
3683
  children: [
3487
- /* @__PURE__ */ jsx35(MoreHorizontal, { className: "h-4 w-4" }),
3488
- /* @__PURE__ */ jsx35("span", { className: "sr-only", children: "More pages" })
3684
+ /* @__PURE__ */ jsx36(MoreHorizontal, { className: "h-4 w-4" }),
3685
+ /* @__PURE__ */ jsx36("span", { className: "sr-only", children: "More pages" })
3489
3686
  ]
3490
3687
  }
3491
3688
  );
3492
3689
  PaginationEllipsis.displayName = "PaginationEllipsis";
3493
3690
 
3494
3691
  // source/components/primitive/Progress/progress.tsx
3495
- import * as React33 from "react";
3692
+ import * as React34 from "react";
3496
3693
  import * as ProgressPrimitive from "@radix-ui/react-progress";
3497
- import { jsx as jsx36, jsxs as jsxs22 } from "react/jsx-runtime";
3694
+ import { jsx as jsx37, jsxs as jsxs23 } from "react/jsx-runtime";
3498
3695
  var variantStyles = {
3499
3696
  default: "bg-primary",
3500
3697
  success: "bg-green-500",
3501
3698
  warning: "bg-yellow-500",
3502
3699
  error: "bg-red-500"
3503
3700
  };
3504
- var Progress = React33.forwardRef(
3701
+ var Progress = React34.forwardRef(
3505
3702
  ({
3506
3703
  className,
3507
3704
  value = 0,
@@ -3515,15 +3712,15 @@ var Progress = React33.forwardRef(
3515
3712
  const safeMax = max > 0 ? max : 100;
3516
3713
  const safeValue = Math.min(Math.max(value, 0), safeMax);
3517
3714
  const percentage = Math.min(safeValue / safeMax * 100, 100);
3518
- return /* @__PURE__ */ jsxs22("div", { className: "flex flex-col gap-1", children: [
3519
- (label || showValue) && /* @__PURE__ */ jsxs22("div", { className: "flex items-center justify-between", children: [
3520
- label && /* @__PURE__ */ jsx36("span", { className: "text-sm font-medium", children: label }),
3521
- showValue && !indeterminate && /* @__PURE__ */ jsxs22("span", { className: "text-xs text-muted-foreground", children: [
3715
+ return /* @__PURE__ */ jsxs23("div", { className: "flex flex-col gap-1", children: [
3716
+ (label || showValue) && /* @__PURE__ */ jsxs23("div", { className: "flex items-center justify-between", children: [
3717
+ label && /* @__PURE__ */ jsx37("span", { className: "text-sm font-medium", children: label }),
3718
+ showValue && !indeterminate && /* @__PURE__ */ jsxs23("span", { className: "text-xs text-muted-foreground", children: [
3522
3719
  Math.round(percentage),
3523
3720
  "%"
3524
3721
  ] })
3525
3722
  ] }),
3526
- /* @__PURE__ */ jsx36(
3723
+ /* @__PURE__ */ jsx37(
3527
3724
  ProgressPrimitive.Root,
3528
3725
  {
3529
3726
  ref,
@@ -3536,7 +3733,7 @@ var Progress = React33.forwardRef(
3536
3733
  "aria-valuemax": safeMax,
3537
3734
  "aria-valuenow": indeterminate ? void 0 : safeValue,
3538
3735
  ...props,
3539
- children: /* @__PURE__ */ jsx36(
3736
+ children: /* @__PURE__ */ jsx37(
3540
3737
  ProgressPrimitive.Indicator,
3541
3738
  {
3542
3739
  className: cn(
@@ -3557,9 +3754,9 @@ var Progress = React33.forwardRef(
3557
3754
  Progress.displayName = "Progress";
3558
3755
 
3559
3756
  // source/components/primitive/RichHtml/rich-html.tsx
3560
- import * as React34 from "react";
3757
+ import * as React35 from "react";
3561
3758
  import DOMPurify from "dompurify";
3562
- import { jsx as jsx37 } from "react/jsx-runtime";
3759
+ import { jsx as jsx38 } from "react/jsx-runtime";
3563
3760
  var defaultSanitizeConfig = {
3564
3761
  USE_PROFILES: { html: true }
3565
3762
  };
@@ -3582,7 +3779,7 @@ var richHtmlChrome = cn(
3582
3779
  "[&_code]:rounded [&_code]:bg-muted [&_code]:px-1 [&_code]:py-0.5 [&_code]:text-[0.9em]",
3583
3780
  "[&_pre]:my-4 [&_pre]:overflow-x-auto [&_pre]:rounded-md [&_pre]:bg-muted [&_pre]:p-3 [&_pre]:font-mono [&_pre]:text-sm"
3584
3781
  );
3585
- var RichHtml = React34.forwardRef(
3782
+ var RichHtml = React35.forwardRef(
3586
3783
  ({
3587
3784
  html,
3588
3785
  sanitize = true,
@@ -3591,7 +3788,7 @@ var RichHtml = React34.forwardRef(
3591
3788
  suppressHydrationWarning,
3592
3789
  ...props
3593
3790
  }, ref) => {
3594
- const markup = React34.useMemo(() => {
3791
+ const markup = React35.useMemo(() => {
3595
3792
  if (html === void 0 || html === null || html === "") {
3596
3793
  return "";
3597
3794
  }
@@ -3611,7 +3808,7 @@ var RichHtml = React34.forwardRef(
3611
3808
  if (html === void 0 || html === null || html === "") {
3612
3809
  return null;
3613
3810
  }
3614
- return /* @__PURE__ */ jsx37(
3811
+ return /* @__PURE__ */ jsx38(
3615
3812
  "div",
3616
3813
  {
3617
3814
  ref,
@@ -3626,24 +3823,24 @@ var RichHtml = React34.forwardRef(
3626
3823
  RichHtml.displayName = "RichHtml";
3627
3824
 
3628
3825
  // source/components/primitive/ScrollArea/scroll-area.tsx
3629
- import * as React35 from "react";
3826
+ import * as React36 from "react";
3630
3827
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
3631
- import { jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
3632
- var ScrollArea = React35.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs23(
3828
+ import { jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
3829
+ var ScrollArea = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs24(
3633
3830
  ScrollAreaPrimitive.Root,
3634
3831
  {
3635
3832
  ref,
3636
3833
  className: cn("relative overflow-hidden", className),
3637
3834
  ...props,
3638
3835
  children: [
3639
- /* @__PURE__ */ jsx38(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
3640
- /* @__PURE__ */ jsx38(ScrollBar, {}),
3641
- /* @__PURE__ */ jsx38(ScrollAreaPrimitive.Corner, {})
3836
+ /* @__PURE__ */ jsx39(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
3837
+ /* @__PURE__ */ jsx39(ScrollBar, {}),
3838
+ /* @__PURE__ */ jsx39(ScrollAreaPrimitive.Corner, {})
3642
3839
  ]
3643
3840
  }
3644
3841
  ));
3645
3842
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
3646
- var ScrollBar = React35.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx38(
3843
+ var ScrollBar = React36.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx39(
3647
3844
  ScrollAreaPrimitive.ScrollAreaScrollbar,
3648
3845
  {
3649
3846
  ref,
@@ -3655,16 +3852,16 @@ var ScrollBar = React35.forwardRef(({ className, orientation = "vertical", ...pr
3655
3852
  className
3656
3853
  ),
3657
3854
  ...props,
3658
- children: /* @__PURE__ */ jsx38(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
3855
+ children: /* @__PURE__ */ jsx39(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
3659
3856
  }
3660
3857
  ));
3661
3858
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
3662
3859
 
3663
3860
  // source/components/primitive/Separator/separator.tsx
3664
- import * as React36 from "react";
3861
+ import * as React37 from "react";
3665
3862
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
3666
3863
  import { cva as cva12 } from "class-variance-authority";
3667
- import { jsx as jsx39, jsxs as jsxs24 } from "react/jsx-runtime";
3864
+ import { jsx as jsx40, jsxs as jsxs25 } from "react/jsx-runtime";
3668
3865
  var separatorVariants = cva12("shrink-0", {
3669
3866
  variants: {
3670
3867
  orientation: {
@@ -3682,7 +3879,7 @@ var separatorVariants = cva12("shrink-0", {
3682
3879
  line: "solid"
3683
3880
  }
3684
3881
  });
3685
- var Separator3 = React36.forwardRef(
3882
+ var Separator3 = React37.forwardRef(
3686
3883
  ({
3687
3884
  className,
3688
3885
  orientation = "horizontal",
@@ -3694,13 +3891,13 @@ var Separator3 = React36.forwardRef(
3694
3891
  }, ref) => {
3695
3892
  const line = lineProp ?? variant ?? "solid";
3696
3893
  if (label && orientation === "horizontal") {
3697
- return /* @__PURE__ */ jsxs24(
3894
+ return /* @__PURE__ */ jsxs25(
3698
3895
  "div",
3699
3896
  {
3700
3897
  role: "separator",
3701
3898
  className: "flex items-center gap-3",
3702
3899
  children: [
3703
- /* @__PURE__ */ jsx39(
3900
+ /* @__PURE__ */ jsx40(
3704
3901
  "div",
3705
3902
  {
3706
3903
  className: cn(
@@ -3709,8 +3906,8 @@ var Separator3 = React36.forwardRef(
3709
3906
  )
3710
3907
  }
3711
3908
  ),
3712
- /* @__PURE__ */ jsx39("span", { className: "text-xs text-muted-foreground whitespace-nowrap", children: label }),
3713
- /* @__PURE__ */ jsx39(
3909
+ /* @__PURE__ */ jsx40("span", { className: "text-xs text-muted-foreground whitespace-nowrap", children: label }),
3910
+ /* @__PURE__ */ jsx40(
3714
3911
  "div",
3715
3912
  {
3716
3913
  className: cn(
@@ -3723,7 +3920,7 @@ var Separator3 = React36.forwardRef(
3723
3920
  }
3724
3921
  );
3725
3922
  }
3726
- return /* @__PURE__ */ jsx39(
3923
+ return /* @__PURE__ */ jsx40(
3727
3924
  SeparatorPrimitive.Root,
3728
3925
  {
3729
3926
  ref,
@@ -3741,16 +3938,16 @@ var Separator3 = React36.forwardRef(
3741
3938
  Separator3.displayName = "Separator";
3742
3939
 
3743
3940
  // source/components/primitive/Sheet/sheet.tsx
3744
- import * as React37 from "react";
3941
+ import * as React38 from "react";
3745
3942
  import * as SheetPrimitive from "@radix-ui/react-dialog";
3746
3943
  import { cva as cva13 } from "class-variance-authority";
3747
3944
  import { X as X2 } from "lucide-react";
3748
- import { jsx as jsx40, jsxs as jsxs25 } from "react/jsx-runtime";
3945
+ import { jsx as jsx41, jsxs as jsxs26 } from "react/jsx-runtime";
3749
3946
  var Sheet = SheetPrimitive.Root;
3750
3947
  var SheetTrigger = SheetPrimitive.Trigger;
3751
3948
  var SheetClose = SheetPrimitive.Close;
3752
3949
  var SheetPortal = SheetPrimitive.Portal;
3753
- var SheetOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
3950
+ var SheetOverlay = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
3754
3951
  SheetPrimitive.Overlay,
3755
3952
  {
3756
3953
  className: cn(
@@ -3778,9 +3975,9 @@ var sheetVariants = cva13(
3778
3975
  }
3779
3976
  }
3780
3977
  );
3781
- var SheetContent = React37.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs25(SheetPortal, { children: [
3782
- /* @__PURE__ */ jsx40(SheetOverlay, {}),
3783
- /* @__PURE__ */ jsxs25(
3978
+ var SheetContent = React38.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs26(SheetPortal, { children: [
3979
+ /* @__PURE__ */ jsx41(SheetOverlay, {}),
3980
+ /* @__PURE__ */ jsxs26(
3784
3981
  SheetPrimitive.Content,
3785
3982
  {
3786
3983
  ref,
@@ -3788,9 +3985,9 @@ var SheetContent = React37.forwardRef(({ side = "right", className, children, ..
3788
3985
  ...props,
3789
3986
  children: [
3790
3987
  children,
3791
- /* @__PURE__ */ jsxs25(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
3792
- /* @__PURE__ */ jsx40(X2, { className: "h-4 w-4" }),
3793
- /* @__PURE__ */ jsx40("span", { className: "sr-only", children: "Close" })
3988
+ /* @__PURE__ */ jsxs26(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
3989
+ /* @__PURE__ */ jsx41(X2, { className: "h-4 w-4" }),
3990
+ /* @__PURE__ */ jsx41("span", { className: "sr-only", children: "Close" })
3794
3991
  ] })
3795
3992
  ]
3796
3993
  }
@@ -3800,7 +3997,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
3800
3997
  var SheetHeader = ({
3801
3998
  className,
3802
3999
  ...props
3803
- }) => /* @__PURE__ */ jsx40(
4000
+ }) => /* @__PURE__ */ jsx41(
3804
4001
  "div",
3805
4002
  {
3806
4003
  className: cn(
@@ -3814,7 +4011,7 @@ SheetHeader.displayName = "SheetHeader";
3814
4011
  var SheetFooter = ({
3815
4012
  className,
3816
4013
  ...props
3817
- }) => /* @__PURE__ */ jsx40(
4014
+ }) => /* @__PURE__ */ jsx41(
3818
4015
  "div",
3819
4016
  {
3820
4017
  className: cn(
@@ -3825,7 +4022,7 @@ var SheetFooter = ({
3825
4022
  }
3826
4023
  );
3827
4024
  SheetFooter.displayName = "SheetFooter";
3828
- var SheetTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
4025
+ var SheetTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
3829
4026
  SheetPrimitive.Title,
3830
4027
  {
3831
4028
  ref,
@@ -3834,7 +4031,7 @@ var SheetTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE
3834
4031
  }
3835
4032
  ));
3836
4033
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
3837
- var SheetDescription = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(
4034
+ var SheetDescription = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(
3838
4035
  SheetPrimitive.Description,
3839
4036
  {
3840
4037
  ref,
@@ -3845,19 +4042,19 @@ var SheetDescription = React37.forwardRef(({ className, ...props }, ref) => /* @
3845
4042
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
3846
4043
 
3847
4044
  // source/components/primitive/Sidebar/sidebar.tsx
3848
- import * as React41 from "react";
4045
+ import * as React42 from "react";
3849
4046
  import { Slot as Slot3 } from "@radix-ui/react-slot";
3850
4047
  import { cva as cva15 } from "class-variance-authority";
3851
4048
  import { PanelLeft } from "lucide-react";
3852
4049
 
3853
4050
  // source/hooks/use-mobile.ts
3854
- import * as React38 from "react";
4051
+ import * as React39 from "react";
3855
4052
  var MOBILE_MAX = 768;
3856
4053
  function useIsMobile(breakpoint = MOBILE_MAX) {
3857
- const [isMobile, setIsMobile] = React38.useState(
4054
+ const [isMobile, setIsMobile] = React39.useState(
3858
4055
  () => typeof window !== "undefined" ? window.innerWidth < breakpoint : false
3859
4056
  );
3860
- React38.useEffect(() => {
4057
+ React39.useEffect(() => {
3861
4058
  const mq = window.matchMedia(`(max-width: ${breakpoint - 1}px)`);
3862
4059
  const onChange = () => setIsMobile(mq.matches);
3863
4060
  onChange();
@@ -3868,9 +4065,9 @@ function useIsMobile(breakpoint = MOBILE_MAX) {
3868
4065
  }
3869
4066
 
3870
4067
  // source/components/primitive/Skeleton/skeleton.tsx
3871
- import * as React39 from "react";
4068
+ import * as React40 from "react";
3872
4069
  import { cva as cva14 } from "class-variance-authority";
3873
- import { jsx as jsx41 } from "react/jsx-runtime";
4070
+ import { jsx as jsx42 } from "react/jsx-runtime";
3874
4071
  var skeletonVariants = cva14(
3875
4072
  "animate-pulse bg-muted",
3876
4073
  {
@@ -3887,9 +4084,9 @@ var skeletonVariants = cva14(
3887
4084
  }
3888
4085
  }
3889
4086
  );
3890
- var Skeleton = React39.forwardRef(
4087
+ var Skeleton = React40.forwardRef(
3891
4088
  ({ className, rounded, ...props }, ref) => {
3892
- return /* @__PURE__ */ jsx41(
4089
+ return /* @__PURE__ */ jsx42(
3893
4090
  "div",
3894
4091
  {
3895
4092
  ref,
@@ -3904,18 +4101,18 @@ var Skeleton = React39.forwardRef(
3904
4101
  Skeleton.displayName = "Skeleton";
3905
4102
 
3906
4103
  // source/components/primitive/ToolTip/tooltip.tsx
3907
- import * as React40 from "react";
4104
+ import * as React41 from "react";
3908
4105
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
3909
- import { jsx as jsx42, jsxs as jsxs26 } from "react/jsx-runtime";
4106
+ import { jsx as jsx43, jsxs as jsxs27 } from "react/jsx-runtime";
3910
4107
  var TooltipProvider = TooltipPrimitive.Provider;
3911
4108
  var Tooltip = ({ ...props }) => {
3912
- return /* @__PURE__ */ jsx42(TooltipPrimitive.Root, { ...props });
4109
+ return /* @__PURE__ */ jsx43(TooltipPrimitive.Root, { ...props });
3913
4110
  };
3914
4111
  Tooltip.displayName = "Tooltip";
3915
4112
  var TooltipTrigger = TooltipPrimitive.Trigger;
3916
4113
  TooltipTrigger.displayName = "TooltipTrigger";
3917
- var TooltipContent = React40.forwardRef(({ className, sideOffset = 4, arrow = false, children, ...props }, ref) => {
3918
- return /* @__PURE__ */ jsx42(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs26(
4114
+ var TooltipContent = React41.forwardRef(({ className, sideOffset = 4, arrow = false, children, ...props }, ref) => {
4115
+ return /* @__PURE__ */ jsx43(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs27(
3919
4116
  TooltipPrimitive.Content,
3920
4117
  {
3921
4118
  ref,
@@ -3933,7 +4130,7 @@ var TooltipContent = React40.forwardRef(({ className, sideOffset = 4, arrow = fa
3933
4130
  ...props,
3934
4131
  children: [
3935
4132
  children,
3936
- arrow && /* @__PURE__ */ jsx42(TooltipPrimitive.Arrow, { className: "fill-popover" })
4133
+ arrow && /* @__PURE__ */ jsx43(TooltipPrimitive.Arrow, { className: "fill-popover" })
3937
4134
  ]
3938
4135
  }
3939
4136
  ) });
@@ -3941,22 +4138,22 @@ var TooltipContent = React40.forwardRef(({ className, sideOffset = 4, arrow = fa
3941
4138
  TooltipContent.displayName = "TooltipContent";
3942
4139
 
3943
4140
  // source/components/primitive/Sidebar/sidebar.tsx
3944
- import { jsx as jsx43, jsxs as jsxs27 } from "react/jsx-runtime";
4141
+ import { jsx as jsx44, jsxs as jsxs28 } from "react/jsx-runtime";
3945
4142
  var SIDEBAR_COOKIE_NAME = "sidebar:state";
3946
4143
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
3947
4144
  var SIDEBAR_WIDTH = "16rem";
3948
4145
  var SIDEBAR_WIDTH_MOBILE = "18rem";
3949
4146
  var SIDEBAR_WIDTH_ICON = "4rem";
3950
4147
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
3951
- var SidebarContext = React41.createContext(null);
4148
+ var SidebarContext = React42.createContext(null);
3952
4149
  function useSidebar() {
3953
- const context = React41.useContext(SidebarContext);
4150
+ const context = React42.useContext(SidebarContext);
3954
4151
  if (!context) {
3955
4152
  throw new Error("useSidebar must be used within a SidebarProvider.");
3956
4153
  }
3957
4154
  return context;
3958
4155
  }
3959
- var SidebarProvider = React41.forwardRef(
4156
+ var SidebarProvider = React42.forwardRef(
3960
4157
  ({
3961
4158
  defaultOpen = true,
3962
4159
  open: openProp,
@@ -3967,15 +4164,15 @@ var SidebarProvider = React41.forwardRef(
3967
4164
  ...props
3968
4165
  }, ref) => {
3969
4166
  const isMobile = useIsMobile();
3970
- const [openMobile, setOpenMobile] = React41.useState(false);
3971
- const [_open, _setOpen] = React41.useState(() => {
4167
+ const [openMobile, setOpenMobile] = React42.useState(false);
4168
+ const [_open, _setOpen] = React42.useState(() => {
3972
4169
  if (typeof window === "undefined") return defaultOpen;
3973
4170
  const cookie = document.cookie.split("; ").find((row) => row.startsWith(`${SIDEBAR_COOKIE_NAME}=`));
3974
4171
  if (!cookie) return defaultOpen;
3975
4172
  return cookie.split("=")[1] === "true";
3976
4173
  });
3977
4174
  const open = openProp ?? _open;
3978
- const setOpen = React41.useCallback(
4175
+ const setOpen = React42.useCallback(
3979
4176
  (value) => {
3980
4177
  const openState = typeof value === "function" ? value(open) : value;
3981
4178
  if (setOpenProp) {
@@ -3987,21 +4184,21 @@ var SidebarProvider = React41.forwardRef(
3987
4184
  },
3988
4185
  [setOpenProp, open]
3989
4186
  );
3990
- const toggleSidebar = React41.useCallback(() => {
4187
+ const toggleSidebar = React42.useCallback(() => {
3991
4188
  if (isMobile) {
3992
4189
  setOpenMobile((v) => !v);
3993
4190
  } else {
3994
4191
  setOpen((v) => !v);
3995
4192
  }
3996
4193
  }, [isMobile, setOpen, setOpenMobile]);
3997
- React41.useEffect(() => {
4194
+ React42.useEffect(() => {
3998
4195
  const cookie = document.cookie.split("; ").find((row) => row.startsWith(`${SIDEBAR_COOKIE_NAME}=`));
3999
4196
  if (cookie) {
4000
4197
  const value = cookie.split("=")[1];
4001
4198
  _setOpen(value === "true");
4002
4199
  }
4003
4200
  }, []);
4004
- React41.useEffect(() => {
4201
+ React42.useEffect(() => {
4005
4202
  const handleKeyDown = (event) => {
4006
4203
  if (event.key === "Escape") {
4007
4204
  setOpenMobile(false);
@@ -4015,7 +4212,7 @@ var SidebarProvider = React41.forwardRef(
4015
4212
  return () => window.removeEventListener("keydown", handleKeyDown);
4016
4213
  }, [toggleSidebar]);
4017
4214
  const state = open ? "expanded" : "collapsed";
4018
- const contextValue = React41.useMemo(
4215
+ const contextValue = React42.useMemo(
4019
4216
  () => ({
4020
4217
  state,
4021
4218
  open,
@@ -4027,7 +4224,7 @@ var SidebarProvider = React41.forwardRef(
4027
4224
  }),
4028
4225
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
4029
4226
  );
4030
- return /* @__PURE__ */ jsx43(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx43(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx43(
4227
+ return /* @__PURE__ */ jsx44(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx44(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx44(
4031
4228
  "div",
4032
4229
  {
4033
4230
  style: {
@@ -4047,7 +4244,7 @@ var SidebarProvider = React41.forwardRef(
4047
4244
  }
4048
4245
  );
4049
4246
  SidebarProvider.displayName = "SidebarProvider";
4050
- var Sidebar = React41.forwardRef(
4247
+ var Sidebar = React42.forwardRef(
4051
4248
  ({
4052
4249
  side = "left",
4053
4250
  variant = "sidebar",
@@ -4058,7 +4255,7 @@ var Sidebar = React41.forwardRef(
4058
4255
  }, ref) => {
4059
4256
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
4060
4257
  if (collapsible === "none") {
4061
- return /* @__PURE__ */ jsx43(
4258
+ return /* @__PURE__ */ jsx44(
4062
4259
  "div",
4063
4260
  {
4064
4261
  className: cn(
@@ -4074,7 +4271,7 @@ var Sidebar = React41.forwardRef(
4074
4271
  );
4075
4272
  }
4076
4273
  if (isMobile) {
4077
- return /* @__PURE__ */ jsx43(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsx43(
4274
+ return /* @__PURE__ */ jsx44(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsx44(
4078
4275
  SheetContent,
4079
4276
  {
4080
4277
  "data-sidebar": "sidebar",
@@ -4084,11 +4281,11 @@ var Sidebar = React41.forwardRef(
4084
4281
  "--sidebar-width": SIDEBAR_WIDTH_MOBILE
4085
4282
  },
4086
4283
  side,
4087
- children: /* @__PURE__ */ jsx43("div", { className: "flex h-full w-full flex-col", children })
4284
+ children: /* @__PURE__ */ jsx44("div", { className: "flex h-full w-full flex-col", children })
4088
4285
  }
4089
4286
  ) });
4090
4287
  }
4091
- return /* @__PURE__ */ jsxs27(
4288
+ return /* @__PURE__ */ jsxs28(
4092
4289
  "div",
4093
4290
  {
4094
4291
  ref,
@@ -4098,7 +4295,7 @@ var Sidebar = React41.forwardRef(
4098
4295
  "data-variant": variant,
4099
4296
  "data-side": side,
4100
4297
  children: [
4101
- /* @__PURE__ */ jsx43(
4298
+ /* @__PURE__ */ jsx44(
4102
4299
  "div",
4103
4300
  {
4104
4301
  className: cn(
@@ -4109,7 +4306,7 @@ var Sidebar = React41.forwardRef(
4109
4306
  )
4110
4307
  }
4111
4308
  ),
4112
- /* @__PURE__ */ jsx43(
4309
+ /* @__PURE__ */ jsx44(
4113
4310
  "div",
4114
4311
  {
4115
4312
  className: cn(
@@ -4120,7 +4317,7 @@ var Sidebar = React41.forwardRef(
4120
4317
  className
4121
4318
  ),
4122
4319
  ...props,
4123
- children: /* @__PURE__ */ jsx43(
4320
+ children: /* @__PURE__ */ jsx44(
4124
4321
  "div",
4125
4322
  {
4126
4323
  "data-sidebar": "sidebar",
@@ -4144,9 +4341,9 @@ var Sidebar = React41.forwardRef(
4144
4341
  }
4145
4342
  );
4146
4343
  Sidebar.displayName = "Sidebar";
4147
- var SidebarTrigger = React41.forwardRef(({ className, onClick, ...props }, ref) => {
4344
+ var SidebarTrigger = React42.forwardRef(({ className, onClick, ...props }, ref) => {
4148
4345
  const { toggleSidebar } = useSidebar();
4149
- return /* @__PURE__ */ jsxs27(
4346
+ return /* @__PURE__ */ jsxs28(
4150
4347
  Button,
4151
4348
  {
4152
4349
  ref,
@@ -4160,16 +4357,16 @@ var SidebarTrigger = React41.forwardRef(({ className, onClick, ...props }, ref)
4160
4357
  },
4161
4358
  ...props,
4162
4359
  children: [
4163
- /* @__PURE__ */ jsx43(PanelLeft, {}),
4164
- /* @__PURE__ */ jsx43("span", { className: "sr-only", children: "Toggle Sidebar" })
4360
+ /* @__PURE__ */ jsx44(PanelLeft, {}),
4361
+ /* @__PURE__ */ jsx44("span", { className: "sr-only", children: "Toggle Sidebar" })
4165
4362
  ]
4166
4363
  }
4167
4364
  );
4168
4365
  });
4169
4366
  SidebarTrigger.displayName = "SidebarTrigger";
4170
- var SidebarRail = React41.forwardRef(({ className, ...props }, ref) => {
4367
+ var SidebarRail = React42.forwardRef(({ className, ...props }, ref) => {
4171
4368
  const { toggleSidebar } = useSidebar();
4172
- return /* @__PURE__ */ jsx43(
4369
+ return /* @__PURE__ */ jsx44(
4173
4370
  "button",
4174
4371
  {
4175
4372
  ref,
@@ -4192,8 +4389,8 @@ var SidebarRail = React41.forwardRef(({ className, ...props }, ref) => {
4192
4389
  );
4193
4390
  });
4194
4391
  SidebarRail.displayName = "SidebarRail";
4195
- var SidebarInset = React41.forwardRef(({ className, ...props }, ref) => {
4196
- return /* @__PURE__ */ jsx43(
4392
+ var SidebarInset = React42.forwardRef(({ className, ...props }, ref) => {
4393
+ return /* @__PURE__ */ jsx44(
4197
4394
  "main",
4198
4395
  {
4199
4396
  ref,
@@ -4207,8 +4404,8 @@ var SidebarInset = React41.forwardRef(({ className, ...props }, ref) => {
4207
4404
  );
4208
4405
  });
4209
4406
  SidebarInset.displayName = "SidebarInset";
4210
- var SidebarInput = React41.forwardRef(({ className, ...props }, ref) => {
4211
- return /* @__PURE__ */ jsx43(
4407
+ var SidebarInput = React42.forwardRef(({ className, ...props }, ref) => {
4408
+ return /* @__PURE__ */ jsx44(
4212
4409
  Input,
4213
4410
  {
4214
4411
  ref,
@@ -4222,8 +4419,8 @@ var SidebarInput = React41.forwardRef(({ className, ...props }, ref) => {
4222
4419
  );
4223
4420
  });
4224
4421
  SidebarInput.displayName = "SidebarInput";
4225
- var SidebarHeader = React41.forwardRef(({ className, ...props }, ref) => {
4226
- return /* @__PURE__ */ jsx43(
4422
+ var SidebarHeader = React42.forwardRef(({ className, ...props }, ref) => {
4423
+ return /* @__PURE__ */ jsx44(
4227
4424
  "div",
4228
4425
  {
4229
4426
  ref,
@@ -4234,8 +4431,8 @@ var SidebarHeader = React41.forwardRef(({ className, ...props }, ref) => {
4234
4431
  );
4235
4432
  });
4236
4433
  SidebarHeader.displayName = "SidebarHeader";
4237
- var SidebarFooter = React41.forwardRef(({ className, ...props }, ref) => {
4238
- return /* @__PURE__ */ jsx43(
4434
+ var SidebarFooter = React42.forwardRef(({ className, ...props }, ref) => {
4435
+ return /* @__PURE__ */ jsx44(
4239
4436
  "div",
4240
4437
  {
4241
4438
  ref,
@@ -4246,8 +4443,8 @@ var SidebarFooter = React41.forwardRef(({ className, ...props }, ref) => {
4246
4443
  );
4247
4444
  });
4248
4445
  SidebarFooter.displayName = "SidebarFooter";
4249
- var SidebarSeparator = React41.forwardRef(({ className, ...props }, ref) => {
4250
- return /* @__PURE__ */ jsx43(
4446
+ var SidebarSeparator = React42.forwardRef(({ className, ...props }, ref) => {
4447
+ return /* @__PURE__ */ jsx44(
4251
4448
  Separator3,
4252
4449
  {
4253
4450
  ref,
@@ -4258,8 +4455,8 @@ var SidebarSeparator = React41.forwardRef(({ className, ...props }, ref) => {
4258
4455
  );
4259
4456
  });
4260
4457
  SidebarSeparator.displayName = "SidebarSeparator";
4261
- var SidebarContent = React41.forwardRef(({ className, ...props }, ref) => {
4262
- return /* @__PURE__ */ jsx43(
4458
+ var SidebarContent = React42.forwardRef(({ className, ...props }, ref) => {
4459
+ return /* @__PURE__ */ jsx44(
4263
4460
  "div",
4264
4461
  {
4265
4462
  ref,
@@ -4273,8 +4470,8 @@ var SidebarContent = React41.forwardRef(({ className, ...props }, ref) => {
4273
4470
  );
4274
4471
  });
4275
4472
  SidebarContent.displayName = "SidebarContent";
4276
- var SidebarGroup = React41.forwardRef(({ className, ...props }, ref) => {
4277
- return /* @__PURE__ */ jsx43(
4473
+ var SidebarGroup = React42.forwardRef(({ className, ...props }, ref) => {
4474
+ return /* @__PURE__ */ jsx44(
4278
4475
  "div",
4279
4476
  {
4280
4477
  ref,
@@ -4285,10 +4482,10 @@ var SidebarGroup = React41.forwardRef(({ className, ...props }, ref) => {
4285
4482
  );
4286
4483
  });
4287
4484
  SidebarGroup.displayName = "SidebarGroup";
4288
- var SidebarGroupLabel = React41.forwardRef(({ className, asChild = false, showLabel = true, ...props }, ref) => {
4485
+ var SidebarGroupLabel = React42.forwardRef(({ className, asChild = false, showLabel = true, ...props }, ref) => {
4289
4486
  if (!showLabel) return null;
4290
4487
  const Comp = asChild ? Slot3 : "div";
4291
- return /* @__PURE__ */ jsx43(
4488
+ return /* @__PURE__ */ jsx44(
4292
4489
  Comp,
4293
4490
  {
4294
4491
  ref,
@@ -4303,9 +4500,9 @@ var SidebarGroupLabel = React41.forwardRef(({ className, asChild = false, showLa
4303
4500
  );
4304
4501
  });
4305
4502
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
4306
- var SidebarGroupAction = React41.forwardRef(({ className, asChild = false, ...props }, ref) => {
4503
+ var SidebarGroupAction = React42.forwardRef(({ className, asChild = false, ...props }, ref) => {
4307
4504
  const Comp = asChild ? Slot3 : "button";
4308
- return /* @__PURE__ */ jsx43(
4505
+ return /* @__PURE__ */ jsx44(
4309
4506
  Comp,
4310
4507
  {
4311
4508
  ref,
@@ -4322,7 +4519,7 @@ var SidebarGroupAction = React41.forwardRef(({ className, asChild = false, ...pr
4322
4519
  );
4323
4520
  });
4324
4521
  SidebarGroupAction.displayName = "SidebarGroupAction";
4325
- var SidebarGroupContent = React41.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
4522
+ var SidebarGroupContent = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx44(
4326
4523
  "div",
4327
4524
  {
4328
4525
  ref,
@@ -4332,7 +4529,7 @@ var SidebarGroupContent = React41.forwardRef(({ className, ...props }, ref) => /
4332
4529
  }
4333
4530
  ));
4334
4531
  SidebarGroupContent.displayName = "SidebarGroupContent";
4335
- var SidebarMenu = React41.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
4532
+ var SidebarMenu = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx44(
4336
4533
  "ul",
4337
4534
  {
4338
4535
  ref,
@@ -4342,7 +4539,7 @@ var SidebarMenu = React41.forwardRef(({ className, ...props }, ref) => /* @__PUR
4342
4539
  }
4343
4540
  ));
4344
4541
  SidebarMenu.displayName = "SidebarMenu";
4345
- var SidebarMenuItem = React41.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
4542
+ var SidebarMenuItem = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx44(
4346
4543
  "li",
4347
4544
  {
4348
4545
  ref,
@@ -4372,7 +4569,7 @@ var sidebarMenuButtonVariants = cva15(
4372
4569
  }
4373
4570
  }
4374
4571
  );
4375
- var SidebarMenuButton = React41.forwardRef(
4572
+ var SidebarMenuButton = React42.forwardRef(
4376
4573
  ({
4377
4574
  asChild = false,
4378
4575
  isActive = false,
@@ -4384,7 +4581,7 @@ var SidebarMenuButton = React41.forwardRef(
4384
4581
  }, ref) => {
4385
4582
  const Comp = asChild ? Slot3 : "button";
4386
4583
  const { isMobile, state } = useSidebar();
4387
- const button = /* @__PURE__ */ jsx43(
4584
+ const button = /* @__PURE__ */ jsx44(
4388
4585
  Comp,
4389
4586
  {
4390
4587
  ref,
@@ -4403,9 +4600,9 @@ var SidebarMenuButton = React41.forwardRef(
4403
4600
  children: tooltip
4404
4601
  };
4405
4602
  }
4406
- return /* @__PURE__ */ jsxs27(Tooltip, { children: [
4407
- /* @__PURE__ */ jsx43(TooltipTrigger, { asChild: true, children: button }),
4408
- /* @__PURE__ */ jsx43(
4603
+ return /* @__PURE__ */ jsxs28(Tooltip, { children: [
4604
+ /* @__PURE__ */ jsx44(TooltipTrigger, { asChild: true, children: button }),
4605
+ /* @__PURE__ */ jsx44(
4409
4606
  TooltipContent,
4410
4607
  {
4411
4608
  side: "right",
@@ -4418,9 +4615,9 @@ var SidebarMenuButton = React41.forwardRef(
4418
4615
  }
4419
4616
  );
4420
4617
  SidebarMenuButton.displayName = "SidebarMenuButton";
4421
- var SidebarMenuAction = React41.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
4618
+ var SidebarMenuAction = React42.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
4422
4619
  const Comp = asChild ? Slot3 : "button";
4423
- return /* @__PURE__ */ jsx43(
4620
+ return /* @__PURE__ */ jsx44(
4424
4621
  Comp,
4425
4622
  {
4426
4623
  ref,
@@ -4441,7 +4638,7 @@ var SidebarMenuAction = React41.forwardRef(({ className, asChild = false, showOn
4441
4638
  );
4442
4639
  });
4443
4640
  SidebarMenuAction.displayName = "SidebarMenuAction";
4444
- var SidebarMenuBadge = React41.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
4641
+ var SidebarMenuBadge = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx44(
4445
4642
  "div",
4446
4643
  {
4447
4644
  ref,
@@ -4459,11 +4656,11 @@ var SidebarMenuBadge = React41.forwardRef(({ className, ...props }, ref) => /* @
4459
4656
  }
4460
4657
  ));
4461
4658
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
4462
- var SidebarMenuSkeleton = React41.forwardRef(({ className, showIcon = false, ...props }, ref) => {
4463
- const width = React41.useMemo(() => {
4659
+ var SidebarMenuSkeleton = React42.forwardRef(({ className, showIcon = false, ...props }, ref) => {
4660
+ const width = React42.useMemo(() => {
4464
4661
  return `${Math.floor(Math.random() * 40) + 50}%`;
4465
4662
  }, []);
4466
- return /* @__PURE__ */ jsxs27(
4663
+ return /* @__PURE__ */ jsxs28(
4467
4664
  "div",
4468
4665
  {
4469
4666
  ref,
@@ -4471,14 +4668,14 @@ var SidebarMenuSkeleton = React41.forwardRef(({ className, showIcon = false, ...
4471
4668
  className: cn("rounded-md h-8 flex gap-2 px-2 items-center", className),
4472
4669
  ...props,
4473
4670
  children: [
4474
- showIcon && /* @__PURE__ */ jsx43(
4671
+ showIcon && /* @__PURE__ */ jsx44(
4475
4672
  Skeleton,
4476
4673
  {
4477
4674
  className: "size-4 rounded-md",
4478
4675
  "data-sidebar": "menu-skeleton-icon"
4479
4676
  }
4480
4677
  ),
4481
- /* @__PURE__ */ jsx43(
4678
+ /* @__PURE__ */ jsx44(
4482
4679
  Skeleton,
4483
4680
  {
4484
4681
  className: "h-4 flex-1 max-w-[--skeleton-width]",
@@ -4493,7 +4690,7 @@ var SidebarMenuSkeleton = React41.forwardRef(({ className, showIcon = false, ...
4493
4690
  );
4494
4691
  });
4495
4692
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
4496
- var SidebarMenuSub = React41.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx43(
4693
+ var SidebarMenuSub = React42.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx44(
4497
4694
  "ul",
4498
4695
  {
4499
4696
  ref,
@@ -4507,11 +4704,11 @@ var SidebarMenuSub = React41.forwardRef(({ className, ...props }, ref) => /* @__
4507
4704
  }
4508
4705
  ));
4509
4706
  SidebarMenuSub.displayName = "SidebarMenuSub";
4510
- var SidebarMenuSubItem = React41.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx43("li", { ref, ...props }));
4707
+ var SidebarMenuSubItem = React42.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx44("li", { ref, ...props }));
4511
4708
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
4512
- var SidebarMenuSubButton = React41.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
4709
+ var SidebarMenuSubButton = React42.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
4513
4710
  const Comp = asChild ? Slot3 : "a";
4514
- return /* @__PURE__ */ jsx43(
4711
+ return /* @__PURE__ */ jsx44(
4515
4712
  Comp,
4516
4713
  {
4517
4714
  ref,
@@ -4533,10 +4730,10 @@ var SidebarMenuSubButton = React41.forwardRef(({ asChild = false, size = "md", i
4533
4730
  SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
4534
4731
 
4535
4732
  // source/components/primitive/Slider/slider.tsx
4536
- import * as React42 from "react";
4733
+ import * as React43 from "react";
4537
4734
  import * as SliderPrimitive from "@radix-ui/react-slider";
4538
- import { jsx as jsx44, jsxs as jsxs28 } from "react/jsx-runtime";
4539
- var Slider = React42.forwardRef(
4735
+ import { jsx as jsx45, jsxs as jsxs29 } from "react/jsx-runtime";
4736
+ var Slider = React43.forwardRef(
4540
4737
  ({
4541
4738
  className,
4542
4739
  label,
@@ -4547,16 +4744,16 @@ var Slider = React42.forwardRef(
4547
4744
  value,
4548
4745
  ...props
4549
4746
  }, ref) => {
4550
- const [internalValue, setInternalValue] = React42.useState(
4747
+ const [internalValue, setInternalValue] = React43.useState(
4551
4748
  value || defaultValue || [0]
4552
4749
  );
4553
4750
  const currentValue = value ?? internalValue;
4554
- return /* @__PURE__ */ jsxs28("div", { className: "flex w-full flex-col gap-2", children: [
4555
- (label || showValue) && /* @__PURE__ */ jsxs28("div", { className: "flex items-center justify-between", children: [
4556
- label && /* @__PURE__ */ jsx44("label", { className: "text-sm font-medium", children: label }),
4557
- showValue && /* @__PURE__ */ jsx44("span", { className: "text-sm text-muted-foreground", children: currentValue?.[0] })
4751
+ return /* @__PURE__ */ jsxs29("div", { className: "flex w-full flex-col gap-2", children: [
4752
+ (label || showValue) && /* @__PURE__ */ jsxs29("div", { className: "flex items-center justify-between", children: [
4753
+ label && /* @__PURE__ */ jsx45("label", { className: "text-sm font-medium", children: label }),
4754
+ showValue && /* @__PURE__ */ jsx45("span", { className: "text-sm text-muted-foreground", children: currentValue?.[0] })
4558
4755
  ] }),
4559
- /* @__PURE__ */ jsxs28(
4756
+ /* @__PURE__ */ jsxs29(
4560
4757
  SliderPrimitive.Root,
4561
4758
  {
4562
4759
  ref,
@@ -4572,8 +4769,8 @@ var Slider = React42.forwardRef(
4572
4769
  ),
4573
4770
  ...props,
4574
4771
  children: [
4575
- /* @__PURE__ */ jsx44(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx44(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
4576
- /* @__PURE__ */ jsx44(
4772
+ /* @__PURE__ */ jsx45(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx45(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
4773
+ /* @__PURE__ */ jsx45(
4577
4774
  SliderPrimitive.Thumb,
4578
4775
  {
4579
4776
  className: cn(
@@ -4587,9 +4784,9 @@ var Slider = React42.forwardRef(
4587
4784
  ]
4588
4785
  }
4589
4786
  ),
4590
- (minLabel || maxLabel) && /* @__PURE__ */ jsxs28("div", { className: "flex justify-between text-xs text-muted-foreground", children: [
4591
- /* @__PURE__ */ jsx44("span", { children: minLabel }),
4592
- /* @__PURE__ */ jsx44("span", { children: maxLabel })
4787
+ (minLabel || maxLabel) && /* @__PURE__ */ jsxs29("div", { className: "flex justify-between text-xs text-muted-foreground", children: [
4788
+ /* @__PURE__ */ jsx45("span", { children: minLabel }),
4789
+ /* @__PURE__ */ jsx45("span", { children: maxLabel })
4593
4790
  ] })
4594
4791
  ] });
4595
4792
  }
@@ -4597,9 +4794,9 @@ var Slider = React42.forwardRef(
4597
4794
  Slider.displayName = "Slider";
4598
4795
 
4599
4796
  // source/components/primitive/Table/table.tsx
4600
- import * as React43 from "react";
4601
- import { jsx as jsx45 } from "react/jsx-runtime";
4602
- var Table = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx45(
4797
+ import * as React44 from "react";
4798
+ import { jsx as jsx46 } from "react/jsx-runtime";
4799
+ var Table = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx46(
4603
4800
  "table",
4604
4801
  {
4605
4802
  ref,
@@ -4608,9 +4805,9 @@ var Table = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
4608
4805
  }
4609
4806
  ) }));
4610
4807
  Table.displayName = "Table";
4611
- var TableHeader = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
4808
+ var TableHeader = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
4612
4809
  TableHeader.displayName = "TableHeader";
4613
- var TableBody = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
4810
+ var TableBody = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
4614
4811
  "tbody",
4615
4812
  {
4616
4813
  ref,
@@ -4619,7 +4816,7 @@ var TableBody = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE_
4619
4816
  }
4620
4817
  ));
4621
4818
  TableBody.displayName = "TableBody";
4622
- var TableFooter = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
4819
+ var TableFooter = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
4623
4820
  "tfoot",
4624
4821
  {
4625
4822
  ref,
@@ -4631,7 +4828,7 @@ var TableFooter = React43.forwardRef(({ className, ...props }, ref) => /* @__PUR
4631
4828
  }
4632
4829
  ));
4633
4830
  TableFooter.displayName = "TableFooter";
4634
- var TableRow = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
4831
+ var TableRow = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
4635
4832
  "tr",
4636
4833
  {
4637
4834
  ref,
@@ -4643,7 +4840,7 @@ var TableRow = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__
4643
4840
  }
4644
4841
  ));
4645
4842
  TableRow.displayName = "TableRow";
4646
- var TableHead = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
4843
+ var TableHead = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
4647
4844
  "th",
4648
4845
  {
4649
4846
  ref,
@@ -4655,7 +4852,7 @@ var TableHead = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE_
4655
4852
  }
4656
4853
  ));
4657
4854
  TableHead.displayName = "TableHead";
4658
- var TableCell = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
4855
+ var TableCell = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
4659
4856
  "td",
4660
4857
  {
4661
4858
  ref,
@@ -4664,7 +4861,7 @@ var TableCell = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE_
4664
4861
  }
4665
4862
  ));
4666
4863
  TableCell.displayName = "TableCell";
4667
- var TableCaption = React43.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx45(
4864
+ var TableCaption = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
4668
4865
  "caption",
4669
4866
  {
4670
4867
  ref,
@@ -4675,11 +4872,11 @@ var TableCaption = React43.forwardRef(({ className, ...props }, ref) => /* @__PU
4675
4872
  TableCaption.displayName = "TableCaption";
4676
4873
 
4677
4874
  // source/components/primitive/Tabs/tabs.tsx
4678
- import * as React44 from "react";
4875
+ import * as React45 from "react";
4679
4876
  import * as TabsPrimitive from "@radix-ui/react-tabs";
4680
- import { jsx as jsx46 } from "react/jsx-runtime";
4877
+ import { jsx as jsx47 } from "react/jsx-runtime";
4681
4878
  var Tabs = TabsPrimitive.Root;
4682
- var TabsList = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
4879
+ var TabsList = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
4683
4880
  TabsPrimitive.List,
4684
4881
  {
4685
4882
  ref,
@@ -4691,7 +4888,7 @@ var TabsList = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__
4691
4888
  }
4692
4889
  ));
4693
4890
  TabsList.displayName = TabsPrimitive.List.displayName;
4694
- var TabsTrigger = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
4891
+ var TabsTrigger = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
4695
4892
  TabsPrimitive.Trigger,
4696
4893
  {
4697
4894
  ref,
@@ -4703,7 +4900,7 @@ var TabsTrigger = React44.forwardRef(({ className, ...props }, ref) => /* @__PUR
4703
4900
  }
4704
4901
  ));
4705
4902
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
4706
- var TabsContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
4903
+ var TabsContent = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
4707
4904
  TabsPrimitive.Content,
4708
4905
  {
4709
4906
  ref,
@@ -4717,12 +4914,12 @@ var TabsContent = React44.forwardRef(({ className, ...props }, ref) => /* @__PUR
4717
4914
  TabsContent.displayName = TabsPrimitive.Content.displayName;
4718
4915
 
4719
4916
  // source/components/primitive/Toast/toast.tsx
4720
- import * as React45 from "react";
4917
+ import * as React46 from "react";
4721
4918
  import * as ToastPrimitive from "@radix-ui/react-toast";
4722
4919
  import { cva as cva16 } from "class-variance-authority";
4723
- import { jsx as jsx47 } from "react/jsx-runtime";
4920
+ import { jsx as jsx48 } from "react/jsx-runtime";
4724
4921
  var ToastProvider = ToastPrimitive.Provider;
4725
- var ToastViewport = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
4922
+ var ToastViewport = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
4726
4923
  ToastPrimitive.Viewport,
4727
4924
  {
4728
4925
  ref,
@@ -4781,7 +4978,7 @@ var toastVariants = cva16(
4781
4978
  }
4782
4979
  }
4783
4980
  );
4784
- var Toast = React45.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx47(
4981
+ var Toast = React46.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx48(
4785
4982
  ToastPrimitive.Root,
4786
4983
  {
4787
4984
  ref,
@@ -4790,7 +4987,7 @@ var Toast = React45.forwardRef(({ className, variant, ...props }, ref) => /* @__
4790
4987
  }
4791
4988
  ));
4792
4989
  Toast.displayName = ToastPrimitive.Root.displayName;
4793
- var ToastAction = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
4990
+ var ToastAction = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
4794
4991
  ToastPrimitive.Action,
4795
4992
  {
4796
4993
  ref,
@@ -4805,7 +5002,7 @@ var ToastAction = React45.forwardRef(({ className, ...props }, ref) => /* @__PUR
4805
5002
  }
4806
5003
  ));
4807
5004
  ToastAction.displayName = ToastPrimitive.Action.displayName;
4808
- var ToastClose = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
5005
+ var ToastClose = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
4809
5006
  ToastPrimitive.Close,
4810
5007
  {
4811
5008
  ref,
@@ -4819,7 +5016,7 @@ var ToastClose = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE
4819
5016
  }
4820
5017
  ));
4821
5018
  ToastClose.displayName = ToastPrimitive.Close.displayName;
4822
- var ToastTitle = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
5019
+ var ToastTitle = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
4823
5020
  ToastPrimitive.Title,
4824
5021
  {
4825
5022
  ref,
@@ -4828,7 +5025,7 @@ var ToastTitle = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE
4828
5025
  }
4829
5026
  ));
4830
5027
  ToastTitle.displayName = ToastPrimitive.Title.displayName;
4831
- var ToastDescription = React45.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx47(
5028
+ var ToastDescription = React46.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
4832
5029
  ToastPrimitive.Description,
4833
5030
  {
4834
5031
  ref,
@@ -4881,11 +5078,11 @@ function getToastSnapshot() {
4881
5078
  }
4882
5079
 
4883
5080
  // source/components/primitive/Toast/toaster.tsx
4884
- import * as React46 from "react";
4885
- import { jsx as jsx48, jsxs as jsxs29 } from "react/jsx-runtime";
5081
+ import * as React47 from "react";
5082
+ import { jsx as jsx49, jsxs as jsxs30 } from "react/jsx-runtime";
4886
5083
  function useToast() {
4887
- const [toasts, setToasts] = React46.useState(() => getToastSnapshot());
4888
- React46.useEffect(() => subscribeToasts((s) => setToasts([...s])), []);
5084
+ const [toasts, setToasts] = React47.useState(() => getToastSnapshot());
5085
+ React47.useEffect(() => subscribeToasts((s) => setToasts([...s])), []);
4889
5086
  return {
4890
5087
  toasts,
4891
5088
  toast,
@@ -4900,7 +5097,7 @@ function Toaster({
4900
5097
  ...providerProps
4901
5098
  }) {
4902
5099
  const { toasts } = useToast();
4903
- return /* @__PURE__ */ jsxs29(
5100
+ return /* @__PURE__ */ jsxs30(
4904
5101
  ToastProvider,
4905
5102
  {
4906
5103
  duration,
@@ -4918,7 +5115,7 @@ function Toaster({
4918
5115
  action
4919
5116
  }) => {
4920
5117
  const v = variant ?? "default";
4921
- return /* @__PURE__ */ jsxs29(
5118
+ return /* @__PURE__ */ jsxs30(
4922
5119
  Toast,
4923
5120
  {
4924
5121
  variant,
@@ -4927,11 +5124,11 @@ function Toaster({
4927
5124
  if (!open) dismissToast(id);
4928
5125
  },
4929
5126
  children: [
4930
- /* @__PURE__ */ jsxs29("div", { className: "grid flex-1 gap-1 pl-1", children: [
4931
- title ? /* @__PURE__ */ jsx48(ToastTitle, { children: title }) : null,
4932
- description ? /* @__PURE__ */ jsx48(ToastDescription, { children: description }) : null
5127
+ /* @__PURE__ */ jsxs30("div", { className: "grid flex-1 gap-1 pl-1", children: [
5128
+ title ? /* @__PURE__ */ jsx49(ToastTitle, { children: title }) : null,
5129
+ description ? /* @__PURE__ */ jsx49(ToastDescription, { children: description }) : null
4933
5130
  ] }),
4934
- action ? /* @__PURE__ */ jsx48(
5131
+ action ? /* @__PURE__ */ jsx49(
4935
5132
  ToastAction,
4936
5133
  {
4937
5134
  altText: action.altText,
@@ -4942,7 +5139,7 @@ function Toaster({
4942
5139
  children: action.label
4943
5140
  }
4944
5141
  ) : null,
4945
- /* @__PURE__ */ jsx48(ToastClose, { "aria-label": "Dismiss notification", children: /* @__PURE__ */ jsx48(
5142
+ /* @__PURE__ */ jsx49(ToastClose, { "aria-label": "Dismiss notification", children: /* @__PURE__ */ jsx49(
4946
5143
  "span",
4947
5144
  {
4948
5145
  "aria-hidden": true,
@@ -4956,7 +5153,7 @@ function Toaster({
4956
5153
  );
4957
5154
  }
4958
5155
  ),
4959
- /* @__PURE__ */ jsx48(ToastViewport, { className: cn(viewportClassName) })
5156
+ /* @__PURE__ */ jsx49(ToastViewport, { className: cn(viewportClassName) })
4960
5157
  ]
4961
5158
  }
4962
5159
  );
@@ -5076,6 +5273,7 @@ export {
5076
5273
  RichTextEditor,
5077
5274
  ScrollArea,
5078
5275
  ScrollBar,
5276
+ SearchableSelect,
5079
5277
  Select,
5080
5278
  SelectContent,
5081
5279
  SelectGroup,