@algorithm-shift/design-system 1.2.34 → 1.2.35

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.js CHANGED
@@ -64,6 +64,7 @@ __export(index_exports, {
64
64
  Table: () => Table_default,
65
65
  Tabs: () => Tabs_default,
66
66
  Text: () => TextInput_default,
67
+ TextInputGroup: () => TextInputGroup_default,
67
68
  Textarea: () => Textarea_default,
68
69
  Typography: () => Typography_default,
69
70
  URL: () => UrlInput_default,
@@ -1797,18 +1798,78 @@ var DateRange = ({ className, style, ...props }) => {
1797
1798
  };
1798
1799
  var DateRange_default = DateRange;
1799
1800
 
1801
+ // src/components/Inputs/TextInputGroup/TextInputGroup.tsx
1802
+ var React14 = __toESM(require("react"));
1803
+ var import_jsx_runtime36 = require("react/jsx-runtime");
1804
+ var TextInputGroup = ({ className, style, prepend, append = ".com", ...props }) => {
1805
+ const placeholder = props.placeholder ?? "Placeholder text";
1806
+ const isEditable = props.isEditable ?? true;
1807
+ const isDisabled = props.isDisabled ?? false;
1808
+ const isReadonly = props.isReadonly ?? false;
1809
+ const isAutocomplete = props.isAutocomplete ?? false;
1810
+ const [error, setError] = React14.useState(null);
1811
+ React14.useEffect(() => {
1812
+ if (!props.validateOnMount) return;
1813
+ setError(props.errorMessage || null);
1814
+ }, [props.errorMessage, props.validateOnMount]);
1815
+ const handleChange = (e) => {
1816
+ props.onChange?.(e);
1817
+ };
1818
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
1819
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
1820
+ "div",
1821
+ {
1822
+ className: cn(
1823
+ "flex justify-start items-center relative border border-input rounded-md bg-transparent focus-within:ring-2 focus-within:ring-ring focus-within:border-primary",
1824
+ className,
1825
+ "p-0 m-0",
1826
+ error ? "border-red-500" : ""
1827
+ ),
1828
+ children: [
1829
+ prepend && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "px-3 flex items-center bg-gray-500 text-white h-10 rounded-l-md", children: prepend }),
1830
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1831
+ Input,
1832
+ {
1833
+ id: props.name || "prepend-input",
1834
+ type: "url",
1835
+ name: props.name,
1836
+ value: props.value,
1837
+ className: cn(
1838
+ className,
1839
+ "rounded-none flex-1 border-none focus:ring-0"
1840
+ ),
1841
+ style: {
1842
+ ...style,
1843
+ borderColor: error ? "#f87171" : style?.borderColor
1844
+ },
1845
+ autoComplete: isAutocomplete ? "on" : "off",
1846
+ placeholder,
1847
+ onChange: handleChange,
1848
+ disabled: isDisabled || !isEditable,
1849
+ readOnly: isReadonly
1850
+ }
1851
+ ),
1852
+ append && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "px-3 flex items-center bg-gray-500 text-white h-10 rounded-r-md", children: append })
1853
+ ]
1854
+ }
1855
+ ),
1856
+ error && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "mt-1 text-xs text-red-500", children: error })
1857
+ ] });
1858
+ };
1859
+ var TextInputGroup_default = TextInputGroup;
1860
+
1800
1861
  // src/components/ui/data-table.tsx
1801
1862
  var import_react_table = require("@tanstack/react-table");
1802
1863
 
1803
1864
  // src/components/ui/table.tsx
1804
- var import_jsx_runtime36 = require("react/jsx-runtime");
1865
+ var import_jsx_runtime37 = require("react/jsx-runtime");
1805
1866
  function Table({ className, ...props }) {
1806
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1867
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1807
1868
  "div",
1808
1869
  {
1809
1870
  "data-slot": "table-container",
1810
1871
  className: "relative w-full overflow-x-auto rounded-md border border-gray-200 bg-white",
1811
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1872
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1812
1873
  "table",
1813
1874
  {
1814
1875
  "data-slot": "table",
@@ -1820,7 +1881,7 @@ function Table({ className, ...props }) {
1820
1881
  );
1821
1882
  }
1822
1883
  function TableHeader({ className, ...props }) {
1823
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1884
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1824
1885
  "thead",
1825
1886
  {
1826
1887
  "data-slot": "table-header",
@@ -1833,7 +1894,7 @@ function TableHeader({ className, ...props }) {
1833
1894
  );
1834
1895
  }
1835
1896
  function TableBody({ className, ...props }) {
1836
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1897
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1837
1898
  "tbody",
1838
1899
  {
1839
1900
  "data-slot": "table-body",
@@ -1846,7 +1907,7 @@ function TableBody({ className, ...props }) {
1846
1907
  );
1847
1908
  }
1848
1909
  function TableRow({ className, ...props }) {
1849
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1910
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1850
1911
  "tr",
1851
1912
  {
1852
1913
  "data-slot": "table-row",
@@ -1859,7 +1920,7 @@ function TableRow({ className, ...props }) {
1859
1920
  );
1860
1921
  }
1861
1922
  function TableHead({ className, ...props }) {
1862
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1923
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1863
1924
  "th",
1864
1925
  {
1865
1926
  "data-slot": "table-head",
@@ -1872,7 +1933,7 @@ function TableHead({ className, ...props }) {
1872
1933
  );
1873
1934
  }
1874
1935
  function TableCell({ className, ...props }) {
1875
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1936
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1876
1937
  "td",
1877
1938
  {
1878
1939
  "data-slot": "table-cell",
@@ -1886,7 +1947,7 @@ function TableCell({ className, ...props }) {
1886
1947
  }
1887
1948
 
1888
1949
  // src/components/ui/data-table.tsx
1889
- var import_jsx_runtime37 = require("react/jsx-runtime");
1950
+ var import_jsx_runtime38 = require("react/jsx-runtime");
1890
1951
  function DataTable({
1891
1952
  columns,
1892
1953
  rowActions,
@@ -1911,14 +1972,14 @@ function DataTable({
1911
1972
  onCellClick(rowData, columnId);
1912
1973
  }
1913
1974
  };
1914
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "overflow-hidden rounded-md border w-full", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Table, { children: [
1915
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableRow, { children: headerGroup.headers.map((header) => {
1916
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableHead, { children: header.isPlaceholder ? null : (0, import_react_table.flexRender)(
1975
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "overflow-hidden rounded-md border w-full", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Table, { children: [
1976
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableRow, { children: headerGroup.headers.map((header) => {
1977
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableHead, { children: header.isPlaceholder ? null : (0, import_react_table.flexRender)(
1917
1978
  header.column.columnDef.header,
1918
1979
  header.getContext()
1919
1980
  ) }, header.id);
1920
1981
  }) }, headerGroup.id)) }),
1921
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableBody, { children: loading ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "Loading..." }) }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: table.getRowModel().rows?.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
1982
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableBody, { children: loading ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "Loading..." }) }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children: table.getRowModel().rows?.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
1922
1983
  TableRow,
1923
1984
  {
1924
1985
  "data-state": row.getIsSelected() && "selected",
@@ -1928,7 +1989,7 @@ function DataTable({
1928
1989
  const isCellClickable = cellClickEnabled(row.original, cell.column.id);
1929
1990
  const dynamicClass = cell.column.columnDef.meta?.cellClass || "";
1930
1991
  const dynamicStyle = cell.column.columnDef.meta?.cellStyle || {};
1931
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1992
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1932
1993
  TableCell,
1933
1994
  {
1934
1995
  className: `${dynamicClass} ${isCellClickable ? "underline cursor-pointer" : ""}`,
@@ -1943,18 +2004,18 @@ function DataTable({
1943
2004
  cell.id
1944
2005
  );
1945
2006
  }),
1946
- rowActions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("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__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-[#383838] text-[12px] cursor-pointer font-[400]", children: action.header }, index)) })
2007
+ rowActions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("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__ */ (0, import_jsx_runtime38.jsx)("p", { className: "text-[#383838] text-[12px] cursor-pointer font-[400]", children: action.header }, index)) })
1947
2008
  ]
1948
2009
  },
1949
2010
  row.id
1950
- )) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "No results." }) }) }) })
2011
+ )) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "No results." }) }) }) })
1951
2012
  ] }) });
1952
2013
  }
1953
2014
 
1954
2015
  // src/components/ui/pagination.tsx
1955
- var import_jsx_runtime38 = require("react/jsx-runtime");
2016
+ var import_jsx_runtime39 = require("react/jsx-runtime");
1956
2017
  function Pagination({ className, ...props }) {
1957
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2018
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1958
2019
  "nav",
1959
2020
  {
1960
2021
  role: "navigation",
@@ -1969,7 +2030,7 @@ function PaginationContent({
1969
2030
  className,
1970
2031
  ...props
1971
2032
  }) {
1972
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2033
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1973
2034
  "ul",
1974
2035
  {
1975
2036
  "data-slot": "pagination-content",
@@ -1979,7 +2040,7 @@ function PaginationContent({
1979
2040
  );
1980
2041
  }
1981
2042
  function PaginationItem({ ...props }) {
1982
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("li", { "data-slot": "pagination-item", ...props });
2043
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("li", { "data-slot": "pagination-item", ...props });
1983
2044
  }
1984
2045
  function PaginationLink({
1985
2046
  className,
@@ -1987,7 +2048,7 @@ function PaginationLink({
1987
2048
  size = "icon",
1988
2049
  ...props
1989
2050
  }) {
1990
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2051
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1991
2052
  "a",
1992
2053
  {
1993
2054
  "aria-current": isActive ? "page" : void 0,
@@ -2008,7 +2069,7 @@ function PaginationPrevious({
2008
2069
  className,
2009
2070
  ...props
2010
2071
  }) {
2011
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2072
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2012
2073
  PaginationLink,
2013
2074
  {
2014
2075
  "aria-label": "Go to previous page",
@@ -2016,8 +2077,8 @@ function PaginationPrevious({
2016
2077
  className: cn("gap-1 px-2.5 sm:pl-2.5", className),
2017
2078
  ...props,
2018
2079
  children: [
2019
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronLeft, {}),
2020
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "hidden sm:block", children: "Previous" })
2080
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChevronLeft, {}),
2081
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "hidden sm:block", children: "Previous" })
2021
2082
  ]
2022
2083
  }
2023
2084
  );
@@ -2026,7 +2087,7 @@ function PaginationNext({
2026
2087
  className,
2027
2088
  ...props
2028
2089
  }) {
2029
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2090
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2030
2091
  PaginationLink,
2031
2092
  {
2032
2093
  "aria-label": "Go to next page",
@@ -2034,8 +2095,8 @@ function PaginationNext({
2034
2095
  className: cn("gap-1 px-2.5 sm:pr-2.5", className),
2035
2096
  ...props,
2036
2097
  children: [
2037
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "hidden sm:block", children: "Next" }),
2038
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronRight, {})
2098
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "hidden sm:block", children: "Next" }),
2099
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChevronRight, {})
2039
2100
  ]
2040
2101
  }
2041
2102
  );
@@ -2044,7 +2105,7 @@ function PaginationEllipsis({
2044
2105
  className,
2045
2106
  ...props
2046
2107
  }) {
2047
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2108
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2048
2109
  "span",
2049
2110
  {
2050
2111
  "aria-hidden": true,
@@ -2052,15 +2113,15 @@ function PaginationEllipsis({
2052
2113
  className: cn("flex size-9 items-center justify-center", className),
2053
2114
  ...props,
2054
2115
  children: [
2055
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Ellipsis, { className: "size-4" }),
2056
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "sr-only", children: "More pages" })
2116
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Ellipsis, { className: "size-4" }),
2117
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "sr-only", children: "More pages" })
2057
2118
  ]
2058
2119
  }
2059
2120
  );
2060
2121
  }
2061
2122
 
2062
2123
  // src/components/DataDisplay/Pagination/Pagination.tsx
2063
- var import_jsx_runtime39 = require("react/jsx-runtime");
2124
+ var import_jsx_runtime40 = require("react/jsx-runtime");
2064
2125
  var CustomPagination = ({
2065
2126
  totalPages,
2066
2127
  currentPage,
@@ -2102,15 +2163,15 @@ var CustomPagination = ({
2102
2163
  }
2103
2164
  };
2104
2165
  const pageNumbers = getPageNumbers();
2105
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Pagination, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(PaginationContent, { children: [
2106
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2166
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Pagination, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(PaginationContent, { children: [
2167
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2107
2168
  PaginationPrevious,
2108
2169
  {
2109
2170
  onClick: () => handlePageChange(currentPage - 1),
2110
2171
  className: currentPage === 1 ? "pointer-events-none opacity-50" : "cursor-pointer"
2111
2172
  }
2112
2173
  ) }),
2113
- pageNumbers.map((pageNumber, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PaginationItem, { children: pageNumber === "..." ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PaginationEllipsis, {}) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2174
+ pageNumbers.map((pageNumber, index) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PaginationItem, { children: pageNumber === "..." ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PaginationEllipsis, {}) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2114
2175
  PaginationLink,
2115
2176
  {
2116
2177
  onClick: () => handlePageChange(pageNumber),
@@ -2119,7 +2180,7 @@ var CustomPagination = ({
2119
2180
  children: pageNumber
2120
2181
  }
2121
2182
  ) }, index)),
2122
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2183
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2123
2184
  PaginationNext,
2124
2185
  {
2125
2186
  onClick: () => handlePageChange(currentPage + 1),
@@ -2132,7 +2193,7 @@ var Pagination_default = CustomPagination;
2132
2193
 
2133
2194
  // src/components/DataDisplay/Table/Table.tsx
2134
2195
  var import_react13 = require("react");
2135
- var import_jsx_runtime40 = require("react/jsx-runtime");
2196
+ var import_jsx_runtime41 = require("react/jsx-runtime");
2136
2197
  var Table2 = ({ columns, data, rowActions, className, style, pagination = false, itemsPerPage = 10, onPageChange, loading = false }) => {
2137
2198
  const rawColumns = Array.isArray(columns) ? columns : [];
2138
2199
  const rawData = Array.isArray(data) ? data : [];
@@ -2144,9 +2205,9 @@ var Table2 = ({ columns, data, rowActions, className, style, pagination = false,
2144
2205
  onPageChange?.(page);
2145
2206
  };
2146
2207
  const paginatedData = enablePagination ? rawData.slice((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage) : rawData;
2147
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: `${className} space-y-3`, style, children: [
2148
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(DataTable, { columns: rawColumns, data: paginatedData, rowActions: rawRowActions, loading }),
2149
- enablePagination && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2208
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: `${className} space-y-3`, style, children: [
2209
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DataTable, { columns: rawColumns, data: paginatedData, rowActions: rawRowActions, loading }),
2210
+ enablePagination && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2150
2211
  Pagination_default,
2151
2212
  {
2152
2213
  totalPages: Math.ceil(rawData.length / itemsPerPage),
@@ -2160,16 +2221,16 @@ var Table_default = Table2;
2160
2221
 
2161
2222
  // src/components/ui/dropdown-menu.tsx
2162
2223
  var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
2163
- var import_jsx_runtime41 = require("react/jsx-runtime");
2224
+ var import_jsx_runtime42 = require("react/jsx-runtime");
2164
2225
  function DropdownMenu({
2165
2226
  ...props
2166
2227
  }) {
2167
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
2228
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
2168
2229
  }
2169
2230
  function DropdownMenuTrigger({
2170
2231
  ...props
2171
2232
  }) {
2172
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2233
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2173
2234
  DropdownMenuPrimitive.Trigger,
2174
2235
  {
2175
2236
  "data-slot": "dropdown-menu-trigger",
@@ -2182,7 +2243,7 @@ function DropdownMenuContent({
2182
2243
  sideOffset = 4,
2183
2244
  ...props
2184
2245
  }) {
2185
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2246
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2186
2247
  DropdownMenuPrimitive.Content,
2187
2248
  {
2188
2249
  "data-slot": "dropdown-menu-content",
@@ -2201,7 +2262,7 @@ function DropdownMenuItem({
2201
2262
  variant = "default",
2202
2263
  ...props
2203
2264
  }) {
2204
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2265
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2205
2266
  DropdownMenuPrimitive.Item,
2206
2267
  {
2207
2268
  "data-slot": "dropdown-menu-item",
@@ -2220,7 +2281,7 @@ function DropdownMenuLabel({
2220
2281
  inset,
2221
2282
  ...props
2222
2283
  }) {
2223
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2284
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2224
2285
  DropdownMenuPrimitive.Label,
2225
2286
  {
2226
2287
  "data-slot": "dropdown-menu-label",
@@ -2237,7 +2298,7 @@ function DropdownMenuSeparator({
2237
2298
  className,
2238
2299
  ...props
2239
2300
  }) {
2240
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2301
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2241
2302
  DropdownMenuPrimitive.Separator,
2242
2303
  {
2243
2304
  "data-slot": "dropdown-menu-separator",
@@ -2248,7 +2309,7 @@ function DropdownMenuSeparator({
2248
2309
  }
2249
2310
 
2250
2311
  // src/components/Navigation/Tabs/Tabs.tsx
2251
- var import_jsx_runtime42 = require("react/jsx-runtime");
2312
+ var import_jsx_runtime43 = require("react/jsx-runtime");
2252
2313
  var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
2253
2314
  const rawTabs = Array.isArray(tabs) ? tabs : [];
2254
2315
  const baseClasses = "text-[12px] text-[#E9E9E9] p-2 text-center rounded-md transition-colors border-none outline-none focus:outline-none focus:ring-0 focus:ring-offset-0 cursor-pointer select-none ";
@@ -2258,7 +2319,7 @@ var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
2258
2319
  if (!path) return false;
2259
2320
  return pathname === path || path !== "/" && pathname?.startsWith(path);
2260
2321
  };
2261
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className, style, children: rawTabs.map((tab, index) => {
2322
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className, style, children: rawTabs.map((tab, index) => {
2262
2323
  const finalClasses = [
2263
2324
  baseClasses,
2264
2325
  isActive(tab.href) ? activeClasses : hoverClasses,
@@ -2266,29 +2327,29 @@ var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
2266
2327
  ].join(" ");
2267
2328
  const hasDropdown = Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown;
2268
2329
  if (hasDropdown) {
2269
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(DropdownMenu, { children: [
2270
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
2330
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(DropdownMenu, { children: [
2331
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
2271
2332
  DropdownMenuTrigger,
2272
2333
  {
2273
2334
  className: `${finalClasses} inline-flex items-center gap-1`,
2274
2335
  children: [
2275
2336
  tab.header,
2276
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ChevronDown, { className: "h-4 w-4 opacity-80" })
2337
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ChevronDown, { className: "h-4 w-4 opacity-80" })
2277
2338
  ]
2278
2339
  }
2279
2340
  ),
2280
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2341
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2281
2342
  DropdownMenuContent,
2282
2343
  {
2283
2344
  align: "start",
2284
2345
  sideOffset: 6,
2285
2346
  className: "z-50 min-w-[160px] rounded-md border border-gray-200 bg-white p-1 shadow-lg",
2286
- children: tab.children.map((item) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2347
+ children: tab.children.map((item) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2287
2348
  DropdownMenuItem,
2288
2349
  {
2289
2350
  asChild: true,
2290
2351
  className: "cursor-pointer rounded-sm px-3 py-2 text-[12px] text-gray-800 hover:bg-gray-100 focus:bg-gray-100",
2291
- children: LinkComponent ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(LinkComponent, { href: item.href || "#", children: item.header }) : item.header
2352
+ children: LinkComponent ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(LinkComponent, { href: item.href || "#", children: item.header }) : item.header
2292
2353
  },
2293
2354
  item.id
2294
2355
  ))
@@ -2296,19 +2357,19 @@ var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
2296
2357
  )
2297
2358
  ] }, index);
2298
2359
  }
2299
- return tab.url && LinkComponent ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(LinkComponent, { href: tab.url, className: finalClasses, style: tab.style, children: tab.header }, index) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: finalClasses, style: tab.style, role: "button", tabIndex: 0, children: tab.header }, index);
2360
+ return tab.url && LinkComponent ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(LinkComponent, { href: tab.url, className: finalClasses, style: tab.style, children: tab.header }, index) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: finalClasses, style: tab.style, role: "button", tabIndex: 0, children: tab.header }, index);
2300
2361
  }) });
2301
2362
  };
2302
2363
  var Tabs_default = Tabs;
2303
2364
 
2304
2365
  // src/components/Navigation/Stages/Stages.tsx
2305
2366
  var import_react14 = __toESM(require("react"));
2306
- var import_jsx_runtime43 = require("react/jsx-runtime");
2367
+ var import_jsx_runtime44 = require("react/jsx-runtime");
2307
2368
  var StagesComponent = ({ stages, isShowBtn, buttonText, className, style }) => {
2308
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex items-center justify-between bg-gray-50 p-2 rounded-lg border border-gray-200 w-full", children: [
2309
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("button", { className: "p-2 hover:bg-gray-100 rounded", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("svg", { className: "w-4 h-4 text-gray-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) }) }) }),
2310
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center flex-1 px-2", children: stages?.length > 0 && stages?.map((stage, index) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_react14.default.Fragment, { children: [
2311
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2369
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "flex items-center justify-between bg-gray-50 p-2 rounded-lg border border-gray-200 w-full", children: [
2370
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("button", { className: "p-2 hover:bg-gray-100 rounded", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("svg", { className: "w-4 h-4 text-gray-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) }) }) }),
2371
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex items-center flex-1 px-2", children: stages?.length > 0 && stages?.map((stage, index) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_react14.default.Fragment, { children: [
2372
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2312
2373
  "button",
2313
2374
  {
2314
2375
  className: `
@@ -2316,26 +2377,26 @@ var StagesComponent = ({ stages, isShowBtn, buttonText, className, style }) => {
2316
2377
  children: stage.header
2317
2378
  }
2318
2379
  ),
2319
- index < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex-shrink-0 w-3 h-px bg-gray-300" })
2380
+ index < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex-shrink-0 w-3 h-px bg-gray-300" })
2320
2381
  ] }, stage.id)) }),
2321
- isShowBtn && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("button", { className: "bg-[#034486] text-white px-6 py-2 rounded-lg text-sm font-medium transition-colors duration-200 shadow-sm", children: buttonText }) })
2382
+ isShowBtn && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("button", { className: "bg-[#034486] text-white px-6 py-2 rounded-lg text-sm font-medium transition-colors duration-200 shadow-sm", children: buttonText }) })
2322
2383
  ] }) });
2323
2384
  };
2324
2385
  var Stages_default = StagesComponent;
2325
2386
 
2326
2387
  // src/components/Navigation/Spacer/Spacer.tsx
2327
- var import_jsx_runtime44 = require("react/jsx-runtime");
2388
+ var import_jsx_runtime45 = require("react/jsx-runtime");
2328
2389
  var Spacer = ({ className, style }) => {
2329
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: `${className}`, style });
2390
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: `${className}`, style });
2330
2391
  };
2331
2392
  var Spacer_default = Spacer;
2332
2393
 
2333
2394
  // src/components/Navigation/Profile/Profile.tsx
2334
- var import_jsx_runtime45 = require("react/jsx-runtime");
2395
+ var import_jsx_runtime46 = require("react/jsx-runtime");
2335
2396
  var Profile = ({ profileType, showName, userName, className, style }) => {
2336
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex gap-2 items-center justify-between w-30 cursor-pointer", children: [
2337
- showName && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("h4", { className: "text-[#000000] dark:text-[#fff] text-[13px] font-[500] mb-0", children: userName }),
2338
- profileType === "avatar" ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2397
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex gap-2 items-center justify-between w-30 cursor-pointer", children: [
2398
+ showName && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h4", { className: "text-[#000000] dark:text-[#fff] text-[13px] font-[500] mb-0", children: userName }),
2399
+ profileType === "avatar" ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2339
2400
  "img",
2340
2401
  {
2341
2402
  src: "https://builder.development.algorithmshift.ai/images/toolset/profile.svg",
@@ -2343,16 +2404,16 @@ var Profile = ({ profileType, showName, userName, className, style }) => {
2343
2404
  width: 24,
2344
2405
  height: 24
2345
2406
  }
2346
- ) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "w-6 h-6 bg-[#12715b] rounded-full text-[#fff] text-center text-[11px] flex items-center justify-center", children: "A" })
2407
+ ) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "w-6 h-6 bg-[#12715b] rounded-full text-[#fff] text-center text-[11px] flex items-center justify-center", children: "A" })
2347
2408
  ] }) });
2348
2409
  };
2349
2410
  var Profile_default = Profile;
2350
2411
 
2351
2412
  // src/components/Navigation/Notification/Notification.tsx
2352
- var import_jsx_runtime46 = require("react/jsx-runtime");
2413
+ var import_jsx_runtime47 = require("react/jsx-runtime");
2353
2414
  var Notification = ({ className, style, badgeType, badgeCount = 0, hideBadgeWhenZero }) => {
2354
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "w-[34px] h-[34px] bg-[#E9E9E9] rounded-md text-center flex items-center justify-center relative", children: [
2355
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2415
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "w-[34px] h-[34px] bg-[#E9E9E9] rounded-md text-center flex items-center justify-center relative", children: [
2416
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2356
2417
  "img",
2357
2418
  {
2358
2419
  src: "https://builder.development.algorithmshift.ai/images/toolset/notification.svg",
@@ -2361,7 +2422,7 @@ var Notification = ({ className, style, badgeType, badgeCount = 0, hideBadgeWhen
2361
2422
  height: 18
2362
2423
  }
2363
2424
  ),
2364
- badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("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__ */ (0, import_jsx_runtime46.jsx)("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]" })
2425
+ badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("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__ */ (0, import_jsx_runtime47.jsx)("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]" })
2365
2426
  ] }) });
2366
2427
  };
2367
2428
  var Notification_default = Notification;
@@ -2370,7 +2431,7 @@ var Notification_default = Notification;
2370
2431
  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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";
2371
2432
 
2372
2433
  // src/components/Navigation/Logo/Logo.tsx
2373
- var import_jsx_runtime47 = require("react/jsx-runtime");
2434
+ var import_jsx_runtime48 = require("react/jsx-runtime");
2374
2435
  var Logo = ({
2375
2436
  className,
2376
2437
  style,
@@ -2378,7 +2439,7 @@ var Logo = ({
2378
2439
  altText = "Preview"
2379
2440
  }) => {
2380
2441
  if (!imageUrl) {
2381
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2442
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2382
2443
  "div",
2383
2444
  {
2384
2445
  className: cn(
@@ -2386,19 +2447,19 @@ var Logo = ({
2386
2447
  "p-0"
2387
2448
  ),
2388
2449
  style,
2389
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("img", { src: logo_placeholder_default, alt: altText, className: "opacity-50", width: 150, height: 80 })
2450
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("img", { src: logo_placeholder_default, alt: altText, className: "opacity-50", width: 150, height: 80 })
2390
2451
  }
2391
2452
  );
2392
2453
  }
2393
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("img", { src: imageUrl, alt: altText, className, style });
2454
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("img", { src: imageUrl, alt: altText, className, style });
2394
2455
  };
2395
2456
  var Logo_default = Logo;
2396
2457
 
2397
2458
  // src/components/ui/avatar.tsx
2398
- var React15 = __toESM(require("react"));
2459
+ var React16 = __toESM(require("react"));
2399
2460
  var AvatarPrimitive = __toESM(require("@radix-ui/react-avatar"));
2400
- var import_jsx_runtime48 = require("react/jsx-runtime");
2401
- var Avatar = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2461
+ var import_jsx_runtime49 = require("react/jsx-runtime");
2462
+ var Avatar = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2402
2463
  AvatarPrimitive.Root,
2403
2464
  {
2404
2465
  ref,
@@ -2410,7 +2471,7 @@ var Avatar = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
2410
2471
  }
2411
2472
  ));
2412
2473
  Avatar.displayName = AvatarPrimitive.Root.displayName;
2413
- var AvatarImage = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2474
+ var AvatarImage = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2414
2475
  AvatarPrimitive.Image,
2415
2476
  {
2416
2477
  ref,
@@ -2419,7 +2480,7 @@ var AvatarImage = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
2419
2480
  }
2420
2481
  ));
2421
2482
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
2422
- var AvatarFallback = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2483
+ var AvatarFallback = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2423
2484
  AvatarPrimitive.Fallback,
2424
2485
  {
2425
2486
  ref,
@@ -2433,7 +2494,7 @@ var AvatarFallback = React15.forwardRef(({ className, ...props }, ref) => /* @__
2433
2494
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
2434
2495
 
2435
2496
  // src/components/Navigation/Navbar/Navbar.tsx
2436
- var import_jsx_runtime49 = require("react/jsx-runtime");
2497
+ var import_jsx_runtime50 = require("react/jsx-runtime");
2437
2498
  function Navbar({
2438
2499
  style,
2439
2500
  badgeType,
@@ -2448,61 +2509,61 @@ function Navbar({
2448
2509
  ImageComponent
2449
2510
  }) {
2450
2511
  const isMobileView = canvasMode === "mobile" || canvasMode === "tablet";
2451
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("nav", { className: "w-full border-b bg-white shadow-sm", style, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "mx-auto flex max-w-7xl items-center justify-between px-4 py-2", children: [
2452
- LinkComponent && ImageComponent ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(LinkComponent, { href: "/", className: "flex items-center space-x-2", children: imageUrl ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ImageComponent, { src: imageUrl, alt: altText, width: 200, height: 200 }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "font-semibold text-blue-700", children: "Logo" }) }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "font-semibold text-blue-700", children: "Logo" }),
2453
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center space-x-3", children: [
2454
- !isMobileView ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex-1 px-6", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "relative w-full max-w-md border border-gray-300 rounded-md", children: [
2455
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }),
2456
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Input, { placeholder: "Search", className: "pl-9 text-gray-400" })
2457
- ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2512
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("nav", { className: "w-full border-b bg-white shadow-sm", style, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "mx-auto flex max-w-7xl items-center justify-between px-4 py-2", children: [
2513
+ LinkComponent && ImageComponent ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(LinkComponent, { href: "/", className: "flex items-center space-x-2", children: imageUrl ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ImageComponent, { src: imageUrl, alt: altText, width: 200, height: 200 }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "font-semibold text-blue-700", children: "Logo" }) }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { className: "font-semibold text-blue-700", children: "Logo" }),
2514
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex items-center space-x-3", children: [
2515
+ !isMobileView ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex-1 px-6", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "relative w-full max-w-md border border-gray-300 rounded-md", children: [
2516
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }),
2517
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Input, { placeholder: "Search", className: "pl-9 text-gray-400" })
2518
+ ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2458
2519
  Button,
2459
2520
  {
2460
2521
  variant: "ghost",
2461
2522
  size: "icon",
2462
2523
  className: "border border-gray-400",
2463
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Search, { className: "h-5 w-5 text-gray-400" })
2524
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Search, { className: "h-5 w-5 text-gray-400" })
2464
2525
  }
2465
2526
  ),
2466
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "relative bg-[#E9E9E9] rounded-md", children: [
2467
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Button, { variant: "ghost", size: "icon", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Bell, { className: "h-5 w-5 text-[#1C1B1F]" }) }),
2468
- badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("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__ */ (0, import_jsx_runtime49.jsx)("span", { className: "absolute -top-1 -right-1 flex h-2 w-2 items-center justify-center rounded-full bg-red-500" })
2527
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "relative bg-[#E9E9E9] rounded-md", children: [
2528
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button, { variant: "ghost", size: "icon", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Bell, { className: "h-5 w-5 text-[#1C1B1F]" }) }),
2529
+ badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("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__ */ (0, import_jsx_runtime50.jsx)("span", { className: "absolute -top-1 -right-1 flex h-2 w-2 items-center justify-center rounded-full bg-red-500" })
2469
2530
  ] }),
2470
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DropdownMenu, { children: [
2471
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center space-x-2", children: [
2472
- !isMobileView && showName && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h4", { className: "text-[#000000] text-[13px] font-[500] mb-0", children: "Akbar Sheriff" }),
2473
- !isMobileView ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
2474
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Avatar, { className: "cursor-pointer h-8 w-8 text-gray-900", children: profileType === "avatar" ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2531
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(DropdownMenu, { children: [
2532
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex items-center space-x-2", children: [
2533
+ !isMobileView && showName && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("h4", { className: "text-[#000000] text-[13px] font-[500] mb-0", children: "Akbar Sheriff" }),
2534
+ !isMobileView ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
2535
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Avatar, { className: "cursor-pointer h-8 w-8 text-gray-900", children: profileType === "avatar" ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2475
2536
  AvatarImage,
2476
2537
  {
2477
2538
  src: "/images/appbuilder/toolset/profile.svg",
2478
2539
  alt: "Akbar Sheriff"
2479
2540
  }
2480
- ) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "w-8 h-8 bg-[#12715b] rounded-full text-[#fff] text-center text-[11px] flex items-center justify-center", children: "AS" }) }),
2481
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2541
+ ) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "w-8 h-8 bg-[#12715b] rounded-full text-[#fff] text-center text-[11px] flex items-center justify-center", children: "AS" }) }),
2542
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2482
2543
  Button,
2483
2544
  {
2484
2545
  variant: "ghost",
2485
2546
  size: "icon",
2486
2547
  className: "text-gray-900 md:hidden",
2487
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Menu, { className: "h-6 w-6" })
2548
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Menu, { className: "h-6 w-6" })
2488
2549
  }
2489
2550
  )
2490
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2551
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2491
2552
  Button,
2492
2553
  {
2493
2554
  variant: "ghost",
2494
2555
  size: "icon",
2495
2556
  className: "text-gray-900",
2496
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Menu, { className: "h-6 w-6" })
2557
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Menu, { className: "h-6 w-6" })
2497
2558
  }
2498
2559
  )
2499
2560
  ] }) }),
2500
- /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DropdownMenuContent, { align: "end", className: "bg-white", children: [
2501
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuLabel, { className: "text-black", children: "My Account" }),
2502
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuSeparator, {}),
2503
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuItem, { className: "text-black", children: "Profile" }),
2504
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuItem, { className: "text-black", children: "Settings" }),
2505
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuItem, { className: "text-black", children: "Logout" })
2561
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(DropdownMenuContent, { align: "end", className: "bg-white", children: [
2562
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuLabel, { className: "text-black", children: "My Account" }),
2563
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuSeparator, {}),
2564
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuItem, { className: "text-black", children: "Profile" }),
2565
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuItem, { className: "text-black", children: "Settings" }),
2566
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuItem, { className: "text-black", children: "Logout" })
2506
2567
  ] })
2507
2568
  ] })
2508
2569
  ] })
@@ -2511,28 +2572,28 @@ function Navbar({
2511
2572
 
2512
2573
  // src/components/Chart/BarChart.tsx
2513
2574
  var import_recharts = require("recharts");
2514
- var import_jsx_runtime50 = require("react/jsx-runtime");
2575
+ var import_jsx_runtime51 = require("react/jsx-runtime");
2515
2576
  var ChartComponent = ({ className, style, ...props }) => {
2516
2577
  const data = Array.isArray(props?.data) ? props.data : [];
2517
2578
  const chartType = props.chartType || "bar";
2518
2579
  const legendsPosition = props.legendsPosition === "middle" || props.legendsPosition === "bottom" ? props.legendsPosition : "top";
2519
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: `${className} h-[400px]`, style, children: data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.ResponsiveContainer, { width: "100%", height: "100%", children: chartType === "bar" ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_recharts.BarChart, { data, children: [
2520
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.CartesianGrid, { strokeDasharray: "3 3" }),
2521
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.XAxis, { dataKey: "name" }),
2522
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.YAxis, {}),
2523
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.Tooltip, {}),
2524
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.Legend, { verticalAlign: legendsPosition, align: "center" }),
2525
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.Bar, { dataKey: "value", fill: "#00695C" })
2526
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_recharts.AreaChart, { data, children: [
2527
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("linearGradient", { id: "colorCount", x1: "0", y1: "0", x2: "0", y2: "1", children: [
2528
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("stop", { offset: "5%", stopColor: "#00695C", stopOpacity: 0.8 }),
2529
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("stop", { offset: "95%", stopColor: "#00695C", stopOpacity: 0 })
2580
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: `${className} h-[400px]`, style, children: data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.ResponsiveContainer, { width: "100%", height: "100%", children: chartType === "bar" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_recharts.BarChart, { data, children: [
2581
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.CartesianGrid, { strokeDasharray: "3 3" }),
2582
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.XAxis, { dataKey: "name" }),
2583
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.YAxis, {}),
2584
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.Tooltip, {}),
2585
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.Legend, { verticalAlign: legendsPosition, align: "center" }),
2586
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.Bar, { dataKey: "value", fill: "#00695C" })
2587
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_recharts.AreaChart, { data, children: [
2588
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("linearGradient", { id: "colorCount", x1: "0", y1: "0", x2: "0", y2: "1", children: [
2589
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("stop", { offset: "5%", stopColor: "#00695C", stopOpacity: 0.8 }),
2590
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("stop", { offset: "95%", stopColor: "#00695C", stopOpacity: 0 })
2530
2591
  ] }) }),
2531
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.CartesianGrid, { strokeDasharray: "3 3" }),
2532
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.XAxis, { dataKey: "name" }),
2533
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.YAxis, {}),
2534
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.Tooltip, {}),
2535
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2592
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.CartesianGrid, { strokeDasharray: "3 3" }),
2593
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.XAxis, { dataKey: "name" }),
2594
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.YAxis, {}),
2595
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.Tooltip, {}),
2596
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2536
2597
  import_recharts.Area,
2537
2598
  {
2538
2599
  type: "monotone",
@@ -2548,7 +2609,7 @@ var BarChart_default = ChartComponent;
2548
2609
 
2549
2610
  // src/components/Chart/PieChart.tsx
2550
2611
  var import_recharts2 = require("recharts");
2551
- var import_jsx_runtime51 = require("react/jsx-runtime");
2612
+ var import_jsx_runtime52 = require("react/jsx-runtime");
2552
2613
  var DonutChart = ({ className, style, ...props }) => {
2553
2614
  const data = Array.isArray(props?.data) ? props.data : [];
2554
2615
  const total = data.reduce((sum, d) => sum + d.value, 0);
@@ -2559,7 +2620,7 @@ var DonutChart = ({ className, style, ...props }) => {
2559
2620
  const renderLabel = ({ value, x, y }) => {
2560
2621
  if (value == null) return null;
2561
2622
  const percentage = (Number(value) / total * 100).toFixed(0);
2562
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
2623
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
2563
2624
  "text",
2564
2625
  {
2565
2626
  x,
@@ -2581,33 +2642,33 @@ var DonutChart = ({ className, style, ...props }) => {
2581
2642
  const wrapperClass = canvasMode ? forceDesktop ? "flex-row" : "flex-col" : "flex-col md:flex-row";
2582
2643
  const renderLegends = () => {
2583
2644
  if (!showLegends) return null;
2584
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx_runtime51.Fragment, { children: data.map((d) => /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
2645
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_jsx_runtime52.Fragment, { children: data.map((d) => /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
2585
2646
  "div",
2586
2647
  {
2587
2648
  className: "flex items-center space-x-2 rounded-md border border-gray-200 px-3 py-2 w-[48%] md:w-auto",
2588
2649
  children: [
2589
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2650
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2590
2651
  "span",
2591
2652
  {
2592
2653
  className: "inline-block w-[16px] h-[16px] rounded",
2593
2654
  style: { backgroundColor: d.color }
2594
2655
  }
2595
2656
  ),
2596
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-[#000000] text-[12px] md:text-[13px] font-[500]", children: d.name })
2657
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[#000000] text-[12px] md:text-[13px] font-[500]", children: d.name })
2597
2658
  ]
2598
2659
  },
2599
2660
  d.name
2600
2661
  )) });
2601
2662
  };
2602
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
2663
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
2603
2664
  "div",
2604
2665
  {
2605
2666
  className: `relative flex items-center ${wrapperClass} ${className}`,
2606
2667
  style,
2607
2668
  children: [
2608
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "relative w-full md:w-[70%] h-[300px] md:h-[400px] flex items-center justify-center", children: [
2609
- data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts2.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_recharts2.PieChart, { children: [
2610
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
2669
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "relative w-full md:w-[70%] h-[300px] md:h-[400px] flex items-center justify-center", children: [
2670
+ data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_recharts2.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_recharts2.PieChart, { children: [
2671
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
2611
2672
  import_recharts2.Pie,
2612
2673
  {
2613
2674
  data,
@@ -2619,8 +2680,8 @@ var DonutChart = ({ className, style, ...props }) => {
2619
2680
  labelLine: false,
2620
2681
  isAnimationActive: false,
2621
2682
  children: [
2622
- data.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts2.Cell, { fill: entry.color }, `cell-${index}`)),
2623
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2683
+ data.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_recharts2.Cell, { fill: entry.color }, `cell-${index}`)),
2684
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2624
2685
  import_recharts2.LabelList,
2625
2686
  {
2626
2687
  dataKey: "value",
@@ -2631,14 +2692,14 @@ var DonutChart = ({ className, style, ...props }) => {
2631
2692
  ]
2632
2693
  }
2633
2694
  ),
2634
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts2.Tooltip, { formatter: (value, name) => [`${value}k`, name] })
2695
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_recharts2.Tooltip, { formatter: (value, name) => [`${value}k`, name] })
2635
2696
  ] }) }),
2636
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("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: [
2697
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("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: [
2637
2698
  total,
2638
2699
  "k"
2639
2700
  ] })
2640
2701
  ] }),
2641
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: `flex ${forceDesktop ? "flex-col ml-auto space-y-3" : "flex-wrap justify-center gap-2 mt-4"}
2702
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: `flex ${forceDesktop ? "flex-col ml-auto space-y-3" : "flex-wrap justify-center gap-2 mt-4"}
2642
2703
  w-full md:w-auto`, children: renderLegends() })
2643
2704
  ]
2644
2705
  }
@@ -2647,10 +2708,10 @@ var DonutChart = ({ className, style, ...props }) => {
2647
2708
  var PieChart_default = DonutChart;
2648
2709
 
2649
2710
  // src/components/Blocks/EmailComposer.tsx
2650
- var import_jsx_runtime52 = require("react/jsx-runtime");
2711
+ var import_jsx_runtime53 = require("react/jsx-runtime");
2651
2712
  function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc, setShowBcc, cc, setCc, bcc, setBcc, subject, setSubject, body, setBody }) {
2652
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "border rounded-md shadow bg-[#fff] p-4 mx-auto z-[50] relative", children: [
2653
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2713
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "border rounded-md shadow bg-[#fff] p-4 mx-auto z-[50] relative", children: [
2714
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2654
2715
  "input",
2655
2716
  {
2656
2717
  type: "email",
@@ -2659,8 +2720,8 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2659
2720
  required: true
2660
2721
  }
2661
2722
  ) }),
2662
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex items-center gap-2", children: [
2663
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2723
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center gap-2", children: [
2724
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2664
2725
  "input",
2665
2726
  {
2666
2727
  type: "email",
@@ -2671,7 +2732,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2671
2732
  required: true
2672
2733
  }
2673
2734
  ),
2674
- !showCc && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2735
+ !showCc && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2675
2736
  "button",
2676
2737
  {
2677
2738
  onClick: () => setShowCc?.(true),
@@ -2679,7 +2740,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2679
2740
  children: "Cc"
2680
2741
  }
2681
2742
  ),
2682
- !showBcc && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2743
+ !showBcc && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2683
2744
  "button",
2684
2745
  {
2685
2746
  onClick: () => setShowBcc?.(true),
@@ -2688,7 +2749,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2688
2749
  }
2689
2750
  )
2690
2751
  ] }) }),
2691
- showCc && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2752
+ showCc && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2692
2753
  "input",
2693
2754
  {
2694
2755
  type: "text",
@@ -2698,7 +2759,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2698
2759
  className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
2699
2760
  }
2700
2761
  ) }),
2701
- showBcc && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2762
+ showBcc && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2702
2763
  "input",
2703
2764
  {
2704
2765
  type: "text",
@@ -2708,7 +2769,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2708
2769
  className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
2709
2770
  }
2710
2771
  ) }),
2711
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2772
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2712
2773
  "input",
2713
2774
  {
2714
2775
  type: "text",
@@ -2718,11 +2779,11 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2718
2779
  className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
2719
2780
  }
2720
2781
  ) }),
2721
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(MyEditor, { value: body, onChange: setBody }) }),
2722
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex justify-end gap-2", children: [
2723
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("button", { className: "px-4 py-2 rounded-md text-gray-600 hover:bg-gray-100", children: "Discard" }),
2724
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("button", { className: "px-4 py-2 rounded-md border text-[#12715B] border-[#12715B]", children: "Reset" }),
2725
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("button", { className: "px-4 py-2 rounded-md bg-[#12715B] text-white", children: "Send" })
2782
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(MyEditor, { value: body, onChange: setBody }) }),
2783
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex justify-end gap-2", children: [
2784
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("button", { className: "px-4 py-2 rounded-md text-gray-600 hover:bg-gray-100", children: "Discard" }),
2785
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("button", { className: "px-4 py-2 rounded-md border text-[#12715B] border-[#12715B]", children: "Reset" }),
2786
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("button", { className: "px-4 py-2 rounded-md bg-[#12715B] text-white", children: "Send" })
2726
2787
  ] })
2727
2788
  ] }) });
2728
2789
  }
@@ -2762,6 +2823,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2762
2823
  Table,
2763
2824
  Tabs,
2764
2825
  Text,
2826
+ TextInputGroup,
2765
2827
  Textarea,
2766
2828
  Typography,
2767
2829
  URL,