@algorithm-shift/design-system 1.2.34 → 1.2.36

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
@@ -60,14 +60,19 @@ __export(index_exports, {
60
60
  Shape: () => Shape_default,
61
61
  Spacer: () => Spacer_default,
62
62
  Stages: () => Stages_default,
63
+ StateProvider: () => StateProvider,
63
64
  SwitchToggle: () => SwitchToggle_default,
64
65
  Table: () => Table_default,
65
66
  Tabs: () => Tabs_default,
66
67
  Text: () => TextInput_default,
68
+ TextInputGroup: () => TextInputGroup_default,
67
69
  Textarea: () => Textarea_default,
68
70
  Typography: () => Typography_default,
69
71
  URL: () => UrlInput_default,
70
- cn: () => cn
72
+ cn: () => cn,
73
+ showSonnerToast: () => showSonnerToast,
74
+ stateReducer: () => stateReducer,
75
+ useAppState: () => useAppState
71
76
  });
72
77
  module.exports = __toCommonJS(index_exports);
73
78
 
@@ -1797,18 +1802,78 @@ var DateRange = ({ className, style, ...props }) => {
1797
1802
  };
1798
1803
  var DateRange_default = DateRange;
1799
1804
 
1805
+ // src/components/Inputs/TextInputGroup/TextInputGroup.tsx
1806
+ var React14 = __toESM(require("react"));
1807
+ var import_jsx_runtime36 = require("react/jsx-runtime");
1808
+ var TextInputGroup = ({ className, style, prepend, append, ...props }) => {
1809
+ const placeholder = props.placeholder ?? "Placeholder text";
1810
+ const isEditable = props.isEditable ?? true;
1811
+ const isDisabled = props.isDisabled ?? false;
1812
+ const isReadonly = props.isReadonly ?? false;
1813
+ const isAutocomplete = props.isAutocomplete ?? false;
1814
+ const [error, setError] = React14.useState(null);
1815
+ React14.useEffect(() => {
1816
+ if (!props.validateOnMount) return;
1817
+ setError(props.errorMessage || null);
1818
+ }, [props.errorMessage, props.validateOnMount]);
1819
+ const handleChange = (e) => {
1820
+ props.onChange?.(e);
1821
+ };
1822
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
1823
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
1824
+ "div",
1825
+ {
1826
+ className: cn(
1827
+ "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",
1828
+ className,
1829
+ "p-0 m-0",
1830
+ error ? "border-red-500" : ""
1831
+ ),
1832
+ children: [
1833
+ 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 }),
1834
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1835
+ Input,
1836
+ {
1837
+ id: props.name || "prepend-input",
1838
+ type: "url",
1839
+ name: props.name,
1840
+ value: props.value,
1841
+ className: cn(
1842
+ className,
1843
+ "rounded-none flex-1 border-none focus:ring-0"
1844
+ ),
1845
+ style: {
1846
+ ...style,
1847
+ borderColor: error ? "#f87171" : style?.borderColor
1848
+ },
1849
+ autoComplete: isAutocomplete ? "on" : "off",
1850
+ placeholder,
1851
+ onChange: handleChange,
1852
+ disabled: isDisabled || !isEditable,
1853
+ readOnly: isReadonly
1854
+ }
1855
+ ),
1856
+ 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 })
1857
+ ]
1858
+ }
1859
+ ),
1860
+ error && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "mt-1 text-xs text-red-500", children: error })
1861
+ ] });
1862
+ };
1863
+ var TextInputGroup_default = TextInputGroup;
1864
+
1800
1865
  // src/components/ui/data-table.tsx
1801
1866
  var import_react_table = require("@tanstack/react-table");
1802
1867
 
1803
1868
  // src/components/ui/table.tsx
1804
- var import_jsx_runtime36 = require("react/jsx-runtime");
1869
+ var import_jsx_runtime37 = require("react/jsx-runtime");
1805
1870
  function Table({ className, ...props }) {
1806
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1871
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1807
1872
  "div",
1808
1873
  {
1809
1874
  "data-slot": "table-container",
1810
1875
  className: "relative w-full overflow-x-auto rounded-md border border-gray-200 bg-white",
1811
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1876
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1812
1877
  "table",
1813
1878
  {
1814
1879
  "data-slot": "table",
@@ -1820,7 +1885,7 @@ function Table({ className, ...props }) {
1820
1885
  );
1821
1886
  }
1822
1887
  function TableHeader({ className, ...props }) {
1823
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1888
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1824
1889
  "thead",
1825
1890
  {
1826
1891
  "data-slot": "table-header",
@@ -1833,7 +1898,7 @@ function TableHeader({ className, ...props }) {
1833
1898
  );
1834
1899
  }
1835
1900
  function TableBody({ className, ...props }) {
1836
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1901
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1837
1902
  "tbody",
1838
1903
  {
1839
1904
  "data-slot": "table-body",
@@ -1846,7 +1911,7 @@ function TableBody({ className, ...props }) {
1846
1911
  );
1847
1912
  }
1848
1913
  function TableRow({ className, ...props }) {
1849
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1914
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1850
1915
  "tr",
1851
1916
  {
1852
1917
  "data-slot": "table-row",
@@ -1859,7 +1924,7 @@ function TableRow({ className, ...props }) {
1859
1924
  );
1860
1925
  }
1861
1926
  function TableHead({ className, ...props }) {
1862
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1927
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1863
1928
  "th",
1864
1929
  {
1865
1930
  "data-slot": "table-head",
@@ -1872,7 +1937,7 @@ function TableHead({ className, ...props }) {
1872
1937
  );
1873
1938
  }
1874
1939
  function TableCell({ className, ...props }) {
1875
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1940
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1876
1941
  "td",
1877
1942
  {
1878
1943
  "data-slot": "table-cell",
@@ -1886,7 +1951,7 @@ function TableCell({ className, ...props }) {
1886
1951
  }
1887
1952
 
1888
1953
  // src/components/ui/data-table.tsx
1889
- var import_jsx_runtime37 = require("react/jsx-runtime");
1954
+ var import_jsx_runtime38 = require("react/jsx-runtime");
1890
1955
  function DataTable({
1891
1956
  columns,
1892
1957
  rowActions,
@@ -1911,14 +1976,14 @@ function DataTable({
1911
1976
  onCellClick(rowData, columnId);
1912
1977
  }
1913
1978
  };
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)(
1979
+ 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: [
1980
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableRow, { children: headerGroup.headers.map((header) => {
1981
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableHead, { children: header.isPlaceholder ? null : (0, import_react_table.flexRender)(
1917
1982
  header.column.columnDef.header,
1918
1983
  header.getContext()
1919
1984
  ) }, header.id);
1920
1985
  }) }, 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)(
1986
+ /* @__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
1987
  TableRow,
1923
1988
  {
1924
1989
  "data-state": row.getIsSelected() && "selected",
@@ -1928,7 +1993,7 @@ function DataTable({
1928
1993
  const isCellClickable = cellClickEnabled(row.original, cell.column.id);
1929
1994
  const dynamicClass = cell.column.columnDef.meta?.cellClass || "";
1930
1995
  const dynamicStyle = cell.column.columnDef.meta?.cellStyle || {};
1931
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1996
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1932
1997
  TableCell,
1933
1998
  {
1934
1999
  className: `${dynamicClass} ${isCellClickable ? "underline cursor-pointer" : ""}`,
@@ -1943,18 +2008,18 @@ function DataTable({
1943
2008
  cell.id
1944
2009
  );
1945
2010
  }),
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)) })
2011
+ 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
2012
  ]
1948
2013
  },
1949
2014
  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." }) }) }) })
2015
+ )) : /* @__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
2016
  ] }) });
1952
2017
  }
1953
2018
 
1954
2019
  // src/components/ui/pagination.tsx
1955
- var import_jsx_runtime38 = require("react/jsx-runtime");
2020
+ var import_jsx_runtime39 = require("react/jsx-runtime");
1956
2021
  function Pagination({ className, ...props }) {
1957
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2022
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1958
2023
  "nav",
1959
2024
  {
1960
2025
  role: "navigation",
@@ -1969,7 +2034,7 @@ function PaginationContent({
1969
2034
  className,
1970
2035
  ...props
1971
2036
  }) {
1972
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2037
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1973
2038
  "ul",
1974
2039
  {
1975
2040
  "data-slot": "pagination-content",
@@ -1979,7 +2044,7 @@ function PaginationContent({
1979
2044
  );
1980
2045
  }
1981
2046
  function PaginationItem({ ...props }) {
1982
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("li", { "data-slot": "pagination-item", ...props });
2047
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("li", { "data-slot": "pagination-item", ...props });
1983
2048
  }
1984
2049
  function PaginationLink({
1985
2050
  className,
@@ -1987,7 +2052,7 @@ function PaginationLink({
1987
2052
  size = "icon",
1988
2053
  ...props
1989
2054
  }) {
1990
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2055
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
1991
2056
  "a",
1992
2057
  {
1993
2058
  "aria-current": isActive ? "page" : void 0,
@@ -2008,7 +2073,7 @@ function PaginationPrevious({
2008
2073
  className,
2009
2074
  ...props
2010
2075
  }) {
2011
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2076
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2012
2077
  PaginationLink,
2013
2078
  {
2014
2079
  "aria-label": "Go to previous page",
@@ -2016,8 +2081,8 @@ function PaginationPrevious({
2016
2081
  className: cn("gap-1 px-2.5 sm:pl-2.5", className),
2017
2082
  ...props,
2018
2083
  children: [
2019
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronLeft, {}),
2020
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "hidden sm:block", children: "Previous" })
2084
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChevronLeft, {}),
2085
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "hidden sm:block", children: "Previous" })
2021
2086
  ]
2022
2087
  }
2023
2088
  );
@@ -2026,7 +2091,7 @@ function PaginationNext({
2026
2091
  className,
2027
2092
  ...props
2028
2093
  }) {
2029
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2094
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2030
2095
  PaginationLink,
2031
2096
  {
2032
2097
  "aria-label": "Go to next page",
@@ -2034,8 +2099,8 @@ function PaginationNext({
2034
2099
  className: cn("gap-1 px-2.5 sm:pr-2.5", className),
2035
2100
  ...props,
2036
2101
  children: [
2037
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "hidden sm:block", children: "Next" }),
2038
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronRight, {})
2102
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "hidden sm:block", children: "Next" }),
2103
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChevronRight, {})
2039
2104
  ]
2040
2105
  }
2041
2106
  );
@@ -2044,7 +2109,7 @@ function PaginationEllipsis({
2044
2109
  className,
2045
2110
  ...props
2046
2111
  }) {
2047
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2112
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2048
2113
  "span",
2049
2114
  {
2050
2115
  "aria-hidden": true,
@@ -2052,15 +2117,15 @@ function PaginationEllipsis({
2052
2117
  className: cn("flex size-9 items-center justify-center", className),
2053
2118
  ...props,
2054
2119
  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" })
2120
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Ellipsis, { className: "size-4" }),
2121
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "sr-only", children: "More pages" })
2057
2122
  ]
2058
2123
  }
2059
2124
  );
2060
2125
  }
2061
2126
 
2062
2127
  // src/components/DataDisplay/Pagination/Pagination.tsx
2063
- var import_jsx_runtime39 = require("react/jsx-runtime");
2128
+ var import_jsx_runtime40 = require("react/jsx-runtime");
2064
2129
  var CustomPagination = ({
2065
2130
  totalPages,
2066
2131
  currentPage,
@@ -2102,15 +2167,15 @@ var CustomPagination = ({
2102
2167
  }
2103
2168
  };
2104
2169
  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)(
2170
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Pagination, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(PaginationContent, { children: [
2171
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2107
2172
  PaginationPrevious,
2108
2173
  {
2109
2174
  onClick: () => handlePageChange(currentPage - 1),
2110
2175
  className: currentPage === 1 ? "pointer-events-none opacity-50" : "cursor-pointer"
2111
2176
  }
2112
2177
  ) }),
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)(
2178
+ 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
2179
  PaginationLink,
2115
2180
  {
2116
2181
  onClick: () => handlePageChange(pageNumber),
@@ -2119,7 +2184,7 @@ var CustomPagination = ({
2119
2184
  children: pageNumber
2120
2185
  }
2121
2186
  ) }, index)),
2122
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2187
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2123
2188
  PaginationNext,
2124
2189
  {
2125
2190
  onClick: () => handlePageChange(currentPage + 1),
@@ -2132,8 +2197,19 @@ var Pagination_default = CustomPagination;
2132
2197
 
2133
2198
  // src/components/DataDisplay/Table/Table.tsx
2134
2199
  var import_react13 = require("react");
2135
- var import_jsx_runtime40 = require("react/jsx-runtime");
2136
- var Table2 = ({ columns, data, rowActions, className, style, pagination = false, itemsPerPage = 10, onPageChange, loading = false }) => {
2200
+ var import_jsx_runtime41 = require("react/jsx-runtime");
2201
+ var Table2 = ({
2202
+ columns,
2203
+ data,
2204
+ rowActions,
2205
+ className,
2206
+ style,
2207
+ pagination = false,
2208
+ itemsPerPage = 10,
2209
+ onPageChange,
2210
+ loading = false,
2211
+ ...props
2212
+ }) => {
2137
2213
  const rawColumns = Array.isArray(columns) ? columns : [];
2138
2214
  const rawData = Array.isArray(data) ? data : [];
2139
2215
  const rawRowActions = Array.isArray(rowActions) ? rowActions : [];
@@ -2144,9 +2220,18 @@ var Table2 = ({ columns, data, rowActions, className, style, pagination = false,
2144
2220
  onPageChange?.(page);
2145
2221
  };
2146
2222
  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)(
2223
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: `${className} space-y-3`, style, children: [
2224
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2225
+ DataTable,
2226
+ {
2227
+ ...props,
2228
+ columns: rawColumns,
2229
+ data: paginatedData,
2230
+ rowActions: rawRowActions,
2231
+ loading
2232
+ }
2233
+ ),
2234
+ enablePagination && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2150
2235
  Pagination_default,
2151
2236
  {
2152
2237
  totalPages: Math.ceil(rawData.length / itemsPerPage),
@@ -2160,16 +2245,16 @@ var Table_default = Table2;
2160
2245
 
2161
2246
  // src/components/ui/dropdown-menu.tsx
2162
2247
  var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
2163
- var import_jsx_runtime41 = require("react/jsx-runtime");
2248
+ var import_jsx_runtime42 = require("react/jsx-runtime");
2164
2249
  function DropdownMenu({
2165
2250
  ...props
2166
2251
  }) {
2167
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
2252
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
2168
2253
  }
2169
2254
  function DropdownMenuTrigger({
2170
2255
  ...props
2171
2256
  }) {
2172
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2257
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2173
2258
  DropdownMenuPrimitive.Trigger,
2174
2259
  {
2175
2260
  "data-slot": "dropdown-menu-trigger",
@@ -2182,7 +2267,7 @@ function DropdownMenuContent({
2182
2267
  sideOffset = 4,
2183
2268
  ...props
2184
2269
  }) {
2185
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2270
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2186
2271
  DropdownMenuPrimitive.Content,
2187
2272
  {
2188
2273
  "data-slot": "dropdown-menu-content",
@@ -2201,7 +2286,7 @@ function DropdownMenuItem({
2201
2286
  variant = "default",
2202
2287
  ...props
2203
2288
  }) {
2204
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2289
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2205
2290
  DropdownMenuPrimitive.Item,
2206
2291
  {
2207
2292
  "data-slot": "dropdown-menu-item",
@@ -2220,7 +2305,7 @@ function DropdownMenuLabel({
2220
2305
  inset,
2221
2306
  ...props
2222
2307
  }) {
2223
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2308
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2224
2309
  DropdownMenuPrimitive.Label,
2225
2310
  {
2226
2311
  "data-slot": "dropdown-menu-label",
@@ -2237,7 +2322,7 @@ function DropdownMenuSeparator({
2237
2322
  className,
2238
2323
  ...props
2239
2324
  }) {
2240
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2325
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2241
2326
  DropdownMenuPrimitive.Separator,
2242
2327
  {
2243
2328
  "data-slot": "dropdown-menu-separator",
@@ -2248,7 +2333,7 @@ function DropdownMenuSeparator({
2248
2333
  }
2249
2334
 
2250
2335
  // src/components/Navigation/Tabs/Tabs.tsx
2251
- var import_jsx_runtime42 = require("react/jsx-runtime");
2336
+ var import_jsx_runtime43 = require("react/jsx-runtime");
2252
2337
  var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
2253
2338
  const rawTabs = Array.isArray(tabs) ? tabs : [];
2254
2339
  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 +2343,7 @@ var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
2258
2343
  if (!path) return false;
2259
2344
  return pathname === path || path !== "/" && pathname?.startsWith(path);
2260
2345
  };
2261
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className, style, children: rawTabs.map((tab, index) => {
2346
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className, style, children: rawTabs.map((tab, index) => {
2262
2347
  const finalClasses = [
2263
2348
  baseClasses,
2264
2349
  isActive(tab.href) ? activeClasses : hoverClasses,
@@ -2266,29 +2351,29 @@ var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
2266
2351
  ].join(" ");
2267
2352
  const hasDropdown = Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown;
2268
2353
  if (hasDropdown) {
2269
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(DropdownMenu, { children: [
2270
- /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
2354
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(DropdownMenu, { children: [
2355
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
2271
2356
  DropdownMenuTrigger,
2272
2357
  {
2273
2358
  className: `${finalClasses} inline-flex items-center gap-1`,
2274
2359
  children: [
2275
2360
  tab.header,
2276
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ChevronDown, { className: "h-4 w-4 opacity-80" })
2361
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ChevronDown, { className: "h-4 w-4 opacity-80" })
2277
2362
  ]
2278
2363
  }
2279
2364
  ),
2280
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2365
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2281
2366
  DropdownMenuContent,
2282
2367
  {
2283
2368
  align: "start",
2284
2369
  sideOffset: 6,
2285
2370
  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)(
2371
+ children: tab.children.map((item) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2287
2372
  DropdownMenuItem,
2288
2373
  {
2289
2374
  asChild: true,
2290
2375
  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
2376
+ children: LinkComponent ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(LinkComponent, { href: item.href || "#", children: item.header }) : item.header
2292
2377
  },
2293
2378
  item.id
2294
2379
  ))
@@ -2296,19 +2381,19 @@ var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
2296
2381
  )
2297
2382
  ] }, index);
2298
2383
  }
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);
2384
+ 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
2385
  }) });
2301
2386
  };
2302
2387
  var Tabs_default = Tabs;
2303
2388
 
2304
2389
  // src/components/Navigation/Stages/Stages.tsx
2305
2390
  var import_react14 = __toESM(require("react"));
2306
- var import_jsx_runtime43 = require("react/jsx-runtime");
2391
+ var import_jsx_runtime44 = require("react/jsx-runtime");
2307
2392
  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)(
2393
+ 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: [
2394
+ /* @__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" }) }) }) }),
2395
+ /* @__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: [
2396
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2312
2397
  "button",
2313
2398
  {
2314
2399
  className: `
@@ -2316,26 +2401,26 @@ var StagesComponent = ({ stages, isShowBtn, buttonText, className, style }) => {
2316
2401
  children: stage.header
2317
2402
  }
2318
2403
  ),
2319
- index < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex-shrink-0 w-3 h-px bg-gray-300" })
2404
+ index < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "flex-shrink-0 w-3 h-px bg-gray-300" })
2320
2405
  ] }, 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 }) })
2406
+ 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
2407
  ] }) });
2323
2408
  };
2324
2409
  var Stages_default = StagesComponent;
2325
2410
 
2326
2411
  // src/components/Navigation/Spacer/Spacer.tsx
2327
- var import_jsx_runtime44 = require("react/jsx-runtime");
2412
+ var import_jsx_runtime45 = require("react/jsx-runtime");
2328
2413
  var Spacer = ({ className, style }) => {
2329
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: `${className}`, style });
2414
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: `${className}`, style });
2330
2415
  };
2331
2416
  var Spacer_default = Spacer;
2332
2417
 
2333
2418
  // src/components/Navigation/Profile/Profile.tsx
2334
- var import_jsx_runtime45 = require("react/jsx-runtime");
2419
+ var import_jsx_runtime46 = require("react/jsx-runtime");
2335
2420
  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)(
2421
+ 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: [
2422
+ showName && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("h4", { className: "text-[#000000] dark:text-[#fff] text-[13px] font-[500] mb-0", children: userName }),
2423
+ profileType === "avatar" ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2339
2424
  "img",
2340
2425
  {
2341
2426
  src: "https://builder.development.algorithmshift.ai/images/toolset/profile.svg",
@@ -2343,16 +2428,16 @@ var Profile = ({ profileType, showName, userName, className, style }) => {
2343
2428
  width: 24,
2344
2429
  height: 24
2345
2430
  }
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" })
2431
+ ) : /* @__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
2432
  ] }) });
2348
2433
  };
2349
2434
  var Profile_default = Profile;
2350
2435
 
2351
2436
  // src/components/Navigation/Notification/Notification.tsx
2352
- var import_jsx_runtime46 = require("react/jsx-runtime");
2437
+ var import_jsx_runtime47 = require("react/jsx-runtime");
2353
2438
  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)(
2439
+ 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: [
2440
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2356
2441
  "img",
2357
2442
  {
2358
2443
  src: "https://builder.development.algorithmshift.ai/images/toolset/notification.svg",
@@ -2361,7 +2446,7 @@ var Notification = ({ className, style, badgeType, badgeCount = 0, hideBadgeWhen
2361
2446
  height: 18
2362
2447
  }
2363
2448
  ),
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]" })
2449
+ 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
2450
  ] }) });
2366
2451
  };
2367
2452
  var Notification_default = Notification;
@@ -2370,7 +2455,7 @@ var Notification_default = Notification;
2370
2455
  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+/eWLduXWzYsCF27twZbW1tERFRVlYWtbW1UV9fH01NTTFhwoS895IFawtyU15entklDDt27Ij/+Z//iYMHD57S81taWuK3v/1t/PCHP4yhQ4f2u5/zzz8/VqxY0e86+dTR0RGbN2+OzZs3x65du6K1tTUOHjz4tfeTYcOGxahRo2L06NHR0NAQDQ0NUVlZecK65hXg5AQcQGZKSkryduC+c+fOeP3112PVqlXR09Nz3McdOHAgtm7dGqtWrYqIiLFjx8Yll1wSzc3NmV8OUl9fH1OnTo1PPvmkT8+rqamJyZMnZ9rLV+3YsSNee+21WLt27TFP+W1vb/8y/PjrX/8aNTU1cdlll0Vzc/OgvSuJtQW5W7BgQSYHna2trfHQQw/FoUOH+lVny5Yt8cwzz8Stt97a754mTJgQtbW1sWvXrn7XytqePXvijTfeiJUrV365f8XxHDhwIHbs2BFr1qyJiKNnqE2ePDn27t173OeYV4CTG5yfZIEkzZo1K0aOHJlpze7u7njllVfiZz/7WaxcufKEB6DHsmPHjvjDH/4QDzzwQOzevTvT3iKOni7cV3Pnzs28j4iIzs7OePHFF+O///u/Y82aNTlfz7x79+546qmn4oEHHogdO3bkpbf+srYgN2VlZXH++ef3u053d3c8/vjj/T4I/sKaNWti9erVmdSaM2dOJnWy0tPTE3/729/i/vvvj+XLl5803DiW3t7eaGlpiQMHDhzz5+YVIDcCDiAzWXz4+qqOjo54+OGH4+9//3u/Nx/bsmVL/OIXv4iWlpaMujtqwoQJMW7cuD49Z8aMGZn2EBGxb9+++PWvfx1vvvnmKf+utm7dGr/85S9j5cqVGXfXf9YW5Gb27NlRXl7e7zrLly+P7du3Z9DR//fyyy/3OUg8lsG0R01XV1c89thj8eqrr0Z3d3fexjGvALkRcACZqK6ujvr6+szqdXV1xSOPPJLpQWNHR0c88sgjsWXLlsxqRkSf7uoxfvz4qKqqynT81tbWePDBB2Pbtm39rtXd3R1PP/10vPXWWxl0lg1rC3I3c+bMftfo7u6Ov//97xl083X79u2LdevW9bvO2LFjY/jw4Rl01D+9vb3x5JNPxtq1a/M+lnkFyI2AA8hEc3NzpvVefvnl2LBhQ6Y1I44e3P7ud7+L9vb2zGpOnTo158dOnz49s3Ejju6n8fDDD8f+/fszrfvCCy98uddEoVlbkJthw4ZlEgZ++umnx71Uor+y2ldm2rRpmdTpj2XLln25h0Y+mVeA3Ak4gExMmjQps1obN26Mt99+O7N633TgwIF46aWXMqtXXV2d8/4QWW8u+sc//jHn2/udSu3BsOGbtZXt3iOcvpqamjLZ8Dafm9tu2rQpkzp1dXWZ1DlV7e3t8corrwzIWOYVIHcCDqDfiouLM72EIMsDxONZuXJlphtqnn322Sd9TFFRUYwdOzazMT/88MO8nhrd1dUVzz33XN7q58Laym1tQUREY2NjJnWyOlg9lqw25M3yvfRULF++/MvbvuabeQXIndvEAv02bty4TDY/izi6YePmzZszqXUivb29sXz58rjhhhsyqTdhwoR45513TviYsWPHRllZWSbj9fT0DMi3h5999lmsW7euYAfZ1lZua+tMcuDAgfjZz35W6Da+ZsqUKXHzzTcXuo0YP358JnXycVegL3R1dWVSp7a2NpM6p2og/ybNK0DuBBxAv40ePTqzWh988EFmtU7m/fffj2uvvTZKSkr6Xau6uvqkj8nyjhiffPJJ3i5N+aa33nqrYAGHtZXb2jqT9Pb2ZrrPSRaOHDlS6BYiImLUqFGZ1PmP//iPTOrkU0VFRQwZMuSUbsnaXzt27Mh836MTMa8AuXOJCtBvNTU1mdUaiN3ov9DR0ZHZXS/OOuuskz4mqw+pETGgG4CuX78+2traBmy8r7K2cltbMHLkyBgyZEih2xhQhQr/8nmpxzeZV4C+EXAA/ZbVgXt7e/uAnZXwhSxurRoRMWLEiCgtPfFJcVkdqPb09OR1s7hv6u3tzctdR3JhbeW2tuBMPLW/UOHf559/PmBjmVeAvhFwAP2W1R4Je/fuzaROX2R5TfLJ9tcYNmxYJuO0trYO2OZ2X8jqYL2vrK2jstq7hdPX0KFDC93CgMvq/aGv8rmXxTeZV4C+EXAA/ZbV6bOFuAwiy+uoKyoqTvjzrL6F37dvXyZ1+mLPnj0DPmaEtfWFk60tOBNDsEJdunHgwIEBG8u8AvSNgAPot6w+jHR3d2dSpy+y3MjsZN86ZRVwFGJDw0OHDg34mBHW1hd8o8nJnIkHhVls4nsqBvKMMPMK0DcCDgCAxBUVFRW6hQFXiOCvq6trQC8RNK8AfSPgAPotq2+qC/GtTZbfjp3szIqenp5MxinEh79CXSJhbR01WG5DyuA10PvyDAaFOPgf6L9F8wrQNwIOoN+6uroyqTNixIhM6vRFVVVVZrVOdhlHVgfrI0eOzKROX2R5i9u+sLaOKtQlQqQjy0uiOL6sgupcmVeAvhFwAP12+PDhTOoU4tZwNTU1mdU62TdtWX1Qra6uHvCN5+rq6gZ0vC9YW0edid/i0jdCsIGRVeiaK/MK0DcCDqDfsrrDRmVlZVRXV2dSK1dZHbi3tbWd9INvVnc/KS4ujqlTp2ZSKxdFRUUxadKkARvvq6yt3NYW7Nq1q9AtnBEGesNi8wrQNwIOoN92796dWa1zzjkns1onU1ZWFvX19ZnUymVX/Sxv7zpz5szMap1MY2NjQS7xiLC2Igb2jg2ka9++fS5nOA2ZV4C+yeaehcAZbefOnZnVmjFjRrz55puZ1TuR8847L7PNJ1tbW0/6mKzORoiImDp1aowaNSrTmsczf/78vI9xPNZWbmsLIo6+x4wZM6bfdX75y18mEaydKZdumVeA3Ak4gH7bvn17dHR0ZLIvRH19fTQ0NMTmzZsz6Oz4ioqKYt68eZnV27Rp00kfk+VrKi4ujiuvvDKeeOKJzGoey+TJk+Pss8/O6xgnYm3ltrYgImLr1q2ZHAhPnDgxtm7dmkFHZMG8AuTOJSpAv/X09GR60HjVVVdlVut4Zs2aFWPHjs2s3rp16076mLa2tti/f39mY86YMSOmTZuWWb1vKi0tjeuvvz5v9XNhbeW2tiAioqWlJZM6M2bMyKQO2TCvALkTcACZ2LBhQ2a1Jk6cGBdddFFm9b5p+PDhmR7otra25ry/xrZt2zIbNyJi8eLFeds887vf/W6MHj06L7X7wtrKbu8WTm+ffvpp9Pb29rtOQ0NDNDQ0ZNDRiQ0bNiyKioryPk7qzCtA7gQcQCZWr16dab1Fixbl5c4dpaWlcdttt0VlZWVmNT/55JOcH5v1t/GVlZXxgx/8IKqqqjKte80118R5552Xac1TZW1Bbg4ePBhbtmzJpFa+z3YqKyuLu+66K/7lX/6lYJsYp8K8AuROwAFkorW1NbMPYBFHDxbvuOOOaGxszKxmWVlZ3HHHHZnd3eILK1asyPmxH374YfT09GQ6fnV1ddxzzz2Z3Ja0pKQklixZEhdffHEGnWXD2oLcrVq1KpM6EydOzNv7QHFxcdx8880xevTomDhxYvz4xz+O6dOn52Ws04V5BciNTUZhEJszZ07MmTOn0G1ERMSuXbvi/vvvP+Fj3n333UwP8MrKyuIHP/hBvPbaa/H666/36xTd+vr6uPHGG6Ompiaz/iKObgC5ffv2nB/f3t4emzZtyvwMgpEjR8bdd98dr776arz11lun9Luqq6uLxYsXZ7p/RFasLcjNihUr4oorrojy8vJ+11q0aFHs2LEjsz0gIo4eBN9yyy1f2z+osrIybr311li2bFm88MIL0d3dndl4pwvzCpAbZ3AAmVm5cmXm+wWUlJTElVdeGT/5yU9i1qxZUVzct7etsWPHxk033RT33ntv5gegERFLly7t83PefffdzPuIiBgyZEhcffXV8a//+q9xzjnn5HwNdE1NTdx4441x3333DcpwI8Laglx1dHRk9h5TUlISt912W2Z3UiovL48f/ehHcc455xzz5xdccEHcd999efl7Sp15BchNycKFC39a6CbgdNLU1BQTJkwodBuZa29vj2XLlp3wMb29vdHR0XHcDzn9MWzYsJg+fXpceOGFUVdXF1VVVTFkyJCIOPrN0ZAhQ6K8vDxqa2tj8uTJMXfu3LjqqqtiwYIFMXbs2LxseLZly5Z4+eWX+/y8nTt3xty5czO59emxDB8+PJqbm2PWrFlRW1sb5eXlUVRUFL29vTFkyJAYNmxYNDQ0xMyZM+PKK6+Mq666Km+/o69qa2s75Q/o1lbaampqYubMmZnU6ujoiDfffDOTWlkZbK9v8+bNMW/evCgt7f+JuiUlJdHc3BzFxcWxcePGUz7badKkSfHDH/4wxo0bd8LHDR8+PGbNmhVtbW2xY8eOUxrrWM4555xMLuPL5f/CfDGvACfnEhUgU++99158+9vfzts3NRUVFTFjxoxBcbu7V1999ZSe19PTE8uXL4+FCxdm29A3nHXWWTFv3ryYN29eXscZKNYW5ObIkSPx9ttvx4IFCzKpV1xcHAsWLIhzzz03li5dGqtXr875gLimpiYuv/zyOPfcc3MOA8vLy2PJkiUxZcqU+N///d/o7OzsT/unDfMKcHICDiBTvb298dxzz8Wdd95Z6FbyavXq1fHpp5+e8vPfeOONmDdvXgwfPjzDrk5v1hbkbunSpdHc3JxpIDh69Oi46aab4pprrol169bFpk2bYseOHbFv377o7u6O4uLiqKioiNGjR8e4ceOiqakpxo8ff8rjnXfeeVFfXx9PPvlk5rfYTpV5BTgxAQeQuZaWllixYkXMnj270K3kRXt7ezz//PP9qtHZ2RlLly6N6667LqOuzgzWFuSmu7s7nn322bjrrrsyv4xq2LBhMWvWrJg1a1amdY+lpqYm7rnnnnjllVfirbfeyvt4g515BTgxm4wCefHnP/859uzZU+g28uK5556L9vb2ftdZtmxZbN68OYOOzizWFuRmw4YN8fbbbxe6jX4rLS2Na665Jm6//faoqKgodDsFZ14Bjk/AAeTFkSNH4vHHH4+Ojo5Ct5KpN998Mz788MNMavX29sZTTz3lOuQ+srYgdy+99FJs2LCh0G1kYtq0adHc3FzoNgYF8wpwbAIOIG+2bdsWzzzzTPT09BS6lUx89NFH8dJLL2Vas7W1NV544YVMa54JrC3ITU9PT/z+97+P3bt3F7qVfnvvvfcKdgeTwca8AhybgAPIqw8//DCee+65U74F3WDR0tISf/jDH/LyOt55551Yvnx55nVPd9YW5ObQoUPx0EMPxd69ewvdyilbu3ZtPPvss4VuY1AxrwD/SMAB5N27774bTz31VHR3dxe6lVPy8ccfxyOPPBJdXV15G+NPf/pTrFmzJm/1T1fWFuSmra0tHnzwwdi1a1ehW+mzNWvWxGOPPSYEPAbzCvB1Ag5gQKxatSoeffTROHToUKFb6ZNly5bF7373u7wfgPb29sbjjz8+6PZgOHjwYGzZsqXQbZyQtQW5aWtriwceeCA+++yzQreSs2XLlsVjjz122lyOlg/mFeD/E3AAA+bTTz+NX/ziF0ncOeTw4cPx9NNPx5/+9KcB+3app6cnnnjiifi///u/ARnvZDo7O+Pxxx+Pffv2FbqVk7K2IDeHDx+O3/zmN/H6668P6oPLzs7OePbZZ/2d5Mi8Ahwl4AAG1N69e+PBBx+MV155ZdDePWT9+vXx85//PFauXDngY/f29sbzzz8fzzzzTBw5cmTAx/9CZ2dnPPHEE5nu0p/v12NtQW56e3vj5Zdfjl//+teD8tKGrVu3xq9+9at49913C91KUswrQERpoRsAzjy9vb3x97//PT766KNYtGhRTJ8+vdAtRUTEnj174rXXXov333+/0K3EihUrYsOGDXH99dfH2WefPaBjHzhwIB5//PHYuHFjpnUH4ts6awtyt3nz5vj5z38el1xyScyfPz+GDh1a0H7a29tj6dKl8fbbb/t2vx/MK3AmE3AABbN79+74/e9/H/X19bFw4cJoamqKoqKiAe9j79698dZbb8Xy5csH1WaVe/bsiYcffjhmzJgRCxcujNra2ryP+fHHH8ezzz4bBw4cyLz2QJ6RYm1Bbrq7u+Nvf/tbvP3227FgwYKYPXt2VFRUDGgPhw8fjmXLlsXrr79e0DPXTifmFThTCTiAgtuyZUs8/PDDUYOwV1MAAAs8SURBVF1dHRdeeGE0NzfHsGHD8jpmT09PtLS0xLJly+Ljjz8e1N8qffDBB/Hhhx/GzJkz4+KLL466urrMx9i8eXP87W9/i08++eQfflZcnM3VjIX4HVtbkJsjR47Eiy++GH/5y19i9uzZcf755+flveardu7cGe+9916888470dHRkdexzlTmFTjTCDiAQaO1tTX+/Oc/xwsvvBCTJ0+Ob33rWzFlypSorq7O5Nv3Q4cOxaZNm2Lt2rXx0UcfJXXXjd7e3nj//ffj/fffjzFjxsScOXNi6tSpUVNTc8o19+/fH2vXro3333//hJtzlpWVnfIYX9Xe3p5JnVNhbUFuurq6Yvny5bF8+fI466yzYsaMGTF16tQYP358DBkypN/1d+7cGevWrYvVq1fH1q1bM+iYXJhX4ExR9NOf/tRXS5ChIUOGZPJhYbDp6emJw4cPF2TsoUOHxqRJk2L8+PFRXV0dVVVVUVVVFRUVFVFSUhKlpUez2t7e3ujs7IzOzs5oa2uL/fv3x759+2L79u2xcePGQbnpWn+NGDEiGhsbo76+Ps4666wYNWpUDBs2LEpLS78MJnp6euLIkSOxb9++aG1tjS1btsT69etj+/btOY1x7733RkNDQ797/ctf/hJLly7td50sWVsDo6SkJMrLyzOp1dvbO+gCpNP99UUcPZOrrq4uJk6cGLW1tTFy5Mioqqr6h/ebiKPvOYcOHYqDBw/G3r17Y9euXbFt27ZoaWmJgwcPFqT/srKyL/+e+6OQ/xfmQ+rzCvBNAg7gtFBUVORSgGPI4vfy7//+71FVVdXvXp555plYsWJFv+sMNGsLcuNv5fRkXoGUuE0scFrw4evY+vt7GT58eCbhRkTEvn37Mqkz0KwtyI2/ldOTeQVSIuAA4LiyvEXtjh07MqsFAADfJOAA4Liam5szqdPW1lbQTUYBADj9CTgABpl58+bFxIkTC91GjBkzJqZMmZJJrZ07d2ZSBwAAjsdtYgEGkTFjxsQ111wTRUVF8dJLL8Xbb79dsF6+6CML27Zty6QOAAAcjzM4AAaJoqKiWLx4cZSWlkZJSUlce+21cccdd8Tw4cMHvJcLLrggs7M3IiLWrVuXWS0AADgWAQfAIHHppZfG+PHjv/ZvU6dOjZ/85Cdx/vnnZ3Y2xclMmTIlrr766szqHT58ODZs2JBZPQAAOBYBB8AgMHbs2Lj00kuP+bPKysr47ne/G/fdd1/e9+aYPn163HrrrVFamt0VjBs2bHCbQQAA8s4eHAAFVlxcHEuWLDlpqDB+/Pi4++67Y8OGDfHXv/41WlpaMuuhvLw8Fi1aFHPnzs38TJGVK1dmWg8AAI5FwAFQYAsWLIhx48bl/PhJkybFnXfeGbt3745Vq1bFqlWrorW19ZTGrq6ujvPPPz/mzp0bQ4cOPaUaJ9LW1hZr1qzJvC4AAHyTgAOggMaNGxeXXHLJKT23pqYmFi5cGAsXLox9+/bFxo0bY9euXbFr167YvXt3dHR0xJEjR758/PDhw2PEiBFRW1sbY8eOjQkTJkRtbW1WL+WYVq9e7fIUAAAGhIADoECKi4tj8eLFUVJS0u9aI0eOjJkzZ2bQVXY6OzvjjTfeKHQbAACcIWwyClAgV1xxRZ8uTUnNu+++GwcOHCh0GwAAnCEEHAAFMH78+Jg/f36h28ib9vb2eO211wrdBgAAZxABB8AAKykpicWLF0dx8en7Fvziiy/G4cOHC90GAABnkNP30zXAIHX55ZfHmDFjCt1G3qxZs8atYQEAGHACDoAB1NDQcFpfmtLa2hpPP/10odsAAOAMJOAAGCCn+6UpBw8ejEcfffRrt6YFAICBcnp+ygYYhOrq6mLkyJGFbiMvDh8+HI8++mjs2rWr0K0AAHCGEnAADJDNmzfHr371q/j8888L3Uqm9u/fHw899FBs2bKl0K0AAHAGE3AADKDPP/88fvGLX8Trr78ePT09hW6n374IbbZv317oVgAAOMOVFroBgDNNd3d3vPzyy7Fy5cq47rrrorGxsdAt9Vl3d3e88cYb8dprr50WQQ0AAOkTcAAUyM6dO+M3v/lNTJkyJS6//PJoaGgodEs5Wb9+fbzwwgun3aU2AACkTcABUGDr16+P9evXx4QJE+Kiiy6KadOmxZAhQwrd1j9oaWmJpUuXRktLS6FbAQCAfyDgABgkNm3aFJs2bYry8vJobm6O6dOnx8SJE6OsrKxgPe3fvz/WrFkTy5cvj507dxasDwAAOBkBB8Agc+TIkXjnnXfinXfeieLi4pgwYUJMmDAhxo0bF+PGjYvq6uooKirKy9gdHR2xbdu2WL9+fXzyySexbdu2vIwDAABZE3AADGI9PT2xYcOG2LBhw5f/VlpaGmPGjImampqoqamJUaNGRWVlZQwbNiyGDh0aFRUVUVxc/A9nfnR1dUVPT090dnZGe3t7HDx4MNra2mL//v3x+eefx5YtW2L37t0D/RIBACATAg6AxHR1dcXWrVtj69athW4FAAAGjeJCNwAAAADQXwIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5Ag4AAAAgeQIOAAAAIHkCDgAAACB5/w8RG1j/1Z36RAAAAABJRU5ErkJggg==";
2371
2456
 
2372
2457
  // src/components/Navigation/Logo/Logo.tsx
2373
- var import_jsx_runtime47 = require("react/jsx-runtime");
2458
+ var import_jsx_runtime48 = require("react/jsx-runtime");
2374
2459
  var Logo = ({
2375
2460
  className,
2376
2461
  style,
@@ -2378,7 +2463,7 @@ var Logo = ({
2378
2463
  altText = "Preview"
2379
2464
  }) => {
2380
2465
  if (!imageUrl) {
2381
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2466
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2382
2467
  "div",
2383
2468
  {
2384
2469
  className: cn(
@@ -2386,19 +2471,19 @@ var Logo = ({
2386
2471
  "p-0"
2387
2472
  ),
2388
2473
  style,
2389
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("img", { src: logo_placeholder_default, alt: altText, className: "opacity-50", width: 150, height: 80 })
2474
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("img", { src: logo_placeholder_default, alt: altText, className: "opacity-50", width: 150, height: 80 })
2390
2475
  }
2391
2476
  );
2392
2477
  }
2393
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("img", { src: imageUrl, alt: altText, className, style });
2478
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("img", { src: imageUrl, alt: altText, className, style });
2394
2479
  };
2395
2480
  var Logo_default = Logo;
2396
2481
 
2397
2482
  // src/components/ui/avatar.tsx
2398
- var React15 = __toESM(require("react"));
2483
+ var React16 = __toESM(require("react"));
2399
2484
  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)(
2485
+ var import_jsx_runtime49 = require("react/jsx-runtime");
2486
+ var Avatar = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2402
2487
  AvatarPrimitive.Root,
2403
2488
  {
2404
2489
  ref,
@@ -2410,7 +2495,7 @@ var Avatar = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
2410
2495
  }
2411
2496
  ));
2412
2497
  Avatar.displayName = AvatarPrimitive.Root.displayName;
2413
- var AvatarImage = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2498
+ var AvatarImage = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2414
2499
  AvatarPrimitive.Image,
2415
2500
  {
2416
2501
  ref,
@@ -2419,7 +2504,7 @@ var AvatarImage = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
2419
2504
  }
2420
2505
  ));
2421
2506
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
2422
- var AvatarFallback = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2507
+ var AvatarFallback = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2423
2508
  AvatarPrimitive.Fallback,
2424
2509
  {
2425
2510
  ref,
@@ -2433,7 +2518,7 @@ var AvatarFallback = React15.forwardRef(({ className, ...props }, ref) => /* @__
2433
2518
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
2434
2519
 
2435
2520
  // src/components/Navigation/Navbar/Navbar.tsx
2436
- var import_jsx_runtime49 = require("react/jsx-runtime");
2521
+ var import_jsx_runtime50 = require("react/jsx-runtime");
2437
2522
  function Navbar({
2438
2523
  style,
2439
2524
  badgeType,
@@ -2448,61 +2533,61 @@ function Navbar({
2448
2533
  ImageComponent
2449
2534
  }) {
2450
2535
  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)(
2536
+ 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: [
2537
+ 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" }),
2538
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "flex items-center space-x-3", children: [
2539
+ !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: [
2540
+ /* @__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" }),
2541
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Input, { placeholder: "Search", className: "pl-9 text-gray-400" })
2542
+ ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2458
2543
  Button,
2459
2544
  {
2460
2545
  variant: "ghost",
2461
2546
  size: "icon",
2462
2547
  className: "border border-gray-400",
2463
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Search, { className: "h-5 w-5 text-gray-400" })
2548
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Search, { className: "h-5 w-5 text-gray-400" })
2464
2549
  }
2465
2550
  ),
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" })
2551
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "relative bg-[#E9E9E9] rounded-md", children: [
2552
+ /* @__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]" }) }),
2553
+ 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
2554
  ] }),
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)(
2555
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(DropdownMenu, { children: [
2556
+ /* @__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: [
2557
+ !isMobileView && showName && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("h4", { className: "text-[#000000] text-[13px] font-[500] mb-0", children: "Akbar Sheriff" }),
2558
+ !isMobileView ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
2559
+ /* @__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
2560
  AvatarImage,
2476
2561
  {
2477
2562
  src: "/images/appbuilder/toolset/profile.svg",
2478
2563
  alt: "Akbar Sheriff"
2479
2564
  }
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)(
2565
+ ) : /* @__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" }) }),
2566
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2482
2567
  Button,
2483
2568
  {
2484
2569
  variant: "ghost",
2485
2570
  size: "icon",
2486
2571
  className: "text-gray-900 md:hidden",
2487
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Menu, { className: "h-6 w-6" })
2572
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Menu, { className: "h-6 w-6" })
2488
2573
  }
2489
2574
  )
2490
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2575
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2491
2576
  Button,
2492
2577
  {
2493
2578
  variant: "ghost",
2494
2579
  size: "icon",
2495
2580
  className: "text-gray-900",
2496
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Menu, { className: "h-6 w-6" })
2581
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Menu, { className: "h-6 w-6" })
2497
2582
  }
2498
2583
  )
2499
2584
  ] }) }),
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" })
2585
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(DropdownMenuContent, { align: "end", className: "bg-white", children: [
2586
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuLabel, { className: "text-black", children: "My Account" }),
2587
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuSeparator, {}),
2588
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuItem, { className: "text-black", children: "Profile" }),
2589
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuItem, { className: "text-black", children: "Settings" }),
2590
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DropdownMenuItem, { className: "text-black", children: "Logout" })
2506
2591
  ] })
2507
2592
  ] })
2508
2593
  ] })
@@ -2511,28 +2596,28 @@ function Navbar({
2511
2596
 
2512
2597
  // src/components/Chart/BarChart.tsx
2513
2598
  var import_recharts = require("recharts");
2514
- var import_jsx_runtime50 = require("react/jsx-runtime");
2599
+ var import_jsx_runtime51 = require("react/jsx-runtime");
2515
2600
  var ChartComponent = ({ className, style, ...props }) => {
2516
2601
  const data = Array.isArray(props?.data) ? props.data : [];
2517
2602
  const chartType = props.chartType || "bar";
2518
2603
  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 })
2604
+ 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: [
2605
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.CartesianGrid, { strokeDasharray: "3 3" }),
2606
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.XAxis, { dataKey: "name" }),
2607
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.YAxis, {}),
2608
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.Tooltip, {}),
2609
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.Legend, { verticalAlign: legendsPosition, align: "center" }),
2610
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.Bar, { dataKey: "value", fill: "#00695C" })
2611
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_recharts.AreaChart, { data, children: [
2612
+ /* @__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: [
2613
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("stop", { offset: "5%", stopColor: "#00695C", stopOpacity: 0.8 }),
2614
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("stop", { offset: "95%", stopColor: "#00695C", stopOpacity: 0 })
2530
2615
  ] }) }),
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)(
2616
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.CartesianGrid, { strokeDasharray: "3 3" }),
2617
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.XAxis, { dataKey: "name" }),
2618
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.YAxis, {}),
2619
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts.Tooltip, {}),
2620
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2536
2621
  import_recharts.Area,
2537
2622
  {
2538
2623
  type: "monotone",
@@ -2548,7 +2633,7 @@ var BarChart_default = ChartComponent;
2548
2633
 
2549
2634
  // src/components/Chart/PieChart.tsx
2550
2635
  var import_recharts2 = require("recharts");
2551
- var import_jsx_runtime51 = require("react/jsx-runtime");
2636
+ var import_jsx_runtime52 = require("react/jsx-runtime");
2552
2637
  var DonutChart = ({ className, style, ...props }) => {
2553
2638
  const data = Array.isArray(props?.data) ? props.data : [];
2554
2639
  const total = data.reduce((sum, d) => sum + d.value, 0);
@@ -2559,7 +2644,7 @@ var DonutChart = ({ className, style, ...props }) => {
2559
2644
  const renderLabel = ({ value, x, y }) => {
2560
2645
  if (value == null) return null;
2561
2646
  const percentage = (Number(value) / total * 100).toFixed(0);
2562
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
2647
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
2563
2648
  "text",
2564
2649
  {
2565
2650
  x,
@@ -2581,33 +2666,33 @@ var DonutChart = ({ className, style, ...props }) => {
2581
2666
  const wrapperClass = canvasMode ? forceDesktop ? "flex-row" : "flex-col" : "flex-col md:flex-row";
2582
2667
  const renderLegends = () => {
2583
2668
  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)(
2669
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_jsx_runtime52.Fragment, { children: data.map((d) => /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
2585
2670
  "div",
2586
2671
  {
2587
2672
  className: "flex items-center space-x-2 rounded-md border border-gray-200 px-3 py-2 w-[48%] md:w-auto",
2588
2673
  children: [
2589
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2674
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2590
2675
  "span",
2591
2676
  {
2592
2677
  className: "inline-block w-[16px] h-[16px] rounded",
2593
2678
  style: { backgroundColor: d.color }
2594
2679
  }
2595
2680
  ),
2596
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-[#000000] text-[12px] md:text-[13px] font-[500]", children: d.name })
2681
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-[#000000] text-[12px] md:text-[13px] font-[500]", children: d.name })
2597
2682
  ]
2598
2683
  },
2599
2684
  d.name
2600
2685
  )) });
2601
2686
  };
2602
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
2687
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
2603
2688
  "div",
2604
2689
  {
2605
2690
  className: `relative flex items-center ${wrapperClass} ${className}`,
2606
2691
  style,
2607
2692
  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)(
2693
+ /* @__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: [
2694
+ 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: [
2695
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
2611
2696
  import_recharts2.Pie,
2612
2697
  {
2613
2698
  data,
@@ -2619,8 +2704,8 @@ var DonutChart = ({ className, style, ...props }) => {
2619
2704
  labelLine: false,
2620
2705
  isAnimationActive: false,
2621
2706
  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)(
2707
+ data.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_recharts2.Cell, { fill: entry.color }, `cell-${index}`)),
2708
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2624
2709
  import_recharts2.LabelList,
2625
2710
  {
2626
2711
  dataKey: "value",
@@ -2631,14 +2716,14 @@ var DonutChart = ({ className, style, ...props }) => {
2631
2716
  ]
2632
2717
  }
2633
2718
  ),
2634
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts2.Tooltip, { formatter: (value, name) => [`${value}k`, name] })
2719
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_recharts2.Tooltip, { formatter: (value, name) => [`${value}k`, name] })
2635
2720
  ] }) }),
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: [
2721
+ /* @__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
2722
  total,
2638
2723
  "k"
2639
2724
  ] })
2640
2725
  ] }),
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"}
2726
+ /* @__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
2727
  w-full md:w-auto`, children: renderLegends() })
2643
2728
  ]
2644
2729
  }
@@ -2647,10 +2732,10 @@ var DonutChart = ({ className, style, ...props }) => {
2647
2732
  var PieChart_default = DonutChart;
2648
2733
 
2649
2734
  // src/components/Blocks/EmailComposer.tsx
2650
- var import_jsx_runtime52 = require("react/jsx-runtime");
2735
+ var import_jsx_runtime53 = require("react/jsx-runtime");
2651
2736
  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)(
2737
+ 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: [
2738
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2654
2739
  "input",
2655
2740
  {
2656
2741
  type: "email",
@@ -2659,8 +2744,8 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2659
2744
  required: true
2660
2745
  }
2661
2746
  ) }),
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)(
2747
+ /* @__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: [
2748
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2664
2749
  "input",
2665
2750
  {
2666
2751
  type: "email",
@@ -2671,7 +2756,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2671
2756
  required: true
2672
2757
  }
2673
2758
  ),
2674
- !showCc && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2759
+ !showCc && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2675
2760
  "button",
2676
2761
  {
2677
2762
  onClick: () => setShowCc?.(true),
@@ -2679,7 +2764,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2679
2764
  children: "Cc"
2680
2765
  }
2681
2766
  ),
2682
- !showBcc && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2767
+ !showBcc && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2683
2768
  "button",
2684
2769
  {
2685
2770
  onClick: () => setShowBcc?.(true),
@@ -2688,7 +2773,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2688
2773
  }
2689
2774
  )
2690
2775
  ] }) }),
2691
- showCc && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2776
+ showCc && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2692
2777
  "input",
2693
2778
  {
2694
2779
  type: "text",
@@ -2698,7 +2783,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2698
2783
  className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
2699
2784
  }
2700
2785
  ) }),
2701
- showBcc && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2786
+ showBcc && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2702
2787
  "input",
2703
2788
  {
2704
2789
  type: "text",
@@ -2708,7 +2793,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2708
2793
  className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
2709
2794
  }
2710
2795
  ) }),
2711
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2796
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2712
2797
  "input",
2713
2798
  {
2714
2799
  type: "text",
@@ -2718,14 +2803,75 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2718
2803
  className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
2719
2804
  }
2720
2805
  ) }),
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" })
2806
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(MyEditor, { value: body, onChange: setBody }) }),
2807
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex justify-end gap-2", children: [
2808
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("button", { className: "px-4 py-2 rounded-md text-gray-600 hover:bg-gray-100", children: "Discard" }),
2809
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("button", { className: "px-4 py-2 rounded-md border text-[#12715B] border-[#12715B]", children: "Reset" }),
2810
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("button", { className: "px-4 py-2 rounded-md bg-[#12715B] text-white", children: "Send" })
2726
2811
  ] })
2727
2812
  ] }) });
2728
2813
  }
2814
+
2815
+ // src/components/ui/sonner-toast.tsx
2816
+ var import_sonner = require("sonner");
2817
+ function showSonnerToast({
2818
+ title,
2819
+ description,
2820
+ variant = "default",
2821
+ duration = 3e3,
2822
+ actionLabel,
2823
+ onAction
2824
+ }) {
2825
+ const options = {
2826
+ description,
2827
+ duration,
2828
+ action: actionLabel ? {
2829
+ label: actionLabel,
2830
+ onClick: onAction || (() => {
2831
+ })
2832
+ } : void 0
2833
+ };
2834
+ switch (variant) {
2835
+ case "success":
2836
+ import_sonner.toast.success(title, options);
2837
+ break;
2838
+ case "error":
2839
+ import_sonner.toast.error(title, options);
2840
+ break;
2841
+ case "info":
2842
+ import_sonner.toast.info(title, options);
2843
+ break;
2844
+ case "warning":
2845
+ import_sonner.toast.warning(title, options);
2846
+ break;
2847
+ default:
2848
+ (0, import_sonner.toast)(title, options);
2849
+ }
2850
+ }
2851
+
2852
+ // src/components/StateManagment/StateContext.tsx
2853
+ var import_react15 = require("react");
2854
+
2855
+ // src/components/StateManagment/stateReducer.ts
2856
+ function stateReducer(state, action) {
2857
+ switch (action.type) {
2858
+ case "SET_STATE":
2859
+ return { ...state, [action.key]: action.value };
2860
+ default:
2861
+ return state;
2862
+ }
2863
+ }
2864
+
2865
+ // src/components/StateManagment/StateContext.tsx
2866
+ var import_jsx_runtime54 = require("react/jsx-runtime");
2867
+ var StateContext = (0, import_react15.createContext)(null);
2868
+ function StateProvider({ children }) {
2869
+ const [state, dispatch] = (0, import_react15.useReducer)(stateReducer, {});
2870
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StateContext.Provider, { value: { state, dispatch }, children });
2871
+ }
2872
+ function useAppState() {
2873
+ return (0, import_react15.useContext)(StateContext);
2874
+ }
2729
2875
  // Annotate the CommonJS export names for ESM import in node:
2730
2876
  0 && (module.exports = {
2731
2877
  BarChart,
@@ -2758,14 +2904,19 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
2758
2904
  Shape,
2759
2905
  Spacer,
2760
2906
  Stages,
2907
+ StateProvider,
2761
2908
  SwitchToggle,
2762
2909
  Table,
2763
2910
  Tabs,
2764
2911
  Text,
2912
+ TextInputGroup,
2765
2913
  Textarea,
2766
2914
  Typography,
2767
2915
  URL,
2768
- cn
2916
+ cn,
2917
+ showSonnerToast,
2918
+ stateReducer,
2919
+ useAppState
2769
2920
  });
2770
2921
  /*! Bundled license information:
2771
2922