@2urgseui/core 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -2160,7 +2160,7 @@ var FileDropzone = React20.forwardRef(
2160
2160
  FileDropzone.displayName = "FileDropzone";
2161
2161
 
2162
2162
  // source/components/primitive/FormField/form-field.tsx
2163
- var React30 = __toESM(require("react"), 1);
2163
+ var React32 = __toESM(require("react"), 1);
2164
2164
  var import_react_hook_form = require("react-hook-form");
2165
2165
 
2166
2166
  // source/components/primitive/InputOtp/input-otp.tsx
@@ -2274,10 +2274,119 @@ var Input = React22.forwardRef(
2274
2274
  Input.displayName = "Input";
2275
2275
 
2276
2276
  // source/components/primitive/Label/label.tsx
2277
- var React23 = __toESM(require("react"), 1);
2277
+ var React25 = __toESM(require("react"), 1);
2278
2278
  var LabelPrimitive = __toESM(require("@radix-ui/react-label"), 1);
2279
2279
  var import_class_variance_authority8 = require("class-variance-authority");
2280
+ var import_lucide_react8 = require("lucide-react");
2281
+
2282
+ // source/components/primitive/RichHtml/rich-html.tsx
2283
+ var React23 = __toESM(require("react"), 1);
2284
+ var import_dompurify = __toESM(require("dompurify"), 1);
2280
2285
  var import_jsx_runtime25 = require("react/jsx-runtime");
2286
+ var defaultSanitizeConfig = {
2287
+ USE_PROFILES: { html: true }
2288
+ };
2289
+ var richHtmlChrome = cn(
2290
+ "max-w-none text-base leading-relaxed text-foreground",
2291
+ // Block flow
2292
+ "[&_p]:mb-3 [&_p:last-child]:mb-0 [&_blockquote]:my-4 [&_blockquote]:border-l-2 [&_blockquote]:border-muted [&_blockquote]:pl-4 [&_blockquote]:italic",
2293
+ // Lists
2294
+ "[&_ul]:my-3 [&_ul]:list-disc [&_ul]:pl-6 [&_ol]:my-3 [&_ol]:list-decimal [&_ol]:pl-6 [&_li]:my-1 [&_li]:pl-1",
2295
+ // Headings (common for TipTap / CMS output)
2296
+ "[&_h1]:mb-3 [&_h1]:mt-8 [&_h1]:text-3xl [&_h1]:font-semibold [&_h1]:first:mt-0",
2297
+ "[&_h2]:mb-2 [&_h2]:mt-6 [&_h2]:text-2xl [&_h2]:font-semibold [&_h2]:first:mt-0",
2298
+ "[&_h3]:mb-2 [&_h3]:mt-5 [&_h3]:text-xl [&_h3]:font-semibold [&_h3]:first:mt-0",
2299
+ "[&_h4]:mb-2 [&_h4]:mt-4 [&_h4]:text-lg [&_h4]:font-semibold [&_h4]:first:mt-0",
2300
+ // Links & media
2301
+ "[&_a]:text-primary [&_a]:underline [&_a]:underline-offset-2 [&_a]:outline-none [&_a]:focus-visible:ring-2 [&_a]:focus-visible:ring-ring [&_a]:focus-visible:ring-offset-2",
2302
+ "[&_img]:my-4 [&_img]:max-h-[min(480px,70vh)] [&_img]:max-w-full [&_img]:rounded-md [&_img]:object-contain",
2303
+ "[&_hr]:my-6 [&_hr]:border-border",
2304
+ // Code
2305
+ "[&_code]:rounded [&_code]:bg-muted [&_code]:px-1 [&_code]:py-0.5 [&_code]:text-[0.9em]",
2306
+ "[&_pre]:my-4 [&_pre]:overflow-x-auto [&_pre]:rounded-md [&_pre]:bg-muted [&_pre]:p-3 [&_pre]:font-mono [&_pre]:text-sm"
2307
+ );
2308
+ var RichHtml = React23.forwardRef(
2309
+ ({
2310
+ html,
2311
+ sanitize = true,
2312
+ sanitizeConfig,
2313
+ className,
2314
+ suppressHydrationWarning,
2315
+ ...props
2316
+ }, ref) => {
2317
+ const markup = React23.useMemo(() => {
2318
+ if (html === void 0 || html === null || html === "") {
2319
+ return "";
2320
+ }
2321
+ if (!sanitize) {
2322
+ return html;
2323
+ }
2324
+ if (typeof window === "undefined") {
2325
+ return "";
2326
+ }
2327
+ const config = {
2328
+ ...defaultSanitizeConfig,
2329
+ ...sanitizeConfig
2330
+ };
2331
+ return import_dompurify.default.sanitize(html, config);
2332
+ }, [html, sanitize, sanitizeConfig]);
2333
+ const resolvedSuppressHydration = suppressHydrationWarning ?? sanitize;
2334
+ if (html === void 0 || html === null || html === "") {
2335
+ return null;
2336
+ }
2337
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2338
+ "div",
2339
+ {
2340
+ ref,
2341
+ suppressHydrationWarning: resolvedSuppressHydration,
2342
+ className: cn(richHtmlChrome, className),
2343
+ ...props,
2344
+ dangerouslySetInnerHTML: { __html: markup }
2345
+ }
2346
+ );
2347
+ }
2348
+ );
2349
+ RichHtml.displayName = "RichHtml";
2350
+
2351
+ // source/components/primitive/ToolTip/tooltip.tsx
2352
+ var React24 = __toESM(require("react"), 1);
2353
+ var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
2354
+ var import_jsx_runtime26 = require("react/jsx-runtime");
2355
+ var TooltipProvider = TooltipPrimitive.Provider;
2356
+ var Tooltip = ({ ...props }) => {
2357
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(TooltipPrimitive.Root, { ...props });
2358
+ };
2359
+ Tooltip.displayName = "Tooltip";
2360
+ var TooltipTrigger = TooltipPrimitive.Trigger;
2361
+ TooltipTrigger.displayName = "TooltipTrigger";
2362
+ var TooltipContent = React24.forwardRef(({ className, sideOffset = 4, arrow = false, children, ...props }, ref) => {
2363
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(TooltipPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
2364
+ TooltipPrimitive.Content,
2365
+ {
2366
+ ref,
2367
+ sideOffset,
2368
+ className: cn(
2369
+ "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md",
2370
+ "animate-in fade-in-0 zoom-in-95",
2371
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
2372
+ "data-[side=bottom]:slide-in-from-top-2",
2373
+ "data-[side=left]:slide-in-from-right-2",
2374
+ "data-[side=right]:slide-in-from-left-2",
2375
+ "data-[side=top]:slide-in-from-bottom-2",
2376
+ className
2377
+ ),
2378
+ ...props,
2379
+ children: [
2380
+ children,
2381
+ arrow && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(TooltipPrimitive.Arrow, { className: "fill-popover" })
2382
+ ]
2383
+ }
2384
+ ) });
2385
+ });
2386
+ TooltipContent.displayName = "TooltipContent";
2387
+
2388
+ // source/components/primitive/Label/label.tsx
2389
+ var import_jsx_runtime27 = require("react/jsx-runtime");
2281
2390
  var labelVariants = (0, import_class_variance_authority8.cva)(
2282
2391
  "font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
2283
2392
  {
@@ -2298,27 +2407,75 @@ var labelVariants = (0, import_class_variance_authority8.cva)(
2298
2407
  }
2299
2408
  }
2300
2409
  );
2301
- var Label2 = React23.forwardRef(({ className, tone, size, required, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
2410
+ var labelTooltipHtmlClassName = cn(
2411
+ "max-w-xs text-sm leading-snug",
2412
+ "[&_p]:mb-1 [&_p:last-child]:mb-0",
2413
+ "[&_a]:text-inherit [&_a]:underline [&_a]:underline-offset-2"
2414
+ );
2415
+ function looksLikeHtml(value) {
2416
+ return /<[a-z][\s\S]*>/i.test(value);
2417
+ }
2418
+ function LabelTooltipContent({ content }) {
2419
+ if (typeof content === "string") {
2420
+ if (looksLikeHtml(content)) {
2421
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2422
+ RichHtml,
2423
+ {
2424
+ html: content,
2425
+ className: labelTooltipHtmlClassName
2426
+ }
2427
+ );
2428
+ }
2429
+ return content;
2430
+ }
2431
+ return content;
2432
+ }
2433
+ function LabelTooltip({ content }) {
2434
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TooltipProvider, { delayDuration: 200, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Tooltip, { children: [
2435
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2436
+ "button",
2437
+ {
2438
+ type: "button",
2439
+ className: "inline-flex shrink-0 rounded-sm text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
2440
+ "aria-label": "More information",
2441
+ onClick: (e) => e.preventDefault(),
2442
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_lucide_react8.CircleHelp, { className: "h-3.5 w-3.5", "aria-hidden": true })
2443
+ }
2444
+ ) }),
2445
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TooltipContent, { side: "top", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(LabelTooltipContent, { content }) })
2446
+ ] }) });
2447
+ }
2448
+ function hasLabelTooltip(tooltip) {
2449
+ if (tooltip == null) return false;
2450
+ if (typeof tooltip === "string" && tooltip.trim() === "") return false;
2451
+ return true;
2452
+ }
2453
+ var Label2 = React25.forwardRef(({ className, tone, size, required, tooltip, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
2302
2454
  LabelPrimitive.Root,
2303
2455
  {
2304
2456
  ref,
2305
- className: cn(labelVariants({ tone, size }), className),
2457
+ className: cn(
2458
+ labelVariants({ tone, size }),
2459
+ "inline-flex items-center gap-1",
2460
+ className
2461
+ ),
2306
2462
  ...props,
2307
2463
  children: [
2308
2464
  children,
2309
- required && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: "ml-0.5 text-destructive", children: "*" })
2465
+ hasLabelTooltip(tooltip) && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(LabelTooltip, { content: tooltip }),
2466
+ required && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-destructive", children: "*" })
2310
2467
  ]
2311
2468
  }
2312
2469
  ));
2313
2470
  Label2.displayName = LabelPrimitive.Root.displayName;
2314
2471
 
2315
2472
  // source/components/primitive/RadioGroup/radiogroup.tsx
2316
- var React24 = __toESM(require("react"), 1);
2473
+ var React26 = __toESM(require("react"), 1);
2317
2474
  var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
2318
- var import_lucide_react8 = require("lucide-react");
2319
- var import_jsx_runtime26 = require("react/jsx-runtime");
2320
- var RadioGroup2 = React24.forwardRef(({ className, ...props }, ref) => {
2321
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2475
+ var import_lucide_react9 = require("lucide-react");
2476
+ var import_jsx_runtime28 = require("react/jsx-runtime");
2477
+ var RadioGroup2 = React26.forwardRef(({ className, ...props }, ref) => {
2478
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2322
2479
  RadioGroupPrimitive.Root,
2323
2480
  {
2324
2481
  ref,
@@ -2328,8 +2485,8 @@ var RadioGroup2 = React24.forwardRef(({ className, ...props }, ref) => {
2328
2485
  );
2329
2486
  });
2330
2487
  RadioGroup2.displayName = "RadioGroup";
2331
- var RadioGroupItem = React24.forwardRef(({ className, ...props }, ref) => {
2332
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2488
+ var RadioGroupItem = React26.forwardRef(({ className, ...props }, ref) => {
2489
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2333
2490
  RadioGroupPrimitive.Item,
2334
2491
  {
2335
2492
  ref,
@@ -2341,7 +2498,7 @@ var RadioGroupItem = React24.forwardRef(({ className, ...props }, ref) => {
2341
2498
  className
2342
2499
  ),
2343
2500
  ...props,
2344
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_lucide_react8.Circle, { className: "h-2.5 w-2.5 shrink-0 fill-current text-current" }) })
2501
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react9.Circle, { className: "h-2.5 w-2.5 shrink-0 fill-current text-current" }) })
2345
2502
  }
2346
2503
  );
2347
2504
  });
@@ -2355,20 +2512,20 @@ var import_extension_image = __toESM(require("@tiptap/extension-image"), 1);
2355
2512
  var import_extension_link = __toESM(require("@tiptap/extension-link"), 1);
2356
2513
 
2357
2514
  // source/components/primitive/RichTextArea/richtext-toolbar.tsx
2358
- var import_jsx_runtime27 = require("react/jsx-runtime");
2515
+ var import_jsx_runtime29 = require("react/jsx-runtime");
2359
2516
  function RichTextToolbar({ editor }) {
2360
2517
  if (!editor) return null;
2361
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex flex-wrap gap-2 border-b p-2", children: [
2362
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { onClick: () => editor.chain().focus().toggleBold().run(), children: "Bold" }),
2363
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { onClick: () => editor.chain().focus().toggleItalic().run(), children: "Italic" }),
2364
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { onClick: () => editor.chain().focus().toggleHeading({ level: 2 }).run(), children: "H2" }),
2365
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { onClick: () => editor.chain().focus().toggleBulletList().run(), children: "List" }),
2366
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("button", { onClick: () => editor.chain().focus().toggleCodeBlock().run(), children: "Code" })
2518
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex flex-wrap gap-2 border-b p-2", children: [
2519
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("button", { onClick: () => editor.chain().focus().toggleBold().run(), children: "Bold" }),
2520
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("button", { onClick: () => editor.chain().focus().toggleItalic().run(), children: "Italic" }),
2521
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("button", { onClick: () => editor.chain().focus().toggleHeading({ level: 2 }).run(), children: "H2" }),
2522
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("button", { onClick: () => editor.chain().focus().toggleBulletList().run(), children: "List" }),
2523
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("button", { onClick: () => editor.chain().focus().toggleCodeBlock().run(), children: "Code" })
2367
2524
  ] });
2368
2525
  }
2369
2526
 
2370
2527
  // source/components/primitive/RichTextArea/richtext-editor.tsx
2371
- var import_jsx_runtime28 = require("react/jsx-runtime");
2528
+ var import_jsx_runtime30 = require("react/jsx-runtime");
2372
2529
  var RichTextEditor = ({
2373
2530
  value,
2374
2531
  onChange,
@@ -2392,7 +2549,7 @@ var RichTextEditor = ({
2392
2549
  }
2393
2550
  });
2394
2551
  if (!editor) return null;
2395
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
2552
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
2396
2553
  "div",
2397
2554
  {
2398
2555
  className: cn(
@@ -2402,8 +2559,8 @@ var RichTextEditor = ({
2402
2559
  className
2403
2560
  ),
2404
2561
  children: [
2405
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RichTextToolbar, { editor }),
2406
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
2562
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(RichTextToolbar, { editor }),
2563
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2407
2564
  import_react.EditorContent,
2408
2565
  {
2409
2566
  editor,
@@ -2416,9 +2573,9 @@ var RichTextEditor = ({
2416
2573
  };
2417
2574
 
2418
2575
  // source/components/primitive/SearchableSelect/searchable-select.tsx
2419
- var React25 = __toESM(require("react"), 1);
2420
- var import_lucide_react9 = require("lucide-react");
2421
- var import_jsx_runtime29 = require("react/jsx-runtime");
2576
+ var React27 = __toESM(require("react"), 1);
2577
+ var import_lucide_react10 = require("lucide-react");
2578
+ var import_jsx_runtime31 = require("react/jsx-runtime");
2422
2579
  function reactNodeToLabelString2(node) {
2423
2580
  if (node == null || typeof node === "boolean") return "";
2424
2581
  if (typeof node === "string" || typeof node === "number") return String(node);
@@ -2448,12 +2605,12 @@ function SearchableSelectInner({
2448
2605
  "aria-invalid": ariaInvalid,
2449
2606
  innerRef
2450
2607
  }) {
2451
- const [open, setOpen] = React25.useState(false);
2452
- const [search, setSearch] = React25.useState("");
2453
- const searchInputRef = React25.useRef(null);
2608
+ const [open, setOpen] = React27.useState(false);
2609
+ const [search, setSearch] = React27.useState("");
2610
+ const searchInputRef = React27.useRef(null);
2454
2611
  const filteredItems = items.filter((item) => filterItem(item, search));
2455
2612
  const selectedItem = items.find((item) => item.value === value);
2456
- React25.useEffect(() => {
2613
+ React27.useEffect(() => {
2457
2614
  if (open) {
2458
2615
  setTimeout(() => searchInputRef.current?.focus(), 0);
2459
2616
  } else {
@@ -2473,9 +2630,9 @@ function SearchableSelectInner({
2473
2630
  e.stopPropagation();
2474
2631
  onValueChange?.("");
2475
2632
  };
2476
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
2477
- name && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("input", { type: "hidden", name, value: value ?? "" }),
2478
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(PopoverTrigger, { asChild: true, className: "w-full", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
2633
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
2634
+ name && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("input", { type: "hidden", name, value: value ?? "" }),
2635
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(PopoverTrigger, { asChild: true, className: "w-full", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
2479
2636
  "button",
2480
2637
  {
2481
2638
  ref: innerRef,
@@ -2495,7 +2652,7 @@ function SearchableSelectInner({
2495
2652
  className
2496
2653
  ),
2497
2654
  children: [
2498
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2655
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2499
2656
  "span",
2500
2657
  {
2501
2658
  className: cn(
@@ -2505,8 +2662,8 @@ function SearchableSelectInner({
2505
2662
  children: selectedItem?.label ?? placeholder
2506
2663
  }
2507
2664
  ),
2508
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("span", { className: "ml-auto flex shrink-0 items-center gap-1", children: [
2509
- clearable && value && !disabled && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2665
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "ml-auto flex shrink-0 items-center gap-1", children: [
2666
+ clearable && value && !disabled && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2510
2667
  "span",
2511
2668
  {
2512
2669
  role: "button",
@@ -2522,21 +2679,21 @@ function SearchableSelectInner({
2522
2679
  children: "\xD7"
2523
2680
  }
2524
2681
  ),
2525
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react9.ChevronDown, { "aria-hidden": true, className: "h-4 w-4 shrink-0 text-slate-500 dark:text-slate-400" })
2682
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react10.ChevronDown, { "aria-hidden": true, className: "h-4 w-4 shrink-0 text-slate-500 dark:text-slate-400" })
2526
2683
  ] })
2527
2684
  ]
2528
2685
  }
2529
2686
  ) }),
2530
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
2687
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
2531
2688
  PopoverContent,
2532
2689
  {
2533
2690
  align: "start",
2534
2691
  className: "w-[--radix-popover-trigger-width] min-w-[var(--radix-popover-trigger-width)] max-w-[var(--radix-popover-content-available-width)] p-0",
2535
2692
  onOpenAutoFocus: (e) => e.preventDefault(),
2536
2693
  children: [
2537
- /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex items-center gap-2 border-b px-3 py-2", children: [
2538
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react9.Search, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
2539
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2694
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex items-center gap-2 border-b px-3 py-2", children: [
2695
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react10.Search, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
2696
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2540
2697
  "input",
2541
2698
  {
2542
2699
  ref: searchInputRef,
@@ -2547,9 +2704,9 @@ function SearchableSelectInner({
2547
2704
  }
2548
2705
  )
2549
2706
  ] }),
2550
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "max-h-60 overflow-y-auto p-1", children: filteredItems.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "px-3 py-6 text-center text-sm text-muted-foreground", children: "No results found." }) : filteredItems.map((item) => {
2707
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "max-h-60 overflow-y-auto p-1", children: filteredItems.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "px-3 py-6 text-center text-sm text-muted-foreground", children: "No results found." }) : filteredItems.map((item) => {
2551
2708
  const isSelected = item.value === value;
2552
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
2709
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
2553
2710
  "button",
2554
2711
  {
2555
2712
  type: "button",
@@ -2565,8 +2722,8 @@ function SearchableSelectInner({
2565
2722
  isSelected && "bg-accent/50"
2566
2723
  ),
2567
2724
  children: [
2568
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_lucide_react9.Check, { className: "h-4 w-4" }) }),
2569
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "min-w-0 flex-1 whitespace-normal break-words", children: item.label })
2725
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react10.Check, { className: "h-4 w-4" }) }),
2726
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "min-w-0 flex-1 whitespace-normal break-words", children: item.label })
2570
2727
  ]
2571
2728
  },
2572
2729
  item.value
@@ -2577,18 +2734,18 @@ function SearchableSelectInner({
2577
2734
  )
2578
2735
  ] }) });
2579
2736
  }
2580
- var SearchableSelect = React25.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SearchableSelectInner, { ...props, innerRef: ref }));
2737
+ var SearchableSelect = React27.forwardRef((props, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SearchableSelectInner, { ...props, innerRef: ref }));
2581
2738
  SearchableSelect.displayName = "SearchableSelect";
2582
2739
 
2583
2740
  // source/components/primitive/Select/select.tsx
2584
- var React26 = __toESM(require("react"), 1);
2741
+ var React28 = __toESM(require("react"), 1);
2585
2742
  var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
2586
- var import_lucide_react10 = require("lucide-react");
2587
- var import_jsx_runtime30 = require("react/jsx-runtime");
2743
+ var import_lucide_react11 = require("lucide-react");
2744
+ var import_jsx_runtime32 = require("react/jsx-runtime");
2588
2745
  var Select = SelectPrimitive.Root;
2589
2746
  var SelectGroup = SelectPrimitive.Group;
2590
2747
  var SelectValue = SelectPrimitive.Value;
2591
- var SelectTrigger = React26.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
2748
+ var SelectTrigger = React28.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
2592
2749
  SelectPrimitive.Trigger,
2593
2750
  {
2594
2751
  ref,
@@ -2602,8 +2759,8 @@ var SelectTrigger = React26.forwardRef(({ className, children, ...props }, ref)
2602
2759
  ...props,
2603
2760
  children: [
2604
2761
  children,
2605
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2606
- import_lucide_react10.ChevronDown,
2762
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2763
+ import_lucide_react11.ChevronDown,
2607
2764
  {
2608
2765
  "aria-hidden": "true",
2609
2766
  className: "h-4 w-4 shrink-0"
@@ -2613,7 +2770,7 @@ var SelectTrigger = React26.forwardRef(({ className, children, ...props }, ref)
2613
2770
  }
2614
2771
  ));
2615
2772
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
2616
- var SelectScrollUpButton = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2773
+ var SelectScrollUpButton = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2617
2774
  SelectPrimitive.ScrollUpButton,
2618
2775
  {
2619
2776
  ref,
@@ -2622,11 +2779,11 @@ var SelectScrollUpButton = React26.forwardRef(({ className, ...props }, ref) =>
2622
2779
  className
2623
2780
  ),
2624
2781
  ...props,
2625
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react10.ChevronUp, { className: "h-4 w-4" })
2782
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react11.ChevronUp, { className: "h-4 w-4" })
2626
2783
  }
2627
2784
  ));
2628
2785
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
2629
- var SelectScrollDownButton = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2786
+ var SelectScrollDownButton = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2630
2787
  SelectPrimitive.ScrollDownButton,
2631
2788
  {
2632
2789
  ref,
@@ -2635,11 +2792,11 @@ var SelectScrollDownButton = React26.forwardRef(({ className, ...props }, ref) =
2635
2792
  className
2636
2793
  ),
2637
2794
  ...props,
2638
- children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react10.ChevronDown, { className: "h-4 w-4" })
2795
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react11.ChevronDown, { className: "h-4 w-4" })
2639
2796
  }
2640
2797
  ));
2641
2798
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
2642
- var SelectContent = React26.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
2799
+ var SelectContent = React28.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
2643
2800
  SelectPrimitive.Content,
2644
2801
  {
2645
2802
  ref,
@@ -2651,8 +2808,8 @@ var SelectContent = React26.forwardRef(({ className, children, position = "poppe
2651
2808
  position,
2652
2809
  ...props,
2653
2810
  children: [
2654
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectScrollUpButton, {}),
2655
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2811
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectScrollUpButton, {}),
2812
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2656
2813
  SelectPrimitive.Viewport,
2657
2814
  {
2658
2815
  className: cn(
@@ -2662,12 +2819,12 @@ var SelectContent = React26.forwardRef(({ className, children, position = "poppe
2662
2819
  children
2663
2820
  }
2664
2821
  ),
2665
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectScrollDownButton, {})
2822
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectScrollDownButton, {})
2666
2823
  ]
2667
2824
  }
2668
2825
  ) }));
2669
2826
  SelectContent.displayName = SelectPrimitive.Content.displayName;
2670
- var SelectLabel = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2827
+ var SelectLabel = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2671
2828
  SelectPrimitive.Label,
2672
2829
  {
2673
2830
  ref,
@@ -2676,13 +2833,13 @@ var SelectLabel = React26.forwardRef(({ className, ...props }, ref) => /* @__PUR
2676
2833
  }
2677
2834
  ));
2678
2835
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
2679
- var SelectItem = React26.forwardRef(({ value, className, children, ...props }, ref) => {
2836
+ var SelectItem = React28.forwardRef(({ value, className, children, ...props }, ref) => {
2680
2837
  if (value === "") {
2681
2838
  throw new Error(
2682
2839
  '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"`.'
2683
2840
  );
2684
2841
  }
2685
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
2842
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
2686
2843
  SelectPrimitive.Item,
2687
2844
  {
2688
2845
  ref,
@@ -2693,14 +2850,14 @@ var SelectItem = React26.forwardRef(({ value, className, children, ...props }, r
2693
2850
  ),
2694
2851
  ...props,
2695
2852
  children: [
2696
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react10.Check, { className: "h-4 w-4" }) }) }),
2697
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectPrimitive.ItemText, { className: "whitespace-normal break-words", children })
2853
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react11.Check, { className: "h-4 w-4" }) }) }),
2854
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectPrimitive.ItemText, { className: "whitespace-normal break-words", children })
2698
2855
  ]
2699
2856
  }
2700
2857
  );
2701
2858
  });
2702
2859
  SelectItem.displayName = SelectPrimitive.Item.displayName;
2703
- var SelectSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2860
+ var SelectSeparator = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2704
2861
  SelectPrimitive.Separator,
2705
2862
  {
2706
2863
  ref,
@@ -2711,10 +2868,10 @@ var SelectSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @_
2711
2868
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
2712
2869
 
2713
2870
  // source/components/primitive/Switch/switch.tsx
2714
- var React27 = __toESM(require("react"), 1);
2871
+ var React29 = __toESM(require("react"), 1);
2715
2872
  var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
2716
2873
  var import_class_variance_authority9 = require("class-variance-authority");
2717
- var import_jsx_runtime31 = require("react/jsx-runtime");
2874
+ var import_jsx_runtime33 = require("react/jsx-runtime");
2718
2875
  var switchRootVariants = (0, import_class_variance_authority9.cva)(
2719
2876
  [
2720
2877
  "peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors",
@@ -2748,14 +2905,14 @@ var switchThumbVariants = (0, import_class_variance_authority9.cva)(
2748
2905
  }
2749
2906
  }
2750
2907
  );
2751
- var Switch = React27.forwardRef(
2908
+ var Switch = React29.forwardRef(
2752
2909
  ({ className, label, description, error: error2, size, id: idProp, ...props }, ref) => {
2753
- const generatedId = React27.useId();
2910
+ const generatedId = React29.useId();
2754
2911
  const id = idProp ?? generatedId;
2755
2912
  const descriptionId = description ? `${id}-description` : void 0;
2756
2913
  const errorId = error2 ? `${id}-error` : void 0;
2757
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex items-start gap-3", children: [
2758
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2914
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex items-start gap-3", children: [
2915
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2759
2916
  SwitchPrimitives.Root,
2760
2917
  {
2761
2918
  ref,
@@ -2768,7 +2925,7 @@ var Switch = React27.forwardRef(
2768
2925
  className
2769
2926
  ),
2770
2927
  ...props,
2771
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2928
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2772
2929
  SwitchPrimitives.Thumb,
2773
2930
  {
2774
2931
  className: cn(switchThumbVariants({ size }))
@@ -2776,8 +2933,8 @@ var Switch = React27.forwardRef(
2776
2933
  )
2777
2934
  }
2778
2935
  ),
2779
- (label || description || error2) && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-col leading-tight", children: [
2780
- label && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2936
+ (label || description || error2) && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-col leading-tight", children: [
2937
+ label && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2781
2938
  "label",
2782
2939
  {
2783
2940
  htmlFor: id,
@@ -2785,7 +2942,7 @@ var Switch = React27.forwardRef(
2785
2942
  children: label
2786
2943
  }
2787
2944
  ),
2788
- description && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2945
+ description && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2789
2946
  "p",
2790
2947
  {
2791
2948
  id: descriptionId,
@@ -2793,7 +2950,7 @@ var Switch = React27.forwardRef(
2793
2950
  children: description
2794
2951
  }
2795
2952
  ),
2796
- error2 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2953
+ error2 && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2797
2954
  "p",
2798
2955
  {
2799
2956
  id: errorId,
@@ -2808,9 +2965,9 @@ var Switch = React27.forwardRef(
2808
2965
  Switch.displayName = "Switch";
2809
2966
 
2810
2967
  // source/components/primitive/Text/text.tsx
2811
- var React28 = __toESM(require("react"), 1);
2968
+ var React30 = __toESM(require("react"), 1);
2812
2969
  var import_class_variance_authority10 = require("class-variance-authority");
2813
- var import_jsx_runtime32 = require("react/jsx-runtime");
2970
+ var import_jsx_runtime34 = require("react/jsx-runtime");
2814
2971
  var textVariants = (0, import_class_variance_authority10.cva)("text-foreground", {
2815
2972
  variants: {
2816
2973
  element: {
@@ -2859,7 +3016,7 @@ var textVariants = (0, import_class_variance_authority10.cva)("text-foreground",
2859
3016
  tone: "default"
2860
3017
  }
2861
3018
  });
2862
- var Text = React28.forwardRef(
3019
+ var Text = React30.forwardRef(
2863
3020
  ({
2864
3021
  element = "p",
2865
3022
  size,
@@ -2872,7 +3029,7 @@ var Text = React28.forwardRef(
2872
3029
  }, ref) => {
2873
3030
  const Comp = element;
2874
3031
  const variantElement = element === "div" ? "p" : element;
2875
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3032
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2876
3033
  Comp,
2877
3034
  {
2878
3035
  ref,
@@ -2895,8 +3052,8 @@ var Text = React28.forwardRef(
2895
3052
  Text.displayName = "Text";
2896
3053
 
2897
3054
  // source/components/primitive/TextArea/textarea.tsx
2898
- var React29 = __toESM(require("react"), 1);
2899
- var import_jsx_runtime33 = require("react/jsx-runtime");
3055
+ var React31 = __toESM(require("react"), 1);
3056
+ var import_jsx_runtime35 = require("react/jsx-runtime");
2900
3057
  var resizeClasses = {
2901
3058
  none: "resize-none",
2902
3059
  vertical: "resize-y",
@@ -2904,9 +3061,9 @@ var resizeClasses = {
2904
3061
  both: "resize"
2905
3062
  };
2906
3063
  var layout = "block min-h-[120px] w-full min-w-0 px-4 py-2 text-sm md:text-base";
2907
- var Textarea = React29.forwardRef(
3064
+ var Textarea = React31.forwardRef(
2908
3065
  ({ className, error: error2, resize = "vertical", ...props }, ref) => {
2909
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3066
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2910
3067
  "textarea",
2911
3068
  {
2912
3069
  ref,
@@ -2928,7 +3085,7 @@ var Textarea = React29.forwardRef(
2928
3085
  Textarea.displayName = "Textarea";
2929
3086
 
2930
3087
  // source/components/primitive/FormField/form-field.tsx
2931
- var import_jsx_runtime34 = require("react/jsx-runtime");
3088
+ var import_jsx_runtime36 = require("react/jsx-runtime");
2932
3089
  function stripThousands(s) {
2933
3090
  return s.replace(/,/g, "");
2934
3091
  }
@@ -3050,6 +3207,7 @@ function formFieldHasLabel(label) {
3050
3207
  function FormField({
3051
3208
  name,
3052
3209
  label,
3210
+ labelTooltip,
3053
3211
  register,
3054
3212
  control,
3055
3213
  rules,
@@ -3072,7 +3230,7 @@ function FormField({
3072
3230
  className,
3073
3231
  renderInput
3074
3232
  }) {
3075
- const generatedId = React30.useId();
3233
+ const generatedId = React32.useId();
3076
3234
  const inputId = `field-${generatedId}`;
3077
3235
  const descriptionId = description ? `${inputId}-description` : void 0;
3078
3236
  const externalError = error2 ? String(error2) : void 0;
@@ -3115,7 +3273,7 @@ function FormField({
3115
3273
  );
3116
3274
  }
3117
3275
  if (control) {
3118
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3276
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3119
3277
  import_react_hook_form.Controller,
3120
3278
  {
3121
3279
  name,
@@ -3142,7 +3300,7 @@ function FormField({
3142
3300
  onChange: field.onChange,
3143
3301
  onBlur: field.onBlur,
3144
3302
  ref: field.ref
3145
- }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3303
+ }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3146
3304
  FormFieldVariantControl,
3147
3305
  {
3148
3306
  variant,
@@ -3167,18 +3325,19 @@ function FormField({
3167
3325
  maskInput: renderInput ? void 0 : maskInput
3168
3326
  }
3169
3327
  );
3170
- const labelBlock = isCheckboxInline || !hasFieldLabel2 ? null : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3328
+ const labelBlock = isCheckboxInline || !hasFieldLabel2 ? null : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3171
3329
  Label2,
3172
3330
  {
3173
3331
  id: variant === "radio" || variant === "richtext" ? legendId : void 0,
3174
3332
  htmlFor: variant === "radio" || variant === "richtext" ? void 0 : inputId,
3175
3333
  size: "sm",
3176
3334
  required,
3335
+ tooltip: labelTooltip,
3177
3336
  children: label
3178
3337
  }
3179
3338
  );
3180
- const checkboxInline = isCheckboxInline ? hasFieldLabel2 ? /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex w-full min-w-0 items-start gap-2", children: [
3181
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3339
+ const checkboxInline = isCheckboxInline ? hasFieldLabel2 ? /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex w-full min-w-0 items-start gap-2", children: [
3340
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3182
3341
  Checkbox,
3183
3342
  {
3184
3343
  ...checkboxProps,
@@ -3193,17 +3352,18 @@ function FormField({
3193
3352
  "aria-invalid": hasError || void 0
3194
3353
  }
3195
3354
  ),
3196
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3355
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3197
3356
  Label2,
3198
3357
  {
3199
3358
  htmlFor: inputId,
3200
3359
  required,
3201
3360
  size: "sm",
3361
+ tooltip: labelTooltip,
3202
3362
  className: "font-normal leading-snug",
3203
3363
  children: label
3204
3364
  }
3205
3365
  )
3206
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3366
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3207
3367
  Checkbox,
3208
3368
  {
3209
3369
  ...checkboxProps,
@@ -3218,7 +3378,7 @@ function FormField({
3218
3378
  "aria-invalid": hasError || void 0
3219
3379
  }
3220
3380
  ) : null;
3221
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
3381
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
3222
3382
  "div",
3223
3383
  {
3224
3384
  className: cn(
@@ -3226,12 +3386,12 @@ function FormField({
3226
3386
  className
3227
3387
  ),
3228
3388
  children: [
3229
- isCheckboxInline ? checkboxInline : /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex w-full min-w-0 flex-col gap-1.5", children: [
3389
+ isCheckboxInline ? checkboxInline : /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex w-full min-w-0 flex-col gap-1.5", children: [
3230
3390
  labelBlock,
3231
3391
  controlNode
3232
3392
  ] }),
3233
- description && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Text, { id: descriptionId, size: "sm", tone: "muted", children: description }),
3234
- message && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Text, { id: errorId, size: "sm", tone: "destructive", children: message })
3393
+ description && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Text, { id: descriptionId, size: "sm", tone: "muted", children: description }),
3394
+ message && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Text, { id: errorId, size: "sm", tone: "destructive", children: message })
3235
3395
  ]
3236
3396
  }
3237
3397
  );
@@ -3256,7 +3416,7 @@ function FormField({
3256
3416
  "aria-describedby": describedBy,
3257
3417
  error: Boolean(externalError),
3258
3418
  ...registered
3259
- }) : variant === "textarea" ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3419
+ }) : variant === "textarea" ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3260
3420
  Textarea,
3261
3421
  {
3262
3422
  id: inputId,
@@ -3265,7 +3425,7 @@ function FormField({
3265
3425
  ...textareaProps,
3266
3426
  ...registered
3267
3427
  }
3268
- ) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3428
+ ) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3269
3429
  Input,
3270
3430
  {
3271
3431
  id: inputId,
@@ -3275,13 +3435,22 @@ function FormField({
3275
3435
  ...registered
3276
3436
  }
3277
3437
  );
3278
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: cn("mt-4 flex w-full min-w-0 flex-col gap-2", className), children: [
3279
- hasFieldLabel ? /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex w-full min-w-0 flex-col gap-1.5", children: [
3280
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Label2, { htmlFor: inputId, required, size: "sm", children: label }),
3438
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: cn("mt-4 flex w-full min-w-0 flex-col gap-2", className), children: [
3439
+ hasFieldLabel ? /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex w-full min-w-0 flex-col gap-1.5", children: [
3440
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3441
+ Label2,
3442
+ {
3443
+ htmlFor: inputId,
3444
+ required,
3445
+ size: "sm",
3446
+ tooltip: labelTooltip,
3447
+ children: label
3448
+ }
3449
+ ),
3281
3450
  registeredControl
3282
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-full min-w-0", children: registeredControl }),
3283
- description && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Text, { id: descriptionId, size: "sm", tone: "muted", children: description }),
3284
- externalError && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Text, { id: `${inputId}-error`, size: "sm", tone: "destructive", children: externalError })
3451
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-full min-w-0", children: registeredControl }),
3452
+ description && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Text, { id: descriptionId, size: "sm", tone: "muted", children: description }),
3453
+ externalError && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Text, { id: `${inputId}-error`, size: "sm", tone: "destructive", children: externalError })
3285
3454
  ] });
3286
3455
  }
3287
3456
  function formValueToAsyncSelectOption(v) {
@@ -3319,7 +3488,7 @@ function FormFieldVariantControl({
3319
3488
  }) {
3320
3489
  switch (variant) {
3321
3490
  case "textarea":
3322
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3491
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3323
3492
  Textarea,
3324
3493
  {
3325
3494
  ...textareaProps,
@@ -3337,7 +3506,7 @@ function FormFieldVariantControl({
3337
3506
  case "checkbox":
3338
3507
  return null;
3339
3508
  case "switch":
3340
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3509
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3341
3510
  Switch,
3342
3511
  {
3343
3512
  ...switchProps,
@@ -3375,7 +3544,7 @@ function FormFieldVariantControl({
3375
3544
  }
3376
3545
  const value = field.value == null || field.value === "" ? void 0 : String(field.value);
3377
3546
  if (searchable) {
3378
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3547
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3379
3548
  SearchableSelect,
3380
3549
  {
3381
3550
  items,
@@ -3400,7 +3569,7 @@ function FormFieldVariantControl({
3400
3569
  }
3401
3570
  ) });
3402
3571
  }
3403
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
3572
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
3404
3573
  Select,
3405
3574
  {
3406
3575
  ...selectRootRest,
@@ -3409,7 +3578,7 @@ function FormFieldVariantControl({
3409
3578
  disabled: field.disabled,
3410
3579
  name: field.name,
3411
3580
  children: [
3412
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3581
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3413
3582
  SelectTrigger,
3414
3583
  {
3415
3584
  id: inputId,
@@ -3421,10 +3590,10 @@ function FormFieldVariantControl({
3421
3590
  triggerClassName
3422
3591
  ),
3423
3592
  onBlur: field.onBlur,
3424
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SelectValue, { placeholder })
3593
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SelectValue, { placeholder })
3425
3594
  }
3426
3595
  ),
3427
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SelectContent, { className: contentClassName, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3596
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SelectContent, { className: contentClassName, children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3428
3597
  SelectItem,
3429
3598
  {
3430
3599
  value: item.value,
@@ -3447,7 +3616,7 @@ function FormFieldVariantControl({
3447
3616
  if (!asyncSelectProps?.labelKey) {
3448
3617
  throw new Error('FormField variant "async-select" requires asyncSelectProps.labelKey.');
3449
3618
  }
3450
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3619
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3451
3620
  AsyncSelect,
3452
3621
  {
3453
3622
  ...asyncSelectProps,
@@ -3471,7 +3640,7 @@ function FormFieldVariantControl({
3471
3640
  className: radioClassName,
3472
3641
  ...radioGroupRest
3473
3642
  } = radioProps;
3474
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3643
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3475
3644
  RadioGroup2,
3476
3645
  {
3477
3646
  ...radioGroupRest,
@@ -3486,8 +3655,8 @@ function FormFieldVariantControl({
3486
3655
  "aria-describedby": describedBy,
3487
3656
  "aria-invalid": hasError || void 0,
3488
3657
  ref: field.ref,
3489
- children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex items-center gap-2", children: [
3490
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3658
+ children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex items-center gap-2", children: [
3659
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3491
3660
  RadioGroupItem,
3492
3661
  {
3493
3662
  value: opt.value,
@@ -3495,7 +3664,7 @@ function FormFieldVariantControl({
3495
3664
  disabled: opt.disabled
3496
3665
  }
3497
3666
  ),
3498
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3667
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3499
3668
  Label2,
3500
3669
  {
3501
3670
  htmlFor: opt.id ?? `${inputId}-${opt.value}`,
@@ -3514,7 +3683,7 @@ function FormFieldVariantControl({
3514
3683
  }
3515
3684
  const { maxLength, groups, containerClassName, ...otpRest } = otpProps;
3516
3685
  const slotGroups = groups?.length ? groups : defaultOtpGroups(maxLength);
3517
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3686
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3518
3687
  InputOTP,
3519
3688
  {
3520
3689
  ...otpRest,
@@ -3533,15 +3702,15 @@ function FormFieldVariantControl({
3533
3702
  hasError && inputOtpContainerInvalid,
3534
3703
  containerClassName
3535
3704
  ),
3536
- children: slotGroups.map((indices, gi) => /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(React30.Fragment, { children: [
3537
- gi > 0 ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(InputOTPSeparator, {}) : null,
3538
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(InputOTPGroup, { children: indices.map((index) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(InputOTPSlot, { index }, index)) })
3705
+ children: slotGroups.map((indices, gi) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(React32.Fragment, { children: [
3706
+ gi > 0 ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(InputOTPSeparator, {}) : null,
3707
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(InputOTPGroup, { children: indices.map((index) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(InputOTPSlot, { index }, index)) })
3539
3708
  ] }, gi))
3540
3709
  }
3541
3710
  ) });
3542
3711
  }
3543
3712
  case "richtext":
3544
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3713
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3545
3714
  "div",
3546
3715
  {
3547
3716
  className: "w-full min-w-0",
@@ -3551,7 +3720,7 @@ function FormFieldVariantControl({
3551
3720
  "aria-describedby": describedBy,
3552
3721
  "aria-invalid": hasError || void 0,
3553
3722
  onBlur: field.onBlur,
3554
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3723
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3555
3724
  RichTextEditor,
3556
3725
  {
3557
3726
  value: field.value ?? "",
@@ -3563,7 +3732,7 @@ function FormFieldVariantControl({
3563
3732
  }
3564
3733
  );
3565
3734
  case "dropzone":
3566
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3735
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3567
3736
  FileDropzone,
3568
3737
  {
3569
3738
  ...dropzoneProps,
@@ -3597,7 +3766,7 @@ function FormFieldVariantControl({
3597
3766
  const pattern = maskInput.pattern;
3598
3767
  const rawStored = field.value == null || field.value === "" ? "" : String(field.value);
3599
3768
  const displayValue = formFieldMaskFormatDisplay(pattern, rawStored);
3600
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3769
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3601
3770
  Input,
3602
3771
  {
3603
3772
  ...restInputProps,
@@ -3634,7 +3803,7 @@ function FormFieldVariantControl({
3634
3803
  useGrouping
3635
3804
  );
3636
3805
  const defaultInputMode = allowDecimal ? "decimal" : "numeric";
3637
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3806
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3638
3807
  Input,
3639
3808
  {
3640
3809
  ...restInputProps,
@@ -3658,7 +3827,7 @@ function FormFieldVariantControl({
3658
3827
  }
3659
3828
  ) });
3660
3829
  }
3661
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3830
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "w-full min-w-0", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3662
3831
  Input,
3663
3832
  {
3664
3833
  ...restInputProps,
@@ -3683,9 +3852,9 @@ function FormFieldVariantControl({
3683
3852
  }
3684
3853
 
3685
3854
  // source/components/primitive/Heading/heading.tsx
3686
- var React31 = __toESM(require("react"), 1);
3855
+ var React33 = __toESM(require("react"), 1);
3687
3856
  var import_class_variance_authority11 = require("class-variance-authority");
3688
- var import_jsx_runtime35 = require("react/jsx-runtime");
3857
+ var import_jsx_runtime37 = require("react/jsx-runtime");
3689
3858
  var headingVariants = (0, import_class_variance_authority11.cva)(
3690
3859
  "text-foreground tracking-tight",
3691
3860
  {
@@ -3751,7 +3920,7 @@ var headingVariants = (0, import_class_variance_authority11.cva)(
3751
3920
  }
3752
3921
  }
3753
3922
  );
3754
- var Heading = React31.forwardRef(
3923
+ var Heading = React33.forwardRef(
3755
3924
  ({
3756
3925
  level = 1,
3757
3926
  size,
@@ -3764,7 +3933,7 @@ var Heading = React31.forwardRef(
3764
3933
  ...props
3765
3934
  }, ref) => {
3766
3935
  const Tag = `h${level}`;
3767
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3936
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3768
3937
  Tag,
3769
3938
  {
3770
3939
  ref,
@@ -3780,10 +3949,10 @@ var Heading = React31.forwardRef(
3780
3949
  Heading.displayName = "Heading";
3781
3950
 
3782
3951
  // source/components/primitive/InputGroup/input-group.tsx
3783
- var React32 = __toESM(require("react"), 1);
3784
- var import_jsx_runtime36 = require("react/jsx-runtime");
3785
- var InputGroup = React32.forwardRef(
3786
- ({ className, error: error2, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3952
+ var React34 = __toESM(require("react"), 1);
3953
+ var import_jsx_runtime38 = require("react/jsx-runtime");
3954
+ var InputGroup = React34.forwardRef(
3955
+ ({ className, error: error2, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3787
3956
  "div",
3788
3957
  {
3789
3958
  ref,
@@ -3801,7 +3970,7 @@ var InputGroup = React32.forwardRef(
3801
3970
  )
3802
3971
  );
3803
3972
  InputGroup.displayName = "InputGroup";
3804
- var InputGroupIcon = React32.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3973
+ var InputGroupIcon = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3805
3974
  "span",
3806
3975
  {
3807
3976
  ref,
@@ -3814,8 +3983,8 @@ var InputGroupIcon = React32.forwardRef(({ className, ...props }, ref) => /* @__
3814
3983
  }
3815
3984
  ));
3816
3985
  InputGroupIcon.displayName = "InputGroupIcon";
3817
- var InputGroupInput = React32.forwardRef(
3818
- ({ className, type, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3986
+ var InputGroupInput = React34.forwardRef(
3987
+ ({ className, type, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3819
3988
  "input",
3820
3989
  {
3821
3990
  ref,
@@ -3834,10 +4003,10 @@ InputGroupInput.displayName = "InputGroupInput";
3834
4003
  var inputGroupSelectTriggerTextAlignClass = "pl-12";
3835
4004
 
3836
4005
  // source/components/primitive/Pagination/pagination.tsx
3837
- var React33 = __toESM(require("react"), 1);
3838
- var import_lucide_react11 = require("lucide-react");
3839
- var import_jsx_runtime37 = require("react/jsx-runtime");
3840
- var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4006
+ var React35 = __toESM(require("react"), 1);
4007
+ var import_lucide_react12 = require("lucide-react");
4008
+ var import_jsx_runtime39 = require("react/jsx-runtime");
4009
+ var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3841
4010
  "nav",
3842
4011
  {
3843
4012
  role: "navigation",
@@ -3847,7 +4016,7 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_run
3847
4016
  }
3848
4017
  );
3849
4018
  Pagination.displayName = "Pagination";
3850
- var PaginationContent = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4019
+ var PaginationContent = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3851
4020
  "ul",
3852
4021
  {
3853
4022
  ref,
@@ -3856,14 +4025,14 @@ var PaginationContent = React33.forwardRef(({ className, ...props }, ref) => /*
3856
4025
  }
3857
4026
  ));
3858
4027
  PaginationContent.displayName = "PaginationContent";
3859
- var PaginationItem = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("li", { ref, className: cn("", className), ...props }));
4028
+ var PaginationItem = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("li", { ref, className: cn("", className), ...props }));
3860
4029
  PaginationItem.displayName = "PaginationItem";
3861
4030
  var PaginationLink = ({
3862
4031
  className,
3863
4032
  isActive,
3864
4033
  size = "icon",
3865
4034
  ...props
3866
- }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4035
+ }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3867
4036
  "a",
3868
4037
  {
3869
4038
  "aria-current": isActive ? "page" : void 0,
@@ -3881,7 +4050,7 @@ PaginationLink.displayName = "PaginationLink";
3881
4050
  var PaginationPrevious = ({
3882
4051
  className,
3883
4052
  ...props
3884
- }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
4053
+ }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
3885
4054
  PaginationLink,
3886
4055
  {
3887
4056
  "aria-label": "Go to previous page",
@@ -3889,8 +4058,8 @@ var PaginationPrevious = ({
3889
4058
  size: "default",
3890
4059
  ...props,
3891
4060
  children: [
3892
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react11.ChevronLeft, { className: "h-4 w-4" }),
3893
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { children: "Previous" })
4061
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react12.ChevronLeft, { className: "h-4 w-4" }),
4062
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { children: "Previous" })
3894
4063
  ]
3895
4064
  }
3896
4065
  );
@@ -3898,7 +4067,7 @@ PaginationPrevious.displayName = "PaginationPrevious";
3898
4067
  var PaginationNext = ({
3899
4068
  className,
3900
4069
  ...props
3901
- }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
4070
+ }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
3902
4071
  PaginationLink,
3903
4072
  {
3904
4073
  "aria-label": "Go to next page",
@@ -3906,8 +4075,8 @@ var PaginationNext = ({
3906
4075
  size: "default",
3907
4076
  ...props,
3908
4077
  children: [
3909
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { children: "Next" }),
3910
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react11.ChevronRight, { className: "h-4 w-4" })
4078
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { children: "Next" }),
4079
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react12.ChevronRight, { className: "h-4 w-4" })
3911
4080
  ]
3912
4081
  }
3913
4082
  );
@@ -3915,31 +4084,31 @@ PaginationNext.displayName = "PaginationNext";
3915
4084
  var PaginationEllipsis = ({
3916
4085
  className,
3917
4086
  ...props
3918
- }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
4087
+ }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
3919
4088
  "span",
3920
4089
  {
3921
4090
  "aria-hidden": true,
3922
4091
  className: cn("flex h-9 w-9 items-center justify-center", className),
3923
4092
  ...props,
3924
4093
  children: [
3925
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react11.MoreHorizontal, { className: "h-4 w-4" }),
3926
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "sr-only", children: "More pages" })
4094
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react12.MoreHorizontal, { className: "h-4 w-4" }),
4095
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "sr-only", children: "More pages" })
3927
4096
  ]
3928
4097
  }
3929
4098
  );
3930
4099
  PaginationEllipsis.displayName = "PaginationEllipsis";
3931
4100
 
3932
4101
  // source/components/primitive/Progress/progress.tsx
3933
- var React34 = __toESM(require("react"), 1);
4102
+ var React36 = __toESM(require("react"), 1);
3934
4103
  var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"), 1);
3935
- var import_jsx_runtime38 = require("react/jsx-runtime");
4104
+ var import_jsx_runtime40 = require("react/jsx-runtime");
3936
4105
  var variantStyles = {
3937
4106
  default: "bg-primary",
3938
4107
  success: "bg-green-500",
3939
4108
  warning: "bg-yellow-500",
3940
4109
  error: "bg-red-500"
3941
4110
  };
3942
- var Progress = React34.forwardRef(
4111
+ var Progress = React36.forwardRef(
3943
4112
  ({
3944
4113
  className,
3945
4114
  value = 0,
@@ -3953,15 +4122,15 @@ var Progress = React34.forwardRef(
3953
4122
  const safeMax = max > 0 ? max : 100;
3954
4123
  const safeValue = Math.min(Math.max(value, 0), safeMax);
3955
4124
  const percentage = Math.min(safeValue / safeMax * 100, 100);
3956
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex flex-col gap-1", children: [
3957
- (label || showValue) && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex items-center justify-between", children: [
3958
- label && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "text-sm font-medium", children: label }),
3959
- showValue && !indeterminate && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "text-xs text-muted-foreground", children: [
4125
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex flex-col gap-1", children: [
4126
+ (label || showValue) && /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex items-center justify-between", children: [
4127
+ label && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "text-sm font-medium", children: label }),
4128
+ showValue && !indeterminate && /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("span", { className: "text-xs text-muted-foreground", children: [
3960
4129
  Math.round(percentage),
3961
4130
  "%"
3962
4131
  ] })
3963
4132
  ] }),
3964
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4133
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3965
4134
  ProgressPrimitive.Root,
3966
4135
  {
3967
4136
  ref,
@@ -3974,7 +4143,7 @@ var Progress = React34.forwardRef(
3974
4143
  "aria-valuemax": safeMax,
3975
4144
  "aria-valuenow": indeterminate ? void 0 : safeValue,
3976
4145
  ...props,
3977
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4146
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3978
4147
  ProgressPrimitive.Indicator,
3979
4148
  {
3980
4149
  className: cn(
@@ -3994,94 +4163,25 @@ var Progress = React34.forwardRef(
3994
4163
  );
3995
4164
  Progress.displayName = "Progress";
3996
4165
 
3997
- // source/components/primitive/RichHtml/rich-html.tsx
3998
- var React35 = __toESM(require("react"), 1);
3999
- var import_dompurify = __toESM(require("dompurify"), 1);
4000
- var import_jsx_runtime39 = require("react/jsx-runtime");
4001
- var defaultSanitizeConfig = {
4002
- USE_PROFILES: { html: true }
4003
- };
4004
- var richHtmlChrome = cn(
4005
- "max-w-none text-base leading-relaxed text-foreground",
4006
- // Block flow
4007
- "[&_p]:mb-3 [&_p:last-child]:mb-0 [&_blockquote]:my-4 [&_blockquote]:border-l-2 [&_blockquote]:border-muted [&_blockquote]:pl-4 [&_blockquote]:italic",
4008
- // Lists
4009
- "[&_ul]:my-3 [&_ul]:list-disc [&_ul]:pl-6 [&_ol]:my-3 [&_ol]:list-decimal [&_ol]:pl-6 [&_li]:my-1 [&_li]:pl-1",
4010
- // Headings (common for TipTap / CMS output)
4011
- "[&_h1]:mb-3 [&_h1]:mt-8 [&_h1]:text-3xl [&_h1]:font-semibold [&_h1]:first:mt-0",
4012
- "[&_h2]:mb-2 [&_h2]:mt-6 [&_h2]:text-2xl [&_h2]:font-semibold [&_h2]:first:mt-0",
4013
- "[&_h3]:mb-2 [&_h3]:mt-5 [&_h3]:text-xl [&_h3]:font-semibold [&_h3]:first:mt-0",
4014
- "[&_h4]:mb-2 [&_h4]:mt-4 [&_h4]:text-lg [&_h4]:font-semibold [&_h4]:first:mt-0",
4015
- // Links & media
4016
- "[&_a]:text-primary [&_a]:underline [&_a]:underline-offset-2 [&_a]:outline-none [&_a]:focus-visible:ring-2 [&_a]:focus-visible:ring-ring [&_a]:focus-visible:ring-offset-2",
4017
- "[&_img]:my-4 [&_img]:max-h-[min(480px,70vh)] [&_img]:max-w-full [&_img]:rounded-md [&_img]:object-contain",
4018
- "[&_hr]:my-6 [&_hr]:border-border",
4019
- // Code
4020
- "[&_code]:rounded [&_code]:bg-muted [&_code]:px-1 [&_code]:py-0.5 [&_code]:text-[0.9em]",
4021
- "[&_pre]:my-4 [&_pre]:overflow-x-auto [&_pre]:rounded-md [&_pre]:bg-muted [&_pre]:p-3 [&_pre]:font-mono [&_pre]:text-sm"
4022
- );
4023
- var RichHtml = React35.forwardRef(
4024
- ({
4025
- html,
4026
- sanitize = true,
4027
- sanitizeConfig,
4028
- className,
4029
- suppressHydrationWarning,
4030
- ...props
4031
- }, ref) => {
4032
- const markup = React35.useMemo(() => {
4033
- if (html === void 0 || html === null || html === "") {
4034
- return "";
4035
- }
4036
- if (!sanitize) {
4037
- return html;
4038
- }
4039
- if (typeof window === "undefined") {
4040
- return "";
4041
- }
4042
- const config = {
4043
- ...defaultSanitizeConfig,
4044
- ...sanitizeConfig
4045
- };
4046
- return import_dompurify.default.sanitize(html, config);
4047
- }, [html, sanitize, sanitizeConfig]);
4048
- const resolvedSuppressHydration = suppressHydrationWarning ?? sanitize;
4049
- if (html === void 0 || html === null || html === "") {
4050
- return null;
4051
- }
4052
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4053
- "div",
4054
- {
4055
- ref,
4056
- suppressHydrationWarning: resolvedSuppressHydration,
4057
- className: cn(richHtmlChrome, className),
4058
- ...props,
4059
- dangerouslySetInnerHTML: { __html: markup }
4060
- }
4061
- );
4062
- }
4063
- );
4064
- RichHtml.displayName = "RichHtml";
4065
-
4066
4166
  // source/components/primitive/ScrollArea/scroll-area.tsx
4067
- var React36 = __toESM(require("react"), 1);
4167
+ var React37 = __toESM(require("react"), 1);
4068
4168
  var ScrollAreaPrimitive = __toESM(require("@radix-ui/react-scroll-area"), 1);
4069
- var import_jsx_runtime40 = require("react/jsx-runtime");
4070
- var ScrollArea = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
4169
+ var import_jsx_runtime41 = require("react/jsx-runtime");
4170
+ var ScrollArea = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
4071
4171
  ScrollAreaPrimitive.Root,
4072
4172
  {
4073
4173
  ref,
4074
4174
  className: cn("relative overflow-hidden", className),
4075
4175
  ...props,
4076
4176
  children: [
4077
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
4078
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ScrollBar, {}),
4079
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ScrollAreaPrimitive.Corner, {})
4177
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
4178
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ScrollBar, {}),
4179
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ScrollAreaPrimitive.Corner, {})
4080
4180
  ]
4081
4181
  }
4082
4182
  ));
4083
4183
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
4084
- var ScrollBar = React36.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4184
+ var ScrollBar = React37.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4085
4185
  ScrollAreaPrimitive.ScrollAreaScrollbar,
4086
4186
  {
4087
4187
  ref,
@@ -4093,16 +4193,16 @@ var ScrollBar = React36.forwardRef(({ className, orientation = "vertical", ...pr
4093
4193
  className
4094
4194
  ),
4095
4195
  ...props,
4096
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
4196
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
4097
4197
  }
4098
4198
  ));
4099
4199
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
4100
4200
 
4101
4201
  // source/components/primitive/Separator/separator.tsx
4102
- var React37 = __toESM(require("react"), 1);
4202
+ var React38 = __toESM(require("react"), 1);
4103
4203
  var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
4104
4204
  var import_class_variance_authority12 = require("class-variance-authority");
4105
- var import_jsx_runtime41 = require("react/jsx-runtime");
4205
+ var import_jsx_runtime42 = require("react/jsx-runtime");
4106
4206
  var separatorVariants = (0, import_class_variance_authority12.cva)("shrink-0", {
4107
4207
  variants: {
4108
4208
  orientation: {
@@ -4120,7 +4220,7 @@ var separatorVariants = (0, import_class_variance_authority12.cva)("shrink-0", {
4120
4220
  line: "solid"
4121
4221
  }
4122
4222
  });
4123
- var Separator3 = React37.forwardRef(
4223
+ var Separator3 = React38.forwardRef(
4124
4224
  ({
4125
4225
  className,
4126
4226
  orientation = "horizontal",
@@ -4132,13 +4232,13 @@ var Separator3 = React37.forwardRef(
4132
4232
  }, ref) => {
4133
4233
  const line = lineProp ?? variant ?? "solid";
4134
4234
  if (label && orientation === "horizontal") {
4135
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
4235
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4136
4236
  "div",
4137
4237
  {
4138
4238
  role: "separator",
4139
4239
  className: "flex items-center gap-3",
4140
4240
  children: [
4141
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4241
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4142
4242
  "div",
4143
4243
  {
4144
4244
  className: cn(
@@ -4147,8 +4247,8 @@ var Separator3 = React37.forwardRef(
4147
4247
  )
4148
4248
  }
4149
4249
  ),
4150
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "text-xs text-muted-foreground whitespace-nowrap", children: label }),
4151
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4250
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-xs text-muted-foreground whitespace-nowrap", children: label }),
4251
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4152
4252
  "div",
4153
4253
  {
4154
4254
  className: cn(
@@ -4161,7 +4261,7 @@ var Separator3 = React37.forwardRef(
4161
4261
  }
4162
4262
  );
4163
4263
  }
4164
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4264
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4165
4265
  SeparatorPrimitive.Root,
4166
4266
  {
4167
4267
  ref,
@@ -4179,16 +4279,16 @@ var Separator3 = React37.forwardRef(
4179
4279
  Separator3.displayName = "Separator";
4180
4280
 
4181
4281
  // source/components/primitive/Sheet/sheet.tsx
4182
- var React38 = __toESM(require("react"), 1);
4282
+ var React39 = __toESM(require("react"), 1);
4183
4283
  var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
4184
4284
  var import_class_variance_authority13 = require("class-variance-authority");
4185
- var import_lucide_react12 = require("lucide-react");
4186
- var import_jsx_runtime42 = require("react/jsx-runtime");
4285
+ var import_lucide_react13 = require("lucide-react");
4286
+ var import_jsx_runtime43 = require("react/jsx-runtime");
4187
4287
  var Sheet = SheetPrimitive.Root;
4188
4288
  var SheetTrigger = SheetPrimitive.Trigger;
4189
4289
  var SheetClose = SheetPrimitive.Close;
4190
4290
  var SheetPortal = SheetPrimitive.Portal;
4191
- var SheetOverlay = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4291
+ var SheetOverlay = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4192
4292
  SheetPrimitive.Overlay,
4193
4293
  {
4194
4294
  className: cn(
@@ -4216,9 +4316,9 @@ var sheetVariants = (0, import_class_variance_authority13.cva)(
4216
4316
  }
4217
4317
  }
4218
4318
  );
4219
- var SheetContent = React38.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(SheetPortal, { children: [
4220
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SheetOverlay, {}),
4221
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4319
+ var SheetContent = React39.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(SheetPortal, { children: [
4320
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SheetOverlay, {}),
4321
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4222
4322
  SheetPrimitive.Content,
4223
4323
  {
4224
4324
  ref,
@@ -4226,9 +4326,9 @@ var SheetContent = React38.forwardRef(({ side = "right", className, children, ..
4226
4326
  ...props,
4227
4327
  children: [
4228
4328
  children,
4229
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(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: [
4230
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react12.X, { className: "h-4 w-4" }),
4231
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "sr-only", children: "Close" })
4329
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(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: [
4330
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react13.X, { className: "h-4 w-4" }),
4331
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { className: "sr-only", children: "Close" })
4232
4332
  ] })
4233
4333
  ]
4234
4334
  }
@@ -4238,7 +4338,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
4238
4338
  var SheetHeader = ({
4239
4339
  className,
4240
4340
  ...props
4241
- }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4341
+ }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4242
4342
  "div",
4243
4343
  {
4244
4344
  className: cn(
@@ -4252,7 +4352,7 @@ SheetHeader.displayName = "SheetHeader";
4252
4352
  var SheetFooter = ({
4253
4353
  className,
4254
4354
  ...props
4255
- }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4355
+ }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4256
4356
  "div",
4257
4357
  {
4258
4358
  className: cn(
@@ -4263,7 +4363,7 @@ var SheetFooter = ({
4263
4363
  }
4264
4364
  );
4265
4365
  SheetFooter.displayName = "SheetFooter";
4266
- var SheetTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4366
+ var SheetTitle = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4267
4367
  SheetPrimitive.Title,
4268
4368
  {
4269
4369
  ref,
@@ -4272,7 +4372,7 @@ var SheetTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE
4272
4372
  }
4273
4373
  ));
4274
4374
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
4275
- var SheetDescription = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4375
+ var SheetDescription = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4276
4376
  SheetPrimitive.Description,
4277
4377
  {
4278
4378
  ref,
@@ -4286,16 +4386,16 @@ SheetDescription.displayName = SheetPrimitive.Description.displayName;
4286
4386
  var React42 = __toESM(require("react"), 1);
4287
4387
  var import_react_slot3 = require("@radix-ui/react-slot");
4288
4388
  var import_class_variance_authority15 = require("class-variance-authority");
4289
- var import_lucide_react13 = require("lucide-react");
4389
+ var import_lucide_react14 = require("lucide-react");
4290
4390
 
4291
4391
  // source/hooks/use-mobile.ts
4292
- var React39 = __toESM(require("react"), 1);
4392
+ var React40 = __toESM(require("react"), 1);
4293
4393
  var MOBILE_MAX = 768;
4294
4394
  function useIsMobile(breakpoint = MOBILE_MAX) {
4295
- const [isMobile, setIsMobile] = React39.useState(
4395
+ const [isMobile, setIsMobile] = React40.useState(
4296
4396
  () => typeof window !== "undefined" ? window.innerWidth < breakpoint : false
4297
4397
  );
4298
- React39.useEffect(() => {
4398
+ React40.useEffect(() => {
4299
4399
  const mq = window.matchMedia(`(max-width: ${breakpoint - 1}px)`);
4300
4400
  const onChange = () => setIsMobile(mq.matches);
4301
4401
  onChange();
@@ -4306,9 +4406,9 @@ function useIsMobile(breakpoint = MOBILE_MAX) {
4306
4406
  }
4307
4407
 
4308
4408
  // source/components/primitive/Skeleton/skeleton.tsx
4309
- var React40 = __toESM(require("react"), 1);
4409
+ var React41 = __toESM(require("react"), 1);
4310
4410
  var import_class_variance_authority14 = require("class-variance-authority");
4311
- var import_jsx_runtime43 = require("react/jsx-runtime");
4411
+ var import_jsx_runtime44 = require("react/jsx-runtime");
4312
4412
  var skeletonVariants = (0, import_class_variance_authority14.cva)(
4313
4413
  "animate-pulse bg-muted",
4314
4414
  {
@@ -4325,9 +4425,9 @@ var skeletonVariants = (0, import_class_variance_authority14.cva)(
4325
4425
  }
4326
4426
  }
4327
4427
  );
4328
- var Skeleton = React40.forwardRef(
4428
+ var Skeleton = React41.forwardRef(
4329
4429
  ({ className, rounded, ...props }, ref) => {
4330
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4430
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4331
4431
  "div",
4332
4432
  {
4333
4433
  ref,
@@ -4341,43 +4441,6 @@ var Skeleton = React40.forwardRef(
4341
4441
  );
4342
4442
  Skeleton.displayName = "Skeleton";
4343
4443
 
4344
- // source/components/primitive/ToolTip/tooltip.tsx
4345
- var React41 = __toESM(require("react"), 1);
4346
- var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
4347
- var import_jsx_runtime44 = require("react/jsx-runtime");
4348
- var TooltipProvider = TooltipPrimitive.Provider;
4349
- var Tooltip = ({ ...props }) => {
4350
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(TooltipPrimitive.Root, { ...props });
4351
- };
4352
- Tooltip.displayName = "Tooltip";
4353
- var TooltipTrigger = TooltipPrimitive.Trigger;
4354
- TooltipTrigger.displayName = "TooltipTrigger";
4355
- var TooltipContent = React41.forwardRef(({ className, sideOffset = 4, arrow = false, children, ...props }, ref) => {
4356
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(TooltipPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4357
- TooltipPrimitive.Content,
4358
- {
4359
- ref,
4360
- sideOffset,
4361
- className: cn(
4362
- "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md",
4363
- "animate-in fade-in-0 zoom-in-95",
4364
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
4365
- "data-[side=bottom]:slide-in-from-top-2",
4366
- "data-[side=left]:slide-in-from-right-2",
4367
- "data-[side=right]:slide-in-from-left-2",
4368
- "data-[side=top]:slide-in-from-bottom-2",
4369
- className
4370
- ),
4371
- ...props,
4372
- children: [
4373
- children,
4374
- arrow && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(TooltipPrimitive.Arrow, { className: "fill-popover" })
4375
- ]
4376
- }
4377
- ) });
4378
- });
4379
- TooltipContent.displayName = "TooltipContent";
4380
-
4381
4444
  // source/components/primitive/Sidebar/sidebar.tsx
4382
4445
  var import_jsx_runtime45 = require("react/jsx-runtime");
4383
4446
  var SIDEBAR_COOKIE_NAME = "sidebar:state";
@@ -4598,7 +4661,7 @@ var SidebarTrigger = React42.forwardRef(({ className, onClick, ...props }, ref)
4598
4661
  },
4599
4662
  ...props,
4600
4663
  children: [
4601
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react13.PanelLeft, {}),
4664
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_lucide_react14.PanelLeft, {}),
4602
4665
  /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "sr-only", children: "Toggle Sidebar" })
4603
4666
  ]
4604
4667
  }