@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.d.mts +35 -2
- package/dist/index.d.ts +35 -2
- package/dist/index.js +310 -159
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +307 -161
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -1
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
|
|
1869
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
1805
1870
|
function Table({ className, ...props }) {
|
|
1806
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
1915
|
-
/* @__PURE__ */ (0,
|
|
1916
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
2020
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
1956
2021
|
function Pagination({ className, ...props }) {
|
|
1957
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
2020
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
2038
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
2056
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
2106
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
|
2136
|
-
var Table2 = ({
|
|
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,
|
|
2148
|
-
/* @__PURE__ */ (0,
|
|
2149
|
-
|
|
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
|
|
2248
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2164
2249
|
function DropdownMenu({
|
|
2165
2250
|
...props
|
|
2166
2251
|
}) {
|
|
2167
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
2270
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
2361
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ChevronDown, { className: "h-4 w-4 opacity-80" })
|
|
2277
2362
|
]
|
|
2278
2363
|
}
|
|
2279
2364
|
),
|
|
2280
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
2391
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2307
2392
|
var StagesComponent = ({ stages, isShowBtn, buttonText, className, style }) => {
|
|
2308
|
-
return /* @__PURE__ */ (0,
|
|
2309
|
-
/* @__PURE__ */ (0,
|
|
2310
|
-
/* @__PURE__ */ (0,
|
|
2311
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
|
2412
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2328
2413
|
var Spacer = ({ className, style }) => {
|
|
2329
|
-
return /* @__PURE__ */ (0,
|
|
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
|
|
2419
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2335
2420
|
var Profile = ({ profileType, showName, userName, className, style }) => {
|
|
2336
|
-
return /* @__PURE__ */ (0,
|
|
2337
|
-
showName && /* @__PURE__ */ (0,
|
|
2338
|
-
profileType === "avatar" ? /* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
2437
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2353
2438
|
var Notification = ({ className, style, badgeType, badgeCount = 0, hideBadgeWhenZero }) => {
|
|
2354
|
-
return /* @__PURE__ */ (0,
|
|
2355
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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+/eWLduXWzYsCF27twZbW1tERFRVlYWtbW1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";
|
|
2371
2456
|
|
|
2372
2457
|
// src/components/Navigation/Logo/Logo.tsx
|
|
2373
|
-
var
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
2483
|
+
var React16 = __toESM(require("react"));
|
|
2399
2484
|
var AvatarPrimitive = __toESM(require("@radix-ui/react-avatar"));
|
|
2400
|
-
var
|
|
2401
|
-
var Avatar =
|
|
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 =
|
|
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 =
|
|
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
|
|
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,
|
|
2452
|
-
LinkComponent && ImageComponent ? /* @__PURE__ */ (0,
|
|
2453
|
-
/* @__PURE__ */ (0,
|
|
2454
|
-
!isMobileView ? /* @__PURE__ */ (0,
|
|
2455
|
-
/* @__PURE__ */ (0,
|
|
2456
|
-
/* @__PURE__ */ (0,
|
|
2457
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
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,
|
|
2548
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Search, { className: "h-5 w-5 text-gray-400" })
|
|
2464
2549
|
}
|
|
2465
2550
|
),
|
|
2466
|
-
/* @__PURE__ */ (0,
|
|
2467
|
-
/* @__PURE__ */ (0,
|
|
2468
|
-
badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? /* @__PURE__ */ (0,
|
|
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,
|
|
2471
|
-
/* @__PURE__ */ (0,
|
|
2472
|
-
!isMobileView && showName && /* @__PURE__ */ (0,
|
|
2473
|
-
!isMobileView ? /* @__PURE__ */ (0,
|
|
2474
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
2481
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
2572
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Menu, { className: "h-6 w-6" })
|
|
2488
2573
|
}
|
|
2489
2574
|
)
|
|
2490
|
-
] }) : /* @__PURE__ */ (0,
|
|
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,
|
|
2581
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Menu, { className: "h-6 w-6" })
|
|
2497
2582
|
}
|
|
2498
2583
|
)
|
|
2499
2584
|
] }) }),
|
|
2500
|
-
/* @__PURE__ */ (0,
|
|
2501
|
-
/* @__PURE__ */ (0,
|
|
2502
|
-
/* @__PURE__ */ (0,
|
|
2503
|
-
/* @__PURE__ */ (0,
|
|
2504
|
-
/* @__PURE__ */ (0,
|
|
2505
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
2520
|
-
/* @__PURE__ */ (0,
|
|
2521
|
-
/* @__PURE__ */ (0,
|
|
2522
|
-
/* @__PURE__ */ (0,
|
|
2523
|
-
/* @__PURE__ */ (0,
|
|
2524
|
-
/* @__PURE__ */ (0,
|
|
2525
|
-
/* @__PURE__ */ (0,
|
|
2526
|
-
] }) : /* @__PURE__ */ (0,
|
|
2527
|
-
/* @__PURE__ */ (0,
|
|
2528
|
-
/* @__PURE__ */ (0,
|
|
2529
|
-
/* @__PURE__ */ (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,
|
|
2532
|
-
/* @__PURE__ */ (0,
|
|
2533
|
-
/* @__PURE__ */ (0,
|
|
2534
|
-
/* @__PURE__ */ (0,
|
|
2535
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
2609
|
-
data.length > 0 && /* @__PURE__ */ (0,
|
|
2610
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
2623
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
2719
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_recharts2.Tooltip, { formatter: (value, name) => [`${value}k`, name] })
|
|
2635
2720
|
] }) }),
|
|
2636
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
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,
|
|
2653
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
2663
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
2722
|
-
/* @__PURE__ */ (0,
|
|
2723
|
-
/* @__PURE__ */ (0,
|
|
2724
|
-
/* @__PURE__ */ (0,
|
|
2725
|
-
/* @__PURE__ */ (0,
|
|
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
|
|