canx-ui 1.0.3 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,115 @@
1
- // src/components/Button.tsx
2
- import * as React from "react";
3
-
1
+ // ../canxJS/dist/mvc/View.js
2
+ var Fragment = Symbol.for("canxjs.fragment");
3
+ var jsx = (type, props) => {
4
+ if (type === Fragment || typeof type === "symbol" && type.description === "canxjs.fragment") {
5
+ const children2 = props?.children;
6
+ if (Array.isArray(children2)) {
7
+ return children2.flat().map((c) => c === null || c === undefined || c === false ? "" : String(c)).join("");
8
+ }
9
+ return children2 ? String(children2) : "";
10
+ }
11
+ if (typeof type === "function") {
12
+ return type(props || {});
13
+ }
14
+ const tagName = type;
15
+ const children = props?.children;
16
+ const attrs = props ? Object.entries(props).filter(([key]) => key !== "children").map(([key, val]) => {
17
+ if (key === "className")
18
+ key = "class";
19
+ if (typeof val === "boolean")
20
+ return val ? key : "";
21
+ if (val === null || val === undefined)
22
+ return "";
23
+ return `${key}="${escapeHtml(String(val))}"`;
24
+ }).filter(Boolean).join(" ") : "";
25
+ let content = "";
26
+ if (children !== null && children !== undefined) {
27
+ if (Array.isArray(children)) {
28
+ content = children.flat().map((c) => c === null || c === undefined || c === false ? "" : String(c)).join("");
29
+ } else if (children !== false) {
30
+ content = String(children);
31
+ }
32
+ }
33
+ const selfClosing = ["area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "source", "track", "wbr"];
34
+ if (selfClosing.includes(tagName)) {
35
+ return `<${tagName}${attrs ? " " + attrs : ""} />`;
36
+ }
37
+ return `<${tagName}${attrs ? " " + attrs : ""}>${content}</${tagName}>`;
38
+ };
39
+ function escapeHtml(str) {
40
+ return str.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
41
+ }
42
+ // src/components/ActionButton.tsx
43
+ function ActionButton({ onClick, href, icon, variant = "neutral", label }) {
44
+ const baseClasses = "p-2 rounded-lg transition-all duration-200 flex items-center justify-center";
45
+ const variants = {
46
+ primary: "text-blue-400 hover:bg-blue-500/10 hover:text-blue-300",
47
+ danger: "text-red-400 hover:bg-red-500/10 hover:text-red-300",
48
+ neutral: "text-slate-400 hover:bg-slate-700/50 hover:text-white"
49
+ };
50
+ const content = /* @__PURE__ */ jsx(Fragment, {
51
+ children: [
52
+ icon && /* @__PURE__ */ jsx("svg", {
53
+ className: "w-4 h-4",
54
+ fill: "none",
55
+ stroke: "currentColor",
56
+ viewBox: "0 0 24 24",
57
+ children: /* @__PURE__ */ jsx("path", {
58
+ strokeLinecap: "round",
59
+ strokeLinejoin: "round",
60
+ strokeWidth: "2",
61
+ d: icon
62
+ }, undefined, false, undefined, this)
63
+ }, undefined, false, undefined, this),
64
+ label && /* @__PURE__ */ jsx("span", {
65
+ className: icon ? "ml-2" : "",
66
+ children: label
67
+ }, undefined, false, undefined, this)
68
+ ]
69
+ }, undefined, true, undefined, this);
70
+ if (href) {
71
+ return /* @__PURE__ */ jsx("a", {
72
+ href,
73
+ className: `${baseClasses} ${variants[variant]}`,
74
+ children: content
75
+ }, undefined, false, undefined, this);
76
+ }
77
+ return /* @__PURE__ */ jsx("button", {
78
+ onClick,
79
+ className: `${baseClasses} ${variants[variant]}`,
80
+ children: content
81
+ }, undefined, false, undefined, this);
82
+ }
83
+ // src/components/AnimatedGradientText.tsx
84
+ function AnimatedGradientText({
85
+ children,
86
+ className = "",
87
+ as: Tag = "span"
88
+ }) {
89
+ return /* @__PURE__ */ jsx(Tag, {
90
+ className: `text-gradient-animated ${className}`,
91
+ children
92
+ }, undefined, false, undefined, this);
93
+ }
94
+ // src/components/ApplicationLogo.tsx
95
+ function ApplicationLogo(props) {
96
+ return /* @__PURE__ */ jsx("svg", {
97
+ viewBox: "0 0 317 48",
98
+ fill: "none",
99
+ xmlns: "http://www.w3.org/2000/svg",
100
+ ...props,
101
+ children: [
102
+ /* @__PURE__ */ jsx("path", {
103
+ d: "M74.0664 47.3879H16.2917C14.1566 47.3879 12.0624 46.852 10.1989 45.8288C8.33534 44.8056 6.76212 43.3276 5.62173 41.5284C4.48135 39.7291 3.81055 37.6653 3.6703 35.525C3.53005 33.3846 3.92484 31.2359 4.81845 29.2721L17.2038 2.05353C17.3484 1.73562 17.5852 1.46782 17.8839 1.28424C18.1827 1.10066 18.53 1.00958 18.8821 1.02256C19.2341 1.03554 19.5753 1.152 19.8622 1.35712C20.1491 1.56223 20.3687 1.84656 20.4933 2.17384L30.2922 28.1691C30.5694 28.9103 30.7061 29.6973 30.6934 30.4891C30.6806 31.2809 30.5186 32.0637 30.218 32.8016C29.6596 34.1979 28.7618 35.4328 27.6012 36.4011C26.4406 37.3695 25.0531 38.0425 23.5562 38.3629L23.4756 38.3792L52.825 47.3879H74.0664Z",
104
+ fill: "#FF2D20"
105
+ }, undefined, false, undefined, this),
106
+ /* @__PURE__ */ jsx("path", {
107
+ d: "M67.3195 47.3879L86.6669 4.35339C86.7323 4.20909 86.8373 4.08573 86.969 3.99824C87.1007 3.91075 87.2536 3.86282 87.4093 3.86016C87.565 3.85751 87.7169 3.90025 87.8467 3.98319C87.9765 4.06614 88.0787 4.18573 88.141 4.3276L107.491 47.3879H130.435L98.5996 47.3879H67.3195Z",
108
+ fill: "#FF2D20"
109
+ }, undefined, false, undefined, this)
110
+ ]
111
+ }, undefined, true, undefined, this);
112
+ }
4
113
  // ../node_modules/clsx/dist/clsx.mjs
5
114
  function r(e) {
6
115
  var t, f, n = "";
@@ -22,72 +131,7 @@ function clsx() {
22
131
  return n;
23
132
  }
24
133
 
25
- // ../node_modules/class-variance-authority/dist/index.mjs
26
- var falsyToString = (value) => typeof value === "boolean" ? `${value}` : value === 0 ? "0" : value;
27
- var cx = clsx;
28
- var cva = (base, config) => (props) => {
29
- var _config_compoundVariants;
30
- if ((config === null || config === undefined ? undefined : config.variants) == null)
31
- return cx(base, props === null || props === undefined ? undefined : props.class, props === null || props === undefined ? undefined : props.className);
32
- const { variants, defaultVariants } = config;
33
- const getVariantClassNames = Object.keys(variants).map((variant) => {
34
- const variantProp = props === null || props === undefined ? undefined : props[variant];
35
- const defaultVariantProp = defaultVariants === null || defaultVariants === undefined ? undefined : defaultVariants[variant];
36
- if (variantProp === null)
37
- return null;
38
- const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);
39
- return variants[variant][variantKey];
40
- });
41
- const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param) => {
42
- let [key, value] = param;
43
- if (value === undefined) {
44
- return acc;
45
- }
46
- acc[key] = value;
47
- return acc;
48
- }, {});
49
- const getCompoundVariantClassNames = config === null || config === undefined ? undefined : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === undefined ? undefined : _config_compoundVariants.reduce((acc, param) => {
50
- let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;
51
- return Object.entries(compoundVariantOptions).every((param2) => {
52
- let [key, value] = param2;
53
- return Array.isArray(value) ? value.includes({
54
- ...defaultVariants,
55
- ...propsWithoutUndefined
56
- }[key]) : {
57
- ...defaultVariants,
58
- ...propsWithoutUndefined
59
- }[key] === value;
60
- }) ? [
61
- ...acc,
62
- cvClass,
63
- cvClassName
64
- ] : acc;
65
- }, []);
66
- return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === undefined ? undefined : props.class, props === null || props === undefined ? undefined : props.className);
67
- };
68
-
69
- // node_modules/clsx/dist/clsx.mjs
70
- function r2(e) {
71
- var t, f, n = "";
72
- if (typeof e == "string" || typeof e == "number")
73
- n += e;
74
- else if (typeof e == "object")
75
- if (Array.isArray(e)) {
76
- var o = e.length;
77
- for (t = 0;t < o; t++)
78
- e[t] && (f = r2(e[t])) && (n && (n += " "), n += f);
79
- } else
80
- for (f in e)
81
- e[f] && (n && (n += " "), n += f);
82
- return n;
83
- }
84
- function clsx2() {
85
- for (var e, t, f = 0, n = "", o = arguments.length;f < o; f++)
86
- (e = arguments[f]) && (t = r2(e)) && (n && (n += " "), n += t);
87
- return n;
88
- }
89
-
90
- // node_modules/tailwind-merge/dist/bundle-mjs.mjs
134
+ // ../node_modules/tailwind-merge/dist/bundle-mjs.mjs
91
135
  var concatArrays = (array1, array2) => {
92
136
  const combinedArray = new Array(array1.length + array2.length);
93
137
  for (let i = 0;i < array1.length; i++) {
@@ -1793,233 +1837,318 @@ var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
1793
1837
 
1794
1838
  // src/lib/utils.ts
1795
1839
  function cn(...inputs) {
1796
- return twMerge(clsx2(inputs));
1840
+ return twMerge(clsx(inputs));
1797
1841
  }
1798
1842
 
1799
- // src/components/Button.tsx
1800
- import { jsxDEV } from "react/jsx-dev-runtime";
1801
- var buttonVariants = cva("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", {
1802
- variants: {
1803
- variant: {
1804
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
1805
- destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
1806
- outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
1807
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
1808
- ghost: "hover:bg-accent hover:text-accent-foreground",
1809
- link: "text-primary underline-offset-4 hover:underline"
1810
- },
1811
- size: {
1812
- default: "h-10 px-4 py-2",
1813
- sm: "h-9 rounded-md px-3",
1814
- lg: "h-11 rounded-md px-8",
1815
- icon: "h-10 w-10"
1816
- }
1817
- },
1818
- defaultVariants: {
1819
- variant: "default",
1820
- size: "default"
1821
- }
1822
- });
1823
- var Button = React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => {
1824
- return /* @__PURE__ */ jsxDEV("button", {
1825
- className: cn(buttonVariants({ variant, size, className })),
1826
- ref,
1827
- ...props
1843
+ // src/components/AuroraBackground.tsx
1844
+ function AuroraBackground({ children, className, ...props }) {
1845
+ return /* @__PURE__ */ jsx("div", {
1846
+ className: cn("relative overflow-hidden", className),
1847
+ ...props,
1848
+ children: [
1849
+ /* @__PURE__ */ jsx("div", {
1850
+ className: "absolute inset-0 overflow-hidden pointer-events-none",
1851
+ children: [
1852
+ /* @__PURE__ */ jsx("div", {
1853
+ className: "absolute top-0 -left-40 w-[500px] h-[500px] bg-emerald-500/20 rounded-full blur-[100px] aurora-blob-1"
1854
+ }, undefined, false, undefined, this),
1855
+ /* @__PURE__ */ jsx("div", {
1856
+ className: "absolute top-20 -right-40 w-[400px] h-[400px] bg-cyan-500/20 rounded-full blur-[100px] aurora-blob-2"
1857
+ }, undefined, false, undefined, this),
1858
+ /* @__PURE__ */ jsx("div", {
1859
+ className: "absolute -bottom-40 left-1/3 w-[600px] h-[600px] bg-purple-500/10 rounded-full blur-[120px] aurora-blob-3"
1860
+ }, undefined, false, undefined, this)
1861
+ ]
1862
+ }, undefined, true, undefined, this),
1863
+ /* @__PURE__ */ jsx("div", {
1864
+ className: "absolute inset-0 grid-pattern pointer-events-none"
1865
+ }, undefined, false, undefined, this),
1866
+ /* @__PURE__ */ jsx("div", {
1867
+ className: "relative z-10",
1868
+ children
1869
+ }, undefined, false, undefined, this)
1870
+ ]
1871
+ }, undefined, true, undefined, this);
1872
+ }
1873
+ // src/components/Checkbox.tsx
1874
+ function Checkbox({ name, value, checked, className = "" }) {
1875
+ const baseClass = "w-5 h-5 rounded border-slate-600 bg-slate-800 text-emerald-500 focus:ring-emerald-500/50 focus:ring-offset-0 focus:ring-2 transition-colors duration-200";
1876
+ const fullClass = `${baseClass} ${className}`;
1877
+ return /* @__PURE__ */ jsx("input", {
1878
+ type: "checkbox",
1879
+ name,
1880
+ value,
1881
+ checked,
1882
+ className: fullClass
1828
1883
  }, undefined, false, undefined, this);
1829
- });
1830
- Button.displayName = "Button";
1831
- // src/components/Input.tsx
1832
- import * as React2 from "react";
1833
- import { jsxDEV as jsxDEV2 } from "react/jsx-dev-runtime";
1834
- var Input = React2.forwardRef(({ className, type, ...props }, ref) => {
1835
- return /* @__PURE__ */ jsxDEV2("input", {
1836
- type,
1837
- className: cn("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", className),
1838
- ref,
1839
- ...props
1884
+ }
1885
+ // src/components/DataTable.tsx
1886
+ function DataTable({ data, columns, actions, title, description, primaryAction }) {
1887
+ return /* @__PURE__ */ jsx("div", {
1888
+ className: "w-full",
1889
+ children: [
1890
+ (title || primaryAction) && /* @__PURE__ */ jsx("div", {
1891
+ className: "flex flex-col md:flex-row md:items-center justify-between gap-4 mb-6",
1892
+ children: [
1893
+ /* @__PURE__ */ jsx("div", {
1894
+ children: [
1895
+ title && /* @__PURE__ */ jsx("h2", {
1896
+ className: "text-2xl font-bold text-white tracking-tight",
1897
+ children: title
1898
+ }, undefined, false, undefined, this),
1899
+ description && /* @__PURE__ */ jsx("p", {
1900
+ className: "text-slate-400 mt-1",
1901
+ children: description
1902
+ }, undefined, false, undefined, this)
1903
+ ]
1904
+ }, undefined, true, undefined, this),
1905
+ primaryAction && (primaryAction.href ? /* @__PURE__ */ jsx("a", {
1906
+ href: primaryAction.href,
1907
+ className: "btn-premium flex items-center gap-2",
1908
+ children: [
1909
+ /* @__PURE__ */ jsx("svg", {
1910
+ className: "w-5 h-5",
1911
+ fill: "none",
1912
+ stroke: "currentColor",
1913
+ viewBox: "0 0 24 24",
1914
+ children: /* @__PURE__ */ jsx("path", {
1915
+ strokeLinecap: "round",
1916
+ strokeLinejoin: "round",
1917
+ strokeWidth: "2",
1918
+ d: "M12 4v16m8-8H4"
1919
+ }, undefined, false, undefined, this)
1920
+ }, undefined, false, undefined, this),
1921
+ primaryAction.label
1922
+ ]
1923
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx("button", {
1924
+ onClick: primaryAction.onClick,
1925
+ className: "btn-premium flex items-center gap-2",
1926
+ children: [
1927
+ /* @__PURE__ */ jsx("svg", {
1928
+ className: "w-5 h-5",
1929
+ fill: "none",
1930
+ stroke: "currentColor",
1931
+ viewBox: "0 0 24 24",
1932
+ children: /* @__PURE__ */ jsx("path", {
1933
+ strokeLinecap: "round",
1934
+ strokeLinejoin: "round",
1935
+ strokeWidth: "2",
1936
+ d: "M12 4v16m8-8H4"
1937
+ }, undefined, false, undefined, this)
1938
+ }, undefined, false, undefined, this),
1939
+ primaryAction.label
1940
+ ]
1941
+ }, undefined, true, undefined, this))
1942
+ ]
1943
+ }, undefined, true, undefined, this),
1944
+ /* @__PURE__ */ jsx("div", {
1945
+ className: "glass rounded-xl overflow-hidden border border-slate-700/50 shadow-xl",
1946
+ children: [
1947
+ /* @__PURE__ */ jsx("div", {
1948
+ className: "overflow-x-auto",
1949
+ children: /* @__PURE__ */ jsx("table", {
1950
+ className: "w-full",
1951
+ children: [
1952
+ /* @__PURE__ */ jsx("thead", {
1953
+ children: /* @__PURE__ */ jsx("tr", {
1954
+ className: "bg-slate-800/50 border-b border-slate-700/50",
1955
+ children: [
1956
+ columns.map((col, idx) => /* @__PURE__ */ jsx("th", {
1957
+ className: `px-6 py-4 text-xs font-semibold text-slate-400 uppercase tracking-wider text-${col.align || "left"}`,
1958
+ children: col.header
1959
+ }, idx, false, undefined, this)),
1960
+ actions && /* @__PURE__ */ jsx("th", {
1961
+ className: "px-6 py-4 text-xs font-semibold text-slate-400 uppercase tracking-wider text-right",
1962
+ children: "Actions"
1963
+ }, undefined, false, undefined, this)
1964
+ ]
1965
+ }, undefined, true, undefined, this)
1966
+ }, undefined, false, undefined, this),
1967
+ /* @__PURE__ */ jsx("tbody", {
1968
+ className: "divide-y divide-slate-700/50",
1969
+ children: data.map((item, rowIdx) => /* @__PURE__ */ jsx("tr", {
1970
+ className: "hover:bg-slate-800/30 transition-colors group",
1971
+ children: [
1972
+ columns.map((col, colIdx) => /* @__PURE__ */ jsx("td", {
1973
+ className: `px-6 py-4 whitespace-nowrap text-sm text-slate-300 text-${col.align || "left"}`,
1974
+ children: col.render ? col.render(item) : item[col.accessor]
1975
+ }, colIdx, false, undefined, this)),
1976
+ actions && /* @__PURE__ */ jsx("td", {
1977
+ className: "px-6 py-4 whitespace-nowrap text-right text-sm font-medium",
1978
+ children: /* @__PURE__ */ jsx("div", {
1979
+ className: "flex items-center justify-end gap-2 opacity-0 group-hover:opacity-100 transition-opacity",
1980
+ children: actions(item)
1981
+ }, undefined, false, undefined, this)
1982
+ }, undefined, false, undefined, this)
1983
+ ]
1984
+ }, rowIdx, true, undefined, this))
1985
+ }, undefined, false, undefined, this)
1986
+ ]
1987
+ }, undefined, true, undefined, this)
1988
+ }, undefined, false, undefined, this),
1989
+ /* @__PURE__ */ jsx("div", {
1990
+ className: "px-6 py-4 border-t border-slate-700/50 flex items-center justify-between bg-slate-800/30",
1991
+ children: [
1992
+ /* @__PURE__ */ jsx("span", {
1993
+ className: "text-sm text-slate-500",
1994
+ children: [
1995
+ "Showing 1 to ",
1996
+ data.length,
1997
+ " of ",
1998
+ data.length,
1999
+ " entries"
2000
+ ]
2001
+ }, undefined, true, undefined, this),
2002
+ /* @__PURE__ */ jsx("div", {
2003
+ className: "flex gap-2",
2004
+ children: [
2005
+ /* @__PURE__ */ jsx("button", {
2006
+ className: "px-3 py-1 rounded-lg bg-slate-800 border border-slate-700 text-slate-400 text-sm hover:text-white hover:border-slate-600 transition",
2007
+ children: "Previous"
2008
+ }, undefined, false, undefined, this),
2009
+ /* @__PURE__ */ jsx("button", {
2010
+ className: "px-3 py-1 rounded-lg bg-primary/20 border border-primary/50 text-emerald-400 text-sm",
2011
+ children: "1"
2012
+ }, undefined, false, undefined, this),
2013
+ /* @__PURE__ */ jsx("button", {
2014
+ className: "px-3 py-1 rounded-lg bg-slate-800 border border-slate-700 text-slate-400 text-sm hover:text-white hover:border-slate-600 transition",
2015
+ children: "Next"
2016
+ }, undefined, false, undefined, this)
2017
+ ]
2018
+ }, undefined, true, undefined, this)
2019
+ ]
2020
+ }, undefined, true, undefined, this)
2021
+ ]
2022
+ }, undefined, true, undefined, this)
2023
+ ]
2024
+ }, undefined, true, undefined, this);
2025
+ }
2026
+ // src/components/GlowCard.tsx
2027
+ function GlowCard({
2028
+ children,
2029
+ className,
2030
+ hoverEffect = "both",
2031
+ ...props
2032
+ }) {
2033
+ const hoverClasses = {
2034
+ lift: "card-hover-lift",
2035
+ glow: "card-hover-glow",
2036
+ both: "card-hover-lift card-hover-glow"
2037
+ };
2038
+ return /* @__PURE__ */ jsx("div", {
2039
+ className: cn("glass rounded-2xl p-6", hoverClasses[hoverEffect], className),
2040
+ ...props,
2041
+ children
1840
2042
  }, undefined, false, undefined, this);
1841
- });
1842
- Input.displayName = "Input";
1843
- // src/components/Badge.tsx
1844
- import { jsxDEV as jsxDEV3 } from "react/jsx-dev-runtime";
1845
- var badgeVariants = cva("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", {
1846
- variants: {
1847
- variant: {
1848
- default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
1849
- secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
1850
- destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
1851
- outline: "text-foreground"
1852
- }
1853
- },
1854
- defaultVariants: {
1855
- variant: "default"
1856
- }
1857
- });
1858
- function Badge({ className, variant, ...props }) {
1859
- return /* @__PURE__ */ jsxDEV3("div", {
1860
- className: cn(badgeVariants({ variant }), className),
1861
- ...props
2043
+ }
2044
+ // src/components/GridPattern.tsx
2045
+ function GridPattern({ className = "", variant = "grid" }) {
2046
+ const patternClass = variant === "grid" ? "grid-pattern" : "dots-pattern";
2047
+ return /* @__PURE__ */ jsx("div", {
2048
+ className: `absolute inset-0 ${patternClass} pointer-events-none ${className}`
1862
2049
  }, undefined, false, undefined, this);
1863
2050
  }
1864
- // src/components/Label.tsx
1865
- import * as React3 from "react";
1866
- import { jsxDEV as jsxDEV4 } from "react/jsx-dev-runtime";
1867
- var labelVariants = cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
1868
- var Label = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV4("label", {
1869
- ref,
1870
- className: cn(labelVariants(), className),
1871
- ...props
1872
- }, undefined, false, undefined, this));
1873
- Label.displayName = "Label";
1874
- // src/components/Card.tsx
1875
- import * as React4 from "react";
1876
- import { jsxDEV as jsxDEV5 } from "react/jsx-dev-runtime";
1877
- var Card = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV5("div", {
1878
- ref,
1879
- className: cn("rounded-lg border bg-card text-card-foreground shadow-sm", className),
1880
- ...props
1881
- }, undefined, false, undefined, this));
1882
- Card.displayName = "Card";
1883
- var CardHeader = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV5("div", {
1884
- ref,
1885
- className: cn("flex flex-col space-y-1.5 p-6", className),
1886
- ...props
1887
- }, undefined, false, undefined, this));
1888
- CardHeader.displayName = "CardHeader";
1889
- var CardTitle = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV5("h3", {
1890
- ref,
1891
- className: cn("text-2xl font-semibold leading-none tracking-tight", className),
1892
- ...props
1893
- }, undefined, false, undefined, this));
1894
- CardTitle.displayName = "CardTitle";
1895
- var CardDescription = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV5("p", {
1896
- ref,
1897
- className: cn("text-sm text-muted-foreground", className),
1898
- ...props
1899
- }, undefined, false, undefined, this));
1900
- CardDescription.displayName = "CardDescription";
1901
- var CardContent = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV5("div", {
1902
- ref,
1903
- className: cn("p-6 pt-0", className),
1904
- ...props
1905
- }, undefined, false, undefined, this));
1906
- CardContent.displayName = "CardContent";
1907
- var CardFooter = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV5("div", {
1908
- ref,
1909
- className: cn("flex items-center p-6 pt-0", className),
2051
+ // src/components/InputLabel.tsx
2052
+ function InputLabel({ htmlFor, value, className = "", children }) {
2053
+ const fullClass = `block font-medium text-sm text-slate-300 mb-2 ${className}`;
2054
+ return /* @__PURE__ */ jsx("label", {
2055
+ htmlFor,
2056
+ className: fullClass,
2057
+ children: value ? value : children
2058
+ }, undefined, false, undefined, this);
2059
+ }
2060
+ // src/components/PrimaryButton.tsx
2061
+ function PrimaryButton({
2062
+ type = "submit",
2063
+ className = "",
2064
+ disabled = false,
2065
+ children
2066
+ }) {
2067
+ const baseClass = "inline-flex items-center justify-center px-6 py-3 bg-gradient-to-r from-emerald-500 to-cyan-500 text-white font-semibold rounded-xl shadow-lg shadow-emerald-500/25 hover:shadow-emerald-500/40 hover:scale-[1.02] focus:outline-none focus:ring-2 focus:ring-emerald-500/50 transition-all duration-300";
2068
+ const disabledClass = disabled ? " opacity-50 cursor-not-allowed hover:scale-100" : "";
2069
+ const fullClass = `${baseClass}${disabledClass} ${className}`;
2070
+ return /* @__PURE__ */ jsx("button", {
2071
+ type,
2072
+ className: fullClass,
2073
+ disabled,
2074
+ children
2075
+ }, undefined, false, undefined, this);
2076
+ }
2077
+ // src/components/ShimmerButton.tsx
2078
+ function ShimmerButton({
2079
+ children,
2080
+ className,
2081
+ href,
2082
+ type = "button",
2083
+ disabled = false,
2084
+ variant = "primary",
1910
2085
  ...props
1911
- }, undefined, false, undefined, this));
1912
- CardFooter.displayName = "CardFooter";
1913
- // src/components/Alert.tsx
1914
- import * as React5 from "react";
1915
- import { jsxDEV as jsxDEV6 } from "react/jsx-dev-runtime";
1916
- var alertVariants = cva("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground", {
1917
- variants: {
1918
- variant: {
1919
- default: "bg-background text-foreground",
1920
- destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"
1921
- }
1922
- },
1923
- defaultVariants: {
1924
- variant: "default"
2086
+ }) {
2087
+ const baseClass = variant === "primary" ? "btn-premium shimmer-effect" : "btn-outline-glow";
2088
+ const disabledClass = disabled ? "opacity-50 cursor-not-allowed" : "";
2089
+ if (href) {
2090
+ return /* @__PURE__ */ jsx("a", {
2091
+ href,
2092
+ className: cn(baseClass, disabledClass, className),
2093
+ ...props,
2094
+ children
2095
+ }, undefined, false, undefined, this);
1925
2096
  }
1926
- });
1927
- var Alert = React5.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsxDEV6("div", {
1928
- ref,
1929
- role: "alert",
1930
- className: cn(alertVariants({ variant }), className),
1931
- ...props
1932
- }, undefined, false, undefined, this));
1933
- Alert.displayName = "Alert";
1934
- var AlertTitle = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV6("h5", {
1935
- ref,
1936
- className: cn("mb-1 font-medium leading-none tracking-tight", className),
1937
- ...props
1938
- }, undefined, false, undefined, this));
1939
- AlertTitle.displayName = "AlertTitle";
1940
- var AlertDescription = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV6("div", {
1941
- ref,
1942
- className: cn("text-sm [&_p]:leading-relaxed", className),
1943
- ...props
1944
- }, undefined, false, undefined, this));
1945
- AlertDescription.displayName = "AlertDescription";
1946
- // src/components/Table.tsx
1947
- import * as React6 from "react";
1948
- import { jsxDEV as jsxDEV7 } from "react/jsx-dev-runtime";
1949
- var Table = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV7("div", {
1950
- className: "relative w-full overflow-auto",
1951
- children: /* @__PURE__ */ jsxDEV7("table", {
1952
- ref,
1953
- className: cn("w-full caption-bottom text-sm", className),
1954
- ...props
1955
- }, undefined, false, undefined, this)
1956
- }, undefined, false, undefined, this));
1957
- Table.displayName = "Table";
1958
- var TableHeader = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV7("thead", {
1959
- ref,
1960
- className: cn("[&_tr]:border-b", className),
1961
- ...props
1962
- }, undefined, false, undefined, this));
1963
- TableHeader.displayName = "TableHeader";
1964
- var TableBody = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV7("tbody", {
1965
- ref,
1966
- className: cn("[&_tr:last-child]:border-0", className),
1967
- ...props
1968
- }, undefined, false, undefined, this));
1969
- TableBody.displayName = "TableBody";
1970
- var TableFooter = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV7("tfoot", {
1971
- ref,
1972
- className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className),
1973
- ...props
1974
- }, undefined, false, undefined, this));
1975
- TableFooter.displayName = "TableFooter";
1976
- var TableRow = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV7("tr", {
1977
- ref,
1978
- className: cn("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted", className),
1979
- ...props
1980
- }, undefined, false, undefined, this));
1981
- TableRow.displayName = "TableRow";
1982
- var TableHead = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV7("th", {
1983
- ref,
1984
- className: cn("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0", className),
1985
- ...props
1986
- }, undefined, false, undefined, this));
1987
- TableHead.displayName = "TableHead";
1988
- var TableCell = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV7("td", {
1989
- ref,
1990
- className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className),
1991
- ...props
1992
- }, undefined, false, undefined, this));
1993
- TableCell.displayName = "TableCell";
1994
- var TableCaption = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxDEV7("caption", {
1995
- ref,
1996
- className: cn("mt-4 text-sm text-muted-foreground", className),
1997
- ...props
1998
- }, undefined, false, undefined, this));
1999
- TableCaption.displayName = "TableCaption";
2097
+ return /* @__PURE__ */ jsx("button", {
2098
+ type,
2099
+ className: cn(baseClass, disabledClass, className),
2100
+ disabled,
2101
+ ...props,
2102
+ children
2103
+ }, undefined, false, undefined, this);
2104
+ }
2105
+ // src/components/SpotlightCard.tsx
2106
+ function SpotlightCard({ children, className, ...props }) {
2107
+ return /* @__PURE__ */ jsx("div", {
2108
+ className: cn("spotlight-card p-6", className),
2109
+ ...props,
2110
+ children
2111
+ }, undefined, false, undefined, this);
2112
+ }
2113
+ // src/components/TextInput.tsx
2114
+ function TextInput({
2115
+ id,
2116
+ type = "text",
2117
+ name,
2118
+ value,
2119
+ className = "",
2120
+ placeholder,
2121
+ required,
2122
+ autoFocus,
2123
+ autoComplete
2124
+ }) {
2125
+ const baseClass = "w-full px-4 py-3 bg-slate-800/50 border border-slate-700 rounded-xl text-white placeholder-slate-400 focus:outline-none focus:border-emerald-500 focus:ring-2 focus:ring-emerald-500/20 transition-all duration-300";
2126
+ const fullClass = `${baseClass} ${className}`;
2127
+ return /* @__PURE__ */ jsx("input", {
2128
+ id,
2129
+ type,
2130
+ name,
2131
+ value,
2132
+ className: fullClass,
2133
+ placeholder,
2134
+ required,
2135
+ autoFocus,
2136
+ autoComplete
2137
+ }, undefined, false, undefined, this);
2138
+ }
2000
2139
  export {
2001
2140
  cn,
2002
- buttonVariants,
2003
- badgeVariants,
2004
- TableRow,
2005
- TableHeader,
2006
- TableHead,
2007
- TableFooter,
2008
- TableCell,
2009
- TableCaption,
2010
- TableBody,
2011
- Table,
2012
- Label,
2013
- Input,
2014
- CardTitle,
2015
- CardHeader,
2016
- CardFooter,
2017
- CardDescription,
2018
- CardContent,
2019
- Card,
2020
- Button,
2021
- Badge,
2022
- AlertTitle,
2023
- AlertDescription,
2024
- Alert
2141
+ TextInput,
2142
+ SpotlightCard,
2143
+ ShimmerButton,
2144
+ PrimaryButton,
2145
+ InputLabel,
2146
+ GridPattern,
2147
+ GlowCard,
2148
+ DataTable,
2149
+ Checkbox,
2150
+ AuroraBackground,
2151
+ ApplicationLogo,
2152
+ AnimatedGradientText,
2153
+ ActionButton
2025
2154
  };