@douglasneuroinformatics/libui 4.5.1 → 4.6.1
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/{chunk-SGSRBDMT.js → chunk-L55W5USD.js} +43 -10
- package/dist/chunk-L55W5USD.js.map +1 -0
- package/dist/chunk-VH3IZISB.js +325 -0
- package/dist/chunk-VH3IZISB.js.map +1 -0
- package/dist/components.d.ts +7 -7
- package/dist/components.js +836 -1137
- package/dist/components.js.map +1 -1
- package/dist/hooks.d.ts +3 -1
- package/dist/hooks.js +3 -1
- package/dist/providers.d.ts +5 -0
- package/dist/providers.js +73 -0
- package/dist/providers.js.map +1 -0
- package/package.json +5 -1
- package/src/components/OneTimePasswordInput/OneTimePasswordInput.stories.tsx +4 -4
- package/src/components/index.ts +2 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useDestructiveAction/index.ts +1 -0
- package/src/hooks/useDestructiveAction/useDestructiveAction.ts +15 -0
- package/src/hooks/useDestructiveAction/useDestructiveActionStore.test.ts +79 -0
- package/src/hooks/useDestructiveAction/useDestructiveActionStore.ts +25 -0
- package/src/providers/CoreProvider/CoreProvider.stories.tsx +46 -0
- package/src/providers/CoreProvider/CoreProvider.tsx +12 -0
- package/src/providers/CoreProvider/DestructiveActionDialog.tsx +65 -0
- package/src/{components/NotificationHub → providers/CoreProvider}/NotificationHub.tsx +1 -1
- package/src/providers/CoreProvider/index.ts +1 -0
- package/src/providers/index.ts +1 -0
- package/dist/chunk-SGSRBDMT.js.map +0 -1
- package/src/components/NotificationHub/NotificationHub.stories.tsx +0 -40
- package/src/components/NotificationHub/index.ts +0 -1
- /package/src/{components/NotificationHub → providers/CoreProvider}/NotificationIcon.tsx +0 -0
package/dist/components.js
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
"use client"
|
|
2
|
+
import {
|
|
3
|
+
BUTTON_ICON_SIZE,
|
|
4
|
+
Button,
|
|
5
|
+
Card,
|
|
6
|
+
Dialog,
|
|
7
|
+
NotificationHub,
|
|
8
|
+
buttonVariants
|
|
9
|
+
} from "./chunk-VH3IZISB.js";
|
|
2
10
|
import {
|
|
3
11
|
ChartContext,
|
|
4
12
|
useChart,
|
|
5
13
|
useNotificationsStore,
|
|
6
14
|
useTheme,
|
|
7
15
|
useTranslation
|
|
8
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-L55W5USD.js";
|
|
9
17
|
import "./chunk-GT5NL2RJ.js";
|
|
10
18
|
import {
|
|
11
19
|
cn
|
|
@@ -314,76 +322,31 @@ function ActionDropdown({
|
|
|
314
322
|
import { Root as Root3, Trigger as Trigger3 } from "@radix-ui/react-alert-dialog";
|
|
315
323
|
|
|
316
324
|
// src/components/AlertDialog/AlertDialogAction.tsx
|
|
317
|
-
import { forwardRef as
|
|
325
|
+
import { forwardRef as forwardRef14 } from "react";
|
|
318
326
|
import { Action } from "@radix-ui/react-alert-dialog";
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
import { Slot, Slottable } from "@radix-ui/react-slot";
|
|
323
|
-
import { cva } from "class-variance-authority";
|
|
324
|
-
import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
325
|
-
var BUTTON_ICON_SIZE = {
|
|
326
|
-
lg: 18,
|
|
327
|
-
md: 16,
|
|
328
|
-
sm: 14
|
|
329
|
-
};
|
|
330
|
-
var buttonVariants = cva(
|
|
331
|
-
"flex items-center justify-center whitespace-nowrap cursor-pointer rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
|
|
332
|
-
{
|
|
333
|
-
defaultVariants: {
|
|
334
|
-
size: "md",
|
|
335
|
-
variant: "primary"
|
|
336
|
-
},
|
|
337
|
-
variants: {
|
|
338
|
-
size: {
|
|
339
|
-
icon: "p-1.5 aspect-square",
|
|
340
|
-
lg: "h-10 rounded-md px-8 text-base",
|
|
341
|
-
md: "h-9 px-4 py-2",
|
|
342
|
-
sm: "h-8 rounded-md px-3 text-xs"
|
|
343
|
-
},
|
|
344
|
-
variant: {
|
|
345
|
-
danger: "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/70",
|
|
346
|
-
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
347
|
-
link: "text-primary underline-offset-4 hover:underline",
|
|
348
|
-
outline: "border border-input bg-inherit shadow-xs",
|
|
349
|
-
primary: "bg-primary text-primary-foreground shadow-sm hover:bg-primary/90",
|
|
350
|
-
secondary: "bg-secondary border text-secondary-foreground shadow-xs hover:bg-secondary/10"
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
);
|
|
355
|
-
var Button = React3.forwardRef(function Button2({ asChild, children, className, label, size = "md", variant = "primary", ...props }, ref) {
|
|
356
|
-
const Comp = asChild ? Slot : "button";
|
|
357
|
-
return /* @__PURE__ */ jsxs7(Comp, { className: cn(buttonVariants({ className, size, variant })), ref, ...props, children: [
|
|
358
|
-
label,
|
|
359
|
-
/* @__PURE__ */ jsx16(Slottable, { children })
|
|
360
|
-
] });
|
|
361
|
-
});
|
|
362
|
-
|
|
363
|
-
// src/components/AlertDialog/AlertDialogAction.tsx
|
|
364
|
-
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
365
|
-
var AlertDialogAction = forwardRef15(function AlertDialogAction2({ className, ...props }, ref) {
|
|
366
|
-
return /* @__PURE__ */ jsx17(Action, { className: cn(buttonVariants(), className), ref, ...props });
|
|
327
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
328
|
+
var AlertDialogAction = forwardRef14(function AlertDialogAction2({ className, ...props }, ref) {
|
|
329
|
+
return /* @__PURE__ */ jsx16(Action, { className: cn(buttonVariants(), className), ref, ...props });
|
|
367
330
|
});
|
|
368
331
|
|
|
369
332
|
// src/components/AlertDialog/AlertDialogCancel.tsx
|
|
370
|
-
import { forwardRef as
|
|
333
|
+
import { forwardRef as forwardRef15 } from "react";
|
|
371
334
|
import { Cancel } from "@radix-ui/react-alert-dialog";
|
|
372
|
-
import { jsx as
|
|
373
|
-
var AlertDialogCancel =
|
|
374
|
-
return /* @__PURE__ */
|
|
335
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
336
|
+
var AlertDialogCancel = forwardRef15(function AlertDialogCancel2({ className, ...props }, ref) {
|
|
337
|
+
return /* @__PURE__ */ jsx17(Cancel, { className: cn(buttonVariants({ variant: "outline" }), "mt-2 sm:mt-0", className), ref, ...props });
|
|
375
338
|
});
|
|
376
339
|
|
|
377
340
|
// src/components/AlertDialog/AlertDialogContent.tsx
|
|
378
|
-
import { forwardRef as
|
|
341
|
+
import { forwardRef as forwardRef17 } from "react";
|
|
379
342
|
import { Content as Content3, Portal as Portal3 } from "@radix-ui/react-alert-dialog";
|
|
380
343
|
|
|
381
344
|
// src/components/AlertDialog/AlertDialogOverlay.tsx
|
|
382
|
-
import { forwardRef as
|
|
345
|
+
import { forwardRef as forwardRef16 } from "react";
|
|
383
346
|
import { Overlay } from "@radix-ui/react-alert-dialog";
|
|
384
|
-
import { jsx as
|
|
385
|
-
var AlertDialogOverlay =
|
|
386
|
-
return /* @__PURE__ */
|
|
347
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
348
|
+
var AlertDialogOverlay = forwardRef16(function AlertDialogOverlay2({ className, ...props }, ref) {
|
|
349
|
+
return /* @__PURE__ */ jsx18(
|
|
387
350
|
Overlay,
|
|
388
351
|
{
|
|
389
352
|
className: cn(
|
|
@@ -397,11 +360,11 @@ var AlertDialogOverlay = forwardRef17(function AlertDialogOverlay2({ className,
|
|
|
397
360
|
});
|
|
398
361
|
|
|
399
362
|
// src/components/AlertDialog/AlertDialogContent.tsx
|
|
400
|
-
import { jsx as
|
|
401
|
-
var AlertDialogContent =
|
|
402
|
-
return /* @__PURE__ */
|
|
403
|
-
/* @__PURE__ */
|
|
404
|
-
/* @__PURE__ */
|
|
363
|
+
import { jsx as jsx19, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
364
|
+
var AlertDialogContent = forwardRef17(function AlertDialogContent2({ className, ...props }, ref) {
|
|
365
|
+
return /* @__PURE__ */ jsxs7(Portal3, { children: [
|
|
366
|
+
/* @__PURE__ */ jsx19(AlertDialogOverlay, {}),
|
|
367
|
+
/* @__PURE__ */ jsx19(
|
|
405
368
|
Content3,
|
|
406
369
|
{
|
|
407
370
|
className: cn(
|
|
@@ -416,29 +379,29 @@ var AlertDialogContent = forwardRef18(function AlertDialogContent2({ className,
|
|
|
416
379
|
});
|
|
417
380
|
|
|
418
381
|
// src/components/AlertDialog/AlertDialogDescription.tsx
|
|
419
|
-
import { forwardRef as
|
|
382
|
+
import { forwardRef as forwardRef18 } from "react";
|
|
420
383
|
import { Description } from "@radix-ui/react-alert-dialog";
|
|
421
|
-
import { jsx as
|
|
422
|
-
var AlertDialogDescription =
|
|
423
|
-
return /* @__PURE__ */
|
|
384
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
385
|
+
var AlertDialogDescription = forwardRef18(function AlertDialogDescription2({ className, ...props }, ref) {
|
|
386
|
+
return /* @__PURE__ */ jsx20(Description, { className: cn("text-sm text-muted-foreground", className), ref, ...props });
|
|
424
387
|
});
|
|
425
388
|
|
|
426
389
|
// src/components/AlertDialog/AlertDialogFooter.tsx
|
|
427
390
|
import "react";
|
|
428
|
-
import { jsx as
|
|
429
|
-
var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
391
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
392
|
+
var AlertDialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx21("div", { className: cn("flex flex-col gap-x-2 gap-y-0.5 sm:flex-row", className), ...props });
|
|
430
393
|
|
|
431
394
|
// src/components/AlertDialog/AlertDialogHeader.tsx
|
|
432
395
|
import "react";
|
|
433
|
-
import { jsx as
|
|
434
|
-
var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
396
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
397
|
+
var AlertDialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx22("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
|
|
435
398
|
|
|
436
399
|
// src/components/AlertDialog/AlertDialogTitle.tsx
|
|
437
|
-
import { forwardRef as
|
|
400
|
+
import { forwardRef as forwardRef19 } from "react";
|
|
438
401
|
import { Title } from "@radix-ui/react-alert-dialog";
|
|
439
|
-
import { jsx as
|
|
440
|
-
var AlertDialogTitle =
|
|
441
|
-
return /* @__PURE__ */
|
|
402
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
403
|
+
var AlertDialogTitle = forwardRef19(function AlertDialogTitle2({ className, ...props }, ref) {
|
|
404
|
+
return /* @__PURE__ */ jsx23(Title, { className: cn("text-lg font-semibold", className), ref, ...props });
|
|
442
405
|
});
|
|
443
406
|
|
|
444
407
|
// src/components/AlertDialog/AlertDialog.tsx
|
|
@@ -456,10 +419,10 @@ var AlertDialog = Object.assign(Root3.bind(null), {
|
|
|
456
419
|
|
|
457
420
|
// src/components/ArrowToggle/ArrowToggle.tsx
|
|
458
421
|
import { useMemo } from "react";
|
|
459
|
-
import * as
|
|
422
|
+
import * as React5 from "react";
|
|
460
423
|
import { ChevronUpIcon } from "lucide-react";
|
|
461
|
-
import { jsx as
|
|
462
|
-
var ArrowToggle =
|
|
424
|
+
import { jsx as jsx24, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
425
|
+
var ArrowToggle = React5.forwardRef(function ArrowToggle2({ children, className, isToggled, position, rotation = 0, size = "icon", variant = "ghost", ...props }, ref) {
|
|
463
426
|
const computedRotation = useMemo(() => {
|
|
464
427
|
const toggleRotation = isToggled ? rotation : 0;
|
|
465
428
|
switch (position) {
|
|
@@ -473,7 +436,7 @@ var ArrowToggle = React6.forwardRef(function ArrowToggle2({ children, className,
|
|
|
473
436
|
return 0 + toggleRotation;
|
|
474
437
|
}
|
|
475
438
|
}, [position, rotation, isToggled]);
|
|
476
|
-
return /* @__PURE__ */
|
|
439
|
+
return /* @__PURE__ */ jsxs8(
|
|
477
440
|
Button,
|
|
478
441
|
{
|
|
479
442
|
className: cn(size === "icon" && "h-6 w-6", className),
|
|
@@ -484,7 +447,7 @@ var ArrowToggle = React6.forwardRef(function ArrowToggle2({ children, className,
|
|
|
484
447
|
variant,
|
|
485
448
|
...props,
|
|
486
449
|
children: [
|
|
487
|
-
/* @__PURE__ */
|
|
450
|
+
/* @__PURE__ */ jsx24(
|
|
488
451
|
ChevronUpIcon,
|
|
489
452
|
{
|
|
490
453
|
className: "transform-gpu transition-transform",
|
|
@@ -499,11 +462,11 @@ var ArrowToggle = React6.forwardRef(function ArrowToggle2({ children, className,
|
|
|
499
462
|
});
|
|
500
463
|
|
|
501
464
|
// src/components/Avatar/AvatarFallback.tsx
|
|
502
|
-
import { forwardRef as
|
|
465
|
+
import { forwardRef as forwardRef21 } from "react";
|
|
503
466
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
504
|
-
import { jsx as
|
|
505
|
-
var AvatarFallback =
|
|
506
|
-
return /* @__PURE__ */
|
|
467
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
468
|
+
var AvatarFallback = forwardRef21(function AvatarFallback2({ className, ...props }, ref) {
|
|
469
|
+
return /* @__PURE__ */ jsx25(
|
|
507
470
|
AvatarPrimitive.Fallback,
|
|
508
471
|
{
|
|
509
472
|
className: cn("flex h-full w-full items-center justify-center rounded-full bg-muted", className),
|
|
@@ -514,19 +477,19 @@ var AvatarFallback = forwardRef22(function AvatarFallback2({ className, ...props
|
|
|
514
477
|
});
|
|
515
478
|
|
|
516
479
|
// src/components/Avatar/AvatarImage.tsx
|
|
517
|
-
import { forwardRef as
|
|
480
|
+
import { forwardRef as forwardRef22 } from "react";
|
|
518
481
|
import * as AvatarPrimitive2 from "@radix-ui/react-avatar";
|
|
519
|
-
import { jsx as
|
|
520
|
-
var AvatarImage =
|
|
521
|
-
return /* @__PURE__ */
|
|
482
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
483
|
+
var AvatarImage = forwardRef22(function AvatarImage2({ className, ...props }, ref) {
|
|
484
|
+
return /* @__PURE__ */ jsx26(AvatarPrimitive2.Image, { className: cn("aspect-square h-full w-full", className), ref, ...props });
|
|
522
485
|
});
|
|
523
486
|
|
|
524
487
|
// src/components/Avatar/AvatarRoot.tsx
|
|
525
|
-
import { forwardRef as
|
|
488
|
+
import { forwardRef as forwardRef23 } from "react";
|
|
526
489
|
import * as AvatarPrimitive3 from "@radix-ui/react-avatar";
|
|
527
|
-
import { jsx as
|
|
528
|
-
var AvatarRoot =
|
|
529
|
-
return /* @__PURE__ */
|
|
490
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
491
|
+
var AvatarRoot = forwardRef23(function AvatarRoot2({ className, ...props }, ref) {
|
|
492
|
+
return /* @__PURE__ */ jsx27(
|
|
530
493
|
AvatarPrimitive3.Root,
|
|
531
494
|
{
|
|
532
495
|
className: cn("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", className),
|
|
@@ -545,9 +508,9 @@ var Avatar = Object.assign(AvatarRoot, {
|
|
|
545
508
|
|
|
546
509
|
// src/components/Badge/Badge.tsx
|
|
547
510
|
import "react";
|
|
548
|
-
import { cva
|
|
549
|
-
import { jsx as
|
|
550
|
-
var badgeVariants =
|
|
511
|
+
import { cva } from "class-variance-authority";
|
|
512
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
513
|
+
var badgeVariants = cva(
|
|
551
514
|
"inline-flex items-center rounded-xs border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
552
515
|
{
|
|
553
516
|
defaultVariants: {
|
|
@@ -564,46 +527,46 @@ var badgeVariants = cva2(
|
|
|
564
527
|
}
|
|
565
528
|
);
|
|
566
529
|
var Badge = ({ className, variant, ...props }) => {
|
|
567
|
-
return /* @__PURE__ */
|
|
530
|
+
return /* @__PURE__ */ jsx28("div", { className: cn(badgeVariants({ variant }), className), "data-testid": "badge", ...props });
|
|
568
531
|
};
|
|
569
532
|
|
|
570
533
|
// src/components/Breadcrumb/BreadcrumbEllipsis.tsx
|
|
571
534
|
import "react";
|
|
572
535
|
import { MoreHorizontalIcon } from "lucide-react";
|
|
573
|
-
import { jsx as
|
|
574
|
-
var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */
|
|
536
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
537
|
+
var BreadcrumbEllipsis = ({ className, ...props }) => /* @__PURE__ */ jsx29(
|
|
575
538
|
"span",
|
|
576
539
|
{
|
|
577
540
|
"aria-hidden": "true",
|
|
578
541
|
className: cn("flex h-9 w-9 items-center justify-center", className),
|
|
579
542
|
role: "presentation",
|
|
580
543
|
...props,
|
|
581
|
-
children: /* @__PURE__ */
|
|
544
|
+
children: /* @__PURE__ */ jsx29(MoreHorizontalIcon, { className: "h-4 w-4" })
|
|
582
545
|
}
|
|
583
546
|
);
|
|
584
547
|
|
|
585
548
|
// src/components/Breadcrumb/BreadcrumbItem.tsx
|
|
586
|
-
import { forwardRef as
|
|
587
|
-
import { jsx as
|
|
588
|
-
var BreadcrumbItem =
|
|
589
|
-
return /* @__PURE__ */
|
|
549
|
+
import { forwardRef as forwardRef24 } from "react";
|
|
550
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
551
|
+
var BreadcrumbItem = forwardRef24(function BreadcrumbItem2({ className, ...props }, ref) {
|
|
552
|
+
return /* @__PURE__ */ jsx30("li", { className: cn("inline-flex items-center gap-1.5", className), ref, ...props });
|
|
590
553
|
});
|
|
591
554
|
|
|
592
555
|
// src/components/Breadcrumb/BreadcrumbLink.tsx
|
|
593
|
-
import { forwardRef as
|
|
594
|
-
import { Slot
|
|
595
|
-
import { jsx as
|
|
596
|
-
var BreadcrumbLink =
|
|
597
|
-
const Comp = asChild ?
|
|
598
|
-
return /* @__PURE__ */
|
|
556
|
+
import { forwardRef as forwardRef25 } from "react";
|
|
557
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
558
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
559
|
+
var BreadcrumbLink = forwardRef25(function BreadcrumbLink2({ asChild, className, ...props }, ref) {
|
|
560
|
+
const Comp = asChild ? Slot : "a";
|
|
561
|
+
return /* @__PURE__ */ jsx31(Comp, { className: cn("transition-colors hover:text-foreground", className), ref, ...props });
|
|
599
562
|
});
|
|
600
563
|
|
|
601
564
|
// src/components/Breadcrumb/BreadcrumbList.tsx
|
|
602
|
-
import { forwardRef as
|
|
603
|
-
import { jsx as
|
|
604
|
-
var BreadcrumbList =
|
|
565
|
+
import { forwardRef as forwardRef26 } from "react";
|
|
566
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
567
|
+
var BreadcrumbList = forwardRef26(
|
|
605
568
|
function BreadcrumbList2({ className, ...props }, ref) {
|
|
606
|
-
return /* @__PURE__ */
|
|
569
|
+
return /* @__PURE__ */ jsx32(
|
|
607
570
|
"ol",
|
|
608
571
|
{
|
|
609
572
|
className: cn(
|
|
@@ -618,11 +581,11 @@ var BreadcrumbList = forwardRef27(
|
|
|
618
581
|
);
|
|
619
582
|
|
|
620
583
|
// src/components/Breadcrumb/BreadcrumbPage.tsx
|
|
621
|
-
import { forwardRef as
|
|
622
|
-
import { jsx as
|
|
623
|
-
var BreadcrumbPage =
|
|
584
|
+
import { forwardRef as forwardRef27 } from "react";
|
|
585
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
586
|
+
var BreadcrumbPage = forwardRef27(
|
|
624
587
|
function BreadcrumbPage2({ className, ...props }, ref) {
|
|
625
|
-
return /* @__PURE__ */
|
|
588
|
+
return /* @__PURE__ */ jsx33(
|
|
626
589
|
"span",
|
|
627
590
|
{
|
|
628
591
|
"aria-current": "page",
|
|
@@ -637,17 +600,17 @@ var BreadcrumbPage = forwardRef28(
|
|
|
637
600
|
);
|
|
638
601
|
|
|
639
602
|
// src/components/Breadcrumb/BreadcrumbRoot.tsx
|
|
640
|
-
import { forwardRef as
|
|
641
|
-
import { jsx as
|
|
642
|
-
var BreadcrumbRoot =
|
|
643
|
-
return /* @__PURE__ */
|
|
603
|
+
import { forwardRef as forwardRef28 } from "react";
|
|
604
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
605
|
+
var BreadcrumbRoot = forwardRef28(function BreadcrumbRoot2({ ...props }, ref) {
|
|
606
|
+
return /* @__PURE__ */ jsx34("nav", { "aria-label": "breadcrumb", ref, ...props });
|
|
644
607
|
});
|
|
645
608
|
|
|
646
609
|
// src/components/Breadcrumb/BreadcrumbSeparator.tsx
|
|
647
610
|
import "react";
|
|
648
611
|
import { ChevronRightIcon as ChevronRightIcon2 } from "lucide-react";
|
|
649
|
-
import { jsx as
|
|
650
|
-
var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */
|
|
612
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
613
|
+
var BreadcrumbSeparator = ({ children, className, ...props }) => /* @__PURE__ */ jsx35("li", { "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), role: "presentation", ...props, children: children ?? /* @__PURE__ */ jsx35(ChevronRightIcon2, {}) });
|
|
651
614
|
|
|
652
615
|
// src/components/Breadcrumb/Breadcrumb.tsx
|
|
653
616
|
var Breadcrumb = Object.assign(BreadcrumbRoot, {
|
|
@@ -659,41 +622,17 @@ var Breadcrumb = Object.assign(BreadcrumbRoot, {
|
|
|
659
622
|
Separator: BreadcrumbSeparator
|
|
660
623
|
});
|
|
661
624
|
|
|
662
|
-
// src/components/Card/Card.tsx
|
|
663
|
-
import * as React10 from "react";
|
|
664
|
-
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
665
|
-
var CardRoot = React10.forwardRef(function CardRoot2({ className, ...props }, ref) {
|
|
666
|
-
return /* @__PURE__ */ jsx37(
|
|
667
|
-
"div",
|
|
668
|
-
{
|
|
669
|
-
className: cn("bg-card text-card-foreground rounded-xl border shadow-sm", className),
|
|
670
|
-
"data-testid": "card",
|
|
671
|
-
ref,
|
|
672
|
-
...props
|
|
673
|
-
}
|
|
674
|
-
);
|
|
675
|
-
});
|
|
676
|
-
var Card = Object.assign(CardRoot, {
|
|
677
|
-
Content: ({ className, ...props }) => /* @__PURE__ */ jsx37("div", { className: cn("p-6 pt-0", className), ...props }),
|
|
678
|
-
Description: ({ className, ...props }) => /* @__PURE__ */ jsx37("p", { className: cn("text-muted-foreground text-sm", className), ...props }),
|
|
679
|
-
Footer: ({ className, ...props }) => {
|
|
680
|
-
return /* @__PURE__ */ jsx37("div", { className: cn("flex items-center p-6 pt-0", className), ...props });
|
|
681
|
-
},
|
|
682
|
-
Header: ({ className, ...props }) => /* @__PURE__ */ jsx37("div", { className: cn("flex flex-col space-y-1.5 p-6", className), ...props }),
|
|
683
|
-
Title: ({ children, className, ...props }) => /* @__PURE__ */ jsx37("h3", { className: cn("leading-none font-semibold tracking-tight", className), ...props, children })
|
|
684
|
-
});
|
|
685
|
-
|
|
686
625
|
// src/components/Chart/Chart.tsx
|
|
687
626
|
import { Legend, Tooltip as Tooltip2 } from "recharts";
|
|
688
627
|
|
|
689
628
|
// src/components/Chart/ChartContainer.tsx
|
|
690
|
-
import { forwardRef as
|
|
629
|
+
import { forwardRef as forwardRef29, useId } from "react";
|
|
691
630
|
import { ResponsiveContainer } from "recharts";
|
|
692
|
-
import { jsx as
|
|
693
|
-
var ChartContainer =
|
|
631
|
+
import { jsx as jsx36, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
632
|
+
var ChartContainer = forwardRef29(function ChartContainer2({ children, className, config, id, ...props }, ref) {
|
|
694
633
|
const uniqueId = useId();
|
|
695
634
|
const chartId = `chart-${id ?? uniqueId.replace(/:/g, "")}`;
|
|
696
|
-
return /* @__PURE__ */
|
|
635
|
+
return /* @__PURE__ */ jsx36(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs9(
|
|
697
636
|
"div",
|
|
698
637
|
{
|
|
699
638
|
className: cn(
|
|
@@ -704,15 +643,15 @@ var ChartContainer = forwardRef31(function ChartContainer2({ children, className
|
|
|
704
643
|
ref,
|
|
705
644
|
...props,
|
|
706
645
|
children: [
|
|
707
|
-
/* @__PURE__ */
|
|
708
|
-
/* @__PURE__ */
|
|
646
|
+
/* @__PURE__ */ jsx36(Chart.Style, { config, id: chartId }),
|
|
647
|
+
/* @__PURE__ */ jsx36(ResponsiveContainer, { children })
|
|
709
648
|
]
|
|
710
649
|
}
|
|
711
650
|
) });
|
|
712
651
|
});
|
|
713
652
|
|
|
714
653
|
// src/components/Chart/ChartLegendContent.tsx
|
|
715
|
-
import { forwardRef as
|
|
654
|
+
import { forwardRef as forwardRef30 } from "react";
|
|
716
655
|
|
|
717
656
|
// src/components/Chart/utils.ts
|
|
718
657
|
function getPayloadConfigFromPayload(config, payload, key) {
|
|
@@ -730,13 +669,13 @@ function getPayloadConfigFromPayload(config, payload, key) {
|
|
|
730
669
|
}
|
|
731
670
|
|
|
732
671
|
// src/components/Chart/ChartLegendContent.tsx
|
|
733
|
-
import { jsx as
|
|
734
|
-
var ChartLegendContent =
|
|
672
|
+
import { jsx as jsx37, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
673
|
+
var ChartLegendContent = forwardRef30(function ChartLegendContent2({ className, hideIcon = false, nameKey, payload, verticalAlign = "bottom" }, ref) {
|
|
735
674
|
const { config } = useChart();
|
|
736
675
|
if (!payload?.length) {
|
|
737
676
|
return null;
|
|
738
677
|
}
|
|
739
|
-
return /* @__PURE__ */
|
|
678
|
+
return /* @__PURE__ */ jsx37(
|
|
740
679
|
"div",
|
|
741
680
|
{
|
|
742
681
|
className: cn("flex items-center justify-center gap-4", verticalAlign === "top" ? "pb-3" : "pt-3", className),
|
|
@@ -744,12 +683,12 @@ var ChartLegendContent = forwardRef32(function ChartLegendContent2({ className,
|
|
|
744
683
|
children: payload.map((item) => {
|
|
745
684
|
const key = `${nameKey ?? item.dataKey ?? "value"}`;
|
|
746
685
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
747
|
-
return /* @__PURE__ */
|
|
686
|
+
return /* @__PURE__ */ jsxs10(
|
|
748
687
|
"div",
|
|
749
688
|
{
|
|
750
689
|
className: cn("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),
|
|
751
690
|
children: [
|
|
752
|
-
itemConfig?.icon && !hideIcon ? /* @__PURE__ */
|
|
691
|
+
itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsx37(itemConfig.icon, {}) : /* @__PURE__ */ jsx37(
|
|
753
692
|
"div",
|
|
754
693
|
{
|
|
755
694
|
className: "h-2 w-2 shrink-0 rounded-[2px]",
|
|
@@ -769,14 +708,14 @@ var ChartLegendContent = forwardRef32(function ChartLegendContent2({ className,
|
|
|
769
708
|
});
|
|
770
709
|
|
|
771
710
|
// src/components/Chart/ChartStyle.tsx
|
|
772
|
-
import { jsx as
|
|
711
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
773
712
|
var THEMES = { dark: ".dark", light: "" };
|
|
774
713
|
var ChartStyle = ({ config, id }) => {
|
|
775
714
|
const colorConfig = Object.entries(config).filter(([_, config2]) => config2.theme ?? config2.color);
|
|
776
715
|
if (!colorConfig.length) {
|
|
777
716
|
return null;
|
|
778
717
|
}
|
|
779
|
-
return /* @__PURE__ */
|
|
718
|
+
return /* @__PURE__ */ jsx38(
|
|
780
719
|
"style",
|
|
781
720
|
{
|
|
782
721
|
dangerouslySetInnerHTML: {
|
|
@@ -796,10 +735,10 @@ ${colorConfig.map(([key, itemConfig]) => {
|
|
|
796
735
|
};
|
|
797
736
|
|
|
798
737
|
// src/components/Chart/ChartTooltipContent.tsx
|
|
799
|
-
import
|
|
738
|
+
import React9, { forwardRef as forwardRef31 } from "react";
|
|
800
739
|
import "recharts";
|
|
801
|
-
import { Fragment, jsx as
|
|
802
|
-
var ChartTooltipContent =
|
|
740
|
+
import { Fragment, jsx as jsx39, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
741
|
+
var ChartTooltipContent = forwardRef31(function ChartLegendContent3({
|
|
803
742
|
active,
|
|
804
743
|
className,
|
|
805
744
|
color,
|
|
@@ -815,7 +754,7 @@ var ChartTooltipContent = forwardRef33(function ChartLegendContent3({
|
|
|
815
754
|
payload
|
|
816
755
|
}, ref) {
|
|
817
756
|
const { config } = useChart();
|
|
818
|
-
const tooltipLabel =
|
|
757
|
+
const tooltipLabel = React9.useMemo(() => {
|
|
819
758
|
if (hideLabel || !payload?.length) {
|
|
820
759
|
return null;
|
|
821
760
|
}
|
|
@@ -824,18 +763,18 @@ var ChartTooltipContent = forwardRef33(function ChartLegendContent3({
|
|
|
824
763
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
825
764
|
const value = !labelKey && typeof label === "string" ? config[label]?.label || label : itemConfig?.label;
|
|
826
765
|
if (labelFormatter) {
|
|
827
|
-
return /* @__PURE__ */
|
|
766
|
+
return /* @__PURE__ */ jsx39("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
|
|
828
767
|
}
|
|
829
768
|
if (!value) {
|
|
830
769
|
return null;
|
|
831
770
|
}
|
|
832
|
-
return /* @__PURE__ */
|
|
771
|
+
return /* @__PURE__ */ jsx39("div", { className: cn("font-medium", labelClassName), children: value });
|
|
833
772
|
}, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
|
|
834
773
|
if (!active || !payload?.length) {
|
|
835
774
|
return null;
|
|
836
775
|
}
|
|
837
776
|
const nestLabel = payload.length === 1 && indicator !== "dot";
|
|
838
|
-
return /* @__PURE__ */
|
|
777
|
+
return /* @__PURE__ */ jsxs11(
|
|
839
778
|
"div",
|
|
840
779
|
{
|
|
841
780
|
className: cn(
|
|
@@ -845,11 +784,11 @@ var ChartTooltipContent = forwardRef33(function ChartLegendContent3({
|
|
|
845
784
|
ref,
|
|
846
785
|
children: [
|
|
847
786
|
!nestLabel ? tooltipLabel : null,
|
|
848
|
-
/* @__PURE__ */
|
|
787
|
+
/* @__PURE__ */ jsx39("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
|
|
849
788
|
const key = `${nameKey ?? item.name ?? item.dataKey ?? "value"}`;
|
|
850
789
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
851
790
|
const indicatorColor = color ?? item.payload.fill ?? item.color;
|
|
852
|
-
return /* @__PURE__ */
|
|
791
|
+
return /* @__PURE__ */ jsx39(
|
|
853
792
|
"div",
|
|
854
793
|
{
|
|
855
794
|
className: cn(
|
|
@@ -859,8 +798,8 @@ var ChartTooltipContent = forwardRef33(function ChartLegendContent3({
|
|
|
859
798
|
children: formatter && item?.value !== void 0 && item.name ? (
|
|
860
799
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
861
800
|
formatter(item.value, item.name, item, index, item.payload)
|
|
862
|
-
) : /* @__PURE__ */
|
|
863
|
-
itemConfig?.icon ? /* @__PURE__ */
|
|
801
|
+
) : /* @__PURE__ */ jsxs11(Fragment, { children: [
|
|
802
|
+
itemConfig?.icon ? /* @__PURE__ */ jsx39(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx39(
|
|
864
803
|
"div",
|
|
865
804
|
{
|
|
866
805
|
className: cn("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]", {
|
|
@@ -877,16 +816,16 @@ var ChartTooltipContent = forwardRef33(function ChartLegendContent3({
|
|
|
877
816
|
}
|
|
878
817
|
}
|
|
879
818
|
),
|
|
880
|
-
/* @__PURE__ */
|
|
819
|
+
/* @__PURE__ */ jsxs11(
|
|
881
820
|
"div",
|
|
882
821
|
{
|
|
883
822
|
className: cn("flex flex-1 justify-between leading-none", nestLabel ? "items-end" : "items-center"),
|
|
884
823
|
children: [
|
|
885
|
-
/* @__PURE__ */
|
|
824
|
+
/* @__PURE__ */ jsxs11("div", { className: "grid gap-1.5", children: [
|
|
886
825
|
nestLabel ? tooltipLabel : null,
|
|
887
|
-
/* @__PURE__ */
|
|
826
|
+
/* @__PURE__ */ jsx39("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
|
|
888
827
|
] }),
|
|
889
|
-
item.value && /* @__PURE__ */
|
|
828
|
+
item.value && /* @__PURE__ */ jsx39("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
|
|
890
829
|
]
|
|
891
830
|
}
|
|
892
831
|
)
|
|
@@ -910,12 +849,12 @@ var Chart = Object.assign(ChartContainer, {
|
|
|
910
849
|
});
|
|
911
850
|
|
|
912
851
|
// src/components/Checkbox/Checkbox.tsx
|
|
913
|
-
import { forwardRef as
|
|
852
|
+
import { forwardRef as forwardRef32 } from "react";
|
|
914
853
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
915
854
|
import { CheckIcon as CheckIcon2 } from "lucide-react";
|
|
916
|
-
import { jsx as
|
|
917
|
-
var Checkbox =
|
|
918
|
-
return /* @__PURE__ */
|
|
855
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
856
|
+
var Checkbox = forwardRef32(function Checkbox2({ className, ...props }, ref) {
|
|
857
|
+
return /* @__PURE__ */ jsx40(
|
|
919
858
|
CheckboxPrimitive.Root,
|
|
920
859
|
{
|
|
921
860
|
className: cn(
|
|
@@ -925,7 +864,7 @@ var Checkbox = forwardRef34(function Checkbox2({ className, ...props }, ref) {
|
|
|
925
864
|
"data-testid": "checkbox",
|
|
926
865
|
ref,
|
|
927
866
|
...props,
|
|
928
|
-
children: /* @__PURE__ */
|
|
867
|
+
children: /* @__PURE__ */ jsx40(CheckboxPrimitive.Indicator, { className: cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsx40(CheckIcon2, { className: "h-4 w-4" }) })
|
|
929
868
|
}
|
|
930
869
|
);
|
|
931
870
|
});
|
|
@@ -938,38 +877,38 @@ import { range } from "lodash-es";
|
|
|
938
877
|
import { ChevronDownIcon as ChevronDownIcon3 } from "lucide-react";
|
|
939
878
|
|
|
940
879
|
// src/components/Table/TableBody.tsx
|
|
941
|
-
import { forwardRef as
|
|
942
|
-
import { jsx as
|
|
943
|
-
var TableBody =
|
|
880
|
+
import { forwardRef as forwardRef33 } from "react";
|
|
881
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
882
|
+
var TableBody = forwardRef33(
|
|
944
883
|
function TableBody2({ className, ...props }, ref) {
|
|
945
|
-
return /* @__PURE__ */
|
|
884
|
+
return /* @__PURE__ */ jsx41("tbody", { className: cn("[&_tr:last-child]:border-0", className), ref, ...props });
|
|
946
885
|
}
|
|
947
886
|
);
|
|
948
887
|
|
|
949
888
|
// src/components/Table/TableCaption.tsx
|
|
950
|
-
import { forwardRef as
|
|
951
|
-
import { jsx as
|
|
952
|
-
var TableCaption =
|
|
889
|
+
import { forwardRef as forwardRef34 } from "react";
|
|
890
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
891
|
+
var TableCaption = forwardRef34(
|
|
953
892
|
function TableCaption2({ className, ...props }, ref) {
|
|
954
|
-
return /* @__PURE__ */
|
|
893
|
+
return /* @__PURE__ */ jsx42("caption", { className: cn("mt-4 text-sm text-muted-foreground", className), ref, ...props });
|
|
955
894
|
}
|
|
956
895
|
);
|
|
957
896
|
|
|
958
897
|
// src/components/Table/TableCell.tsx
|
|
959
|
-
import { forwardRef as
|
|
960
|
-
import { jsx as
|
|
961
|
-
var TableCell =
|
|
898
|
+
import { forwardRef as forwardRef35 } from "react";
|
|
899
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
900
|
+
var TableCell = forwardRef35(
|
|
962
901
|
function TableCell2({ className, ...props }, ref) {
|
|
963
|
-
return /* @__PURE__ */
|
|
902
|
+
return /* @__PURE__ */ jsx43("td", { className: cn("px-6 py-3 align-middle [&:has([role=checkbox])]:pr-0", className), ref, ...props });
|
|
964
903
|
}
|
|
965
904
|
);
|
|
966
905
|
|
|
967
906
|
// src/components/Table/TableFooter.tsx
|
|
968
|
-
import { forwardRef as
|
|
969
|
-
import { jsx as
|
|
970
|
-
var TableFooter =
|
|
907
|
+
import { forwardRef as forwardRef36 } from "react";
|
|
908
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
909
|
+
var TableFooter = forwardRef36(
|
|
971
910
|
function TableFooter2({ className, ...props }, ref) {
|
|
972
|
-
return /* @__PURE__ */
|
|
911
|
+
return /* @__PURE__ */ jsx44(
|
|
973
912
|
"tfoot",
|
|
974
913
|
{
|
|
975
914
|
className: cn("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", className),
|
|
@@ -981,11 +920,11 @@ var TableFooter = forwardRef38(
|
|
|
981
920
|
);
|
|
982
921
|
|
|
983
922
|
// src/components/Table/TableHead.tsx
|
|
984
|
-
import { forwardRef as
|
|
985
|
-
import { jsx as
|
|
986
|
-
var TableHead =
|
|
923
|
+
import { forwardRef as forwardRef37 } from "react";
|
|
924
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
925
|
+
var TableHead = forwardRef37(
|
|
987
926
|
function TableHead2({ className, ...props }, ref) {
|
|
988
|
-
return /* @__PURE__ */
|
|
927
|
+
return /* @__PURE__ */ jsx45(
|
|
989
928
|
"th",
|
|
990
929
|
{
|
|
991
930
|
className: cn(
|
|
@@ -1000,26 +939,26 @@ var TableHead = forwardRef39(
|
|
|
1000
939
|
);
|
|
1001
940
|
|
|
1002
941
|
// src/components/Table/TableHeader.tsx
|
|
1003
|
-
import { forwardRef as
|
|
1004
|
-
import { jsx as
|
|
1005
|
-
var TableHeader =
|
|
942
|
+
import { forwardRef as forwardRef38 } from "react";
|
|
943
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
944
|
+
var TableHeader = forwardRef38(
|
|
1006
945
|
function TableHeader2({ className, ...props }, ref) {
|
|
1007
|
-
return /* @__PURE__ */
|
|
946
|
+
return /* @__PURE__ */ jsx46("thead", { className: cn("[&_tr]:border-b", className), ref, ...props });
|
|
1008
947
|
}
|
|
1009
948
|
);
|
|
1010
949
|
|
|
1011
950
|
// src/components/Table/TableRoot.tsx
|
|
1012
|
-
import { forwardRef as
|
|
1013
|
-
import { jsx as
|
|
1014
|
-
var TableRoot =
|
|
1015
|
-
return /* @__PURE__ */
|
|
951
|
+
import { forwardRef as forwardRef39 } from "react";
|
|
952
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
953
|
+
var TableRoot = forwardRef39(function TableRoot2({ className, ...props }, ref) {
|
|
954
|
+
return /* @__PURE__ */ jsx47("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx47("table", { className: cn("w-full caption-bottom text-sm", className), ref, ...props }) });
|
|
1016
955
|
});
|
|
1017
956
|
|
|
1018
957
|
// src/components/Table/TableRow.tsx
|
|
1019
|
-
import { forwardRef as
|
|
1020
|
-
import { jsx as
|
|
1021
|
-
var TableRow =
|
|
1022
|
-
return /* @__PURE__ */
|
|
958
|
+
import { forwardRef as forwardRef40 } from "react";
|
|
959
|
+
import { jsx as jsx48 } from "react/jsx-runtime";
|
|
960
|
+
var TableRow = forwardRef40(function TableRow2({ className, ...props }, ref) {
|
|
961
|
+
return /* @__PURE__ */ jsx48(
|
|
1023
962
|
"tr",
|
|
1024
963
|
{
|
|
1025
964
|
className: cn("hover:bg-muted/50 border-b transition-colors data-[state=selected]:bg-muted", className),
|
|
@@ -1041,7 +980,7 @@ var Table = Object.assign(TableRoot, {
|
|
|
1041
980
|
});
|
|
1042
981
|
|
|
1043
982
|
// src/components/ClientTable/ClientTablePagination.tsx
|
|
1044
|
-
import { jsx as
|
|
983
|
+
import { jsx as jsx49, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1045
984
|
var ClientTablePagination = ({
|
|
1046
985
|
currentPage,
|
|
1047
986
|
firstEntry,
|
|
@@ -1051,8 +990,8 @@ var ClientTablePagination = ({
|
|
|
1051
990
|
totalEntries
|
|
1052
991
|
}) => {
|
|
1053
992
|
const { t } = useTranslation("libui");
|
|
1054
|
-
return /* @__PURE__ */
|
|
1055
|
-
/* @__PURE__ */
|
|
993
|
+
return /* @__PURE__ */ jsxs12("div", { className: "flex items-center justify-between py-3", children: [
|
|
994
|
+
/* @__PURE__ */ jsx49("div", { className: "hidden sm:block", children: /* @__PURE__ */ jsx49(
|
|
1056
995
|
"p",
|
|
1057
996
|
{
|
|
1058
997
|
className: "text-sm font-medium text-muted-foreground",
|
|
@@ -1060,8 +999,8 @@ var ClientTablePagination = ({
|
|
|
1060
999
|
children: `${firstEntry} - ${lastEntry} / ${totalEntries}`
|
|
1061
1000
|
}
|
|
1062
1001
|
) }),
|
|
1063
|
-
/* @__PURE__ */
|
|
1064
|
-
/* @__PURE__ */
|
|
1002
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex flex-1 justify-between gap-3 sm:justify-end", children: [
|
|
1003
|
+
/* @__PURE__ */ jsx49(
|
|
1065
1004
|
Button,
|
|
1066
1005
|
{
|
|
1067
1006
|
"data-testid": "first-page-button",
|
|
@@ -1074,7 +1013,7 @@ var ClientTablePagination = ({
|
|
|
1074
1013
|
children: t("pagination.firstPage")
|
|
1075
1014
|
}
|
|
1076
1015
|
),
|
|
1077
|
-
/* @__PURE__ */
|
|
1016
|
+
/* @__PURE__ */ jsx49(
|
|
1078
1017
|
Button,
|
|
1079
1018
|
{
|
|
1080
1019
|
"data-testid": "previous-page-button",
|
|
@@ -1087,7 +1026,7 @@ var ClientTablePagination = ({
|
|
|
1087
1026
|
children: t("pagination.previous")
|
|
1088
1027
|
}
|
|
1089
1028
|
),
|
|
1090
|
-
/* @__PURE__ */
|
|
1029
|
+
/* @__PURE__ */ jsx49(
|
|
1091
1030
|
Button,
|
|
1092
1031
|
{
|
|
1093
1032
|
"data-testid": "next-page-button",
|
|
@@ -1100,7 +1039,7 @@ var ClientTablePagination = ({
|
|
|
1100
1039
|
children: t("pagination.next")
|
|
1101
1040
|
}
|
|
1102
1041
|
),
|
|
1103
|
-
/* @__PURE__ */
|
|
1042
|
+
/* @__PURE__ */ jsx49(
|
|
1104
1043
|
Button,
|
|
1105
1044
|
{
|
|
1106
1045
|
"data-testid": "last-page-button",
|
|
@@ -1118,7 +1057,7 @@ var ClientTablePagination = ({
|
|
|
1118
1057
|
};
|
|
1119
1058
|
|
|
1120
1059
|
// src/components/ClientTable/ClientTable.tsx
|
|
1121
|
-
import { jsx as
|
|
1060
|
+
import { jsx as jsx50, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1122
1061
|
function defaultFormatter(value) {
|
|
1123
1062
|
if (typeof value === "string") {
|
|
1124
1063
|
return value;
|
|
@@ -1149,16 +1088,16 @@ var ClientTable = ({
|
|
|
1149
1088
|
const lastEntry = Math.min(firstEntry + entriesPerPage - 1, data.length);
|
|
1150
1089
|
const currentEntries = data.slice(firstEntry - 1, lastEntry);
|
|
1151
1090
|
const nRows = Math.max(currentEntries.length, minRows ?? -1);
|
|
1152
|
-
return /* @__PURE__ */
|
|
1153
|
-
/* @__PURE__ */
|
|
1154
|
-
/* @__PURE__ */
|
|
1155
|
-
/* @__PURE__ */
|
|
1156
|
-
/* @__PURE__ */
|
|
1157
|
-
/* @__PURE__ */
|
|
1091
|
+
return /* @__PURE__ */ jsxs13("div", { className, ...props, "data-testid": "ClientTable", children: [
|
|
1092
|
+
/* @__PURE__ */ jsx50("div", { className: "bg-card text-muted-foreground rounded-md border tracking-tight shadow-xs", children: /* @__PURE__ */ jsxs13(Table, { children: [
|
|
1093
|
+
/* @__PURE__ */ jsx50(Table.Header, { children: /* @__PURE__ */ jsx50(Table.Row, { children: columns.map((column, i) => /* @__PURE__ */ jsx50(Table.Head, { className: "text-foreground whitespace-nowrap", children: columnDropdownOptions ? /* @__PURE__ */ jsxs13(DropdownMenu, { children: [
|
|
1094
|
+
/* @__PURE__ */ jsxs13(DropdownMenu.Trigger, { className: "flex items-center justify-between gap-3", children: [
|
|
1095
|
+
/* @__PURE__ */ jsx50("span", { children: column.label }),
|
|
1096
|
+
/* @__PURE__ */ jsx50(ChevronDownIcon3, {})
|
|
1158
1097
|
] }),
|
|
1159
|
-
/* @__PURE__ */
|
|
1098
|
+
/* @__PURE__ */ jsx50(DropdownMenu.Content, { align: "start", children: /* @__PURE__ */ jsx50(DropdownMenu.Group, { children: columnDropdownOptions.map((option) => {
|
|
1160
1099
|
const Icon = option.icon;
|
|
1161
|
-
return /* @__PURE__ */
|
|
1100
|
+
return /* @__PURE__ */ jsxs13(
|
|
1162
1101
|
DropdownMenu.Item,
|
|
1163
1102
|
{
|
|
1164
1103
|
"data-testid": option.label + "-test-id",
|
|
@@ -1166,7 +1105,7 @@ var ClientTable = ({
|
|
|
1166
1105
|
option.onSelection(column);
|
|
1167
1106
|
},
|
|
1168
1107
|
children: [
|
|
1169
|
-
Icon && /* @__PURE__ */
|
|
1108
|
+
Icon && /* @__PURE__ */ jsx50(Icon, { className: "mr-2", height: 16, width: 16 }),
|
|
1170
1109
|
option.label
|
|
1171
1110
|
]
|
|
1172
1111
|
},
|
|
@@ -1174,10 +1113,10 @@ var ClientTable = ({
|
|
|
1174
1113
|
);
|
|
1175
1114
|
}) }) })
|
|
1176
1115
|
] }) : column.label }, i)) }) }),
|
|
1177
|
-
/* @__PURE__ */
|
|
1116
|
+
/* @__PURE__ */ jsx50(Table.Body, { children: range(nRows).map((i) => {
|
|
1178
1117
|
const entry = currentEntries[i];
|
|
1179
1118
|
const onClick = onEntryClick && entry ? () => onEntryClick(entry) : void 0;
|
|
1180
|
-
return /* @__PURE__ */
|
|
1119
|
+
return /* @__PURE__ */ jsx50(
|
|
1181
1120
|
Table.Row,
|
|
1182
1121
|
{
|
|
1183
1122
|
className: cn(onClick && "cursor-pointer hover:backdrop-brightness-95"),
|
|
@@ -1192,7 +1131,7 @@ var ClientTable = ({
|
|
|
1192
1131
|
value = entry[field];
|
|
1193
1132
|
}
|
|
1194
1133
|
const formattedValue = entry && formatter ? formatter(value) : defaultFormatter(value);
|
|
1195
|
-
return /* @__PURE__ */
|
|
1134
|
+
return /* @__PURE__ */ jsx50(
|
|
1196
1135
|
Table.Cell,
|
|
1197
1136
|
{
|
|
1198
1137
|
className: cn(
|
|
@@ -1211,7 +1150,7 @@ var ClientTable = ({
|
|
|
1211
1150
|
);
|
|
1212
1151
|
}) })
|
|
1213
1152
|
] }) }),
|
|
1214
|
-
/* @__PURE__ */
|
|
1153
|
+
/* @__PURE__ */ jsx50(
|
|
1215
1154
|
ClientTablePagination,
|
|
1216
1155
|
{
|
|
1217
1156
|
currentPage,
|
|
@@ -1229,12 +1168,12 @@ var ClientTable = ({
|
|
|
1229
1168
|
import { Content as Content4, Trigger as Trigger4 } from "@radix-ui/react-collapsible";
|
|
1230
1169
|
|
|
1231
1170
|
// src/components/Collapsible/CollapsibleRoot.tsx
|
|
1232
|
-
import { forwardRef as
|
|
1171
|
+
import { forwardRef as forwardRef41 } from "react";
|
|
1233
1172
|
import { Root as Root6 } from "@radix-ui/react-collapsible";
|
|
1234
|
-
import { jsx as
|
|
1235
|
-
var CollapsibleRoot =
|
|
1173
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
1174
|
+
var CollapsibleRoot = forwardRef41(
|
|
1236
1175
|
function CollapsibleRoot2(props, ref) {
|
|
1237
|
-
return /* @__PURE__ */
|
|
1176
|
+
return /* @__PURE__ */ jsx51(Root6, { ref, ...props });
|
|
1238
1177
|
}
|
|
1239
1178
|
);
|
|
1240
1179
|
|
|
@@ -1245,23 +1184,23 @@ var Collapsible = Object.assign(CollapsibleRoot, {
|
|
|
1245
1184
|
});
|
|
1246
1185
|
|
|
1247
1186
|
// src/components/Command/Command.tsx
|
|
1248
|
-
import * as
|
|
1187
|
+
import * as React12 from "react";
|
|
1249
1188
|
import { Command as CommandPrimitive7 } from "cmdk";
|
|
1250
1189
|
|
|
1251
1190
|
// src/components/Command/CommandEmpty.tsx
|
|
1252
|
-
import { forwardRef as
|
|
1191
|
+
import { forwardRef as forwardRef42 } from "react";
|
|
1253
1192
|
import { Command as CommandPrimitive } from "cmdk";
|
|
1254
|
-
import { jsx as
|
|
1255
|
-
var CommandEmpty =
|
|
1256
|
-
return /* @__PURE__ */
|
|
1193
|
+
import { jsx as jsx52 } from "react/jsx-runtime";
|
|
1194
|
+
var CommandEmpty = forwardRef42(function CommandEmpty2(props, ref) {
|
|
1195
|
+
return /* @__PURE__ */ jsx52(CommandPrimitive.Empty, { className: "py-6 text-center text-sm", ref, ...props });
|
|
1257
1196
|
});
|
|
1258
1197
|
|
|
1259
1198
|
// src/components/Command/CommandGroup.tsx
|
|
1260
|
-
import { forwardRef as
|
|
1199
|
+
import { forwardRef as forwardRef43 } from "react";
|
|
1261
1200
|
import { Command as CommandPrimitive2 } from "cmdk";
|
|
1262
|
-
import { jsx as
|
|
1263
|
-
var CommandGroup =
|
|
1264
|
-
return /* @__PURE__ */
|
|
1201
|
+
import { jsx as jsx53 } from "react/jsx-runtime";
|
|
1202
|
+
var CommandGroup = forwardRef43(function CommandGroup2({ className, ...props }, ref) {
|
|
1203
|
+
return /* @__PURE__ */ jsx53(
|
|
1265
1204
|
CommandPrimitive2.Group,
|
|
1266
1205
|
{
|
|
1267
1206
|
className: cn(
|
|
@@ -1275,16 +1214,16 @@ var CommandGroup = forwardRef45(function CommandGroup2({ className, ...props },
|
|
|
1275
1214
|
});
|
|
1276
1215
|
|
|
1277
1216
|
// src/components/Command/CommandInput.tsx
|
|
1278
|
-
import { forwardRef as
|
|
1217
|
+
import { forwardRef as forwardRef44 } from "react";
|
|
1279
1218
|
import { Command as CommandPrimitive3 } from "cmdk";
|
|
1280
1219
|
import { SearchIcon } from "lucide-react";
|
|
1281
|
-
import { jsx as
|
|
1282
|
-
var CommandInput =
|
|
1220
|
+
import { jsx as jsx54, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1221
|
+
var CommandInput = forwardRef44(function CommandInput2({ className, ...props }, ref) {
|
|
1283
1222
|
return (
|
|
1284
1223
|
// eslint-disable-next-line react/no-unknown-property
|
|
1285
|
-
/* @__PURE__ */
|
|
1286
|
-
/* @__PURE__ */
|
|
1287
|
-
/* @__PURE__ */
|
|
1224
|
+
/* @__PURE__ */ jsxs14("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
|
|
1225
|
+
/* @__PURE__ */ jsx54(SearchIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
|
|
1226
|
+
/* @__PURE__ */ jsx54(
|
|
1288
1227
|
CommandPrimitive3.Input,
|
|
1289
1228
|
{
|
|
1290
1229
|
className: cn(
|
|
@@ -1300,11 +1239,11 @@ var CommandInput = forwardRef46(function CommandInput2({ className, ...props },
|
|
|
1300
1239
|
});
|
|
1301
1240
|
|
|
1302
1241
|
// src/components/Command/CommandItem.tsx
|
|
1303
|
-
import { forwardRef as
|
|
1242
|
+
import { forwardRef as forwardRef45 } from "react";
|
|
1304
1243
|
import { Command as CommandPrimitive4 } from "cmdk";
|
|
1305
|
-
import { jsx as
|
|
1306
|
-
var CommandItem =
|
|
1307
|
-
return /* @__PURE__ */
|
|
1244
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
1245
|
+
var CommandItem = forwardRef45(function CommandItem2({ className, ...props }, ref) {
|
|
1246
|
+
return /* @__PURE__ */ jsx55(
|
|
1308
1247
|
CommandPrimitive4.Item,
|
|
1309
1248
|
{
|
|
1310
1249
|
className: cn(
|
|
@@ -1318,11 +1257,11 @@ var CommandItem = forwardRef47(function CommandItem2({ className, ...props }, re
|
|
|
1318
1257
|
});
|
|
1319
1258
|
|
|
1320
1259
|
// src/components/Command/CommandList.tsx
|
|
1321
|
-
import { forwardRef as
|
|
1260
|
+
import { forwardRef as forwardRef46 } from "react";
|
|
1322
1261
|
import { Command as CommandPrimitive5 } from "cmdk";
|
|
1323
|
-
import { jsx as
|
|
1324
|
-
var CommandList =
|
|
1325
|
-
return /* @__PURE__ */
|
|
1262
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
1263
|
+
var CommandList = forwardRef46(function CommandList2({ className, ...props }, ref) {
|
|
1264
|
+
return /* @__PURE__ */ jsx56(
|
|
1326
1265
|
CommandPrimitive5.List,
|
|
1327
1266
|
{
|
|
1328
1267
|
className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className),
|
|
@@ -1333,24 +1272,24 @@ var CommandList = forwardRef48(function CommandList2({ className, ...props }, re
|
|
|
1333
1272
|
});
|
|
1334
1273
|
|
|
1335
1274
|
// src/components/Command/CommandSeparator.tsx
|
|
1336
|
-
import { forwardRef as
|
|
1275
|
+
import { forwardRef as forwardRef47 } from "react";
|
|
1337
1276
|
import { Command as CommandPrimitive6 } from "cmdk";
|
|
1338
|
-
import { jsx as
|
|
1339
|
-
var CommandSeparator =
|
|
1340
|
-
return /* @__PURE__ */
|
|
1277
|
+
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
1278
|
+
var CommandSeparator = forwardRef47(function CommandSeparator2({ className, ...props }, ref) {
|
|
1279
|
+
return /* @__PURE__ */ jsx57(CommandPrimitive6.Separator, { className: cn("-mx-1 h-px bg-border", className), ref, ...props });
|
|
1341
1280
|
});
|
|
1342
1281
|
|
|
1343
1282
|
// src/components/Command/CommandShortcut.tsx
|
|
1344
1283
|
import "react";
|
|
1345
|
-
import { jsx as
|
|
1284
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
1346
1285
|
var CommandShortcut = ({ className, ...props }) => {
|
|
1347
|
-
return /* @__PURE__ */
|
|
1286
|
+
return /* @__PURE__ */ jsx58("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
|
|
1348
1287
|
};
|
|
1349
1288
|
|
|
1350
1289
|
// src/components/Command/Command.tsx
|
|
1351
|
-
import { jsx as
|
|
1352
|
-
var CommandRoot =
|
|
1353
|
-
return /* @__PURE__ */
|
|
1290
|
+
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
1291
|
+
var CommandRoot = React12.forwardRef(function Command({ className, ...props }, ref) {
|
|
1292
|
+
return /* @__PURE__ */ jsx59(
|
|
1354
1293
|
CommandPrimitive7,
|
|
1355
1294
|
{
|
|
1356
1295
|
className: cn(
|
|
@@ -1376,12 +1315,12 @@ var Command2 = Object.assign(CommandRoot, {
|
|
|
1376
1315
|
import { Group as Group2, Portal as Portal5, RadioGroup as RadioGroup2, Root as Root7, Sub as Sub2, Trigger as Trigger5 } from "@radix-ui/react-context-menu";
|
|
1377
1316
|
|
|
1378
1317
|
// src/components/ContextMenu/ContextMenuCheckboxItem.tsx
|
|
1379
|
-
import { forwardRef as
|
|
1318
|
+
import { forwardRef as forwardRef49 } from "react";
|
|
1380
1319
|
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
1381
1320
|
import { CheckIcon as CheckIcon3 } from "lucide-react";
|
|
1382
|
-
import { jsx as
|
|
1383
|
-
var ContextMenuCheckboxItem =
|
|
1384
|
-
return /* @__PURE__ */
|
|
1321
|
+
import { jsx as jsx60, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1322
|
+
var ContextMenuCheckboxItem = forwardRef49(function ContextMenuCheckboxItem2({ checked, children, className, ...props }, ref) {
|
|
1323
|
+
return /* @__PURE__ */ jsxs15(
|
|
1385
1324
|
ContextMenuPrimitive.CheckboxItem,
|
|
1386
1325
|
{
|
|
1387
1326
|
checked,
|
|
@@ -1392,7 +1331,7 @@ var ContextMenuCheckboxItem = forwardRef51(function ContextMenuCheckboxItem2({ c
|
|
|
1392
1331
|
ref,
|
|
1393
1332
|
...props,
|
|
1394
1333
|
children: [
|
|
1395
|
-
/* @__PURE__ */
|
|
1334
|
+
/* @__PURE__ */ jsx60("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx60(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx60(CheckIcon3, { className: "h-4 w-4" }) }) }),
|
|
1396
1335
|
children
|
|
1397
1336
|
]
|
|
1398
1337
|
}
|
|
@@ -1400,11 +1339,11 @@ var ContextMenuCheckboxItem = forwardRef51(function ContextMenuCheckboxItem2({ c
|
|
|
1400
1339
|
});
|
|
1401
1340
|
|
|
1402
1341
|
// src/components/ContextMenu/ContextMenuContent.tsx
|
|
1403
|
-
import { forwardRef as
|
|
1342
|
+
import { forwardRef as forwardRef50 } from "react";
|
|
1404
1343
|
import * as ContextMenuPrimitive2 from "@radix-ui/react-context-menu";
|
|
1405
|
-
import { jsx as
|
|
1406
|
-
var ContextMenuContent =
|
|
1407
|
-
return /* @__PURE__ */
|
|
1344
|
+
import { jsx as jsx61 } from "react/jsx-runtime";
|
|
1345
|
+
var ContextMenuContent = forwardRef50(function ContextMenuContent2({ className, ...props }, ref) {
|
|
1346
|
+
return /* @__PURE__ */ jsx61(ContextMenuPrimitive2.Portal, { children: /* @__PURE__ */ jsx61(
|
|
1408
1347
|
ContextMenuPrimitive2.Content,
|
|
1409
1348
|
{
|
|
1410
1349
|
className: cn(
|
|
@@ -1418,11 +1357,11 @@ var ContextMenuContent = forwardRef52(function ContextMenuContent2({ className,
|
|
|
1418
1357
|
});
|
|
1419
1358
|
|
|
1420
1359
|
// src/components/ContextMenu/ContextMenuItem.tsx
|
|
1421
|
-
import { forwardRef as
|
|
1360
|
+
import { forwardRef as forwardRef51 } from "react";
|
|
1422
1361
|
import * as ContextMenuPrimitive3 from "@radix-ui/react-context-menu";
|
|
1423
|
-
import { jsx as
|
|
1424
|
-
var ContextMenuItem =
|
|
1425
|
-
return /* @__PURE__ */
|
|
1362
|
+
import { jsx as jsx62 } from "react/jsx-runtime";
|
|
1363
|
+
var ContextMenuItem = forwardRef51(function ContextMenuItem2({ className, inset, ...props }, ref) {
|
|
1364
|
+
return /* @__PURE__ */ jsx62(
|
|
1426
1365
|
ContextMenuPrimitive3.Item,
|
|
1427
1366
|
{
|
|
1428
1367
|
className: cn(
|
|
@@ -1437,11 +1376,11 @@ var ContextMenuItem = forwardRef53(function ContextMenuItem2({ className, inset,
|
|
|
1437
1376
|
});
|
|
1438
1377
|
|
|
1439
1378
|
// src/components/ContextMenu/ContextMenuLabel.tsx
|
|
1440
|
-
import { forwardRef as
|
|
1379
|
+
import { forwardRef as forwardRef52 } from "react";
|
|
1441
1380
|
import * as ContextMenuPrimitive4 from "@radix-ui/react-context-menu";
|
|
1442
|
-
import { jsx as
|
|
1443
|
-
var ContextMenuLabel =
|
|
1444
|
-
return /* @__PURE__ */
|
|
1381
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
1382
|
+
var ContextMenuLabel = forwardRef52(function ContextMenuLabel2({ className, inset, ...props }, ref) {
|
|
1383
|
+
return /* @__PURE__ */ jsx63(
|
|
1445
1384
|
ContextMenuPrimitive4.Label,
|
|
1446
1385
|
{
|
|
1447
1386
|
className: cn("px-2 py-1.5 text-sm font-semibold text-foreground", inset && "pl-8", className),
|
|
@@ -1452,12 +1391,12 @@ var ContextMenuLabel = forwardRef54(function ContextMenuLabel2({ className, inse
|
|
|
1452
1391
|
});
|
|
1453
1392
|
|
|
1454
1393
|
// src/components/ContextMenu/ContextMenuRadioItem.tsx
|
|
1455
|
-
import { forwardRef as
|
|
1394
|
+
import { forwardRef as forwardRef53 } from "react";
|
|
1456
1395
|
import * as ContextMenuPrimitive5 from "@radix-ui/react-context-menu";
|
|
1457
1396
|
import { CircleIcon as CircleIcon2 } from "lucide-react";
|
|
1458
|
-
import { jsx as
|
|
1459
|
-
var ContextMenuRadioItem =
|
|
1460
|
-
return /* @__PURE__ */
|
|
1397
|
+
import { jsx as jsx64, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1398
|
+
var ContextMenuRadioItem = forwardRef53(function ContextMenuRadioItem2({ children, className, ...props }, ref) {
|
|
1399
|
+
return /* @__PURE__ */ jsxs16(
|
|
1461
1400
|
ContextMenuPrimitive5.RadioItem,
|
|
1462
1401
|
{
|
|
1463
1402
|
className: cn(
|
|
@@ -1467,7 +1406,7 @@ var ContextMenuRadioItem = forwardRef55(function ContextMenuRadioItem2({ childre
|
|
|
1467
1406
|
ref,
|
|
1468
1407
|
...props,
|
|
1469
1408
|
children: [
|
|
1470
|
-
/* @__PURE__ */
|
|
1409
|
+
/* @__PURE__ */ jsx64("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx64(ContextMenuPrimitive5.ItemIndicator, { children: /* @__PURE__ */ jsx64(CircleIcon2, { className: "fill-current", style: { height: 8, width: 8 } }) }) }),
|
|
1471
1410
|
children
|
|
1472
1411
|
]
|
|
1473
1412
|
}
|
|
@@ -1475,26 +1414,26 @@ var ContextMenuRadioItem = forwardRef55(function ContextMenuRadioItem2({ childre
|
|
|
1475
1414
|
});
|
|
1476
1415
|
|
|
1477
1416
|
// src/components/ContextMenu/ContextMenuSeparator.tsx
|
|
1478
|
-
import { forwardRef as
|
|
1417
|
+
import { forwardRef as forwardRef54 } from "react";
|
|
1479
1418
|
import * as ContextMenuPrimitive6 from "@radix-ui/react-context-menu";
|
|
1480
|
-
import { jsx as
|
|
1481
|
-
var ContextMenuSeparator =
|
|
1482
|
-
return /* @__PURE__ */
|
|
1419
|
+
import { jsx as jsx65 } from "react/jsx-runtime";
|
|
1420
|
+
var ContextMenuSeparator = forwardRef54(function ContextMenuSeparator2({ className, ...props }, ref) {
|
|
1421
|
+
return /* @__PURE__ */ jsx65(ContextMenuPrimitive6.Separator, { className: cn("-mx-1 my-1 h-px bg-border", className), ref, ...props });
|
|
1483
1422
|
});
|
|
1484
1423
|
|
|
1485
1424
|
// src/components/ContextMenu/ContextMenuShortcut.tsx
|
|
1486
1425
|
import "react";
|
|
1487
|
-
import { jsx as
|
|
1426
|
+
import { jsx as jsx66 } from "react/jsx-runtime";
|
|
1488
1427
|
var ContextMenuShortcut = ({ className, ...props }) => {
|
|
1489
|
-
return /* @__PURE__ */
|
|
1428
|
+
return /* @__PURE__ */ jsx66("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
|
|
1490
1429
|
};
|
|
1491
1430
|
|
|
1492
1431
|
// src/components/ContextMenu/ContextMenuSubContent.tsx
|
|
1493
|
-
import { forwardRef as
|
|
1432
|
+
import { forwardRef as forwardRef55 } from "react";
|
|
1494
1433
|
import * as ContextMenuPrimitive7 from "@radix-ui/react-context-menu";
|
|
1495
|
-
import { jsx as
|
|
1496
|
-
var ContextMenuSubContent =
|
|
1497
|
-
return /* @__PURE__ */
|
|
1434
|
+
import { jsx as jsx67 } from "react/jsx-runtime";
|
|
1435
|
+
var ContextMenuSubContent = forwardRef55(function ContextMenuSubContent2({ className, ...props }, ref) {
|
|
1436
|
+
return /* @__PURE__ */ jsx67(
|
|
1498
1437
|
ContextMenuPrimitive7.SubContent,
|
|
1499
1438
|
{
|
|
1500
1439
|
className: cn(
|
|
@@ -1508,12 +1447,12 @@ var ContextMenuSubContent = forwardRef57(function ContextMenuSubContent2({ class
|
|
|
1508
1447
|
});
|
|
1509
1448
|
|
|
1510
1449
|
// src/components/ContextMenu/ContextMenuSubTrigger.tsx
|
|
1511
|
-
import { forwardRef as
|
|
1450
|
+
import { forwardRef as forwardRef56 } from "react";
|
|
1512
1451
|
import * as ContextMenuPrimitive8 from "@radix-ui/react-context-menu";
|
|
1513
1452
|
import { ChevronRightIcon as ChevronRightIcon3 } from "lucide-react";
|
|
1514
|
-
import { jsx as
|
|
1515
|
-
var ContextMenuSubTrigger =
|
|
1516
|
-
return /* @__PURE__ */
|
|
1453
|
+
import { jsx as jsx68, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1454
|
+
var ContextMenuSubTrigger = forwardRef56(function ContextMenuSubTrigger2({ children, className, inset, ...props }, ref) {
|
|
1455
|
+
return /* @__PURE__ */ jsxs17(
|
|
1517
1456
|
ContextMenuPrimitive8.SubTrigger,
|
|
1518
1457
|
{
|
|
1519
1458
|
className: cn(
|
|
@@ -1525,7 +1464,7 @@ var ContextMenuSubTrigger = forwardRef58(function ContextMenuSubTrigger2({ child
|
|
|
1525
1464
|
...props,
|
|
1526
1465
|
children: [
|
|
1527
1466
|
children,
|
|
1528
|
-
/* @__PURE__ */
|
|
1467
|
+
/* @__PURE__ */ jsx68(ChevronRightIcon3, { className: "ml-auto h-4 w-4" })
|
|
1529
1468
|
]
|
|
1530
1469
|
}
|
|
1531
1470
|
);
|
|
@@ -1554,14 +1493,14 @@ import { useState as useState2 } from "react";
|
|
|
1554
1493
|
import { ClipboardCheckIcon, ClipboardListIcon } from "lucide-react";
|
|
1555
1494
|
import { AnimatePresence, motion } from "motion/react";
|
|
1556
1495
|
import { match } from "ts-pattern";
|
|
1557
|
-
import { jsx as
|
|
1496
|
+
import { jsx as jsx69 } from "react/jsx-runtime";
|
|
1558
1497
|
var CopyButton = ({
|
|
1559
1498
|
size,
|
|
1560
1499
|
text,
|
|
1561
1500
|
variant
|
|
1562
1501
|
}) => {
|
|
1563
1502
|
const [state, setState] = useState2("READY");
|
|
1564
|
-
return /* @__PURE__ */
|
|
1503
|
+
return /* @__PURE__ */ jsx69(
|
|
1565
1504
|
Button,
|
|
1566
1505
|
{
|
|
1567
1506
|
size: size ?? "icon",
|
|
@@ -1575,14 +1514,14 @@ var CopyButton = ({
|
|
|
1575
1514
|
onMouseLeave: () => {
|
|
1576
1515
|
setState("READY");
|
|
1577
1516
|
},
|
|
1578
|
-
children: /* @__PURE__ */
|
|
1517
|
+
children: /* @__PURE__ */ jsx69(AnimatePresence, { mode: "popLayout", children: /* @__PURE__ */ jsx69(
|
|
1579
1518
|
motion.div,
|
|
1580
1519
|
{
|
|
1581
1520
|
animate: { opacity: 1 },
|
|
1582
1521
|
exit: { opacity: 0 },
|
|
1583
1522
|
initial: { opacity: 0 },
|
|
1584
1523
|
transition: { duration: 0.1 },
|
|
1585
|
-
children: match(state).with("READY", () => /* @__PURE__ */
|
|
1524
|
+
children: match(state).with("READY", () => /* @__PURE__ */ jsx69(ClipboardListIcon, {})).with("SUCCESS", () => /* @__PURE__ */ jsx69(ClipboardCheckIcon, {})).exhaustive()
|
|
1586
1525
|
},
|
|
1587
1526
|
state
|
|
1588
1527
|
) })
|
|
@@ -1607,10 +1546,10 @@ import { ArrowUpDownIcon, ChevronLeftIcon, ChevronRightIcon as ChevronRightIcon4
|
|
|
1607
1546
|
import { SearchIcon as SearchIcon2 } from "lucide-react";
|
|
1608
1547
|
|
|
1609
1548
|
// src/components/Input/Input.tsx
|
|
1610
|
-
import * as
|
|
1611
|
-
import { jsx as
|
|
1612
|
-
var Input =
|
|
1613
|
-
return /* @__PURE__ */
|
|
1549
|
+
import * as React15 from "react";
|
|
1550
|
+
import { jsx as jsx70 } from "react/jsx-runtime";
|
|
1551
|
+
var Input = React15.forwardRef(function Input2({ className, type, ...props }, ref) {
|
|
1552
|
+
return /* @__PURE__ */ jsx70(
|
|
1614
1553
|
"input",
|
|
1615
1554
|
{
|
|
1616
1555
|
autoComplete: "off",
|
|
@@ -1627,7 +1566,7 @@ var Input = React17.forwardRef(function Input2({ className, type, ...props }, re
|
|
|
1627
1566
|
});
|
|
1628
1567
|
|
|
1629
1568
|
// src/components/SearchBar/SearchBar.tsx
|
|
1630
|
-
import { jsx as
|
|
1569
|
+
import { jsx as jsx71, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1631
1570
|
var SearchBar = ({
|
|
1632
1571
|
className,
|
|
1633
1572
|
onClick,
|
|
@@ -1638,9 +1577,9 @@ var SearchBar = ({
|
|
|
1638
1577
|
...props
|
|
1639
1578
|
}) => {
|
|
1640
1579
|
const { t } = useTranslation("libui");
|
|
1641
|
-
return /* @__PURE__ */
|
|
1642
|
-
/* @__PURE__ */
|
|
1643
|
-
/* @__PURE__ */
|
|
1580
|
+
return /* @__PURE__ */ jsxs18("form", { className: cn("relative", className), ...props, children: [
|
|
1581
|
+
/* @__PURE__ */ jsx71(SearchIcon2, { className: "absolute left-2 top-2.5 h-4 w-4 text-muted-foreground" }),
|
|
1582
|
+
/* @__PURE__ */ jsx71(
|
|
1644
1583
|
Input,
|
|
1645
1584
|
{
|
|
1646
1585
|
className: "pl-8",
|
|
@@ -1657,110 +1596,11 @@ var SearchBar = ({
|
|
|
1657
1596
|
] });
|
|
1658
1597
|
};
|
|
1659
1598
|
|
|
1660
|
-
// src/components/Dialog/Dialog.tsx
|
|
1661
|
-
import { Root as Root8, Trigger as Trigger6 } from "@radix-ui/react-dialog";
|
|
1662
|
-
|
|
1663
|
-
// src/components/Dialog/DialogBody.tsx
|
|
1664
|
-
import "react";
|
|
1665
|
-
import { jsx as jsx74 } from "react/jsx-runtime";
|
|
1666
|
-
var DialogBody = ({
|
|
1667
|
-
children,
|
|
1668
|
-
className,
|
|
1669
|
-
...props
|
|
1670
|
-
}) => {
|
|
1671
|
-
return /* @__PURE__ */ jsx74("div", { className: cn("py-4", className), ...props, children });
|
|
1672
|
-
};
|
|
1673
|
-
|
|
1674
|
-
// src/components/Dialog/DialogContent.tsx
|
|
1675
|
-
import { forwardRef as forwardRef61 } from "react";
|
|
1676
|
-
import { Close, Content as Content6, Portal as Portal6 } from "@radix-ui/react-dialog";
|
|
1677
|
-
import { XIcon } from "lucide-react";
|
|
1678
|
-
|
|
1679
|
-
// src/components/Dialog/DialogOverlay.tsx
|
|
1680
|
-
import { forwardRef as forwardRef60 } from "react";
|
|
1681
|
-
import { Overlay as Overlay2 } from "@radix-ui/react-dialog";
|
|
1682
|
-
import { jsx as jsx75 } from "react/jsx-runtime";
|
|
1683
|
-
var DialogOverlay = forwardRef60(function DialogOverlay2({ className, ...props }, ref) {
|
|
1684
|
-
return /* @__PURE__ */ jsx75(
|
|
1685
|
-
Overlay2,
|
|
1686
|
-
{
|
|
1687
|
-
className: cn(
|
|
1688
|
-
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80 duration-200",
|
|
1689
|
-
className
|
|
1690
|
-
),
|
|
1691
|
-
ref,
|
|
1692
|
-
...props
|
|
1693
|
-
}
|
|
1694
|
-
);
|
|
1695
|
-
});
|
|
1696
|
-
|
|
1697
|
-
// src/components/Dialog/DialogContent.tsx
|
|
1698
|
-
import { jsx as jsx76, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1699
|
-
var DialogContent = forwardRef61(function DialogContent2({ children, className, ...props }, ref) {
|
|
1700
|
-
return /* @__PURE__ */ jsxs20(Portal6, { children: [
|
|
1701
|
-
/* @__PURE__ */ jsx76(DialogOverlay, {}),
|
|
1702
|
-
/* @__PURE__ */ jsxs20(
|
|
1703
|
-
Content6,
|
|
1704
|
-
{
|
|
1705
|
-
className: cn(
|
|
1706
|
-
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",
|
|
1707
|
-
className
|
|
1708
|
-
),
|
|
1709
|
-
ref,
|
|
1710
|
-
...props,
|
|
1711
|
-
children: [
|
|
1712
|
-
children,
|
|
1713
|
-
/* @__PURE__ */ jsx76(Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: /* @__PURE__ */ jsx76(XIcon, { className: "h-4 w-4" }) })
|
|
1714
|
-
]
|
|
1715
|
-
}
|
|
1716
|
-
)
|
|
1717
|
-
] });
|
|
1718
|
-
});
|
|
1719
|
-
|
|
1720
|
-
// src/components/Dialog/DialogDescription.tsx
|
|
1721
|
-
import { forwardRef as forwardRef62 } from "react";
|
|
1722
|
-
import { Description as Description2 } from "@radix-ui/react-dialog";
|
|
1723
|
-
import { jsx as jsx77 } from "react/jsx-runtime";
|
|
1724
|
-
var DialogDescription = forwardRef62(function DialogDescription2({ className, ...props }, ref) {
|
|
1725
|
-
return /* @__PURE__ */ jsx77(Description2, { className: cn("text-sm text-muted-foreground", className), ref, ...props });
|
|
1726
|
-
});
|
|
1727
|
-
|
|
1728
|
-
// src/components/Dialog/DialogFooter.tsx
|
|
1729
|
-
import "react";
|
|
1730
|
-
import { jsx as jsx78 } from "react/jsx-runtime";
|
|
1731
|
-
var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx78("div", { className: cn("flex flex-col gap-x-2 gap-y-0.5 sm:flex-row", className), ...props });
|
|
1732
|
-
|
|
1733
|
-
// src/components/Dialog/DialogHeader.tsx
|
|
1734
|
-
import "react";
|
|
1735
|
-
import { jsx as jsx79 } from "react/jsx-runtime";
|
|
1736
|
-
var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx79("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
|
|
1737
|
-
|
|
1738
|
-
// src/components/Dialog/DialogTitle.tsx
|
|
1739
|
-
import { forwardRef as forwardRef63 } from "react";
|
|
1740
|
-
import { Title as Title2 } from "@radix-ui/react-dialog";
|
|
1741
|
-
import { jsx as jsx80 } from "react/jsx-runtime";
|
|
1742
|
-
var DialogTitle = forwardRef63(
|
|
1743
|
-
function DialogTitle2({ className, ...props }, ref) {
|
|
1744
|
-
return /* @__PURE__ */ jsx80(Title2, { className: cn("text-lg font-semibold leading-none tracking-tight", className), ref, ...props });
|
|
1745
|
-
}
|
|
1746
|
-
);
|
|
1747
|
-
|
|
1748
|
-
// src/components/Dialog/Dialog.tsx
|
|
1749
|
-
var Dialog = Object.assign(Root8.bind(null), {
|
|
1750
|
-
Body: DialogBody,
|
|
1751
|
-
Content: DialogContent,
|
|
1752
|
-
Description: DialogDescription,
|
|
1753
|
-
Footer: DialogFooter,
|
|
1754
|
-
Header: DialogHeader,
|
|
1755
|
-
Title: DialogTitle,
|
|
1756
|
-
Trigger: Trigger6
|
|
1757
|
-
});
|
|
1758
|
-
|
|
1759
1599
|
// src/components/DataTable/DestructiveActionDialog.tsx
|
|
1760
|
-
import { jsx as
|
|
1600
|
+
import { jsx as jsx72, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1761
1601
|
var DestructiveActionDialog = ({ destructiveActionPending, setDestructiveActionPending }) => {
|
|
1762
1602
|
const { t } = useTranslation();
|
|
1763
|
-
return /* @__PURE__ */
|
|
1603
|
+
return /* @__PURE__ */ jsx72(
|
|
1764
1604
|
Dialog,
|
|
1765
1605
|
{
|
|
1766
1606
|
open: destructiveActionPending !== null,
|
|
@@ -1769,19 +1609,19 @@ var DestructiveActionDialog = ({ destructiveActionPending, setDestructiveActionP
|
|
|
1769
1609
|
setDestructiveActionPending(null);
|
|
1770
1610
|
}
|
|
1771
1611
|
},
|
|
1772
|
-
children: /* @__PURE__ */
|
|
1773
|
-
/* @__PURE__ */
|
|
1774
|
-
/* @__PURE__ */
|
|
1612
|
+
children: /* @__PURE__ */ jsxs19(Dialog.Content, { onOpenAutoFocus: (event) => event.preventDefault(), children: [
|
|
1613
|
+
/* @__PURE__ */ jsxs19(Dialog.Header, { children: [
|
|
1614
|
+
/* @__PURE__ */ jsx72(Dialog.Title, { children: t({
|
|
1775
1615
|
en: "Confirm Action",
|
|
1776
1616
|
fr: "Confirmer l'action"
|
|
1777
1617
|
}) }),
|
|
1778
|
-
/* @__PURE__ */
|
|
1618
|
+
/* @__PURE__ */ jsx72(Dialog.Description, { children: t({
|
|
1779
1619
|
en: "This action cannot be reversed. Please confirm that you would like to continue.",
|
|
1780
1620
|
fr: "Cette action ne peut \xEAtre invers\xE9e. Veuillez confirmer que vous souhaitez poursuivre."
|
|
1781
1621
|
}) })
|
|
1782
1622
|
] }),
|
|
1783
|
-
/* @__PURE__ */
|
|
1784
|
-
/* @__PURE__ */
|
|
1623
|
+
/* @__PURE__ */ jsxs19(Dialog.Footer, { children: [
|
|
1624
|
+
/* @__PURE__ */ jsx72(
|
|
1785
1625
|
Button,
|
|
1786
1626
|
{
|
|
1787
1627
|
className: "min-w-16",
|
|
@@ -1794,7 +1634,7 @@ var DestructiveActionDialog = ({ destructiveActionPending, setDestructiveActionP
|
|
|
1794
1634
|
children: t("libui.yes")
|
|
1795
1635
|
}
|
|
1796
1636
|
),
|
|
1797
|
-
/* @__PURE__ */
|
|
1637
|
+
/* @__PURE__ */ jsx72(
|
|
1798
1638
|
Button,
|
|
1799
1639
|
{
|
|
1800
1640
|
className: "min-w-16",
|
|
@@ -1812,21 +1652,21 @@ var DestructiveActionDialog = ({ destructiveActionPending, setDestructiveActionP
|
|
|
1812
1652
|
|
|
1813
1653
|
// src/components/DataTable/RowActionsDropdown.tsx
|
|
1814
1654
|
import { MoreHorizontalIcon as MoreHorizontalIcon2 } from "lucide-react";
|
|
1815
|
-
import { jsx as
|
|
1655
|
+
import { jsx as jsx73, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1816
1656
|
var RowActionsDropdown = ({
|
|
1817
1657
|
row,
|
|
1818
1658
|
rowActions,
|
|
1819
1659
|
setDestructiveActionPending
|
|
1820
1660
|
}) => {
|
|
1821
1661
|
const { t } = useTranslation();
|
|
1822
|
-
return /* @__PURE__ */
|
|
1823
|
-
/* @__PURE__ */
|
|
1824
|
-
/* @__PURE__ */
|
|
1825
|
-
/* @__PURE__ */
|
|
1662
|
+
return /* @__PURE__ */ jsx73("div", { className: "flex w-full justify-end", children: /* @__PURE__ */ jsxs20(DropdownMenu, { children: [
|
|
1663
|
+
/* @__PURE__ */ jsx73(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ jsx73(Button, { className: "-m-1.5", size: "icon", variant: "ghost", children: /* @__PURE__ */ jsx73(MoreHorizontalIcon2, { className: "h-4 w-4" }) }) }),
|
|
1664
|
+
/* @__PURE__ */ jsxs20(DropdownMenu.Content, { align: "end", children: [
|
|
1665
|
+
/* @__PURE__ */ jsx73(DropdownMenu.Label, { children: t({
|
|
1826
1666
|
en: "Actions",
|
|
1827
1667
|
fr: "Actions"
|
|
1828
1668
|
}) }),
|
|
1829
|
-
rowActions.map(({ destructive, label, onSelect }, i) => /* @__PURE__ */
|
|
1669
|
+
rowActions.map(({ destructive, label, onSelect }, i) => /* @__PURE__ */ jsx73(
|
|
1830
1670
|
DropdownMenu.Item,
|
|
1831
1671
|
{
|
|
1832
1672
|
className: destructive ? "text-destructive" : void 0,
|
|
@@ -1846,7 +1686,7 @@ var RowActionsDropdown = ({
|
|
|
1846
1686
|
};
|
|
1847
1687
|
|
|
1848
1688
|
// src/components/DataTable/DataTable.tsx
|
|
1849
|
-
import { jsx as
|
|
1689
|
+
import { jsx as jsx74, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
1850
1690
|
function isStaticColumn(column) {
|
|
1851
1691
|
return typeof column.key === "string";
|
|
1852
1692
|
}
|
|
@@ -1872,14 +1712,14 @@ var DataTable = ({
|
|
|
1872
1712
|
if (isStaticColumn(col)) {
|
|
1873
1713
|
def = {
|
|
1874
1714
|
accessorKey: col.key,
|
|
1875
|
-
header: col.sortable ? ({ column }) => /* @__PURE__ */
|
|
1715
|
+
header: col.sortable ? ({ column }) => /* @__PURE__ */ jsxs21(
|
|
1876
1716
|
"button",
|
|
1877
1717
|
{
|
|
1878
1718
|
className: "flex items-center justify-between gap-2",
|
|
1879
1719
|
onClick: () => column.toggleSorting(column.getIsSorted() === "asc"),
|
|
1880
1720
|
children: [
|
|
1881
1721
|
col.label,
|
|
1882
|
-
/* @__PURE__ */
|
|
1722
|
+
/* @__PURE__ */ jsx74(ArrowUpDownIcon, { className: "h-4 w-4" })
|
|
1883
1723
|
]
|
|
1884
1724
|
}
|
|
1885
1725
|
) : col.label
|
|
@@ -1890,7 +1730,7 @@ var DataTable = ({
|
|
|
1890
1730
|
if (typeof col.format === "function") {
|
|
1891
1731
|
return col.format(value);
|
|
1892
1732
|
} else if (col.format === "email") {
|
|
1893
|
-
return /* @__PURE__ */
|
|
1733
|
+
return /* @__PURE__ */ jsx74("a", { className: "hover:underline", href: `mailto:${value}`, children: value });
|
|
1894
1734
|
}
|
|
1895
1735
|
return value;
|
|
1896
1736
|
};
|
|
@@ -1906,7 +1746,7 @@ var DataTable = ({
|
|
|
1906
1746
|
if (rowActions) {
|
|
1907
1747
|
result.push({
|
|
1908
1748
|
cell: ({ row }) => {
|
|
1909
|
-
return /* @__PURE__ */
|
|
1749
|
+
return /* @__PURE__ */ jsx74(
|
|
1910
1750
|
RowActionsDropdown,
|
|
1911
1751
|
{
|
|
1912
1752
|
row,
|
|
@@ -1948,16 +1788,16 @@ var DataTable = ({
|
|
|
1948
1788
|
const start = Math.max(0, Math.min(currentPage - 1, pageCount - 3));
|
|
1949
1789
|
const end = Math.min(start + 3, pageCount);
|
|
1950
1790
|
const pageIndexOptions = range2(start, end);
|
|
1951
|
-
return /* @__PURE__ */
|
|
1952
|
-
/* @__PURE__ */
|
|
1791
|
+
return /* @__PURE__ */ jsxs21("div", { className: "flex flex-col", children: [
|
|
1792
|
+
/* @__PURE__ */ jsx74(
|
|
1953
1793
|
DestructiveActionDialog,
|
|
1954
1794
|
{
|
|
1955
1795
|
destructiveActionPending,
|
|
1956
1796
|
setDestructiveActionPending
|
|
1957
1797
|
}
|
|
1958
1798
|
),
|
|
1959
|
-
search && /* @__PURE__ */
|
|
1960
|
-
/* @__PURE__ */
|
|
1799
|
+
search && /* @__PURE__ */ jsxs21("div", { className: "flex items-center gap-4 py-4", children: [
|
|
1800
|
+
/* @__PURE__ */ jsx74(
|
|
1961
1801
|
SearchBar,
|
|
1962
1802
|
{
|
|
1963
1803
|
className: "grow",
|
|
@@ -1966,19 +1806,19 @@ var DataTable = ({
|
|
|
1966
1806
|
onValueChange: setSearchValue
|
|
1967
1807
|
}
|
|
1968
1808
|
),
|
|
1969
|
-
headerActions && /* @__PURE__ */
|
|
1809
|
+
headerActions && /* @__PURE__ */ jsx74("div", { className: "flex gap-2", children: headerActions.map(({ label, onClick }, i) => /* @__PURE__ */ jsx74(Button, { type: "button", variant: "outline", onClick, children: label }, i)) })
|
|
1970
1810
|
] }),
|
|
1971
|
-
/* @__PURE__ */
|
|
1972
|
-
/* @__PURE__ */
|
|
1973
|
-
return /* @__PURE__ */
|
|
1811
|
+
/* @__PURE__ */ jsx74("div", { className: "rounded-md border", children: /* @__PURE__ */ jsxs21(Table, { children: [
|
|
1812
|
+
/* @__PURE__ */ jsx74(Table.Header, { children: headerGroups.map((headerGroup) => /* @__PURE__ */ jsx74(Table.Row, { children: headerGroup.headers.map((header) => {
|
|
1813
|
+
return /* @__PURE__ */ jsx74(Table.Head, { children: header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext()) }, header.id);
|
|
1974
1814
|
}) }, headerGroup.id)) }),
|
|
1975
|
-
/* @__PURE__ */
|
|
1815
|
+
/* @__PURE__ */ jsx74(Table.Body, { children: rows?.length ? rows.map((row) => /* @__PURE__ */ jsx74(Table.Row, { "data-state": row.getIsSelected() && "selected", children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx74(Table.Cell, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id)) }, row.id)) : /* @__PURE__ */ jsx74(Table.Row, { children: /* @__PURE__ */ jsx74(Table.Cell, { className: "h-24 text-center", colSpan: rowActions ? columns.length + 1 : columns.length, children: t({
|
|
1976
1816
|
en: "No Results",
|
|
1977
1817
|
fr: "Aucun r\xE9sultat"
|
|
1978
1818
|
}) }) }) })
|
|
1979
1819
|
] }) }),
|
|
1980
|
-
/* @__PURE__ */
|
|
1981
|
-
/* @__PURE__ */
|
|
1820
|
+
/* @__PURE__ */ jsxs21("div", { className: "flex w-min gap-0.5 py-4 [&>button]:h-9", children: [
|
|
1821
|
+
/* @__PURE__ */ jsx74(
|
|
1982
1822
|
Button,
|
|
1983
1823
|
{
|
|
1984
1824
|
disabled: !table.getCanPreviousPage(),
|
|
@@ -1986,10 +1826,10 @@ var DataTable = ({
|
|
|
1986
1826
|
type: "button",
|
|
1987
1827
|
variant: "ghost",
|
|
1988
1828
|
onClick: () => table.firstPage(),
|
|
1989
|
-
children: /* @__PURE__ */
|
|
1829
|
+
children: /* @__PURE__ */ jsx74(ChevronsLeftIcon, { className: "h-4 w-4" })
|
|
1990
1830
|
}
|
|
1991
1831
|
),
|
|
1992
|
-
/* @__PURE__ */
|
|
1832
|
+
/* @__PURE__ */ jsx74(
|
|
1993
1833
|
Button,
|
|
1994
1834
|
{
|
|
1995
1835
|
disabled: !table.getCanPreviousPage(),
|
|
@@ -1997,10 +1837,10 @@ var DataTable = ({
|
|
|
1997
1837
|
type: "button",
|
|
1998
1838
|
variant: "ghost",
|
|
1999
1839
|
onClick: () => table.previousPage(),
|
|
2000
|
-
children: /* @__PURE__ */
|
|
1840
|
+
children: /* @__PURE__ */ jsx74(ChevronLeftIcon, { className: "h-4 w-4" })
|
|
2001
1841
|
}
|
|
2002
1842
|
),
|
|
2003
|
-
pageIndexOptions.map((index) => /* @__PURE__ */
|
|
1843
|
+
pageIndexOptions.map((index) => /* @__PURE__ */ jsx74(
|
|
2004
1844
|
Button,
|
|
2005
1845
|
{
|
|
2006
1846
|
size: "icon",
|
|
@@ -2011,7 +1851,7 @@ var DataTable = ({
|
|
|
2011
1851
|
},
|
|
2012
1852
|
index
|
|
2013
1853
|
)),
|
|
2014
|
-
/* @__PURE__ */
|
|
1854
|
+
/* @__PURE__ */ jsx74(
|
|
2015
1855
|
Button,
|
|
2016
1856
|
{
|
|
2017
1857
|
disabled: !table.getCanNextPage(),
|
|
@@ -2019,10 +1859,10 @@ var DataTable = ({
|
|
|
2019
1859
|
type: "button",
|
|
2020
1860
|
variant: "ghost",
|
|
2021
1861
|
onClick: () => table.nextPage(),
|
|
2022
|
-
children: /* @__PURE__ */
|
|
1862
|
+
children: /* @__PURE__ */ jsx74(ChevronRightIcon4, { className: "h-4 w-4" })
|
|
2023
1863
|
}
|
|
2024
1864
|
),
|
|
2025
|
-
/* @__PURE__ */
|
|
1865
|
+
/* @__PURE__ */ jsx74(
|
|
2026
1866
|
Button,
|
|
2027
1867
|
{
|
|
2028
1868
|
disabled: !table.getCanNextPage(),
|
|
@@ -2030,7 +1870,7 @@ var DataTable = ({
|
|
|
2030
1870
|
type: "button",
|
|
2031
1871
|
variant: "ghost",
|
|
2032
1872
|
onClick: () => table.lastPage(),
|
|
2033
|
-
children: /* @__PURE__ */
|
|
1873
|
+
children: /* @__PURE__ */ jsx74(ChevronsRightIcon, { className: "h-4 w-4" })
|
|
2034
1874
|
}
|
|
2035
1875
|
)
|
|
2036
1876
|
] })
|
|
@@ -2039,16 +1879,16 @@ var DataTable = ({
|
|
|
2039
1879
|
|
|
2040
1880
|
// src/components/DatePicker/DatePicker.tsx
|
|
2041
1881
|
import { useReducer, useState as useState4 } from "react";
|
|
2042
|
-
import * as
|
|
1882
|
+
import * as React16 from "react";
|
|
2043
1883
|
import { AnimatePresence as AnimatePresence3, motion as motion3 } from "motion/react";
|
|
2044
1884
|
|
|
2045
1885
|
// src/components/DatePicker/Calendar.tsx
|
|
2046
|
-
import { forwardRef as
|
|
1886
|
+
import { forwardRef as forwardRef58 } from "react";
|
|
2047
1887
|
import { range as range3 } from "lodash-es";
|
|
2048
1888
|
import { AnimatePresence as AnimatePresence2, motion as motion2 } from "motion/react";
|
|
2049
|
-
import { jsx as
|
|
1889
|
+
import { jsx as jsx75, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
2050
1890
|
var CALENDAR_ANIMATION_DURATION = 0.2;
|
|
2051
|
-
var Calendar =
|
|
1891
|
+
var Calendar = forwardRef58(function Calendar2(props, ref) {
|
|
2052
1892
|
const { t } = useTranslation("libui");
|
|
2053
1893
|
const firstDay = new Date(props.year, props.month).getDay();
|
|
2054
1894
|
const lastDay = new Date(props.year, props.month + 1, 0).getDate();
|
|
@@ -2062,17 +1902,17 @@ var Calendar = forwardRef64(function Calendar2(props, ref) {
|
|
|
2062
1902
|
t("days.friday"),
|
|
2063
1903
|
t("days.saturday")
|
|
2064
1904
|
];
|
|
2065
|
-
return /* @__PURE__ */
|
|
1905
|
+
return /* @__PURE__ */ jsx75(AnimatePresence2, { initial: false, mode: "wait", children: /* @__PURE__ */ jsx75(
|
|
2066
1906
|
motion2.div,
|
|
2067
1907
|
{
|
|
2068
1908
|
animate: { opacity: 1, x: 0 },
|
|
2069
1909
|
exit: { opacity: 0, x: -20 },
|
|
2070
1910
|
initial: { opacity: 0, x: 20 },
|
|
2071
1911
|
transition: { duration: CALENDAR_ANIMATION_DURATION },
|
|
2072
|
-
children: /* @__PURE__ */
|
|
2073
|
-
daysOfWeek.map((label) => /* @__PURE__ */
|
|
2074
|
-
/* @__PURE__ */
|
|
2075
|
-
days.map((day) => /* @__PURE__ */
|
|
1912
|
+
children: /* @__PURE__ */ jsxs22("div", { className: "grid h-56 w-56 grid-cols-7 text-sm", ref, children: [
|
|
1913
|
+
daysOfWeek.map((label) => /* @__PURE__ */ jsx75("div", { className: "flex h-8 w-8 items-center justify-center text-muted-foreground", children: label.charAt(0).toUpperCase() }, label)),
|
|
1914
|
+
/* @__PURE__ */ jsx75("div", { style: { gridColumn: `span ${firstDay} / span ${firstDay}` } }),
|
|
1915
|
+
days.map((day) => /* @__PURE__ */ jsx75(
|
|
2076
1916
|
"button",
|
|
2077
1917
|
{
|
|
2078
1918
|
className: "dark:hover:bg-extra-muted flex h-8 w-8 items-center justify-center rounded-md hover:bg-slate-200 dark:hover:bg-slate-700",
|
|
@@ -2096,15 +1936,15 @@ import { useEffect as useEffect2, useRef } from "react";
|
|
|
2096
1936
|
import { range as range4 } from "lodash-es";
|
|
2097
1937
|
|
|
2098
1938
|
// src/components/ScrollArea/ScrollArea.tsx
|
|
2099
|
-
import { forwardRef as
|
|
2100
|
-
import { Corner, Root as
|
|
1939
|
+
import { forwardRef as forwardRef60 } from "react";
|
|
1940
|
+
import { Corner, Root as Root8, Viewport } from "@radix-ui/react-scroll-area";
|
|
2101
1941
|
|
|
2102
1942
|
// src/components/ScrollArea/ScrollBar.tsx
|
|
2103
|
-
import { forwardRef as
|
|
1943
|
+
import { forwardRef as forwardRef59 } from "react";
|
|
2104
1944
|
import { ScrollAreaScrollbar, ScrollAreaThumb } from "@radix-ui/react-scroll-area";
|
|
2105
|
-
import { jsx as
|
|
2106
|
-
var ScrollBar =
|
|
2107
|
-
return /* @__PURE__ */
|
|
1945
|
+
import { jsx as jsx76 } from "react/jsx-runtime";
|
|
1946
|
+
var ScrollBar = forwardRef59(function ScrollBar2({ className, orientation = "vertical", ...props }, ref) {
|
|
1947
|
+
return /* @__PURE__ */ jsx76(
|
|
2108
1948
|
ScrollAreaScrollbar,
|
|
2109
1949
|
{
|
|
2110
1950
|
className: cn(
|
|
@@ -2116,25 +1956,25 @@ var ScrollBar = forwardRef65(function ScrollBar2({ className, orientation = "ver
|
|
|
2116
1956
|
orientation,
|
|
2117
1957
|
ref,
|
|
2118
1958
|
...props,
|
|
2119
|
-
children: /* @__PURE__ */
|
|
1959
|
+
children: /* @__PURE__ */ jsx76(ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
|
|
2120
1960
|
}
|
|
2121
1961
|
);
|
|
2122
1962
|
});
|
|
2123
1963
|
|
|
2124
1964
|
// src/components/ScrollArea/ScrollArea.tsx
|
|
2125
|
-
import { jsx as
|
|
2126
|
-
var ScrollArea =
|
|
1965
|
+
import { jsx as jsx77, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
1966
|
+
var ScrollArea = forwardRef60(
|
|
2127
1967
|
function ScrollArea2({ children, className, ...props }, ref) {
|
|
2128
|
-
return /* @__PURE__ */
|
|
2129
|
-
/* @__PURE__ */
|
|
2130
|
-
/* @__PURE__ */
|
|
2131
|
-
/* @__PURE__ */
|
|
1968
|
+
return /* @__PURE__ */ jsxs23(Root8, { className: cn("relative overflow-hidden", className), "data-testid": "scroll-area", ref, ...props, children: [
|
|
1969
|
+
/* @__PURE__ */ jsx77(Viewport, { className: "h-full w-full rounded-[inherit]", children }),
|
|
1970
|
+
/* @__PURE__ */ jsx77(ScrollBar, {}),
|
|
1971
|
+
/* @__PURE__ */ jsx77(Corner, {})
|
|
2132
1972
|
] });
|
|
2133
1973
|
}
|
|
2134
1974
|
);
|
|
2135
1975
|
|
|
2136
1976
|
// src/components/DatePicker/YearSelector.tsx
|
|
2137
|
-
import { jsx as
|
|
1977
|
+
import { jsx as jsx78 } from "react/jsx-runtime";
|
|
2138
1978
|
var YearSelector = (props) => {
|
|
2139
1979
|
const selectedRef = useRef(null);
|
|
2140
1980
|
const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
@@ -2144,7 +1984,7 @@ var YearSelector = (props) => {
|
|
|
2144
1984
|
selectedRef.current.scrollIntoView({ block: "center" });
|
|
2145
1985
|
}
|
|
2146
1986
|
}, []);
|
|
2147
|
-
return /* @__PURE__ */
|
|
1987
|
+
return /* @__PURE__ */ jsx78(ScrollArea, { className: "h-56 w-56", children: /* @__PURE__ */ jsx78("div", { className: "grid grid-cols-3 gap-x-2 gap-y-1 text-sm text-muted-foreground", children: years.map((year) => /* @__PURE__ */ jsx78("div", { className: "flex h-7 items-center justify-center", children: /* @__PURE__ */ jsx78(
|
|
2148
1988
|
"button",
|
|
2149
1989
|
{
|
|
2150
1990
|
className: cn(
|
|
@@ -2163,7 +2003,7 @@ var YearSelector = (props) => {
|
|
|
2163
2003
|
};
|
|
2164
2004
|
|
|
2165
2005
|
// src/components/DatePicker/DatePicker.tsx
|
|
2166
|
-
import { jsx as
|
|
2006
|
+
import { jsx as jsx79, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2167
2007
|
var MONTHS = [
|
|
2168
2008
|
"january",
|
|
2169
2009
|
"february",
|
|
@@ -2192,7 +2032,7 @@ var reducer = (previousDate, action) => {
|
|
|
2192
2032
|
}
|
|
2193
2033
|
return newDate;
|
|
2194
2034
|
};
|
|
2195
|
-
var DatePicker =
|
|
2035
|
+
var DatePicker = React16.forwardRef(function DatePicker2({ onSelection, ...props }, ref) {
|
|
2196
2036
|
const [date, dispatch] = useReducer(reducer, /* @__PURE__ */ new Date());
|
|
2197
2037
|
const [showYearSelector, setShowYearSelector] = useState4(false);
|
|
2198
2038
|
const { t } = useTranslation("libui");
|
|
@@ -2202,11 +2042,11 @@ var DatePicker = React21.forwardRef(function DatePicker2({ onSelection, ...props
|
|
|
2202
2042
|
dispatch({ type: "set-year", value: date2.getFullYear() });
|
|
2203
2043
|
setShowYearSelector(false);
|
|
2204
2044
|
};
|
|
2205
|
-
return /* @__PURE__ */
|
|
2206
|
-
/* @__PURE__ */
|
|
2207
|
-
/* @__PURE__ */
|
|
2208
|
-
/* @__PURE__ */
|
|
2209
|
-
/* @__PURE__ */
|
|
2045
|
+
return /* @__PURE__ */ jsxs24(Card, { className: "w-fit p-3", "data-testid": "datepicker", ref, ...props, children: [
|
|
2046
|
+
/* @__PURE__ */ jsxs24("div", { className: "mb-3 flex items-center justify-between px-1", children: [
|
|
2047
|
+
/* @__PURE__ */ jsxs24("div", { className: "flex items-center", children: [
|
|
2048
|
+
/* @__PURE__ */ jsx79("span", { className: "mx-1 text-sm font-medium tracking-tight", children: `${monthName} ${date.getFullYear()}` }),
|
|
2049
|
+
/* @__PURE__ */ jsx79(
|
|
2210
2050
|
ArrowToggle,
|
|
2211
2051
|
{
|
|
2212
2052
|
className: "flex items-center justify-center rounded-full p-1 hover:bg-slate-200 dark:hover:bg-slate-700",
|
|
@@ -2220,8 +2060,8 @@ var DatePicker = React21.forwardRef(function DatePicker2({ onSelection, ...props
|
|
|
2220
2060
|
}
|
|
2221
2061
|
)
|
|
2222
2062
|
] }),
|
|
2223
|
-
/* @__PURE__ */
|
|
2224
|
-
/* @__PURE__ */
|
|
2063
|
+
/* @__PURE__ */ jsxs24("div", { className: cn("flex", { hidden: showYearSelector }), children: [
|
|
2064
|
+
/* @__PURE__ */ jsx79(
|
|
2225
2065
|
ArrowToggle,
|
|
2226
2066
|
{
|
|
2227
2067
|
className: "flex items-center justify-center rounded-full p-1 hover:bg-slate-200 dark:hover:bg-slate-700",
|
|
@@ -2238,7 +2078,7 @@ var DatePicker = React21.forwardRef(function DatePicker2({ onSelection, ...props
|
|
|
2238
2078
|
}
|
|
2239
2079
|
}
|
|
2240
2080
|
),
|
|
2241
|
-
/* @__PURE__ */
|
|
2081
|
+
/* @__PURE__ */ jsx79(
|
|
2242
2082
|
ArrowToggle,
|
|
2243
2083
|
{
|
|
2244
2084
|
className: "flex items-center justify-center rounded-full p-1 hover:bg-slate-200 dark:hover:bg-slate-700",
|
|
@@ -2257,24 +2097,24 @@ var DatePicker = React21.forwardRef(function DatePicker2({ onSelection, ...props
|
|
|
2257
2097
|
)
|
|
2258
2098
|
] })
|
|
2259
2099
|
] }),
|
|
2260
|
-
/* @__PURE__ */
|
|
2100
|
+
/* @__PURE__ */ jsx79("div", { children: /* @__PURE__ */ jsx79(AnimatePresence3, { initial: false, mode: "wait", children: showYearSelector ? /* @__PURE__ */ jsx79(
|
|
2261
2101
|
motion3.div,
|
|
2262
2102
|
{
|
|
2263
2103
|
animate: { opacity: 1, y: 0 },
|
|
2264
2104
|
exit: { opacity: 0, y: 10 },
|
|
2265
2105
|
initial: { opacity: 0, y: 10 },
|
|
2266
2106
|
transition: { duration: 0.2 },
|
|
2267
|
-
children: /* @__PURE__ */
|
|
2107
|
+
children: /* @__PURE__ */ jsx79(YearSelector, { selected: date, onSelection: handleYearSelection })
|
|
2268
2108
|
},
|
|
2269
2109
|
0
|
|
2270
|
-
) : /* @__PURE__ */
|
|
2110
|
+
) : /* @__PURE__ */ jsx79(
|
|
2271
2111
|
motion3.div,
|
|
2272
2112
|
{
|
|
2273
2113
|
animate: { opacity: 1, y: 0 },
|
|
2274
2114
|
exit: { opacity: 0, y: -10 },
|
|
2275
2115
|
initial: { opacity: 0, y: -10 },
|
|
2276
2116
|
transition: { duration: 0.2 },
|
|
2277
|
-
children: /* @__PURE__ */
|
|
2117
|
+
children: /* @__PURE__ */ jsx79(Calendar, { month: date.getMonth(), year: date.getFullYear(), onSelection })
|
|
2278
2118
|
},
|
|
2279
2119
|
1
|
|
2280
2120
|
) }) })
|
|
@@ -2286,13 +2126,13 @@ import "react";
|
|
|
2286
2126
|
import { Drawer as DrawerPrimitive4 } from "vaul";
|
|
2287
2127
|
|
|
2288
2128
|
// src/components/Drawer/DrawerContent.tsx
|
|
2289
|
-
import { forwardRef as
|
|
2129
|
+
import { forwardRef as forwardRef62 } from "react";
|
|
2290
2130
|
import { Drawer as DrawerPrimitive } from "vaul";
|
|
2291
|
-
import { jsx as
|
|
2292
|
-
var DrawerContent =
|
|
2293
|
-
return /* @__PURE__ */
|
|
2294
|
-
/* @__PURE__ */
|
|
2295
|
-
/* @__PURE__ */
|
|
2131
|
+
import { jsx as jsx80, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2132
|
+
var DrawerContent = forwardRef62(function DrawerContent2({ children, className, ...props }, ref) {
|
|
2133
|
+
return /* @__PURE__ */ jsxs25(DrawerPrimitive.Portal, { children: [
|
|
2134
|
+
/* @__PURE__ */ jsx80(DrawerPrimitive.Overlay, { className: cn("fixed inset-0 z-50 bg-black/80", className), ref, ...props }),
|
|
2135
|
+
/* @__PURE__ */ jsxs25(
|
|
2296
2136
|
DrawerPrimitive.Content,
|
|
2297
2137
|
{
|
|
2298
2138
|
className: cn(
|
|
@@ -2302,7 +2142,7 @@ var DrawerContent = forwardRef68(function DrawerContent2({ children, className,
|
|
|
2302
2142
|
ref,
|
|
2303
2143
|
...props,
|
|
2304
2144
|
children: [
|
|
2305
|
-
/* @__PURE__ */
|
|
2145
|
+
/* @__PURE__ */ jsx80("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
|
|
2306
2146
|
children
|
|
2307
2147
|
]
|
|
2308
2148
|
}
|
|
@@ -2311,29 +2151,29 @@ var DrawerContent = forwardRef68(function DrawerContent2({ children, className,
|
|
|
2311
2151
|
});
|
|
2312
2152
|
|
|
2313
2153
|
// src/components/Drawer/DrawerDescription.tsx
|
|
2314
|
-
import { forwardRef as
|
|
2154
|
+
import { forwardRef as forwardRef63 } from "react";
|
|
2315
2155
|
import { Drawer as DrawerPrimitive2 } from "vaul";
|
|
2316
|
-
import { jsx as
|
|
2317
|
-
var DrawerDescription =
|
|
2318
|
-
return /* @__PURE__ */
|
|
2156
|
+
import { jsx as jsx81 } from "react/jsx-runtime";
|
|
2157
|
+
var DrawerDescription = forwardRef63(function DrawerDescription2({ className, ...props }, ref) {
|
|
2158
|
+
return /* @__PURE__ */ jsx81(DrawerPrimitive2.Description, { className: cn("text-sm text-muted-foreground", className), ref, ...props });
|
|
2319
2159
|
});
|
|
2320
2160
|
|
|
2321
2161
|
// src/components/Drawer/DrawerFooter.tsx
|
|
2322
2162
|
import "react";
|
|
2323
|
-
import { jsx as
|
|
2324
|
-
var DrawerFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
2163
|
+
import { jsx as jsx82 } from "react/jsx-runtime";
|
|
2164
|
+
var DrawerFooter = ({ className, ...props }) => /* @__PURE__ */ jsx82("div", { className: cn("mt-auto flex flex-col gap-2 p-4", className), ...props });
|
|
2325
2165
|
|
|
2326
2166
|
// src/components/Drawer/DrawerHeader.tsx
|
|
2327
2167
|
import "react";
|
|
2328
|
-
import { jsx as
|
|
2329
|
-
var DrawerHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
2168
|
+
import { jsx as jsx83 } from "react/jsx-runtime";
|
|
2169
|
+
var DrawerHeader = ({ className, ...props }) => /* @__PURE__ */ jsx83("div", { className: cn("grid gap-1.5 p-4 text-center sm:text-left", className), ...props });
|
|
2330
2170
|
|
|
2331
2171
|
// src/components/Drawer/DrawerTitle.tsx
|
|
2332
|
-
import { forwardRef as
|
|
2172
|
+
import { forwardRef as forwardRef64 } from "react";
|
|
2333
2173
|
import { Drawer as DrawerPrimitive3 } from "vaul";
|
|
2334
|
-
import { jsx as
|
|
2335
|
-
var DrawerTitle =
|
|
2336
|
-
return /* @__PURE__ */
|
|
2174
|
+
import { jsx as jsx84 } from "react/jsx-runtime";
|
|
2175
|
+
var DrawerTitle = forwardRef64(function DrawerTitle2({ className, ...props }, ref) {
|
|
2176
|
+
return /* @__PURE__ */ jsx84(
|
|
2337
2177
|
DrawerPrimitive3.Title,
|
|
2338
2178
|
{
|
|
2339
2179
|
className: cn("text-lg font-semibold leading-none tracking-tight", className),
|
|
@@ -2344,8 +2184,8 @@ var DrawerTitle = forwardRef70(function DrawerTitle2({ className, ...props }, re
|
|
|
2344
2184
|
});
|
|
2345
2185
|
|
|
2346
2186
|
// src/components/Drawer/Drawer.tsx
|
|
2347
|
-
import { jsx as
|
|
2348
|
-
var DrawerRoot = ({ shouldScaleBackground = true, ...props }) => /* @__PURE__ */
|
|
2187
|
+
import { jsx as jsx85 } from "react/jsx-runtime";
|
|
2188
|
+
var DrawerRoot = ({ shouldScaleBackground = true, ...props }) => /* @__PURE__ */ jsx85(DrawerPrimitive4.Root, { shouldScaleBackground, ...props });
|
|
2349
2189
|
var Drawer = Object.assign(DrawerRoot, {
|
|
2350
2190
|
Close: DrawerPrimitive4.Close,
|
|
2351
2191
|
Content: DrawerContent,
|
|
@@ -2362,21 +2202,21 @@ import { ErrorBoundary as ReactErrorBoundary } from "react-error-boundary";
|
|
|
2362
2202
|
|
|
2363
2203
|
// src/components/ErrorFallback/ErrorFallback.tsx
|
|
2364
2204
|
import { useEffect as useEffect3 } from "react";
|
|
2365
|
-
import { jsx as
|
|
2205
|
+
import { jsx as jsx86, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
2366
2206
|
var ErrorFallback = ({ error }) => {
|
|
2367
2207
|
useEffect3(() => {
|
|
2368
2208
|
console.error(error);
|
|
2369
2209
|
}, [error]);
|
|
2370
|
-
return /* @__PURE__ */
|
|
2210
|
+
return /* @__PURE__ */ jsxs26(
|
|
2371
2211
|
"div",
|
|
2372
2212
|
{
|
|
2373
2213
|
className: "flex min-h-screen flex-col items-center justify-center gap-1 p-3 text-center",
|
|
2374
2214
|
"data-testid": "error-fallback",
|
|
2375
2215
|
children: [
|
|
2376
|
-
/* @__PURE__ */
|
|
2377
|
-
/* @__PURE__ */
|
|
2378
|
-
/* @__PURE__ */
|
|
2379
|
-
/* @__PURE__ */
|
|
2216
|
+
/* @__PURE__ */ jsx86("h1", { className: "text-muted-foreground text-sm font-semibold tracking-wide uppercase", children: "Unexpected Error" }),
|
|
2217
|
+
/* @__PURE__ */ jsx86("h3", { className: "text-3xl font-extrabold tracking-tight sm:text-4xl md:text-5xl", children: "Something Went Wrong" }),
|
|
2218
|
+
/* @__PURE__ */ jsx86("p", { className: "text-muted-foreground mt-2 max-w-prose text-sm sm:text-base", children: "We apologize for the inconvenience. Please contact us for further assistance." }),
|
|
2219
|
+
/* @__PURE__ */ jsx86("div", { className: "mt-6", children: /* @__PURE__ */ jsxs26(
|
|
2380
2220
|
"button",
|
|
2381
2221
|
{
|
|
2382
2222
|
className: "text-sky-800 underline-offset-4 hover:text-sky-700 hover:underline dark:text-sky-200 dark:hover:text-sky-300",
|
|
@@ -2386,7 +2226,7 @@ var ErrorFallback = ({ error }) => {
|
|
|
2386
2226
|
},
|
|
2387
2227
|
children: [
|
|
2388
2228
|
"Reload Page",
|
|
2389
|
-
/* @__PURE__ */
|
|
2229
|
+
/* @__PURE__ */ jsx86("span", { "aria-hidden": "true", children: " \u2192" })
|
|
2390
2230
|
]
|
|
2391
2231
|
}
|
|
2392
2232
|
) })
|
|
@@ -2396,16 +2236,16 @@ var ErrorFallback = ({ error }) => {
|
|
|
2396
2236
|
};
|
|
2397
2237
|
|
|
2398
2238
|
// src/components/ErrorBoundary/ErrorBoundary.tsx
|
|
2399
|
-
import { jsx as
|
|
2239
|
+
import { jsx as jsx87 } from "react/jsx-runtime";
|
|
2400
2240
|
var ErrorBoundary = ({ children }) => {
|
|
2401
|
-
return /* @__PURE__ */
|
|
2241
|
+
return /* @__PURE__ */ jsx87(ReactErrorBoundary, { FallbackComponent: ErrorFallback, children });
|
|
2402
2242
|
};
|
|
2403
2243
|
|
|
2404
2244
|
// src/components/FileDropzone/FileDropzone.tsx
|
|
2405
2245
|
import { useCallback } from "react";
|
|
2406
2246
|
import { UploadIcon } from "lucide-react";
|
|
2407
2247
|
import { useDropzone } from "react-dropzone";
|
|
2408
|
-
import { jsx as
|
|
2248
|
+
import { jsx as jsx88, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
2409
2249
|
var FileDropzone = ({
|
|
2410
2250
|
acceptedFileTypes,
|
|
2411
2251
|
className,
|
|
@@ -2437,7 +2277,7 @@ var FileDropzone = ({
|
|
|
2437
2277
|
en: "Drag and drop files or click on box to upload",
|
|
2438
2278
|
fr: "Glissez-d\xE9posez les fichiers ou cliquez sur la case pour les t\xE9l\xE9charger"
|
|
2439
2279
|
});
|
|
2440
|
-
return /* @__PURE__ */
|
|
2280
|
+
return /* @__PURE__ */ jsxs27(
|
|
2441
2281
|
"div",
|
|
2442
2282
|
{
|
|
2443
2283
|
className: cn(
|
|
@@ -2447,14 +2287,14 @@ var FileDropzone = ({
|
|
|
2447
2287
|
"data-testid": "dropzone",
|
|
2448
2288
|
...getRootProps(),
|
|
2449
2289
|
children: [
|
|
2450
|
-
/* @__PURE__ */
|
|
2451
|
-
/* @__PURE__ */
|
|
2452
|
-
/* @__PURE__ */
|
|
2453
|
-
/* @__PURE__ */
|
|
2454
|
-
description && /* @__PURE__ */
|
|
2290
|
+
/* @__PURE__ */ jsxs27("div", { className: "flex flex-col items-center justify-center gap-3", children: [
|
|
2291
|
+
/* @__PURE__ */ jsx88(UploadIcon, { style: { height: 24, strokeWidth: 2, width: 24 } }),
|
|
2292
|
+
/* @__PURE__ */ jsxs27("div", { className: "flex flex-col items-center gap-1 text-center", children: [
|
|
2293
|
+
/* @__PURE__ */ jsx88("h3", { className: "text-lg font-semibold tracking-tight", "data-testid": "dropzone-title", children: file ? file.name : isDragActive ? dragActiveTitle : dragInactiveTitle }),
|
|
2294
|
+
description && /* @__PURE__ */ jsx88("p", { className: "text-sm text-muted-foreground", children: description })
|
|
2455
2295
|
] })
|
|
2456
2296
|
] }),
|
|
2457
|
-
/* @__PURE__ */
|
|
2297
|
+
/* @__PURE__ */ jsx88("input", { ...getInputProps() })
|
|
2458
2298
|
]
|
|
2459
2299
|
}
|
|
2460
2300
|
);
|
|
@@ -2466,30 +2306,30 @@ import { get, set } from "lodash-es";
|
|
|
2466
2306
|
import { twMerge } from "tailwind-merge";
|
|
2467
2307
|
|
|
2468
2308
|
// src/components/Heading/Heading.tsx
|
|
2469
|
-
import { jsx as
|
|
2309
|
+
import { jsx as jsx89 } from "react/jsx-runtime";
|
|
2470
2310
|
var Heading = ({ children, className, variant }) => {
|
|
2471
2311
|
switch (variant) {
|
|
2472
2312
|
case "h1":
|
|
2473
|
-
return /* @__PURE__ */
|
|
2313
|
+
return /* @__PURE__ */ jsx89("h1", { className: cn("text-3xl font-bold tracking-tight", className), children });
|
|
2474
2314
|
case "h2":
|
|
2475
|
-
return /* @__PURE__ */
|
|
2315
|
+
return /* @__PURE__ */ jsx89("h2", { className: cn("text-2xl font-semibold tracking-tight", className), children });
|
|
2476
2316
|
case "h3":
|
|
2477
|
-
return /* @__PURE__ */
|
|
2317
|
+
return /* @__PURE__ */ jsx89("h3", { className: cn("text-xl font-semibold tracking-tight", className), children });
|
|
2478
2318
|
case "h4":
|
|
2479
|
-
return /* @__PURE__ */
|
|
2319
|
+
return /* @__PURE__ */ jsx89("h4", { className: cn("text-lg font-semibold tracking-tight", className), children });
|
|
2480
2320
|
case "h5":
|
|
2481
|
-
return /* @__PURE__ */
|
|
2321
|
+
return /* @__PURE__ */ jsx89("h5", { className: cn("text-base font-semibold tracking-tight", className), children });
|
|
2482
2322
|
default:
|
|
2483
2323
|
throw new Error(`Unhandled heading variant: ${variant}`);
|
|
2484
2324
|
}
|
|
2485
2325
|
};
|
|
2486
2326
|
|
|
2487
2327
|
// src/components/Separator/Separator.tsx
|
|
2488
|
-
import { forwardRef as
|
|
2328
|
+
import { forwardRef as forwardRef65 } from "react";
|
|
2489
2329
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
2490
|
-
import { jsx as
|
|
2491
|
-
var Separator3 =
|
|
2492
|
-
return /* @__PURE__ */
|
|
2330
|
+
import { jsx as jsx90 } from "react/jsx-runtime";
|
|
2331
|
+
var Separator3 = forwardRef65(function Separator4({ className, decorative = true, orientation = "horizontal", ...props }, ref) {
|
|
2332
|
+
return /* @__PURE__ */ jsx90(
|
|
2493
2333
|
SeparatorPrimitive.Root,
|
|
2494
2334
|
{
|
|
2495
2335
|
className: cn(
|
|
@@ -2509,11 +2349,11 @@ var Separator3 = forwardRef71(function Separator4({ className, decorative = true
|
|
|
2509
2349
|
// src/components/Form/ErrorMessage.tsx
|
|
2510
2350
|
import "react";
|
|
2511
2351
|
import { CircleAlertIcon } from "lucide-react";
|
|
2512
|
-
import { jsx as
|
|
2352
|
+
import { jsx as jsx91, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
2513
2353
|
var ErrorMessage = ({ className, error }) => {
|
|
2514
|
-
return error ? /* @__PURE__ */
|
|
2515
|
-
/* @__PURE__ */
|
|
2516
|
-
/* @__PURE__ */
|
|
2354
|
+
return error ? /* @__PURE__ */ jsx91("div", { className: "flex flex-col gap-1.5", children: error.map((message) => /* @__PURE__ */ jsxs28("div", { className: cn("text-destructive flex w-full items-center text-sm font-medium", className), children: [
|
|
2355
|
+
/* @__PURE__ */ jsx91(CircleAlertIcon, { className: "mr-1", style: { strokeWidth: "2px" } }),
|
|
2356
|
+
/* @__PURE__ */ jsx91("span", { "data-testid": "error-message-text", children: message })
|
|
2517
2357
|
] }, message)) ?? null }) : null;
|
|
2518
2358
|
};
|
|
2519
2359
|
|
|
@@ -2541,15 +2381,15 @@ import { useEffect as useEffect4, useId as useId2, useRef as useRef2, useState a
|
|
|
2541
2381
|
import { parseNumber } from "@douglasneuroinformatics/libjs";
|
|
2542
2382
|
|
|
2543
2383
|
// src/components/Label/Label.tsx
|
|
2544
|
-
import { forwardRef as
|
|
2384
|
+
import { forwardRef as forwardRef66 } from "react";
|
|
2545
2385
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
2546
|
-
import { cva as
|
|
2547
|
-
import { jsx as
|
|
2548
|
-
var labelVariants =
|
|
2386
|
+
import { cva as cva2 } from "class-variance-authority";
|
|
2387
|
+
import { jsx as jsx92 } from "react/jsx-runtime";
|
|
2388
|
+
var labelVariants = cva2(
|
|
2549
2389
|
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 aria-disabled:cursor-not-allowed aria-disabled:opacity-70"
|
|
2550
2390
|
);
|
|
2551
|
-
var Label3 =
|
|
2552
|
-
return /* @__PURE__ */
|
|
2391
|
+
var Label3 = forwardRef66(function Label4({ className, ...props }, ref) {
|
|
2392
|
+
return /* @__PURE__ */ jsx92(LabelPrimitive.Root, { className: cn(labelVariants(), className), ref, ...props });
|
|
2553
2393
|
});
|
|
2554
2394
|
|
|
2555
2395
|
// src/components/Form/FieldGroup/FieldGroupDescription.tsx
|
|
@@ -2560,13 +2400,13 @@ import { CircleHelpIcon } from "lucide-react";
|
|
|
2560
2400
|
import { Root as PopoverRoot, Trigger as PopoverTrigger } from "@radix-ui/react-popover";
|
|
2561
2401
|
|
|
2562
2402
|
// src/components/Popover/PopoverContent.tsx
|
|
2563
|
-
import * as
|
|
2564
|
-
import { Content as
|
|
2565
|
-
import { jsx as
|
|
2566
|
-
var PopoverContent =
|
|
2403
|
+
import * as React22 from "react";
|
|
2404
|
+
import { Content as Content6, Portal as Portal6 } from "@radix-ui/react-popover";
|
|
2405
|
+
import { jsx as jsx93 } from "react/jsx-runtime";
|
|
2406
|
+
var PopoverContent = React22.forwardRef(
|
|
2567
2407
|
function PopoverContent2({ align = "center", asChild, autofocus = true, className, collisionPadding = 0, sideOffset = 4, ...props }, ref) {
|
|
2568
|
-
return /* @__PURE__ */
|
|
2569
|
-
|
|
2408
|
+
return /* @__PURE__ */ jsx93(Portal6, { children: /* @__PURE__ */ jsx93(
|
|
2409
|
+
Content6,
|
|
2570
2410
|
{
|
|
2571
2411
|
align,
|
|
2572
2412
|
asChild,
|
|
@@ -2591,21 +2431,21 @@ var Popover = Object.assign(PopoverRoot.bind(null), {
|
|
|
2591
2431
|
});
|
|
2592
2432
|
|
|
2593
2433
|
// src/components/Form/FieldGroup/FieldGroupDescription.tsx
|
|
2594
|
-
import { jsx as
|
|
2595
|
-
var FieldGroupDescription = ({ description }) => description ? /* @__PURE__ */
|
|
2596
|
-
/* @__PURE__ */
|
|
2597
|
-
/* @__PURE__ */
|
|
2434
|
+
import { jsx as jsx94, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
2435
|
+
var FieldGroupDescription = ({ description }) => description ? /* @__PURE__ */ jsxs29(Popover, { children: [
|
|
2436
|
+
/* @__PURE__ */ jsx94(Popover.Trigger, { tabIndex: -1, children: /* @__PURE__ */ jsx94(CircleHelpIcon, { className: "text-muted-foreground" }) }),
|
|
2437
|
+
/* @__PURE__ */ jsx94(Popover.Content, { className: "text-sm text-muted-foreground", children: /* @__PURE__ */ jsx94("p", { children: description }) })
|
|
2598
2438
|
] }) : null;
|
|
2599
2439
|
|
|
2600
2440
|
// src/components/Form/FieldGroup/FieldGroupRoot.tsx
|
|
2601
2441
|
import "react";
|
|
2602
|
-
import { jsx as
|
|
2603
|
-
var FieldGroupRoot = ({ children, name }) => /* @__PURE__ */
|
|
2442
|
+
import { jsx as jsx95 } from "react/jsx-runtime";
|
|
2443
|
+
var FieldGroupRoot = ({ children, name }) => /* @__PURE__ */ jsx95("div", { className: "flex flex-col gap-3 @container", "data-field-group": name, children });
|
|
2604
2444
|
|
|
2605
2445
|
// src/components/Form/FieldGroup/FieldGroupRow.tsx
|
|
2606
2446
|
import "react";
|
|
2607
|
-
import { jsx as
|
|
2608
|
-
var FieldGroupRow = ({ children }) => /* @__PURE__ */
|
|
2447
|
+
import { jsx as jsx96 } from "react/jsx-runtime";
|
|
2448
|
+
var FieldGroupRow = ({ children }) => /* @__PURE__ */ jsx96("div", { className: "relative flex items-center gap-2", children });
|
|
2609
2449
|
|
|
2610
2450
|
// src/components/Form/FieldGroup/FieldGroup.tsx
|
|
2611
2451
|
var FieldGroup = Object.assign(FieldGroupRoot, {
|
|
@@ -2615,7 +2455,7 @@ var FieldGroup = Object.assign(FieldGroupRoot, {
|
|
|
2615
2455
|
});
|
|
2616
2456
|
|
|
2617
2457
|
// src/components/Form/NumberField/NumberFieldInput.tsx
|
|
2618
|
-
import { jsx as
|
|
2458
|
+
import { jsx as jsx97, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
2619
2459
|
var NumberFieldInput = ({
|
|
2620
2460
|
description,
|
|
2621
2461
|
disabled,
|
|
@@ -2660,12 +2500,12 @@ var NumberFieldInput = ({
|
|
|
2660
2500
|
setInputValue(updatedInputValue);
|
|
2661
2501
|
valueRef.current = value;
|
|
2662
2502
|
}, [value]);
|
|
2663
|
-
return /* @__PURE__ */
|
|
2664
|
-
/* @__PURE__ */
|
|
2665
|
-
/* @__PURE__ */
|
|
2666
|
-
/* @__PURE__ */
|
|
2503
|
+
return /* @__PURE__ */ jsxs30(FieldGroup, { name, children: [
|
|
2504
|
+
/* @__PURE__ */ jsxs30(FieldGroup.Row, { children: [
|
|
2505
|
+
/* @__PURE__ */ jsx97(Label3, { htmlFor: id, children: label }),
|
|
2506
|
+
/* @__PURE__ */ jsx97(FieldGroup.Description, { description })
|
|
2667
2507
|
] }),
|
|
2668
|
-
/* @__PURE__ */
|
|
2508
|
+
/* @__PURE__ */ jsx97(
|
|
2669
2509
|
Input,
|
|
2670
2510
|
{
|
|
2671
2511
|
disabled: disabled || readOnly,
|
|
@@ -2678,21 +2518,21 @@ var NumberFieldInput = ({
|
|
|
2678
2518
|
onChange: handleChange
|
|
2679
2519
|
}
|
|
2680
2520
|
),
|
|
2681
|
-
/* @__PURE__ */
|
|
2521
|
+
/* @__PURE__ */ jsx97(FieldGroup.Error, { error })
|
|
2682
2522
|
] });
|
|
2683
2523
|
};
|
|
2684
2524
|
|
|
2685
2525
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
2686
|
-
import * as
|
|
2526
|
+
import * as React26 from "react";
|
|
2687
2527
|
import * as RadioGroupPrimitive2 from "@radix-ui/react-radio-group";
|
|
2688
2528
|
|
|
2689
2529
|
// src/components/RadioGroup/RadioGroupItem.tsx
|
|
2690
|
-
import { forwardRef as
|
|
2530
|
+
import { forwardRef as forwardRef68 } from "react";
|
|
2691
2531
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
2692
2532
|
import { CircleIcon as CircleIcon3 } from "lucide-react";
|
|
2693
|
-
import { jsx as
|
|
2694
|
-
var RadioGroupItem =
|
|
2695
|
-
return /* @__PURE__ */
|
|
2533
|
+
import { jsx as jsx98 } from "react/jsx-runtime";
|
|
2534
|
+
var RadioGroupItem = forwardRef68(function RadioGroupItem2({ className, ...props }, ref) {
|
|
2535
|
+
return /* @__PURE__ */ jsx98(
|
|
2696
2536
|
RadioGroupPrimitive.Item,
|
|
2697
2537
|
{
|
|
2698
2538
|
className: cn(
|
|
@@ -2701,7 +2541,7 @@ var RadioGroupItem = forwardRef74(function RadioGroupItem2({ className, ...props
|
|
|
2701
2541
|
),
|
|
2702
2542
|
ref,
|
|
2703
2543
|
...props,
|
|
2704
|
-
children: /* @__PURE__ */
|
|
2544
|
+
children: /* @__PURE__ */ jsx98(RadioGroupPrimitive.Indicator, { asChild: true, children: /* @__PURE__ */ jsx98(
|
|
2705
2545
|
CircleIcon3,
|
|
2706
2546
|
{
|
|
2707
2547
|
className: "fill-current text-current",
|
|
@@ -2713,16 +2553,16 @@ var RadioGroupItem = forwardRef74(function RadioGroupItem2({ className, ...props
|
|
|
2713
2553
|
});
|
|
2714
2554
|
|
|
2715
2555
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
2716
|
-
import { jsx as
|
|
2717
|
-
var RadioGroupRoot =
|
|
2718
|
-
return /* @__PURE__ */
|
|
2556
|
+
import { jsx as jsx99 } from "react/jsx-runtime";
|
|
2557
|
+
var RadioGroupRoot = React26.forwardRef(function RadioGroup3({ className, ...props }, ref) {
|
|
2558
|
+
return /* @__PURE__ */ jsx99(RadioGroupPrimitive2.Root, { className: cn("grid gap-2", className), "data-testid": "radio-group", ...props, ref });
|
|
2719
2559
|
});
|
|
2720
2560
|
var RadioGroup4 = Object.assign(RadioGroupRoot, {
|
|
2721
2561
|
Item: RadioGroupItem
|
|
2722
2562
|
});
|
|
2723
2563
|
|
|
2724
2564
|
// src/components/Form/NumberField/NumberFieldRadio.tsx
|
|
2725
|
-
import { jsx as
|
|
2565
|
+
import { jsx as jsx100, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
2726
2566
|
var NumberFieldRadio = ({
|
|
2727
2567
|
description,
|
|
2728
2568
|
disableAutoPrefix,
|
|
@@ -2736,12 +2576,12 @@ var NumberFieldRadio = ({
|
|
|
2736
2576
|
value
|
|
2737
2577
|
}) => {
|
|
2738
2578
|
const optionsCount = Object.keys(options).length;
|
|
2739
|
-
return /* @__PURE__ */
|
|
2740
|
-
/* @__PURE__ */
|
|
2741
|
-
/* @__PURE__ */
|
|
2742
|
-
/* @__PURE__ */
|
|
2579
|
+
return /* @__PURE__ */ jsxs31(FieldGroup, { name, children: [
|
|
2580
|
+
/* @__PURE__ */ jsxs31(FieldGroup.Row, { children: [
|
|
2581
|
+
/* @__PURE__ */ jsx100(Label3, { children: label }),
|
|
2582
|
+
/* @__PURE__ */ jsx100(FieldGroup.Description, { description })
|
|
2743
2583
|
] }),
|
|
2744
|
-
/* @__PURE__ */
|
|
2584
|
+
/* @__PURE__ */ jsx100(
|
|
2745
2585
|
RadioGroup4,
|
|
2746
2586
|
{
|
|
2747
2587
|
className: cn(
|
|
@@ -2753,9 +2593,9 @@ var NumberFieldRadio = ({
|
|
|
2753
2593
|
onValueChange: (value2) => setValue(parseInt(value2)),
|
|
2754
2594
|
children: Object.keys(options).map((val) => parseInt(val)).toSorted((a, b) => a - b).map((val) => {
|
|
2755
2595
|
const text = (disableAutoPrefix ? "" : `${val} - `) + options[val];
|
|
2756
|
-
return /* @__PURE__ */
|
|
2757
|
-
/* @__PURE__ */
|
|
2758
|
-
/* @__PURE__ */
|
|
2596
|
+
return /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2", children: [
|
|
2597
|
+
/* @__PURE__ */ jsx100(RadioGroup4.Item, { disabled: disabled || readOnly, id: `${name}-${val}`, value: val.toString() }),
|
|
2598
|
+
/* @__PURE__ */ jsx100(
|
|
2759
2599
|
Label3,
|
|
2760
2600
|
{
|
|
2761
2601
|
"aria-disabled": disabled || readOnly,
|
|
@@ -2768,7 +2608,7 @@ var NumberFieldRadio = ({
|
|
|
2768
2608
|
})
|
|
2769
2609
|
}
|
|
2770
2610
|
),
|
|
2771
|
-
/* @__PURE__ */
|
|
2611
|
+
/* @__PURE__ */ jsx100(FieldGroup.Error, { error })
|
|
2772
2612
|
] });
|
|
2773
2613
|
};
|
|
2774
2614
|
|
|
@@ -2776,47 +2616,47 @@ var NumberFieldRadio = ({
|
|
|
2776
2616
|
import * as SelectPrimitive8 from "@radix-ui/react-select";
|
|
2777
2617
|
|
|
2778
2618
|
// src/components/Select/SelectContent.tsx
|
|
2779
|
-
import { forwardRef as
|
|
2619
|
+
import { forwardRef as forwardRef72 } from "react";
|
|
2780
2620
|
import * as SelectPrimitive3 from "@radix-ui/react-select";
|
|
2781
2621
|
|
|
2782
2622
|
// src/components/Select/SelectScrollDownButton.tsx
|
|
2783
|
-
import { forwardRef as
|
|
2623
|
+
import { forwardRef as forwardRef70 } from "react";
|
|
2784
2624
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
2785
2625
|
import { ChevronDownIcon as ChevronDownIcon4 } from "lucide-react";
|
|
2786
|
-
import { jsx as
|
|
2787
|
-
var SelectScrollDownButton =
|
|
2788
|
-
return /* @__PURE__ */
|
|
2626
|
+
import { jsx as jsx101 } from "react/jsx-runtime";
|
|
2627
|
+
var SelectScrollDownButton = forwardRef70(function SelectScrollDownButton2({ className, ...props }, ref) {
|
|
2628
|
+
return /* @__PURE__ */ jsx101(
|
|
2789
2629
|
SelectPrimitive.ScrollDownButton,
|
|
2790
2630
|
{
|
|
2791
2631
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
2792
2632
|
ref,
|
|
2793
2633
|
...props,
|
|
2794
|
-
children: /* @__PURE__ */
|
|
2634
|
+
children: /* @__PURE__ */ jsx101(ChevronDownIcon4, {})
|
|
2795
2635
|
}
|
|
2796
2636
|
);
|
|
2797
2637
|
});
|
|
2798
2638
|
|
|
2799
2639
|
// src/components/Select/SelectScrollUpButton.tsx
|
|
2800
|
-
import { forwardRef as
|
|
2640
|
+
import { forwardRef as forwardRef71 } from "react";
|
|
2801
2641
|
import * as SelectPrimitive2 from "@radix-ui/react-select";
|
|
2802
2642
|
import { ChevronUpIcon as ChevronUpIcon2 } from "lucide-react";
|
|
2803
|
-
import { jsx as
|
|
2804
|
-
var SelectScrollUpButton =
|
|
2805
|
-
return /* @__PURE__ */
|
|
2643
|
+
import { jsx as jsx102 } from "react/jsx-runtime";
|
|
2644
|
+
var SelectScrollUpButton = forwardRef71(function SelectScrollUpButton2({ className, ...props }, ref) {
|
|
2645
|
+
return /* @__PURE__ */ jsx102(
|
|
2806
2646
|
SelectPrimitive2.ScrollUpButton,
|
|
2807
2647
|
{
|
|
2808
2648
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
2809
2649
|
ref,
|
|
2810
2650
|
...props,
|
|
2811
|
-
children: /* @__PURE__ */
|
|
2651
|
+
children: /* @__PURE__ */ jsx102(ChevronUpIcon2, {})
|
|
2812
2652
|
}
|
|
2813
2653
|
);
|
|
2814
2654
|
});
|
|
2815
2655
|
|
|
2816
2656
|
// src/components/Select/SelectContent.tsx
|
|
2817
|
-
import { jsx as
|
|
2818
|
-
var SelectContent =
|
|
2819
|
-
return /* @__PURE__ */
|
|
2657
|
+
import { jsx as jsx103, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
2658
|
+
var SelectContent = forwardRef72(function SelectContent2({ children, className, position = "popper", ...props }, ref) {
|
|
2659
|
+
return /* @__PURE__ */ jsx103(SelectPrimitive3.Portal, { children: /* @__PURE__ */ jsxs32(
|
|
2820
2660
|
SelectPrimitive3.Content,
|
|
2821
2661
|
{
|
|
2822
2662
|
className: cn(
|
|
@@ -2828,8 +2668,8 @@ var SelectContent = forwardRef78(function SelectContent2({ children, className,
|
|
|
2828
2668
|
ref,
|
|
2829
2669
|
...props,
|
|
2830
2670
|
children: [
|
|
2831
|
-
/* @__PURE__ */
|
|
2832
|
-
/* @__PURE__ */
|
|
2671
|
+
/* @__PURE__ */ jsx103(SelectScrollUpButton, {}),
|
|
2672
|
+
/* @__PURE__ */ jsx103(
|
|
2833
2673
|
SelectPrimitive3.Viewport,
|
|
2834
2674
|
{
|
|
2835
2675
|
className: cn(
|
|
@@ -2839,19 +2679,19 @@ var SelectContent = forwardRef78(function SelectContent2({ children, className,
|
|
|
2839
2679
|
children
|
|
2840
2680
|
}
|
|
2841
2681
|
),
|
|
2842
|
-
/* @__PURE__ */
|
|
2682
|
+
/* @__PURE__ */ jsx103(SelectScrollDownButton, {})
|
|
2843
2683
|
]
|
|
2844
2684
|
}
|
|
2845
2685
|
) });
|
|
2846
2686
|
});
|
|
2847
2687
|
|
|
2848
2688
|
// src/components/Select/SelectItem.tsx
|
|
2849
|
-
import { forwardRef as
|
|
2689
|
+
import { forwardRef as forwardRef73 } from "react";
|
|
2850
2690
|
import * as SelectPrimitive4 from "@radix-ui/react-select";
|
|
2851
2691
|
import { CheckIcon as CheckIcon4 } from "lucide-react";
|
|
2852
|
-
import { jsx as
|
|
2853
|
-
var SelectItem =
|
|
2854
|
-
return /* @__PURE__ */
|
|
2692
|
+
import { jsx as jsx104, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
2693
|
+
var SelectItem = forwardRef73(function SelectItem2({ children, className, ...props }, ref) {
|
|
2694
|
+
return /* @__PURE__ */ jsxs33(
|
|
2855
2695
|
SelectPrimitive4.Item,
|
|
2856
2696
|
{
|
|
2857
2697
|
className: cn(
|
|
@@ -2861,35 +2701,35 @@ var SelectItem = forwardRef79(function SelectItem2({ children, className, ...pro
|
|
|
2861
2701
|
ref,
|
|
2862
2702
|
...props,
|
|
2863
2703
|
children: [
|
|
2864
|
-
/* @__PURE__ */
|
|
2865
|
-
/* @__PURE__ */
|
|
2704
|
+
/* @__PURE__ */ jsx104("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx104(SelectPrimitive4.ItemIndicator, { children: /* @__PURE__ */ jsx104(CheckIcon4, { className: "h-4 w-4" }) }) }),
|
|
2705
|
+
/* @__PURE__ */ jsx104(SelectPrimitive4.ItemText, { children })
|
|
2866
2706
|
]
|
|
2867
2707
|
}
|
|
2868
2708
|
);
|
|
2869
2709
|
});
|
|
2870
2710
|
|
|
2871
2711
|
// src/components/Select/SelectLabel.tsx
|
|
2872
|
-
import { forwardRef as
|
|
2712
|
+
import { forwardRef as forwardRef74 } from "react";
|
|
2873
2713
|
import * as SelectPrimitive5 from "@radix-ui/react-select";
|
|
2874
|
-
import { jsx as
|
|
2875
|
-
var SelectLabel =
|
|
2876
|
-
return /* @__PURE__ */
|
|
2714
|
+
import { jsx as jsx105 } from "react/jsx-runtime";
|
|
2715
|
+
var SelectLabel = forwardRef74(function SelectLabel2({ className, ...props }, ref) {
|
|
2716
|
+
return /* @__PURE__ */ jsx105(SelectPrimitive5.Label, { className: cn("px-2 py-1.5 text-sm font-semibold", className), ref, ...props });
|
|
2877
2717
|
});
|
|
2878
2718
|
|
|
2879
2719
|
// src/components/Select/SelectSeparator.tsx
|
|
2880
|
-
import { forwardRef as
|
|
2720
|
+
import { forwardRef as forwardRef75 } from "react";
|
|
2881
2721
|
import * as SelectPrimitive6 from "@radix-ui/react-select";
|
|
2882
|
-
import { jsx as
|
|
2883
|
-
var SelectSeparator =
|
|
2884
|
-
return /* @__PURE__ */
|
|
2722
|
+
import { jsx as jsx106 } from "react/jsx-runtime";
|
|
2723
|
+
var SelectSeparator = forwardRef75(function SelectSeparator2({ className, ...props }, ref) {
|
|
2724
|
+
return /* @__PURE__ */ jsx106(SelectPrimitive6.Separator, { className: cn("-mx-1 my-1 h-px bg-muted", className), ref, ...props });
|
|
2885
2725
|
});
|
|
2886
2726
|
|
|
2887
2727
|
// src/components/Select/SelectTrigger.tsx
|
|
2888
|
-
import { forwardRef as
|
|
2728
|
+
import { forwardRef as forwardRef76 } from "react";
|
|
2889
2729
|
import * as SelectPrimitive7 from "@radix-ui/react-select";
|
|
2890
|
-
import { jsx as
|
|
2891
|
-
var SelectTrigger =
|
|
2892
|
-
return /* @__PURE__ */
|
|
2730
|
+
import { jsx as jsx107 } from "react/jsx-runtime";
|
|
2731
|
+
var SelectTrigger = forwardRef76(function SelectTrigger2({ children, className, ...props }, ref) {
|
|
2732
|
+
return /* @__PURE__ */ jsx107(SelectPrimitive7.Trigger, { asChild: true, className, ref, ...props, children: /* @__PURE__ */ jsx107(DropdownButton, { children }) });
|
|
2893
2733
|
});
|
|
2894
2734
|
|
|
2895
2735
|
// src/components/Select/Select.tsx
|
|
@@ -2906,7 +2746,7 @@ var Select = Object.assign(SelectPrimitive8.Root.bind(null), {
|
|
|
2906
2746
|
});
|
|
2907
2747
|
|
|
2908
2748
|
// src/components/Form/NumberField/NumberFieldSelect.tsx
|
|
2909
|
-
import { jsx as
|
|
2749
|
+
import { jsx as jsx108, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
2910
2750
|
var NumberFieldSelect = ({
|
|
2911
2751
|
description,
|
|
2912
2752
|
disableAutoPrefix,
|
|
@@ -2919,46 +2759,46 @@ var NumberFieldSelect = ({
|
|
|
2919
2759
|
setValue,
|
|
2920
2760
|
value
|
|
2921
2761
|
}) => {
|
|
2922
|
-
return /* @__PURE__ */
|
|
2923
|
-
/* @__PURE__ */
|
|
2924
|
-
/* @__PURE__ */
|
|
2925
|
-
/* @__PURE__ */
|
|
2762
|
+
return /* @__PURE__ */ jsxs34(FieldGroup, { name, children: [
|
|
2763
|
+
/* @__PURE__ */ jsxs34(FieldGroup.Row, { children: [
|
|
2764
|
+
/* @__PURE__ */ jsx108(Label3, { children: label }),
|
|
2765
|
+
/* @__PURE__ */ jsx108(FieldGroup.Description, { description })
|
|
2926
2766
|
] }),
|
|
2927
|
-
/* @__PURE__ */
|
|
2928
|
-
/* @__PURE__ */
|
|
2929
|
-
/* @__PURE__ */
|
|
2767
|
+
/* @__PURE__ */ jsxs34(Select, { name, value: value?.toString() ?? "", onValueChange: (value2) => setValue(parseFloat(value2)), children: [
|
|
2768
|
+
/* @__PURE__ */ jsx108(Select.Trigger, { "data-testid": `${name}-select-trigger`, disabled: disabled || readOnly, children: /* @__PURE__ */ jsx108(Select.Value, {}) }),
|
|
2769
|
+
/* @__PURE__ */ jsx108(Select.Content, { "data-testid": `${name}-select-content`, children: Object.keys(options).map((option) => {
|
|
2930
2770
|
const text = (disableAutoPrefix ? "" : `${option} - `) + options[option];
|
|
2931
|
-
return /* @__PURE__ */
|
|
2771
|
+
return /* @__PURE__ */ jsx108(Select.Item, { "data-testid": `${name}-select-item-${option}`, value: option, children: text }, option);
|
|
2932
2772
|
}) })
|
|
2933
2773
|
] }),
|
|
2934
|
-
/* @__PURE__ */
|
|
2774
|
+
/* @__PURE__ */ jsx108(FieldGroup.Error, { error })
|
|
2935
2775
|
] });
|
|
2936
2776
|
};
|
|
2937
2777
|
|
|
2938
2778
|
// src/components/Slider/Slider.tsx
|
|
2939
|
-
import { forwardRef as
|
|
2940
|
-
import { Range, Root as
|
|
2941
|
-
import { jsx as
|
|
2942
|
-
var Slider =
|
|
2779
|
+
import { forwardRef as forwardRef77 } from "react";
|
|
2780
|
+
import { Range, Root as Root13, Thumb, Track } from "@radix-ui/react-slider";
|
|
2781
|
+
import { jsx as jsx109, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
2782
|
+
var Slider = forwardRef77(
|
|
2943
2783
|
function Slider2({ className, disabled, ...props }, ref) {
|
|
2944
|
-
return /* @__PURE__ */
|
|
2945
|
-
|
|
2784
|
+
return /* @__PURE__ */ jsxs35(
|
|
2785
|
+
Root13,
|
|
2946
2786
|
{
|
|
2947
2787
|
className: cn("relative flex w-full touch-none items-center py-1.5 select-none", className),
|
|
2948
2788
|
disabled,
|
|
2949
2789
|
ref,
|
|
2950
2790
|
...props,
|
|
2951
2791
|
children: [
|
|
2952
|
-
/* @__PURE__ */
|
|
2792
|
+
/* @__PURE__ */ jsx109(
|
|
2953
2793
|
Track,
|
|
2954
2794
|
{
|
|
2955
2795
|
"aria-disabled": disabled,
|
|
2956
2796
|
className: "bg-primary relative h-1.5 w-full grow overflow-hidden rounded-full opacity-15 aria-disabled:cursor-not-allowed aria-disabled:opacity-10",
|
|
2957
2797
|
"data-testid": "slider-track",
|
|
2958
|
-
children: /* @__PURE__ */
|
|
2798
|
+
children: /* @__PURE__ */ jsx109(Range, { className: "bg-primary absolute h-full" })
|
|
2959
2799
|
}
|
|
2960
2800
|
),
|
|
2961
|
-
/* @__PURE__ */
|
|
2801
|
+
/* @__PURE__ */ jsx109(
|
|
2962
2802
|
Thumb,
|
|
2963
2803
|
{
|
|
2964
2804
|
"aria-disabled": disabled,
|
|
@@ -2973,7 +2813,7 @@ var Slider = forwardRef83(
|
|
|
2973
2813
|
);
|
|
2974
2814
|
|
|
2975
2815
|
// src/components/Form/NumberField/NumberFieldSlider.tsx
|
|
2976
|
-
import { jsx as
|
|
2816
|
+
import { jsx as jsx110, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
2977
2817
|
var NumberFieldSlider = ({
|
|
2978
2818
|
description,
|
|
2979
2819
|
disabled,
|
|
@@ -2986,13 +2826,13 @@ var NumberFieldSlider = ({
|
|
|
2986
2826
|
setValue,
|
|
2987
2827
|
value
|
|
2988
2828
|
}) => {
|
|
2989
|
-
return /* @__PURE__ */
|
|
2990
|
-
/* @__PURE__ */
|
|
2991
|
-
/* @__PURE__ */
|
|
2992
|
-
/* @__PURE__ */
|
|
2829
|
+
return /* @__PURE__ */ jsxs36(FieldGroup, { name, children: [
|
|
2830
|
+
/* @__PURE__ */ jsxs36(FieldGroup.Row, { children: [
|
|
2831
|
+
/* @__PURE__ */ jsx110(Label3, { children: label }),
|
|
2832
|
+
/* @__PURE__ */ jsx110(FieldGroup.Description, { description })
|
|
2993
2833
|
] }),
|
|
2994
|
-
/* @__PURE__ */
|
|
2995
|
-
/* @__PURE__ */
|
|
2834
|
+
/* @__PURE__ */ jsxs36(FieldGroup.Row, { children: [
|
|
2835
|
+
/* @__PURE__ */ jsx110(
|
|
2996
2836
|
Slider,
|
|
2997
2837
|
{
|
|
2998
2838
|
disabled: disabled || readOnly,
|
|
@@ -3003,20 +2843,20 @@ var NumberFieldSlider = ({
|
|
|
3003
2843
|
onValueChange: ([value2]) => setValue(value2)
|
|
3004
2844
|
}
|
|
3005
2845
|
),
|
|
3006
|
-
/* @__PURE__ */
|
|
2846
|
+
/* @__PURE__ */ jsx110("span", { className: "flex h-full w-8 items-center justify-center text-sm text-muted-foreground", children: value ?? "NA" })
|
|
3007
2847
|
] }),
|
|
3008
|
-
/* @__PURE__ */
|
|
2848
|
+
/* @__PURE__ */ jsx110(FieldGroup.Error, { error })
|
|
3009
2849
|
] });
|
|
3010
2850
|
};
|
|
3011
2851
|
|
|
3012
2852
|
// src/components/Form/NumberField/NumberField.tsx
|
|
3013
|
-
import { jsx as
|
|
2853
|
+
import { jsx as jsx111 } from "react/jsx-runtime";
|
|
3014
2854
|
var NumberField = (props) => {
|
|
3015
|
-
return match2(props).with({ variant: "input" }, (props2) => /* @__PURE__ */
|
|
2855
|
+
return match2(props).with({ variant: "input" }, (props2) => /* @__PURE__ */ jsx111(NumberFieldInput, { ...props2 })).with({ variant: "slider" }, (props2) => /* @__PURE__ */ jsx111(NumberFieldSlider, { ...props2 })).with({ variant: "radio" }, (props2) => /* @__PURE__ */ jsx111(NumberFieldRadio, { ...props2 })).with({ variant: "select" }, (props2) => /* @__PURE__ */ jsx111(NumberFieldSelect, { ...props2 })).exhaustive();
|
|
3016
2856
|
};
|
|
3017
2857
|
|
|
3018
2858
|
// src/components/Form/NumberRecordField.tsx
|
|
3019
|
-
import { jsx as
|
|
2859
|
+
import { jsx as jsx112, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
3020
2860
|
var NumberRecordField = ({
|
|
3021
2861
|
disabled,
|
|
3022
2862
|
error: recordError,
|
|
@@ -3043,11 +2883,11 @@ var NumberRecordField = ({
|
|
|
3043
2883
|
if (!recordValue) {
|
|
3044
2884
|
return null;
|
|
3045
2885
|
}
|
|
3046
|
-
return /* @__PURE__ */
|
|
3047
|
-
/* @__PURE__ */
|
|
3048
|
-
/* @__PURE__ */
|
|
2886
|
+
return /* @__PURE__ */ jsxs37("div", { className: "flex flex-col gap-4", children: [
|
|
2887
|
+
/* @__PURE__ */ jsx112(Heading, { className: "font-medium", variant: "h5", children: label }),
|
|
2888
|
+
/* @__PURE__ */ jsx112("div", { className: "flex flex-col gap-6", children: Object.keys(items).map((name) => {
|
|
3049
2889
|
const item = items[name];
|
|
3050
|
-
return /* @__PURE__ */
|
|
2890
|
+
return /* @__PURE__ */ jsx112(
|
|
3051
2891
|
NumberField,
|
|
3052
2892
|
{
|
|
3053
2893
|
error: recordError?.[name],
|
|
@@ -3075,7 +2915,7 @@ import { MinusCircleIcon, PlusCircleIcon } from "lucide-react";
|
|
|
3075
2915
|
import { match as match4 } from "ts-pattern";
|
|
3076
2916
|
|
|
3077
2917
|
// src/components/Form/BooleanField/BooleanFieldCheckbox.tsx
|
|
3078
|
-
import { jsx as
|
|
2918
|
+
import { jsx as jsx113, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
3079
2919
|
var BooleanFieldCheckbox = ({
|
|
3080
2920
|
disabled,
|
|
3081
2921
|
error,
|
|
@@ -3085,9 +2925,9 @@ var BooleanFieldCheckbox = ({
|
|
|
3085
2925
|
setValue,
|
|
3086
2926
|
value
|
|
3087
2927
|
}) => {
|
|
3088
|
-
return /* @__PURE__ */
|
|
3089
|
-
/* @__PURE__ */
|
|
3090
|
-
/* @__PURE__ */
|
|
2928
|
+
return /* @__PURE__ */ jsxs38(FieldGroup, { name, children: [
|
|
2929
|
+
/* @__PURE__ */ jsxs38(FieldGroup.Row, { children: [
|
|
2930
|
+
/* @__PURE__ */ jsx113(
|
|
3091
2931
|
Checkbox,
|
|
3092
2932
|
{
|
|
3093
2933
|
checked: Boolean(value),
|
|
@@ -3101,16 +2941,16 @@ var BooleanFieldCheckbox = ({
|
|
|
3101
2941
|
}
|
|
3102
2942
|
}
|
|
3103
2943
|
),
|
|
3104
|
-
/* @__PURE__ */
|
|
2944
|
+
/* @__PURE__ */ jsx113(Label3, { htmlFor: name, children: label })
|
|
3105
2945
|
] }),
|
|
3106
|
-
/* @__PURE__ */
|
|
2946
|
+
/* @__PURE__ */ jsx113(FieldGroup.Error, { error })
|
|
3107
2947
|
] });
|
|
3108
2948
|
};
|
|
3109
2949
|
|
|
3110
2950
|
// src/components/Form/BooleanField/BooleanFieldRadio.tsx
|
|
3111
2951
|
import { useCallback as useCallback2 } from "react";
|
|
3112
2952
|
import { match as match3 } from "ts-pattern";
|
|
3113
|
-
import { jsx as
|
|
2953
|
+
import { jsx as jsx114, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
3114
2954
|
var stringifyBoolean = (value) => match3(value).with(void 0, () => "").with(true, () => "true").with(false, () => "false").exhaustive();
|
|
3115
2955
|
var BooleanFieldRadio = ({
|
|
3116
2956
|
disabled,
|
|
@@ -3129,9 +2969,9 @@ var BooleanFieldRadio = ({
|
|
|
3129
2969
|
},
|
|
3130
2970
|
[match3, setValue]
|
|
3131
2971
|
);
|
|
3132
|
-
return /* @__PURE__ */
|
|
3133
|
-
/* @__PURE__ */
|
|
3134
|
-
/* @__PURE__ */
|
|
2972
|
+
return /* @__PURE__ */ jsxs39(FieldGroup, { name, children: [
|
|
2973
|
+
/* @__PURE__ */ jsx114(Label3, { children: label }),
|
|
2974
|
+
/* @__PURE__ */ jsxs39(
|
|
3135
2975
|
RadioGroup4,
|
|
3136
2976
|
{
|
|
3137
2977
|
disabled: disabled || readOnly,
|
|
@@ -3139,9 +2979,9 @@ var BooleanFieldRadio = ({
|
|
|
3139
2979
|
value: stringifyBoolean(value),
|
|
3140
2980
|
onValueChange: handleValueChange,
|
|
3141
2981
|
children: [
|
|
3142
|
-
/* @__PURE__ */
|
|
3143
|
-
/* @__PURE__ */
|
|
3144
|
-
/* @__PURE__ */
|
|
2982
|
+
/* @__PURE__ */ jsxs39(FieldGroup.Row, { children: [
|
|
2983
|
+
/* @__PURE__ */ jsx114(RadioGroup4.Item, { id: `${name}-true`, value: "true" }),
|
|
2984
|
+
/* @__PURE__ */ jsx114(
|
|
3145
2985
|
Label3,
|
|
3146
2986
|
{
|
|
3147
2987
|
"aria-disabled": disabled || readOnly,
|
|
@@ -3151,9 +2991,9 @@ var BooleanFieldRadio = ({
|
|
|
3151
2991
|
}
|
|
3152
2992
|
)
|
|
3153
2993
|
] }),
|
|
3154
|
-
/* @__PURE__ */
|
|
3155
|
-
/* @__PURE__ */
|
|
3156
|
-
/* @__PURE__ */
|
|
2994
|
+
/* @__PURE__ */ jsxs39(FieldGroup.Row, { children: [
|
|
2995
|
+
/* @__PURE__ */ jsx114(RadioGroup4.Item, { id: `${name}-false`, value: "false" }),
|
|
2996
|
+
/* @__PURE__ */ jsx114(
|
|
3157
2997
|
Label3,
|
|
3158
2998
|
{
|
|
3159
2999
|
"aria-disabled": disabled || readOnly,
|
|
@@ -3166,20 +3006,20 @@ var BooleanFieldRadio = ({
|
|
|
3166
3006
|
]
|
|
3167
3007
|
}
|
|
3168
3008
|
),
|
|
3169
|
-
/* @__PURE__ */
|
|
3009
|
+
/* @__PURE__ */ jsx114(FieldGroup.Error, { error })
|
|
3170
3010
|
] });
|
|
3171
3011
|
};
|
|
3172
3012
|
|
|
3173
3013
|
// src/components/Form/BooleanField/BooleanField.tsx
|
|
3174
|
-
import { jsx as
|
|
3014
|
+
import { jsx as jsx115 } from "react/jsx-runtime";
|
|
3175
3015
|
var BooleanField = (props) => {
|
|
3176
|
-
return match4(props).with({ variant: "radio" }, (props2) => /* @__PURE__ */
|
|
3016
|
+
return match4(props).with({ variant: "radio" }, (props2) => /* @__PURE__ */ jsx115(BooleanFieldRadio, { ...props2 })).with({ variant: "checkbox" }, (props2) => /* @__PURE__ */ jsx115(BooleanFieldCheckbox, { ...props2 })).exhaustive();
|
|
3177
3017
|
};
|
|
3178
3018
|
|
|
3179
3019
|
// src/components/Form/DateField/DateField.tsx
|
|
3180
3020
|
import { useEffect as useEffect6, useState as useState6 } from "react";
|
|
3181
3021
|
import { toBasicISOString as toBasicISOString2 } from "@douglasneuroinformatics/libjs";
|
|
3182
|
-
import { jsx as
|
|
3022
|
+
import { jsx as jsx116, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
3183
3023
|
var isValidDateString = (s) => /^(\d{4})-((0[1-9])|(1[0-2]))-((0[1-9])|([12])[0-9]|3[01])$/.test(s);
|
|
3184
3024
|
var DateField = ({ disabled, error, label, name, readOnly, setValue, value }) => {
|
|
3185
3025
|
const [isDatePickerOpen, setIsDatePickerOpen] = useState6(false);
|
|
@@ -3198,10 +3038,10 @@ var DateField = ({ disabled, error, label, name, readOnly, setValue, value }) =>
|
|
|
3198
3038
|
useEffect6(() => {
|
|
3199
3039
|
setInputValue(value ? toBasicISOString2(value) : "");
|
|
3200
3040
|
}, [value]);
|
|
3201
|
-
return /* @__PURE__ */
|
|
3202
|
-
/* @__PURE__ */
|
|
3203
|
-
/* @__PURE__ */
|
|
3204
|
-
/* @__PURE__ */
|
|
3041
|
+
return /* @__PURE__ */ jsxs40(FieldGroup, { name, children: [
|
|
3042
|
+
/* @__PURE__ */ jsx116(Label3, { htmlFor: name, children: label }),
|
|
3043
|
+
/* @__PURE__ */ jsxs40(Popover, { open: isDatePickerOpen, onOpenChange: setIsDatePickerOpen, children: [
|
|
3044
|
+
/* @__PURE__ */ jsx116(Popover.Trigger, { children: /* @__PURE__ */ jsx116(
|
|
3205
3045
|
Input,
|
|
3206
3046
|
{
|
|
3207
3047
|
autoComplete: "off",
|
|
@@ -3216,7 +3056,7 @@ var DateField = ({ disabled, error, label, name, readOnly, setValue, value }) =>
|
|
|
3216
3056
|
onFocus: () => setIsInputFocused(true)
|
|
3217
3057
|
}
|
|
3218
3058
|
) }),
|
|
3219
|
-
/* @__PURE__ */
|
|
3059
|
+
/* @__PURE__ */ jsx116(Popover.Content, { asChild: true, align: "start", autofocus: false, className: "w-auto", children: /* @__PURE__ */ jsx116(
|
|
3220
3060
|
DatePicker,
|
|
3221
3061
|
{
|
|
3222
3062
|
onSelection: (value2) => {
|
|
@@ -3226,7 +3066,7 @@ var DateField = ({ disabled, error, label, name, readOnly, setValue, value }) =>
|
|
|
3226
3066
|
}
|
|
3227
3067
|
) })
|
|
3228
3068
|
] }),
|
|
3229
|
-
/* @__PURE__ */
|
|
3069
|
+
/* @__PURE__ */ jsx116(FieldGroup.Error, { error })
|
|
3230
3070
|
] });
|
|
3231
3071
|
};
|
|
3232
3072
|
|
|
@@ -3235,7 +3075,7 @@ import { useEffect as useEffect7 } from "react";
|
|
|
3235
3075
|
import { match as match5 } from "ts-pattern";
|
|
3236
3076
|
|
|
3237
3077
|
// src/components/Form/SetField/SetFieldListbox.tsx
|
|
3238
|
-
import { jsx as
|
|
3078
|
+
import { jsx as jsx117, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
3239
3079
|
var SetFieldListbox = ({
|
|
3240
3080
|
description,
|
|
3241
3081
|
disabled,
|
|
@@ -3247,13 +3087,13 @@ var SetFieldListbox = ({
|
|
|
3247
3087
|
readOnly,
|
|
3248
3088
|
value
|
|
3249
3089
|
}) => {
|
|
3250
|
-
return /* @__PURE__ */
|
|
3251
|
-
/* @__PURE__ */
|
|
3252
|
-
/* @__PURE__ */
|
|
3253
|
-
/* @__PURE__ */
|
|
3090
|
+
return /* @__PURE__ */ jsxs41(FieldGroup, { name, children: [
|
|
3091
|
+
/* @__PURE__ */ jsxs41(FieldGroup.Row, { children: [
|
|
3092
|
+
/* @__PURE__ */ jsx117(Label3, { children: label }),
|
|
3093
|
+
/* @__PURE__ */ jsx117(FieldGroup.Description, { description })
|
|
3254
3094
|
] }),
|
|
3255
|
-
/* @__PURE__ */
|
|
3256
|
-
/* @__PURE__ */
|
|
3095
|
+
/* @__PURE__ */ jsx117("div", { className: "grid gap-2", children: Object.keys(options).map((option) => /* @__PURE__ */ jsxs41(FieldGroup.Row, { children: [
|
|
3096
|
+
/* @__PURE__ */ jsx117(
|
|
3257
3097
|
Checkbox,
|
|
3258
3098
|
{
|
|
3259
3099
|
checked: value?.has(option) ?? false,
|
|
@@ -3264,14 +3104,14 @@ var SetFieldListbox = ({
|
|
|
3264
3104
|
}
|
|
3265
3105
|
}
|
|
3266
3106
|
),
|
|
3267
|
-
/* @__PURE__ */
|
|
3107
|
+
/* @__PURE__ */ jsx117(Label3, { className: "font-normal text-muted-foreground", htmlFor: `${name}-${option}`, children: options[option] })
|
|
3268
3108
|
] }, option)) }),
|
|
3269
|
-
/* @__PURE__ */
|
|
3109
|
+
/* @__PURE__ */ jsx117(FieldGroup.Error, { error })
|
|
3270
3110
|
] });
|
|
3271
3111
|
};
|
|
3272
3112
|
|
|
3273
3113
|
// src/components/Form/SetField/SetFieldSelect.tsx
|
|
3274
|
-
import { jsx as
|
|
3114
|
+
import { jsx as jsx118, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
3275
3115
|
var SetFieldSelect = ({
|
|
3276
3116
|
description,
|
|
3277
3117
|
disabled,
|
|
@@ -3283,16 +3123,16 @@ var SetFieldSelect = ({
|
|
|
3283
3123
|
readOnly,
|
|
3284
3124
|
value
|
|
3285
3125
|
}) => {
|
|
3286
|
-
return value ? /* @__PURE__ */
|
|
3287
|
-
/* @__PURE__ */
|
|
3288
|
-
/* @__PURE__ */
|
|
3289
|
-
/* @__PURE__ */
|
|
3126
|
+
return value ? /* @__PURE__ */ jsxs42(FieldGroup, { name, children: [
|
|
3127
|
+
/* @__PURE__ */ jsxs42(FieldGroup.Row, { children: [
|
|
3128
|
+
/* @__PURE__ */ jsx118(Label3, { children: label }),
|
|
3129
|
+
/* @__PURE__ */ jsx118(FieldGroup.Description, { description })
|
|
3290
3130
|
] }),
|
|
3291
|
-
/* @__PURE__ */
|
|
3292
|
-
/* @__PURE__ */
|
|
3293
|
-
/* @__PURE__ */
|
|
3131
|
+
/* @__PURE__ */ jsxs42(DropdownMenu, { children: [
|
|
3132
|
+
/* @__PURE__ */ jsx118(DropdownMenu.Trigger, { asChild: true, className: "w-full", disabled: disabled || readOnly, children: /* @__PURE__ */ jsx118(DropdownButton, { children: value.size ? /* @__PURE__ */ jsx118("div", { className: "flex items-center gap-2", children: Array.from(value).map((option) => /* @__PURE__ */ jsx118(Badge, { className: "font-normal", variant: "outline", children: options[option] }, option)) }) : null }) }),
|
|
3133
|
+
/* @__PURE__ */ jsx118(DropdownMenu.Content, { widthFull: true, align: "start", children: Object.keys(options).map((option) => {
|
|
3294
3134
|
const checked = value.has(option);
|
|
3295
|
-
return /* @__PURE__ */
|
|
3135
|
+
return /* @__PURE__ */ jsx118(
|
|
3296
3136
|
DropdownMenu.CheckboxItem,
|
|
3297
3137
|
{
|
|
3298
3138
|
checked,
|
|
@@ -3306,12 +3146,12 @@ var SetFieldSelect = ({
|
|
|
3306
3146
|
);
|
|
3307
3147
|
}) })
|
|
3308
3148
|
] }),
|
|
3309
|
-
/* @__PURE__ */
|
|
3149
|
+
/* @__PURE__ */ jsx118(FieldGroup.Error, { error })
|
|
3310
3150
|
] }) : null;
|
|
3311
3151
|
};
|
|
3312
3152
|
|
|
3313
3153
|
// src/components/Form/SetField/SetField.tsx
|
|
3314
|
-
import { jsx as
|
|
3154
|
+
import { jsx as jsx119 } from "react/jsx-runtime";
|
|
3315
3155
|
var SetField = (props) => {
|
|
3316
3156
|
useEffect7(() => {
|
|
3317
3157
|
if (!props.value) {
|
|
@@ -3329,14 +3169,14 @@ var SetField = (props) => {
|
|
|
3329
3169
|
props.setValue(updatedValue);
|
|
3330
3170
|
}
|
|
3331
3171
|
};
|
|
3332
|
-
return match5(props).with({ variant: "select" }, (props2) => /* @__PURE__ */
|
|
3172
|
+
return match5(props).with({ variant: "select" }, (props2) => /* @__PURE__ */ jsx119(SetFieldSelect, { onCheckedChange: handleCheckedChange, ...props2 })).with({ variant: "listbox" }, (props2) => /* @__PURE__ */ jsx119(SetFieldListbox, { onCheckedChange: handleCheckedChange, ...props2 })).exhaustive();
|
|
3333
3173
|
};
|
|
3334
3174
|
|
|
3335
3175
|
// src/components/Form/StringField/StringField.tsx
|
|
3336
3176
|
import { match as match6 } from "ts-pattern";
|
|
3337
3177
|
|
|
3338
3178
|
// src/components/Form/StringField/StringFieldInput.tsx
|
|
3339
|
-
import { jsx as
|
|
3179
|
+
import { jsx as jsx120, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
3340
3180
|
var StringFieldInput = ({
|
|
3341
3181
|
description,
|
|
3342
3182
|
disabled,
|
|
@@ -3348,12 +3188,12 @@ var StringFieldInput = ({
|
|
|
3348
3188
|
setValue,
|
|
3349
3189
|
value
|
|
3350
3190
|
}) => {
|
|
3351
|
-
return /* @__PURE__ */
|
|
3352
|
-
/* @__PURE__ */
|
|
3353
|
-
/* @__PURE__ */
|
|
3354
|
-
/* @__PURE__ */
|
|
3191
|
+
return /* @__PURE__ */ jsxs43(FieldGroup, { name, children: [
|
|
3192
|
+
/* @__PURE__ */ jsxs43(FieldGroup.Row, { children: [
|
|
3193
|
+
/* @__PURE__ */ jsx120(Label3, { htmlFor: name, children: label }),
|
|
3194
|
+
/* @__PURE__ */ jsx120(FieldGroup.Description, { description })
|
|
3355
3195
|
] }),
|
|
3356
|
-
/* @__PURE__ */
|
|
3196
|
+
/* @__PURE__ */ jsx120(
|
|
3357
3197
|
Input,
|
|
3358
3198
|
{
|
|
3359
3199
|
disabled: disabled || readOnly,
|
|
@@ -3365,7 +3205,7 @@ var StringFieldInput = ({
|
|
|
3365
3205
|
onChange: (event) => setValue(event.target.value)
|
|
3366
3206
|
}
|
|
3367
3207
|
),
|
|
3368
|
-
/* @__PURE__ */
|
|
3208
|
+
/* @__PURE__ */ jsx120(FieldGroup.Error, { error })
|
|
3369
3209
|
] });
|
|
3370
3210
|
};
|
|
3371
3211
|
|
|
@@ -3373,7 +3213,7 @@ var StringFieldInput = ({
|
|
|
3373
3213
|
import { useEffect as useEffect8, useState as useState7 } from "react";
|
|
3374
3214
|
import { EyeIcon, EyeOffIcon } from "lucide-react";
|
|
3375
3215
|
import { motion as motion4 } from "motion/react";
|
|
3376
|
-
import { jsx as
|
|
3216
|
+
import { jsx as jsx121, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
3377
3217
|
var StringFieldPassword = ({
|
|
3378
3218
|
calculateStrength,
|
|
3379
3219
|
description,
|
|
@@ -3392,13 +3232,13 @@ var StringFieldPassword = ({
|
|
|
3392
3232
|
setStrength(value ? calculateStrength(value) : 0);
|
|
3393
3233
|
}
|
|
3394
3234
|
}, [value]);
|
|
3395
|
-
return /* @__PURE__ */
|
|
3396
|
-
/* @__PURE__ */
|
|
3397
|
-
/* @__PURE__ */
|
|
3398
|
-
/* @__PURE__ */
|
|
3235
|
+
return /* @__PURE__ */ jsxs44(FieldGroup, { name, children: [
|
|
3236
|
+
/* @__PURE__ */ jsxs44(FieldGroup.Row, { children: [
|
|
3237
|
+
/* @__PURE__ */ jsx121(Label3, { htmlFor: name, children: label }),
|
|
3238
|
+
/* @__PURE__ */ jsx121(FieldGroup.Description, { description })
|
|
3399
3239
|
] }),
|
|
3400
|
-
/* @__PURE__ */
|
|
3401
|
-
/* @__PURE__ */
|
|
3240
|
+
/* @__PURE__ */ jsxs44(FieldGroup.Row, { children: [
|
|
3241
|
+
/* @__PURE__ */ jsx121(
|
|
3402
3242
|
Input,
|
|
3403
3243
|
{
|
|
3404
3244
|
disabled: disabled || readOnly,
|
|
@@ -3409,7 +3249,7 @@ var StringFieldPassword = ({
|
|
|
3409
3249
|
onChange: (event) => setValue(event.target.value)
|
|
3410
3250
|
}
|
|
3411
3251
|
),
|
|
3412
|
-
/* @__PURE__ */
|
|
3252
|
+
/* @__PURE__ */ jsxs44(
|
|
3413
3253
|
"button",
|
|
3414
3254
|
{
|
|
3415
3255
|
className: "text-muted-foreground absolute right-0 flex h-full w-8 items-center justify-center",
|
|
@@ -3418,20 +3258,20 @@ var StringFieldPassword = ({
|
|
|
3418
3258
|
type: "button",
|
|
3419
3259
|
onClick: () => setShow(!show),
|
|
3420
3260
|
children: [
|
|
3421
|
-
/* @__PURE__ */
|
|
3422
|
-
/* @__PURE__ */
|
|
3261
|
+
/* @__PURE__ */ jsx121(EyeIcon, { className: cn("absolute transition-all", show ? "scale-0 -rotate-90" : "scale-100 rotate-0") }),
|
|
3262
|
+
/* @__PURE__ */ jsx121(EyeOffIcon, { className: cn("absolute transition-all", !show ? "scale-0 rotate-90" : "scale-100 rotate-0") })
|
|
3423
3263
|
]
|
|
3424
3264
|
}
|
|
3425
3265
|
)
|
|
3426
3266
|
] }),
|
|
3427
|
-
strength !== null && /* @__PURE__ */
|
|
3267
|
+
strength !== null && /* @__PURE__ */ jsx121(
|
|
3428
3268
|
motion4.div,
|
|
3429
3269
|
{
|
|
3430
3270
|
animate: { width: `${Math.max(strength * 25, 5)}%` },
|
|
3431
3271
|
className: "h-1 w-full overflow-hidden rounded-sm",
|
|
3432
3272
|
initial: { width: "5%" },
|
|
3433
3273
|
transition: { duration: 0.5 },
|
|
3434
|
-
children: /* @__PURE__ */
|
|
3274
|
+
children: /* @__PURE__ */ jsx121(
|
|
3435
3275
|
"div",
|
|
3436
3276
|
{
|
|
3437
3277
|
className: cn(
|
|
@@ -3444,14 +3284,14 @@ var StringFieldPassword = ({
|
|
|
3444
3284
|
)
|
|
3445
3285
|
}
|
|
3446
3286
|
),
|
|
3447
|
-
/* @__PURE__ */
|
|
3287
|
+
/* @__PURE__ */ jsx121(FieldGroup.Error, { error })
|
|
3448
3288
|
] });
|
|
3449
3289
|
};
|
|
3450
3290
|
|
|
3451
3291
|
// src/components/Form/BaseRadioField.tsx
|
|
3452
|
-
import { cva as
|
|
3453
|
-
import { jsx as
|
|
3454
|
-
var baseRadioFieldVariants =
|
|
3292
|
+
import { cva as cva3 } from "class-variance-authority";
|
|
3293
|
+
import { jsx as jsx122, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
3294
|
+
var baseRadioFieldVariants = cva3("flex", {
|
|
3455
3295
|
defaultVariants: {
|
|
3456
3296
|
orientation: "vertical"
|
|
3457
3297
|
},
|
|
@@ -3475,21 +3315,21 @@ var BaseRadioField = ({
|
|
|
3475
3315
|
value
|
|
3476
3316
|
}) => {
|
|
3477
3317
|
const optionsCount = Object.keys(options).length;
|
|
3478
|
-
return /* @__PURE__ */
|
|
3479
|
-
/* @__PURE__ */
|
|
3480
|
-
/* @__PURE__ */
|
|
3481
|
-
/* @__PURE__ */
|
|
3318
|
+
return /* @__PURE__ */ jsxs45(FieldGroup, { name, children: [
|
|
3319
|
+
/* @__PURE__ */ jsxs45(FieldGroup.Row, { children: [
|
|
3320
|
+
/* @__PURE__ */ jsx122(Label3, { children: label }),
|
|
3321
|
+
/* @__PURE__ */ jsx122(FieldGroup.Description, { description })
|
|
3482
3322
|
] }),
|
|
3483
|
-
/* @__PURE__ */
|
|
3323
|
+
/* @__PURE__ */ jsx122(
|
|
3484
3324
|
RadioGroup4,
|
|
3485
3325
|
{
|
|
3486
3326
|
className: baseRadioFieldVariants({ orientation: optionsCount > 5 ? "vertical" : orientation }),
|
|
3487
3327
|
name,
|
|
3488
3328
|
value: value ?? "",
|
|
3489
3329
|
onValueChange: (value2) => setValue(value2),
|
|
3490
|
-
children: Object.keys(options).map((option) => /* @__PURE__ */
|
|
3491
|
-
/* @__PURE__ */
|
|
3492
|
-
/* @__PURE__ */
|
|
3330
|
+
children: Object.keys(options).map((option) => /* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-2", children: [
|
|
3331
|
+
/* @__PURE__ */ jsx122(RadioGroup4.Item, { disabled: disabled || readOnly, id: `${name}-${option}`, value: option }),
|
|
3332
|
+
/* @__PURE__ */ jsx122(
|
|
3493
3333
|
Label3,
|
|
3494
3334
|
{
|
|
3495
3335
|
"aria-disabled": disabled || readOnly,
|
|
@@ -3501,18 +3341,18 @@ var BaseRadioField = ({
|
|
|
3501
3341
|
] }, option))
|
|
3502
3342
|
}
|
|
3503
3343
|
),
|
|
3504
|
-
/* @__PURE__ */
|
|
3344
|
+
/* @__PURE__ */ jsx122(FieldGroup.Error, { error })
|
|
3505
3345
|
] });
|
|
3506
3346
|
};
|
|
3507
3347
|
|
|
3508
3348
|
// src/components/Form/StringField/StringFieldRadio.tsx
|
|
3509
|
-
import { jsx as
|
|
3349
|
+
import { jsx as jsx123 } from "react/jsx-runtime";
|
|
3510
3350
|
var StringFieldRadio = (props) => {
|
|
3511
|
-
return /* @__PURE__ */
|
|
3351
|
+
return /* @__PURE__ */ jsx123(BaseRadioField, { ...props });
|
|
3512
3352
|
};
|
|
3513
3353
|
|
|
3514
3354
|
// src/components/Form/StringField/StringFieldSelect.tsx
|
|
3515
|
-
import { jsx as
|
|
3355
|
+
import { jsx as jsx124, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
3516
3356
|
var StringFieldSelect = ({
|
|
3517
3357
|
description,
|
|
3518
3358
|
disabled,
|
|
@@ -3524,24 +3364,24 @@ var StringFieldSelect = ({
|
|
|
3524
3364
|
setValue,
|
|
3525
3365
|
value
|
|
3526
3366
|
}) => {
|
|
3527
|
-
return /* @__PURE__ */
|
|
3528
|
-
/* @__PURE__ */
|
|
3529
|
-
/* @__PURE__ */
|
|
3530
|
-
/* @__PURE__ */
|
|
3367
|
+
return /* @__PURE__ */ jsxs46(FieldGroup, { name, children: [
|
|
3368
|
+
/* @__PURE__ */ jsxs46(FieldGroup.Row, { children: [
|
|
3369
|
+
/* @__PURE__ */ jsx124(Label3, { children: label }),
|
|
3370
|
+
/* @__PURE__ */ jsx124(FieldGroup.Description, { description })
|
|
3531
3371
|
] }),
|
|
3532
|
-
/* @__PURE__ */
|
|
3533
|
-
/* @__PURE__ */
|
|
3534
|
-
/* @__PURE__ */
|
|
3372
|
+
/* @__PURE__ */ jsxs46(Select, { name, value: value ?? "", onValueChange: (value2) => setValue(value2), children: [
|
|
3373
|
+
/* @__PURE__ */ jsx124(Select.Trigger, { "data-testid": `${name}-select-trigger`, disabled: disabled || readOnly, children: /* @__PURE__ */ jsx124(Select.Value, {}) }),
|
|
3374
|
+
/* @__PURE__ */ jsx124(Select.Content, { "data-testid": `${name}-select-content`, children: Object.keys(options).map((option) => /* @__PURE__ */ jsx124(Select.Item, { "data-testid": `${name}-select-item-${option}`, value: option, children: options[option] }, option)) })
|
|
3535
3375
|
] }),
|
|
3536
|
-
/* @__PURE__ */
|
|
3376
|
+
/* @__PURE__ */ jsx124(FieldGroup.Error, { error })
|
|
3537
3377
|
] });
|
|
3538
3378
|
};
|
|
3539
3379
|
|
|
3540
3380
|
// src/components/TextArea/TextArea.tsx
|
|
3541
|
-
import * as
|
|
3542
|
-
import { jsx as
|
|
3543
|
-
var TextArea =
|
|
3544
|
-
return /* @__PURE__ */
|
|
3381
|
+
import * as React27 from "react";
|
|
3382
|
+
import { jsx as jsx125 } from "react/jsx-runtime";
|
|
3383
|
+
var TextArea = React27.forwardRef(function TextArea2({ className, ...props }, ref) {
|
|
3384
|
+
return /* @__PURE__ */ jsx125(
|
|
3545
3385
|
"textarea",
|
|
3546
3386
|
{
|
|
3547
3387
|
autoComplete: "off",
|
|
@@ -3557,7 +3397,7 @@ var TextArea = React32.forwardRef(function TextArea2({ className, ...props }, re
|
|
|
3557
3397
|
});
|
|
3558
3398
|
|
|
3559
3399
|
// src/components/Form/StringField/StringFieldTextArea.tsx
|
|
3560
|
-
import { jsx as
|
|
3400
|
+
import { jsx as jsx126, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
3561
3401
|
var StringFieldTextArea = ({
|
|
3562
3402
|
description,
|
|
3563
3403
|
disabled,
|
|
@@ -3569,12 +3409,12 @@ var StringFieldTextArea = ({
|
|
|
3569
3409
|
setValue,
|
|
3570
3410
|
value
|
|
3571
3411
|
}) => {
|
|
3572
|
-
return /* @__PURE__ */
|
|
3573
|
-
/* @__PURE__ */
|
|
3574
|
-
/* @__PURE__ */
|
|
3575
|
-
/* @__PURE__ */
|
|
3412
|
+
return /* @__PURE__ */ jsxs47(FieldGroup, { name, children: [
|
|
3413
|
+
/* @__PURE__ */ jsxs47(FieldGroup.Row, { children: [
|
|
3414
|
+
/* @__PURE__ */ jsx126(Label3, { htmlFor: name, children: label }),
|
|
3415
|
+
/* @__PURE__ */ jsx126(FieldGroup.Description, { description })
|
|
3576
3416
|
] }),
|
|
3577
|
-
/* @__PURE__ */
|
|
3417
|
+
/* @__PURE__ */ jsx126(
|
|
3578
3418
|
TextArea,
|
|
3579
3419
|
{
|
|
3580
3420
|
disabled: disabled || readOnly,
|
|
@@ -3586,37 +3426,37 @@ var StringFieldTextArea = ({
|
|
|
3586
3426
|
onChange: (event) => setValue(event.target.value)
|
|
3587
3427
|
}
|
|
3588
3428
|
),
|
|
3589
|
-
/* @__PURE__ */
|
|
3429
|
+
/* @__PURE__ */ jsx126(FieldGroup.Error, { error })
|
|
3590
3430
|
] });
|
|
3591
3431
|
};
|
|
3592
3432
|
|
|
3593
3433
|
// src/components/Form/StringField/StringField.tsx
|
|
3594
|
-
import { jsx as
|
|
3434
|
+
import { jsx as jsx127 } from "react/jsx-runtime";
|
|
3595
3435
|
var StringField = (props) => {
|
|
3596
|
-
return match6(props).with({ variant: "textarea" }, (props2) => /* @__PURE__ */
|
|
3436
|
+
return match6(props).with({ variant: "textarea" }, (props2) => /* @__PURE__ */ jsx127(StringFieldTextArea, { ...props2 })).with({ variant: "password" }, (props2) => /* @__PURE__ */ jsx127(StringFieldPassword, { ...props2 })).with({ variant: "input" }, (props2) => /* @__PURE__ */ jsx127(StringFieldInput, { ...props2 })).with({ variant: "select" }, (props2) => /* @__PURE__ */ jsx127(StringFieldSelect, { ...props2 })).with({ variant: "radio" }, (props2) => /* @__PURE__ */ jsx127(StringFieldRadio, { ...props2 })).exhaustive();
|
|
3597
3437
|
};
|
|
3598
3438
|
|
|
3599
3439
|
// src/components/Form/ScalarField.tsx
|
|
3600
|
-
import { jsx as
|
|
3440
|
+
import { jsx as jsx128 } from "react/jsx-runtime";
|
|
3601
3441
|
var ScalarField = ({ field, ...props }) => {
|
|
3602
3442
|
switch (field.kind) {
|
|
3603
3443
|
case "boolean":
|
|
3604
|
-
return /* @__PURE__ */
|
|
3444
|
+
return /* @__PURE__ */ jsx128(BooleanField, { ...field, ...props });
|
|
3605
3445
|
case "date":
|
|
3606
|
-
return /* @__PURE__ */
|
|
3446
|
+
return /* @__PURE__ */ jsx128(DateField, { ...field, ...props });
|
|
3607
3447
|
case "number":
|
|
3608
|
-
return /* @__PURE__ */
|
|
3448
|
+
return /* @__PURE__ */ jsx128(NumberField, { ...field, ...props });
|
|
3609
3449
|
case "set":
|
|
3610
|
-
return /* @__PURE__ */
|
|
3450
|
+
return /* @__PURE__ */ jsx128(SetField, { ...field, ...props });
|
|
3611
3451
|
case "string":
|
|
3612
|
-
return /* @__PURE__ */
|
|
3452
|
+
return /* @__PURE__ */ jsx128(StringField, { ...field, ...props });
|
|
3613
3453
|
default:
|
|
3614
3454
|
throw new Error(`Unexpected value for kind: ${Reflect.get(field, "kind")}`);
|
|
3615
3455
|
}
|
|
3616
3456
|
};
|
|
3617
3457
|
|
|
3618
3458
|
// src/components/Form/RecordArrayField.tsx
|
|
3619
|
-
import { jsx as
|
|
3459
|
+
import { jsx as jsx129, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
3620
3460
|
var RecordArrayField = memo(function RecordArrayField2({
|
|
3621
3461
|
disabled,
|
|
3622
3462
|
error: arrayError,
|
|
@@ -3652,17 +3492,17 @@ var RecordArrayField = memo(function RecordArrayField2({
|
|
|
3652
3492
|
setArrayValue(arrayValue.slice(0, arrayValue.length - 1));
|
|
3653
3493
|
}
|
|
3654
3494
|
};
|
|
3655
|
-
return /* @__PURE__ */
|
|
3656
|
-
/* @__PURE__ */
|
|
3657
|
-
/* @__PURE__ */
|
|
3658
|
-
/* @__PURE__ */
|
|
3495
|
+
return /* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-4", children: [
|
|
3496
|
+
/* @__PURE__ */ jsx129(Heading, { className: "font-medium", variant: "h5", children: label }),
|
|
3497
|
+
/* @__PURE__ */ jsx129("div", { className: "flex flex-col gap-6", children: arrayValue.map((fields, i) => /* @__PURE__ */ jsxs48("div", { className: "flex flex-col gap-4", children: [
|
|
3498
|
+
/* @__PURE__ */ jsx129(Label3, { className: "font-semibold italic", children: label + " " + (i + 1) }),
|
|
3659
3499
|
Object.keys(fields).map((name) => {
|
|
3660
3500
|
const field = fieldset[name];
|
|
3661
3501
|
const fieldProps = field?.kind === "dynamic" ? field.render.call(void 0, fields) : field;
|
|
3662
3502
|
if (!fieldProps) {
|
|
3663
3503
|
return null;
|
|
3664
3504
|
}
|
|
3665
|
-
return /* @__PURE__ */
|
|
3505
|
+
return /* @__PURE__ */ jsx129(
|
|
3666
3506
|
ScalarField,
|
|
3667
3507
|
{
|
|
3668
3508
|
error: arrayError?.[i]?.[name],
|
|
@@ -3689,21 +3529,21 @@ var RecordArrayField = memo(function RecordArrayField2({
|
|
|
3689
3529
|
);
|
|
3690
3530
|
})
|
|
3691
3531
|
] }, i)) }),
|
|
3692
|
-
/* @__PURE__ */
|
|
3693
|
-
/* @__PURE__ */
|
|
3532
|
+
/* @__PURE__ */ jsxs48("div", { className: "flex gap-3", children: [
|
|
3533
|
+
/* @__PURE__ */ jsxs48(Button, { disabled: disabled || readOnly, type: "button", variant: "outline", onClick: appendField, children: [
|
|
3694
3534
|
t("form.append"),
|
|
3695
|
-
/* @__PURE__ */
|
|
3535
|
+
/* @__PURE__ */ jsx129(PlusCircleIcon, { className: "ml-2" })
|
|
3696
3536
|
] }),
|
|
3697
|
-
/* @__PURE__ */
|
|
3537
|
+
/* @__PURE__ */ jsxs48(Button, { disabled: disabled || readOnly, type: "button", variant: "outline", onClick: removeField, children: [
|
|
3698
3538
|
t("form.remove"),
|
|
3699
|
-
/* @__PURE__ */
|
|
3539
|
+
/* @__PURE__ */ jsx129(MinusCircleIcon, { className: "ml-2" })
|
|
3700
3540
|
] })
|
|
3701
3541
|
] })
|
|
3702
3542
|
] });
|
|
3703
3543
|
});
|
|
3704
3544
|
|
|
3705
3545
|
// src/components/Form/StaticField.tsx
|
|
3706
|
-
import { jsx as
|
|
3546
|
+
import { jsx as jsx130 } from "react/jsx-runtime";
|
|
3707
3547
|
var StaticField = ({
|
|
3708
3548
|
errors,
|
|
3709
3549
|
field,
|
|
@@ -3725,7 +3565,7 @@ var StaticField = ({
|
|
|
3725
3565
|
},
|
|
3726
3566
|
[setValues]
|
|
3727
3567
|
);
|
|
3728
|
-
return match7(field).with({ kind: "record-array" }, (field2) => /* @__PURE__ */
|
|
3568
|
+
return match7(field).with({ kind: "record-array" }, (field2) => /* @__PURE__ */ jsx130(
|
|
3729
3569
|
RecordArrayField,
|
|
3730
3570
|
{
|
|
3731
3571
|
...field2,
|
|
@@ -3736,7 +3576,7 @@ var StaticField = ({
|
|
|
3736
3576
|
setValue,
|
|
3737
3577
|
value: values[name]
|
|
3738
3578
|
}
|
|
3739
|
-
)).with({ kind: "number-record" }, (field2) => /* @__PURE__ */
|
|
3579
|
+
)).with({ kind: "number-record" }, (field2) => /* @__PURE__ */ jsx130(
|
|
3740
3580
|
NumberRecordField,
|
|
3741
3581
|
{
|
|
3742
3582
|
...field2,
|
|
@@ -3747,7 +3587,7 @@ var StaticField = ({
|
|
|
3747
3587
|
setValue,
|
|
3748
3588
|
value: values[name]
|
|
3749
3589
|
}
|
|
3750
|
-
)).otherwise((field2) => /* @__PURE__ */
|
|
3590
|
+
)).otherwise((field2) => /* @__PURE__ */ jsx130(
|
|
3751
3591
|
ScalarField,
|
|
3752
3592
|
{
|
|
3753
3593
|
error: errors[name],
|
|
@@ -3762,7 +3602,7 @@ var StaticField = ({
|
|
|
3762
3602
|
};
|
|
3763
3603
|
|
|
3764
3604
|
// src/components/Form/DynamicField.tsx
|
|
3765
|
-
import { jsx as
|
|
3605
|
+
import { jsx as jsx131 } from "react/jsx-runtime";
|
|
3766
3606
|
var DynamicField = ({
|
|
3767
3607
|
field,
|
|
3768
3608
|
name,
|
|
@@ -3791,7 +3631,7 @@ var DynamicField = ({
|
|
|
3791
3631
|
if (!staticField) {
|
|
3792
3632
|
return null;
|
|
3793
3633
|
}
|
|
3794
|
-
return /* @__PURE__ */
|
|
3634
|
+
return /* @__PURE__ */ jsx131(StaticField, { ...props, field: staticField, name, readOnly, setValues, values });
|
|
3795
3635
|
};
|
|
3796
3636
|
|
|
3797
3637
|
// src/components/Form/FieldsComponent.tsx
|
|
@@ -3823,7 +3663,7 @@ function getInitialValues(values) {
|
|
|
3823
3663
|
}
|
|
3824
3664
|
|
|
3825
3665
|
// src/components/Form/Form.tsx
|
|
3826
|
-
import { Fragment as Fragment2, jsx as
|
|
3666
|
+
import { Fragment as Fragment2, jsx as jsx132, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
3827
3667
|
var Form = ({
|
|
3828
3668
|
additionalButtons,
|
|
3829
3669
|
className,
|
|
@@ -3929,7 +3769,7 @@ var Form = ({
|
|
|
3929
3769
|
setRootErrors([]);
|
|
3930
3770
|
}, [resolvedLanguage]);
|
|
3931
3771
|
const isSuspended = Boolean(suspendWhileSubmitting && isSubmitting);
|
|
3932
|
-
return /* @__PURE__ */
|
|
3772
|
+
return /* @__PURE__ */ jsxs49(
|
|
3933
3773
|
"form",
|
|
3934
3774
|
{
|
|
3935
3775
|
autoComplete: "off",
|
|
@@ -3939,15 +3779,15 @@ var Form = ({
|
|
|
3939
3779
|
onSubmit: (event) => void handleSubmit(event),
|
|
3940
3780
|
...props,
|
|
3941
3781
|
children: [
|
|
3942
|
-
isSubmitting && /* @__PURE__ */
|
|
3782
|
+
isSubmitting && /* @__PURE__ */ jsx132("div", { className: "absolute z-10 h-full w-full cursor-wait" }),
|
|
3943
3783
|
isGrouped ? content.map((fieldGroup, i) => {
|
|
3944
|
-
return /* @__PURE__ */
|
|
3945
|
-
/* @__PURE__ */
|
|
3946
|
-
/* @__PURE__ */
|
|
3947
|
-
fieldGroup.title && /* @__PURE__ */
|
|
3948
|
-
fieldGroup.description && /* @__PURE__ */
|
|
3784
|
+
return /* @__PURE__ */ jsxs49(Fragment2, { children: [
|
|
3785
|
+
/* @__PURE__ */ jsxs49("div", { className: "flex flex-col gap-6 [&:not(:first-child)]:pt-8", children: [
|
|
3786
|
+
/* @__PURE__ */ jsxs49("div", { className: "flex flex-col gap-1", children: [
|
|
3787
|
+
fieldGroup.title && /* @__PURE__ */ jsx132(Heading, { className: "text-base", variant: "h4", children: fieldGroup.title }),
|
|
3788
|
+
fieldGroup.description && /* @__PURE__ */ jsx132("p", { className: "text-muted-foreground text-sm leading-tight italic", children: fieldGroup.description })
|
|
3949
3789
|
] }),
|
|
3950
|
-
/* @__PURE__ */
|
|
3790
|
+
/* @__PURE__ */ jsx132(
|
|
3951
3791
|
FieldsComponent,
|
|
3952
3792
|
{
|
|
3953
3793
|
errors,
|
|
@@ -3959,9 +3799,9 @@ var Form = ({
|
|
|
3959
3799
|
}
|
|
3960
3800
|
)
|
|
3961
3801
|
] }, i),
|
|
3962
|
-
/* @__PURE__ */
|
|
3802
|
+
/* @__PURE__ */ jsx132(Separator3, { className: "mt-8" })
|
|
3963
3803
|
] });
|
|
3964
|
-
}) : /* @__PURE__ */
|
|
3804
|
+
}) : /* @__PURE__ */ jsx132(
|
|
3965
3805
|
FieldsComponent,
|
|
3966
3806
|
{
|
|
3967
3807
|
errors,
|
|
@@ -3972,11 +3812,11 @@ var Form = ({
|
|
|
3972
3812
|
values
|
|
3973
3813
|
}
|
|
3974
3814
|
),
|
|
3975
|
-
Boolean(rootErrors.length) && /* @__PURE__ */
|
|
3815
|
+
Boolean(rootErrors.length) && /* @__PURE__ */ jsx132(ErrorMessage, { className: "-mt-3", error: rootErrors }),
|
|
3976
3816
|
fieldsFooter,
|
|
3977
|
-
/* @__PURE__ */
|
|
3817
|
+
/* @__PURE__ */ jsxs49("div", { className: "flex w-full gap-3", children: [
|
|
3978
3818
|
additionalButtons?.left,
|
|
3979
|
-
/* @__PURE__ */
|
|
3819
|
+
/* @__PURE__ */ jsxs49(
|
|
3980
3820
|
Button,
|
|
3981
3821
|
{
|
|
3982
3822
|
"aria-label": "Submit",
|
|
@@ -3986,7 +3826,7 @@ var Form = ({
|
|
|
3986
3826
|
variant: "primary",
|
|
3987
3827
|
children: [
|
|
3988
3828
|
submitBtnLabel ?? t("form.submit"),
|
|
3989
|
-
/* @__PURE__ */
|
|
3829
|
+
/* @__PURE__ */ jsx132(
|
|
3990
3830
|
"svg",
|
|
3991
3831
|
{
|
|
3992
3832
|
className: cn("hidden h-4 w-4 animate-spin", isSuspended && "block"),
|
|
@@ -3999,13 +3839,13 @@ var Form = ({
|
|
|
3999
3839
|
viewBox: "0 0 24 24",
|
|
4000
3840
|
width: "24",
|
|
4001
3841
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4002
|
-
children: /* @__PURE__ */
|
|
3842
|
+
children: /* @__PURE__ */ jsx132("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
|
|
4003
3843
|
}
|
|
4004
3844
|
)
|
|
4005
3845
|
]
|
|
4006
3846
|
}
|
|
4007
3847
|
),
|
|
4008
|
-
resetBtn && /* @__PURE__ */
|
|
3848
|
+
resetBtn && /* @__PURE__ */ jsx132(
|
|
4009
3849
|
Button,
|
|
4010
3850
|
{
|
|
4011
3851
|
"aria-label": "Reset",
|
|
@@ -4025,15 +3865,15 @@ var Form = ({
|
|
|
4025
3865
|
};
|
|
4026
3866
|
|
|
4027
3867
|
// src/components/HoverCard/HoverCard.tsx
|
|
4028
|
-
import { Root as
|
|
3868
|
+
import { Root as Root14, Trigger as Trigger7 } from "@radix-ui/react-hover-card";
|
|
4029
3869
|
|
|
4030
3870
|
// src/components/HoverCard/HoverCardContent.tsx
|
|
4031
|
-
import { forwardRef as
|
|
4032
|
-
import { Content as
|
|
4033
|
-
import { jsx as
|
|
4034
|
-
var HoverCardContent =
|
|
4035
|
-
return /* @__PURE__ */
|
|
4036
|
-
|
|
3871
|
+
import { forwardRef as forwardRef79 } from "react";
|
|
3872
|
+
import { Content as Content8 } from "@radix-ui/react-hover-card";
|
|
3873
|
+
import { jsx as jsx133 } from "react/jsx-runtime";
|
|
3874
|
+
var HoverCardContent = forwardRef79(function HoverCardContent2({ align = "center", className, sideOffset = 4, ...props }, ref) {
|
|
3875
|
+
return /* @__PURE__ */ jsx133(
|
|
3876
|
+
Content8,
|
|
4037
3877
|
{
|
|
4038
3878
|
align,
|
|
4039
3879
|
className: cn(
|
|
@@ -4048,14 +3888,14 @@ var HoverCardContent = forwardRef85(function HoverCardContent2({ align = "center
|
|
|
4048
3888
|
});
|
|
4049
3889
|
|
|
4050
3890
|
// src/components/HoverCard/HoverCard.tsx
|
|
4051
|
-
var HoverCard = Object.assign(
|
|
3891
|
+
var HoverCard = Object.assign(Root14.bind(null), {
|
|
4052
3892
|
Content: HoverCardContent,
|
|
4053
|
-
Trigger:
|
|
3893
|
+
Trigger: Trigger7
|
|
4054
3894
|
});
|
|
4055
3895
|
|
|
4056
3896
|
// src/components/LanguageToggle/LanguageToggle.tsx
|
|
4057
3897
|
import { LanguagesIcon } from "lucide-react";
|
|
4058
|
-
import { jsx as
|
|
3898
|
+
import { jsx as jsx134, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
4059
3899
|
var LanguageToggle = ({
|
|
4060
3900
|
align = "start",
|
|
4061
3901
|
contentClassName,
|
|
@@ -4065,9 +3905,9 @@ var LanguageToggle = ({
|
|
|
4065
3905
|
variant = "outline"
|
|
4066
3906
|
}) => {
|
|
4067
3907
|
const { changeLanguage } = useTranslation("libui");
|
|
4068
|
-
return /* @__PURE__ */
|
|
4069
|
-
/* @__PURE__ */
|
|
4070
|
-
/* @__PURE__ */
|
|
3908
|
+
return /* @__PURE__ */ jsxs50(DropdownMenu, { children: [
|
|
3909
|
+
/* @__PURE__ */ jsx134(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ jsx134(Button, { className: triggerClassName, size: "icon", variant, children: /* @__PURE__ */ jsx134(LanguagesIcon, {}) }) }),
|
|
3910
|
+
/* @__PURE__ */ jsx134(DropdownMenu.Content, { align, className: contentClassName, children: Object.keys(options).map((option) => /* @__PURE__ */ jsx134(
|
|
4071
3911
|
DropdownMenu.Item,
|
|
4072
3912
|
{
|
|
4073
3913
|
className: itemClassName,
|
|
@@ -4080,7 +3920,7 @@ var LanguageToggle = ({
|
|
|
4080
3920
|
};
|
|
4081
3921
|
|
|
4082
3922
|
// src/components/LineGraph/LineGraph.tsx
|
|
4083
|
-
import * as
|
|
3923
|
+
import * as React31 from "react";
|
|
4084
3924
|
import { toBasicISOString as toBasicISOString3 } from "@douglasneuroinformatics/libjs";
|
|
4085
3925
|
import {
|
|
4086
3926
|
CartesianGrid,
|
|
@@ -4094,7 +3934,7 @@ import {
|
|
|
4094
3934
|
XAxis,
|
|
4095
3935
|
YAxis
|
|
4096
3936
|
} from "recharts";
|
|
4097
|
-
import { jsx as
|
|
3937
|
+
import { jsx as jsx135, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
4098
3938
|
import { createElement as createElement2 } from "react";
|
|
4099
3939
|
var strokeColors = {
|
|
4100
3940
|
dark: "#cbd5e1",
|
|
@@ -4123,9 +3963,9 @@ function LineGraphComponent({
|
|
|
4123
3963
|
}) {
|
|
4124
3964
|
const { resolvedLanguage } = useTranslation("libui");
|
|
4125
3965
|
const [theme] = useTheme();
|
|
4126
|
-
return /* @__PURE__ */
|
|
4127
|
-
/* @__PURE__ */
|
|
4128
|
-
/* @__PURE__ */
|
|
3966
|
+
return /* @__PURE__ */ jsx135(ResponsiveContainer2, { height: 400, width: "100%", children: /* @__PURE__ */ jsxs51(LineChart, { data: [...data], margin: { bottom: 5, left: 15, right: 15, top: 5 }, children: [
|
|
3967
|
+
/* @__PURE__ */ jsx135(CartesianGrid, { stroke: "#64748b", strokeDasharray: "5 5" }),
|
|
3968
|
+
/* @__PURE__ */ jsx135(
|
|
4129
3969
|
XAxis,
|
|
4130
3970
|
{
|
|
4131
3971
|
axisLine: { stroke: "#64748b" },
|
|
@@ -4140,10 +3980,10 @@ function LineGraphComponent({
|
|
|
4140
3980
|
tickMargin: 8,
|
|
4141
3981
|
tickSize: 8,
|
|
4142
3982
|
type: "number",
|
|
4143
|
-
children: /* @__PURE__ */
|
|
3983
|
+
children: /* @__PURE__ */ jsx135(Label6, { fill: strokeColors[theme], offset: 0, position: "insideBottom", value: xAxis?.label })
|
|
4144
3984
|
}
|
|
4145
3985
|
),
|
|
4146
|
-
/* @__PURE__ */
|
|
3986
|
+
/* @__PURE__ */ jsx135(
|
|
4147
3987
|
YAxis,
|
|
4148
3988
|
{
|
|
4149
3989
|
axisLine: { stroke: "#64748b" },
|
|
@@ -4154,7 +3994,7 @@ function LineGraphComponent({
|
|
|
4154
3994
|
width: 40
|
|
4155
3995
|
}
|
|
4156
3996
|
),
|
|
4157
|
-
/* @__PURE__ */
|
|
3997
|
+
/* @__PURE__ */ jsx135(
|
|
4158
3998
|
Tooltip3,
|
|
4159
3999
|
{
|
|
4160
4000
|
contentStyle: tooltipStyles[theme],
|
|
@@ -4178,16 +4018,16 @@ function LineGraphComponent({
|
|
|
4178
4018
|
stroke: stroke ?? strokeColors[theme],
|
|
4179
4019
|
type: type ?? "linear"
|
|
4180
4020
|
},
|
|
4181
|
-
err && /* @__PURE__ */
|
|
4021
|
+
err && /* @__PURE__ */ jsx135(ErrorBar, { dataKey: err, stroke: "#64748b" })
|
|
4182
4022
|
)),
|
|
4183
|
-
/* @__PURE__ */
|
|
4023
|
+
/* @__PURE__ */ jsx135(Legend2, { wrapperStyle: { paddingLeft: 40, paddingTop: 10 } })
|
|
4184
4024
|
] }) });
|
|
4185
4025
|
}
|
|
4186
|
-
var LineGraph =
|
|
4026
|
+
var LineGraph = React31.memo(LineGraphComponent);
|
|
4187
4027
|
|
|
4188
4028
|
// src/components/ListboxDropdown/ListboxDropdown.tsx
|
|
4189
4029
|
import "react";
|
|
4190
|
-
import { jsx as
|
|
4030
|
+
import { jsx as jsx136, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
4191
4031
|
var ListboxDropdown = ({
|
|
4192
4032
|
contentClassName,
|
|
4193
4033
|
disabled,
|
|
@@ -4198,11 +4038,11 @@ var ListboxDropdown = ({
|
|
|
4198
4038
|
triggerClassName,
|
|
4199
4039
|
widthFull
|
|
4200
4040
|
}) => {
|
|
4201
|
-
return /* @__PURE__ */
|
|
4202
|
-
/* @__PURE__ */
|
|
4203
|
-
/* @__PURE__ */
|
|
4041
|
+
return /* @__PURE__ */ jsxs52(DropdownMenu, { children: [
|
|
4042
|
+
/* @__PURE__ */ jsx136(DropdownMenu.Trigger, { asChild: true, className: cn("w-full", triggerClassName), disabled, children: /* @__PURE__ */ jsx136(DropdownButton, { children: title }) }),
|
|
4043
|
+
/* @__PURE__ */ jsx136(DropdownMenu.Content, { align: "start", className: contentClassName, widthFull, children: options.map((option) => {
|
|
4204
4044
|
const checked = Boolean(selected.find((selectedOption) => selectedOption.key === option.key));
|
|
4205
|
-
return /* @__PURE__ */
|
|
4045
|
+
return /* @__PURE__ */ jsx136(
|
|
4206
4046
|
DropdownMenu.CheckboxItem,
|
|
4207
4047
|
{
|
|
4208
4048
|
checked,
|
|
@@ -4227,15 +4067,15 @@ var ListboxDropdown = ({
|
|
|
4227
4067
|
};
|
|
4228
4068
|
|
|
4229
4069
|
// src/components/MenuBar/MenuBar.tsx
|
|
4230
|
-
import { Group as Group4, Menu, Portal as
|
|
4070
|
+
import { Group as Group4, Menu, Portal as Portal9, RadioGroup as RadioGroup5, Sub as Sub3 } from "@radix-ui/react-menubar";
|
|
4231
4071
|
|
|
4232
4072
|
// src/components/MenuBar/MenuBarCheckboxItem.tsx
|
|
4233
|
-
import { forwardRef as
|
|
4073
|
+
import { forwardRef as forwardRef80 } from "react";
|
|
4234
4074
|
import { CheckboxItem as CheckboxItem3, ItemIndicator as ItemIndicator6 } from "@radix-ui/react-menubar";
|
|
4235
4075
|
import { CheckIcon as CheckIcon5 } from "lucide-react";
|
|
4236
|
-
import { jsx as
|
|
4237
|
-
var MenuBarCheckboxItem =
|
|
4238
|
-
return /* @__PURE__ */
|
|
4076
|
+
import { jsx as jsx137, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
4077
|
+
var MenuBarCheckboxItem = forwardRef80(function MenuBarCheckboxItem2({ checked, children, className, ...props }, ref) {
|
|
4078
|
+
return /* @__PURE__ */ jsxs53(
|
|
4239
4079
|
CheckboxItem3,
|
|
4240
4080
|
{
|
|
4241
4081
|
checked,
|
|
@@ -4246,7 +4086,7 @@ var MenuBarCheckboxItem = forwardRef86(function MenuBarCheckboxItem2({ checked,
|
|
|
4246
4086
|
ref,
|
|
4247
4087
|
...props,
|
|
4248
4088
|
children: [
|
|
4249
|
-
/* @__PURE__ */
|
|
4089
|
+
/* @__PURE__ */ jsx137("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx137(ItemIndicator6, { children: /* @__PURE__ */ jsx137(CheckIcon5, { className: "h-4 w-4" }) }) }),
|
|
4250
4090
|
children
|
|
4251
4091
|
]
|
|
4252
4092
|
}
|
|
@@ -4254,12 +4094,12 @@ var MenuBarCheckboxItem = forwardRef86(function MenuBarCheckboxItem2({ checked,
|
|
|
4254
4094
|
});
|
|
4255
4095
|
|
|
4256
4096
|
// src/components/MenuBar/MenuBarContent.tsx
|
|
4257
|
-
import { forwardRef as
|
|
4258
|
-
import { Content as
|
|
4259
|
-
import { jsx as
|
|
4260
|
-
var MenuBarContent =
|
|
4261
|
-
return /* @__PURE__ */
|
|
4262
|
-
|
|
4097
|
+
import { forwardRef as forwardRef81 } from "react";
|
|
4098
|
+
import { Content as Content9, Portal as Portal8 } from "@radix-ui/react-menubar";
|
|
4099
|
+
import { jsx as jsx138 } from "react/jsx-runtime";
|
|
4100
|
+
var MenuBarContent = forwardRef81(function MenuBarContent2({ align = "start", alignOffset = -4, className, sideOffset = 8, ...props }, ref) {
|
|
4101
|
+
return /* @__PURE__ */ jsx138(Portal8, { children: /* @__PURE__ */ jsx138(
|
|
4102
|
+
Content9,
|
|
4263
4103
|
{
|
|
4264
4104
|
align,
|
|
4265
4105
|
alignOffset,
|
|
@@ -4275,11 +4115,11 @@ var MenuBarContent = forwardRef87(function MenuBarContent2({ align = "start", al
|
|
|
4275
4115
|
});
|
|
4276
4116
|
|
|
4277
4117
|
// src/components/MenuBar/MenuBarItem.tsx
|
|
4278
|
-
import { forwardRef as
|
|
4118
|
+
import { forwardRef as forwardRef82 } from "react";
|
|
4279
4119
|
import { Item as Item6 } from "@radix-ui/react-menubar";
|
|
4280
|
-
import { jsx as
|
|
4281
|
-
var MenuBarItem =
|
|
4282
|
-
return /* @__PURE__ */
|
|
4120
|
+
import { jsx as jsx139 } from "react/jsx-runtime";
|
|
4121
|
+
var MenuBarItem = forwardRef82(function MenuBarItem2({ className, inset, ...props }, ref) {
|
|
4122
|
+
return /* @__PURE__ */ jsx139(
|
|
4283
4123
|
Item6,
|
|
4284
4124
|
{
|
|
4285
4125
|
className: cn(
|
|
@@ -4294,20 +4134,20 @@ var MenuBarItem = forwardRef88(function MenuBarItem2({ className, inset, ...prop
|
|
|
4294
4134
|
});
|
|
4295
4135
|
|
|
4296
4136
|
// src/components/MenuBar/MenuBarLabel.tsx
|
|
4297
|
-
import { forwardRef as
|
|
4137
|
+
import { forwardRef as forwardRef83 } from "react";
|
|
4298
4138
|
import { Label as Label7 } from "@radix-ui/react-menubar";
|
|
4299
|
-
import { jsx as
|
|
4300
|
-
var MenuBarLabel =
|
|
4301
|
-
return /* @__PURE__ */
|
|
4139
|
+
import { jsx as jsx140 } from "react/jsx-runtime";
|
|
4140
|
+
var MenuBarLabel = forwardRef83(function MenuBarLabel2({ className, inset, ...props }, ref) {
|
|
4141
|
+
return /* @__PURE__ */ jsx140(Label7, { className: cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className), ref, ...props });
|
|
4302
4142
|
});
|
|
4303
4143
|
|
|
4304
4144
|
// src/components/MenuBar/MenuBarRadioItem.tsx
|
|
4305
|
-
import { forwardRef as
|
|
4145
|
+
import { forwardRef as forwardRef84 } from "react";
|
|
4306
4146
|
import { ItemIndicator as ItemIndicator7, RadioItem as RadioItem3 } from "@radix-ui/react-menubar";
|
|
4307
4147
|
import { CircleIcon as CircleIcon4 } from "lucide-react";
|
|
4308
|
-
import { jsx as
|
|
4309
|
-
var MenuBarRadioItem =
|
|
4310
|
-
return /* @__PURE__ */
|
|
4148
|
+
import { jsx as jsx141, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
4149
|
+
var MenuBarRadioItem = forwardRef84(function MenuBarRadioItem2({ children, className, ...props }, ref) {
|
|
4150
|
+
return /* @__PURE__ */ jsxs54(
|
|
4311
4151
|
RadioItem3,
|
|
4312
4152
|
{
|
|
4313
4153
|
className: cn(
|
|
@@ -4317,7 +4157,7 @@ var MenuBarRadioItem = forwardRef90(function MenuBarRadioItem2({ children, class
|
|
|
4317
4157
|
ref,
|
|
4318
4158
|
...props,
|
|
4319
4159
|
children: [
|
|
4320
|
-
/* @__PURE__ */
|
|
4160
|
+
/* @__PURE__ */ jsx141("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx141(ItemIndicator7, { children: /* @__PURE__ */ jsx141(CircleIcon4, { className: "fill-current", style: { height: 8, width: 8 } }) }) }),
|
|
4321
4161
|
children
|
|
4322
4162
|
]
|
|
4323
4163
|
}
|
|
@@ -4325,13 +4165,13 @@ var MenuBarRadioItem = forwardRef90(function MenuBarRadioItem2({ children, class
|
|
|
4325
4165
|
});
|
|
4326
4166
|
|
|
4327
4167
|
// src/components/MenuBar/MenuBarRoot.tsx
|
|
4328
|
-
import { forwardRef as
|
|
4329
|
-
import { Root as
|
|
4330
|
-
import { jsx as
|
|
4331
|
-
var MenuBarRoot =
|
|
4168
|
+
import { forwardRef as forwardRef85 } from "react";
|
|
4169
|
+
import { Root as Root15 } from "@radix-ui/react-menubar";
|
|
4170
|
+
import { jsx as jsx142 } from "react/jsx-runtime";
|
|
4171
|
+
var MenuBarRoot = forwardRef85(
|
|
4332
4172
|
function MenuBarRoot2({ className, ...props }, ref) {
|
|
4333
|
-
return /* @__PURE__ */
|
|
4334
|
-
|
|
4173
|
+
return /* @__PURE__ */ jsx142(
|
|
4174
|
+
Root15,
|
|
4335
4175
|
{
|
|
4336
4176
|
className: cn("bg-background flex h-9 items-center space-x-1 rounded-md border p-1 shadow-xs", className),
|
|
4337
4177
|
ref,
|
|
@@ -4342,26 +4182,26 @@ var MenuBarRoot = forwardRef91(
|
|
|
4342
4182
|
);
|
|
4343
4183
|
|
|
4344
4184
|
// src/components/MenuBar/MenuBarSeparator.tsx
|
|
4345
|
-
import { forwardRef as
|
|
4185
|
+
import { forwardRef as forwardRef86 } from "react";
|
|
4346
4186
|
import { Separator as Separator6 } from "@radix-ui/react-menubar";
|
|
4347
|
-
import { jsx as
|
|
4348
|
-
var MenuBarSeparator =
|
|
4349
|
-
return /* @__PURE__ */
|
|
4187
|
+
import { jsx as jsx143 } from "react/jsx-runtime";
|
|
4188
|
+
var MenuBarSeparator = forwardRef86(function MenuBarSeparator2({ className, ...props }, ref) {
|
|
4189
|
+
return /* @__PURE__ */ jsx143(Separator6, { className: cn("-mx-1 my-1 h-px bg-muted", className), ref, ...props });
|
|
4350
4190
|
});
|
|
4351
4191
|
|
|
4352
4192
|
// src/components/MenuBar/MenuBarShortcut.tsx
|
|
4353
4193
|
import "react";
|
|
4354
|
-
import { jsx as
|
|
4194
|
+
import { jsx as jsx144 } from "react/jsx-runtime";
|
|
4355
4195
|
var MenuBarShortcut = ({ className, ...props }) => {
|
|
4356
|
-
return /* @__PURE__ */
|
|
4196
|
+
return /* @__PURE__ */ jsx144("span", { className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props });
|
|
4357
4197
|
};
|
|
4358
4198
|
|
|
4359
4199
|
// src/components/MenuBar/MenuBarSubContent.tsx
|
|
4360
|
-
import { forwardRef as
|
|
4200
|
+
import { forwardRef as forwardRef87 } from "react";
|
|
4361
4201
|
import { SubContent as SubContent3 } from "@radix-ui/react-menubar";
|
|
4362
|
-
import { jsx as
|
|
4363
|
-
var MenuBarSubContent =
|
|
4364
|
-
return /* @__PURE__ */
|
|
4202
|
+
import { jsx as jsx145 } from "react/jsx-runtime";
|
|
4203
|
+
var MenuBarSubContent = forwardRef87(function MenuBarSubContent2({ className, ...props }, ref) {
|
|
4204
|
+
return /* @__PURE__ */ jsx145(
|
|
4365
4205
|
SubContent3,
|
|
4366
4206
|
{
|
|
4367
4207
|
className: cn(
|
|
@@ -4375,12 +4215,12 @@ var MenuBarSubContent = forwardRef93(function MenuBarSubContent2({ className, ..
|
|
|
4375
4215
|
});
|
|
4376
4216
|
|
|
4377
4217
|
// src/components/MenuBar/MenuBarSubTrigger.tsx
|
|
4378
|
-
import { forwardRef as
|
|
4218
|
+
import { forwardRef as forwardRef88 } from "react";
|
|
4379
4219
|
import { SubTrigger as SubTrigger3 } from "@radix-ui/react-menubar";
|
|
4380
4220
|
import { ChevronRightIcon as ChevronRightIcon5 } from "lucide-react";
|
|
4381
|
-
import { jsx as
|
|
4382
|
-
var MenuBarSubTrigger =
|
|
4383
|
-
return /* @__PURE__ */
|
|
4221
|
+
import { jsx as jsx146, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
4222
|
+
var MenuBarSubTrigger = forwardRef88(function MenuBarSubTrigger2({ children, className, inset, ...props }, ref) {
|
|
4223
|
+
return /* @__PURE__ */ jsxs55(
|
|
4384
4224
|
SubTrigger3,
|
|
4385
4225
|
{
|
|
4386
4226
|
className: cn(
|
|
@@ -4392,19 +4232,19 @@ var MenuBarSubTrigger = forwardRef94(function MenuBarSubTrigger2({ children, cla
|
|
|
4392
4232
|
...props,
|
|
4393
4233
|
children: [
|
|
4394
4234
|
children,
|
|
4395
|
-
/* @__PURE__ */
|
|
4235
|
+
/* @__PURE__ */ jsx146(ChevronRightIcon5, { className: "ml-auto h-4 w-4" })
|
|
4396
4236
|
]
|
|
4397
4237
|
}
|
|
4398
4238
|
);
|
|
4399
4239
|
});
|
|
4400
4240
|
|
|
4401
4241
|
// src/components/MenuBar/MenuBarTrigger.tsx
|
|
4402
|
-
import { forwardRef as
|
|
4403
|
-
import { Trigger as
|
|
4404
|
-
import { jsx as
|
|
4405
|
-
var MenuBarTrigger =
|
|
4406
|
-
return /* @__PURE__ */
|
|
4407
|
-
|
|
4242
|
+
import { forwardRef as forwardRef89 } from "react";
|
|
4243
|
+
import { Trigger as Trigger8 } from "@radix-ui/react-menubar";
|
|
4244
|
+
import { jsx as jsx147 } from "react/jsx-runtime";
|
|
4245
|
+
var MenuBarTrigger = forwardRef89(function MenuBarTrigger2({ className, ...props }, ref) {
|
|
4246
|
+
return /* @__PURE__ */ jsx147(
|
|
4247
|
+
Trigger8,
|
|
4408
4248
|
{
|
|
4409
4249
|
className: cn(
|
|
4410
4250
|
"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-xs px-3 py-1 text-sm font-medium outline-hidden select-none",
|
|
@@ -4424,7 +4264,7 @@ var MenuBar = Object.assign(MenuBarRoot, {
|
|
|
4424
4264
|
Item: MenuBarItem,
|
|
4425
4265
|
Label: MenuBarLabel,
|
|
4426
4266
|
Menu,
|
|
4427
|
-
Portal:
|
|
4267
|
+
Portal: Portal9,
|
|
4428
4268
|
RadioGroup: RadioGroup5,
|
|
4429
4269
|
RadioItem: MenuBarRadioItem,
|
|
4430
4270
|
Separator: MenuBarSeparator,
|
|
@@ -4435,150 +4275,9 @@ var MenuBar = Object.assign(MenuBarRoot, {
|
|
|
4435
4275
|
Trigger: MenuBarTrigger
|
|
4436
4276
|
});
|
|
4437
4277
|
|
|
4438
|
-
// src/components/NotificationHub/NotificationHub.tsx
|
|
4439
|
-
import { XIcon as XIcon2 } from "lucide-react";
|
|
4440
|
-
import { AnimatePresence as AnimatePresence4, motion as motion5 } from "motion/react";
|
|
4441
|
-
|
|
4442
|
-
// src/components/NotificationHub/NotificationIcon.tsx
|
|
4443
|
-
import { jsx as jsx157 } from "react/jsx-runtime";
|
|
4444
|
-
var NotificationIcon = ({ type }) => {
|
|
4445
|
-
switch (type) {
|
|
4446
|
-
case "error":
|
|
4447
|
-
return /* @__PURE__ */ jsx157(
|
|
4448
|
-
"svg",
|
|
4449
|
-
{
|
|
4450
|
-
"aria-hidden": "true",
|
|
4451
|
-
className: "h-6 w-6 text-red-500",
|
|
4452
|
-
"data-slot": "icon",
|
|
4453
|
-
fill: "currentColor",
|
|
4454
|
-
viewBox: "0 0 24 24",
|
|
4455
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
4456
|
-
children: /* @__PURE__ */ jsx157(
|
|
4457
|
-
"path",
|
|
4458
|
-
{
|
|
4459
|
-
clipRule: "evenodd",
|
|
4460
|
-
d: "M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25Zm-1.72 6.97a.75.75 0 1 0-1.06 1.06L10.94 12l-1.72 1.72a.75.75 0 1 0 1.06 1.06L12 13.06l1.72 1.72a.75.75 0 1 0 1.06-1.06L13.06 12l1.72-1.72a.75.75 0 1 0-1.06-1.06L12 10.94l-1.72-1.72Z",
|
|
4461
|
-
fillRule: "evenodd"
|
|
4462
|
-
}
|
|
4463
|
-
)
|
|
4464
|
-
}
|
|
4465
|
-
);
|
|
4466
|
-
case "info":
|
|
4467
|
-
return /* @__PURE__ */ jsx157(
|
|
4468
|
-
"svg",
|
|
4469
|
-
{
|
|
4470
|
-
"aria-hidden": "true",
|
|
4471
|
-
className: "h-6 w-6 text-blue-500",
|
|
4472
|
-
"data-slot": "icon",
|
|
4473
|
-
fill: "currentColor",
|
|
4474
|
-
viewBox: "0 0 24 24",
|
|
4475
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
4476
|
-
children: /* @__PURE__ */ jsx157(
|
|
4477
|
-
"path",
|
|
4478
|
-
{
|
|
4479
|
-
clipRule: "evenodd",
|
|
4480
|
-
d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm8.706-1.442c1.146-.573 2.437.463 2.126 1.706l-.709 2.836.042-.02a.75.75 0 0 1 .67 1.34l-.04.022c-1.147.573-2.438-.463-2.127-1.706l.71-2.836-.042.02a.75.75 0 1 1-.671-1.34l.041-.022ZM12 9a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z",
|
|
4481
|
-
fillRule: "evenodd"
|
|
4482
|
-
}
|
|
4483
|
-
)
|
|
4484
|
-
}
|
|
4485
|
-
);
|
|
4486
|
-
case "success":
|
|
4487
|
-
return /* @__PURE__ */ jsx157(
|
|
4488
|
-
"svg",
|
|
4489
|
-
{
|
|
4490
|
-
"aria-hidden": "true",
|
|
4491
|
-
className: "h-6 w-6 text-green-500",
|
|
4492
|
-
"data-slot": "icon",
|
|
4493
|
-
fill: "currentColor",
|
|
4494
|
-
viewBox: "0 0 24 24",
|
|
4495
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
4496
|
-
children: /* @__PURE__ */ jsx157(
|
|
4497
|
-
"path",
|
|
4498
|
-
{
|
|
4499
|
-
clipRule: "evenodd",
|
|
4500
|
-
d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z",
|
|
4501
|
-
fillRule: "evenodd"
|
|
4502
|
-
}
|
|
4503
|
-
)
|
|
4504
|
-
}
|
|
4505
|
-
);
|
|
4506
|
-
case "warning":
|
|
4507
|
-
return /* @__PURE__ */ jsx157(
|
|
4508
|
-
"svg",
|
|
4509
|
-
{
|
|
4510
|
-
"aria-hidden": "true",
|
|
4511
|
-
className: "h-6 w-6 text-yellow-500",
|
|
4512
|
-
"data-slot": "icon",
|
|
4513
|
-
fill: "currentColor",
|
|
4514
|
-
viewBox: "0 0 24 24",
|
|
4515
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
4516
|
-
children: /* @__PURE__ */ jsx157(
|
|
4517
|
-
"path",
|
|
4518
|
-
{
|
|
4519
|
-
clipRule: "evenodd",
|
|
4520
|
-
d: "M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z",
|
|
4521
|
-
fillRule: "evenodd"
|
|
4522
|
-
}
|
|
4523
|
-
)
|
|
4524
|
-
}
|
|
4525
|
-
);
|
|
4526
|
-
}
|
|
4527
|
-
};
|
|
4528
|
-
|
|
4529
|
-
// src/components/NotificationHub/NotificationHub.tsx
|
|
4530
|
-
import { jsx as jsx158, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
4531
|
-
var NotificationHub = ({ timeout = 5e3 }) => {
|
|
4532
|
-
const { t } = useTranslation("libui");
|
|
4533
|
-
const { dismissNotification, notifications } = useNotificationsStore();
|
|
4534
|
-
return /* @__PURE__ */ jsx158("div", { className: "fixed bottom-0 z-50 w-full print:hidden", children: /* @__PURE__ */ jsx158(AnimatePresence4, { children: notifications.map((item) => /* @__PURE__ */ jsx158(
|
|
4535
|
-
motion5.div,
|
|
4536
|
-
{
|
|
4537
|
-
animate: { height: "auto", opacity: 1 },
|
|
4538
|
-
className: "relative max-w-sm",
|
|
4539
|
-
exit: { height: 0, opacity: 0 },
|
|
4540
|
-
initial: { height: 0, opacity: 0 },
|
|
4541
|
-
transition: { bounce: 0.1, type: "spring" },
|
|
4542
|
-
children: /* @__PURE__ */ jsx158("div", { className: "w-full p-2", children: /* @__PURE__ */ jsxs58(Card, { className: "w-full rounded-lg p-0", children: [
|
|
4543
|
-
/* @__PURE__ */ jsxs58("div", { className: "p-4", children: [
|
|
4544
|
-
/* @__PURE__ */ jsxs58("div", { className: "mb-2 flex items-center", children: [
|
|
4545
|
-
/* @__PURE__ */ jsx158(NotificationIcon, { type: item.type }),
|
|
4546
|
-
/* @__PURE__ */ jsx158("h5", { className: "ml-3 grow font-medium text-slate-900 dark:text-slate-100", children: item.title ?? t(`notifications.types.${item.type}`) }),
|
|
4547
|
-
/* @__PURE__ */ jsx158(
|
|
4548
|
-
"button",
|
|
4549
|
-
{
|
|
4550
|
-
className: "inline-flex rounded-md text-slate-400 hover:text-slate-500 focus:ring-1 focus:ring-sky-500 focus:outline-hidden dark:focus:ring-sky-600",
|
|
4551
|
-
type: "button",
|
|
4552
|
-
onClick: () => {
|
|
4553
|
-
dismissNotification(item.id);
|
|
4554
|
-
},
|
|
4555
|
-
children: /* @__PURE__ */ jsx158(XIcon2, { "aria-hidden": "true", className: "h-5 w-5" })
|
|
4556
|
-
}
|
|
4557
|
-
)
|
|
4558
|
-
] }),
|
|
4559
|
-
/* @__PURE__ */ jsx158("p", { className: "text-muted-foreground my-2", children: item.message })
|
|
4560
|
-
] }),
|
|
4561
|
-
/* @__PURE__ */ jsx158(
|
|
4562
|
-
motion5.div,
|
|
4563
|
-
{
|
|
4564
|
-
animate: { width: "100%" },
|
|
4565
|
-
className: "h-1 bg-slate-500",
|
|
4566
|
-
initial: { width: "0%" },
|
|
4567
|
-
transition: { duration: timeout / 1e3, ease: "linear" },
|
|
4568
|
-
onAnimationComplete: () => {
|
|
4569
|
-
dismissNotification(item.id);
|
|
4570
|
-
}
|
|
4571
|
-
}
|
|
4572
|
-
)
|
|
4573
|
-
] }) })
|
|
4574
|
-
},
|
|
4575
|
-
item.id
|
|
4576
|
-
)) }) });
|
|
4577
|
-
};
|
|
4578
|
-
|
|
4579
4278
|
// src/components/OneTimePasswordInput/OneTimePasswordInput.tsx
|
|
4580
4279
|
import { useEffect as useEffect12, useRef as useRef5, useState as useState10 } from "react";
|
|
4581
|
-
import { jsx as
|
|
4280
|
+
import { jsx as jsx148 } from "react/jsx-runtime";
|
|
4582
4281
|
var CODE_LENGTH = 6;
|
|
4583
4282
|
var EMPTY_CODE = Object.freeze(Array(CODE_LENGTH).fill(null));
|
|
4584
4283
|
function getUpdatedDigits(digits, index, value) {
|
|
@@ -4638,7 +4337,7 @@ var OneTimePasswordInput = ({ className, onComplete, ...props }) => {
|
|
|
4638
4337
|
});
|
|
4639
4338
|
}
|
|
4640
4339
|
};
|
|
4641
|
-
return /* @__PURE__ */
|
|
4340
|
+
return /* @__PURE__ */ jsx148("div", { className: cn("flex gap-2", className), ...props, children: digits.map((_, index) => /* @__PURE__ */ jsx148(
|
|
4642
4341
|
"input",
|
|
4643
4342
|
{
|
|
4644
4343
|
className: "w-1/6 rounded-md border border-slate-300 bg-transparent p-2 text-center shadow-xs hover:border-slate-300 focus:border-sky-800 focus:outline-hidden dark:border-slate-600 dark:hover:border-slate-400 dark:focus:border-sky-500",
|
|
@@ -4659,17 +4358,17 @@ var OneTimePasswordInput = ({ className, onComplete, ...props }) => {
|
|
|
4659
4358
|
};
|
|
4660
4359
|
|
|
4661
4360
|
// src/components/Progress/Progress.tsx
|
|
4662
|
-
import { forwardRef as
|
|
4361
|
+
import { forwardRef as forwardRef90 } from "react";
|
|
4663
4362
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
4664
|
-
import { jsx as
|
|
4665
|
-
var Progress =
|
|
4666
|
-
return /* @__PURE__ */
|
|
4363
|
+
import { jsx as jsx149 } from "react/jsx-runtime";
|
|
4364
|
+
var Progress = forwardRef90(function Progress2({ className, value, ...props }, ref) {
|
|
4365
|
+
return /* @__PURE__ */ jsx149(
|
|
4667
4366
|
ProgressPrimitive.Root,
|
|
4668
4367
|
{
|
|
4669
4368
|
className: cn("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full", className),
|
|
4670
4369
|
ref,
|
|
4671
4370
|
...props,
|
|
4672
|
-
children: /* @__PURE__ */
|
|
4371
|
+
children: /* @__PURE__ */ jsx149(
|
|
4673
4372
|
ProgressPrimitive.Indicator,
|
|
4674
4373
|
{
|
|
4675
4374
|
className: "h-full w-full flex-1 bg-primary transition-all",
|
|
@@ -4688,8 +4387,8 @@ import { Panel } from "react-resizable-panels";
|
|
|
4688
4387
|
import "react";
|
|
4689
4388
|
import { GripVertical } from "lucide-react";
|
|
4690
4389
|
import { PanelResizeHandle } from "react-resizable-panels";
|
|
4691
|
-
import { jsx as
|
|
4692
|
-
var ResizableHandle = ({ className, withHandle, ...props }) => /* @__PURE__ */
|
|
4390
|
+
import { jsx as jsx150 } from "react/jsx-runtime";
|
|
4391
|
+
var ResizableHandle = ({ className, withHandle, ...props }) => /* @__PURE__ */ jsx150(
|
|
4693
4392
|
PanelResizeHandle,
|
|
4694
4393
|
{
|
|
4695
4394
|
className: cn(
|
|
@@ -4697,15 +4396,15 @@ var ResizableHandle = ({ className, withHandle, ...props }) => /* @__PURE__ */ j
|
|
|
4697
4396
|
className
|
|
4698
4397
|
),
|
|
4699
4398
|
...props,
|
|
4700
|
-
children: withHandle && /* @__PURE__ */
|
|
4399
|
+
children: withHandle && /* @__PURE__ */ jsx150("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border", children: /* @__PURE__ */ jsx150(GripVertical, { className: "h-2.5 w-2.5" }) })
|
|
4701
4400
|
}
|
|
4702
4401
|
);
|
|
4703
4402
|
|
|
4704
4403
|
// src/components/Resizable/ResizablePanelGroup.tsx
|
|
4705
4404
|
import "react";
|
|
4706
4405
|
import { PanelGroup } from "react-resizable-panels";
|
|
4707
|
-
import { jsx as
|
|
4708
|
-
var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */
|
|
4406
|
+
import { jsx as jsx151 } from "react/jsx-runtime";
|
|
4407
|
+
var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ jsx151(
|
|
4709
4408
|
PanelGroup,
|
|
4710
4409
|
{
|
|
4711
4410
|
className: cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col", className),
|
|
@@ -4714,8 +4413,8 @@ var ResizablePanelGroup = ({ className, ...props }) => /* @__PURE__ */ jsx162(
|
|
|
4714
4413
|
);
|
|
4715
4414
|
|
|
4716
4415
|
// src/components/Resizable/Resizable.tsx
|
|
4717
|
-
import { Fragment as Fragment3, jsx as
|
|
4718
|
-
var ResizableRoot = ({ children }) => /* @__PURE__ */
|
|
4416
|
+
import { Fragment as Fragment3, jsx as jsx152 } from "react/jsx-runtime";
|
|
4417
|
+
var ResizableRoot = ({ children }) => /* @__PURE__ */ jsx152(Fragment3, { children });
|
|
4719
4418
|
var Resizable = Object.assign(ResizableRoot, {
|
|
4720
4419
|
Handle: ResizableHandle,
|
|
4721
4420
|
Panel,
|
|
@@ -4723,32 +4422,32 @@ var Resizable = Object.assign(ResizableRoot, {
|
|
|
4723
4422
|
});
|
|
4724
4423
|
|
|
4725
4424
|
// src/components/Sheet/Sheet.tsx
|
|
4726
|
-
import { Close as
|
|
4425
|
+
import { Close as Close2, Portal as Portal11, Root as Root17, Trigger as Trigger9 } from "@radix-ui/react-dialog";
|
|
4727
4426
|
|
|
4728
4427
|
// src/components/Sheet/SheetBody.tsx
|
|
4729
4428
|
import "react";
|
|
4730
|
-
import { jsx as
|
|
4429
|
+
import { jsx as jsx153 } from "react/jsx-runtime";
|
|
4731
4430
|
var SheetBody = ({
|
|
4732
4431
|
children,
|
|
4733
4432
|
className,
|
|
4734
4433
|
...props
|
|
4735
4434
|
}) => {
|
|
4736
|
-
return /* @__PURE__ */
|
|
4435
|
+
return /* @__PURE__ */ jsx153("div", { className: cn("py-4", className), ...props, children });
|
|
4737
4436
|
};
|
|
4738
4437
|
|
|
4739
4438
|
// src/components/Sheet/SheetContent.tsx
|
|
4740
|
-
import * as
|
|
4741
|
-
import { Close
|
|
4742
|
-
import { cva as
|
|
4743
|
-
import { XIcon
|
|
4439
|
+
import * as React38 from "react";
|
|
4440
|
+
import { Close, Content as Content10, Portal as Portal10 } from "@radix-ui/react-dialog";
|
|
4441
|
+
import { cva as cva4 } from "class-variance-authority";
|
|
4442
|
+
import { XIcon } from "lucide-react";
|
|
4744
4443
|
|
|
4745
4444
|
// src/components/Sheet/SheetOverlay.tsx
|
|
4746
|
-
import { forwardRef as
|
|
4747
|
-
import { Overlay as
|
|
4748
|
-
import { jsx as
|
|
4749
|
-
var SheetOverlay =
|
|
4750
|
-
return /* @__PURE__ */
|
|
4751
|
-
|
|
4445
|
+
import { forwardRef as forwardRef91 } from "react";
|
|
4446
|
+
import { Overlay as Overlay2 } from "@radix-ui/react-dialog";
|
|
4447
|
+
import { jsx as jsx154 } from "react/jsx-runtime";
|
|
4448
|
+
var SheetOverlay = forwardRef91(function SheetOverlay2({ className, ...props }, ref) {
|
|
4449
|
+
return /* @__PURE__ */ jsx154(
|
|
4450
|
+
Overlay2,
|
|
4752
4451
|
{
|
|
4753
4452
|
className: cn(
|
|
4754
4453
|
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
@@ -4761,8 +4460,8 @@ var SheetOverlay = forwardRef97(function SheetOverlay2({ className, ...props },
|
|
|
4761
4460
|
});
|
|
4762
4461
|
|
|
4763
4462
|
// src/components/Sheet/SheetContent.tsx
|
|
4764
|
-
import { jsx as
|
|
4765
|
-
var sheetVariants =
|
|
4463
|
+
import { jsx as jsx155, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
4464
|
+
var sheetVariants = cva4(
|
|
4766
4465
|
"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
|
4767
4466
|
{
|
|
4768
4467
|
defaultVariants: {
|
|
@@ -4778,64 +4477,64 @@ var sheetVariants = cva5(
|
|
|
4778
4477
|
}
|
|
4779
4478
|
}
|
|
4780
4479
|
);
|
|
4781
|
-
var SheetContent =
|
|
4782
|
-
return /* @__PURE__ */
|
|
4783
|
-
/* @__PURE__ */
|
|
4784
|
-
/* @__PURE__ */
|
|
4480
|
+
var SheetContent = React38.forwardRef(function SheetContent2({ children, className, side = "right", ...props }, ref) {
|
|
4481
|
+
return /* @__PURE__ */ jsxs56(Portal10, { children: [
|
|
4482
|
+
/* @__PURE__ */ jsx155(SheetOverlay, {}),
|
|
4483
|
+
/* @__PURE__ */ jsxs56(Content10, { className: cn(sheetVariants({ side }), className), ref, ...props, children: [
|
|
4785
4484
|
children,
|
|
4786
|
-
/* @__PURE__ */
|
|
4787
|
-
/* @__PURE__ */
|
|
4788
|
-
/* @__PURE__ */
|
|
4485
|
+
/* @__PURE__ */ jsxs56(Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [
|
|
4486
|
+
/* @__PURE__ */ jsx155(XIcon, { className: "h-4 w-4" }),
|
|
4487
|
+
/* @__PURE__ */ jsx155("span", { className: "sr-only", children: "Close" })
|
|
4789
4488
|
] })
|
|
4790
4489
|
] })
|
|
4791
4490
|
] });
|
|
4792
4491
|
});
|
|
4793
4492
|
|
|
4794
4493
|
// src/components/Sheet/SheetDescription.tsx
|
|
4795
|
-
import { forwardRef as
|
|
4796
|
-
import { Description as
|
|
4797
|
-
import { jsx as
|
|
4798
|
-
var SheetDescription =
|
|
4799
|
-
return /* @__PURE__ */
|
|
4494
|
+
import { forwardRef as forwardRef93 } from "react";
|
|
4495
|
+
import { Description as Description2 } from "@radix-ui/react-dialog";
|
|
4496
|
+
import { jsx as jsx156 } from "react/jsx-runtime";
|
|
4497
|
+
var SheetDescription = forwardRef93(function SheetDescription2({ className, ...props }, ref) {
|
|
4498
|
+
return /* @__PURE__ */ jsx156(Description2, { className: cn("text-sm text-muted-foreground", className), ref, ...props });
|
|
4800
4499
|
});
|
|
4801
4500
|
|
|
4802
4501
|
// src/components/Sheet/SheetFooter.tsx
|
|
4803
4502
|
import "react";
|
|
4804
|
-
import { jsx as
|
|
4805
|
-
var SheetFooter = ({ className, ...props }) => /* @__PURE__ */
|
|
4503
|
+
import { jsx as jsx157 } from "react/jsx-runtime";
|
|
4504
|
+
var SheetFooter = ({ className, ...props }) => /* @__PURE__ */ jsx157("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
4806
4505
|
|
|
4807
4506
|
// src/components/Sheet/SheetHeader.tsx
|
|
4808
4507
|
import "react";
|
|
4809
|
-
import { jsx as
|
|
4810
|
-
var SheetHeader = ({ className, ...props }) => /* @__PURE__ */
|
|
4508
|
+
import { jsx as jsx158 } from "react/jsx-runtime";
|
|
4509
|
+
var SheetHeader = ({ className, ...props }) => /* @__PURE__ */ jsx158("div", { className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props });
|
|
4811
4510
|
|
|
4812
4511
|
// src/components/Sheet/SheetTitle.tsx
|
|
4813
|
-
import { forwardRef as
|
|
4814
|
-
import { Title as
|
|
4815
|
-
import { jsx as
|
|
4816
|
-
var SheetTitle =
|
|
4512
|
+
import { forwardRef as forwardRef94 } from "react";
|
|
4513
|
+
import { Title as Title2 } from "@radix-ui/react-dialog";
|
|
4514
|
+
import { jsx as jsx159 } from "react/jsx-runtime";
|
|
4515
|
+
var SheetTitle = forwardRef94(
|
|
4817
4516
|
function SheetTitle2({ className, ...props }, ref) {
|
|
4818
|
-
return /* @__PURE__ */
|
|
4517
|
+
return /* @__PURE__ */ jsx159(Title2, { className: cn("text-lg font-semibold text-foreground", className), ref, ...props });
|
|
4819
4518
|
}
|
|
4820
4519
|
);
|
|
4821
4520
|
|
|
4822
4521
|
// src/components/Sheet/Sheet.tsx
|
|
4823
|
-
var Sheet = Object.assign(
|
|
4522
|
+
var Sheet = Object.assign(Root17.bind(null), {
|
|
4824
4523
|
Body: SheetBody,
|
|
4825
|
-
Close:
|
|
4524
|
+
Close: Close2,
|
|
4826
4525
|
Content: SheetContent,
|
|
4827
4526
|
Description: SheetDescription,
|
|
4828
4527
|
Footer: SheetFooter,
|
|
4829
4528
|
Header: SheetHeader,
|
|
4830
|
-
Portal:
|
|
4529
|
+
Portal: Portal11,
|
|
4831
4530
|
Title: SheetTitle,
|
|
4832
|
-
Trigger:
|
|
4531
|
+
Trigger: Trigger9
|
|
4833
4532
|
});
|
|
4834
4533
|
|
|
4835
4534
|
// src/components/Spinner/Spinner.tsx
|
|
4836
|
-
import { jsx as
|
|
4535
|
+
import { jsx as jsx160 } from "react/jsx-runtime";
|
|
4837
4536
|
var Spinner = ({ className, ...props }) => {
|
|
4838
|
-
return /* @__PURE__ */
|
|
4537
|
+
return /* @__PURE__ */ jsx160("div", { className: cn("flex h-full w-full items-center justify-center", className), ...props, children: /* @__PURE__ */ jsx160(
|
|
4839
4538
|
"span",
|
|
4840
4539
|
{
|
|
4841
4540
|
className: "relative animate-spinner overflow-hidden text-slate-900 dark:text-slate-100",
|
|
@@ -4853,8 +4552,8 @@ var Spinner = ({ className, ...props }) => {
|
|
|
4853
4552
|
|
|
4854
4553
|
// src/components/SpinnerIcon/SpinnerIcon.tsx
|
|
4855
4554
|
import "react";
|
|
4856
|
-
import { jsx as
|
|
4857
|
-
var SpinnerIcon = ({ className, ...props }) => /* @__PURE__ */
|
|
4555
|
+
import { jsx as jsx161 } from "react/jsx-runtime";
|
|
4556
|
+
var SpinnerIcon = ({ className, ...props }) => /* @__PURE__ */ jsx161(
|
|
4858
4557
|
"svg",
|
|
4859
4558
|
{
|
|
4860
4559
|
className: cn("animate-spin", className),
|
|
@@ -4868,35 +4567,35 @@ var SpinnerIcon = ({ className, ...props }) => /* @__PURE__ */ jsx172(
|
|
|
4868
4567
|
width: "24",
|
|
4869
4568
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4870
4569
|
...props,
|
|
4871
|
-
children: /* @__PURE__ */
|
|
4570
|
+
children: /* @__PURE__ */ jsx161("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
|
|
4872
4571
|
}
|
|
4873
4572
|
);
|
|
4874
4573
|
|
|
4875
4574
|
// src/components/StatisticCard/StatisticCard.tsx
|
|
4876
4575
|
import { useEffect as useEffect13 } from "react";
|
|
4877
|
-
import { motion as
|
|
4878
|
-
import { jsx as
|
|
4576
|
+
import { motion as motion5, useSpring, useTransform } from "motion/react";
|
|
4577
|
+
import { jsx as jsx162, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
4879
4578
|
var StatisticCard = ({ className, icon, label, value, ...props }) => {
|
|
4880
4579
|
const spring = useSpring(0, { bounce: 0 });
|
|
4881
4580
|
const rounded = useTransform(spring, (latest) => Math.floor(latest));
|
|
4882
4581
|
useEffect13(() => {
|
|
4883
4582
|
spring.set(value);
|
|
4884
4583
|
}, [spring, value]);
|
|
4885
|
-
return /* @__PURE__ */
|
|
4886
|
-
icon && /* @__PURE__ */
|
|
4887
|
-
/* @__PURE__ */
|
|
4888
|
-
/* @__PURE__ */
|
|
4889
|
-
/* @__PURE__ */
|
|
4584
|
+
return /* @__PURE__ */ jsxs57(Card, { className: cn("flex w-full rounded-lg p-4", className), ...props, children: [
|
|
4585
|
+
icon && /* @__PURE__ */ jsx162("div", { className: "mr-2 flex items-center justify-center text-4xl", children: icon }),
|
|
4586
|
+
/* @__PURE__ */ jsxs57("div", { className: "w-full text-center", children: [
|
|
4587
|
+
/* @__PURE__ */ jsx162(motion5.h3, { className: "title-font text-2xl font-semibold text-slate-900 dark:text-slate-100 sm:text-3xl", children: rounded }),
|
|
4588
|
+
/* @__PURE__ */ jsx162("p", { className: "font-medium leading-relaxed", children: label })
|
|
4890
4589
|
] })
|
|
4891
4590
|
] });
|
|
4892
4591
|
};
|
|
4893
4592
|
|
|
4894
4593
|
// src/components/Switch/Switch.tsx
|
|
4895
|
-
import { forwardRef as
|
|
4594
|
+
import { forwardRef as forwardRef95 } from "react";
|
|
4896
4595
|
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
4897
|
-
import { jsx as
|
|
4898
|
-
var Switch =
|
|
4899
|
-
return /* @__PURE__ */
|
|
4596
|
+
import { jsx as jsx163 } from "react/jsx-runtime";
|
|
4597
|
+
var Switch = forwardRef95(function Switch2({ className, ...props }, ref) {
|
|
4598
|
+
return /* @__PURE__ */ jsx163(
|
|
4900
4599
|
SwitchPrimitives.Root,
|
|
4901
4600
|
{
|
|
4902
4601
|
className: cn(
|
|
@@ -4905,7 +4604,7 @@ var Switch = forwardRef101(function Switch2({ className, ...props }, ref) {
|
|
|
4905
4604
|
),
|
|
4906
4605
|
...props,
|
|
4907
4606
|
ref,
|
|
4908
|
-
children: /* @__PURE__ */
|
|
4607
|
+
children: /* @__PURE__ */ jsx163(
|
|
4909
4608
|
SwitchPrimitives.Thumb,
|
|
4910
4609
|
{
|
|
4911
4610
|
className: cn(
|
|
@@ -4918,11 +4617,11 @@ var Switch = forwardRef101(function Switch2({ className, ...props }, ref) {
|
|
|
4918
4617
|
});
|
|
4919
4618
|
|
|
4920
4619
|
// src/components/Tabs/TabsContent.tsx
|
|
4921
|
-
import { forwardRef as
|
|
4620
|
+
import { forwardRef as forwardRef96 } from "react";
|
|
4922
4621
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
4923
|
-
import { jsx as
|
|
4924
|
-
var TabsContent =
|
|
4925
|
-
return /* @__PURE__ */
|
|
4622
|
+
import { jsx as jsx164 } from "react/jsx-runtime";
|
|
4623
|
+
var TabsContent = forwardRef96(function TabsContent2({ className, ...props }, ref) {
|
|
4624
|
+
return /* @__PURE__ */ jsx164(
|
|
4926
4625
|
TabsPrimitive.Content,
|
|
4927
4626
|
{
|
|
4928
4627
|
className: cn(
|
|
@@ -4936,11 +4635,11 @@ var TabsContent = forwardRef102(function TabsContent2({ className, ...props }, r
|
|
|
4936
4635
|
});
|
|
4937
4636
|
|
|
4938
4637
|
// src/components/Tabs/TabsList.tsx
|
|
4939
|
-
import { forwardRef as
|
|
4638
|
+
import { forwardRef as forwardRef97 } from "react";
|
|
4940
4639
|
import * as TabsPrimitive2 from "@radix-ui/react-tabs";
|
|
4941
|
-
import { jsx as
|
|
4942
|
-
var TabsList =
|
|
4943
|
-
return /* @__PURE__ */
|
|
4640
|
+
import { jsx as jsx165 } from "react/jsx-runtime";
|
|
4641
|
+
var TabsList = forwardRef97(function TabsList2({ className, ...props }, ref) {
|
|
4642
|
+
return /* @__PURE__ */ jsx165(
|
|
4944
4643
|
TabsPrimitive2.List,
|
|
4945
4644
|
{
|
|
4946
4645
|
className: cn(
|
|
@@ -4954,21 +4653,21 @@ var TabsList = forwardRef103(function TabsList2({ className, ...props }, ref) {
|
|
|
4954
4653
|
});
|
|
4955
4654
|
|
|
4956
4655
|
// src/components/Tabs/TabsRoot.tsx
|
|
4957
|
-
import { forwardRef as
|
|
4958
|
-
import { Root as
|
|
4959
|
-
import { jsx as
|
|
4960
|
-
var TabsRoot =
|
|
4656
|
+
import { forwardRef as forwardRef98 } from "react";
|
|
4657
|
+
import { Root as Root19 } from "@radix-ui/react-tabs";
|
|
4658
|
+
import { jsx as jsx166 } from "react/jsx-runtime";
|
|
4659
|
+
var TabsRoot = forwardRef98(
|
|
4961
4660
|
function TabsRoot2(props, ref) {
|
|
4962
|
-
return /* @__PURE__ */
|
|
4661
|
+
return /* @__PURE__ */ jsx166(Root19, { ref, ...props });
|
|
4963
4662
|
}
|
|
4964
4663
|
);
|
|
4965
4664
|
|
|
4966
4665
|
// src/components/Tabs/TabsTrigger.tsx
|
|
4967
|
-
import { forwardRef as
|
|
4666
|
+
import { forwardRef as forwardRef99 } from "react";
|
|
4968
4667
|
import * as TabsPrimitive3 from "@radix-ui/react-tabs";
|
|
4969
|
-
import { jsx as
|
|
4970
|
-
var TabsTrigger =
|
|
4971
|
-
return /* @__PURE__ */
|
|
4668
|
+
import { jsx as jsx167 } from "react/jsx-runtime";
|
|
4669
|
+
var TabsTrigger = forwardRef99(function TabsTrigger2({ className, ...props }, ref) {
|
|
4670
|
+
return /* @__PURE__ */ jsx167(
|
|
4972
4671
|
TabsPrimitive3.Trigger,
|
|
4973
4672
|
{
|
|
4974
4673
|
className: cn(
|
|
@@ -4990,13 +4689,13 @@ var Tabs = Object.assign(TabsRoot, {
|
|
|
4990
4689
|
|
|
4991
4690
|
// src/components/ThemeToggle/ThemeToggle.tsx
|
|
4992
4691
|
import { MoonIcon, SunIcon } from "lucide-react";
|
|
4993
|
-
import { jsx as
|
|
4692
|
+
import { jsx as jsx168, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
4994
4693
|
var ThemeToggle = ({ onClick, variant = "outline", ...props }) => {
|
|
4995
4694
|
const [theme, setTheme] = useTheme();
|
|
4996
4695
|
const toggleTheme = () => {
|
|
4997
4696
|
setTheme(theme === "dark" ? "light" : "dark");
|
|
4998
4697
|
};
|
|
4999
|
-
return /* @__PURE__ */
|
|
4698
|
+
return /* @__PURE__ */ jsxs58(
|
|
5000
4699
|
Button,
|
|
5001
4700
|
{
|
|
5002
4701
|
size: "icon",
|
|
@@ -5007,21 +4706,21 @@ var ThemeToggle = ({ onClick, variant = "outline", ...props }) => {
|
|
|
5007
4706
|
},
|
|
5008
4707
|
...props,
|
|
5009
4708
|
children: [
|
|
5010
|
-
/* @__PURE__ */
|
|
5011
|
-
/* @__PURE__ */
|
|
4709
|
+
/* @__PURE__ */ jsx168(SunIcon, { className: "rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" }),
|
|
4710
|
+
/* @__PURE__ */ jsx168(MoonIcon, { className: "absolute rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" })
|
|
5012
4711
|
]
|
|
5013
4712
|
}
|
|
5014
4713
|
);
|
|
5015
4714
|
};
|
|
5016
4715
|
|
|
5017
4716
|
// src/components/Tooltip/TooltipContent.tsx
|
|
5018
|
-
import * as
|
|
5019
|
-
import { Content as
|
|
5020
|
-
import { jsx as
|
|
5021
|
-
var TooltipContent =
|
|
4717
|
+
import * as React42 from "react";
|
|
4718
|
+
import { Content as Content12 } from "@radix-ui/react-tooltip";
|
|
4719
|
+
import { jsx as jsx169 } from "react/jsx-runtime";
|
|
4720
|
+
var TooltipContent = React42.forwardRef(
|
|
5022
4721
|
function TooltipContent2({ className, collisionPadding = 0, sideOffset = 4, ...props }, ref) {
|
|
5023
|
-
return /* @__PURE__ */
|
|
5024
|
-
|
|
4722
|
+
return /* @__PURE__ */ jsx169(
|
|
4723
|
+
Content12,
|
|
5025
4724
|
{
|
|
5026
4725
|
className: cn(
|
|
5027
4726
|
"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
@@ -5038,8 +4737,8 @@ var TooltipContent = React47.forwardRef(
|
|
|
5038
4737
|
|
|
5039
4738
|
// src/components/Tooltip/TooltipRoot.tsx
|
|
5040
4739
|
import "react";
|
|
5041
|
-
import { Provider, Root as
|
|
5042
|
-
import { jsx as
|
|
4740
|
+
import { Provider, Root as Root20 } from "@radix-ui/react-tooltip";
|
|
4741
|
+
import { jsx as jsx170 } from "react/jsx-runtime";
|
|
5043
4742
|
var TooltipRoot = ({
|
|
5044
4743
|
children,
|
|
5045
4744
|
delayDuration = 0,
|
|
@@ -5047,15 +4746,15 @@ var TooltipRoot = ({
|
|
|
5047
4746
|
open,
|
|
5048
4747
|
skipDelayDuration = 300
|
|
5049
4748
|
}) => {
|
|
5050
|
-
return /* @__PURE__ */
|
|
4749
|
+
return /* @__PURE__ */ jsx170(Provider, { delayDuration, skipDelayDuration, children: /* @__PURE__ */ jsx170(Root20, { open, onOpenChange, children }) });
|
|
5051
4750
|
};
|
|
5052
4751
|
|
|
5053
4752
|
// src/components/Tooltip/TooltipTrigger.tsx
|
|
5054
|
-
import { forwardRef as
|
|
5055
|
-
import { Trigger as
|
|
5056
|
-
import { jsx as
|
|
5057
|
-
var TooltipTrigger =
|
|
5058
|
-
return /* @__PURE__ */
|
|
4753
|
+
import { forwardRef as forwardRef101 } from "react";
|
|
4754
|
+
import { Trigger as Trigger11 } from "@radix-ui/react-tooltip";
|
|
4755
|
+
import { jsx as jsx171 } from "react/jsx-runtime";
|
|
4756
|
+
var TooltipTrigger = forwardRef101(function TooltipTrigger2({ variant = "outline", ...props }, ref) {
|
|
4757
|
+
return /* @__PURE__ */ jsx171(Trigger11, { asChild: true, ref, children: /* @__PURE__ */ jsx171(Button, { variant, ...props }) });
|
|
5059
4758
|
});
|
|
5060
4759
|
|
|
5061
4760
|
// src/components/Tooltip/Tooltip.tsx
|