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