@2urgseui/core 0.1.3 → 0.1.4

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