@algorithm-shift/design-system 1.2.74 → 1.2.75

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.mjs CHANGED
@@ -28268,8 +28268,321 @@ var TextInputGroup = ({ className, style, prepend, append, ...props }) => {
28268
28268
  };
28269
28269
  var TextInputGroup_default = TextInputGroup;
28270
28270
 
28271
- // src/components/ui/data-table.tsx
28271
+ // src/components/Inputs/Multiselect/MultiSelect.tsx
28272
28272
  import * as React7 from "react";
28273
+
28274
+ // src/components/ui/command.tsx
28275
+ import { Command as CommandPrimitive } from "cmdk";
28276
+
28277
+ // src/components/ui/dialog.tsx
28278
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
28279
+ import { jsx as jsx46, jsxs as jsxs26 } from "react/jsx-runtime";
28280
+ function Dialog({
28281
+ ...props
28282
+ }) {
28283
+ return /* @__PURE__ */ jsx46(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
28284
+ }
28285
+ function DialogPortal({
28286
+ ...props
28287
+ }) {
28288
+ return /* @__PURE__ */ jsx46(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
28289
+ }
28290
+ function DialogOverlay({
28291
+ className,
28292
+ ...props
28293
+ }) {
28294
+ return /* @__PURE__ */ jsx46(
28295
+ DialogPrimitive.Overlay,
28296
+ {
28297
+ "data-slot": "dialog-overlay",
28298
+ className: cn(
28299
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-[60] bg-black/50",
28300
+ className
28301
+ ),
28302
+ ...props
28303
+ }
28304
+ );
28305
+ }
28306
+ function DialogContent({
28307
+ className,
28308
+ children,
28309
+ showCloseButton = true,
28310
+ ...props
28311
+ }) {
28312
+ return /* @__PURE__ */ jsxs26(DialogPortal, { "data-slot": "dialog-portal", children: [
28313
+ /* @__PURE__ */ jsx46(DialogOverlay, {}),
28314
+ /* @__PURE__ */ jsxs26(
28315
+ DialogPrimitive.Content,
28316
+ {
28317
+ "data-slot": "dialog-content",
28318
+ className: cn(
28319
+ "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-[70] grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
28320
+ className
28321
+ ),
28322
+ ...props,
28323
+ children: [
28324
+ children,
28325
+ showCloseButton && /* @__PURE__ */ jsxs26(
28326
+ DialogPrimitive.Close,
28327
+ {
28328
+ "data-slot": "dialog-close",
28329
+ className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
28330
+ children: [
28331
+ /* @__PURE__ */ jsx46(X, {}),
28332
+ /* @__PURE__ */ jsx46("span", { className: "sr-only", children: "Close" })
28333
+ ]
28334
+ }
28335
+ )
28336
+ ]
28337
+ }
28338
+ )
28339
+ ] });
28340
+ }
28341
+ function DialogHeader({ className, ...props }) {
28342
+ return /* @__PURE__ */ jsx46(
28343
+ "div",
28344
+ {
28345
+ "data-slot": "dialog-header",
28346
+ className: cn("flex flex-col gap-2 text-center sm:text-left", className),
28347
+ ...props
28348
+ }
28349
+ );
28350
+ }
28351
+ function DialogFooter({ className, ...props }) {
28352
+ return /* @__PURE__ */ jsx46(
28353
+ "div",
28354
+ {
28355
+ "data-slot": "dialog-footer",
28356
+ className: cn(
28357
+ "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
28358
+ className
28359
+ ),
28360
+ ...props
28361
+ }
28362
+ );
28363
+ }
28364
+ function DialogTitle({
28365
+ className,
28366
+ ...props
28367
+ }) {
28368
+ return /* @__PURE__ */ jsx46(
28369
+ DialogPrimitive.Title,
28370
+ {
28371
+ "data-slot": "dialog-title",
28372
+ className: cn("text-lg leading-none font-semibold", className),
28373
+ ...props
28374
+ }
28375
+ );
28376
+ }
28377
+ function DialogDescription({
28378
+ className,
28379
+ ...props
28380
+ }) {
28381
+ return /* @__PURE__ */ jsx46(
28382
+ DialogPrimitive.Description,
28383
+ {
28384
+ "data-slot": "dialog-description",
28385
+ className: cn("text-muted-foreground text-sm", className),
28386
+ ...props
28387
+ }
28388
+ );
28389
+ }
28390
+
28391
+ // src/components/ui/command.tsx
28392
+ import { jsx as jsx47, jsxs as jsxs27 } from "react/jsx-runtime";
28393
+ function Command2({
28394
+ className,
28395
+ ...props
28396
+ }) {
28397
+ return /* @__PURE__ */ jsx47(
28398
+ CommandPrimitive,
28399
+ {
28400
+ "data-slot": "command",
28401
+ className: cn(
28402
+ "bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
28403
+ className
28404
+ ),
28405
+ ...props
28406
+ }
28407
+ );
28408
+ }
28409
+ function CommandInput({
28410
+ className,
28411
+ ...props
28412
+ }) {
28413
+ return /* @__PURE__ */ jsxs27(
28414
+ "div",
28415
+ {
28416
+ "data-slot": "command-input-wrapper",
28417
+ className: "flex h-9 items-center gap-2 border-b px-3",
28418
+ children: [
28419
+ /* @__PURE__ */ jsx47(Search, { className: "size-4 shrink-0 opacity-50" }),
28420
+ /* @__PURE__ */ jsx47(
28421
+ CommandPrimitive.Input,
28422
+ {
28423
+ "data-slot": "command-input",
28424
+ className: cn(
28425
+ "placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
28426
+ className
28427
+ ),
28428
+ ...props
28429
+ }
28430
+ )
28431
+ ]
28432
+ }
28433
+ );
28434
+ }
28435
+ function CommandList({
28436
+ className,
28437
+ ...props
28438
+ }) {
28439
+ return /* @__PURE__ */ jsx47(
28440
+ CommandPrimitive.List,
28441
+ {
28442
+ "data-slot": "command-list",
28443
+ className: cn(
28444
+ "max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",
28445
+ className
28446
+ ),
28447
+ ...props
28448
+ }
28449
+ );
28450
+ }
28451
+ function CommandEmpty({
28452
+ ...props
28453
+ }) {
28454
+ return /* @__PURE__ */ jsx47(
28455
+ CommandPrimitive.Empty,
28456
+ {
28457
+ "data-slot": "command-empty",
28458
+ className: "py-6 text-center text-sm",
28459
+ ...props
28460
+ }
28461
+ );
28462
+ }
28463
+ function CommandGroup({
28464
+ className,
28465
+ ...props
28466
+ }) {
28467
+ return /* @__PURE__ */ jsx47(
28468
+ CommandPrimitive.Group,
28469
+ {
28470
+ "data-slot": "command-group",
28471
+ className: cn(
28472
+ "text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",
28473
+ className
28474
+ ),
28475
+ ...props
28476
+ }
28477
+ );
28478
+ }
28479
+ function CommandItem({
28480
+ className,
28481
+ ...props
28482
+ }) {
28483
+ return /* @__PURE__ */ jsx47(
28484
+ CommandPrimitive.Item,
28485
+ {
28486
+ "data-slot": "command-item",
28487
+ className: cn(
28488
+ "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_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=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
28489
+ className
28490
+ ),
28491
+ ...props
28492
+ }
28493
+ );
28494
+ }
28495
+
28496
+ // src/components/Inputs/Multiselect/MultiSelect.tsx
28497
+ import { jsx as jsx48, jsxs as jsxs28 } from "react/jsx-runtime";
28498
+ var MultiSelect = ({
28499
+ value = [],
28500
+ onChange,
28501
+ data = [],
28502
+ placeholder = "Select...",
28503
+ disabled,
28504
+ searchable = true,
28505
+ className = "",
28506
+ ...props
28507
+ }) => {
28508
+ const [open, setOpen] = React7.useState(false);
28509
+ React7.useEffect(() => {
28510
+ if (value) {
28511
+ onChange(value);
28512
+ }
28513
+ }, []);
28514
+ const toggleOption = (val) => {
28515
+ onChange(
28516
+ value?.includes(val) ? value.filter((v) => v !== val) : [...value || [], val]
28517
+ );
28518
+ };
28519
+ const selectedLabels = React7.useMemo(
28520
+ () => data.filter((opt) => value.includes(opt.value)).map((opt) => opt.label),
28521
+ [data, value]
28522
+ );
28523
+ return /* @__PURE__ */ jsxs28(Popover, { open, onOpenChange: setOpen, children: [
28524
+ /* @__PURE__ */ jsx48(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs28(
28525
+ Button,
28526
+ {
28527
+ variant: "outline",
28528
+ role: "combobox",
28529
+ className: `w-full justify-between ${className} ${props.errorMessage ? "border-red-500" : ""}`,
28530
+ disabled,
28531
+ type: "button",
28532
+ children: [
28533
+ /* @__PURE__ */ jsx48("span", { className: "truncate", children: selectedLabels.length > 0 ? selectedLabels.join(", ") : placeholder }),
28534
+ /* @__PURE__ */ jsx48(ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" })
28535
+ ]
28536
+ }
28537
+ ) }),
28538
+ /* @__PURE__ */ jsx48(
28539
+ PopoverContent,
28540
+ {
28541
+ align: "start",
28542
+ className: "w-[var(--radix-popover-trigger-width)] p-0",
28543
+ onOpenAutoFocus: (e) => e.preventDefault(),
28544
+ onInteractOutside: (e) => {
28545
+ if (e.target.closest(".keep-open")) e.preventDefault();
28546
+ },
28547
+ children: /* @__PURE__ */ jsxs28(Command2, { shouldFilter: searchable, children: [
28548
+ searchable && /* @__PURE__ */ jsx48(CommandInput, { placeholder: "Search..." }),
28549
+ /* @__PURE__ */ jsxs28(CommandList, { children: [
28550
+ /* @__PURE__ */ jsx48(CommandEmpty, { children: "No options found." }),
28551
+ /* @__PURE__ */ jsx48(CommandGroup, { children: data.map((opt) => {
28552
+ const isSelected = value.includes(opt.value);
28553
+ return /* @__PURE__ */ jsx48(
28554
+ "div",
28555
+ {
28556
+ className: "keep-open",
28557
+ children: /* @__PURE__ */ jsx48(
28558
+ CommandItem,
28559
+ {
28560
+ onMouseDown: (e) => {
28561
+ e.preventDefault();
28562
+ toggleOption(opt.value);
28563
+ },
28564
+ children: /* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-2", children: [
28565
+ /* @__PURE__ */ jsx48(Checkbox, { checked: isSelected }),
28566
+ /* @__PURE__ */ jsx48("span", { children: opt.label })
28567
+ ] })
28568
+ },
28569
+ opt.value
28570
+ )
28571
+ },
28572
+ opt.value
28573
+ );
28574
+ }) })
28575
+ ] })
28576
+ ] })
28577
+ }
28578
+ ),
28579
+ props.errorMessage && /* @__PURE__ */ jsx48("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
28580
+ ] });
28581
+ };
28582
+ var MultiSelect_default = MultiSelect;
28583
+
28584
+ // src/components/ui/data-table.tsx
28585
+ import * as React8 from "react";
28273
28586
  import { faEllipsisH } from "@fortawesome/free-solid-svg-icons";
28274
28587
  import { FontAwesomeIcon as FontAwesomeIcon3 } from "@fortawesome/react-fontawesome";
28275
28588
  import {
@@ -28281,14 +28594,14 @@ import {
28281
28594
  } from "@tanstack/react-table";
28282
28595
 
28283
28596
  // src/components/ui/table.tsx
28284
- import { jsx as jsx46 } from "react/jsx-runtime";
28597
+ import { jsx as jsx49 } from "react/jsx-runtime";
28285
28598
  function Table3({ className, ...props }) {
28286
- return /* @__PURE__ */ jsx46(
28599
+ return /* @__PURE__ */ jsx49(
28287
28600
  "div",
28288
28601
  {
28289
28602
  "data-slot": "table-container",
28290
28603
  className: "relative w-full overflow-x-auto rounded-md border border-gray-200 bg-white",
28291
- children: /* @__PURE__ */ jsx46(
28604
+ children: /* @__PURE__ */ jsx49(
28292
28605
  "table",
28293
28606
  {
28294
28607
  "data-slot": "table",
@@ -28300,7 +28613,7 @@ function Table3({ className, ...props }) {
28300
28613
  );
28301
28614
  }
28302
28615
  function TableHeader({ className, ...props }) {
28303
- return /* @__PURE__ */ jsx46(
28616
+ return /* @__PURE__ */ jsx49(
28304
28617
  "thead",
28305
28618
  {
28306
28619
  "data-slot": "table-header",
@@ -28313,7 +28626,7 @@ function TableHeader({ className, ...props }) {
28313
28626
  );
28314
28627
  }
28315
28628
  function TableBody({ className, ...props }) {
28316
- return /* @__PURE__ */ jsx46(
28629
+ return /* @__PURE__ */ jsx49(
28317
28630
  "tbody",
28318
28631
  {
28319
28632
  "data-slot": "table-body",
@@ -28326,7 +28639,7 @@ function TableBody({ className, ...props }) {
28326
28639
  );
28327
28640
  }
28328
28641
  function TableRow({ className, ...props }) {
28329
- return /* @__PURE__ */ jsx46(
28642
+ return /* @__PURE__ */ jsx49(
28330
28643
  "tr",
28331
28644
  {
28332
28645
  "data-slot": "table-row",
@@ -28339,7 +28652,7 @@ function TableRow({ className, ...props }) {
28339
28652
  );
28340
28653
  }
28341
28654
  function TableHead({ className, ...props }) {
28342
- return /* @__PURE__ */ jsx46(
28655
+ return /* @__PURE__ */ jsx49(
28343
28656
  "th",
28344
28657
  {
28345
28658
  "data-slot": "table-head",
@@ -28352,7 +28665,7 @@ function TableHead({ className, ...props }) {
28352
28665
  );
28353
28666
  }
28354
28667
  function TableCell({ className, ...props }) {
28355
- return /* @__PURE__ */ jsx46(
28668
+ return /* @__PURE__ */ jsx49(
28356
28669
  "td",
28357
28670
  {
28358
28671
  "data-slot": "table-cell",
@@ -28366,7 +28679,7 @@ function TableCell({ className, ...props }) {
28366
28679
  }
28367
28680
 
28368
28681
  // src/components/ui/data-table.tsx
28369
- import { Fragment as Fragment17, jsx as jsx47, jsxs as jsxs26 } from "react/jsx-runtime";
28682
+ import { Fragment as Fragment17, jsx as jsx50, jsxs as jsxs29 } from "react/jsx-runtime";
28370
28683
  function DataTable({
28371
28684
  columns,
28372
28685
  data,
@@ -28383,10 +28696,10 @@ function DataTable({
28383
28696
  globalSearch,
28384
28697
  onCellClick
28385
28698
  }) {
28386
- const [columnFilters, setColumnFilters] = React7.useState([]);
28387
- const [columnVisibility, setColumnVisibility] = React7.useState({});
28388
- const [manualSort, setManualSort] = React7.useState(null);
28389
- const [searchTerm, setSearchTerm] = React7.useState("");
28699
+ const [columnFilters, setColumnFilters] = React8.useState([]);
28700
+ const [columnVisibility, setColumnVisibility] = React8.useState({});
28701
+ const [manualSort, setManualSort] = React8.useState(null);
28702
+ const [searchTerm, setSearchTerm] = React8.useState("");
28390
28703
  const table = useReactTable({
28391
28704
  data,
28392
28705
  columns,
@@ -28434,11 +28747,11 @@ function DataTable({
28434
28747
  }
28435
28748
  return [];
28436
28749
  };
28437
- return /* @__PURE__ */ jsxs26("div", { className: "overflow-hidden rounded-md w-full", children: [
28438
- /* @__PURE__ */ jsxs26("div", { className: `flex ${globalSearch ? "justify-between" : "justify-end"} p-2 bg-gray-50`, children: [
28439
- globalSearch && /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-2 w-full max-w-sm", children: [
28440
- /* @__PURE__ */ jsxs26("div", { className: "relative w-full", children: [
28441
- /* @__PURE__ */ jsx47(
28750
+ return /* @__PURE__ */ jsxs29("div", { className: "overflow-hidden rounded-md w-full", children: [
28751
+ /* @__PURE__ */ jsxs29("div", { className: `flex ${globalSearch ? "justify-between" : "justify-end"} p-2 bg-gray-50`, children: [
28752
+ globalSearch && /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-2 w-full max-w-sm", children: [
28753
+ /* @__PURE__ */ jsxs29("div", { className: "relative w-full", children: [
28754
+ /* @__PURE__ */ jsx50(
28442
28755
  "input",
28443
28756
  {
28444
28757
  type: "text",
@@ -28453,9 +28766,9 @@ function DataTable({
28453
28766
  className: "border border-gray-300 rounded-md text-sm px-3 py-2 pl-8 w-full focus:outline-none focus:ring-1 focus:ring-[#12715B]"
28454
28767
  }
28455
28768
  ),
28456
- /* @__PURE__ */ jsx47(Search, { className: "absolute left-2 top-2.5 text-gray-400", size: 16 })
28769
+ /* @__PURE__ */ jsx50(Search, { className: "absolute left-2 top-2.5 text-gray-400", size: 16 })
28457
28770
  ] }),
28458
- /* @__PURE__ */ jsx47(
28771
+ /* @__PURE__ */ jsx50(
28459
28772
  Button,
28460
28773
  {
28461
28774
  size: "sm",
@@ -28465,8 +28778,8 @@ function DataTable({
28465
28778
  }
28466
28779
  )
28467
28780
  ] }),
28468
- /* @__PURE__ */ jsxs26(Popover, { children: [
28469
- /* @__PURE__ */ jsx47(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx47(
28781
+ /* @__PURE__ */ jsxs29(Popover, { children: [
28782
+ /* @__PURE__ */ jsx50(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx50(
28470
28783
  Button,
28471
28784
  {
28472
28785
  variant: "outline",
@@ -28475,10 +28788,10 @@ function DataTable({
28475
28788
  children: "Manage Columns"
28476
28789
  }
28477
28790
  ) }),
28478
- /* @__PURE__ */ jsxs26(PopoverContent, { align: "end", className: "w-48 p-3 space-y-2", children: [
28479
- /* @__PURE__ */ jsx47("div", { className: "text-sm font-medium mb-2", children: "Show / Hide Columns" }),
28480
- /* @__PURE__ */ jsxs26("label", { className: "flex items-center gap-2 text-sm font-semibold border-b pb-2 mb-2", children: [
28481
- /* @__PURE__ */ jsx47(
28791
+ /* @__PURE__ */ jsxs29(PopoverContent, { align: "end", className: "w-48 p-3 space-y-2", children: [
28792
+ /* @__PURE__ */ jsx50("div", { className: "text-sm font-medium mb-2", children: "Show / Hide Columns" }),
28793
+ /* @__PURE__ */ jsxs29("label", { className: "flex items-center gap-2 text-sm font-semibold border-b pb-2 mb-2", children: [
28794
+ /* @__PURE__ */ jsx50(
28482
28795
  "input",
28483
28796
  {
28484
28797
  type: "checkbox",
@@ -28497,8 +28810,8 @@ function DataTable({
28497
28810
  ),
28498
28811
  "Toggle All"
28499
28812
  ] }),
28500
- table.getAllLeafColumns().map((column) => /* @__PURE__ */ jsxs26("label", { className: "flex items-center gap-2 text-sm", children: [
28501
- /* @__PURE__ */ jsx47(
28813
+ table.getAllLeafColumns().map((column) => /* @__PURE__ */ jsxs29("label", { className: "flex items-center gap-2 text-sm", children: [
28814
+ /* @__PURE__ */ jsx50(
28502
28815
  "input",
28503
28816
  {
28504
28817
  type: "checkbox",
@@ -28511,13 +28824,13 @@ function DataTable({
28511
28824
  ] })
28512
28825
  ] })
28513
28826
  ] }),
28514
- /* @__PURE__ */ jsxs26(Table3, { children: [
28515
- /* @__PURE__ */ jsx47(TableHeader, { children: table.getHeaderGroups().map((hg) => /* @__PURE__ */ jsx47(TableRow, { children: hg.headers.map((header) => {
28827
+ /* @__PURE__ */ jsxs29(Table3, { children: [
28828
+ /* @__PURE__ */ jsx50(TableHeader, { children: table.getHeaderGroups().map((hg) => /* @__PURE__ */ jsx50(TableRow, { children: hg.headers.map((header) => {
28516
28829
  const canSort = header.column.getCanSort();
28517
28830
  const canFilter = header.column.getCanFilter();
28518
28831
  const sortDir = manualSort?.key === header.column.id ? manualSort.dir : null;
28519
- return /* @__PURE__ */ jsx47(TableHead, { className: "relative select-none", children: /* @__PURE__ */ jsxs26("div", { className: "flex items-center justify-between", children: [
28520
- /* @__PURE__ */ jsxs26(
28832
+ return /* @__PURE__ */ jsx50(TableHead, { className: "relative select-none", children: /* @__PURE__ */ jsxs29("div", { className: "flex items-center justify-between", children: [
28833
+ /* @__PURE__ */ jsxs29(
28521
28834
  "span",
28522
28835
  {
28523
28836
  className: `flex items-center gap-1 ${canSort ? "cursor-pointer" : ""}`,
@@ -28529,32 +28842,32 @@ function DataTable({
28529
28842
  },
28530
28843
  children: [
28531
28844
  flexRender(header.column.columnDef.header, header.getContext()),
28532
- canSort && /* @__PURE__ */ jsxs26(Fragment17, { children: [
28533
- sortDir === "asc" && /* @__PURE__ */ jsx47(ArrowUp, { size: 14, className: "text-gray-500" }),
28534
- sortDir === "desc" && /* @__PURE__ */ jsx47(ArrowDown, { size: 14, className: "text-gray-500" }),
28535
- !sortDir && /* @__PURE__ */ jsx47(ArrowUpDown, { size: 14, className: "text-gray-400" })
28845
+ canSort && /* @__PURE__ */ jsxs29(Fragment17, { children: [
28846
+ sortDir === "asc" && /* @__PURE__ */ jsx50(ArrowUp, { size: 14, className: "text-gray-500" }),
28847
+ sortDir === "desc" && /* @__PURE__ */ jsx50(ArrowDown, { size: 14, className: "text-gray-500" }),
28848
+ !sortDir && /* @__PURE__ */ jsx50(ArrowUpDown, { size: 14, className: "text-gray-400" })
28536
28849
  ] })
28537
28850
  ]
28538
28851
  }
28539
28852
  ),
28540
- canFilter && /* @__PURE__ */ jsxs26(Popover, { children: [
28541
- /* @__PURE__ */ jsx47(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx47(
28853
+ canFilter && /* @__PURE__ */ jsxs29(Popover, { children: [
28854
+ /* @__PURE__ */ jsx50(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx50(
28542
28855
  "span",
28543
28856
  {
28544
28857
  role: "presentation",
28545
28858
  className: "pl-5 cursor-pointer",
28546
28859
  onClick: (e) => e.stopPropagation(),
28547
- children: /* @__PURE__ */ jsx47(FontAwesomeIcon3, { icon: faEllipsisH, className: "w-5 h-5 text-gray-500" })
28860
+ children: /* @__PURE__ */ jsx50(FontAwesomeIcon3, { icon: faEllipsisH, className: "w-5 h-5 text-gray-500" })
28548
28861
  }
28549
28862
  ) }),
28550
- /* @__PURE__ */ jsx47(
28863
+ /* @__PURE__ */ jsx50(
28551
28864
  PopoverContent,
28552
28865
  {
28553
28866
  align: "center",
28554
28867
  sideOffset: 14,
28555
28868
  className: "w-50 p-3 z-[200] border-gray-300",
28556
28869
  avoidCollisions: true,
28557
- children: /* @__PURE__ */ jsxs26(
28870
+ children: /* @__PURE__ */ jsxs29(
28558
28871
  "form",
28559
28872
  {
28560
28873
  onSubmit: (e) => {
@@ -28567,8 +28880,8 @@ function DataTable({
28567
28880
  },
28568
28881
  className: "space-y-2",
28569
28882
  children: [
28570
- /* @__PURE__ */ jsx47("label", { htmlFor: "filter", className: "text-xs text-gray-500 font-normal", children: "Filter by value:" }),
28571
- /* @__PURE__ */ jsx47(
28883
+ /* @__PURE__ */ jsx50("label", { htmlFor: "filter", className: "text-xs text-gray-500 font-normal", children: "Filter by value:" }),
28884
+ /* @__PURE__ */ jsx50(
28572
28885
  "input",
28573
28886
  {
28574
28887
  name: "filter",
@@ -28578,7 +28891,7 @@ function DataTable({
28578
28891
  autoComplete: "off"
28579
28892
  }
28580
28893
  ),
28581
- /* @__PURE__ */ jsx47("div", { className: "justify-end flex", children: /* @__PURE__ */ jsx47(
28894
+ /* @__PURE__ */ jsx50("div", { className: "justify-end flex", children: /* @__PURE__ */ jsx50(
28582
28895
  Button,
28583
28896
  {
28584
28897
  type: "submit",
@@ -28594,10 +28907,10 @@ function DataTable({
28594
28907
  ] })
28595
28908
  ] }) }, header.id);
28596
28909
  }) }, hg.id)) }),
28597
- /* @__PURE__ */ jsx47(TableBody, { children: loading ? /* @__PURE__ */ jsx47(TableRow, { children: /* @__PURE__ */ jsx47(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "Loading..." }) }) : table.getRowModel().rows.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx47(TableRow, { children: row.getVisibleCells().map((cell) => {
28910
+ /* @__PURE__ */ jsx50(TableBody, { children: loading ? /* @__PURE__ */ jsx50(TableRow, { children: /* @__PURE__ */ jsx50(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "Loading..." }) }) : table.getRowModel().rows.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx50(TableRow, { children: row.getVisibleCells().map((cell) => {
28598
28911
  const meta = cell.column.columnDef.meta || {};
28599
28912
  const isClickable = meta?.isClickable;
28600
- return /* @__PURE__ */ jsx47(
28913
+ return /* @__PURE__ */ jsx50(
28601
28914
  TableCell,
28602
28915
  {
28603
28916
  className: `${meta?.cellClass ?? ""} ${isClickable ? "cursor-pointer hover:bg-gray-100 underline" : ""}`,
@@ -28611,17 +28924,17 @@ function DataTable({
28611
28924
  },
28612
28925
  cell.id
28613
28926
  );
28614
- }) }, row.id)) : /* @__PURE__ */ jsx47(TableRow, { children: /* @__PURE__ */ jsx47(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "No results." }) }) })
28927
+ }) }, row.id)) : /* @__PURE__ */ jsx50(TableRow, { children: /* @__PURE__ */ jsx50(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "No results." }) }) })
28615
28928
  ] }),
28616
- pagination && /* @__PURE__ */ jsxs26("div", { className: "flex items-center justify-between py-3 px-2 text-sm w-full", children: [
28617
- /* @__PURE__ */ jsxs26("div", { children: [
28929
+ pagination && /* @__PURE__ */ jsxs29("div", { className: "flex items-center justify-between py-3 px-2 text-sm w-full", children: [
28930
+ /* @__PURE__ */ jsxs29("div", { children: [
28618
28931
  "Page ",
28619
28932
  table.getState().pagination.pageIndex + 1,
28620
28933
  " of ",
28621
28934
  table.getPageCount()
28622
28935
  ] }),
28623
- /* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-2", children: [
28624
- /* @__PURE__ */ jsx47(
28936
+ /* @__PURE__ */ jsxs29("div", { className: "flex items-center gap-2", children: [
28937
+ /* @__PURE__ */ jsx50(
28625
28938
  "button",
28626
28939
  {
28627
28940
  onClick: () => table.previousPage(),
@@ -28634,7 +28947,7 @@ function DataTable({
28634
28947
  table.getState().pagination.pageIndex + 1,
28635
28948
  table.getPageCount(),
28636
28949
  5
28637
- ).map((pageNum, index) => /* @__PURE__ */ jsx47(
28950
+ ).map((pageNum, index) => /* @__PURE__ */ jsx50(
28638
28951
  "button",
28639
28952
  {
28640
28953
  disabled: pageNum === "...",
@@ -28644,7 +28957,7 @@ function DataTable({
28644
28957
  },
28645
28958
  index
28646
28959
  )),
28647
- /* @__PURE__ */ jsx47(
28960
+ /* @__PURE__ */ jsx50(
28648
28961
  "button",
28649
28962
  {
28650
28963
  onClick: () => table.nextPage(),
@@ -28659,7 +28972,7 @@ function DataTable({
28659
28972
  }
28660
28973
 
28661
28974
  // src/components/DataDisplay/Table/Table.tsx
28662
- import { jsx as jsx48 } from "react/jsx-runtime";
28975
+ import { jsx as jsx51 } from "react/jsx-runtime";
28663
28976
  var Table4 = ({
28664
28977
  columns,
28665
28978
  data,
@@ -28682,7 +28995,7 @@ var Table4 = ({
28682
28995
  const rawColumns = Array.isArray(columns) ? columns : [];
28683
28996
  const rawData = Array.isArray(data) ? data : [];
28684
28997
  const isControlled = typeof page === "number";
28685
- return /* @__PURE__ */ jsx48("div", { className: `${className || ""} space-y-3`, style, children: /* @__PURE__ */ jsx48(
28998
+ return /* @__PURE__ */ jsx51("div", { className: `${className || ""} space-y-3`, style, children: /* @__PURE__ */ jsx51(
28686
28999
  DataTable,
28687
29000
  {
28688
29001
  ...props,
@@ -28711,9 +29024,9 @@ var Table4 = ({
28711
29024
  var Table_default = Table4;
28712
29025
 
28713
29026
  // src/components/ui/pagination.tsx
28714
- import { jsx as jsx49, jsxs as jsxs27 } from "react/jsx-runtime";
29027
+ import { jsx as jsx52, jsxs as jsxs30 } from "react/jsx-runtime";
28715
29028
  function Pagination({ className, ...props }) {
28716
- return /* @__PURE__ */ jsx49(
29029
+ return /* @__PURE__ */ jsx52(
28717
29030
  "nav",
28718
29031
  {
28719
29032
  role: "navigation",
@@ -28728,7 +29041,7 @@ function PaginationContent({
28728
29041
  className,
28729
29042
  ...props
28730
29043
  }) {
28731
- return /* @__PURE__ */ jsx49(
29044
+ return /* @__PURE__ */ jsx52(
28732
29045
  "ul",
28733
29046
  {
28734
29047
  "data-slot": "pagination-content",
@@ -28738,7 +29051,7 @@ function PaginationContent({
28738
29051
  );
28739
29052
  }
28740
29053
  function PaginationItem({ ...props }) {
28741
- return /* @__PURE__ */ jsx49("li", { "data-slot": "pagination-item", ...props });
29054
+ return /* @__PURE__ */ jsx52("li", { "data-slot": "pagination-item", ...props });
28742
29055
  }
28743
29056
  function PaginationLink({
28744
29057
  className,
@@ -28746,7 +29059,7 @@ function PaginationLink({
28746
29059
  size = "icon",
28747
29060
  ...props
28748
29061
  }) {
28749
- return /* @__PURE__ */ jsx49(
29062
+ return /* @__PURE__ */ jsx52(
28750
29063
  "a",
28751
29064
  {
28752
29065
  "aria-current": isActive ? "page" : void 0,
@@ -28767,7 +29080,7 @@ function PaginationPrevious({
28767
29080
  className,
28768
29081
  ...props
28769
29082
  }) {
28770
- return /* @__PURE__ */ jsxs27(
29083
+ return /* @__PURE__ */ jsxs30(
28771
29084
  PaginationLink,
28772
29085
  {
28773
29086
  "aria-label": "Go to previous page",
@@ -28775,8 +29088,8 @@ function PaginationPrevious({
28775
29088
  className: cn("gap-1 px-2.5 sm:pl-2.5", className),
28776
29089
  ...props,
28777
29090
  children: [
28778
- /* @__PURE__ */ jsx49(ChevronLeft, {}),
28779
- /* @__PURE__ */ jsx49("span", { className: "hidden sm:block", children: "Previous" })
29091
+ /* @__PURE__ */ jsx52(ChevronLeft, {}),
29092
+ /* @__PURE__ */ jsx52("span", { className: "hidden sm:block", children: "Previous" })
28780
29093
  ]
28781
29094
  }
28782
29095
  );
@@ -28785,7 +29098,7 @@ function PaginationNext({
28785
29098
  className,
28786
29099
  ...props
28787
29100
  }) {
28788
- return /* @__PURE__ */ jsxs27(
29101
+ return /* @__PURE__ */ jsxs30(
28789
29102
  PaginationLink,
28790
29103
  {
28791
29104
  "aria-label": "Go to next page",
@@ -28793,8 +29106,8 @@ function PaginationNext({
28793
29106
  className: cn("gap-1 px-2.5 sm:pr-2.5", className),
28794
29107
  ...props,
28795
29108
  children: [
28796
- /* @__PURE__ */ jsx49("span", { className: "hidden sm:block", children: "Next" }),
28797
- /* @__PURE__ */ jsx49(ChevronRight, {})
29109
+ /* @__PURE__ */ jsx52("span", { className: "hidden sm:block", children: "Next" }),
29110
+ /* @__PURE__ */ jsx52(ChevronRight, {})
28798
29111
  ]
28799
29112
  }
28800
29113
  );
@@ -28803,7 +29116,7 @@ function PaginationEllipsis({
28803
29116
  className,
28804
29117
  ...props
28805
29118
  }) {
28806
- return /* @__PURE__ */ jsxs27(
29119
+ return /* @__PURE__ */ jsxs30(
28807
29120
  "span",
28808
29121
  {
28809
29122
  "aria-hidden": true,
@@ -28811,15 +29124,15 @@ function PaginationEllipsis({
28811
29124
  className: cn("flex size-9 items-center justify-center", className),
28812
29125
  ...props,
28813
29126
  children: [
28814
- /* @__PURE__ */ jsx49(Ellipsis, { className: "size-4" }),
28815
- /* @__PURE__ */ jsx49("span", { className: "sr-only", children: "More pages" })
29127
+ /* @__PURE__ */ jsx52(Ellipsis, { className: "size-4" }),
29128
+ /* @__PURE__ */ jsx52("span", { className: "sr-only", children: "More pages" })
28816
29129
  ]
28817
29130
  }
28818
29131
  );
28819
29132
  }
28820
29133
 
28821
29134
  // src/components/DataDisplay/Pagination/Pagination.tsx
28822
- import { jsx as jsx50, jsxs as jsxs28 } from "react/jsx-runtime";
29135
+ import { jsx as jsx53, jsxs as jsxs31 } from "react/jsx-runtime";
28823
29136
  var CustomPagination = ({
28824
29137
  totalPages,
28825
29138
  currentPage,
@@ -28865,10 +29178,10 @@ var CustomPagination = ({
28865
29178
  }
28866
29179
  };
28867
29180
  const pageNumbers = getPageNumbers();
28868
- return /* @__PURE__ */ jsxs28("div", { className: "flex flex-row gap-1 w-full items-center justify-between", children: [
28869
- /* @__PURE__ */ jsxs28("div", { className: "flex items-center gap-2", children: [
28870
- /* @__PURE__ */ jsx50("p", { className: "text-sm text-muted-foreground whitespace-nowrap", children: "Items per page:" }),
28871
- /* @__PURE__ */ jsxs28(
29181
+ return /* @__PURE__ */ jsxs31("div", { className: "flex flex-row gap-1 w-full items-center justify-between", children: [
29182
+ /* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2", children: [
29183
+ /* @__PURE__ */ jsx53("p", { className: "text-sm text-muted-foreground whitespace-nowrap", children: "Items per page:" }),
29184
+ /* @__PURE__ */ jsxs31(
28872
29185
  Select,
28873
29186
  {
28874
29187
  defaultValue: String(perPage),
@@ -28876,26 +29189,26 @@ var CustomPagination = ({
28876
29189
  onPageChange({ page: 1, itemsPerPage: Number(value) });
28877
29190
  },
28878
29191
  children: [
28879
- /* @__PURE__ */ jsx50(SelectTrigger, { className: "w-[100px]", children: /* @__PURE__ */ jsx50(SelectValue, { placeholder: "Select" }) }),
28880
- /* @__PURE__ */ jsxs28(SelectContent, { children: [
28881
- /* @__PURE__ */ jsx50(SelectItem, { value: "5", children: "5" }),
28882
- /* @__PURE__ */ jsx50(SelectItem, { value: "10", children: "10" }),
28883
- /* @__PURE__ */ jsx50(SelectItem, { value: "20", children: "20" }),
28884
- /* @__PURE__ */ jsx50(SelectItem, { value: "50", children: "50" })
29192
+ /* @__PURE__ */ jsx53(SelectTrigger, { className: "w-[100px]", children: /* @__PURE__ */ jsx53(SelectValue, { placeholder: "Select" }) }),
29193
+ /* @__PURE__ */ jsxs31(SelectContent, { children: [
29194
+ /* @__PURE__ */ jsx53(SelectItem, { value: "5", children: "5" }),
29195
+ /* @__PURE__ */ jsx53(SelectItem, { value: "10", children: "10" }),
29196
+ /* @__PURE__ */ jsx53(SelectItem, { value: "20", children: "20" }),
29197
+ /* @__PURE__ */ jsx53(SelectItem, { value: "50", children: "50" })
28885
29198
  ] })
28886
29199
  ]
28887
29200
  }
28888
29201
  )
28889
29202
  ] }),
28890
- /* @__PURE__ */ jsx50(Pagination, { className: "justify-end", children: /* @__PURE__ */ jsxs28(PaginationContent, { children: [
28891
- /* @__PURE__ */ jsx50(PaginationItem, { children: /* @__PURE__ */ jsx50(
29203
+ /* @__PURE__ */ jsx53(Pagination, { className: "justify-end", children: /* @__PURE__ */ jsxs31(PaginationContent, { children: [
29204
+ /* @__PURE__ */ jsx53(PaginationItem, { children: /* @__PURE__ */ jsx53(
28892
29205
  PaginationPrevious,
28893
29206
  {
28894
29207
  onClick: () => handlePageChange(currentPage - 1),
28895
29208
  className: currentPage === 1 ? "pointer-events-none opacity-50" : "cursor-pointer"
28896
29209
  }
28897
29210
  ) }),
28898
- pageNumbers.map((pageNumber, index) => /* @__PURE__ */ jsx50(PaginationItem, { children: pageNumber === "..." ? /* @__PURE__ */ jsx50(PaginationEllipsis, {}) : /* @__PURE__ */ jsx50(
29211
+ pageNumbers.map((pageNumber, index) => /* @__PURE__ */ jsx53(PaginationItem, { children: pageNumber === "..." ? /* @__PURE__ */ jsx53(PaginationEllipsis, {}) : /* @__PURE__ */ jsx53(
28899
29212
  PaginationLink,
28900
29213
  {
28901
29214
  onClick: () => handlePageChange(pageNumber),
@@ -28904,7 +29217,7 @@ var CustomPagination = ({
28904
29217
  children: pageNumber
28905
29218
  }
28906
29219
  ) }, index)),
28907
- /* @__PURE__ */ jsx50(PaginationItem, { children: /* @__PURE__ */ jsx50(
29220
+ /* @__PURE__ */ jsx53(PaginationItem, { children: /* @__PURE__ */ jsx53(
28908
29221
  PaginationNext,
28909
29222
  {
28910
29223
  onClick: () => handlePageChange(currentPage + 1),
@@ -28919,124 +29232,8 @@ var Pagination_default = CustomPagination;
28919
29232
  // src/components/Navigation/Tabs/Tabs.tsx
28920
29233
  import Link5 from "next/link";
28921
29234
  import { useRouter } from "next/navigation";
28922
-
28923
- // src/components/ui/dialog.tsx
28924
- import * as DialogPrimitive from "@radix-ui/react-dialog";
28925
- import { jsx as jsx51, jsxs as jsxs29 } from "react/jsx-runtime";
28926
- function Dialog({
28927
- ...props
28928
- }) {
28929
- return /* @__PURE__ */ jsx51(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
28930
- }
28931
- function DialogPortal({
28932
- ...props
28933
- }) {
28934
- return /* @__PURE__ */ jsx51(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
28935
- }
28936
- function DialogOverlay({
28937
- className,
28938
- ...props
28939
- }) {
28940
- return /* @__PURE__ */ jsx51(
28941
- DialogPrimitive.Overlay,
28942
- {
28943
- "data-slot": "dialog-overlay",
28944
- className: cn(
28945
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-[60] bg-black/50",
28946
- className
28947
- ),
28948
- ...props
28949
- }
28950
- );
28951
- }
28952
- function DialogContent({
28953
- className,
28954
- children,
28955
- showCloseButton = true,
28956
- ...props
28957
- }) {
28958
- return /* @__PURE__ */ jsxs29(DialogPortal, { "data-slot": "dialog-portal", children: [
28959
- /* @__PURE__ */ jsx51(DialogOverlay, {}),
28960
- /* @__PURE__ */ jsxs29(
28961
- DialogPrimitive.Content,
28962
- {
28963
- "data-slot": "dialog-content",
28964
- className: cn(
28965
- "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-[70] grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
28966
- className
28967
- ),
28968
- ...props,
28969
- children: [
28970
- children,
28971
- showCloseButton && /* @__PURE__ */ jsxs29(
28972
- DialogPrimitive.Close,
28973
- {
28974
- "data-slot": "dialog-close",
28975
- className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
28976
- children: [
28977
- /* @__PURE__ */ jsx51(X, {}),
28978
- /* @__PURE__ */ jsx51("span", { className: "sr-only", children: "Close" })
28979
- ]
28980
- }
28981
- )
28982
- ]
28983
- }
28984
- )
28985
- ] });
28986
- }
28987
- function DialogHeader({ className, ...props }) {
28988
- return /* @__PURE__ */ jsx51(
28989
- "div",
28990
- {
28991
- "data-slot": "dialog-header",
28992
- className: cn("flex flex-col gap-2 text-center sm:text-left", className),
28993
- ...props
28994
- }
28995
- );
28996
- }
28997
- function DialogFooter({ className, ...props }) {
28998
- return /* @__PURE__ */ jsx51(
28999
- "div",
29000
- {
29001
- "data-slot": "dialog-footer",
29002
- className: cn(
29003
- "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
29004
- className
29005
- ),
29006
- ...props
29007
- }
29008
- );
29009
- }
29010
- function DialogTitle({
29011
- className,
29012
- ...props
29013
- }) {
29014
- return /* @__PURE__ */ jsx51(
29015
- DialogPrimitive.Title,
29016
- {
29017
- "data-slot": "dialog-title",
29018
- className: cn("text-lg leading-none font-semibold", className),
29019
- ...props
29020
- }
29021
- );
29022
- }
29023
- function DialogDescription({
29024
- className,
29025
- ...props
29026
- }) {
29027
- return /* @__PURE__ */ jsx51(
29028
- DialogPrimitive.Description,
29029
- {
29030
- "data-slot": "dialog-description",
29031
- className: cn("text-muted-foreground text-sm", className),
29032
- ...props
29033
- }
29034
- );
29035
- }
29036
-
29037
- // src/components/Navigation/Tabs/Tabs.tsx
29038
- import { useCallback as useCallback2, useState as useState5 } from "react";
29039
- import { Fragment as Fragment18, jsx as jsx52, jsxs as jsxs30 } from "react/jsx-runtime";
29235
+ import { useCallback as useCallback2, useState as useState6 } from "react";
29236
+ import { Fragment as Fragment18, jsx as jsx54, jsxs as jsxs32 } from "react/jsx-runtime";
29040
29237
  var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuilder = true }) => {
29041
29238
  const rawTabs = Array.isArray(tabs) ? tabs : [];
29042
29239
  const baseClasses = "text-[12px] text-foreground p-2 text-center rounded-md transition-colors";
@@ -29047,8 +29244,8 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
29047
29244
  return pathname === path || path !== "/" && pathname?.startsWith(path);
29048
29245
  };
29049
29246
  const router = useRouter();
29050
- const [showExitDialog, setShowExitDialog] = useState5(false);
29051
- const [pendingUrl, setPendingUrl] = useState5(null);
29247
+ const [showExitDialog, setShowExitDialog] = useState6(false);
29248
+ const [pendingUrl, setPendingUrl] = useState6(null);
29052
29249
  const handleBuilderExit = useCallback2(
29053
29250
  (e, url) => {
29054
29251
  if (isBuilder) {
@@ -29068,23 +29265,23 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
29068
29265
  const renderDesktopTab = (tab, index) => {
29069
29266
  const finalClasses = [baseClasses, isActive(tab.url) ? activeClasses : hoverClasses, tab.className || ""].join(" ");
29070
29267
  if (Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown) {
29071
- return /* @__PURE__ */ jsxs30(DropdownMenu, { children: [
29072
- /* @__PURE__ */ jsxs30(DropdownMenuTrigger, { className: `${finalClasses} inline-flex items-center gap-1`, children: [
29268
+ return /* @__PURE__ */ jsxs32(DropdownMenu, { children: [
29269
+ /* @__PURE__ */ jsxs32(DropdownMenuTrigger, { className: `${finalClasses} inline-flex items-center gap-1`, children: [
29073
29270
  tab.header,
29074
- /* @__PURE__ */ jsx52(ChevronDown, { className: "h-4 w-4 opacity-80" })
29271
+ /* @__PURE__ */ jsx54(ChevronDown, { className: "h-4 w-4 opacity-80" })
29075
29272
  ] }),
29076
- /* @__PURE__ */ jsx52(
29273
+ /* @__PURE__ */ jsx54(
29077
29274
  DropdownMenuContent,
29078
29275
  {
29079
29276
  align: "start",
29080
29277
  sideOffset: 6,
29081
29278
  className: "z-50 min-w-[160px] rounded-md border border-gray-200 bg-white p-1 shadow-lg",
29082
- children: tab.children.map((item) => /* @__PURE__ */ jsx52(
29279
+ children: tab.children.map((item) => /* @__PURE__ */ jsx54(
29083
29280
  DropdownMenuItem,
29084
29281
  {
29085
29282
  asChild: true,
29086
29283
  className: "cursor-pointer rounded-sm px-3 py-2 text-[12px] text-gray-800 hover:bg-gray-100 focus:bg-gray-100",
29087
- children: /* @__PURE__ */ jsx52(Link5, { href: item.url || "#", onClick: (e) => handleBuilderExit(e, item.url || "#"), children: item.header })
29284
+ children: /* @__PURE__ */ jsx54(Link5, { href: item.url || "#", onClick: (e) => handleBuilderExit(e, item.url || "#"), children: item.header })
29088
29285
  },
29089
29286
  item.id
29090
29287
  ))
@@ -29092,7 +29289,7 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
29092
29289
  )
29093
29290
  ] }, index);
29094
29291
  }
29095
- return tab.url ? /* @__PURE__ */ jsx52(
29292
+ return tab.url ? /* @__PURE__ */ jsx54(
29096
29293
  Link5,
29097
29294
  {
29098
29295
  href: tab.url,
@@ -29102,14 +29299,14 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
29102
29299
  children: tab.header
29103
29300
  },
29104
29301
  index
29105
- ) : /* @__PURE__ */ jsx52("div", { className: finalClasses, style: tab.style, role: "button", tabIndex: 0, children: tab.header }, index);
29302
+ ) : /* @__PURE__ */ jsx54("div", { className: finalClasses, style: tab.style, role: "button", tabIndex: 0, children: tab.header }, index);
29106
29303
  };
29107
- const renderMobileMenu = () => /* @__PURE__ */ jsxs30(DropdownMenu, { children: [
29108
- /* @__PURE__ */ jsxs30(DropdownMenuTrigger, { className: "flex items-center gap-2 px-3 py-2 rounded-md bg-white/10 text-white text-sm", children: [
29109
- /* @__PURE__ */ jsx52(Menu, { className: "h-4 w-4" }),
29304
+ const renderMobileMenu = () => /* @__PURE__ */ jsxs32(DropdownMenu, { children: [
29305
+ /* @__PURE__ */ jsxs32(DropdownMenuTrigger, { className: "flex items-center gap-2 px-3 py-2 rounded-md bg-white/10 text-white text-sm", children: [
29306
+ /* @__PURE__ */ jsx54(Menu, { className: "h-4 w-4" }),
29110
29307
  "Menu"
29111
29308
  ] }),
29112
- /* @__PURE__ */ jsx52(
29309
+ /* @__PURE__ */ jsx54(
29113
29310
  DropdownMenuContent,
29114
29311
  {
29115
29312
  align: "start",
@@ -29118,25 +29315,25 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
29118
29315
  children: rawTabs.map((tab, i) => {
29119
29316
  const hasChildren = Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown;
29120
29317
  if (hasChildren) {
29121
- return /* @__PURE__ */ jsxs30(DropdownMenuSub, { children: [
29122
- /* @__PURE__ */ jsx52(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 }),
29123
- /* @__PURE__ */ jsx52(DropdownMenuSubContent, { className: "bg-white border shadow-lg rounded-md p-1", children: tab.children.map((item) => /* @__PURE__ */ jsx52(
29318
+ return /* @__PURE__ */ jsxs32(DropdownMenuSub, { children: [
29319
+ /* @__PURE__ */ jsx54(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 }),
29320
+ /* @__PURE__ */ jsx54(DropdownMenuSubContent, { className: "bg-white border shadow-lg rounded-md p-1", children: tab.children.map((item) => /* @__PURE__ */ jsx54(
29124
29321
  DropdownMenuItem,
29125
29322
  {
29126
29323
  asChild: true,
29127
29324
  className: "cursor-pointer rounded-sm px-3 py-2 text-[12px] text-gray-800 hover:bg-gray-100",
29128
- children: /* @__PURE__ */ jsx52(Link5, { href: item.url || "#", onClick: (e) => handleBuilderExit(e, item.url || "#"), children: item.header })
29325
+ children: /* @__PURE__ */ jsx54(Link5, { href: item.url || "#", onClick: (e) => handleBuilderExit(e, item.url || "#"), children: item.header })
29129
29326
  },
29130
29327
  item.id
29131
29328
  )) })
29132
29329
  ] }, i);
29133
29330
  }
29134
- return /* @__PURE__ */ jsx52(
29331
+ return /* @__PURE__ */ jsx54(
29135
29332
  DropdownMenuItem,
29136
29333
  {
29137
29334
  asChild: true,
29138
29335
  className: "cursor-pointer rounded-sm px-3 py-2 text-[13px] text-gray-800 hover:bg-gray-100",
29139
- children: /* @__PURE__ */ jsx52(Link5, { href: tab.url || "#", onClick: (e) => handleBuilderExit(e, tab.url || "#"), children: tab.header })
29336
+ children: /* @__PURE__ */ jsx54(Link5, { href: tab.url || "#", onClick: (e) => handleBuilderExit(e, tab.url || "#"), children: tab.header })
29140
29337
  },
29141
29338
  i
29142
29339
  );
@@ -29146,19 +29343,19 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
29146
29343
  ] });
29147
29344
  const forceMobile = canvasMode ? canvasMode === "mobile" || canvasMode === "tablet" : void 0;
29148
29345
  const forceDesktop = canvasMode ? canvasMode === "desktop" : void 0;
29149
- return /* @__PURE__ */ jsxs30(Fragment18, { children: [
29150
- /* @__PURE__ */ jsxs30("div", { className, style, children: [
29151
- forceDesktop !== void 0 ? forceDesktop && /* @__PURE__ */ jsx52("div", { className: "hidden md:flex", children: /* @__PURE__ */ jsx52("div", { className: `flex gap-2 ${verticalMenu ? "flex-col items-start" : "flex-row"}`, children: rawTabs.map(renderDesktopTab) }) }) : /* @__PURE__ */ jsx52("div", { className: "hidden md:flex", children: /* @__PURE__ */ jsx52("div", { className: `flex gap-2 ${verticalMenu ? "flex-col items-start" : "flex-row"}`, children: rawTabs.map(renderDesktopTab) }) }),
29152
- forceMobile !== void 0 ? forceMobile && /* @__PURE__ */ jsx52("div", { children: renderMobileMenu() }) : /* @__PURE__ */ jsx52("div", { className: "flex md:hidden", children: renderMobileMenu() })
29346
+ return /* @__PURE__ */ jsxs32(Fragment18, { children: [
29347
+ /* @__PURE__ */ jsxs32("div", { className, style, children: [
29348
+ forceDesktop !== void 0 ? forceDesktop && /* @__PURE__ */ jsx54("div", { className: "hidden md:flex", children: /* @__PURE__ */ jsx54("div", { className: `flex gap-2 ${verticalMenu ? "flex-col items-start" : "flex-row"}`, children: rawTabs.map(renderDesktopTab) }) }) : /* @__PURE__ */ jsx54("div", { className: "hidden md:flex", children: /* @__PURE__ */ jsx54("div", { className: `flex gap-2 ${verticalMenu ? "flex-col items-start" : "flex-row"}`, children: rawTabs.map(renderDesktopTab) }) }),
29349
+ forceMobile !== void 0 ? forceMobile && /* @__PURE__ */ jsx54("div", { children: renderMobileMenu() }) : /* @__PURE__ */ jsx54("div", { className: "flex md:hidden", children: renderMobileMenu() })
29153
29350
  ] }),
29154
- /* @__PURE__ */ jsx52(Dialog, { open: showExitDialog, onOpenChange: setShowExitDialog, children: /* @__PURE__ */ jsxs30(DialogContent, { className: "bg-[#fff]", children: [
29155
- /* @__PURE__ */ jsxs30(DialogHeader, { children: [
29156
- /* @__PURE__ */ jsx52(DialogTitle, { children: "Exit Builder?" }),
29157
- /* @__PURE__ */ jsx52(DialogDescription, { children: "You are about to leave the builder. Any unsaved changes may be lost." })
29351
+ /* @__PURE__ */ jsx54(Dialog, { open: showExitDialog, onOpenChange: setShowExitDialog, children: /* @__PURE__ */ jsxs32(DialogContent, { className: "bg-[#fff]", children: [
29352
+ /* @__PURE__ */ jsxs32(DialogHeader, { children: [
29353
+ /* @__PURE__ */ jsx54(DialogTitle, { children: "Exit Builder?" }),
29354
+ /* @__PURE__ */ jsx54(DialogDescription, { children: "You are about to leave the builder. Any unsaved changes may be lost." })
29158
29355
  ] }),
29159
- /* @__PURE__ */ jsxs30(DialogFooter, { children: [
29160
- /* @__PURE__ */ jsx52(Button, { className: "cursor-pointer bg-[#12715b] text-[#fff]", variant: "outline", onClick: () => setShowExitDialog(false), children: "Cancel" }),
29161
- /* @__PURE__ */ jsx52(Button, { className: "cursor-pointer border-[#12715b] border", onClick: confirmExit, children: "Yes, Exit" })
29356
+ /* @__PURE__ */ jsxs32(DialogFooter, { children: [
29357
+ /* @__PURE__ */ jsx54(Button, { className: "cursor-pointer bg-[#12715b] text-[#fff]", variant: "outline", onClick: () => setShowExitDialog(false), children: "Cancel" }),
29358
+ /* @__PURE__ */ jsx54(Button, { className: "cursor-pointer border-[#12715b] border", onClick: confirmExit, children: "Yes, Exit" })
29162
29359
  ] })
29163
29360
  ] }) })
29164
29361
  ] });
@@ -29166,13 +29363,13 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
29166
29363
  var Tabs_default = Tabs;
29167
29364
 
29168
29365
  // src/components/Navigation/Stages/Stages.tsx
29169
- import React8 from "react";
29170
- import { jsx as jsx53, jsxs as jsxs31 } from "react/jsx-runtime";
29366
+ import React9 from "react";
29367
+ import { jsx as jsx55, jsxs as jsxs33 } from "react/jsx-runtime";
29171
29368
  var StagesComponent = ({ stages, isShowBtn, buttonText, className, style, onStageChange }) => {
29172
- return /* @__PURE__ */ jsx53("div", { className, style, children: /* @__PURE__ */ jsxs31("div", { className: "flex items-center justify-between bg-red p-2 rounded-lg border border-gray-200 w-full", children: [
29173
- /* @__PURE__ */ jsx53("div", { className: "flex items-center", children: /* @__PURE__ */ jsx53("button", { className: "p-2 hover:bg-gray-100 rounded", children: /* @__PURE__ */ jsx53("svg", { className: "w-4 h-4 text-gray-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx53("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) }) }) }),
29174
- /* @__PURE__ */ jsx53("div", { className: "flex items-center flex-1 px-2 flex-wrap gap-2", children: stages?.length > 0 && stages?.map((stage, index) => /* @__PURE__ */ jsxs31(React8.Fragment, { children: [
29175
- /* @__PURE__ */ jsx53(
29369
+ return /* @__PURE__ */ jsx55("div", { className, style, children: /* @__PURE__ */ jsxs33("div", { className: "flex items-center justify-between bg-red p-2 rounded-lg border border-gray-200 w-full", children: [
29370
+ /* @__PURE__ */ jsx55("div", { className: "flex items-center", children: /* @__PURE__ */ jsx55("button", { className: "p-2 hover:bg-gray-100 rounded", children: /* @__PURE__ */ jsx55("svg", { className: "w-4 h-4 text-gray-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx55("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) }) }) }),
29371
+ /* @__PURE__ */ jsx55("div", { className: "flex items-center flex-1 px-2 flex-wrap gap-2", children: stages?.length > 0 && stages?.map((stage, index) => /* @__PURE__ */ jsxs33(React9.Fragment, { children: [
29372
+ /* @__PURE__ */ jsx55(
29176
29373
  "button",
29177
29374
  {
29178
29375
  className: `min-w-[120px] px-4 py-2 rounded-full text-sm font-medium transition-colors duration-200 whitespace-nowrap ${stage.isActive ? "bg-[#034486] text-white shadow-md" : "bg-white text-gray-700 hover:bg-gray-100 border border-gray-200"}`,
@@ -29184,9 +29381,9 @@ var StagesComponent = ({ stages, isShowBtn, buttonText, className, style, onStag
29184
29381
  children: stage.header
29185
29382
  }
29186
29383
  ),
29187
- index < stages.length - 1 && /* @__PURE__ */ jsx53("div", { className: "flex-shrink-0 w-3 h-px bg-gray-300" })
29384
+ index < stages.length - 1 && /* @__PURE__ */ jsx55("div", { className: "flex-shrink-0 w-3 h-px bg-gray-300" })
29188
29385
  ] }, stage.id)) }),
29189
- isShowBtn && /* @__PURE__ */ jsx53("div", { className: "flex items-center", children: /* @__PURE__ */ jsx53(
29386
+ isShowBtn && /* @__PURE__ */ jsx55("div", { className: "flex items-center", children: /* @__PURE__ */ jsx55(
29190
29387
  "button",
29191
29388
  {
29192
29389
  className: "bg-[#034486] text-white px-6 py-2 rounded-lg text-sm font-medium transition-colors duration-200 shadow-sm",
@@ -29204,26 +29401,26 @@ var StagesComponent = ({ stages, isShowBtn, buttonText, className, style, onStag
29204
29401
  var Stages_default = StagesComponent;
29205
29402
 
29206
29403
  // src/components/Navigation/Spacer/Spacer.tsx
29207
- import { jsx as jsx54 } from "react/jsx-runtime";
29404
+ import { jsx as jsx56 } from "react/jsx-runtime";
29208
29405
  var Spacer = ({ className, style }) => {
29209
- return /* @__PURE__ */ jsx54("div", { className: `${className}`, style });
29406
+ return /* @__PURE__ */ jsx56("div", { className: `${className}`, style });
29210
29407
  };
29211
29408
  var Spacer_default = Spacer;
29212
29409
 
29213
29410
  // src/components/Navigation/Profile/Profile.tsx
29214
- import { jsx as jsx55, jsxs as jsxs32 } from "react/jsx-runtime";
29411
+ import { jsx as jsx57, jsxs as jsxs34 } from "react/jsx-runtime";
29215
29412
 
29216
29413
  // src/components/Navigation/Notification/Notification.tsx
29217
- import { jsx as jsx56, jsxs as jsxs33 } from "react/jsx-runtime";
29414
+ import { jsx as jsx58, jsxs as jsxs35 } from "react/jsx-runtime";
29218
29415
 
29219
29416
  // src/components/Navigation/Logo/Logo.tsx
29220
- import { jsx as jsx57 } from "react/jsx-runtime";
29417
+ import { jsx as jsx59 } from "react/jsx-runtime";
29221
29418
 
29222
29419
  // src/components/ui/avatar.tsx
29223
- import * as React9 from "react";
29420
+ import * as React10 from "react";
29224
29421
  import * as AvatarPrimitive from "@radix-ui/react-avatar";
29225
- import { jsx as jsx58 } from "react/jsx-runtime";
29226
- var Avatar = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx58(
29422
+ import { jsx as jsx60 } from "react/jsx-runtime";
29423
+ var Avatar = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx60(
29227
29424
  AvatarPrimitive.Root,
29228
29425
  {
29229
29426
  ref,
@@ -29235,7 +29432,7 @@ var Avatar = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
29235
29432
  }
29236
29433
  ));
29237
29434
  Avatar.displayName = AvatarPrimitive.Root.displayName;
29238
- var AvatarImage = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx58(
29435
+ var AvatarImage = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx60(
29239
29436
  AvatarPrimitive.Image,
29240
29437
  {
29241
29438
  ref,
@@ -29244,7 +29441,7 @@ var AvatarImage = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE
29244
29441
  }
29245
29442
  ));
29246
29443
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
29247
- var AvatarFallback = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx58(
29444
+ var AvatarFallback = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx60(
29248
29445
  AvatarPrimitive.Fallback,
29249
29446
  {
29250
29447
  ref,
@@ -29262,8 +29459,8 @@ import Link6 from "next/link";
29262
29459
  import Image3 from "next/image";
29263
29460
  import { useRouter as useRouter2 } from "next/navigation";
29264
29461
  import { DropdownMenuSeparator } from "@radix-ui/react-dropdown-menu";
29265
- import { useCallback as useCallback3, useMemo as useMemo3, useState as useState6 } from "react";
29266
- import { Fragment as Fragment19, jsx as jsx59, jsxs as jsxs34 } from "react/jsx-runtime";
29462
+ import { useCallback as useCallback3, useMemo as useMemo4, useState as useState7 } from "react";
29463
+ import { Fragment as Fragment19, jsx as jsx61, jsxs as jsxs36 } from "react/jsx-runtime";
29267
29464
  function Navbar({
29268
29465
  style,
29269
29466
  badgeType,
@@ -29283,8 +29480,8 @@ function Navbar({
29283
29480
  }) {
29284
29481
  const isMobileView = canvasMode === "mobile" || canvasMode === "tablet";
29285
29482
  const router = useRouter2();
29286
- const [showExitDialog, setShowExitDialog] = useState6(false);
29287
- const [pendingUrl, setPendingUrl] = useState6(null);
29483
+ const [showExitDialog, setShowExitDialog] = useState7(false);
29484
+ const [pendingUrl, setPendingUrl] = useState7(null);
29288
29485
  const handleBuilderExit = useCallback3(
29289
29486
  (e, url) => {
29290
29487
  if (isBuilder) {
@@ -29301,29 +29498,29 @@ function Navbar({
29301
29498
  router.push(pendingUrl);
29302
29499
  }
29303
29500
  };
29304
- const formatedMenu = useMemo3(() => {
29501
+ const formatedMenu = useMemo4(() => {
29305
29502
  if (source === "state" && navList && navList.length) {
29306
29503
  return navList.map((i) => ({ ...i, header: i.name || "Menu" }));
29307
29504
  }
29308
29505
  return list || [];
29309
29506
  }, [source, navList]);
29310
- return /* @__PURE__ */ jsxs34(Fragment19, { children: [
29311
- /* @__PURE__ */ jsx59(
29507
+ return /* @__PURE__ */ jsxs36(Fragment19, { children: [
29508
+ /* @__PURE__ */ jsx61(
29312
29509
  "nav",
29313
29510
  {
29314
29511
  className: "w-full border-b border-b-white dark:border-b-gray-800 dark:bg-gray-800 bg-white shadow-sm",
29315
29512
  style,
29316
- children: /* @__PURE__ */ jsxs34("div", { className: "mx-auto flex max-w-[90%] items-center justify-between px-4 py-4", children: [
29317
- /* @__PURE__ */ jsx59(
29513
+ children: /* @__PURE__ */ jsxs36("div", { className: "mx-auto flex max-w-[90%] items-center justify-between px-4 py-4", children: [
29514
+ /* @__PURE__ */ jsx61(
29318
29515
  Link6,
29319
29516
  {
29320
29517
  href: "/",
29321
29518
  onClick: (e) => handleBuilderExit(e, "/"),
29322
29519
  className: "flex items-center space-x-2",
29323
- children: imageUrl ? /* @__PURE__ */ jsx59(Image3, { src: imageUrl, alt: altText, width: 200, height: 200 }) : /* @__PURE__ */ jsx59("span", { className: "font-semibold text-blue-700", children: "Logo" })
29520
+ children: imageUrl ? /* @__PURE__ */ jsx61(Image3, { src: imageUrl, alt: altText, width: 200, height: 200 }) : /* @__PURE__ */ jsx61("span", { className: "font-semibold text-blue-700", children: "Logo" })
29324
29521
  }
29325
29522
  ),
29326
- !isMobileView && /* @__PURE__ */ jsx59("div", { className: "flex items-center space-x-6 sm:hidden md:flex", children: formatedMenu.map((item) => /* @__PURE__ */ jsx59(
29523
+ !isMobileView && /* @__PURE__ */ jsx61("div", { className: "flex items-center space-x-6 sm:hidden md:flex", children: formatedMenu.map((item) => /* @__PURE__ */ jsx61(
29327
29524
  Link6,
29328
29525
  {
29329
29526
  href: item.url || "#",
@@ -29333,39 +29530,39 @@ function Navbar({
29333
29530
  },
29334
29531
  item.id
29335
29532
  )) }),
29336
- /* @__PURE__ */ jsxs34("div", { className: "flex items-center space-x-3", children: [
29337
- !isMobileView ? /* @__PURE__ */ jsx59("div", { className: "flex-1 px-6", children: /* @__PURE__ */ jsxs34("div", { className: "relative w-full max-w-md border border-gray-300 rounded-md", children: [
29338
- /* @__PURE__ */ jsx59(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 dark:text-white text-gray-400" }),
29339
- /* @__PURE__ */ jsx59(Input, { placeholder: "Search", className: "pl-9 text-gray-400" })
29340
- ] }) }) : /* @__PURE__ */ jsx59(Button, { variant: "ghost", size: "icon", className: "border border-gray-400", children: /* @__PURE__ */ jsx59(Search, { className: "h-5 w-5 text-gray-400" }) }),
29341
- /* @__PURE__ */ jsxs34("div", { className: "relative bg-[#E9E9E9] dark:bg-gray-700 rounded-md", children: [
29342
- /* @__PURE__ */ jsx59(Button, { variant: "ghost", size: "icon", children: /* @__PURE__ */ jsx59(Bell, { className: "h-5 w-5 text-[#1C1B1F] dark:text-gray-400" }) }),
29343
- badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && Number(badgeCount) > 0 ? /* @__PURE__ */ jsx59("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__ */ jsx59("span", { className: "absolute -top-1 -right-1 flex h-2 w-2 items-center justify-center rounded-full bg-red-500" })
29533
+ /* @__PURE__ */ jsxs36("div", { className: "flex items-center space-x-3", children: [
29534
+ !isMobileView ? /* @__PURE__ */ jsx61("div", { className: "flex-1 px-6", children: /* @__PURE__ */ jsxs36("div", { className: "relative w-full max-w-md border border-gray-300 rounded-md", children: [
29535
+ /* @__PURE__ */ jsx61(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 dark:text-white text-gray-400" }),
29536
+ /* @__PURE__ */ jsx61(Input, { placeholder: "Search", className: "pl-9 text-gray-400" })
29537
+ ] }) }) : /* @__PURE__ */ jsx61(Button, { variant: "ghost", size: "icon", className: "border border-gray-400", children: /* @__PURE__ */ jsx61(Search, { className: "h-5 w-5 text-gray-400" }) }),
29538
+ /* @__PURE__ */ jsxs36("div", { className: "relative bg-[#E9E9E9] dark:bg-gray-700 rounded-md", children: [
29539
+ /* @__PURE__ */ jsx61(Button, { variant: "ghost", size: "icon", children: /* @__PURE__ */ jsx61(Bell, { className: "h-5 w-5 text-[#1C1B1F] dark:text-gray-400" }) }),
29540
+ badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && Number(badgeCount) > 0 ? /* @__PURE__ */ jsx61("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__ */ jsx61("span", { className: "absolute -top-1 -right-1 flex h-2 w-2 items-center justify-center rounded-full bg-red-500" })
29344
29541
  ] }),
29345
- /* @__PURE__ */ jsxs34(DropdownMenu, { children: [
29346
- /* @__PURE__ */ jsx59(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs34("div", { className: "flex items-center space-x-2", children: [
29347
- !isMobileView && showName && /* @__PURE__ */ jsx59("h4", { className: "text-[#000000] dark:text-gray-300 text-[13px] font-[500] mb-0", children: userName }),
29348
- !isMobileView ? /* @__PURE__ */ jsxs34(Fragment19, { children: [
29349
- /* @__PURE__ */ jsx59(Avatar, { className: "cursor-pointer h-8 w-8 text-gray-900", children: profileType === "avatar" ? /* @__PURE__ */ jsx59(
29542
+ /* @__PURE__ */ jsxs36(DropdownMenu, { children: [
29543
+ /* @__PURE__ */ jsx61(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs36("div", { className: "flex items-center space-x-2", children: [
29544
+ !isMobileView && showName && /* @__PURE__ */ jsx61("h4", { className: "text-[#000000] dark:text-gray-300 text-[13px] font-[500] mb-0", children: userName }),
29545
+ !isMobileView ? /* @__PURE__ */ jsxs36(Fragment19, { children: [
29546
+ /* @__PURE__ */ jsx61(Avatar, { className: "cursor-pointer h-8 w-8 text-gray-900", children: profileType === "avatar" ? /* @__PURE__ */ jsx61(
29350
29547
  AvatarImage,
29351
29548
  {
29352
29549
  src: "/images/appbuilder/toolset/profile.svg",
29353
29550
  alt: "Profile"
29354
29551
  }
29355
- ) : /* @__PURE__ */ jsx59("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) }) }),
29356
- /* @__PURE__ */ jsx59(
29552
+ ) : /* @__PURE__ */ jsx61("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) }) }),
29553
+ /* @__PURE__ */ jsx61(
29357
29554
  Button,
29358
29555
  {
29359
29556
  variant: "ghost",
29360
29557
  size: "icon",
29361
29558
  className: "text-gray-900 md:hidden dark:invert",
29362
- children: /* @__PURE__ */ jsx59(Menu, { className: "h-6 w-6" })
29559
+ children: /* @__PURE__ */ jsx61(Menu, { className: "h-6 w-6" })
29363
29560
  }
29364
29561
  )
29365
- ] }) : /* @__PURE__ */ jsx59(Button, { variant: "ghost", size: "icon", className: "text-gray-900 dark:invert", children: /* @__PURE__ */ jsx59(Menu, { className: "h-6 w-6" }) })
29562
+ ] }) : /* @__PURE__ */ jsx61(Button, { variant: "ghost", size: "icon", className: "text-gray-900 dark:invert", children: /* @__PURE__ */ jsx61(Menu, { className: "h-6 w-6" }) })
29366
29563
  ] }) }),
29367
- /* @__PURE__ */ jsxs34(DropdownMenuContent, { align: "end", className: "bg-white dark:bg-gray-800", children: [
29368
- profileMenu && profileMenu.length > 0 && /* @__PURE__ */ jsx59(Fragment19, { children: profileMenu.map((item) => /* @__PURE__ */ jsx59(DropdownMenuItem, { className: "text-black dark:invert", children: /* @__PURE__ */ jsx59(
29564
+ /* @__PURE__ */ jsxs36(DropdownMenuContent, { align: "end", className: "bg-white dark:bg-gray-800", children: [
29565
+ profileMenu && profileMenu.length > 0 && /* @__PURE__ */ jsx61(Fragment19, { children: profileMenu.map((item) => /* @__PURE__ */ jsx61(DropdownMenuItem, { className: "text-black dark:invert", children: /* @__PURE__ */ jsx61(
29369
29566
  Link6,
29370
29567
  {
29371
29568
  href: item.url || "#",
@@ -29373,9 +29570,9 @@ function Navbar({
29373
29570
  children: item.header
29374
29571
  }
29375
29572
  ) }, item.id)) }),
29376
- /* @__PURE__ */ jsxs34("div", { className: "md:hidden", children: [
29377
- /* @__PURE__ */ jsx59(DropdownMenuSeparator, {}),
29378
- formatedMenu && formatedMenu.length > 0 && /* @__PURE__ */ jsx59(Fragment19, { children: formatedMenu.map((item) => /* @__PURE__ */ jsx59(DropdownMenuItem, { className: "text-black dark:invert", children: /* @__PURE__ */ jsx59(
29573
+ /* @__PURE__ */ jsxs36("div", { className: "md:hidden", children: [
29574
+ /* @__PURE__ */ jsx61(DropdownMenuSeparator, {}),
29575
+ formatedMenu && formatedMenu.length > 0 && /* @__PURE__ */ jsx61(Fragment19, { children: formatedMenu.map((item) => /* @__PURE__ */ jsx61(DropdownMenuItem, { className: "text-black dark:invert", children: /* @__PURE__ */ jsx61(
29379
29576
  Link6,
29380
29577
  {
29381
29578
  href: item.url || "#",
@@ -29390,21 +29587,21 @@ function Navbar({
29390
29587
  ] })
29391
29588
  }
29392
29589
  ),
29393
- /* @__PURE__ */ jsx59(Dialog, { open: showExitDialog, onOpenChange: setShowExitDialog, children: /* @__PURE__ */ jsxs34(DialogContent, { className: "bg-[#fff]", children: [
29394
- /* @__PURE__ */ jsxs34(DialogHeader, { children: [
29395
- /* @__PURE__ */ jsx59(DialogTitle, { children: "Exit Builder?" }),
29396
- /* @__PURE__ */ jsx59(DialogDescription, { children: "You are about to leave the builder. Any unsaved changes may be lost." })
29590
+ /* @__PURE__ */ jsx61(Dialog, { open: showExitDialog, onOpenChange: setShowExitDialog, children: /* @__PURE__ */ jsxs36(DialogContent, { className: "bg-[#fff]", children: [
29591
+ /* @__PURE__ */ jsxs36(DialogHeader, { children: [
29592
+ /* @__PURE__ */ jsx61(DialogTitle, { children: "Exit Builder?" }),
29593
+ /* @__PURE__ */ jsx61(DialogDescription, { children: "You are about to leave the builder. Any unsaved changes may be lost." })
29397
29594
  ] }),
29398
- /* @__PURE__ */ jsxs34(DialogFooter, { children: [
29399
- /* @__PURE__ */ jsx59(Button, { className: "cursor-pointer bg-[#12715b] text-[#fff]", variant: "outline", onClick: () => setShowExitDialog(false), children: "Cancel" }),
29400
- /* @__PURE__ */ jsx59(Button, { className: "cursor-pointer border-[#12715b] border", onClick: confirmExit, children: "Yes, Exit" })
29595
+ /* @__PURE__ */ jsxs36(DialogFooter, { children: [
29596
+ /* @__PURE__ */ jsx61(Button, { className: "cursor-pointer bg-[#12715b] text-[#fff]", variant: "outline", onClick: () => setShowExitDialog(false), children: "Cancel" }),
29597
+ /* @__PURE__ */ jsx61(Button, { className: "cursor-pointer border-[#12715b] border", onClick: confirmExit, children: "Yes, Exit" })
29401
29598
  ] })
29402
29599
  ] }) })
29403
29600
  ] });
29404
29601
  }
29405
29602
 
29406
29603
  // src/components/Chart/BarChart.tsx
29407
- import React10 from "react";
29604
+ import React11 from "react";
29408
29605
  import {
29409
29606
  BarChart,
29410
29607
  Bar,
@@ -29417,35 +29614,35 @@ import {
29417
29614
  ResponsiveContainer,
29418
29615
  Legend
29419
29616
  } from "recharts";
29420
- import { jsx as jsx60, jsxs as jsxs35 } from "react/jsx-runtime";
29617
+ import { jsx as jsx62, jsxs as jsxs37 } from "react/jsx-runtime";
29421
29618
  var ChartComponent = ({ className, style, loading, ...props }) => {
29422
29619
  const data = Array.isArray(props.data) ? props.data : [];
29423
29620
  const chartType = props.chartType || "bar";
29424
29621
  const legendsPosition = props.legendsPosition === "middle" || props.legendsPosition === "bottom" ? props.legendsPosition : "top";
29425
29622
  if (loading || data.length === 0) {
29426
- return /* @__PURE__ */ jsx60(
29623
+ return /* @__PURE__ */ jsx62(
29427
29624
  "div",
29428
29625
  {
29429
29626
  className: `flex items-center justify-center w-full h-[300px] md:h-[400px] bg-gray-50 animate-pulse rounded-lg ${className}`,
29430
29627
  style,
29431
- children: /* @__PURE__ */ jsx60("div", { className: "text-gray-400 text-sm md:text-base", children: loading ? "Loading chart report..." : "No data available to display the chart." })
29628
+ children: /* @__PURE__ */ jsx62("div", { className: "text-gray-400 text-sm md:text-base", children: loading ? "Loading chart report..." : "No data available to display the chart." })
29432
29629
  }
29433
29630
  );
29434
29631
  }
29435
- return /* @__PURE__ */ jsx60("div", { className: `${className} h-[400px]`, style, children: /* @__PURE__ */ jsx60(ResponsiveContainer, { width: "100%", height: "100%", children: chartType === "bar" ? /* @__PURE__ */ jsxs35(BarChart, { data, title: "Leads", desc: "content", children: [
29436
- /* @__PURE__ */ jsx60(CartesianGrid, { strokeDasharray: "3 3" }),
29437
- /* @__PURE__ */ jsx60(XAxis, { dataKey: "name" }),
29438
- /* @__PURE__ */ jsx60(YAxis, {}),
29439
- /* @__PURE__ */ jsx60(Tooltip, { formatter: (value) => `${value}k` }),
29440
- /* @__PURE__ */ jsx60(Legend, { verticalAlign: legendsPosition, align: "center" }),
29441
- /* @__PURE__ */ jsx60(
29632
+ return /* @__PURE__ */ jsx62("div", { className: `${className} h-[400px]`, style, children: /* @__PURE__ */ jsx62(ResponsiveContainer, { width: "100%", height: "100%", children: chartType === "bar" ? /* @__PURE__ */ jsxs37(BarChart, { data, title: "Leads", desc: "content", children: [
29633
+ /* @__PURE__ */ jsx62(CartesianGrid, { strokeDasharray: "3 3" }),
29634
+ /* @__PURE__ */ jsx62(XAxis, { dataKey: "name" }),
29635
+ /* @__PURE__ */ jsx62(YAxis, {}),
29636
+ /* @__PURE__ */ jsx62(Tooltip, { formatter: (value) => `${value}k` }),
29637
+ /* @__PURE__ */ jsx62(Legend, { verticalAlign: legendsPosition, align: "center" }),
29638
+ /* @__PURE__ */ jsx62(
29442
29639
  Bar,
29443
29640
  {
29444
29641
  dataKey: "value",
29445
29642
  fill: "#00695C",
29446
29643
  radius: [6, 6, 0, 0],
29447
29644
  isAnimationActive: false,
29448
- children: data.map((entry, index) => /* @__PURE__ */ jsx60(
29645
+ children: data.map((entry, index) => /* @__PURE__ */ jsx62(
29449
29646
  "rect",
29450
29647
  {
29451
29648
  fill: entry.color || "#00695C"
@@ -29454,16 +29651,16 @@ var ChartComponent = ({ className, style, loading, ...props }) => {
29454
29651
  ))
29455
29652
  }
29456
29653
  )
29457
- ] }) : /* @__PURE__ */ jsxs35(AreaChart, { data, children: [
29458
- /* @__PURE__ */ jsx60("defs", { children: /* @__PURE__ */ jsxs35("linearGradient", { id: "colorCount", x1: "0", y1: "0", x2: "0", y2: "1", children: [
29459
- /* @__PURE__ */ jsx60("stop", { offset: "5%", stopColor: "#00695C", stopOpacity: 0.8 }),
29460
- /* @__PURE__ */ jsx60("stop", { offset: "95%", stopColor: "#00695C", stopOpacity: 0 })
29654
+ ] }) : /* @__PURE__ */ jsxs37(AreaChart, { data, children: [
29655
+ /* @__PURE__ */ jsx62("defs", { children: /* @__PURE__ */ jsxs37("linearGradient", { id: "colorCount", x1: "0", y1: "0", x2: "0", y2: "1", children: [
29656
+ /* @__PURE__ */ jsx62("stop", { offset: "5%", stopColor: "#00695C", stopOpacity: 0.8 }),
29657
+ /* @__PURE__ */ jsx62("stop", { offset: "95%", stopColor: "#00695C", stopOpacity: 0 })
29461
29658
  ] }) }),
29462
- /* @__PURE__ */ jsx60(CartesianGrid, { strokeDasharray: "3 3" }),
29463
- /* @__PURE__ */ jsx60(XAxis, { dataKey: "name" }),
29464
- /* @__PURE__ */ jsx60(YAxis, {}),
29465
- /* @__PURE__ */ jsx60(Tooltip, { formatter: (value) => `${value}k` }),
29466
- /* @__PURE__ */ jsx60(
29659
+ /* @__PURE__ */ jsx62(CartesianGrid, { strokeDasharray: "3 3" }),
29660
+ /* @__PURE__ */ jsx62(XAxis, { dataKey: "name" }),
29661
+ /* @__PURE__ */ jsx62(YAxis, {}),
29662
+ /* @__PURE__ */ jsx62(Tooltip, { formatter: (value) => `${value}k` }),
29663
+ /* @__PURE__ */ jsx62(
29467
29664
  Area,
29468
29665
  {
29469
29666
  type: "monotone",
@@ -29476,10 +29673,10 @@ var ChartComponent = ({ className, style, loading, ...props }) => {
29476
29673
  )
29477
29674
  ] }) }) });
29478
29675
  };
29479
- var BarChart_default = React10.memo(ChartComponent);
29676
+ var BarChart_default = React11.memo(ChartComponent);
29480
29677
 
29481
29678
  // src/components/Chart/PieChart.tsx
29482
- import React11, { useEffect as useEffect22, useMemo as useMemo4, useState as useState7 } from "react";
29679
+ import React12, { useEffect as useEffect23, useMemo as useMemo5, useState as useState8 } from "react";
29483
29680
  import {
29484
29681
  PieChart,
29485
29682
  Pie,
@@ -29488,7 +29685,7 @@ import {
29488
29685
  Tooltip as Tooltip2,
29489
29686
  LabelList
29490
29687
  } from "recharts";
29491
- import { Fragment as Fragment20, jsx as jsx61, jsxs as jsxs36 } from "react/jsx-runtime";
29688
+ import { Fragment as Fragment20, jsx as jsx63, jsxs as jsxs38 } from "react/jsx-runtime";
29492
29689
  var getRandomColor = () => {
29493
29690
  const palette = [
29494
29691
  "#2563eb",
@@ -29508,32 +29705,32 @@ var DonutChart = ({ className, style, loading, ...props }) => {
29508
29705
  const showLegends = props.showLegends ?? true;
29509
29706
  const labelType = props.labelType || "inside";
29510
29707
  const canvasMode = props.canvasMode;
29511
- const data = useMemo4(() => {
29708
+ const data = useMemo5(() => {
29512
29709
  if (!Array.isArray(props.data)) return [];
29513
29710
  return props.data.map((item) => ({ ...item, color: getRandomColor() }));
29514
29711
  }, [props.data]);
29515
- const total = useMemo4(() => data.reduce((sum, d) => sum + d.value, 0), [data]);
29712
+ const total = useMemo5(() => data.reduce((sum, d) => sum + d.value, 0), [data]);
29516
29713
  const forceMobile = canvasMode === "mobile" || canvasMode === "tablet";
29517
- const [mounted, setMounted] = useState7(false);
29518
- useEffect22(() => {
29714
+ const [mounted, setMounted] = useState8(false);
29715
+ useEffect23(() => {
29519
29716
  const timeout = setTimeout(() => setMounted(true), 100);
29520
29717
  return () => clearTimeout(timeout);
29521
29718
  }, []);
29522
- const renderLegends = useMemo4(() => {
29719
+ const renderLegends = useMemo5(() => {
29523
29720
  if (!showLegends) return null;
29524
- return /* @__PURE__ */ jsx61(Fragment20, { children: data.map((d) => /* @__PURE__ */ jsxs36(
29721
+ return /* @__PURE__ */ jsx63(Fragment20, { children: data.map((d) => /* @__PURE__ */ jsxs38(
29525
29722
  "div",
29526
29723
  {
29527
29724
  className: "flex items-center space-x-2 rounded-md border border-gray-200 px-3 py-2 w-[48%] md:w-auto",
29528
29725
  children: [
29529
- /* @__PURE__ */ jsx61(
29726
+ /* @__PURE__ */ jsx63(
29530
29727
  "span",
29531
29728
  {
29532
29729
  className: "inline-block w-[16px] h-[16px] rounded",
29533
29730
  style: { backgroundColor: d.color }
29534
29731
  }
29535
29732
  ),
29536
- /* @__PURE__ */ jsx61("span", { className: "text-[#000000] text-[12px] md:text-[13px] font-[500]", children: d.name })
29733
+ /* @__PURE__ */ jsx63("span", { className: "text-[#000000] text-[12px] md:text-[13px] font-[500]", children: d.name })
29537
29734
  ]
29538
29735
  },
29539
29736
  d.name
@@ -29541,24 +29738,24 @@ var DonutChart = ({ className, style, loading, ...props }) => {
29541
29738
  }, [data, showLegends]);
29542
29739
  if (!mounted) return null;
29543
29740
  if (loading || data.length === 0) {
29544
- return /* @__PURE__ */ jsx61(
29741
+ return /* @__PURE__ */ jsx63(
29545
29742
  "div",
29546
29743
  {
29547
29744
  className: `flex items-center justify-center w-full h-[300px] md:h-[400px] bg-gray-50 animate-pulse rounded-lg ${className}`,
29548
29745
  style,
29549
- children: /* @__PURE__ */ jsx61("div", { className: "text-gray-400 text-sm md:text-base", children: loading ? "Loading chart report..." : "No data available to display the chart." })
29746
+ children: /* @__PURE__ */ jsx63("div", { className: "text-gray-400 text-sm md:text-base", children: loading ? "Loading chart report..." : "No data available to display the chart." })
29550
29747
  }
29551
29748
  );
29552
29749
  }
29553
- return /* @__PURE__ */ jsxs36(
29750
+ return /* @__PURE__ */ jsxs38(
29554
29751
  "div",
29555
29752
  {
29556
29753
  className: `relative flex flex-col items-center ${className}`,
29557
29754
  style,
29558
29755
  children: [
29559
- /* @__PURE__ */ jsxs36("div", { className: "relative w-full md:w-[70%] h-[300px] md:h-[400px] flex items-center justify-center", children: [
29560
- /* @__PURE__ */ jsx61(ResponsiveContainer2, { width: "99%", height: "100%", children: /* @__PURE__ */ jsxs36(PieChart, { children: [
29561
- /* @__PURE__ */ jsxs36(
29756
+ /* @__PURE__ */ jsxs38("div", { className: "relative w-full md:w-[70%] h-[300px] md:h-[400px] flex items-center justify-center", children: [
29757
+ /* @__PURE__ */ jsx63(ResponsiveContainer2, { width: "99%", height: "100%", children: /* @__PURE__ */ jsxs38(PieChart, { children: [
29758
+ /* @__PURE__ */ jsxs38(
29562
29759
  Pie,
29563
29760
  {
29564
29761
  data,
@@ -29570,8 +29767,8 @@ var DonutChart = ({ className, style, loading, ...props }) => {
29570
29767
  labelLine: false,
29571
29768
  isAnimationActive: false,
29572
29769
  children: [
29573
- data.map((entry, index) => /* @__PURE__ */ jsx61(Cell, { fill: entry.color }, `cell-${index}`)),
29574
- /* @__PURE__ */ jsx61(
29770
+ data.map((entry, index) => /* @__PURE__ */ jsx63(Cell, { fill: entry.color }, `cell-${index}`)),
29771
+ /* @__PURE__ */ jsx63(
29575
29772
  LabelList,
29576
29773
  {
29577
29774
  dataKey: "value",
@@ -29584,14 +29781,14 @@ var DonutChart = ({ className, style, loading, ...props }) => {
29584
29781
  ]
29585
29782
  }
29586
29783
  ),
29587
- /* @__PURE__ */ jsx61(
29784
+ /* @__PURE__ */ jsx63(
29588
29785
  Tooltip2,
29589
29786
  {
29590
29787
  formatter: (value, name) => [`${value}k`, name]
29591
29788
  }
29592
29789
  )
29593
29790
  ] }) }),
29594
- /* @__PURE__ */ jsxs36(
29791
+ /* @__PURE__ */ jsxs38(
29595
29792
  "div",
29596
29793
  {
29597
29794
  className: `absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 ${forceMobile ? "text-2xl" : "text-4xl"} font-bold text-[#000]`,
@@ -29602,18 +29799,18 @@ var DonutChart = ({ className, style, loading, ...props }) => {
29602
29799
  }
29603
29800
  )
29604
29801
  ] }),
29605
- /* @__PURE__ */ jsx61("div", { className: "flex flex-wrap justify-center gap-2 mt-6 w-full md:w-auto", children: renderLegends })
29802
+ /* @__PURE__ */ jsx63("div", { className: "flex flex-wrap justify-center gap-2 mt-6 w-full md:w-auto", children: renderLegends })
29606
29803
  ]
29607
29804
  }
29608
29805
  );
29609
29806
  };
29610
- var PieChart_default = React11.memo(DonutChart);
29807
+ var PieChart_default = React12.memo(DonutChart);
29611
29808
 
29612
29809
  // src/components/Blocks/EmailComposer.tsx
29613
- import { jsx as jsx62, jsxs as jsxs37 } from "react/jsx-runtime";
29810
+ import { jsx as jsx64, jsxs as jsxs39 } from "react/jsx-runtime";
29614
29811
  function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc, setShowBcc, cc, setCc, bcc, setBcc, subject, setSubject, body, setBody }) {
29615
- return /* @__PURE__ */ jsx62("div", { className, style, children: /* @__PURE__ */ jsxs37("div", { className: "border rounded-md shadow bg-[#fff] p-4 mx-auto z-[50] relative", children: [
29616
- /* @__PURE__ */ jsx62("div", { className: "mb-3", children: /* @__PURE__ */ jsx62(
29812
+ return /* @__PURE__ */ jsx64("div", { className, style, children: /* @__PURE__ */ jsxs39("div", { className: "border rounded-md shadow bg-[#fff] p-4 mx-auto z-[50] relative", children: [
29813
+ /* @__PURE__ */ jsx64("div", { className: "mb-3", children: /* @__PURE__ */ jsx64(
29617
29814
  "input",
29618
29815
  {
29619
29816
  type: "email",
@@ -29622,8 +29819,8 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
29622
29819
  required: true
29623
29820
  }
29624
29821
  ) }),
29625
- /* @__PURE__ */ jsx62("div", { className: "mb-3", children: /* @__PURE__ */ jsxs37("div", { className: "flex items-center gap-2", children: [
29626
- /* @__PURE__ */ jsx62(
29822
+ /* @__PURE__ */ jsx64("div", { className: "mb-3", children: /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-2", children: [
29823
+ /* @__PURE__ */ jsx64(
29627
29824
  "input",
29628
29825
  {
29629
29826
  type: "email",
@@ -29634,7 +29831,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
29634
29831
  required: true
29635
29832
  }
29636
29833
  ),
29637
- !showCc && /* @__PURE__ */ jsx62(
29834
+ !showCc && /* @__PURE__ */ jsx64(
29638
29835
  "button",
29639
29836
  {
29640
29837
  onClick: () => setShowCc?.(true),
@@ -29642,7 +29839,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
29642
29839
  children: "Cc"
29643
29840
  }
29644
29841
  ),
29645
- !showBcc && /* @__PURE__ */ jsx62(
29842
+ !showBcc && /* @__PURE__ */ jsx64(
29646
29843
  "button",
29647
29844
  {
29648
29845
  onClick: () => setShowBcc?.(true),
@@ -29651,7 +29848,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
29651
29848
  }
29652
29849
  )
29653
29850
  ] }) }),
29654
- showCc && /* @__PURE__ */ jsx62("div", { className: "mb-3", children: /* @__PURE__ */ jsx62(
29851
+ showCc && /* @__PURE__ */ jsx64("div", { className: "mb-3", children: /* @__PURE__ */ jsx64(
29655
29852
  "input",
29656
29853
  {
29657
29854
  type: "text",
@@ -29661,7 +29858,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
29661
29858
  className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
29662
29859
  }
29663
29860
  ) }),
29664
- showBcc && /* @__PURE__ */ jsx62("div", { className: "mb-3", children: /* @__PURE__ */ jsx62(
29861
+ showBcc && /* @__PURE__ */ jsx64("div", { className: "mb-3", children: /* @__PURE__ */ jsx64(
29665
29862
  "input",
29666
29863
  {
29667
29864
  type: "text",
@@ -29671,7 +29868,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
29671
29868
  className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
29672
29869
  }
29673
29870
  ) }),
29674
- /* @__PURE__ */ jsx62("div", { className: "mb-3", children: /* @__PURE__ */ jsx62(
29871
+ /* @__PURE__ */ jsx64("div", { className: "mb-3", children: /* @__PURE__ */ jsx64(
29675
29872
  "input",
29676
29873
  {
29677
29874
  type: "text",
@@ -29681,11 +29878,11 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
29681
29878
  className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
29682
29879
  }
29683
29880
  ) }),
29684
- /* @__PURE__ */ jsx62("div", { className: "mb-4", children: /* @__PURE__ */ jsx62(MyEditor, { value: body, onChange: setBody }) }),
29685
- /* @__PURE__ */ jsxs37("div", { className: "flex justify-end gap-2", children: [
29686
- /* @__PURE__ */ jsx62("button", { className: "px-4 py-2 rounded-md text-gray-600 hover:bg-gray-100", children: "Discard" }),
29687
- /* @__PURE__ */ jsx62("button", { className: "px-4 py-2 rounded-md border text-[#12715B] border-[#12715B]", children: "Reset" }),
29688
- /* @__PURE__ */ jsx62("button", { className: "px-4 py-2 rounded-md bg-[#12715B] text-white", children: "Send" })
29881
+ /* @__PURE__ */ jsx64("div", { className: "mb-4", children: /* @__PURE__ */ jsx64(MyEditor, { value: body, onChange: setBody }) }),
29882
+ /* @__PURE__ */ jsxs39("div", { className: "flex justify-end gap-2", children: [
29883
+ /* @__PURE__ */ jsx64("button", { className: "px-4 py-2 rounded-md text-gray-600 hover:bg-gray-100", children: "Discard" }),
29884
+ /* @__PURE__ */ jsx64("button", { className: "px-4 py-2 rounded-md border text-[#12715B] border-[#12715B]", children: "Reset" }),
29885
+ /* @__PURE__ */ jsx64("button", { className: "px-4 py-2 rounded-md bg-[#12715B] text-white", children: "Send" })
29689
29886
  ] })
29690
29887
  ] }) });
29691
29888
  }
@@ -29730,10 +29927,10 @@ function showSonnerToast({
29730
29927
  // src/components/ui/sonner.tsx
29731
29928
  import { useTheme } from "next-themes";
29732
29929
  import { Toaster as Sonner } from "sonner";
29733
- import { jsx as jsx63 } from "react/jsx-runtime";
29930
+ import { jsx as jsx65 } from "react/jsx-runtime";
29734
29931
  var Toaster = ({ ...props }) => {
29735
29932
  const { theme = "system" } = useTheme();
29736
- return /* @__PURE__ */ jsx63(
29933
+ return /* @__PURE__ */ jsx65(
29737
29934
  Sonner,
29738
29935
  {
29739
29936
  theme,
@@ -29768,6 +29965,7 @@ export {
29768
29965
  Image_default as Image,
29769
29966
  Modal,
29770
29967
  MultiCheckbox_default as MultiCheckbox,
29968
+ MultiSelect_default as MultiSelect,
29771
29969
  Navbar,
29772
29970
  NumberInput_default as NumberInput,
29773
29971
  Pagination_default as Pagination,