@algorithm-shift/design-system 1.2.40 → 1.2.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +79 -9
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +23 -26
- package/dist/index.d.ts +23 -26
- package/dist/index.js +635 -528
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +632 -525
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/dist/index.mjs
CHANGED
|
@@ -71,6 +71,16 @@ import { twMerge } from "tailwind-merge";
|
|
|
71
71
|
function cn(...inputs) {
|
|
72
72
|
return twMerge(clsx(inputs));
|
|
73
73
|
}
|
|
74
|
+
function getInitials(name) {
|
|
75
|
+
const words = name.split(" ");
|
|
76
|
+
if (words.length === 0) {
|
|
77
|
+
return "";
|
|
78
|
+
}
|
|
79
|
+
if (words.length === 1) {
|
|
80
|
+
return words[0].charAt(0);
|
|
81
|
+
}
|
|
82
|
+
return words[0].charAt(0) + words[1].charAt(0);
|
|
83
|
+
}
|
|
74
84
|
|
|
75
85
|
// src/components/ui/button.tsx
|
|
76
86
|
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
@@ -202,71 +212,6 @@ var Typography = ({
|
|
|
202
212
|
};
|
|
203
213
|
var Typography_default = Typography;
|
|
204
214
|
|
|
205
|
-
// src/components/Inputs/TextInput/TextInput.tsx
|
|
206
|
-
import * as React2 from "react";
|
|
207
|
-
|
|
208
|
-
// src/components/ui/input.tsx
|
|
209
|
-
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
210
|
-
function Input({ className, type, ...props }) {
|
|
211
|
-
return /* @__PURE__ */ jsx9(
|
|
212
|
-
"input",
|
|
213
|
-
{
|
|
214
|
-
type,
|
|
215
|
-
"data-slot": "input",
|
|
216
|
-
className: cn(
|
|
217
|
-
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
218
|
-
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
219
|
-
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
220
|
-
className
|
|
221
|
-
),
|
|
222
|
-
...props
|
|
223
|
-
}
|
|
224
|
-
);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
// src/components/Inputs/TextInput/TextInput.tsx
|
|
228
|
-
import { Fragment, jsx as jsx10, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
229
|
-
var TextInput = ({ className, style, ...props }) => {
|
|
230
|
-
const placeholder = props.placeholder || "Placeholder text";
|
|
231
|
-
const isEditable = props.isEditable ?? true;
|
|
232
|
-
const isDisabled = props.isDisabled ?? false;
|
|
233
|
-
const isReadonly = props.isReadonly ?? false;
|
|
234
|
-
const isAutocomplete = props.isAutocomplete ?? false;
|
|
235
|
-
const [error, setError] = React2.useState(null);
|
|
236
|
-
React2.useEffect(() => {
|
|
237
|
-
if (!props.validateOnMount) return;
|
|
238
|
-
setError(props.errorMessage || null);
|
|
239
|
-
}, [props.errorMessage, props.validateOnMount]);
|
|
240
|
-
const handleChange = (e) => {
|
|
241
|
-
props.onChange?.(e);
|
|
242
|
-
};
|
|
243
|
-
return /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
244
|
-
/* @__PURE__ */ jsx10(
|
|
245
|
-
Input,
|
|
246
|
-
{
|
|
247
|
-
type: "text",
|
|
248
|
-
name: props.name,
|
|
249
|
-
className: cn(className, error ? "border-red-500" : ""),
|
|
250
|
-
style: {
|
|
251
|
-
...style,
|
|
252
|
-
borderColor: error ? "#f87171" : style?.borderColor
|
|
253
|
-
},
|
|
254
|
-
value: props.value,
|
|
255
|
-
autoComplete: isAutocomplete ? "on" : "off",
|
|
256
|
-
placeholder,
|
|
257
|
-
onChange: handleChange,
|
|
258
|
-
disabled: isDisabled || !isEditable,
|
|
259
|
-
readOnly: isReadonly
|
|
260
|
-
}
|
|
261
|
-
),
|
|
262
|
-
error && /* @__PURE__ */ jsx10("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
263
|
-
] });
|
|
264
|
-
};
|
|
265
|
-
var TextInput_default = TextInput;
|
|
266
|
-
|
|
267
|
-
// src/components/Inputs/NumberInput/NumberInput.tsx
|
|
268
|
-
import * as React3 from "react";
|
|
269
|
-
|
|
270
215
|
// node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
271
216
|
import { forwardRef as forwardRef2, createElement as createElement2 } from "react";
|
|
272
217
|
|
|
@@ -464,9 +409,261 @@ var __iconNode14 = [
|
|
|
464
409
|
];
|
|
465
410
|
var Search = createLucideIcon("search", __iconNode14);
|
|
466
411
|
|
|
412
|
+
// src/components/Basic/Breadcrumb/Breadcrumb.tsx
|
|
413
|
+
import { jsx as jsx9, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
414
|
+
var Breadcrumb = ({ list = [], className, style, LinkComponent }) => {
|
|
415
|
+
return /* @__PURE__ */ jsx9(
|
|
416
|
+
"nav",
|
|
417
|
+
{
|
|
418
|
+
"aria-label": "breadcrumb",
|
|
419
|
+
className: cn("flex items-center text-sm text-muted-foreground", className),
|
|
420
|
+
style,
|
|
421
|
+
children: list.map((item, index) => {
|
|
422
|
+
const isLast = index === list.length - 1;
|
|
423
|
+
return /* @__PURE__ */ jsxs2("div", { className: "flex items-center", children: [
|
|
424
|
+
item.url && !isLast && LinkComponent ? /* @__PURE__ */ jsx9(
|
|
425
|
+
LinkComponent,
|
|
426
|
+
{
|
|
427
|
+
href: item.url,
|
|
428
|
+
className: "hover:text-foreground transition-colors",
|
|
429
|
+
children: item.header
|
|
430
|
+
}
|
|
431
|
+
) : /* @__PURE__ */ jsx9("span", { className: "text-foreground font-medium", children: item.header }),
|
|
432
|
+
!isLast && /* @__PURE__ */ jsx9(ChevronRight, { className: "mx-2 h-4 w-4 text-muted-foreground" })
|
|
433
|
+
] }, item.id);
|
|
434
|
+
})
|
|
435
|
+
}
|
|
436
|
+
);
|
|
437
|
+
};
|
|
438
|
+
var Breadcrumb_default = Breadcrumb;
|
|
439
|
+
|
|
440
|
+
// src/components/ui/dropdown-menu.tsx
|
|
441
|
+
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
442
|
+
import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
443
|
+
function DropdownMenu({
|
|
444
|
+
...props
|
|
445
|
+
}) {
|
|
446
|
+
return /* @__PURE__ */ jsx10(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
447
|
+
}
|
|
448
|
+
function DropdownMenuTrigger({
|
|
449
|
+
...props
|
|
450
|
+
}) {
|
|
451
|
+
return /* @__PURE__ */ jsx10(
|
|
452
|
+
DropdownMenuPrimitive.Trigger,
|
|
453
|
+
{
|
|
454
|
+
"data-slot": "dropdown-menu-trigger",
|
|
455
|
+
...props
|
|
456
|
+
}
|
|
457
|
+
);
|
|
458
|
+
}
|
|
459
|
+
function DropdownMenuContent({
|
|
460
|
+
className,
|
|
461
|
+
sideOffset = 4,
|
|
462
|
+
...props
|
|
463
|
+
}) {
|
|
464
|
+
return /* @__PURE__ */ jsx10(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx10(
|
|
465
|
+
DropdownMenuPrimitive.Content,
|
|
466
|
+
{
|
|
467
|
+
"data-slot": "dropdown-menu-content",
|
|
468
|
+
sideOffset,
|
|
469
|
+
className: cn(
|
|
470
|
+
"bg-popover text-popover-foreground 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 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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
|
|
471
|
+
className
|
|
472
|
+
),
|
|
473
|
+
...props
|
|
474
|
+
}
|
|
475
|
+
) });
|
|
476
|
+
}
|
|
477
|
+
function DropdownMenuItem({
|
|
478
|
+
className,
|
|
479
|
+
inset,
|
|
480
|
+
variant = "default",
|
|
481
|
+
...props
|
|
482
|
+
}) {
|
|
483
|
+
return /* @__PURE__ */ jsx10(
|
|
484
|
+
DropdownMenuPrimitive.Item,
|
|
485
|
+
{
|
|
486
|
+
"data-slot": "dropdown-menu-item",
|
|
487
|
+
"data-inset": inset,
|
|
488
|
+
"data-variant": variant,
|
|
489
|
+
className: cn(
|
|
490
|
+
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
491
|
+
className
|
|
492
|
+
),
|
|
493
|
+
...props
|
|
494
|
+
}
|
|
495
|
+
);
|
|
496
|
+
}
|
|
497
|
+
function DropdownMenuLabel({
|
|
498
|
+
className,
|
|
499
|
+
inset,
|
|
500
|
+
...props
|
|
501
|
+
}) {
|
|
502
|
+
return /* @__PURE__ */ jsx10(
|
|
503
|
+
DropdownMenuPrimitive.Label,
|
|
504
|
+
{
|
|
505
|
+
"data-slot": "dropdown-menu-label",
|
|
506
|
+
"data-inset": inset,
|
|
507
|
+
className: cn(
|
|
508
|
+
"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
|
|
509
|
+
className
|
|
510
|
+
),
|
|
511
|
+
...props
|
|
512
|
+
}
|
|
513
|
+
);
|
|
514
|
+
}
|
|
515
|
+
function DropdownMenuSeparator({
|
|
516
|
+
className,
|
|
517
|
+
...props
|
|
518
|
+
}) {
|
|
519
|
+
return /* @__PURE__ */ jsx10(
|
|
520
|
+
DropdownMenuPrimitive.Separator,
|
|
521
|
+
{
|
|
522
|
+
"data-slot": "dropdown-menu-separator",
|
|
523
|
+
className: cn("bg-border -mx-1 my-1 h-px", className),
|
|
524
|
+
...props
|
|
525
|
+
}
|
|
526
|
+
);
|
|
527
|
+
}
|
|
528
|
+
function DropdownMenuSub({
|
|
529
|
+
...props
|
|
530
|
+
}) {
|
|
531
|
+
return /* @__PURE__ */ jsx10(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
|
|
532
|
+
}
|
|
533
|
+
function DropdownMenuSubTrigger({
|
|
534
|
+
className,
|
|
535
|
+
inset,
|
|
536
|
+
children,
|
|
537
|
+
...props
|
|
538
|
+
}) {
|
|
539
|
+
return /* @__PURE__ */ jsxs3(
|
|
540
|
+
DropdownMenuPrimitive.SubTrigger,
|
|
541
|
+
{
|
|
542
|
+
"data-slot": "dropdown-menu-sub-trigger",
|
|
543
|
+
"data-inset": inset,
|
|
544
|
+
className: cn(
|
|
545
|
+
"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8",
|
|
546
|
+
className
|
|
547
|
+
),
|
|
548
|
+
...props,
|
|
549
|
+
children: [
|
|
550
|
+
children,
|
|
551
|
+
/* @__PURE__ */ jsx10(ChevronRight, { className: "ml-auto size-4" })
|
|
552
|
+
]
|
|
553
|
+
}
|
|
554
|
+
);
|
|
555
|
+
}
|
|
556
|
+
function DropdownMenuSubContent({
|
|
557
|
+
className,
|
|
558
|
+
...props
|
|
559
|
+
}) {
|
|
560
|
+
return /* @__PURE__ */ jsx10(
|
|
561
|
+
DropdownMenuPrimitive.SubContent,
|
|
562
|
+
{
|
|
563
|
+
"data-slot": "dropdown-menu-sub-content",
|
|
564
|
+
className: cn(
|
|
565
|
+
"bg-popover text-popover-foreground 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 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 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
|
|
566
|
+
className
|
|
567
|
+
),
|
|
568
|
+
...props
|
|
569
|
+
}
|
|
570
|
+
);
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
// src/components/Basic/ButtonGroup/ButtonGroup.tsx
|
|
574
|
+
import { jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
575
|
+
function SplitButton({ style, textContent, className, list = [], LinkComponent }) {
|
|
576
|
+
const bgColor = style?.backgroundColor || "";
|
|
577
|
+
return /* @__PURE__ */ jsxs4("div", { className: "inline-flex rounded-md overflow-hidden border border-teal-200 bg-teal-700 items-center focus:ring-0", style: { backgroundColor: bgColor }, children: [
|
|
578
|
+
/* @__PURE__ */ jsx11(
|
|
579
|
+
Button,
|
|
580
|
+
{
|
|
581
|
+
className: `rounded-none border-r px-4 py-2 text-whit focus:ring-0 ${className || ""}`,
|
|
582
|
+
style: { backgroundColor: bgColor },
|
|
583
|
+
children: textContent || "Button"
|
|
584
|
+
}
|
|
585
|
+
),
|
|
586
|
+
/* @__PURE__ */ jsxs4(DropdownMenu, { children: [
|
|
587
|
+
/* @__PURE__ */ jsx11(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx11(
|
|
588
|
+
Button,
|
|
589
|
+
{
|
|
590
|
+
className: "rounded-none bg-teal-700 px-4 py-2 text-white ring-0 shadow-none hover:bg-teal-600 focus:ring-0",
|
|
591
|
+
"aria-label": "Open Dropdown",
|
|
592
|
+
style: { backgroundColor: bgColor },
|
|
593
|
+
children: /* @__PURE__ */ jsx11(ChevronDown, { className: "w-4 h-4" })
|
|
594
|
+
}
|
|
595
|
+
) }),
|
|
596
|
+
/* @__PURE__ */ jsx11(DropdownMenuContent, { align: "end", className: "bg-white min-w-[120px]", children: list.map((item) => /* @__PURE__ */ jsx11(DropdownMenuItem, { className: "text-black", children: LinkComponent ? /* @__PURE__ */ jsx11(LinkComponent, { href: item.url || "#", children: item.header }) : item.header }, item.id)) })
|
|
597
|
+
] })
|
|
598
|
+
] });
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
// src/components/Inputs/TextInput/TextInput.tsx
|
|
602
|
+
import * as React2 from "react";
|
|
603
|
+
|
|
604
|
+
// src/components/ui/input.tsx
|
|
605
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
606
|
+
function Input({ className, type, ...props }) {
|
|
607
|
+
return /* @__PURE__ */ jsx12(
|
|
608
|
+
"input",
|
|
609
|
+
{
|
|
610
|
+
type,
|
|
611
|
+
"data-slot": "input",
|
|
612
|
+
className: cn(
|
|
613
|
+
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
614
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
615
|
+
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
616
|
+
className
|
|
617
|
+
),
|
|
618
|
+
...props
|
|
619
|
+
}
|
|
620
|
+
);
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
// src/components/Inputs/TextInput/TextInput.tsx
|
|
624
|
+
import { Fragment, jsx as jsx13, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
625
|
+
var TextInput = ({ className, style, ...props }) => {
|
|
626
|
+
const placeholder = props.placeholder || "Placeholder text";
|
|
627
|
+
const isEditable = props.isEditable ?? true;
|
|
628
|
+
const isDisabled = props.isDisabled ?? false;
|
|
629
|
+
const isReadonly = props.isReadonly ?? false;
|
|
630
|
+
const isAutocomplete = props.isAutocomplete ?? false;
|
|
631
|
+
const [error, setError] = React2.useState(null);
|
|
632
|
+
React2.useEffect(() => {
|
|
633
|
+
if (!props.validateOnMount) return;
|
|
634
|
+
setError(props.errorMessage || null);
|
|
635
|
+
}, [props.errorMessage, props.validateOnMount]);
|
|
636
|
+
const handleChange = (e) => {
|
|
637
|
+
props.onChange?.(e);
|
|
638
|
+
};
|
|
639
|
+
return /* @__PURE__ */ jsxs5(Fragment, { children: [
|
|
640
|
+
/* @__PURE__ */ jsx13(
|
|
641
|
+
Input,
|
|
642
|
+
{
|
|
643
|
+
type: "text",
|
|
644
|
+
name: props.name,
|
|
645
|
+
className: cn(className, error ? "border-red-500" : ""),
|
|
646
|
+
style: {
|
|
647
|
+
...style,
|
|
648
|
+
borderColor: error ? "#f87171" : style?.borderColor
|
|
649
|
+
},
|
|
650
|
+
value: props.value,
|
|
651
|
+
autoComplete: isAutocomplete ? "on" : "off",
|
|
652
|
+
placeholder,
|
|
653
|
+
onChange: handleChange,
|
|
654
|
+
disabled: isDisabled || !isEditable,
|
|
655
|
+
readOnly: isReadonly
|
|
656
|
+
}
|
|
657
|
+
),
|
|
658
|
+
error && /* @__PURE__ */ jsx13("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
659
|
+
] });
|
|
660
|
+
};
|
|
661
|
+
var TextInput_default = TextInput;
|
|
662
|
+
|
|
467
663
|
// src/components/Inputs/NumberInput/NumberInput.tsx
|
|
664
|
+
import * as React3 from "react";
|
|
468
665
|
import { useEffect as useEffect2 } from "react";
|
|
469
|
-
import { Fragment as Fragment2, jsx as
|
|
666
|
+
import { Fragment as Fragment2, jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
470
667
|
var NumberInput = ({ className, style, ...props }) => {
|
|
471
668
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
472
669
|
const isEditable = props.isEditable ?? true;
|
|
@@ -481,10 +678,10 @@ var NumberInput = ({ className, style, ...props }) => {
|
|
|
481
678
|
const handleChange = (e) => {
|
|
482
679
|
props.onChange?.(e);
|
|
483
680
|
};
|
|
484
|
-
return /* @__PURE__ */
|
|
485
|
-
/* @__PURE__ */
|
|
486
|
-
/* @__PURE__ */
|
|
487
|
-
/* @__PURE__ */
|
|
681
|
+
return /* @__PURE__ */ jsxs6(Fragment2, { children: [
|
|
682
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex justify-start items-center relative", children: [
|
|
683
|
+
/* @__PURE__ */ jsx14(Calculator, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]" }),
|
|
684
|
+
/* @__PURE__ */ jsx14(
|
|
488
685
|
Input,
|
|
489
686
|
{
|
|
490
687
|
type: "number",
|
|
@@ -504,14 +701,14 @@ var NumberInput = ({ className, style, ...props }) => {
|
|
|
504
701
|
}
|
|
505
702
|
)
|
|
506
703
|
] }),
|
|
507
|
-
error && /* @__PURE__ */
|
|
704
|
+
error && /* @__PURE__ */ jsx14("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
508
705
|
] });
|
|
509
706
|
};
|
|
510
707
|
var NumberInput_default = NumberInput;
|
|
511
708
|
|
|
512
709
|
// src/components/Inputs/EmailInput/EmailInput.tsx
|
|
513
710
|
import * as React4 from "react";
|
|
514
|
-
import { Fragment as Fragment3, jsx as
|
|
711
|
+
import { Fragment as Fragment3, jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
515
712
|
var EmailInput = ({ className, style, ...props }) => {
|
|
516
713
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
517
714
|
const isEditable = props.isEditable ?? true;
|
|
@@ -526,10 +723,10 @@ var EmailInput = ({ className, style, ...props }) => {
|
|
|
526
723
|
const handleChange = (e) => {
|
|
527
724
|
props.onChange?.(e);
|
|
528
725
|
};
|
|
529
|
-
return /* @__PURE__ */
|
|
530
|
-
/* @__PURE__ */
|
|
531
|
-
/* @__PURE__ */
|
|
532
|
-
/* @__PURE__ */
|
|
726
|
+
return /* @__PURE__ */ jsxs7(Fragment3, { children: [
|
|
727
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex justify-start items-center relative", children: [
|
|
728
|
+
/* @__PURE__ */ jsx15(Mail, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]" }),
|
|
729
|
+
/* @__PURE__ */ jsx15(
|
|
533
730
|
Input,
|
|
534
731
|
{
|
|
535
732
|
type: "email",
|
|
@@ -548,14 +745,14 @@ var EmailInput = ({ className, style, ...props }) => {
|
|
|
548
745
|
}
|
|
549
746
|
)
|
|
550
747
|
] }),
|
|
551
|
-
error && /* @__PURE__ */
|
|
748
|
+
error && /* @__PURE__ */ jsx15("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
552
749
|
] });
|
|
553
750
|
};
|
|
554
751
|
var EmailInput_default = EmailInput;
|
|
555
752
|
|
|
556
753
|
// src/components/Inputs/PasswordInput/PasswordInput.tsx
|
|
557
754
|
import * as React5 from "react";
|
|
558
|
-
import { Fragment as Fragment4, jsx as
|
|
755
|
+
import { Fragment as Fragment4, jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
559
756
|
var PasswordInput = ({ className, style, ...props }) => {
|
|
560
757
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
561
758
|
const isEditable = props.isEditable ?? true;
|
|
@@ -570,10 +767,10 @@ var PasswordInput = ({ className, style, ...props }) => {
|
|
|
570
767
|
const handleChange = (e) => {
|
|
571
768
|
props.onChange?.(e);
|
|
572
769
|
};
|
|
573
|
-
return /* @__PURE__ */
|
|
574
|
-
/* @__PURE__ */
|
|
575
|
-
/* @__PURE__ */
|
|
576
|
-
/* @__PURE__ */
|
|
770
|
+
return /* @__PURE__ */ jsxs8(Fragment4, { children: [
|
|
771
|
+
/* @__PURE__ */ jsxs8("div", { className: "flex justify-start items-center relative", children: [
|
|
772
|
+
/* @__PURE__ */ jsx16(ScanEye, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]" }),
|
|
773
|
+
/* @__PURE__ */ jsx16(
|
|
577
774
|
Input,
|
|
578
775
|
{
|
|
579
776
|
type: "password",
|
|
@@ -593,7 +790,7 @@ var PasswordInput = ({ className, style, ...props }) => {
|
|
|
593
790
|
}
|
|
594
791
|
)
|
|
595
792
|
] }),
|
|
596
|
-
error && /* @__PURE__ */
|
|
793
|
+
error && /* @__PURE__ */ jsx16("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
597
794
|
] });
|
|
598
795
|
};
|
|
599
796
|
var PasswordInput_default = PasswordInput;
|
|
@@ -602,9 +799,9 @@ var PasswordInput_default = PasswordInput;
|
|
|
602
799
|
import * as React6 from "react";
|
|
603
800
|
|
|
604
801
|
// src/components/ui/textarea.tsx
|
|
605
|
-
import { jsx as
|
|
802
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
606
803
|
function Textarea({ className, ...props }) {
|
|
607
|
-
return /* @__PURE__ */
|
|
804
|
+
return /* @__PURE__ */ jsx17(
|
|
608
805
|
"textarea",
|
|
609
806
|
{
|
|
610
807
|
"data-slot": "textarea",
|
|
@@ -618,7 +815,7 @@ function Textarea({ className, ...props }) {
|
|
|
618
815
|
}
|
|
619
816
|
|
|
620
817
|
// src/components/Inputs/Textarea/Textarea.tsx
|
|
621
|
-
import { Fragment as Fragment5, jsx as
|
|
818
|
+
import { Fragment as Fragment5, jsx as jsx18, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
622
819
|
var Textarea2 = ({ className, style, ...props }) => {
|
|
623
820
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
624
821
|
const isEditable = props.isEditable ?? true;
|
|
@@ -633,8 +830,8 @@ var Textarea2 = ({ className, style, ...props }) => {
|
|
|
633
830
|
const handleChange = (e) => {
|
|
634
831
|
props.onChange?.(e);
|
|
635
832
|
};
|
|
636
|
-
return /* @__PURE__ */
|
|
637
|
-
/* @__PURE__ */
|
|
833
|
+
return /* @__PURE__ */ jsxs9(Fragment5, { children: [
|
|
834
|
+
/* @__PURE__ */ jsx18(
|
|
638
835
|
Textarea,
|
|
639
836
|
{
|
|
640
837
|
id: "textarea-field",
|
|
@@ -652,14 +849,14 @@ var Textarea2 = ({ className, style, ...props }) => {
|
|
|
652
849
|
readOnly: isReadonly
|
|
653
850
|
}
|
|
654
851
|
),
|
|
655
|
-
error && /* @__PURE__ */
|
|
852
|
+
error && /* @__PURE__ */ jsx18("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
656
853
|
] });
|
|
657
854
|
};
|
|
658
855
|
var Textarea_default = Textarea2;
|
|
659
856
|
|
|
660
857
|
// src/components/Inputs/UrlInput/UrlInput.tsx
|
|
661
858
|
import * as React7 from "react";
|
|
662
|
-
import { Fragment as Fragment6, jsx as
|
|
859
|
+
import { Fragment as Fragment6, jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
663
860
|
var UrlInput = ({ className, style, ...props }) => {
|
|
664
861
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
665
862
|
const isEditable = props.isEditable ?? true;
|
|
@@ -674,10 +871,10 @@ var UrlInput = ({ className, style, ...props }) => {
|
|
|
674
871
|
const handleChange = (e) => {
|
|
675
872
|
props.onChange?.(e);
|
|
676
873
|
};
|
|
677
|
-
return /* @__PURE__ */
|
|
678
|
-
/* @__PURE__ */
|
|
679
|
-
/* @__PURE__ */
|
|
680
|
-
/* @__PURE__ */
|
|
874
|
+
return /* @__PURE__ */ jsxs10(Fragment6, { children: [
|
|
875
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex justify-start items-center relative", children: [
|
|
876
|
+
/* @__PURE__ */ jsx19("div", { className: "bg-[#E9E9E9] absolute px-10 text-center top-1/2 h-full justify-center items-center flex w-10 -translate-y-1/2 text-[#383838] font-[500] text-[12px]", children: "https://" }),
|
|
877
|
+
/* @__PURE__ */ jsx19(
|
|
681
878
|
Input,
|
|
682
879
|
{
|
|
683
880
|
id: "url-field",
|
|
@@ -697,7 +894,7 @@ var UrlInput = ({ className, style, ...props }) => {
|
|
|
697
894
|
}
|
|
698
895
|
)
|
|
699
896
|
] }),
|
|
700
|
-
error && /* @__PURE__ */
|
|
897
|
+
error && /* @__PURE__ */ jsx19("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
701
898
|
] });
|
|
702
899
|
};
|
|
703
900
|
var UrlInput_default = UrlInput;
|
|
@@ -707,12 +904,12 @@ import { useEffect as useEffect7, useState as useState7 } from "react";
|
|
|
707
904
|
|
|
708
905
|
// src/components/ui/checkbox.tsx
|
|
709
906
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
710
|
-
import { jsx as
|
|
907
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
711
908
|
function Checkbox({
|
|
712
909
|
className,
|
|
713
910
|
...props
|
|
714
911
|
}) {
|
|
715
|
-
return /* @__PURE__ */
|
|
912
|
+
return /* @__PURE__ */ jsx20(
|
|
716
913
|
CheckboxPrimitive.Root,
|
|
717
914
|
{
|
|
718
915
|
"data-slot": "checkbox",
|
|
@@ -721,12 +918,12 @@ function Checkbox({
|
|
|
721
918
|
className
|
|
722
919
|
),
|
|
723
920
|
...props,
|
|
724
|
-
children: /* @__PURE__ */
|
|
921
|
+
children: /* @__PURE__ */ jsx20(
|
|
725
922
|
CheckboxPrimitive.Indicator,
|
|
726
923
|
{
|
|
727
924
|
"data-slot": "checkbox-indicator",
|
|
728
925
|
className: "flex items-center justify-center text-current transition-none",
|
|
729
|
-
children: /* @__PURE__ */
|
|
926
|
+
children: /* @__PURE__ */ jsx20(Check, { className: "size-3.5" })
|
|
730
927
|
}
|
|
731
928
|
)
|
|
732
929
|
}
|
|
@@ -735,12 +932,12 @@ function Checkbox({
|
|
|
735
932
|
|
|
736
933
|
// src/components/ui/label.tsx
|
|
737
934
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
738
|
-
import { jsx as
|
|
739
|
-
function
|
|
935
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
936
|
+
function Label2({
|
|
740
937
|
className,
|
|
741
938
|
...props
|
|
742
939
|
}) {
|
|
743
|
-
return /* @__PURE__ */
|
|
940
|
+
return /* @__PURE__ */ jsx21(
|
|
744
941
|
LabelPrimitive.Root,
|
|
745
942
|
{
|
|
746
943
|
"data-slot": "label",
|
|
@@ -754,7 +951,7 @@ function Label({
|
|
|
754
951
|
}
|
|
755
952
|
|
|
756
953
|
// src/components/Inputs/Checkbox/Checkbox.tsx
|
|
757
|
-
import { Fragment as Fragment7, jsx as
|
|
954
|
+
import { Fragment as Fragment7, jsx as jsx22, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
758
955
|
var CheckboxInput = ({ className, style, ...props }) => {
|
|
759
956
|
const isEditable = props.isEditable ?? true;
|
|
760
957
|
const isDisabled = props.isDisabled ?? false;
|
|
@@ -767,9 +964,9 @@ var CheckboxInput = ({ className, style, ...props }) => {
|
|
|
767
964
|
const handleChange = (value) => {
|
|
768
965
|
props.onChange?.(value);
|
|
769
966
|
};
|
|
770
|
-
return /* @__PURE__ */
|
|
771
|
-
/* @__PURE__ */
|
|
772
|
-
/* @__PURE__ */
|
|
967
|
+
return /* @__PURE__ */ jsxs11(Fragment7, { children: [
|
|
968
|
+
/* @__PURE__ */ jsx22("div", { className, style, children: /* @__PURE__ */ jsxs11("div", { className: "flex items-center space-x-2", children: [
|
|
969
|
+
/* @__PURE__ */ jsx22(
|
|
773
970
|
Checkbox,
|
|
774
971
|
{
|
|
775
972
|
id: props.name || "checkbox",
|
|
@@ -778,9 +975,9 @@ var CheckboxInput = ({ className, style, ...props }) => {
|
|
|
778
975
|
disabled: !isEditable || isDisabled
|
|
779
976
|
}
|
|
780
977
|
),
|
|
781
|
-
/* @__PURE__ */
|
|
978
|
+
/* @__PURE__ */ jsx22(Label2, { htmlFor: props.name || "checkbox", children: text })
|
|
782
979
|
] }) }),
|
|
783
|
-
error && /* @__PURE__ */
|
|
980
|
+
error && /* @__PURE__ */ jsx22("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
784
981
|
] });
|
|
785
982
|
};
|
|
786
983
|
var Checkbox_default = CheckboxInput;
|
|
@@ -790,12 +987,12 @@ import { useEffect as useEffect8, useState as useState8 } from "react";
|
|
|
790
987
|
|
|
791
988
|
// src/components/ui/radio-group.tsx
|
|
792
989
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
793
|
-
import { jsx as
|
|
794
|
-
function
|
|
990
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
991
|
+
function RadioGroup2({
|
|
795
992
|
className,
|
|
796
993
|
...props
|
|
797
994
|
}) {
|
|
798
|
-
return /* @__PURE__ */
|
|
995
|
+
return /* @__PURE__ */ jsx23(
|
|
799
996
|
RadioGroupPrimitive.Root,
|
|
800
997
|
{
|
|
801
998
|
"data-slot": "radio-group",
|
|
@@ -808,7 +1005,7 @@ function RadioGroupItem({
|
|
|
808
1005
|
className,
|
|
809
1006
|
...props
|
|
810
1007
|
}) {
|
|
811
|
-
return /* @__PURE__ */
|
|
1008
|
+
return /* @__PURE__ */ jsx23(
|
|
812
1009
|
RadioGroupPrimitive.Item,
|
|
813
1010
|
{
|
|
814
1011
|
"data-slot": "radio-group-item",
|
|
@@ -817,12 +1014,12 @@ function RadioGroupItem({
|
|
|
817
1014
|
className
|
|
818
1015
|
),
|
|
819
1016
|
...props,
|
|
820
|
-
children: /* @__PURE__ */
|
|
1017
|
+
children: /* @__PURE__ */ jsx23(
|
|
821
1018
|
RadioGroupPrimitive.Indicator,
|
|
822
1019
|
{
|
|
823
1020
|
"data-slot": "radio-group-indicator",
|
|
824
1021
|
className: "relative flex items-center justify-center",
|
|
825
|
-
children: /* @__PURE__ */
|
|
1022
|
+
children: /* @__PURE__ */ jsx23(Circle, { className: "fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2" })
|
|
826
1023
|
}
|
|
827
1024
|
)
|
|
828
1025
|
}
|
|
@@ -830,7 +1027,7 @@ function RadioGroupItem({
|
|
|
830
1027
|
}
|
|
831
1028
|
|
|
832
1029
|
// src/components/Inputs/RadioInput/RadioInput.tsx
|
|
833
|
-
import { Fragment as Fragment8, jsx as
|
|
1030
|
+
import { Fragment as Fragment8, jsx as jsx24, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
834
1031
|
var RadioInput = ({
|
|
835
1032
|
className,
|
|
836
1033
|
style,
|
|
@@ -854,29 +1051,29 @@ var RadioInput = ({
|
|
|
854
1051
|
onChange?.(value);
|
|
855
1052
|
};
|
|
856
1053
|
const resolvedDefaultValue = (typeof defaultValue === "string" ? defaultValue : void 0) ?? options[0]?.value;
|
|
857
|
-
return /* @__PURE__ */
|
|
858
|
-
/* @__PURE__ */
|
|
859
|
-
|
|
1054
|
+
return /* @__PURE__ */ jsxs12(Fragment8, { children: [
|
|
1055
|
+
/* @__PURE__ */ jsx24("div", { className, style, children: /* @__PURE__ */ jsxs12(
|
|
1056
|
+
RadioGroup2,
|
|
860
1057
|
{
|
|
861
1058
|
defaultValue: resolvedDefaultValue,
|
|
862
1059
|
onValueChange: handleChange,
|
|
863
1060
|
children: [
|
|
864
|
-
options.length === 0 && /* @__PURE__ */
|
|
865
|
-
options.map((item) => /* @__PURE__ */
|
|
866
|
-
/* @__PURE__ */
|
|
867
|
-
/* @__PURE__ */
|
|
1061
|
+
options.length === 0 && /* @__PURE__ */ jsx24("div", { className: "text-sm text-gray-500", children: "No options available" }),
|
|
1062
|
+
options.map((item) => /* @__PURE__ */ jsxs12("div", { className: "flex items-center space-x-2", children: [
|
|
1063
|
+
/* @__PURE__ */ jsx24(RadioGroupItem, { value: item.value, id: `radio-${item.value}` }),
|
|
1064
|
+
/* @__PURE__ */ jsx24(Label2, { htmlFor: `radio-${item.value}`, children: item.label })
|
|
868
1065
|
] }, item.value))
|
|
869
1066
|
]
|
|
870
1067
|
}
|
|
871
1068
|
) }),
|
|
872
|
-
error && /* @__PURE__ */
|
|
1069
|
+
error && /* @__PURE__ */ jsx24("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
873
1070
|
] });
|
|
874
1071
|
};
|
|
875
1072
|
var RadioInput_default = RadioInput;
|
|
876
1073
|
|
|
877
1074
|
// src/components/Inputs/MultiCheckbox/MultiCheckbox.tsx
|
|
878
1075
|
import { useCallback, useState as useState9 } from "react";
|
|
879
|
-
import { jsx as
|
|
1076
|
+
import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
880
1077
|
var MultiCheckbox = ({
|
|
881
1078
|
className,
|
|
882
1079
|
style,
|
|
@@ -903,15 +1100,15 @@ var MultiCheckbox = ({
|
|
|
903
1100
|
},
|
|
904
1101
|
[onChange]
|
|
905
1102
|
);
|
|
906
|
-
return /* @__PURE__ */
|
|
1103
|
+
return /* @__PURE__ */ jsxs13(
|
|
907
1104
|
"div",
|
|
908
1105
|
{
|
|
909
1106
|
className: cn("flex flex-col gap-3", className),
|
|
910
1107
|
style,
|
|
911
1108
|
children: [
|
|
912
|
-
options.length === 0 && /* @__PURE__ */
|
|
913
|
-
options.map((opt) => /* @__PURE__ */
|
|
914
|
-
/* @__PURE__ */
|
|
1109
|
+
options.length === 0 && /* @__PURE__ */ jsx25("p", { className: "text-sm text-gray-500", children: "No options available." }),
|
|
1110
|
+
options.map((opt) => /* @__PURE__ */ jsxs13("div", { className: "flex items-center space-x-2", children: [
|
|
1111
|
+
/* @__PURE__ */ jsx25(
|
|
915
1112
|
Checkbox,
|
|
916
1113
|
{
|
|
917
1114
|
id: opt.value,
|
|
@@ -920,7 +1117,7 @@ var MultiCheckbox = ({
|
|
|
920
1117
|
disabled: !isEditable || isDisabled
|
|
921
1118
|
}
|
|
922
1119
|
),
|
|
923
|
-
/* @__PURE__ */
|
|
1120
|
+
/* @__PURE__ */ jsx25(Label2, { htmlFor: opt.value, children: opt.label })
|
|
924
1121
|
] }, opt.value))
|
|
925
1122
|
]
|
|
926
1123
|
}
|
|
@@ -934,7 +1131,7 @@ import { useEffect as useEffect9, useState as useState10 } from "react";
|
|
|
934
1131
|
// src/components/Global/TinyMceEditor.tsx
|
|
935
1132
|
import { useMemo, useRef } from "react";
|
|
936
1133
|
import { Editor } from "@tinymce/tinymce-react";
|
|
937
|
-
import { jsx as
|
|
1134
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
938
1135
|
function MyEditor({
|
|
939
1136
|
value,
|
|
940
1137
|
onChange,
|
|
@@ -959,7 +1156,7 @@ function MyEditor({
|
|
|
959
1156
|
}
|
|
960
1157
|
return toolbar;
|
|
961
1158
|
}, [isDefault]);
|
|
962
|
-
return /* @__PURE__ */
|
|
1159
|
+
return /* @__PURE__ */ jsx26(
|
|
963
1160
|
Editor,
|
|
964
1161
|
{
|
|
965
1162
|
apiKey: process.env.NEXT_PUBLIC_TINYMCE_API_KEY,
|
|
@@ -1003,14 +1200,14 @@ function MyEditor({
|
|
|
1003
1200
|
}
|
|
1004
1201
|
|
|
1005
1202
|
// src/components/Inputs/RichText/RichText.tsx
|
|
1006
|
-
import { jsx as
|
|
1203
|
+
import { jsx as jsx27, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1007
1204
|
function RichText({ className, style, ...props }) {
|
|
1008
1205
|
const [error, setError] = useState10(null);
|
|
1009
1206
|
useEffect9(() => {
|
|
1010
1207
|
if (!props.validateOnMount) return;
|
|
1011
1208
|
setError(props.errorMessage || null);
|
|
1012
1209
|
}, [props.errorMessage, props.validateOnMount]);
|
|
1013
|
-
return /* @__PURE__ */
|
|
1210
|
+
return /* @__PURE__ */ jsxs14(
|
|
1014
1211
|
"div",
|
|
1015
1212
|
{
|
|
1016
1213
|
className: cn(className, error ? "border-red-500" : ""),
|
|
@@ -1019,8 +1216,8 @@ function RichText({ className, style, ...props }) {
|
|
|
1019
1216
|
borderColor: error ? "#f87171" : style?.borderColor
|
|
1020
1217
|
},
|
|
1021
1218
|
children: [
|
|
1022
|
-
/* @__PURE__ */
|
|
1023
|
-
error && /* @__PURE__ */
|
|
1219
|
+
/* @__PURE__ */ jsx27(MyEditor, { onChange: (content) => props.onChange?.(content), value: props.value, isDefault: true }),
|
|
1220
|
+
error && /* @__PURE__ */ jsx27("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1024
1221
|
]
|
|
1025
1222
|
}
|
|
1026
1223
|
);
|
|
@@ -1031,16 +1228,16 @@ import * as React8 from "react";
|
|
|
1031
1228
|
|
|
1032
1229
|
// src/components/ui/select.tsx
|
|
1033
1230
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
1034
|
-
import { jsx as
|
|
1231
|
+
import { jsx as jsx28, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1035
1232
|
function Select({
|
|
1036
1233
|
...props
|
|
1037
1234
|
}) {
|
|
1038
|
-
return /* @__PURE__ */
|
|
1235
|
+
return /* @__PURE__ */ jsx28(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
1039
1236
|
}
|
|
1040
1237
|
function SelectValue({
|
|
1041
1238
|
...props
|
|
1042
1239
|
}) {
|
|
1043
|
-
return /* @__PURE__ */
|
|
1240
|
+
return /* @__PURE__ */ jsx28(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
1044
1241
|
}
|
|
1045
1242
|
function SelectTrigger({
|
|
1046
1243
|
className,
|
|
@@ -1048,7 +1245,7 @@ function SelectTrigger({
|
|
|
1048
1245
|
children,
|
|
1049
1246
|
...props
|
|
1050
1247
|
}) {
|
|
1051
|
-
return /* @__PURE__ */
|
|
1248
|
+
return /* @__PURE__ */ jsxs15(
|
|
1052
1249
|
SelectPrimitive.Trigger,
|
|
1053
1250
|
{
|
|
1054
1251
|
"data-slot": "select-trigger",
|
|
@@ -1060,7 +1257,7 @@ function SelectTrigger({
|
|
|
1060
1257
|
...props,
|
|
1061
1258
|
children: [
|
|
1062
1259
|
children,
|
|
1063
|
-
/* @__PURE__ */
|
|
1260
|
+
/* @__PURE__ */ jsx28(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx28(ChevronDown, { className: "size-4 opacity-50" }) })
|
|
1064
1261
|
]
|
|
1065
1262
|
}
|
|
1066
1263
|
);
|
|
@@ -1071,7 +1268,7 @@ function SelectContent({
|
|
|
1071
1268
|
position = "popper",
|
|
1072
1269
|
...props
|
|
1073
1270
|
}) {
|
|
1074
|
-
return /* @__PURE__ */
|
|
1271
|
+
return /* @__PURE__ */ jsx28(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs15(
|
|
1075
1272
|
SelectPrimitive.Content,
|
|
1076
1273
|
{
|
|
1077
1274
|
"data-slot": "select-content",
|
|
@@ -1083,8 +1280,8 @@ function SelectContent({
|
|
|
1083
1280
|
position,
|
|
1084
1281
|
...props,
|
|
1085
1282
|
children: [
|
|
1086
|
-
/* @__PURE__ */
|
|
1087
|
-
/* @__PURE__ */
|
|
1283
|
+
/* @__PURE__ */ jsx28(SelectScrollUpButton, {}),
|
|
1284
|
+
/* @__PURE__ */ jsx28(
|
|
1088
1285
|
SelectPrimitive.Viewport,
|
|
1089
1286
|
{
|
|
1090
1287
|
className: cn(
|
|
@@ -1094,7 +1291,7 @@ function SelectContent({
|
|
|
1094
1291
|
children
|
|
1095
1292
|
}
|
|
1096
1293
|
),
|
|
1097
|
-
/* @__PURE__ */
|
|
1294
|
+
/* @__PURE__ */ jsx28(SelectScrollDownButton, {})
|
|
1098
1295
|
]
|
|
1099
1296
|
}
|
|
1100
1297
|
) });
|
|
@@ -1104,7 +1301,7 @@ function SelectItem({
|
|
|
1104
1301
|
children,
|
|
1105
1302
|
...props
|
|
1106
1303
|
}) {
|
|
1107
|
-
return /* @__PURE__ */
|
|
1304
|
+
return /* @__PURE__ */ jsxs15(
|
|
1108
1305
|
SelectPrimitive.Item,
|
|
1109
1306
|
{
|
|
1110
1307
|
"data-slot": "select-item",
|
|
@@ -1114,8 +1311,8 @@ function SelectItem({
|
|
|
1114
1311
|
),
|
|
1115
1312
|
...props,
|
|
1116
1313
|
children: [
|
|
1117
|
-
/* @__PURE__ */
|
|
1118
|
-
/* @__PURE__ */
|
|
1314
|
+
/* @__PURE__ */ jsx28("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx28(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx28(Check, { className: "size-4" }) }) }),
|
|
1315
|
+
/* @__PURE__ */ jsx28(SelectPrimitive.ItemText, { children })
|
|
1119
1316
|
]
|
|
1120
1317
|
}
|
|
1121
1318
|
);
|
|
@@ -1124,7 +1321,7 @@ function SelectScrollUpButton({
|
|
|
1124
1321
|
className,
|
|
1125
1322
|
...props
|
|
1126
1323
|
}) {
|
|
1127
|
-
return /* @__PURE__ */
|
|
1324
|
+
return /* @__PURE__ */ jsx28(
|
|
1128
1325
|
SelectPrimitive.ScrollUpButton,
|
|
1129
1326
|
{
|
|
1130
1327
|
"data-slot": "select-scroll-up-button",
|
|
@@ -1133,7 +1330,7 @@ function SelectScrollUpButton({
|
|
|
1133
1330
|
className
|
|
1134
1331
|
),
|
|
1135
1332
|
...props,
|
|
1136
|
-
children: /* @__PURE__ */
|
|
1333
|
+
children: /* @__PURE__ */ jsx28(ChevronUp, { className: "size-4" })
|
|
1137
1334
|
}
|
|
1138
1335
|
);
|
|
1139
1336
|
}
|
|
@@ -1141,7 +1338,7 @@ function SelectScrollDownButton({
|
|
|
1141
1338
|
className,
|
|
1142
1339
|
...props
|
|
1143
1340
|
}) {
|
|
1144
|
-
return /* @__PURE__ */
|
|
1341
|
+
return /* @__PURE__ */ jsx28(
|
|
1145
1342
|
SelectPrimitive.ScrollDownButton,
|
|
1146
1343
|
{
|
|
1147
1344
|
"data-slot": "select-scroll-down-button",
|
|
@@ -1150,13 +1347,13 @@ function SelectScrollDownButton({
|
|
|
1150
1347
|
className
|
|
1151
1348
|
),
|
|
1152
1349
|
...props,
|
|
1153
|
-
children: /* @__PURE__ */
|
|
1350
|
+
children: /* @__PURE__ */ jsx28(ChevronDown, { className: "size-4" })
|
|
1154
1351
|
}
|
|
1155
1352
|
);
|
|
1156
1353
|
}
|
|
1157
1354
|
|
|
1158
1355
|
// src/components/Inputs/Dropdown/Dropdown.tsx
|
|
1159
|
-
import { Fragment as Fragment9, jsx as
|
|
1356
|
+
import { Fragment as Fragment9, jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1160
1357
|
var Dropdown = ({ className, style, ...props }) => {
|
|
1161
1358
|
const list = props.data || [];
|
|
1162
1359
|
const placeholder = props.placeholder ? props.placeholder : "Placeholder text";
|
|
@@ -1177,9 +1374,9 @@ var Dropdown = ({ className, style, ...props }) => {
|
|
|
1177
1374
|
value: item[dataKey],
|
|
1178
1375
|
label: item[dataLabel]
|
|
1179
1376
|
}));
|
|
1180
|
-
return /* @__PURE__ */
|
|
1181
|
-
/* @__PURE__ */
|
|
1182
|
-
/* @__PURE__ */
|
|
1377
|
+
return /* @__PURE__ */ jsxs16(Fragment9, { children: [
|
|
1378
|
+
/* @__PURE__ */ jsxs16(Select, { name: props.name, value: props.value, onValueChange: handleChange, disabled: isDisabled || !isEditable, children: [
|
|
1379
|
+
/* @__PURE__ */ jsx29(
|
|
1183
1380
|
SelectTrigger,
|
|
1184
1381
|
{
|
|
1185
1382
|
id: props.name || "select-field",
|
|
@@ -1189,12 +1386,12 @@ var Dropdown = ({ className, style, ...props }) => {
|
|
|
1189
1386
|
borderColor: error ? "#f87171" : style?.borderColor
|
|
1190
1387
|
},
|
|
1191
1388
|
"aria-readonly": isReadonly,
|
|
1192
|
-
children: /* @__PURE__ */
|
|
1389
|
+
children: /* @__PURE__ */ jsx29(SelectValue, { placeholder })
|
|
1193
1390
|
}
|
|
1194
1391
|
),
|
|
1195
|
-
/* @__PURE__ */
|
|
1392
|
+
/* @__PURE__ */ jsx29(SelectContent, { children: options.map((opt) => /* @__PURE__ */ jsx29(SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
|
|
1196
1393
|
] }),
|
|
1197
|
-
error && /* @__PURE__ */
|
|
1394
|
+
error && /* @__PURE__ */ jsx29("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1198
1395
|
] });
|
|
1199
1396
|
};
|
|
1200
1397
|
var Dropdown_default = Dropdown;
|
|
@@ -1204,12 +1401,12 @@ import { useEffect as useEffect11, useState as useState12 } from "react";
|
|
|
1204
1401
|
|
|
1205
1402
|
// src/components/ui/switch.tsx
|
|
1206
1403
|
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
1207
|
-
import { jsx as
|
|
1404
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
1208
1405
|
function Switch({
|
|
1209
1406
|
className,
|
|
1210
1407
|
...props
|
|
1211
1408
|
}) {
|
|
1212
|
-
return /* @__PURE__ */
|
|
1409
|
+
return /* @__PURE__ */ jsx30(
|
|
1213
1410
|
SwitchPrimitive.Root,
|
|
1214
1411
|
{
|
|
1215
1412
|
"data-slot": "switch",
|
|
@@ -1218,7 +1415,7 @@ function Switch({
|
|
|
1218
1415
|
className
|
|
1219
1416
|
),
|
|
1220
1417
|
...props,
|
|
1221
|
-
children: /* @__PURE__ */
|
|
1418
|
+
children: /* @__PURE__ */ jsx30(
|
|
1222
1419
|
SwitchPrimitive.Thumb,
|
|
1223
1420
|
{
|
|
1224
1421
|
"data-slot": "switch-thumb",
|
|
@@ -1232,7 +1429,7 @@ function Switch({
|
|
|
1232
1429
|
}
|
|
1233
1430
|
|
|
1234
1431
|
// src/components/Inputs/SwitchToggle/SwitchToggle.tsx
|
|
1235
|
-
import { Fragment as Fragment10, jsx as
|
|
1432
|
+
import { Fragment as Fragment10, jsx as jsx31, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
1236
1433
|
var SwitchToggle = ({ className, style, ...props }) => {
|
|
1237
1434
|
const isEditable = props.isEditable ?? true;
|
|
1238
1435
|
const isDisabled = props.isDisabled ?? false;
|
|
@@ -1244,9 +1441,9 @@ var SwitchToggle = ({ className, style, ...props }) => {
|
|
|
1244
1441
|
const handleChange = (value) => {
|
|
1245
1442
|
props.onChange?.(value);
|
|
1246
1443
|
};
|
|
1247
|
-
return /* @__PURE__ */
|
|
1248
|
-
/* @__PURE__ */
|
|
1249
|
-
/* @__PURE__ */
|
|
1444
|
+
return /* @__PURE__ */ jsxs17(Fragment10, { children: [
|
|
1445
|
+
/* @__PURE__ */ jsx31("div", { className, style, children: /* @__PURE__ */ jsxs17("div", { className: "flex items-center space-x-2 mb-2", children: [
|
|
1446
|
+
/* @__PURE__ */ jsx31(
|
|
1250
1447
|
Switch,
|
|
1251
1448
|
{
|
|
1252
1449
|
id: props.name || "switch",
|
|
@@ -1255,9 +1452,9 @@ var SwitchToggle = ({ className, style, ...props }) => {
|
|
|
1255
1452
|
disabled: isDisabled || !isEditable
|
|
1256
1453
|
}
|
|
1257
1454
|
),
|
|
1258
|
-
/* @__PURE__ */
|
|
1455
|
+
/* @__PURE__ */ jsx31(Label2, { htmlFor: props.name || "switch", children: props.text })
|
|
1259
1456
|
] }) }),
|
|
1260
|
-
error && /* @__PURE__ */
|
|
1457
|
+
error && /* @__PURE__ */ jsx31("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1261
1458
|
] });
|
|
1262
1459
|
};
|
|
1263
1460
|
var SwitchToggle_default = SwitchToggle;
|
|
@@ -1266,7 +1463,7 @@ var SwitchToggle_default = SwitchToggle;
|
|
|
1266
1463
|
import * as React9 from "react";
|
|
1267
1464
|
import { PhoneInput as PhoneInputField } from "react-international-phone";
|
|
1268
1465
|
import "react-international-phone/style.css";
|
|
1269
|
-
import { Fragment as Fragment11, jsx as
|
|
1466
|
+
import { Fragment as Fragment11, jsx as jsx32, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
1270
1467
|
var PhoneInput = ({ className, style, ...props }) => {
|
|
1271
1468
|
const placeholder = props.placeholder ?? "Enter phone number";
|
|
1272
1469
|
const isEditable = props.isEditable ?? true;
|
|
@@ -1279,8 +1476,8 @@ var PhoneInput = ({ className, style, ...props }) => {
|
|
|
1279
1476
|
const handleChange = (val) => {
|
|
1280
1477
|
props.onChange?.(val);
|
|
1281
1478
|
};
|
|
1282
|
-
return /* @__PURE__ */
|
|
1283
|
-
/* @__PURE__ */
|
|
1479
|
+
return /* @__PURE__ */ jsxs18(Fragment11, { children: [
|
|
1480
|
+
/* @__PURE__ */ jsx32(
|
|
1284
1481
|
PhoneInputField,
|
|
1285
1482
|
{
|
|
1286
1483
|
defaultCountry: "in",
|
|
@@ -1299,14 +1496,14 @@ var PhoneInput = ({ className, style, ...props }) => {
|
|
|
1299
1496
|
disabled: isDisabled || !isEditable
|
|
1300
1497
|
}
|
|
1301
1498
|
),
|
|
1302
|
-
error && /* @__PURE__ */
|
|
1499
|
+
error && /* @__PURE__ */ jsx32("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1303
1500
|
] });
|
|
1304
1501
|
};
|
|
1305
1502
|
var PhoneInput_default = PhoneInput;
|
|
1306
1503
|
|
|
1307
1504
|
// src/components/Inputs/SearchInput/SearchInput.tsx
|
|
1308
1505
|
import * as React10 from "react";
|
|
1309
|
-
import { Fragment as Fragment12, jsx as
|
|
1506
|
+
import { Fragment as Fragment12, jsx as jsx33, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
1310
1507
|
var SearchInput = ({ className, style, ...props }) => {
|
|
1311
1508
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
1312
1509
|
const isEditable = props.isEditable ?? true;
|
|
@@ -1321,10 +1518,10 @@ var SearchInput = ({ className, style, ...props }) => {
|
|
|
1321
1518
|
const handleChange = (e) => {
|
|
1322
1519
|
props.onChange?.(e);
|
|
1323
1520
|
};
|
|
1324
|
-
return /* @__PURE__ */
|
|
1325
|
-
/* @__PURE__ */
|
|
1326
|
-
/* @__PURE__ */
|
|
1327
|
-
/* @__PURE__ */
|
|
1521
|
+
return /* @__PURE__ */ jsxs19(Fragment12, { children: [
|
|
1522
|
+
/* @__PURE__ */ jsxs19("div", { className: "flex justify-start items-center relative", children: [
|
|
1523
|
+
/* @__PURE__ */ jsx33(Search, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]" }),
|
|
1524
|
+
/* @__PURE__ */ jsx33(
|
|
1328
1525
|
Input,
|
|
1329
1526
|
{
|
|
1330
1527
|
type: "text",
|
|
@@ -1344,14 +1541,14 @@ var SearchInput = ({ className, style, ...props }) => {
|
|
|
1344
1541
|
}
|
|
1345
1542
|
)
|
|
1346
1543
|
] }),
|
|
1347
|
-
error && /* @__PURE__ */
|
|
1544
|
+
error && /* @__PURE__ */ jsx33("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1348
1545
|
] });
|
|
1349
1546
|
};
|
|
1350
1547
|
var SearchInput_default = SearchInput;
|
|
1351
1548
|
|
|
1352
1549
|
// src/components/Inputs/FileInput/FileInput.tsx
|
|
1353
1550
|
import { useEffect as useEffect14, useState as useState15 } from "react";
|
|
1354
|
-
import { jsx as
|
|
1551
|
+
import { jsx as jsx34, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
1355
1552
|
var FileInput = ({ className, style, ...props }) => {
|
|
1356
1553
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
1357
1554
|
const [error, setError] = useState15(null);
|
|
@@ -1359,8 +1556,8 @@ var FileInput = ({ className, style, ...props }) => {
|
|
|
1359
1556
|
if (!props.validateOnMount) return;
|
|
1360
1557
|
setError(props.errorMessage || null);
|
|
1361
1558
|
}, [props.errorMessage, props.validateOnMount]);
|
|
1362
|
-
return /* @__PURE__ */
|
|
1363
|
-
/* @__PURE__ */
|
|
1559
|
+
return /* @__PURE__ */ jsxs20("div", { className: "d-flex items-center relative align-middle", children: [
|
|
1560
|
+
/* @__PURE__ */ jsx34(
|
|
1364
1561
|
Input,
|
|
1365
1562
|
{
|
|
1366
1563
|
type: "file",
|
|
@@ -1379,14 +1576,14 @@ var FileInput = ({ className, style, ...props }) => {
|
|
|
1379
1576
|
}
|
|
1380
1577
|
}
|
|
1381
1578
|
),
|
|
1382
|
-
error && /* @__PURE__ */
|
|
1579
|
+
error && /* @__PURE__ */ jsx34("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1383
1580
|
] });
|
|
1384
1581
|
};
|
|
1385
1582
|
var FileInput_default = FileInput;
|
|
1386
1583
|
|
|
1387
1584
|
// src/components/Inputs/DatePicker/DatePicker.tsx
|
|
1388
1585
|
import React11, { useEffect as useEffect15 } from "react";
|
|
1389
|
-
import { Fragment as Fragment13, jsx as
|
|
1586
|
+
import { Fragment as Fragment13, jsx as jsx35, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
1390
1587
|
function DatePicker({ className, style, ...props }) {
|
|
1391
1588
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
1392
1589
|
const minimumDate = props.minimumDate ?? "none";
|
|
@@ -1419,10 +1616,10 @@ function DatePicker({ className, style, ...props }) {
|
|
|
1419
1616
|
const handleChange = (e) => {
|
|
1420
1617
|
props.onChange?.(e);
|
|
1421
1618
|
};
|
|
1422
|
-
return /* @__PURE__ */
|
|
1423
|
-
/* @__PURE__ */
|
|
1424
|
-
/* @__PURE__ */
|
|
1425
|
-
/* @__PURE__ */
|
|
1619
|
+
return /* @__PURE__ */ jsxs21(Fragment13, { children: [
|
|
1620
|
+
/* @__PURE__ */ jsxs21("div", { className: "flex justify-start items-center relative", children: [
|
|
1621
|
+
/* @__PURE__ */ jsx35(Calendar, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]" }),
|
|
1622
|
+
/* @__PURE__ */ jsx35(
|
|
1426
1623
|
Input,
|
|
1427
1624
|
{
|
|
1428
1625
|
type: "date",
|
|
@@ -1448,7 +1645,7 @@ function DatePicker({ className, style, ...props }) {
|
|
|
1448
1645
|
}
|
|
1449
1646
|
)
|
|
1450
1647
|
] }),
|
|
1451
|
-
error && /* @__PURE__ */
|
|
1648
|
+
error && /* @__PURE__ */ jsx35("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1452
1649
|
] });
|
|
1453
1650
|
}
|
|
1454
1651
|
|
|
@@ -1459,7 +1656,7 @@ import { addDays, format } from "date-fns";
|
|
|
1459
1656
|
// src/components/ui/calendar.tsx
|
|
1460
1657
|
import * as React12 from "react";
|
|
1461
1658
|
import { DayPicker, getDefaultClassNames } from "react-day-picker";
|
|
1462
|
-
import { jsx as
|
|
1659
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1463
1660
|
function Calendar2({
|
|
1464
1661
|
className,
|
|
1465
1662
|
classNames,
|
|
@@ -1471,7 +1668,7 @@ function Calendar2({
|
|
|
1471
1668
|
...props
|
|
1472
1669
|
}) {
|
|
1473
1670
|
const defaultClassNames = getDefaultClassNames();
|
|
1474
|
-
return /* @__PURE__ */
|
|
1671
|
+
return /* @__PURE__ */ jsx36(
|
|
1475
1672
|
DayPicker,
|
|
1476
1673
|
{
|
|
1477
1674
|
showOutsideDays,
|
|
@@ -1570,7 +1767,7 @@ function Calendar2({
|
|
|
1570
1767
|
},
|
|
1571
1768
|
components: {
|
|
1572
1769
|
Root: ({ className: className2, rootRef, ...props2 }) => {
|
|
1573
|
-
return /* @__PURE__ */
|
|
1770
|
+
return /* @__PURE__ */ jsx36(
|
|
1574
1771
|
"div",
|
|
1575
1772
|
{
|
|
1576
1773
|
"data-slot": "calendar",
|
|
@@ -1582,10 +1779,10 @@ function Calendar2({
|
|
|
1582
1779
|
},
|
|
1583
1780
|
Chevron: ({ className: className2, orientation, ...props2 }) => {
|
|
1584
1781
|
if (orientation === "left") {
|
|
1585
|
-
return /* @__PURE__ */
|
|
1782
|
+
return /* @__PURE__ */ jsx36(ChevronLeft, { className: cn("size-4", className2), ...props2 });
|
|
1586
1783
|
}
|
|
1587
1784
|
if (orientation === "right") {
|
|
1588
|
-
return /* @__PURE__ */
|
|
1785
|
+
return /* @__PURE__ */ jsx36(
|
|
1589
1786
|
ChevronRight,
|
|
1590
1787
|
{
|
|
1591
1788
|
className: cn("size-4", className2),
|
|
@@ -1593,11 +1790,11 @@ function Calendar2({
|
|
|
1593
1790
|
}
|
|
1594
1791
|
);
|
|
1595
1792
|
}
|
|
1596
|
-
return /* @__PURE__ */
|
|
1793
|
+
return /* @__PURE__ */ jsx36(ChevronDown, { className: cn("size-4", className2), ...props2 });
|
|
1597
1794
|
},
|
|
1598
1795
|
DayButton: CalendarDayButton,
|
|
1599
1796
|
WeekNumber: ({ children, ...props2 }) => {
|
|
1600
|
-
return /* @__PURE__ */
|
|
1797
|
+
return /* @__PURE__ */ jsx36("td", { ...props2, children: /* @__PURE__ */ jsx36("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
|
|
1601
1798
|
},
|
|
1602
1799
|
...components
|
|
1603
1800
|
},
|
|
@@ -1616,7 +1813,7 @@ function CalendarDayButton({
|
|
|
1616
1813
|
React12.useEffect(() => {
|
|
1617
1814
|
if (modifiers.focused) ref.current?.focus();
|
|
1618
1815
|
}, [modifiers.focused]);
|
|
1619
|
-
return /* @__PURE__ */
|
|
1816
|
+
return /* @__PURE__ */ jsx36(
|
|
1620
1817
|
Button,
|
|
1621
1818
|
{
|
|
1622
1819
|
ref,
|
|
@@ -1639,16 +1836,16 @@ function CalendarDayButton({
|
|
|
1639
1836
|
|
|
1640
1837
|
// src/components/ui/popover.tsx
|
|
1641
1838
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
1642
|
-
import { jsx as
|
|
1839
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
1643
1840
|
function Popover({
|
|
1644
1841
|
...props
|
|
1645
1842
|
}) {
|
|
1646
|
-
return /* @__PURE__ */
|
|
1843
|
+
return /* @__PURE__ */ jsx37(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
1647
1844
|
}
|
|
1648
1845
|
function PopoverTrigger({
|
|
1649
1846
|
...props
|
|
1650
1847
|
}) {
|
|
1651
|
-
return /* @__PURE__ */
|
|
1848
|
+
return /* @__PURE__ */ jsx37(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
1652
1849
|
}
|
|
1653
1850
|
function PopoverContent({
|
|
1654
1851
|
className,
|
|
@@ -1656,7 +1853,7 @@ function PopoverContent({
|
|
|
1656
1853
|
sideOffset = 4,
|
|
1657
1854
|
...props
|
|
1658
1855
|
}) {
|
|
1659
|
-
return /* @__PURE__ */
|
|
1856
|
+
return /* @__PURE__ */ jsx37(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx37(
|
|
1660
1857
|
PopoverPrimitive.Content,
|
|
1661
1858
|
{
|
|
1662
1859
|
"data-slot": "popover-content",
|
|
@@ -1672,7 +1869,7 @@ function PopoverContent({
|
|
|
1672
1869
|
}
|
|
1673
1870
|
|
|
1674
1871
|
// src/components/Inputs/DateRange/DateRange.tsx
|
|
1675
|
-
import { Fragment as Fragment14, jsx as
|
|
1872
|
+
import { Fragment as Fragment14, jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
1676
1873
|
var DateRange = ({ className, style, ...props }) => {
|
|
1677
1874
|
const [error, setError] = React13.useState(null);
|
|
1678
1875
|
const isDateRange = (val) => !!val && val.from instanceof Date;
|
|
@@ -1692,9 +1889,9 @@ var DateRange = ({ className, style, ...props }) => {
|
|
|
1692
1889
|
props.onChange?.(value);
|
|
1693
1890
|
}
|
|
1694
1891
|
};
|
|
1695
|
-
return /* @__PURE__ */
|
|
1696
|
-
/* @__PURE__ */
|
|
1697
|
-
/* @__PURE__ */
|
|
1892
|
+
return /* @__PURE__ */ jsxs22(Fragment14, { children: [
|
|
1893
|
+
/* @__PURE__ */ jsx38("div", { className, style, children: /* @__PURE__ */ jsxs22(Popover, { children: [
|
|
1894
|
+
/* @__PURE__ */ jsx38(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx38(
|
|
1698
1895
|
Button,
|
|
1699
1896
|
{
|
|
1700
1897
|
id: "date",
|
|
@@ -1703,15 +1900,15 @@ var DateRange = ({ className, style, ...props }) => {
|
|
|
1703
1900
|
"w-[300px] justify-start text-left font-normal text-[11px]",
|
|
1704
1901
|
!date && "text-muted-foreground"
|
|
1705
1902
|
),
|
|
1706
|
-
children: date?.from ? date.to ? /* @__PURE__ */
|
|
1903
|
+
children: date?.from ? date.to ? /* @__PURE__ */ jsxs22(Fragment14, { children: [
|
|
1707
1904
|
format(date.from, "LLL dd, y"),
|
|
1708
1905
|
" -",
|
|
1709
1906
|
" ",
|
|
1710
1907
|
format(date.to, "LLL dd, y")
|
|
1711
|
-
] }) : format(date.from, "LLL dd, y") : /* @__PURE__ */
|
|
1908
|
+
] }) : format(date.from, "LLL dd, y") : /* @__PURE__ */ jsx38("span", { children: "Pick a date range" })
|
|
1712
1909
|
}
|
|
1713
1910
|
) }),
|
|
1714
|
-
/* @__PURE__ */
|
|
1911
|
+
/* @__PURE__ */ jsx38(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ jsx38(
|
|
1715
1912
|
Calendar2,
|
|
1716
1913
|
{
|
|
1717
1914
|
mode: "range",
|
|
@@ -1722,14 +1919,14 @@ var DateRange = ({ className, style, ...props }) => {
|
|
|
1722
1919
|
}
|
|
1723
1920
|
) })
|
|
1724
1921
|
] }) }),
|
|
1725
|
-
error && /* @__PURE__ */
|
|
1922
|
+
error && /* @__PURE__ */ jsx38("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1726
1923
|
] });
|
|
1727
1924
|
};
|
|
1728
1925
|
var DateRange_default = DateRange;
|
|
1729
1926
|
|
|
1730
1927
|
// src/components/Inputs/TextInputGroup/TextInputGroup.tsx
|
|
1731
1928
|
import * as React14 from "react";
|
|
1732
|
-
import { Fragment as Fragment15, jsx as
|
|
1929
|
+
import { Fragment as Fragment15, jsx as jsx39, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
1733
1930
|
var TextInputGroup = ({ className, style, prepend, append, ...props }) => {
|
|
1734
1931
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
1735
1932
|
const isEditable = props.isEditable ?? true;
|
|
@@ -1744,8 +1941,8 @@ var TextInputGroup = ({ className, style, prepend, append, ...props }) => {
|
|
|
1744
1941
|
const handleChange = (e) => {
|
|
1745
1942
|
props.onChange?.(e);
|
|
1746
1943
|
};
|
|
1747
|
-
return /* @__PURE__ */
|
|
1748
|
-
/* @__PURE__ */
|
|
1944
|
+
return /* @__PURE__ */ jsxs23(Fragment15, { children: [
|
|
1945
|
+
/* @__PURE__ */ jsxs23(
|
|
1749
1946
|
"div",
|
|
1750
1947
|
{
|
|
1751
1948
|
className: cn(
|
|
@@ -1755,8 +1952,8 @@ var TextInputGroup = ({ className, style, prepend, append, ...props }) => {
|
|
|
1755
1952
|
error ? "border-red-500" : ""
|
|
1756
1953
|
),
|
|
1757
1954
|
children: [
|
|
1758
|
-
prepend && /* @__PURE__ */
|
|
1759
|
-
/* @__PURE__ */
|
|
1955
|
+
prepend && /* @__PURE__ */ jsx39("div", { className: "px-3 flex items-center bg-gray-500 text-white h-10 rounded-l-md", children: prepend }),
|
|
1956
|
+
/* @__PURE__ */ jsx39(
|
|
1760
1957
|
Input,
|
|
1761
1958
|
{
|
|
1762
1959
|
id: props.name || "prepend-input",
|
|
@@ -1778,11 +1975,11 @@ var TextInputGroup = ({ className, style, prepend, append, ...props }) => {
|
|
|
1778
1975
|
readOnly: isReadonly
|
|
1779
1976
|
}
|
|
1780
1977
|
),
|
|
1781
|
-
append && /* @__PURE__ */
|
|
1978
|
+
append && /* @__PURE__ */ jsx39("div", { className: "px-3 flex items-center bg-gray-500 text-white h-10 rounded-r-md", children: append })
|
|
1782
1979
|
]
|
|
1783
1980
|
}
|
|
1784
1981
|
),
|
|
1785
|
-
error && /* @__PURE__ */
|
|
1982
|
+
error && /* @__PURE__ */ jsx39("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1786
1983
|
] });
|
|
1787
1984
|
};
|
|
1788
1985
|
var TextInputGroup_default = TextInputGroup;
|
|
@@ -1795,14 +1992,14 @@ import {
|
|
|
1795
1992
|
} from "@tanstack/react-table";
|
|
1796
1993
|
|
|
1797
1994
|
// src/components/ui/table.tsx
|
|
1798
|
-
import { jsx as
|
|
1995
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
1799
1996
|
function Table({ className, ...props }) {
|
|
1800
|
-
return /* @__PURE__ */
|
|
1997
|
+
return /* @__PURE__ */ jsx40(
|
|
1801
1998
|
"div",
|
|
1802
1999
|
{
|
|
1803
2000
|
"data-slot": "table-container",
|
|
1804
2001
|
className: "relative w-full overflow-x-auto rounded-md border border-gray-200 bg-white",
|
|
1805
|
-
children: /* @__PURE__ */
|
|
2002
|
+
children: /* @__PURE__ */ jsx40(
|
|
1806
2003
|
"table",
|
|
1807
2004
|
{
|
|
1808
2005
|
"data-slot": "table",
|
|
@@ -1814,7 +2011,7 @@ function Table({ className, ...props }) {
|
|
|
1814
2011
|
);
|
|
1815
2012
|
}
|
|
1816
2013
|
function TableHeader({ className, ...props }) {
|
|
1817
|
-
return /* @__PURE__ */
|
|
2014
|
+
return /* @__PURE__ */ jsx40(
|
|
1818
2015
|
"thead",
|
|
1819
2016
|
{
|
|
1820
2017
|
"data-slot": "table-header",
|
|
@@ -1827,7 +2024,7 @@ function TableHeader({ className, ...props }) {
|
|
|
1827
2024
|
);
|
|
1828
2025
|
}
|
|
1829
2026
|
function TableBody({ className, ...props }) {
|
|
1830
|
-
return /* @__PURE__ */
|
|
2027
|
+
return /* @__PURE__ */ jsx40(
|
|
1831
2028
|
"tbody",
|
|
1832
2029
|
{
|
|
1833
2030
|
"data-slot": "table-body",
|
|
@@ -1840,7 +2037,7 @@ function TableBody({ className, ...props }) {
|
|
|
1840
2037
|
);
|
|
1841
2038
|
}
|
|
1842
2039
|
function TableRow({ className, ...props }) {
|
|
1843
|
-
return /* @__PURE__ */
|
|
2040
|
+
return /* @__PURE__ */ jsx40(
|
|
1844
2041
|
"tr",
|
|
1845
2042
|
{
|
|
1846
2043
|
"data-slot": "table-row",
|
|
@@ -1853,7 +2050,7 @@ function TableRow({ className, ...props }) {
|
|
|
1853
2050
|
);
|
|
1854
2051
|
}
|
|
1855
2052
|
function TableHead({ className, ...props }) {
|
|
1856
|
-
return /* @__PURE__ */
|
|
2053
|
+
return /* @__PURE__ */ jsx40(
|
|
1857
2054
|
"th",
|
|
1858
2055
|
{
|
|
1859
2056
|
"data-slot": "table-head",
|
|
@@ -1866,7 +2063,7 @@ function TableHead({ className, ...props }) {
|
|
|
1866
2063
|
);
|
|
1867
2064
|
}
|
|
1868
2065
|
function TableCell({ className, ...props }) {
|
|
1869
|
-
return /* @__PURE__ */
|
|
2066
|
+
return /* @__PURE__ */ jsx40(
|
|
1870
2067
|
"td",
|
|
1871
2068
|
{
|
|
1872
2069
|
"data-slot": "table-cell",
|
|
@@ -1880,7 +2077,7 @@ function TableCell({ className, ...props }) {
|
|
|
1880
2077
|
}
|
|
1881
2078
|
|
|
1882
2079
|
// src/components/ui/data-table.tsx
|
|
1883
|
-
import { Fragment as Fragment16, jsx as
|
|
2080
|
+
import { Fragment as Fragment16, jsx as jsx41, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
1884
2081
|
function DataTable({
|
|
1885
2082
|
columns,
|
|
1886
2083
|
rowActions,
|
|
@@ -1905,14 +2102,14 @@ function DataTable({
|
|
|
1905
2102
|
onCellClick(rowData, columnId);
|
|
1906
2103
|
}
|
|
1907
2104
|
};
|
|
1908
|
-
return /* @__PURE__ */
|
|
1909
|
-
/* @__PURE__ */
|
|
1910
|
-
return /* @__PURE__ */
|
|
2105
|
+
return /* @__PURE__ */ jsx41("div", { className: "overflow-hidden rounded-md border w-full", children: /* @__PURE__ */ jsxs24(Table, { children: [
|
|
2106
|
+
/* @__PURE__ */ jsx41(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx41(TableRow, { children: headerGroup.headers.map((header) => {
|
|
2107
|
+
return /* @__PURE__ */ jsx41(TableHead, { children: header.isPlaceholder ? null : flexRender(
|
|
1911
2108
|
header.column.columnDef.header,
|
|
1912
2109
|
header.getContext()
|
|
1913
2110
|
) }, header.id);
|
|
1914
2111
|
}) }, headerGroup.id)) }),
|
|
1915
|
-
/* @__PURE__ */
|
|
2112
|
+
/* @__PURE__ */ jsx41(TableBody, { children: loading ? /* @__PURE__ */ jsx41(TableRow, { children: /* @__PURE__ */ jsx41(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "Loading..." }) }) : /* @__PURE__ */ jsx41(Fragment16, { children: table.getRowModel().rows?.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsxs24(
|
|
1916
2113
|
TableRow,
|
|
1917
2114
|
{
|
|
1918
2115
|
"data-state": row.getIsSelected() && "selected",
|
|
@@ -1922,7 +2119,7 @@ function DataTable({
|
|
|
1922
2119
|
const isCellClickable = cellClickEnabled(row.original, cell.column.id);
|
|
1923
2120
|
const dynamicClass = cell.column.columnDef.meta?.cellClass || "";
|
|
1924
2121
|
const dynamicStyle = cell.column.columnDef.meta?.cellStyle || {};
|
|
1925
|
-
return /* @__PURE__ */
|
|
2122
|
+
return /* @__PURE__ */ jsx41(
|
|
1926
2123
|
TableCell,
|
|
1927
2124
|
{
|
|
1928
2125
|
className: `${dynamicClass} ${isCellClickable ? "underline cursor-pointer" : ""}`,
|
|
@@ -1937,18 +2134,18 @@ function DataTable({
|
|
|
1937
2134
|
cell.id
|
|
1938
2135
|
);
|
|
1939
2136
|
}),
|
|
1940
|
-
rowActions.length > 0 && /* @__PURE__ */
|
|
2137
|
+
rowActions.length > 0 && /* @__PURE__ */ jsx41("div", { className: "absolute top-0 right-0 bg-white py-3 min-w-[100px] z-50 shadow-md flex items-center justify-center gap-3 p-2 opacity-0 group-hover:opacity-100 duration-300 h-full", children: rowActions.map((action, index) => /* @__PURE__ */ jsx41("p", { className: "text-[#383838] text-[12px] cursor-pointer font-[400]", children: action.header }, index)) })
|
|
1941
2138
|
]
|
|
1942
2139
|
},
|
|
1943
2140
|
row.id
|
|
1944
|
-
)) : /* @__PURE__ */
|
|
2141
|
+
)) : /* @__PURE__ */ jsx41(TableRow, { children: /* @__PURE__ */ jsx41(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "No results." }) }) }) })
|
|
1945
2142
|
] }) });
|
|
1946
2143
|
}
|
|
1947
2144
|
|
|
1948
2145
|
// src/components/ui/pagination.tsx
|
|
1949
|
-
import { jsx as
|
|
2146
|
+
import { jsx as jsx42, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
1950
2147
|
function Pagination({ className, ...props }) {
|
|
1951
|
-
return /* @__PURE__ */
|
|
2148
|
+
return /* @__PURE__ */ jsx42(
|
|
1952
2149
|
"nav",
|
|
1953
2150
|
{
|
|
1954
2151
|
role: "navigation",
|
|
@@ -1963,7 +2160,7 @@ function PaginationContent({
|
|
|
1963
2160
|
className,
|
|
1964
2161
|
...props
|
|
1965
2162
|
}) {
|
|
1966
|
-
return /* @__PURE__ */
|
|
2163
|
+
return /* @__PURE__ */ jsx42(
|
|
1967
2164
|
"ul",
|
|
1968
2165
|
{
|
|
1969
2166
|
"data-slot": "pagination-content",
|
|
@@ -1973,7 +2170,7 @@ function PaginationContent({
|
|
|
1973
2170
|
);
|
|
1974
2171
|
}
|
|
1975
2172
|
function PaginationItem({ ...props }) {
|
|
1976
|
-
return /* @__PURE__ */
|
|
2173
|
+
return /* @__PURE__ */ jsx42("li", { "data-slot": "pagination-item", ...props });
|
|
1977
2174
|
}
|
|
1978
2175
|
function PaginationLink({
|
|
1979
2176
|
className,
|
|
@@ -1981,7 +2178,7 @@ function PaginationLink({
|
|
|
1981
2178
|
size = "icon",
|
|
1982
2179
|
...props
|
|
1983
2180
|
}) {
|
|
1984
|
-
return /* @__PURE__ */
|
|
2181
|
+
return /* @__PURE__ */ jsx42(
|
|
1985
2182
|
"a",
|
|
1986
2183
|
{
|
|
1987
2184
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -2002,7 +2199,7 @@ function PaginationPrevious({
|
|
|
2002
2199
|
className,
|
|
2003
2200
|
...props
|
|
2004
2201
|
}) {
|
|
2005
|
-
return /* @__PURE__ */
|
|
2202
|
+
return /* @__PURE__ */ jsxs25(
|
|
2006
2203
|
PaginationLink,
|
|
2007
2204
|
{
|
|
2008
2205
|
"aria-label": "Go to previous page",
|
|
@@ -2010,8 +2207,8 @@ function PaginationPrevious({
|
|
|
2010
2207
|
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
2011
2208
|
...props,
|
|
2012
2209
|
children: [
|
|
2013
|
-
/* @__PURE__ */
|
|
2014
|
-
/* @__PURE__ */
|
|
2210
|
+
/* @__PURE__ */ jsx42(ChevronLeft, {}),
|
|
2211
|
+
/* @__PURE__ */ jsx42("span", { className: "hidden sm:block", children: "Previous" })
|
|
2015
2212
|
]
|
|
2016
2213
|
}
|
|
2017
2214
|
);
|
|
@@ -2020,7 +2217,7 @@ function PaginationNext({
|
|
|
2020
2217
|
className,
|
|
2021
2218
|
...props
|
|
2022
2219
|
}) {
|
|
2023
|
-
return /* @__PURE__ */
|
|
2220
|
+
return /* @__PURE__ */ jsxs25(
|
|
2024
2221
|
PaginationLink,
|
|
2025
2222
|
{
|
|
2026
2223
|
"aria-label": "Go to next page",
|
|
@@ -2028,8 +2225,8 @@ function PaginationNext({
|
|
|
2028
2225
|
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
2029
2226
|
...props,
|
|
2030
2227
|
children: [
|
|
2031
|
-
/* @__PURE__ */
|
|
2032
|
-
/* @__PURE__ */
|
|
2228
|
+
/* @__PURE__ */ jsx42("span", { className: "hidden sm:block", children: "Next" }),
|
|
2229
|
+
/* @__PURE__ */ jsx42(ChevronRight, {})
|
|
2033
2230
|
]
|
|
2034
2231
|
}
|
|
2035
2232
|
);
|
|
@@ -2038,7 +2235,7 @@ function PaginationEllipsis({
|
|
|
2038
2235
|
className,
|
|
2039
2236
|
...props
|
|
2040
2237
|
}) {
|
|
2041
|
-
return /* @__PURE__ */
|
|
2238
|
+
return /* @__PURE__ */ jsxs25(
|
|
2042
2239
|
"span",
|
|
2043
2240
|
{
|
|
2044
2241
|
"aria-hidden": true,
|
|
@@ -2046,15 +2243,15 @@ function PaginationEllipsis({
|
|
|
2046
2243
|
className: cn("flex size-9 items-center justify-center", className),
|
|
2047
2244
|
...props,
|
|
2048
2245
|
children: [
|
|
2049
|
-
/* @__PURE__ */
|
|
2050
|
-
/* @__PURE__ */
|
|
2246
|
+
/* @__PURE__ */ jsx42(Ellipsis, { className: "size-4" }),
|
|
2247
|
+
/* @__PURE__ */ jsx42("span", { className: "sr-only", children: "More pages" })
|
|
2051
2248
|
]
|
|
2052
2249
|
}
|
|
2053
2250
|
);
|
|
2054
2251
|
}
|
|
2055
2252
|
|
|
2056
2253
|
// src/components/DataDisplay/Pagination/Pagination.tsx
|
|
2057
|
-
import { jsx as
|
|
2254
|
+
import { jsx as jsx43, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
2058
2255
|
var CustomPagination = ({
|
|
2059
2256
|
totalPages,
|
|
2060
2257
|
currentPage,
|
|
@@ -2096,15 +2293,15 @@ var CustomPagination = ({
|
|
|
2096
2293
|
}
|
|
2097
2294
|
};
|
|
2098
2295
|
const pageNumbers = getPageNumbers();
|
|
2099
|
-
return /* @__PURE__ */
|
|
2100
|
-
/* @__PURE__ */
|
|
2296
|
+
return /* @__PURE__ */ jsx43(Pagination, { children: /* @__PURE__ */ jsxs26(PaginationContent, { children: [
|
|
2297
|
+
/* @__PURE__ */ jsx43(PaginationItem, { children: /* @__PURE__ */ jsx43(
|
|
2101
2298
|
PaginationPrevious,
|
|
2102
2299
|
{
|
|
2103
2300
|
onClick: () => handlePageChange(currentPage - 1),
|
|
2104
2301
|
className: currentPage === 1 ? "pointer-events-none opacity-50" : "cursor-pointer"
|
|
2105
2302
|
}
|
|
2106
2303
|
) }),
|
|
2107
|
-
pageNumbers.map((pageNumber, index) => /* @__PURE__ */
|
|
2304
|
+
pageNumbers.map((pageNumber, index) => /* @__PURE__ */ jsx43(PaginationItem, { children: pageNumber === "..." ? /* @__PURE__ */ jsx43(PaginationEllipsis, {}) : /* @__PURE__ */ jsx43(
|
|
2108
2305
|
PaginationLink,
|
|
2109
2306
|
{
|
|
2110
2307
|
onClick: () => handlePageChange(pageNumber),
|
|
@@ -2113,7 +2310,7 @@ var CustomPagination = ({
|
|
|
2113
2310
|
children: pageNumber
|
|
2114
2311
|
}
|
|
2115
2312
|
) }, index)),
|
|
2116
|
-
/* @__PURE__ */
|
|
2313
|
+
/* @__PURE__ */ jsx43(PaginationItem, { children: /* @__PURE__ */ jsx43(
|
|
2117
2314
|
PaginationNext,
|
|
2118
2315
|
{
|
|
2119
2316
|
onClick: () => handlePageChange(currentPage + 1),
|
|
@@ -2126,7 +2323,7 @@ var Pagination_default = CustomPagination;
|
|
|
2126
2323
|
|
|
2127
2324
|
// src/components/DataDisplay/Table/Table.tsx
|
|
2128
2325
|
import { useState as useState18 } from "react";
|
|
2129
|
-
import { jsx as
|
|
2326
|
+
import { jsx as jsx44, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
2130
2327
|
var Table2 = ({
|
|
2131
2328
|
columns,
|
|
2132
2329
|
data,
|
|
@@ -2149,8 +2346,8 @@ var Table2 = ({
|
|
|
2149
2346
|
onPageChange?.(page);
|
|
2150
2347
|
};
|
|
2151
2348
|
const paginatedData = enablePagination ? rawData.slice((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage) : rawData;
|
|
2152
|
-
return /* @__PURE__ */
|
|
2153
|
-
/* @__PURE__ */
|
|
2349
|
+
return /* @__PURE__ */ jsxs27("div", { className: `${className} space-y-3`, style, children: [
|
|
2350
|
+
/* @__PURE__ */ jsx44(
|
|
2154
2351
|
DataTable,
|
|
2155
2352
|
{
|
|
2156
2353
|
...props,
|
|
@@ -2160,7 +2357,7 @@ var Table2 = ({
|
|
|
2160
2357
|
loading
|
|
2161
2358
|
}
|
|
2162
2359
|
),
|
|
2163
|
-
enablePagination && /* @__PURE__ */
|
|
2360
|
+
enablePagination && /* @__PURE__ */ jsx44(
|
|
2164
2361
|
Pagination_default,
|
|
2165
2362
|
{
|
|
2166
2363
|
totalPages: Math.ceil(rawData.length / itemsPerPage),
|
|
@@ -2172,137 +2369,37 @@ var Table2 = ({
|
|
|
2172
2369
|
};
|
|
2173
2370
|
var Table_default = Table2;
|
|
2174
2371
|
|
|
2175
|
-
// src/components/ui/dropdown-menu.tsx
|
|
2176
|
-
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
2177
|
-
import { jsx as jsx42, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
2178
|
-
function DropdownMenu({
|
|
2179
|
-
...props
|
|
2180
|
-
}) {
|
|
2181
|
-
return /* @__PURE__ */ jsx42(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
2182
|
-
}
|
|
2183
|
-
function DropdownMenuTrigger({
|
|
2184
|
-
...props
|
|
2185
|
-
}) {
|
|
2186
|
-
return /* @__PURE__ */ jsx42(
|
|
2187
|
-
DropdownMenuPrimitive.Trigger,
|
|
2188
|
-
{
|
|
2189
|
-
"data-slot": "dropdown-menu-trigger",
|
|
2190
|
-
...props
|
|
2191
|
-
}
|
|
2192
|
-
);
|
|
2193
|
-
}
|
|
2194
|
-
function DropdownMenuContent({
|
|
2195
|
-
className,
|
|
2196
|
-
sideOffset = 4,
|
|
2197
|
-
...props
|
|
2198
|
-
}) {
|
|
2199
|
-
return /* @__PURE__ */ jsx42(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx42(
|
|
2200
|
-
DropdownMenuPrimitive.Content,
|
|
2201
|
-
{
|
|
2202
|
-
"data-slot": "dropdown-menu-content",
|
|
2203
|
-
sideOffset,
|
|
2204
|
-
className: cn(
|
|
2205
|
-
"bg-popover text-popover-foreground 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 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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
|
|
2206
|
-
className
|
|
2207
|
-
),
|
|
2208
|
-
...props
|
|
2209
|
-
}
|
|
2210
|
-
) });
|
|
2211
|
-
}
|
|
2212
|
-
function DropdownMenuItem({
|
|
2213
|
-
className,
|
|
2214
|
-
inset,
|
|
2215
|
-
variant = "default",
|
|
2216
|
-
...props
|
|
2217
|
-
}) {
|
|
2218
|
-
return /* @__PURE__ */ jsx42(
|
|
2219
|
-
DropdownMenuPrimitive.Item,
|
|
2220
|
-
{
|
|
2221
|
-
"data-slot": "dropdown-menu-item",
|
|
2222
|
-
"data-inset": inset,
|
|
2223
|
-
"data-variant": variant,
|
|
2224
|
-
className: cn(
|
|
2225
|
-
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
2226
|
-
className
|
|
2227
|
-
),
|
|
2228
|
-
...props
|
|
2229
|
-
}
|
|
2230
|
-
);
|
|
2231
|
-
}
|
|
2232
|
-
function DropdownMenuLabel({
|
|
2233
|
-
className,
|
|
2234
|
-
inset,
|
|
2235
|
-
...props
|
|
2236
|
-
}) {
|
|
2237
|
-
return /* @__PURE__ */ jsx42(
|
|
2238
|
-
DropdownMenuPrimitive.Label,
|
|
2239
|
-
{
|
|
2240
|
-
"data-slot": "dropdown-menu-label",
|
|
2241
|
-
"data-inset": inset,
|
|
2242
|
-
className: cn(
|
|
2243
|
-
"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
|
|
2244
|
-
className
|
|
2245
|
-
),
|
|
2246
|
-
...props
|
|
2247
|
-
}
|
|
2248
|
-
);
|
|
2249
|
-
}
|
|
2250
|
-
function DropdownMenuSeparator({
|
|
2251
|
-
className,
|
|
2252
|
-
...props
|
|
2253
|
-
}) {
|
|
2254
|
-
return /* @__PURE__ */ jsx42(
|
|
2255
|
-
DropdownMenuPrimitive.Separator,
|
|
2256
|
-
{
|
|
2257
|
-
"data-slot": "dropdown-menu-separator",
|
|
2258
|
-
className: cn("bg-border -mx-1 my-1 h-px", className),
|
|
2259
|
-
...props
|
|
2260
|
-
}
|
|
2261
|
-
);
|
|
2262
|
-
}
|
|
2263
|
-
|
|
2264
2372
|
// src/components/Navigation/Tabs/Tabs.tsx
|
|
2265
|
-
import { jsx as
|
|
2266
|
-
var Tabs = ({ tabs,
|
|
2373
|
+
import { jsx as jsx45, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
2374
|
+
var Tabs = ({ className, style, tabs, verticalMenu, LinkComponent, pathname, canvasMode }) => {
|
|
2267
2375
|
const rawTabs = Array.isArray(tabs) ? tabs : [];
|
|
2268
|
-
const baseClasses = "text-[12px] text-
|
|
2376
|
+
const baseClasses = "text-[12px] text-foreground p-2 text-center rounded-md transition-colors";
|
|
2269
2377
|
const activeClasses = "bg-white/10 text-white";
|
|
2270
2378
|
const hoverClasses = "hover:bg-white/5";
|
|
2271
2379
|
const isActive = (path) => {
|
|
2272
2380
|
if (!path) return false;
|
|
2273
2381
|
return pathname === path || path !== "/" && pathname?.startsWith(path);
|
|
2274
2382
|
};
|
|
2275
|
-
|
|
2276
|
-
const finalClasses = [
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
/* @__PURE__ */ jsxs26(
|
|
2285
|
-
DropdownMenuTrigger,
|
|
2286
|
-
{
|
|
2287
|
-
className: `${finalClasses} inline-flex items-center gap-1`,
|
|
2288
|
-
children: [
|
|
2289
|
-
tab.header,
|
|
2290
|
-
/* @__PURE__ */ jsx43(ChevronDown, { className: "h-4 w-4 opacity-80" })
|
|
2291
|
-
]
|
|
2292
|
-
}
|
|
2293
|
-
),
|
|
2294
|
-
/* @__PURE__ */ jsx43(
|
|
2383
|
+
const renderDesktopTab = (tab, index) => {
|
|
2384
|
+
const finalClasses = [baseClasses, isActive(tab.url) ? activeClasses : hoverClasses, tab.className || ""].join(" ");
|
|
2385
|
+
if (Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown) {
|
|
2386
|
+
return /* @__PURE__ */ jsxs28(DropdownMenu, { children: [
|
|
2387
|
+
/* @__PURE__ */ jsxs28(DropdownMenuTrigger, { className: `${finalClasses} inline-flex items-center gap-1`, children: [
|
|
2388
|
+
tab.header,
|
|
2389
|
+
/* @__PURE__ */ jsx45(ChevronDown, { className: "h-4 w-4 opacity-80" })
|
|
2390
|
+
] }),
|
|
2391
|
+
/* @__PURE__ */ jsx45(
|
|
2295
2392
|
DropdownMenuContent,
|
|
2296
2393
|
{
|
|
2297
2394
|
align: "start",
|
|
2298
2395
|
sideOffset: 6,
|
|
2299
2396
|
className: "z-50 min-w-[160px] rounded-md border border-gray-200 bg-white p-1 shadow-lg",
|
|
2300
|
-
children: tab.children.map((item) => /* @__PURE__ */
|
|
2397
|
+
children: tab.children.map((item) => /* @__PURE__ */ jsx45(
|
|
2301
2398
|
DropdownMenuItem,
|
|
2302
2399
|
{
|
|
2303
2400
|
asChild: true,
|
|
2304
2401
|
className: "cursor-pointer rounded-sm px-3 py-2 text-[12px] text-gray-800 hover:bg-gray-100 focus:bg-gray-100",
|
|
2305
|
-
children: LinkComponent ? /* @__PURE__ */
|
|
2402
|
+
children: LinkComponent ? /* @__PURE__ */ jsx45(LinkComponent, { href: item.url || "#", children: item.header }) : item.header
|
|
2306
2403
|
},
|
|
2307
2404
|
item.id
|
|
2308
2405
|
))
|
|
@@ -2310,19 +2407,66 @@ var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
|
|
|
2310
2407
|
)
|
|
2311
2408
|
] }, index);
|
|
2312
2409
|
}
|
|
2313
|
-
return tab.url && LinkComponent ? /* @__PURE__ */
|
|
2314
|
-
}
|
|
2410
|
+
return tab.url && LinkComponent ? /* @__PURE__ */ jsx45(LinkComponent, { href: tab.url, className: finalClasses, style: tab.style, children: tab.header }, index) : /* @__PURE__ */ jsx45("div", { className: finalClasses, style: tab.style, role: "button", tabIndex: 0, children: tab.header }, index);
|
|
2411
|
+
};
|
|
2412
|
+
const renderMobileMenu = () => /* @__PURE__ */ jsxs28(DropdownMenu, { children: [
|
|
2413
|
+
/* @__PURE__ */ jsxs28(DropdownMenuTrigger, { className: "flex items-center gap-2 px-3 py-2 rounded-md bg-white/10 text-white text-sm", children: [
|
|
2414
|
+
/* @__PURE__ */ jsx45(Menu, { className: "h-4 w-4" }),
|
|
2415
|
+
"Menu"
|
|
2416
|
+
] }),
|
|
2417
|
+
/* @__PURE__ */ jsx45(
|
|
2418
|
+
DropdownMenuContent,
|
|
2419
|
+
{
|
|
2420
|
+
align: "start",
|
|
2421
|
+
sideOffset: 6,
|
|
2422
|
+
className: "z-50 w-56 rounded-md border border-gray-200 bg-white p-1 shadow-lg",
|
|
2423
|
+
children: rawTabs.map((tab, i) => {
|
|
2424
|
+
const hasChildren = Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown;
|
|
2425
|
+
if (hasChildren) {
|
|
2426
|
+
return /* @__PURE__ */ jsxs28(DropdownMenuSub, { children: [
|
|
2427
|
+
/* @__PURE__ */ jsx45(DropdownMenuSubTrigger, { className: "flex items-center justify-between cursor-pointer rounded-sm px-3 py-2 text-[13px] text-foreground hover:text-foreground", children: tab.header }),
|
|
2428
|
+
/* @__PURE__ */ jsx45(DropdownMenuSubContent, { className: "bg-white border shadow-lg rounded-md p-1", children: tab.children.map((item) => /* @__PURE__ */ jsx45(
|
|
2429
|
+
DropdownMenuItem,
|
|
2430
|
+
{
|
|
2431
|
+
asChild: true,
|
|
2432
|
+
className: "cursor-pointer rounded-sm px-3 py-2 text-[12px] text-gray-800 hover:bg-gray-100",
|
|
2433
|
+
children: LinkComponent && item.url ? /* @__PURE__ */ jsx45(LinkComponent, { href: item.url || "#", children: item.header }) : item.header
|
|
2434
|
+
},
|
|
2435
|
+
item.id
|
|
2436
|
+
)) })
|
|
2437
|
+
] }, i);
|
|
2438
|
+
}
|
|
2439
|
+
return /* @__PURE__ */ jsx45(
|
|
2440
|
+
DropdownMenuItem,
|
|
2441
|
+
{
|
|
2442
|
+
asChild: true,
|
|
2443
|
+
className: "cursor-pointer rounded-sm px-3 py-2 text-[13px] text-gray-800 hover:bg-gray-100",
|
|
2444
|
+
children: LinkComponent && tab.url ? /* @__PURE__ */ jsx45(LinkComponent, { href: tab.url || "#", children: tab.header }) : tab.header
|
|
2445
|
+
},
|
|
2446
|
+
i
|
|
2447
|
+
);
|
|
2448
|
+
})
|
|
2449
|
+
}
|
|
2450
|
+
)
|
|
2451
|
+
] });
|
|
2452
|
+
const forceMobile = canvasMode === "mobile" || canvasMode === "tablet";
|
|
2453
|
+
const forceDesktop = canvasMode === "desktop";
|
|
2454
|
+
return /* @__PURE__ */ jsxs28("div", { className, style, children: [
|
|
2455
|
+
forceDesktop && /* @__PURE__ */ jsx45("div", { className: "hidden md:flex", children: /* @__PURE__ */ jsx45("div", { className: `flex gap-2 ${verticalMenu ? "flex-col items-start" : "flex-row"}`, children: rawTabs.map(renderDesktopTab) }) }),
|
|
2456
|
+
forceMobile && /* @__PURE__ */ jsx45("div", { children: renderMobileMenu() }),
|
|
2457
|
+
/* @__PURE__ */ jsx45("div", { className: "md:hidden", children: renderMobileMenu() })
|
|
2458
|
+
] });
|
|
2315
2459
|
};
|
|
2316
2460
|
var Tabs_default = Tabs;
|
|
2317
2461
|
|
|
2318
2462
|
// src/components/Navigation/Stages/Stages.tsx
|
|
2319
2463
|
import React15 from "react";
|
|
2320
|
-
import { jsx as
|
|
2464
|
+
import { jsx as jsx46, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
2321
2465
|
var StagesComponent = ({ stages, isShowBtn, buttonText, className, style }) => {
|
|
2322
|
-
return /* @__PURE__ */
|
|
2323
|
-
/* @__PURE__ */
|
|
2324
|
-
/* @__PURE__ */
|
|
2325
|
-
/* @__PURE__ */
|
|
2466
|
+
return /* @__PURE__ */ jsx46("div", { className, style, children: /* @__PURE__ */ jsxs29("div", { className: "flex items-center justify-between bg-gray-50 p-2 rounded-lg border border-gray-200 w-full", children: [
|
|
2467
|
+
/* @__PURE__ */ jsx46("div", { className: "flex items-center", children: /* @__PURE__ */ jsx46("button", { className: "p-2 hover:bg-gray-100 rounded", children: /* @__PURE__ */ jsx46("svg", { className: "w-4 h-4 text-gray-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx46("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) }) }) }),
|
|
2468
|
+
/* @__PURE__ */ jsx46("div", { className: "flex items-center flex-1 px-2", children: stages?.length > 0 && stages?.map((stage, index) => /* @__PURE__ */ jsxs29(React15.Fragment, { children: [
|
|
2469
|
+
/* @__PURE__ */ jsx46(
|
|
2326
2470
|
"button",
|
|
2327
2471
|
{
|
|
2328
2472
|
className: `
|
|
@@ -2330,89 +2474,34 @@ var StagesComponent = ({ stages, isShowBtn, buttonText, className, style }) => {
|
|
|
2330
2474
|
children: stage.header
|
|
2331
2475
|
}
|
|
2332
2476
|
),
|
|
2333
|
-
index < stages.length - 1 && /* @__PURE__ */
|
|
2477
|
+
index < stages.length - 1 && /* @__PURE__ */ jsx46("div", { className: "flex-shrink-0 w-3 h-px bg-gray-300" })
|
|
2334
2478
|
] }, stage.id)) }),
|
|
2335
|
-
isShowBtn && /* @__PURE__ */
|
|
2479
|
+
isShowBtn && /* @__PURE__ */ jsx46("div", { className: "flex items-center", children: /* @__PURE__ */ jsx46("button", { className: "bg-[#034486] text-white px-6 py-2 rounded-lg text-sm font-medium transition-colors duration-200 shadow-sm", children: buttonText }) })
|
|
2336
2480
|
] }) });
|
|
2337
2481
|
};
|
|
2338
2482
|
var Stages_default = StagesComponent;
|
|
2339
2483
|
|
|
2340
2484
|
// src/components/Navigation/Spacer/Spacer.tsx
|
|
2341
|
-
import { jsx as
|
|
2485
|
+
import { jsx as jsx47 } from "react/jsx-runtime";
|
|
2342
2486
|
var Spacer = ({ className, style }) => {
|
|
2343
|
-
return /* @__PURE__ */
|
|
2487
|
+
return /* @__PURE__ */ jsx47("div", { className: `${className}`, style });
|
|
2344
2488
|
};
|
|
2345
2489
|
var Spacer_default = Spacer;
|
|
2346
2490
|
|
|
2347
2491
|
// src/components/Navigation/Profile/Profile.tsx
|
|
2348
|
-
import { jsx as
|
|
2349
|
-
var Profile = ({ profileType, showName, userName, className, style }) => {
|
|
2350
|
-
return /* @__PURE__ */ jsx46("div", { className, style, children: /* @__PURE__ */ jsxs28("div", { className: "flex gap-2 items-center justify-between w-30 cursor-pointer", children: [
|
|
2351
|
-
showName && /* @__PURE__ */ jsx46("h4", { className: "text-[#000000] dark:text-[#fff] text-[13px] font-[500] mb-0", children: userName }),
|
|
2352
|
-
profileType === "avatar" ? /* @__PURE__ */ jsx46(
|
|
2353
|
-
"img",
|
|
2354
|
-
{
|
|
2355
|
-
src: "https://builder.development.algorithmshift.ai/images/toolset/profile.svg",
|
|
2356
|
-
alt: "auto",
|
|
2357
|
-
width: 24,
|
|
2358
|
-
height: 24
|
|
2359
|
-
}
|
|
2360
|
-
) : /* @__PURE__ */ jsx46("div", { className: "w-6 h-6 bg-[#12715b] rounded-full text-[#fff] text-center text-[11px] flex items-center justify-center", children: "A" })
|
|
2361
|
-
] }) });
|
|
2362
|
-
};
|
|
2363
|
-
var Profile_default = Profile;
|
|
2492
|
+
import { jsx as jsx48, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
2364
2493
|
|
|
2365
2494
|
// src/components/Navigation/Notification/Notification.tsx
|
|
2366
|
-
import { jsx as
|
|
2367
|
-
var Notification = ({ className, style, badgeType, badgeCount = 0, hideBadgeWhenZero }) => {
|
|
2368
|
-
return /* @__PURE__ */ jsx47("div", { className, style, children: /* @__PURE__ */ jsxs29("div", { className: "w-[34px] h-[34px] bg-[#E9E9E9] rounded-md text-center flex items-center justify-center relative", children: [
|
|
2369
|
-
/* @__PURE__ */ jsx47(
|
|
2370
|
-
"img",
|
|
2371
|
-
{
|
|
2372
|
-
src: "https://builder.development.algorithmshift.ai/images/toolset/notification.svg",
|
|
2373
|
-
alt: "auto",
|
|
2374
|
-
width: 18,
|
|
2375
|
-
height: 18
|
|
2376
|
-
}
|
|
2377
|
-
),
|
|
2378
|
-
badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? /* @__PURE__ */ jsx47("span", { className: "text-[10px] text-[#fff] bg-[#FF4A4A] w-[20px] h-[20px] rounded-full absolute top-0 right-0 transform translate-x-1/2 -translate-y-1/2 leading-[20px]", children: badgeCount }) : /* @__PURE__ */ jsx47("span", { className: "bg-[#FF4A4A] w-[10px] h-[10px] rounded-full absolute top-0 right-0 transform translate-x-1/2 -translate-y-1/2 leading-[20px]" })
|
|
2379
|
-
] }) });
|
|
2380
|
-
};
|
|
2381
|
-
var Notification_default = Notification;
|
|
2382
|
-
|
|
2383
|
-
// src/assets/logo_placeholder.png
|
|
2384
|
-
var logo_placeholder_default = "data:image/png;base64,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dBvJqqioiFtuuSUmT55c6FaOq7q6Ou6666546KGHYs+ePYVu55jKy8vj+9///pe3ki408wpw1OCInIHT3syZM+P2229P4gD0qy644IK47bbbBuRD7JIlSwZNuPGF0tLSuPHGGwfdt4FfZW1BbkaMGBH33HPPoD4I/sLIkSPjRz/60aDbtPML119/fYwcObLQbUSEeQX4KgEHkHdz5syJG2+8MW93Acm3adOmxR133JHX/hcuXBgzZ87MW/3+KC8vj+uvv77QbRyTtQW5qaqqinvvvXdQh5XfNGrUqPje9743YHdAytWkSZPivPPOK3QbEWFeAb5JwAHk1bnnnhvf+c53kv8g09jYGDfffHNeXkdjY2NcdtllmdfN0mDc08LagtxUVFTEnXfeOWjOOOiLxsbGuOKKKwrdxpdKSkriuuuuK3QbEWFeAY5FwAHkTV1dXSxevHjQbMDWX9/61rfiqquuyrRmZWVlLFmyxMFtH1lbkJvi4uK49dZbo6amptCtnLJvf/vbUVdXV+g2IuLo2Qdjx44tdBvmFeA4To9PhsCgU15eHt/73veirKys0K1kav78+XHuuedmVu/qq6+OqqqqzOqdCawtyN1VV10VkyZNKnQb/VJcXBzf/e53BcFfYV4Bjs3OZkBeXHvttVFdXV3oNvLihhtuiM8++yza29v7VaehoWHQXMedEmsLcjNp0qS46KKLMq3Z29sbGzZsiE8//TS2bdsWu3btis7OzoiIGD58eIwfPz6amppi2rRpmYaQdXV1MWfOnHj33Xczq5kq8wpwfAIOIHONjY0xe/bsQreRN5WVlXHdddfFk08+2a8611xzjW+u+sjagtyUlJRk/u346tWr49VXX43W1tZj/ry9vT0+//zzWLFiRVRWVsaCBQti3rx5mV1K9k//9E/x3nvvndG3VjavACfmEhUgU0VFRXHDDTcUuo28a25ujqamplN+fmNjYzQ0NGTY0enP2oLcXXrppZntz7B///546KGH4sknnzzuQfA3tbe3x/PPPx+//e1v4/Dhw5n0MWrUqJg1a1YmtVJlXgFOzBkcQKbmzJmT103PDh06FOvXr4/NmzfHjh07Ys+ePdHR0RERR6/nraqqipqammhoaIjJkyfHmDFj8tbL5ZdfHp9++ukpPXcg7pqyd+/eWLduXWzYsCF27twZbW1tERFRVlYWtbW1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";
|
|
2495
|
+
import { jsx as jsx49, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
2385
2496
|
|
|
2386
2497
|
// src/components/Navigation/Logo/Logo.tsx
|
|
2387
|
-
import { jsx as
|
|
2388
|
-
var Logo = ({
|
|
2389
|
-
className,
|
|
2390
|
-
style,
|
|
2391
|
-
imageUrl,
|
|
2392
|
-
altText = "Preview"
|
|
2393
|
-
}) => {
|
|
2394
|
-
if (!imageUrl) {
|
|
2395
|
-
return /* @__PURE__ */ jsx48(
|
|
2396
|
-
"div",
|
|
2397
|
-
{
|
|
2398
|
-
className: cn(
|
|
2399
|
-
className,
|
|
2400
|
-
"p-0"
|
|
2401
|
-
),
|
|
2402
|
-
style,
|
|
2403
|
-
children: /* @__PURE__ */ jsx48("img", { src: logo_placeholder_default, alt: altText, className: "opacity-50", width: 150, height: 80 })
|
|
2404
|
-
}
|
|
2405
|
-
);
|
|
2406
|
-
}
|
|
2407
|
-
return /* @__PURE__ */ jsx48("img", { src: imageUrl, alt: altText, className, style });
|
|
2408
|
-
};
|
|
2409
|
-
var Logo_default = Logo;
|
|
2498
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
2410
2499
|
|
|
2411
2500
|
// src/components/ui/avatar.tsx
|
|
2412
2501
|
import * as React16 from "react";
|
|
2413
2502
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
2414
|
-
import { jsx as
|
|
2415
|
-
var Avatar = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
2503
|
+
import { jsx as jsx51 } from "react/jsx-runtime";
|
|
2504
|
+
var Avatar = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx51(
|
|
2416
2505
|
AvatarPrimitive.Root,
|
|
2417
2506
|
{
|
|
2418
2507
|
ref,
|
|
@@ -2424,7 +2513,7 @@ var Avatar = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
2424
2513
|
}
|
|
2425
2514
|
));
|
|
2426
2515
|
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
2427
|
-
var AvatarImage = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
2516
|
+
var AvatarImage = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx51(
|
|
2428
2517
|
AvatarPrimitive.Image,
|
|
2429
2518
|
{
|
|
2430
2519
|
ref,
|
|
@@ -2433,7 +2522,7 @@ var AvatarImage = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2433
2522
|
}
|
|
2434
2523
|
));
|
|
2435
2524
|
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
2436
|
-
var AvatarFallback = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
2525
|
+
var AvatarFallback = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx51(
|
|
2437
2526
|
AvatarPrimitive.Fallback,
|
|
2438
2527
|
{
|
|
2439
2528
|
ref,
|
|
@@ -2447,7 +2536,7 @@ var AvatarFallback = React16.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
2447
2536
|
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
2448
2537
|
|
|
2449
2538
|
// src/components/Navigation/Navbar/Navbar.tsx
|
|
2450
|
-
import { Fragment as Fragment17, jsx as
|
|
2539
|
+
import { Fragment as Fragment17, jsx as jsx52, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
2451
2540
|
function Navbar({
|
|
2452
2541
|
style,
|
|
2453
2542
|
badgeType,
|
|
@@ -2459,64 +2548,82 @@ function Navbar({
|
|
|
2459
2548
|
altText = "Logo",
|
|
2460
2549
|
canvasMode = "desktop",
|
|
2461
2550
|
LinkComponent,
|
|
2462
|
-
ImageComponent
|
|
2551
|
+
ImageComponent,
|
|
2552
|
+
list = [],
|
|
2553
|
+
userName = "Guest User"
|
|
2463
2554
|
}) {
|
|
2464
2555
|
const isMobileView = canvasMode === "mobile" || canvasMode === "tablet";
|
|
2465
|
-
return /* @__PURE__ */
|
|
2466
|
-
LinkComponent && ImageComponent ? /* @__PURE__ */
|
|
2467
|
-
/* @__PURE__ */
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2556
|
+
return /* @__PURE__ */ jsx52("nav", { className: "w-full border-b bg-white shadow-sm", style, children: /* @__PURE__ */ jsxs32("div", { className: "mx-auto flex max-w-7xl items-center justify-between px-4 py-2", children: [
|
|
2557
|
+
LinkComponent && ImageComponent ? /* @__PURE__ */ jsx52(LinkComponent, { href: "/", className: "flex items-center space-x-2", children: imageUrl ? /* @__PURE__ */ jsx52(ImageComponent, { src: imageUrl, alt: altText, width: 200, height: 200 }) : /* @__PURE__ */ jsx52("span", { className: "font-semibold text-blue-700", children: "Logo" }) }) : /* @__PURE__ */ jsx52("span", { className: "font-semibold text-blue-700", children: "Logo" }),
|
|
2558
|
+
!isMobileView && LinkComponent && /* @__PURE__ */ jsx52("div", { className: "flex items-center space-x-6 sm:hidden md:flex", children: list.map((item) => /* @__PURE__ */ jsx52(
|
|
2559
|
+
LinkComponent,
|
|
2560
|
+
{
|
|
2561
|
+
href: item.url || "#",
|
|
2562
|
+
className: "text-sm font-medium text-gray-600 hover:text-gray-900 transition-colors",
|
|
2563
|
+
children: item.header
|
|
2564
|
+
},
|
|
2565
|
+
item.id
|
|
2566
|
+
)) }),
|
|
2567
|
+
/* @__PURE__ */ jsxs32("div", { className: "flex items-center space-x-3", children: [
|
|
2568
|
+
!isMobileView ? /* @__PURE__ */ jsx52("div", { className: "flex-1 px-6", children: /* @__PURE__ */ jsxs32("div", { className: "relative w-full max-w-md border border-gray-300 rounded-md", children: [
|
|
2569
|
+
/* @__PURE__ */ jsx52(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }),
|
|
2570
|
+
/* @__PURE__ */ jsx52(Input, { placeholder: "Search", className: "pl-9 text-gray-400" })
|
|
2571
|
+
] }) }) : /* @__PURE__ */ jsx52(
|
|
2472
2572
|
Button,
|
|
2473
2573
|
{
|
|
2474
2574
|
variant: "ghost",
|
|
2475
2575
|
size: "icon",
|
|
2476
2576
|
className: "border border-gray-400",
|
|
2477
|
-
children: /* @__PURE__ */
|
|
2577
|
+
children: /* @__PURE__ */ jsx52(Search, { className: "h-5 w-5 text-gray-400" })
|
|
2478
2578
|
}
|
|
2479
2579
|
),
|
|
2480
|
-
/* @__PURE__ */
|
|
2481
|
-
/* @__PURE__ */
|
|
2482
|
-
badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? /* @__PURE__ */
|
|
2580
|
+
/* @__PURE__ */ jsxs32("div", { className: "relative bg-[#E9E9E9] rounded-md", children: [
|
|
2581
|
+
/* @__PURE__ */ jsx52(Button, { variant: "ghost", size: "icon", children: /* @__PURE__ */ jsx52(Bell, { className: "h-5 w-5 text-[#1C1B1F]" }) }),
|
|
2582
|
+
badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? /* @__PURE__ */ jsx52("span", { className: "absolute -top-1 -right-1 flex h-4 w-4 items-center justify-center rounded-full bg-red-500 text-[10px] text-white leading-8", children: badgeCount }) : /* @__PURE__ */ jsx52("span", { className: "absolute -top-1 -right-1 flex h-2 w-2 items-center justify-center rounded-full bg-red-500" })
|
|
2483
2583
|
] }),
|
|
2484
|
-
/* @__PURE__ */
|
|
2485
|
-
/* @__PURE__ */
|
|
2486
|
-
!isMobileView && showName && /* @__PURE__ */
|
|
2487
|
-
!isMobileView ? /* @__PURE__ */
|
|
2488
|
-
/* @__PURE__ */
|
|
2584
|
+
/* @__PURE__ */ jsxs32(DropdownMenu, { children: [
|
|
2585
|
+
/* @__PURE__ */ jsx52(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs32("div", { className: "flex items-center space-x-2", children: [
|
|
2586
|
+
!isMobileView && showName && /* @__PURE__ */ jsx52("h4", { className: "text-[#000000] text-[13px] font-[500] mb-0", children: userName }),
|
|
2587
|
+
!isMobileView ? /* @__PURE__ */ jsxs32(Fragment17, { children: [
|
|
2588
|
+
/* @__PURE__ */ jsx52(Avatar, { className: "cursor-pointer h-8 w-8 text-gray-900", children: profileType === "avatar" ? /* @__PURE__ */ jsx52(
|
|
2489
2589
|
AvatarImage,
|
|
2490
2590
|
{
|
|
2491
2591
|
src: "/images/appbuilder/toolset/profile.svg",
|
|
2492
|
-
alt: "
|
|
2592
|
+
alt: "Profile"
|
|
2493
2593
|
}
|
|
2494
|
-
) : /* @__PURE__ */
|
|
2495
|
-
/* @__PURE__ */
|
|
2594
|
+
) : /* @__PURE__ */ jsx52("div", { className: "w-8 h-8 bg-[#12715b] rounded-full text-[#fff] text-center text-[11px] flex items-center justify-center", children: userName && getInitials(userName) }) }),
|
|
2595
|
+
/* @__PURE__ */ jsx52(
|
|
2496
2596
|
Button,
|
|
2497
2597
|
{
|
|
2498
2598
|
variant: "ghost",
|
|
2499
2599
|
size: "icon",
|
|
2500
2600
|
className: "text-gray-900 md:hidden",
|
|
2501
|
-
children: /* @__PURE__ */
|
|
2601
|
+
children: /* @__PURE__ */ jsx52(Menu, { className: "h-6 w-6" })
|
|
2502
2602
|
}
|
|
2503
2603
|
)
|
|
2504
|
-
] }) : /* @__PURE__ */
|
|
2604
|
+
] }) : /* @__PURE__ */ jsx52(
|
|
2505
2605
|
Button,
|
|
2506
2606
|
{
|
|
2507
2607
|
variant: "ghost",
|
|
2508
2608
|
size: "icon",
|
|
2509
2609
|
className: "text-gray-900",
|
|
2510
|
-
children: /* @__PURE__ */
|
|
2610
|
+
children: /* @__PURE__ */ jsx52(Menu, { className: "h-6 w-6" })
|
|
2511
2611
|
}
|
|
2512
2612
|
)
|
|
2513
2613
|
] }) }),
|
|
2514
|
-
/* @__PURE__ */
|
|
2515
|
-
/* @__PURE__ */
|
|
2516
|
-
/* @__PURE__ */
|
|
2517
|
-
/* @__PURE__ */
|
|
2518
|
-
|
|
2519
|
-
|
|
2614
|
+
/* @__PURE__ */ jsxs32(DropdownMenuContent, { align: "end", className: "bg-white", children: [
|
|
2615
|
+
/* @__PURE__ */ jsx52(DropdownMenuLabel, { className: "text-black", children: "My Account" }),
|
|
2616
|
+
/* @__PURE__ */ jsx52(DropdownMenuSeparator, {}),
|
|
2617
|
+
LinkComponent && /* @__PURE__ */ jsxs32(Fragment17, { children: [
|
|
2618
|
+
/* @__PURE__ */ jsx52(DropdownMenuItem, { className: "text-black", children: /* @__PURE__ */ jsx52(LinkComponent, { href: "/profile", children: "Profile" }) }),
|
|
2619
|
+
/* @__PURE__ */ jsx52(DropdownMenuItem, { className: "text-black", children: /* @__PURE__ */ jsx52(LinkComponent, { href: "/settings", children: "Settings" }) }),
|
|
2620
|
+
/* @__PURE__ */ jsx52(DropdownMenuItem, { className: "text-black", children: /* @__PURE__ */ jsx52(LinkComponent, { href: "/logout", children: "Logout" }) }),
|
|
2621
|
+
list && list.length > 0 && /* @__PURE__ */ jsxs32(Fragment17, { children: [
|
|
2622
|
+
/* @__PURE__ */ jsx52("div", { className: "w-full bg-[#656565] opacity-30 h-[1px] my-2" }),
|
|
2623
|
+
/* @__PURE__ */ jsx52(DropdownMenuLabel, { className: "text-black", children: "Main Menu" }),
|
|
2624
|
+
list.map((item) => /* @__PURE__ */ jsx52(DropdownMenuItem, { className: "text-black", children: /* @__PURE__ */ jsx52(LinkComponent, { href: item.url || "#", children: item.header }) }, item.id))
|
|
2625
|
+
] })
|
|
2626
|
+
] })
|
|
2520
2627
|
] })
|
|
2521
2628
|
] })
|
|
2522
2629
|
] })
|
|
@@ -2525,28 +2632,28 @@ function Navbar({
|
|
|
2525
2632
|
|
|
2526
2633
|
// src/components/Chart/BarChart.tsx
|
|
2527
2634
|
import { BarChart, Bar, Area, AreaChart, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Legend } from "recharts";
|
|
2528
|
-
import { jsx as
|
|
2635
|
+
import { jsx as jsx53, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
2529
2636
|
var ChartComponent = ({ className, style, ...props }) => {
|
|
2530
2637
|
const data = Array.isArray(props?.data) ? props.data : [];
|
|
2531
2638
|
const chartType = props.chartType || "bar";
|
|
2532
2639
|
const legendsPosition = props.legendsPosition === "middle" || props.legendsPosition === "bottom" ? props.legendsPosition : "top";
|
|
2533
|
-
return /* @__PURE__ */
|
|
2534
|
-
/* @__PURE__ */
|
|
2535
|
-
/* @__PURE__ */
|
|
2536
|
-
/* @__PURE__ */
|
|
2537
|
-
/* @__PURE__ */
|
|
2538
|
-
/* @__PURE__ */
|
|
2539
|
-
/* @__PURE__ */
|
|
2540
|
-
] }) : /* @__PURE__ */
|
|
2541
|
-
/* @__PURE__ */
|
|
2542
|
-
/* @__PURE__ */
|
|
2543
|
-
/* @__PURE__ */
|
|
2640
|
+
return /* @__PURE__ */ jsx53("div", { className: `${className} h-[400px]`, style, children: data.length > 0 && /* @__PURE__ */ jsx53(ResponsiveContainer, { width: "100%", height: "100%", children: chartType === "bar" ? /* @__PURE__ */ jsxs33(BarChart, { data, children: [
|
|
2641
|
+
/* @__PURE__ */ jsx53(CartesianGrid, { strokeDasharray: "3 3" }),
|
|
2642
|
+
/* @__PURE__ */ jsx53(XAxis, { dataKey: "name" }),
|
|
2643
|
+
/* @__PURE__ */ jsx53(YAxis, {}),
|
|
2644
|
+
/* @__PURE__ */ jsx53(Tooltip, {}),
|
|
2645
|
+
/* @__PURE__ */ jsx53(Legend, { verticalAlign: legendsPosition, align: "center" }),
|
|
2646
|
+
/* @__PURE__ */ jsx53(Bar, { dataKey: "value", fill: "#00695C" })
|
|
2647
|
+
] }) : /* @__PURE__ */ jsxs33(AreaChart, { data, children: [
|
|
2648
|
+
/* @__PURE__ */ jsx53("defs", { children: /* @__PURE__ */ jsxs33("linearGradient", { id: "colorCount", x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
2649
|
+
/* @__PURE__ */ jsx53("stop", { offset: "5%", stopColor: "#00695C", stopOpacity: 0.8 }),
|
|
2650
|
+
/* @__PURE__ */ jsx53("stop", { offset: "95%", stopColor: "#00695C", stopOpacity: 0 })
|
|
2544
2651
|
] }) }),
|
|
2545
|
-
/* @__PURE__ */
|
|
2546
|
-
/* @__PURE__ */
|
|
2547
|
-
/* @__PURE__ */
|
|
2548
|
-
/* @__PURE__ */
|
|
2549
|
-
/* @__PURE__ */
|
|
2652
|
+
/* @__PURE__ */ jsx53(CartesianGrid, { strokeDasharray: "3 3" }),
|
|
2653
|
+
/* @__PURE__ */ jsx53(XAxis, { dataKey: "name" }),
|
|
2654
|
+
/* @__PURE__ */ jsx53(YAxis, {}),
|
|
2655
|
+
/* @__PURE__ */ jsx53(Tooltip, {}),
|
|
2656
|
+
/* @__PURE__ */ jsx53(
|
|
2550
2657
|
Area,
|
|
2551
2658
|
{
|
|
2552
2659
|
type: "monotone",
|
|
@@ -2562,7 +2669,7 @@ var BarChart_default = ChartComponent;
|
|
|
2562
2669
|
|
|
2563
2670
|
// src/components/Chart/PieChart.tsx
|
|
2564
2671
|
import { PieChart, Pie, Cell, ResponsiveContainer as ResponsiveContainer2, Tooltip as Tooltip2, LabelList } from "recharts";
|
|
2565
|
-
import { Fragment as Fragment18, jsx as
|
|
2672
|
+
import { Fragment as Fragment18, jsx as jsx54, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
2566
2673
|
var DonutChart = ({ className, style, ...props }) => {
|
|
2567
2674
|
const data = Array.isArray(props?.data) ? props.data : [];
|
|
2568
2675
|
const total = data.reduce((sum, d) => sum + d.value, 0);
|
|
@@ -2573,7 +2680,7 @@ var DonutChart = ({ className, style, ...props }) => {
|
|
|
2573
2680
|
const renderLabel = ({ value, x, y }) => {
|
|
2574
2681
|
if (value == null) return null;
|
|
2575
2682
|
const percentage = (Number(value) / total * 100).toFixed(0);
|
|
2576
|
-
return /* @__PURE__ */
|
|
2683
|
+
return /* @__PURE__ */ jsxs34(
|
|
2577
2684
|
"text",
|
|
2578
2685
|
{
|
|
2579
2686
|
x,
|
|
@@ -2595,33 +2702,33 @@ var DonutChart = ({ className, style, ...props }) => {
|
|
|
2595
2702
|
const wrapperClass = canvasMode ? forceDesktop ? "flex-row" : "flex-col" : "flex-col md:flex-row";
|
|
2596
2703
|
const renderLegends = () => {
|
|
2597
2704
|
if (!showLegends) return null;
|
|
2598
|
-
return /* @__PURE__ */
|
|
2705
|
+
return /* @__PURE__ */ jsx54(Fragment18, { children: data.map((d) => /* @__PURE__ */ jsxs34(
|
|
2599
2706
|
"div",
|
|
2600
2707
|
{
|
|
2601
2708
|
className: "flex items-center space-x-2 rounded-md border border-gray-200 px-3 py-2 w-[48%] md:w-auto",
|
|
2602
2709
|
children: [
|
|
2603
|
-
/* @__PURE__ */
|
|
2710
|
+
/* @__PURE__ */ jsx54(
|
|
2604
2711
|
"span",
|
|
2605
2712
|
{
|
|
2606
2713
|
className: "inline-block w-[16px] h-[16px] rounded",
|
|
2607
2714
|
style: { backgroundColor: d.color }
|
|
2608
2715
|
}
|
|
2609
2716
|
),
|
|
2610
|
-
/* @__PURE__ */
|
|
2717
|
+
/* @__PURE__ */ jsx54("span", { className: "text-[#000000] text-[12px] md:text-[13px] font-[500]", children: d.name })
|
|
2611
2718
|
]
|
|
2612
2719
|
},
|
|
2613
2720
|
d.name
|
|
2614
2721
|
)) });
|
|
2615
2722
|
};
|
|
2616
|
-
return /* @__PURE__ */
|
|
2723
|
+
return /* @__PURE__ */ jsxs34(
|
|
2617
2724
|
"div",
|
|
2618
2725
|
{
|
|
2619
2726
|
className: `relative flex items-center ${wrapperClass} ${className}`,
|
|
2620
2727
|
style,
|
|
2621
2728
|
children: [
|
|
2622
|
-
/* @__PURE__ */
|
|
2623
|
-
data.length > 0 && /* @__PURE__ */
|
|
2624
|
-
/* @__PURE__ */
|
|
2729
|
+
/* @__PURE__ */ jsxs34("div", { className: "relative w-full md:w-[70%] h-[300px] md:h-[400px] flex items-center justify-center", children: [
|
|
2730
|
+
data.length > 0 && /* @__PURE__ */ jsx54(ResponsiveContainer2, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs34(PieChart, { children: [
|
|
2731
|
+
/* @__PURE__ */ jsxs34(
|
|
2625
2732
|
Pie,
|
|
2626
2733
|
{
|
|
2627
2734
|
data,
|
|
@@ -2633,8 +2740,8 @@ var DonutChart = ({ className, style, ...props }) => {
|
|
|
2633
2740
|
labelLine: false,
|
|
2634
2741
|
isAnimationActive: false,
|
|
2635
2742
|
children: [
|
|
2636
|
-
data.map((entry, index) => /* @__PURE__ */
|
|
2637
|
-
/* @__PURE__ */
|
|
2743
|
+
data.map((entry, index) => /* @__PURE__ */ jsx54(Cell, { fill: entry.color }, `cell-${index}`)),
|
|
2744
|
+
/* @__PURE__ */ jsx54(
|
|
2638
2745
|
LabelList,
|
|
2639
2746
|
{
|
|
2640
2747
|
dataKey: "value",
|
|
@@ -2645,14 +2752,14 @@ var DonutChart = ({ className, style, ...props }) => {
|
|
|
2645
2752
|
]
|
|
2646
2753
|
}
|
|
2647
2754
|
),
|
|
2648
|
-
/* @__PURE__ */
|
|
2755
|
+
/* @__PURE__ */ jsx54(Tooltip2, { formatter: (value, name) => [`${value}k`, name] })
|
|
2649
2756
|
] }) }),
|
|
2650
|
-
/* @__PURE__ */
|
|
2757
|
+
/* @__PURE__ */ jsxs34("div", { className: "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 text-2xl md:text-4xl font-bold text-[#000]", children: [
|
|
2651
2758
|
total,
|
|
2652
2759
|
"k"
|
|
2653
2760
|
] })
|
|
2654
2761
|
] }),
|
|
2655
|
-
/* @__PURE__ */
|
|
2762
|
+
/* @__PURE__ */ jsx54("div", { className: `flex ${forceDesktop ? "flex-col ml-auto space-y-3" : "flex-wrap justify-center gap-2 mt-4"}
|
|
2656
2763
|
w-full md:w-auto`, children: renderLegends() })
|
|
2657
2764
|
]
|
|
2658
2765
|
}
|
|
@@ -2661,10 +2768,10 @@ var DonutChart = ({ className, style, ...props }) => {
|
|
|
2661
2768
|
var PieChart_default = DonutChart;
|
|
2662
2769
|
|
|
2663
2770
|
// src/components/Blocks/EmailComposer.tsx
|
|
2664
|
-
import { jsx as
|
|
2771
|
+
import { jsx as jsx55, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
2665
2772
|
function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc, setShowBcc, cc, setCc, bcc, setBcc, subject, setSubject, body, setBody }) {
|
|
2666
|
-
return /* @__PURE__ */
|
|
2667
|
-
/* @__PURE__ */
|
|
2773
|
+
return /* @__PURE__ */ jsx55("div", { className, style, children: /* @__PURE__ */ jsxs35("div", { className: "border rounded-md shadow bg-[#fff] p-4 mx-auto z-[50] relative", children: [
|
|
2774
|
+
/* @__PURE__ */ jsx55("div", { className: "mb-3", children: /* @__PURE__ */ jsx55(
|
|
2668
2775
|
"input",
|
|
2669
2776
|
{
|
|
2670
2777
|
type: "email",
|
|
@@ -2673,8 +2780,8 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2673
2780
|
required: true
|
|
2674
2781
|
}
|
|
2675
2782
|
) }),
|
|
2676
|
-
/* @__PURE__ */
|
|
2677
|
-
/* @__PURE__ */
|
|
2783
|
+
/* @__PURE__ */ jsx55("div", { className: "mb-3", children: /* @__PURE__ */ jsxs35("div", { className: "flex items-center gap-2", children: [
|
|
2784
|
+
/* @__PURE__ */ jsx55(
|
|
2678
2785
|
"input",
|
|
2679
2786
|
{
|
|
2680
2787
|
type: "email",
|
|
@@ -2685,7 +2792,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2685
2792
|
required: true
|
|
2686
2793
|
}
|
|
2687
2794
|
),
|
|
2688
|
-
!showCc && /* @__PURE__ */
|
|
2795
|
+
!showCc && /* @__PURE__ */ jsx55(
|
|
2689
2796
|
"button",
|
|
2690
2797
|
{
|
|
2691
2798
|
onClick: () => setShowCc?.(true),
|
|
@@ -2693,7 +2800,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2693
2800
|
children: "Cc"
|
|
2694
2801
|
}
|
|
2695
2802
|
),
|
|
2696
|
-
!showBcc && /* @__PURE__ */
|
|
2803
|
+
!showBcc && /* @__PURE__ */ jsx55(
|
|
2697
2804
|
"button",
|
|
2698
2805
|
{
|
|
2699
2806
|
onClick: () => setShowBcc?.(true),
|
|
@@ -2702,7 +2809,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2702
2809
|
}
|
|
2703
2810
|
)
|
|
2704
2811
|
] }) }),
|
|
2705
|
-
showCc && /* @__PURE__ */
|
|
2812
|
+
showCc && /* @__PURE__ */ jsx55("div", { className: "mb-3", children: /* @__PURE__ */ jsx55(
|
|
2706
2813
|
"input",
|
|
2707
2814
|
{
|
|
2708
2815
|
type: "text",
|
|
@@ -2712,7 +2819,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2712
2819
|
className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
|
|
2713
2820
|
}
|
|
2714
2821
|
) }),
|
|
2715
|
-
showBcc && /* @__PURE__ */
|
|
2822
|
+
showBcc && /* @__PURE__ */ jsx55("div", { className: "mb-3", children: /* @__PURE__ */ jsx55(
|
|
2716
2823
|
"input",
|
|
2717
2824
|
{
|
|
2718
2825
|
type: "text",
|
|
@@ -2722,7 +2829,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2722
2829
|
className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
|
|
2723
2830
|
}
|
|
2724
2831
|
) }),
|
|
2725
|
-
/* @__PURE__ */
|
|
2832
|
+
/* @__PURE__ */ jsx55("div", { className: "mb-3", children: /* @__PURE__ */ jsx55(
|
|
2726
2833
|
"input",
|
|
2727
2834
|
{
|
|
2728
2835
|
type: "text",
|
|
@@ -2732,11 +2839,11 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2732
2839
|
className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
|
|
2733
2840
|
}
|
|
2734
2841
|
) }),
|
|
2735
|
-
/* @__PURE__ */
|
|
2736
|
-
/* @__PURE__ */
|
|
2737
|
-
/* @__PURE__ */
|
|
2738
|
-
/* @__PURE__ */
|
|
2739
|
-
/* @__PURE__ */
|
|
2842
|
+
/* @__PURE__ */ jsx55("div", { className: "mb-4", children: /* @__PURE__ */ jsx55(MyEditor, { value: body, onChange: setBody }) }),
|
|
2843
|
+
/* @__PURE__ */ jsxs35("div", { className: "flex justify-end gap-2", children: [
|
|
2844
|
+
/* @__PURE__ */ jsx55("button", { className: "px-4 py-2 rounded-md text-gray-600 hover:bg-gray-100", children: "Discard" }),
|
|
2845
|
+
/* @__PURE__ */ jsx55("button", { className: "px-4 py-2 rounded-md border text-[#12715B] border-[#12715B]", children: "Reset" }),
|
|
2846
|
+
/* @__PURE__ */ jsx55("button", { className: "px-4 py-2 rounded-md bg-[#12715B] text-white", children: "Send" })
|
|
2740
2847
|
] })
|
|
2741
2848
|
] }) });
|
|
2742
2849
|
}
|
|
@@ -2792,11 +2899,11 @@ function stateReducer(state, action) {
|
|
|
2792
2899
|
}
|
|
2793
2900
|
|
|
2794
2901
|
// src/components/StateManagment/StateContext.tsx
|
|
2795
|
-
import { jsx as
|
|
2902
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
2796
2903
|
var StateContext = createContext(null);
|
|
2797
2904
|
function StateProvider({ children }) {
|
|
2798
2905
|
const [state, dispatch] = useReducer(stateReducer, {});
|
|
2799
|
-
return /* @__PURE__ */
|
|
2906
|
+
return /* @__PURE__ */ jsx56(StateContext.Provider, { value: { state, dispatch }, children });
|
|
2800
2907
|
}
|
|
2801
2908
|
function useAppState() {
|
|
2802
2909
|
return useContext(StateContext);
|
|
@@ -2807,7 +2914,7 @@ import React18, { useMemo as useMemo2 } from "react";
|
|
|
2807
2914
|
import { zodResolver } from "@hookform/resolvers/zod";
|
|
2808
2915
|
import { useForm, Controller } from "react-hook-form";
|
|
2809
2916
|
import { z } from "zod";
|
|
2810
|
-
import { jsx as
|
|
2917
|
+
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
2811
2918
|
function generateZodSchema(data) {
|
|
2812
2919
|
const fields = data.reduce((acc, f) => {
|
|
2813
2920
|
const name = f.name || "unnamed";
|
|
@@ -2903,7 +3010,7 @@ var FormWrapper = ({
|
|
|
2903
3010
|
reset();
|
|
2904
3011
|
if (onReset) onReset();
|
|
2905
3012
|
};
|
|
2906
|
-
return /* @__PURE__ */
|
|
3013
|
+
return /* @__PURE__ */ jsx57(
|
|
2907
3014
|
"form",
|
|
2908
3015
|
{
|
|
2909
3016
|
onSubmit: handleSubmit(formSubmit),
|
|
@@ -2911,13 +3018,13 @@ var FormWrapper = ({
|
|
|
2911
3018
|
className: cn(
|
|
2912
3019
|
"space-y-4 min-h-[100px] h-auto flex justify-between flex-col"
|
|
2913
3020
|
),
|
|
2914
|
-
children: /* @__PURE__ */
|
|
3021
|
+
children: /* @__PURE__ */ jsx57("div", { className: "min-h-[50px]", children: React18.Children.map(children, (child) => {
|
|
2915
3022
|
const processChild = (child2) => {
|
|
2916
3023
|
if (React18.isValidElement(child2)) {
|
|
2917
3024
|
const node = child2.props?.node;
|
|
2918
3025
|
if (node?.category === "Form Controls") {
|
|
2919
3026
|
const name = node.properties?.name || "unnamed";
|
|
2920
|
-
return /* @__PURE__ */
|
|
3027
|
+
return /* @__PURE__ */ jsx57("div", { className: "flex flex-col", children: /* @__PURE__ */ jsx57(
|
|
2921
3028
|
Controller,
|
|
2922
3029
|
{
|
|
2923
3030
|
name,
|
|
@@ -2956,7 +3063,9 @@ var FormWrapper = ({
|
|
|
2956
3063
|
var Wrapper_default = FormWrapper;
|
|
2957
3064
|
export {
|
|
2958
3065
|
BarChart_default as BarChart,
|
|
3066
|
+
Breadcrumb_default as Breadcrumb,
|
|
2959
3067
|
Button_default as Button,
|
|
3068
|
+
SplitButton as ButtonGroup,
|
|
2960
3069
|
Checkbox_default as Checkbox,
|
|
2961
3070
|
Container_default as Container,
|
|
2962
3071
|
DatePicker,
|
|
@@ -2969,17 +3078,14 @@ export {
|
|
|
2969
3078
|
Wrapper_default as Form,
|
|
2970
3079
|
Grid_default as GridLayout,
|
|
2971
3080
|
Image_default as Image,
|
|
2972
|
-
Logo_default as Logo,
|
|
2973
3081
|
Modal_default as Modal,
|
|
2974
3082
|
MultiCheckbox_default as MultiCheckbox,
|
|
2975
3083
|
Navbar,
|
|
2976
|
-
Notification_default as Notification,
|
|
2977
3084
|
NumberInput_default as NumberInput,
|
|
2978
3085
|
Pagination_default as Pagination,
|
|
2979
3086
|
PasswordInput_default as Password,
|
|
2980
3087
|
PhoneInput_default as Phone,
|
|
2981
3088
|
PieChart_default as PieChart,
|
|
2982
|
-
Profile_default as Profile,
|
|
2983
3089
|
RadioInput_default as RadioGroup,
|
|
2984
3090
|
RichText,
|
|
2985
3091
|
SearchInput_default as Search,
|
|
@@ -2996,6 +3102,7 @@ export {
|
|
|
2996
3102
|
Typography_default as Typography,
|
|
2997
3103
|
UrlInput_default as URL,
|
|
2998
3104
|
cn,
|
|
3105
|
+
getInitials,
|
|
2999
3106
|
showSonnerToast,
|
|
3000
3107
|
stateReducer,
|
|
3001
3108
|
useAppState
|