liquidcn 0.0.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.
Files changed (148) hide show
  1. package/LICENSE.md +201 -0
  2. package/README.md +209 -0
  3. package/dist/cjs/client/components/index.js +18 -0
  4. package/dist/cjs/client/components/index.js.map +1 -0
  5. package/dist/cjs/client/components/ui/dialog.js +48 -0
  6. package/dist/cjs/client/components/ui/dialog.js.map +1 -0
  7. package/dist/cjs/client/components/ui/index.js +24 -0
  8. package/dist/cjs/client/components/ui/index.js.map +1 -0
  9. package/dist/cjs/client/components/ui/pretty-date.js +91 -0
  10. package/dist/cjs/client/components/ui/pretty-date.js.map +1 -0
  11. package/dist/cjs/client/components/ui/resizable-navbar.js +126 -0
  12. package/dist/cjs/client/components/ui/resizable-navbar.js.map +1 -0
  13. package/dist/cjs/client/components/ui/select.js +50 -0
  14. package/dist/cjs/client/components/ui/select.js.map +1 -0
  15. package/dist/cjs/client/components/ui/sonner.js +12 -0
  16. package/dist/cjs/client/components/ui/sonner.js.map +1 -0
  17. package/dist/cjs/client/components/ui/switch.js +11 -0
  18. package/dist/cjs/client/components/ui/switch.js.map +1 -0
  19. package/dist/cjs/client/components/ui/tabs.js +53 -0
  20. package/dist/cjs/client/components/ui/tabs.js.map +1 -0
  21. package/dist/cjs/client/hooks/index.js +18 -0
  22. package/dist/cjs/client/hooks/index.js.map +1 -0
  23. package/dist/cjs/client/hooks/use-cookie-with-fallback.js +107 -0
  24. package/dist/cjs/client/hooks/use-cookie-with-fallback.js.map +1 -0
  25. package/dist/cjs/client/index.js +19 -0
  26. package/dist/cjs/client/index.js.map +1 -0
  27. package/dist/cjs/components/index.js +18 -0
  28. package/dist/cjs/components/index.js.map +1 -0
  29. package/dist/cjs/components/ui/alert.js +33 -0
  30. package/dist/cjs/components/ui/alert.js.map +1 -0
  31. package/dist/cjs/components/ui/badge.js +28 -0
  32. package/dist/cjs/components/ui/badge.js.map +1 -0
  33. package/dist/cjs/components/ui/button.js +39 -0
  34. package/dist/cjs/components/ui/button.js.map +1 -0
  35. package/dist/cjs/components/ui/card.js +48 -0
  36. package/dist/cjs/components/ui/card.js.map +1 -0
  37. package/dist/cjs/components/ui/footer.js +9 -0
  38. package/dist/cjs/components/ui/footer.js.map +1 -0
  39. package/dist/cjs/components/ui/index.js +25 -0
  40. package/dist/cjs/components/ui/index.js.map +1 -0
  41. package/dist/cjs/components/ui/input.js +12 -0
  42. package/dist/cjs/components/ui/input.js.map +1 -0
  43. package/dist/cjs/components/ui/pretty-amount.js +167 -0
  44. package/dist/cjs/components/ui/pretty-amount.js.map +1 -0
  45. package/dist/cjs/components/ui/textarea.js +12 -0
  46. package/dist/cjs/components/ui/textarea.js.map +1 -0
  47. package/dist/cjs/index.js +19 -0
  48. package/dist/cjs/index.js.map +1 -0
  49. package/dist/cjs/utils.js +9 -0
  50. package/dist/cjs/utils.js.map +1 -0
  51. package/dist/esm/client/components/index.js +2 -0
  52. package/dist/esm/client/components/index.js.map +1 -0
  53. package/dist/esm/client/components/ui/dialog.js +37 -0
  54. package/dist/esm/client/components/ui/dialog.js.map +1 -0
  55. package/dist/esm/client/components/ui/index.js +8 -0
  56. package/dist/esm/client/components/ui/index.js.map +1 -0
  57. package/dist/esm/client/components/ui/pretty-date.js +88 -0
  58. package/dist/esm/client/components/ui/pretty-date.js.map +1 -0
  59. package/dist/esm/client/components/ui/resizable-navbar.js +113 -0
  60. package/dist/esm/client/components/ui/resizable-navbar.js.map +1 -0
  61. package/dist/esm/client/components/ui/select.js +39 -0
  62. package/dist/esm/client/components/ui/select.js.map +1 -0
  63. package/dist/esm/client/components/ui/sonner.js +9 -0
  64. package/dist/esm/client/components/ui/sonner.js.map +1 -0
  65. package/dist/esm/client/components/ui/switch.js +9 -0
  66. package/dist/esm/client/components/ui/switch.js.map +1 -0
  67. package/dist/esm/client/components/ui/tabs.js +47 -0
  68. package/dist/esm/client/components/ui/tabs.js.map +1 -0
  69. package/dist/esm/client/hooks/index.js +2 -0
  70. package/dist/esm/client/hooks/index.js.map +1 -0
  71. package/dist/esm/client/hooks/use-cookie-with-fallback.js +104 -0
  72. package/dist/esm/client/hooks/use-cookie-with-fallback.js.map +1 -0
  73. package/dist/esm/client/index.js +3 -0
  74. package/dist/esm/client/index.js.map +1 -0
  75. package/dist/esm/components/index.js +2 -0
  76. package/dist/esm/components/index.js.map +1 -0
  77. package/dist/esm/components/ui/alert.js +30 -0
  78. package/dist/esm/components/ui/alert.js.map +1 -0
  79. package/dist/esm/components/ui/badge.js +25 -0
  80. package/dist/esm/components/ui/badge.js.map +1 -0
  81. package/dist/esm/components/ui/button.js +36 -0
  82. package/dist/esm/components/ui/button.js.map +1 -0
  83. package/dist/esm/components/ui/card.js +41 -0
  84. package/dist/esm/components/ui/card.js.map +1 -0
  85. package/dist/esm/components/ui/footer.js +6 -0
  86. package/dist/esm/components/ui/footer.js.map +1 -0
  87. package/dist/esm/components/ui/index.js +9 -0
  88. package/dist/esm/components/ui/index.js.map +1 -0
  89. package/dist/esm/components/ui/input.js +11 -0
  90. package/dist/esm/components/ui/input.js.map +1 -0
  91. package/dist/esm/components/ui/pretty-amount.js +164 -0
  92. package/dist/esm/components/ui/pretty-amount.js.map +1 -0
  93. package/dist/esm/components/ui/textarea.js +11 -0
  94. package/dist/esm/components/ui/textarea.js.map +1 -0
  95. package/dist/esm/index.js +3 -0
  96. package/dist/esm/index.js.map +1 -0
  97. package/dist/esm/utils.js +6 -0
  98. package/dist/esm/utils.js.map +1 -0
  99. package/dist/styles.css +563 -0
  100. package/dist/types/client/components/index.d.ts +2 -0
  101. package/dist/types/client/components/index.d.ts.map +1 -0
  102. package/dist/types/client/components/ui/dialog.d.ts +16 -0
  103. package/dist/types/client/components/ui/dialog.d.ts.map +1 -0
  104. package/dist/types/client/components/ui/index.d.ts +8 -0
  105. package/dist/types/client/components/ui/index.d.ts.map +1 -0
  106. package/dist/types/client/components/ui/pretty-date.d.ts +30 -0
  107. package/dist/types/client/components/ui/pretty-date.d.ts.map +1 -0
  108. package/dist/types/client/components/ui/resizable-navbar.d.ts +84 -0
  109. package/dist/types/client/components/ui/resizable-navbar.d.ts.map +1 -0
  110. package/dist/types/client/components/ui/select.d.ts +16 -0
  111. package/dist/types/client/components/ui/select.d.ts.map +1 -0
  112. package/dist/types/client/components/ui/sonner.d.ts +6 -0
  113. package/dist/types/client/components/ui/sonner.d.ts.map +1 -0
  114. package/dist/types/client/components/ui/switch.d.ts +5 -0
  115. package/dist/types/client/components/ui/switch.d.ts.map +1 -0
  116. package/dist/types/client/components/ui/tabs.d.ts +11 -0
  117. package/dist/types/client/components/ui/tabs.d.ts.map +1 -0
  118. package/dist/types/client/hooks/index.d.ts +2 -0
  119. package/dist/types/client/hooks/index.d.ts.map +1 -0
  120. package/dist/types/client/hooks/use-cookie-with-fallback.d.ts +20 -0
  121. package/dist/types/client/hooks/use-cookie-with-fallback.d.ts.map +1 -0
  122. package/dist/types/client/index.d.ts +3 -0
  123. package/dist/types/client/index.d.ts.map +1 -0
  124. package/dist/types/components/index.d.ts +2 -0
  125. package/dist/types/components/index.d.ts.map +1 -0
  126. package/dist/types/components/ui/alert.d.ts +21 -0
  127. package/dist/types/components/ui/alert.d.ts.map +1 -0
  128. package/dist/types/components/ui/badge.d.ts +10 -0
  129. package/dist/types/components/ui/badge.d.ts.map +1 -0
  130. package/dist/types/components/ui/button.d.ts +16 -0
  131. package/dist/types/components/ui/button.d.ts.map +1 -0
  132. package/dist/types/components/ui/card.d.ts +26 -0
  133. package/dist/types/components/ui/card.d.ts.map +1 -0
  134. package/dist/types/components/ui/footer.d.ts +25 -0
  135. package/dist/types/components/ui/footer.d.ts.map +1 -0
  136. package/dist/types/components/ui/index.d.ts +9 -0
  137. package/dist/types/components/ui/index.d.ts.map +1 -0
  138. package/dist/types/components/ui/input.d.ts +10 -0
  139. package/dist/types/components/ui/input.d.ts.map +1 -0
  140. package/dist/types/components/ui/pretty-amount.d.ts +24 -0
  141. package/dist/types/components/ui/pretty-amount.d.ts.map +1 -0
  142. package/dist/types/components/ui/textarea.d.ts +10 -0
  143. package/dist/types/components/ui/textarea.d.ts.map +1 -0
  144. package/dist/types/index.d.ts +3 -0
  145. package/dist/types/index.d.ts.map +1 -0
  146. package/dist/types/utils.d.ts +3 -0
  147. package/dist/types/utils.d.ts.map +1 -0
  148. package/package.json +102 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../../utils.js";
4
+ function Input({ className, type, noGlass = false, ...props }) {
5
+ if (noGlass) {
6
+ return (_jsx("input", { type: type, "data-slot": "input", className: cn("file:text-foreground placeholder:text-white/70 selection:bg-primary selection:text-primary-foreground bg-black/20 border border-white/50 h-9 w-full min-w-0 rounded-md px-3 py-1 text-white transition-all duration-300 outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus:outline-none focus:ring-2 focus:ring-white/50 focus-visible:ring-white/50 focus-visible:ring-2", "aria-invalid:ring-destructive/20 aria-invalid:border-destructive", className), ...props }));
7
+ }
8
+ return (_jsxs("div", { className: cn("glass glass-lg relative border border-white/50 h-9 w-full min-w-0 rounded-md text-white transition-all duration-300", "focus-within:ring-2 focus-within:ring-white/50", className), children: [_jsx("span", { className: "glass-layers glass-refraction glass-texture glass-tint-none", "aria-hidden": "true" }), _jsx("input", { type: type, "data-slot": "input", className: "file:text-foreground placeholder:text-white/70 selection:bg-primary selection:text-primary-foreground bg-transparent h-full w-full px-3 py-1 text-white outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium md:text-sm disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive relative z-10", ...props })] }));
9
+ }
10
+ export { Input };
11
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../../src/components/ui/input.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAShC,SAAS,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAc;IACvE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,gBACE,IAAI,EAAE,IAAI,eACA,OAAO,EACjB,SAAS,EAAE,EAAE,CACX,wZAAwZ,EACxZ,sGAAsG,EACtG,kEAAkE,EAClE,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;IACH,CAAC;IAED,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,qHAAqH,EACrH,gDAAgD,EAChD,SAAS,CACV,aAED,eACE,SAAS,EAAC,6DAA6D,iBAC3D,MAAM,GAClB,EACF,gBACE,IAAI,EAAE,IAAI,eACA,OAAO,EACjB,SAAS,EAAC,uaAAua,KAC7a,KAAK,GACT,IACE,CACP,CAAA;AACH,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,164 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../../utils.js";
3
+ const sizeClasses = {
4
+ xs: {
5
+ main: "text-xs",
6
+ symbol: "text-[10px]",
7
+ suffix: "text-[9px]",
8
+ subscript: "text-[8px]",
9
+ },
10
+ sm: {
11
+ main: "text-sm",
12
+ symbol: "text-xs",
13
+ suffix: "text-[10px]",
14
+ subscript: "text-[9px]",
15
+ },
16
+ base: {
17
+ main: "text-base",
18
+ symbol: "text-sm",
19
+ suffix: "text-xs",
20
+ subscript: "text-[10px]",
21
+ },
22
+ lg: {
23
+ main: "text-lg",
24
+ symbol: "text-base",
25
+ suffix: "text-sm",
26
+ subscript: "text-xs",
27
+ },
28
+ xl: {
29
+ main: "text-xl",
30
+ symbol: "text-lg",
31
+ suffix: "text-base",
32
+ subscript: "text-sm",
33
+ },
34
+ "2xl": {
35
+ main: "text-2xl",
36
+ symbol: "text-xl",
37
+ suffix: "text-lg",
38
+ subscript: "text-base",
39
+ },
40
+ };
41
+ function toNumberSafe(amountFormatted) {
42
+ const normalized = amountFormatted.replace(/,/g, "").trim();
43
+ const num = Number(normalized);
44
+ return Number.isFinite(num) ? num : 0;
45
+ }
46
+ function abbreviateNumber(value) {
47
+ const abs = Math.abs(value);
48
+ const sign = value < 0 ? "-" : "";
49
+ const units = [
50
+ { v: 1000000000000, s: "T" },
51
+ { v: 1000000000, s: "B" },
52
+ { v: 1000000, s: "M" },
53
+ { v: 1000, s: "K" },
54
+ ];
55
+ for (const u of units) {
56
+ if (abs >= u.v) {
57
+ const n = abs / u.v;
58
+ const text = `${sign}${n.toLocaleString("en-US", {
59
+ minimumFractionDigits: 0,
60
+ maximumFractionDigits: 2,
61
+ useGrouping: false,
62
+ })}`;
63
+ return { text, suffix: u.s };
64
+ }
65
+ }
66
+ return { text: value.toString(), suffix: "" };
67
+ }
68
+ function getTinyParts(amountFormatted, options) {
69
+ const src = amountFormatted.replace(/,/g, "").trim();
70
+ if (!src)
71
+ return null;
72
+ const sign = src.startsWith("-") ? "-" : "";
73
+ const s = sign ? src.slice(1) : src;
74
+ if (!s.startsWith("0."))
75
+ return null;
76
+ const after = s.slice(2);
77
+ const match = after.match(/^(0+)(\d*)/);
78
+ if (!match)
79
+ return null;
80
+ const zeros = match[1].length;
81
+ if (zeros < 3)
82
+ return null;
83
+ const restDigits = (match[2] || "").slice(0, options.digits);
84
+ return {
85
+ sign,
86
+ leading: "0.0",
87
+ zerosCount: zeros,
88
+ rest: restDigits || "0",
89
+ };
90
+ }
91
+ export function PrettyAmount({ amountFormatted, symbol, className, smallDigits = 4, normalPrecision = 2, size = "base", variant = "number", usd, usdInline = false, }) {
92
+ const numeric = toNumberSafe(amountFormatted.toString());
93
+ const sizes = sizeClasses[size];
94
+ const isBig = Math.abs(numeric) >= 1000;
95
+ const isTinyCandidate = Math.abs(numeric) > 0 && Math.abs(numeric) < 0.001;
96
+ const formatUsd = (usdValue) => {
97
+ const usdNum = toNumberSafe(usdValue);
98
+ if (usdNum === 0 && parseFloat(usdValue) === 0)
99
+ return null;
100
+ const abs = Math.abs(usdNum);
101
+ if (abs >= 1000) {
102
+ const abbreviated = abbreviateNumber(usdNum);
103
+ return `$${abbreviated.text}${abbreviated.suffix}`;
104
+ }
105
+ if (abs > 0 && abs < 0.001) {
106
+ const tiny = getTinyParts(usdValue, { digits: 4 });
107
+ if (tiny) {
108
+ return `$${tiny.sign}${tiny.leading}${tiny.zerosCount}${tiny.rest}`;
109
+ }
110
+ }
111
+ const precision = abs === 0 ? 2 : 2;
112
+ return `$${abs.toLocaleString("en-US", {
113
+ minimumFractionDigits: precision,
114
+ maximumFractionDigits: precision,
115
+ })}`;
116
+ };
117
+ const usdFormatted = usd ? formatUsd(usd) : null;
118
+ const AmountWrapper = ({ children }) => {
119
+ if (!usdFormatted) {
120
+ return _jsx(_Fragment, { children: children });
121
+ }
122
+ if (usdInline) {
123
+ return (_jsxs("span", { className: cn("inline-flex items-baseline gap-1.5", className), children: [children, _jsx("span", { className: cn("text-muted-foreground text-xs"), children: usdFormatted })] }));
124
+ }
125
+ return (_jsxs("span", { className: cn("inline-flex flex-col", className), children: [children, _jsx("span", { className: cn("text-muted-foreground text-[10px] mt-0.5"), children: usdFormatted })] }));
126
+ };
127
+ if (variant === "percentage") {
128
+ if (isBig) {
129
+ const { text, suffix } = abbreviateNumber(numeric);
130
+ return (_jsx(AmountWrapper, { children: _jsxs("span", { className: cn("inline-flex items-baseline gap-0.5 sm:gap-1"), children: [_jsx("span", { className: sizes.main, children: text }), _jsx("span", { className: cn("text-muted-foreground -ml-0.5 sm:-ml-1 font-bold", sizes.suffix), children: suffix }), _jsx("span", { className: cn("text-muted-foreground", sizes.symbol), children: "%" })] }) }));
131
+ }
132
+ const percentText = numeric.toLocaleString("en-US", {
133
+ minimumFractionDigits: normalPrecision,
134
+ maximumFractionDigits: normalPrecision,
135
+ useGrouping: false,
136
+ });
137
+ return (_jsx(AmountWrapper, { children: _jsxs("span", { className: cn("inline-flex items-baseline gap-0.5 sm:gap-1"), children: [_jsx("span", { className: sizes.main, children: percentText }), _jsx("span", { className: cn("text-muted-foreground", sizes.symbol), children: "%" })] }) }));
138
+ }
139
+ if (isBig) {
140
+ const { text, suffix } = abbreviateNumber(numeric);
141
+ return (_jsx(AmountWrapper, { children: _jsxs("span", { className: cn("inline-flex items-baseline gap-0.5 sm:gap-1"), children: [_jsx("span", { className: sizes.main, children: text }), _jsx("span", { className: cn("text-muted-foreground -ml-0.5 sm:-ml-1 font-bold", sizes.suffix), children: suffix }), symbol ? (_jsx("span", { className: cn("text-muted-foreground", sizes.symbol), children: symbol })) : null] }) }));
142
+ }
143
+ if (isTinyCandidate) {
144
+ const tiny = getTinyParts(amountFormatted.toString(), {
145
+ digits: smallDigits,
146
+ });
147
+ if (tiny) {
148
+ return (_jsx(AmountWrapper, { children: _jsxs("span", { className: cn("inline-flex items-baseline gap-0.5 sm:gap-1"), children: [tiny.sign && _jsx("span", { className: sizes.main, children: tiny.sign }), _jsxs("span", { className: sizes.main, children: [tiny.leading, _jsx("span", { className: cn("align-sub leading-none opacity-70", sizes.subscript), children: tiny.zerosCount }), tiny.rest] }), symbol ? (_jsx("span", { className: cn("text-muted-foreground", sizes.symbol), children: symbol })) : null] }) }));
149
+ }
150
+ }
151
+ const normalText = (() => {
152
+ const n = Math.abs(numeric);
153
+ const sign = numeric < 0 ? "-" : "";
154
+ const precision = n === 0 ? 2 : normalPrecision;
155
+ const txt = n.toLocaleString("en-US", {
156
+ minimumFractionDigits: precision,
157
+ maximumFractionDigits: precision,
158
+ useGrouping: false,
159
+ });
160
+ return `${sign}${txt}`;
161
+ })();
162
+ return (_jsx(AmountWrapper, { children: _jsxs("span", { className: cn("inline-flex items-baseline gap-0.5 sm:gap-1"), children: [_jsx("span", { className: sizes.main, children: normalText }), symbol ? (_jsx("span", { className: cn("text-muted-foreground", sizes.symbol), children: symbol })) : null] }) }));
163
+ }
164
+ //# sourceMappingURL=pretty-amount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pretty-amount.js","sourceRoot":"","sources":["../../../../src/components/ui/pretty-amount.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../../utils.js";
4
+ function Textarea({ className, isGlass = false, ...props }) {
5
+ if (!isGlass) {
6
+ return (_jsx("textarea", { "data-slot": "textarea", className: cn("placeholder:text-white/70 bg-black/20 border border-white/50 flex field-sizing-content min-h-16 w-full rounded-md px-3 py-2 text-white transition-all duration-300 outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus:outline-none focus:ring-2 focus:ring-white/50 focus-visible:ring-white/50 focus-visible:ring-2", "aria-invalid:ring-destructive/20 aria-invalid:border-destructive", className), ...props }));
7
+ }
8
+ return (_jsxs("div", { className: cn("glass glass-lg relative border border-white/50 min-h-16 w-full rounded-md text-white transition-all duration-300", "focus-within:ring-2 focus-within:ring-white/50", className), children: [_jsx("span", { className: "glass-layers glass-refraction glass-texture glass-tint-none", "aria-hidden": "true" }), _jsx("textarea", { "data-slot": "textarea", className: "placeholder:text-white/70 bg-transparent flex field-sizing-content min-h-16 w-full px-3 py-2 text-white outline-none md:text-sm disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive relative z-10", ...props })] }));
9
+ }
10
+ export { Textarea };
11
+ //# sourceMappingURL=textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../../src/components/ui/textarea.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAShC,SAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAiB;IACvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CACL,gCACY,UAAU,EACpB,SAAS,EAAE,EAAE,CACX,4OAA4O,EAC5O,sGAAsG,EACtG,kEAAkE,EAClE,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;IACH,CAAC;IAED,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,kHAAkH,EAClH,gDAAgD,EAChD,SAAS,CACV,aAED,eACE,SAAS,EAAC,6DAA6D,iBAC3D,MAAM,GAClB,EACF,gCACY,UAAU,EACpB,SAAS,EAAC,gQAAgQ,KACtQ,KAAK,GACT,IACE,CACP,CAAA;AACH,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from "./components/index.js";
2
+ export * from "./utils.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
6
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,IAAI,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAC9B,CAAC"}