@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 +373 -310
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +366 -303
- package/dist/styles.css +1 -1
- package/package.json +1 -1
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
|
|
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
|
|
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
|
|
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(
|
|
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
|
-
|
|
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
|
|
2473
|
+
var React26 = __toESM(require("react"), 1);
|
|
2317
2474
|
var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
|
|
2318
|
-
var
|
|
2319
|
-
var
|
|
2320
|
-
var RadioGroup2 =
|
|
2321
|
-
return /* @__PURE__ */ (0,
|
|
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 =
|
|
2332
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
2515
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2359
2516
|
function RichTextToolbar({ editor }) {
|
|
2360
2517
|
if (!editor) return null;
|
|
2361
|
-
return /* @__PURE__ */ (0,
|
|
2362
|
-
/* @__PURE__ */ (0,
|
|
2363
|
-
/* @__PURE__ */ (0,
|
|
2364
|
-
/* @__PURE__ */ (0,
|
|
2365
|
-
/* @__PURE__ */ (0,
|
|
2366
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
2406
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
2420
|
-
var
|
|
2421
|
-
var
|
|
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] =
|
|
2452
|
-
const [search, setSearch] =
|
|
2453
|
-
const searchInputRef =
|
|
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
|
-
|
|
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,
|
|
2477
|
-
name && /* @__PURE__ */ (0,
|
|
2478
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
2509
|
-
clearable && value && !disabled && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
2538
|
-
/* @__PURE__ */ (0,
|
|
2539
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
2569
|
-
/* @__PURE__ */ (0,
|
|
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 =
|
|
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
|
|
2741
|
+
var React28 = __toESM(require("react"), 1);
|
|
2585
2742
|
var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
|
|
2586
|
-
var
|
|
2587
|
-
var
|
|
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 =
|
|
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,
|
|
2606
|
-
|
|
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 =
|
|
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,
|
|
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 =
|
|
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,
|
|
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 =
|
|
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,
|
|
2655
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
2822
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectScrollDownButton, {})
|
|
2666
2823
|
]
|
|
2667
2824
|
}
|
|
2668
2825
|
) }));
|
|
2669
2826
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
2670
|
-
var SelectLabel =
|
|
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 =
|
|
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,
|
|
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,
|
|
2697
|
-
/* @__PURE__ */ (0,
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
2908
|
+
var Switch = React29.forwardRef(
|
|
2752
2909
|
({ className, label, description, error: error2, size, id: idProp, ...props }, ref) => {
|
|
2753
|
-
const generatedId =
|
|
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,
|
|
2758
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
2780
|
-
label && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
|
2968
|
+
var React30 = __toESM(require("react"), 1);
|
|
2812
2969
|
var import_class_variance_authority10 = require("class-variance-authority");
|
|
2813
|
-
var
|
|
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 =
|
|
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,
|
|
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
|
|
2899
|
-
var
|
|
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 =
|
|
3064
|
+
var Textarea = React31.forwardRef(
|
|
2908
3065
|
({ className, error: error2, resize = "vertical", ...props }, ref) => {
|
|
2909
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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 =
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
3181
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
3234
|
-
message && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
3279
|
-
hasFieldLabel ? /* @__PURE__ */ (0,
|
|
3280
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
3283
|
-
description && /* @__PURE__ */ (0,
|
|
3284
|
-
externalError && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
3593
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SelectValue, { placeholder })
|
|
3425
3594
|
}
|
|
3426
3595
|
),
|
|
3427
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
3490
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
3537
|
-
gi > 0 ? /* @__PURE__ */ (0,
|
|
3538
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
3855
|
+
var React33 = __toESM(require("react"), 1);
|
|
3687
3856
|
var import_class_variance_authority11 = require("class-variance-authority");
|
|
3688
|
-
var
|
|
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 =
|
|
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,
|
|
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
|
|
3784
|
-
var
|
|
3785
|
-
var InputGroup =
|
|
3786
|
-
({ className, error: error2, children, ...props }, ref) => /* @__PURE__ */ (0,
|
|
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 =
|
|
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 =
|
|
3818
|
-
({ className, type, ...props }, ref) => /* @__PURE__ */ (0,
|
|
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
|
|
3838
|
-
var
|
|
3839
|
-
var
|
|
3840
|
-
var Pagination = ({ className, ...props }) => /* @__PURE__ */ (0,
|
|
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 =
|
|
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 =
|
|
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,
|
|
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,
|
|
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,
|
|
3893
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
3910
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
3926
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
4102
|
+
var React36 = __toESM(require("react"), 1);
|
|
3934
4103
|
var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"), 1);
|
|
3935
|
-
var
|
|
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 =
|
|
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,
|
|
3957
|
-
(label || showValue) && /* @__PURE__ */ (0,
|
|
3958
|
-
label && /* @__PURE__ */ (0,
|
|
3959
|
-
showValue && !indeterminate && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
|
4167
|
+
var React37 = __toESM(require("react"), 1);
|
|
4068
4168
|
var ScrollAreaPrimitive = __toESM(require("@radix-ui/react-scroll-area"), 1);
|
|
4069
|
-
var
|
|
4070
|
-
var ScrollArea =
|
|
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,
|
|
4078
|
-
/* @__PURE__ */ (0,
|
|
4079
|
-
/* @__PURE__ */ (0,
|
|
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 =
|
|
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,
|
|
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
|
|
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
|
|
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 =
|
|
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,
|
|
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,
|
|
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,
|
|
4151
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
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
|
|
4186
|
-
var
|
|
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 =
|
|
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 =
|
|
4220
|
-
/* @__PURE__ */ (0,
|
|
4221
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
4230
|
-
/* @__PURE__ */ (0,
|
|
4231
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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 =
|
|
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 =
|
|
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
|
|
4389
|
+
var import_lucide_react14 = require("lucide-react");
|
|
4290
4390
|
|
|
4291
4391
|
// source/hooks/use-mobile.ts
|
|
4292
|
-
var
|
|
4392
|
+
var React40 = __toESM(require("react"), 1);
|
|
4293
4393
|
var MOBILE_MAX = 768;
|
|
4294
4394
|
function useIsMobile(breakpoint = MOBILE_MAX) {
|
|
4295
|
-
const [isMobile, setIsMobile] =
|
|
4395
|
+
const [isMobile, setIsMobile] = React40.useState(
|
|
4296
4396
|
() => typeof window !== "undefined" ? window.innerWidth < breakpoint : false
|
|
4297
4397
|
);
|
|
4298
|
-
|
|
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
|
|
4409
|
+
var React41 = __toESM(require("react"), 1);
|
|
4310
4410
|
var import_class_variance_authority14 = require("class-variance-authority");
|
|
4311
|
-
var
|
|
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 =
|
|
4428
|
+
var Skeleton = React41.forwardRef(
|
|
4329
4429
|
({ className, rounded, ...props }, ref) => {
|
|
4330
|
-
return /* @__PURE__ */ (0,
|
|
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)(
|
|
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
|
}
|