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