@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 +381 -319
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +374 -312
- package/dist/styles.css +1 -1
- package/package.json +1 -1
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
|
|
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
|
|
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
|
|
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(
|
|
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
|
-
|
|
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
|
|
2473
|
+
var React26 = __toESM(require("react"), 1);
|
|
2318
2474
|
var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
|
|
2319
|
-
var
|
|
2320
|
-
var
|
|
2321
|
-
var RadioGroup2 =
|
|
2322
|
-
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)(
|
|
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 =
|
|
2333
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
2515
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2360
2516
|
function RichTextToolbar({ editor }) {
|
|
2361
2517
|
if (!editor) return null;
|
|
2362
|
-
return /* @__PURE__ */ (0,
|
|
2363
|
-
/* @__PURE__ */ (0,
|
|
2364
|
-
/* @__PURE__ */ (0,
|
|
2365
|
-
/* @__PURE__ */ (0,
|
|
2366
|
-
/* @__PURE__ */ (0,
|
|
2367
|
-
/* @__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" })
|
|
2368
2524
|
] });
|
|
2369
2525
|
}
|
|
2370
2526
|
|
|
2371
2527
|
// source/components/primitive/RichTextArea/richtext-editor.tsx
|
|
2372
|
-
var
|
|
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,
|
|
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,
|
|
2407
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
2421
|
-
var
|
|
2422
|
-
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");
|
|
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] =
|
|
2453
|
-
const [search, setSearch] =
|
|
2454
|
-
const searchInputRef =
|
|
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
|
-
|
|
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,
|
|
2478
|
-
name && /* @__PURE__ */ (0,
|
|
2479
|
-
/* @__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)(
|
|
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,
|
|
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,
|
|
2510
|
-
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)(
|
|
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,
|
|
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,
|
|
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,
|
|
2539
|
-
/* @__PURE__ */ (0,
|
|
2540
|
-
/* @__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)(
|
|
2541
2697
|
"input",
|
|
2542
2698
|
{
|
|
2543
2699
|
ref: searchInputRef,
|
|
@@ -2548,9 +2704,9 @@ function SearchableSelectInner({
|
|
|
2548
2704
|
}
|
|
2549
2705
|
)
|
|
2550
2706
|
] }),
|
|
2551
|
-
/* @__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) => {
|
|
2552
2708
|
const isSelected = item.value === value;
|
|
2553
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
2570
|
-
/* @__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 })
|
|
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 =
|
|
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
|
|
2741
|
+
var React28 = __toESM(require("react"), 1);
|
|
2586
2742
|
var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
|
|
2587
|
-
var
|
|
2588
|
-
var
|
|
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 =
|
|
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,
|
|
2607
|
-
|
|
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 =
|
|
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,
|
|
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 =
|
|
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,
|
|
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 =
|
|
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,
|
|
2656
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
2822
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectScrollDownButton, {})
|
|
2667
2823
|
]
|
|
2668
2824
|
}
|
|
2669
2825
|
) }));
|
|
2670
2826
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
2671
|
-
var SelectLabel =
|
|
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 =
|
|
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,
|
|
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,
|
|
2698
|
-
/* @__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 })
|
|
2699
2855
|
]
|
|
2700
2856
|
}
|
|
2701
2857
|
);
|
|
2702
2858
|
});
|
|
2703
2859
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
2704
|
-
var SelectSeparator =
|
|
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
|
|
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
|
|
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 =
|
|
2908
|
+
var Switch = React29.forwardRef(
|
|
2753
2909
|
({ className, label, description, error: error2, size, id: idProp, ...props }, ref) => {
|
|
2754
|
-
const generatedId =
|
|
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,
|
|
2759
|
-
/* @__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)(
|
|
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,
|
|
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,
|
|
2781
|
-
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)(
|
|
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,
|
|
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,
|
|
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
|
|
2968
|
+
var React30 = __toESM(require("react"), 1);
|
|
2813
2969
|
var import_class_variance_authority10 = require("class-variance-authority");
|
|
2814
|
-
var
|
|
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 =
|
|
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,
|
|
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
|
|
2900
|
-
var
|
|
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 =
|
|
3064
|
+
var Textarea = React31.forwardRef(
|
|
2909
3065
|
({ className, error: error2, resize = "vertical", ...props }, ref) => {
|
|
2910
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
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 =
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
3182
|
-
/* @__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)(
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
3235
|
-
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 })
|
|
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,
|
|
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,
|
|
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,
|
|
3280
|
-
hasFieldLabel ? /* @__PURE__ */ (0,
|
|
3281
|
-
/* @__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
|
+
),
|
|
3282
3450
|
registeredControl
|
|
3283
|
-
] }) : /* @__PURE__ */ (0,
|
|
3284
|
-
description && /* @__PURE__ */ (0,
|
|
3285
|
-
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 })
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
3593
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SelectValue, { placeholder })
|
|
3426
3594
|
}
|
|
3427
3595
|
),
|
|
3428
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
3491
|
-
/* @__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)(
|
|
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,
|
|
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,
|
|
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,
|
|
3538
|
-
gi > 0 ? /* @__PURE__ */ (0,
|
|
3539
|
-
/* @__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)) })
|
|
3540
3708
|
] }, gi))
|
|
3541
3709
|
}
|
|
3542
3710
|
) });
|
|
3543
3711
|
}
|
|
3544
3712
|
case "richtext":
|
|
3545
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
3855
|
+
var React33 = __toESM(require("react"), 1);
|
|
3688
3856
|
var import_class_variance_authority11 = require("class-variance-authority");
|
|
3689
|
-
var
|
|
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 =
|
|
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,
|
|
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
|
|
3785
|
-
var
|
|
3786
|
-
var InputGroup =
|
|
3787
|
-
({ 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)(
|
|
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 =
|
|
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 =
|
|
3819
|
-
({ className, type, ...props }, ref) => /* @__PURE__ */ (0,
|
|
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
|
|
3839
|
-
var
|
|
3840
|
-
var
|
|
3841
|
-
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)(
|
|
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 =
|
|
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 =
|
|
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,
|
|
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,
|
|
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,
|
|
3894
|
-
/* @__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" })
|
|
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,
|
|
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,
|
|
3911
|
-
/* @__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" })
|
|
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,
|
|
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,
|
|
3927
|
-
/* @__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" })
|
|
3928
4096
|
]
|
|
3929
4097
|
}
|
|
3930
4098
|
);
|
|
3931
4099
|
PaginationEllipsis.displayName = "PaginationEllipsis";
|
|
3932
4100
|
|
|
3933
4101
|
// source/components/primitive/Progress/progress.tsx
|
|
3934
|
-
var
|
|
4102
|
+
var React36 = __toESM(require("react"), 1);
|
|
3935
4103
|
var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"), 1);
|
|
3936
|
-
var
|
|
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 =
|
|
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,
|
|
3958
|
-
(label || showValue) && /* @__PURE__ */ (0,
|
|
3959
|
-
label && /* @__PURE__ */ (0,
|
|
3960
|
-
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: [
|
|
3961
4129
|
Math.round(percentage),
|
|
3962
4130
|
"%"
|
|
3963
4131
|
] })
|
|
3964
4132
|
] }),
|
|
3965
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
4167
|
+
var React37 = __toESM(require("react"), 1);
|
|
4069
4168
|
var ScrollAreaPrimitive = __toESM(require("@radix-ui/react-scroll-area"), 1);
|
|
4070
|
-
var
|
|
4071
|
-
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)(
|
|
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,
|
|
4079
|
-
/* @__PURE__ */ (0,
|
|
4080
|
-
/* @__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, {})
|
|
4081
4180
|
]
|
|
4082
4181
|
}
|
|
4083
4182
|
));
|
|
4084
4183
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
4085
|
-
var ScrollBar =
|
|
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,
|
|
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
|
|
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
|
|
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 =
|
|
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,
|
|
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,
|
|
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,
|
|
4152
|
-
/* @__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)(
|
|
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,
|
|
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
|
|
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
|
|
4187
|
-
var
|
|
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 =
|
|
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 =
|
|
4221
|
-
/* @__PURE__ */ (0,
|
|
4222
|
-
/* @__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)(
|
|
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,
|
|
4231
|
-
/* @__PURE__ */ (0,
|
|
4232
|
-
/* @__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" })
|
|
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,
|
|
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,
|
|
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 =
|
|
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 =
|
|
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
|
|
4389
|
+
var import_lucide_react14 = require("lucide-react");
|
|
4291
4390
|
|
|
4292
4391
|
// source/hooks/use-mobile.ts
|
|
4293
|
-
var
|
|
4392
|
+
var React40 = __toESM(require("react"), 1);
|
|
4294
4393
|
var MOBILE_MAX = 768;
|
|
4295
4394
|
function useIsMobile(breakpoint = MOBILE_MAX) {
|
|
4296
|
-
const [isMobile, setIsMobile] =
|
|
4395
|
+
const [isMobile, setIsMobile] = React40.useState(
|
|
4297
4396
|
() => typeof window !== "undefined" ? window.innerWidth < breakpoint : false
|
|
4298
4397
|
);
|
|
4299
|
-
|
|
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
|
|
4409
|
+
var React41 = __toESM(require("react"), 1);
|
|
4311
4410
|
var import_class_variance_authority14 = require("class-variance-authority");
|
|
4312
|
-
var
|
|
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 =
|
|
4428
|
+
var Skeleton = React41.forwardRef(
|
|
4330
4429
|
({ className, rounded, ...props }, ref) => {
|
|
4331
|
-
return /* @__PURE__ */ (0,
|
|
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)(
|
|
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
|
}
|