singularity-components 0.1.61 → 0.1.65
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/main.cjs +179 -117
- package/dist/main.cjs.map +1 -1
- package/dist/main.css +322 -457
- package/dist/main.css.map +1 -1
- package/dist/main.d.cts +34 -30
- package/dist/main.d.ts +34 -30
- package/dist/main.js +173 -117
- package/dist/main.js.map +1 -1
- package/package.json +35 -29
package/dist/main.js
CHANGED
|
@@ -2,10 +2,12 @@ import { cva } from 'class-variance-authority';
|
|
|
2
2
|
import { clsx } from 'clsx';
|
|
3
3
|
import { extendTailwindMerge, twMerge } from 'tailwind-merge';
|
|
4
4
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
5
|
-
import * as
|
|
5
|
+
import * as React from 'react';
|
|
6
|
+
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
7
|
+
import 'lucide-react';
|
|
6
8
|
import { Slot } from '@radix-ui/react-slot';
|
|
7
9
|
|
|
8
|
-
//
|
|
10
|
+
// src/components/ui/heading/heading.tsx
|
|
9
11
|
function cn(...inputs) {
|
|
10
12
|
const twMergeWithPrefix = extendTailwindMerge({
|
|
11
13
|
prefix: "sg:"
|
|
@@ -54,118 +56,6 @@ var Heading = ({
|
|
|
54
56
|
}
|
|
55
57
|
);
|
|
56
58
|
};
|
|
57
|
-
var textVariants = cva("", {
|
|
58
|
-
variants: {
|
|
59
|
-
size: {
|
|
60
|
-
xs: "sg:text-xs",
|
|
61
|
-
sm: "sg:text-sm",
|
|
62
|
-
base: "sg:text-base",
|
|
63
|
-
lg: "sg:text-lg",
|
|
64
|
-
xl: "sg:text-xl"
|
|
65
|
-
},
|
|
66
|
-
foreground: {
|
|
67
|
-
default: "sg:text-foreground",
|
|
68
|
-
muted: "sg:text-muted-foreground",
|
|
69
|
-
primary: "sg:text-primary",
|
|
70
|
-
secondary: "sg:text-secondary-foreground",
|
|
71
|
-
destructive: "sg:text-destructive",
|
|
72
|
-
accent: "sg:text-accent-foreground"
|
|
73
|
-
},
|
|
74
|
-
weight: {
|
|
75
|
-
normal: "sg:font-normal",
|
|
76
|
-
medium: "sg:font-medium",
|
|
77
|
-
semibold: "sg:font-semibold",
|
|
78
|
-
bold: "sg:font-bold"
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
defaultVariants: {
|
|
82
|
-
size: "base",
|
|
83
|
-
foreground: "default",
|
|
84
|
-
weight: "normal"
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
var Text = ({
|
|
88
|
-
children,
|
|
89
|
-
size,
|
|
90
|
-
foreground,
|
|
91
|
-
weight,
|
|
92
|
-
className,
|
|
93
|
-
...props
|
|
94
|
-
}) => {
|
|
95
|
-
return /* @__PURE__ */ jsx(
|
|
96
|
-
"p",
|
|
97
|
-
{
|
|
98
|
-
className: cn(
|
|
99
|
-
textVariants({
|
|
100
|
-
size,
|
|
101
|
-
foreground,
|
|
102
|
-
weight,
|
|
103
|
-
className
|
|
104
|
-
})
|
|
105
|
-
),
|
|
106
|
-
...props,
|
|
107
|
-
children
|
|
108
|
-
}
|
|
109
|
-
);
|
|
110
|
-
};
|
|
111
|
-
var buttonVariants = cva(
|
|
112
|
-
"sg:inline-flex sg:items-center sg:justify-center sg:gap-2 sg:whitespace-nowrap sg:rounded-md sg:text-sm sg:font-medium sg:transition-colors sg:focus-visible:outline-hidden focus-visible:ring-offset-2 sg:focus-visible:ring-2 sg:focus-visible:ring-ring sg:disabled:pointer-events-none sg:disabled:opacity-50 sg:[&_svg]:pointer-events-none sg:[&_svg]:size-4 sg:[&_svg]:shrink-0",
|
|
113
|
-
{
|
|
114
|
-
variants: {
|
|
115
|
-
variant: {
|
|
116
|
-
primary: "sg:bg-orange sg:text-orange-foreground sg:shadow sg:hover:bg-orange/90",
|
|
117
|
-
secondary: "sg:bg-purple sg:text-purple-foreground sg:shadow-sm sg:hover:bg-purple/90",
|
|
118
|
-
destructive: "sg:bg-red sg:text-red-foreground sg:shadow-sm sg:hover:bg-red/90",
|
|
119
|
-
outline: "sg:border sg:border-orange sg:bg-white sg:shadow-sm sg:hover:bg-gray/20",
|
|
120
|
-
ghost: "sg:hover:bg-accent sg:hover:text-accent-foreground",
|
|
121
|
-
link: "sg:text-primary sg:underline-offset-4 sg:hover:underline"
|
|
122
|
-
},
|
|
123
|
-
size: {
|
|
124
|
-
default: "sg:h-9 sg:px-4 sg:py-2",
|
|
125
|
-
sm: "sg:h-8 sg:rounded-md sg:px-3 sg:py-2 sg:text-xs",
|
|
126
|
-
lg: "sg:h-10 sg:rounded-md sg:px-8 sg:py-2",
|
|
127
|
-
icon: "sg:h-9 sg:w-9"
|
|
128
|
-
}
|
|
129
|
-
},
|
|
130
|
-
defaultVariants: {
|
|
131
|
-
variant: "primary",
|
|
132
|
-
size: "default"
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
);
|
|
136
|
-
var Button = React2.forwardRef(
|
|
137
|
-
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
138
|
-
const Comp = asChild ? Slot : "button";
|
|
139
|
-
return /* @__PURE__ */ jsx(
|
|
140
|
-
Comp,
|
|
141
|
-
{
|
|
142
|
-
className: cn(buttonVariants({ variant, size, className })),
|
|
143
|
-
ref,
|
|
144
|
-
...props
|
|
145
|
-
}
|
|
146
|
-
);
|
|
147
|
-
}
|
|
148
|
-
);
|
|
149
|
-
Button.displayName = "Button";
|
|
150
|
-
var badgeVariants = cva(
|
|
151
|
-
"sg:inline-flex sg:items-center sg:rounded-md sg:border sg:px-2.5 sg:py-0.5 sg:text-xs sg:font-semibold sg:transition-colors sg:focus:outline-hidden sg:focus:ring-2 sg:focus:ring-ring sg:focus:ring-offset-2",
|
|
152
|
-
{
|
|
153
|
-
variants: {
|
|
154
|
-
variant: {
|
|
155
|
-
default: "sg:border-transparent sg:bg-orange sg:text-orange-foreground sg:shadow sg:hover:bg-orange/80",
|
|
156
|
-
purple: "sg:border-transparent sg:bg-purple sg:text-purple-foreground sg:shadow sg:hover:bg-purple/80",
|
|
157
|
-
green: "sg:border-transparent sg:bg-green sg:text-green-foreground sg:shadow sg:hover:bg-green/80",
|
|
158
|
-
outline: "sg:text-foreground"
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
|
-
defaultVariants: {
|
|
162
|
-
variant: "default"
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
);
|
|
166
|
-
function Badge({ className, variant, ...props }) {
|
|
167
|
-
return /* @__PURE__ */ jsx("div", { className: cn(badgeVariants({ variant }), className), ...props });
|
|
168
|
-
}
|
|
169
59
|
var bgColor = {
|
|
170
60
|
transparent: "sg:bg-transparent",
|
|
171
61
|
white: "sg:bg-white",
|
|
@@ -229,9 +119,9 @@ function Layout({
|
|
|
229
119
|
{
|
|
230
120
|
...props,
|
|
231
121
|
className: cn(bgColor[bgcolor ?? "transparent"], className),
|
|
232
|
-
children: /* @__PURE__ */ jsx("div", { className: cn(layoutVariants({ type, cols })), children:
|
|
122
|
+
children: /* @__PURE__ */ jsx("div", { className: cn(layoutVariants({ type, cols })), children: React.Children.map(
|
|
233
123
|
children,
|
|
234
|
-
(child) =>
|
|
124
|
+
(child) => React.isValidElement(child) ? renderColumn(child) : /* @__PURE__ */ jsx(Fragment, {})
|
|
235
125
|
) })
|
|
236
126
|
}
|
|
237
127
|
);
|
|
@@ -252,7 +142,173 @@ Layout.Col1 = Col1;
|
|
|
252
142
|
Layout.Col2 = Col2;
|
|
253
143
|
Layout.Col3 = Col3;
|
|
254
144
|
Layout.Col4 = Col4;
|
|
145
|
+
var textVariants = cva("", {
|
|
146
|
+
variants: {
|
|
147
|
+
size: {
|
|
148
|
+
xs: "sg:text-xs",
|
|
149
|
+
sm: "sg:text-sm",
|
|
150
|
+
base: "sg:text-base",
|
|
151
|
+
lg: "sg:text-lg",
|
|
152
|
+
xl: "sg:text-xl"
|
|
153
|
+
},
|
|
154
|
+
foreground: {
|
|
155
|
+
default: "sg:text-foreground",
|
|
156
|
+
muted: "sg:text-muted-foreground",
|
|
157
|
+
primary: "sg:text-primary",
|
|
158
|
+
secondary: "sg:text-secondary-foreground",
|
|
159
|
+
destructive: "sg:text-destructive",
|
|
160
|
+
accent: "sg:text-accent-foreground"
|
|
161
|
+
},
|
|
162
|
+
weight: {
|
|
163
|
+
normal: "sg:font-normal",
|
|
164
|
+
medium: "sg:font-medium",
|
|
165
|
+
semibold: "sg:font-semibold",
|
|
166
|
+
bold: "sg:font-bold"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
defaultVariants: {
|
|
170
|
+
size: "base",
|
|
171
|
+
foreground: "default",
|
|
172
|
+
weight: "normal"
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
var Text = ({
|
|
176
|
+
children,
|
|
177
|
+
size,
|
|
178
|
+
foreground,
|
|
179
|
+
weight,
|
|
180
|
+
className,
|
|
181
|
+
...props
|
|
182
|
+
}) => {
|
|
183
|
+
return /* @__PURE__ */ jsx(
|
|
184
|
+
"p",
|
|
185
|
+
{
|
|
186
|
+
className: cn(
|
|
187
|
+
textVariants({
|
|
188
|
+
size,
|
|
189
|
+
foreground,
|
|
190
|
+
weight,
|
|
191
|
+
className
|
|
192
|
+
})
|
|
193
|
+
),
|
|
194
|
+
...props,
|
|
195
|
+
children
|
|
196
|
+
}
|
|
197
|
+
);
|
|
198
|
+
};
|
|
199
|
+
function Accordion({
|
|
200
|
+
...props
|
|
201
|
+
}) {
|
|
202
|
+
return /* @__PURE__ */ jsx(AccordionPrimitive.Root, { "data-slot": "accordion", ...props });
|
|
203
|
+
}
|
|
204
|
+
var badgeVariants = cva(
|
|
205
|
+
"sg:inline-flex sg:items-center sg:justify-center sg:rounded-md sg:border sg:px-2 sg:py-0.5 sg:text-xs sg:font-medium sg:w-fit sg:whitespace-nowrap sg:shrink-0 [&>svg]:sg:size-3 sg:gap-1 [&>svg]:sg:pointer-events-none focus-visible:sg:border-ring focus-visible:sg:ring-ring/50 focus-visible:sg:ring-[3px] aria-invalid:sg:ring-destructive/20 dark:aria-invalid:sg:ring-destructive/40 aria-invalid:sg:border-destructive sg:transition-[color,box-shadow] sg:overflow-hidden",
|
|
206
|
+
{
|
|
207
|
+
variants: {
|
|
208
|
+
variant: {
|
|
209
|
+
default: "sg:border-transparent sg:bg-primary sg:text-primary-foreground [a&]:hover:sg:bg-primary/90",
|
|
210
|
+
secondary: "sg:border-transparent sg:bg-secondary sg:text-secondary-foreground [a&]:hover:sg:bg-secondary/90",
|
|
211
|
+
destructive: "sg:border-transparent sg:bg-destructive sg:text-white [a&]:hover:sg:bg-destructive/90 focus-visible:sg:ring-destructive/20 dark:focus-visible:sg:ring-destructive/40 dark:sg:bg-destructive/60",
|
|
212
|
+
outline: "sg:text-foreground [a&]:hover:sg:bg-accent [a&]:hover:sg:text-accent-foreground"
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
defaultVariants: {
|
|
216
|
+
variant: "default"
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
);
|
|
220
|
+
function Badge({
|
|
221
|
+
className,
|
|
222
|
+
variant,
|
|
223
|
+
asChild = false,
|
|
224
|
+
...props
|
|
225
|
+
}) {
|
|
226
|
+
const Comp = asChild ? Slot : "span";
|
|
227
|
+
return /* @__PURE__ */ jsx(
|
|
228
|
+
Comp,
|
|
229
|
+
{
|
|
230
|
+
"data-slot": "badge",
|
|
231
|
+
className: cn(badgeVariants({ variant }), className),
|
|
232
|
+
...props
|
|
233
|
+
}
|
|
234
|
+
);
|
|
235
|
+
}
|
|
236
|
+
var buttonVariants = cva(
|
|
237
|
+
"sg:inline-flex sg:items-center sg:justify-center sg:gap-2 sg:whitespace-nowrap sg:rounded-md sg:text-sm sg:font-medium sg:transition-all disabled:sg:pointer-events-none disabled:sg:opacity-50 [&_svg]:sg:pointer-events-none [&_svg:not([class*=size-])]:sg:size-4 sg:shrink-0 [&_svg]:sg:shrink-0 sg:outline-none focus-visible:sg:border-ring focus-visible:sg:ring-ring/50 focus-visible:sg:ring-[3px] aria-invalid:sg:ring-destructive/20 dark:aria-invalid:sg:ring-destructive/40 aria-invalid:sg:border-destructive",
|
|
238
|
+
{
|
|
239
|
+
variants: {
|
|
240
|
+
variant: {
|
|
241
|
+
default: "sg:bg-primary sg:text-primary-foreground sg:shadow-xs hover:sg:bg-primary/90",
|
|
242
|
+
destructive: "sg:bg-destructive sg:text-white sg:shadow-xs hover:sg:bg-destructive/90 focus-visible:sg:ring-destructive/20 dark:focus-visible:sg:ring-destructive/40 dark:sg:bg-destructive/60",
|
|
243
|
+
outline: "sg:border sg:bg-background sg:shadow-xs hover:sg:bg-accent hover:sg:text-accent-foreground dark:sg:bg-input/30 dark:sg:border-input dark:hover:sg:bg-input/50",
|
|
244
|
+
secondary: "sg:bg-secondary sg:text-secondary-foreground sg:shadow-xs hover:sg:bg-secondary/80",
|
|
245
|
+
ghost: "hover:sg:bg-accent hover:sg:text-accent-foreground dark:hover:sg:bg-accent/50",
|
|
246
|
+
link: "sg:text-primary sg:underline-offset-4 hover:sg:underline"
|
|
247
|
+
},
|
|
248
|
+
size: {
|
|
249
|
+
default: "sg:h-9 sg:px-4 sg:py-2 has-[>svg]:sg:px-3",
|
|
250
|
+
sm: "sg:h-8 sg:rounded-md sg:gap-1.5 sg:px-3 has-[>svg]:sg:px-2.5",
|
|
251
|
+
lg: "sg:h-10 sg:rounded-md sg:px-6 has-[>svg]:sg:px-4",
|
|
252
|
+
icon: "sg:size-9"
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
defaultVariants: {
|
|
256
|
+
variant: "default",
|
|
257
|
+
size: "default"
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
);
|
|
261
|
+
function Button({
|
|
262
|
+
className,
|
|
263
|
+
variant,
|
|
264
|
+
size,
|
|
265
|
+
asChild = false,
|
|
266
|
+
...props
|
|
267
|
+
}) {
|
|
268
|
+
const Comp = asChild ? Slot : "button";
|
|
269
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
|
|
270
|
+
Comp,
|
|
271
|
+
{
|
|
272
|
+
"data-slot": "button",
|
|
273
|
+
className: cn(buttonVariants({ variant, size, className })),
|
|
274
|
+
...props
|
|
275
|
+
}
|
|
276
|
+
) });
|
|
277
|
+
}
|
|
278
|
+
function Input({ className, type, ...props }) {
|
|
279
|
+
return /* @__PURE__ */ jsx(
|
|
280
|
+
"input",
|
|
281
|
+
{
|
|
282
|
+
type,
|
|
283
|
+
"data-slot": "input",
|
|
284
|
+
className: cn(
|
|
285
|
+
"file:sg:text-foreground placeholder:sg:text-muted-foreground selection:sg:bg-primary selection:sg:text-primary-foreground dark:sg:bg-input/30 sg:border-input sg:flex sg:h-9 sg:w-full sg:min-w-0 sg:rounded-md sg:border sg:bg-transparent sg:px-3 sg:py-1 sg:text-base sg:shadow-xs sg:transition-[color,box-shadow] sg:outline-none file:sg:inline-flex file:sg:h-7 file:sg:border-0 file:sg:bg-transparent file:sg:text-sm file:sg:font-medium disabled:sg:pointer-events-none disabled:sg:cursor-not-allowed disabled:sg:opacity-50 md:sg:text-sm",
|
|
286
|
+
"focus-visible:sg:border-ring focus-visible:sg:ring-ring/50 focus-visible:sg:ring-[3px]",
|
|
287
|
+
"aria-invalid:sg:ring-destructive/20 dark:aria-invalid:sg:ring-destructive/40 aria-invalid:sg:border-destructive",
|
|
288
|
+
className
|
|
289
|
+
),
|
|
290
|
+
...props
|
|
291
|
+
}
|
|
292
|
+
);
|
|
293
|
+
}
|
|
294
|
+
function Table({ className, ...props }) {
|
|
295
|
+
return /* @__PURE__ */ jsx(
|
|
296
|
+
"div",
|
|
297
|
+
{
|
|
298
|
+
"data-slot": "table-container",
|
|
299
|
+
className: "sg:relative sg:w-full sg:overflow-x-auto",
|
|
300
|
+
children: /* @__PURE__ */ jsx(
|
|
301
|
+
"table",
|
|
302
|
+
{
|
|
303
|
+
"data-slot": "table",
|
|
304
|
+
className: cn("sg:w-full sg:caption-bottom sg:text-sm", className),
|
|
305
|
+
...props
|
|
306
|
+
}
|
|
307
|
+
)
|
|
308
|
+
}
|
|
309
|
+
);
|
|
310
|
+
}
|
|
255
311
|
|
|
256
|
-
export { Badge, Button, Heading, Layout, Text };
|
|
312
|
+
export { Accordion, Badge, Button, Heading, Input, Layout, Table, Text, badgeVariants, layoutVariants };
|
|
257
313
|
//# sourceMappingURL=main.js.map
|
|
258
314
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/utils.ts","../lib/components/ui/heading/heading.tsx","../lib/components/ui/text/text.tsx","../lib/components/ui/button/button.tsx","../lib/components/ui/badge/badge.tsx","../lib/components/ui/layout/layout.tsx"],"names":["cva","jsx","React"],"mappings":"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","file":"main.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\r\nimport { extendTailwindMerge, twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n const twMergeWithPrefix = extendTailwindMerge({\r\n prefix: \"sg:\",\r\n });\r\n\r\n return twMergeWithPrefix(twMerge(clsx(inputs)));\r\n}\r\n","import React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../../../utils\";\r\nimport { OmitClassProperty, TailwindMarginClass } from \"../../../lib/types\";\r\n\r\nconst headingVariants = cva(\"\", {\r\n variants: {\r\n variant: {\r\n h1: \"sg:text-4xl sg:font-extrabold sg:tracking-tight sg:lg:text-5xl\",\r\n h2: \"sg:text-3xl sg:font-semibold sg:tracking-tight sg:transition-colors sg:first:mt-0\",\r\n h3: \"sg:text-2xl sg:font-semibold sg:tracking-tight\",\r\n h4: \"sg:text-xl sg:font-semibold sg:tracking-tight\",\r\n },\r\n foreground: {\r\n default: \"sg:text-foreground\",\r\n muted: \"sg:text-muted-foreground\",\r\n primary: \"sg:text-primary\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"h2\",\r\n foreground: \"default\",\r\n },\r\n});\r\n\r\nexport interface HeadingProps\r\n extends OmitClassProperty<\r\n React.HTMLAttributes<HTMLHeadingElement>,\r\n \"className\"\r\n >,\r\n VariantProps<typeof headingVariants> {\r\n as?: \"h1\" | \"h2\" | \"h3\" | \"h4\";\r\n className?: TailwindMarginClass;\r\n}\r\n\r\nexport const Heading: React.FC<HeadingProps> = ({\r\n children,\r\n as,\r\n variant,\r\n foreground,\r\n className,\r\n ...props\r\n}) => {\r\n if (!as && variant) {\r\n as = variant;\r\n } else if (!as) {\r\n as = \"h2\";\r\n }\r\n const Component = as;\r\n\r\n return (\r\n <Component\r\n className={cn(headingVariants({ variant, foreground, className }))}\r\n {...props}\r\n >\r\n {children}\r\n </Component>\r\n );\r\n};\r\n","import React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../../../utils\";\r\nimport { OmitClassProperty, TailwindMarginClass } from \"../../../lib/types\";\r\n\r\nconst textVariants = cva(\"\", {\r\n variants: {\r\n size: {\r\n xs: \"sg:text-xs\",\r\n sm: \"sg:text-sm\",\r\n base: \"sg:text-base\",\r\n lg: \"sg:text-lg\",\r\n xl: \"sg:text-xl\",\r\n },\r\n foreground: {\r\n default: \"sg:text-foreground\",\r\n muted: \"sg:text-muted-foreground\",\r\n primary: \"sg:text-primary\",\r\n secondary: \"sg:text-secondary-foreground\",\r\n destructive: \"sg:text-destructive\",\r\n accent: \"sg:text-accent-foreground\",\r\n },\r\n weight: {\r\n normal: \"sg:font-normal\",\r\n medium: \"sg:font-medium\",\r\n semibold: \"sg:font-semibold\",\r\n bold: \"sg:font-bold\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"base\",\r\n foreground: \"default\",\r\n weight: \"normal\",\r\n },\r\n});\r\n\r\nexport interface TextProps\r\n extends OmitClassProperty<React.HTMLAttributes<HTMLDivElement>, \"className\">,\r\n VariantProps<typeof textVariants> {\r\n className?: TailwindMarginClass;\r\n}\r\n\r\nexport const Text: React.FC<TextProps> = ({\r\n children,\r\n size,\r\n foreground,\r\n weight,\r\n className,\r\n ...props\r\n}) => {\r\n return (\r\n <p\r\n className={cn(\r\n textVariants({\r\n size,\r\n foreground,\r\n weight,\r\n className,\r\n })\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n </p>\r\n );\r\n};\r\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../../utils\";\nimport { OmitClassProperty, TailwindMarginClass } from \"../../../lib/types\";\n\nconst buttonVariants = cva(\n \"sg:inline-flex sg:items-center sg:justify-center sg:gap-2 sg:whitespace-nowrap sg:rounded-md sg:text-sm sg:font-medium sg:transition-colors sg:focus-visible:outline-hidden focus-visible:ring-offset-2 sg:focus-visible:ring-2 sg:focus-visible:ring-ring sg:disabled:pointer-events-none sg:disabled:opacity-50 sg:[&_svg]:pointer-events-none sg:[&_svg]:size-4 sg:[&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n primary:\n \"sg:bg-orange sg:text-orange-foreground sg:shadow sg:hover:bg-orange/90\",\n secondary:\n \"sg:bg-purple sg:text-purple-foreground sg:shadow-sm sg:hover:bg-purple/90\",\n destructive:\n \"sg:bg-red sg:text-red-foreground sg:shadow-sm sg:hover:bg-red/90\",\n outline:\n \"sg:border sg:border-orange sg:bg-white sg:shadow-sm sg:hover:bg-gray/20\",\n ghost: \"sg:hover:bg-accent sg:hover:text-accent-foreground\",\n link: \"sg:text-primary sg:underline-offset-4 sg:hover:underline\",\n },\n size: {\n default: \"sg:h-9 sg:px-4 sg:py-2\",\n sm: \"sg:h-8 sg:rounded-md sg:px-3 sg:py-2 sg:text-xs\",\n lg: \"sg:h-10 sg:rounded-md sg:px-8 sg:py-2\",\n icon: \"sg:h-9 sg:w-9\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"default\",\n },\n }\n);\n\nexport interface ButtonProps\n extends OmitClassProperty<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n \"className\"\n >,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n className?: TailwindMarginClass;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n );\n }\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../../utils\";\nimport { OmitClassProperty, TailwindMarginClass } from \"../../../lib/types\";\n\nconst badgeVariants = cva(\n \"sg:inline-flex sg:items-center sg:rounded-md sg:border sg:px-2.5 sg:py-0.5 sg:text-xs sg:font-semibold sg:transition-colors sg:focus:outline-hidden sg:focus:ring-2 sg:focus:ring-ring sg:focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"sg:border-transparent sg:bg-orange sg:text-orange-foreground sg:shadow sg:hover:bg-orange/80\",\n purple:\n \"sg:border-transparent sg:bg-purple sg:text-purple-foreground sg:shadow sg:hover:bg-purple/80\",\n green:\n \"sg:border-transparent sg:bg-green sg:text-green-foreground sg:shadow sg:hover:bg-green/80\",\n outline: \"sg:text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nexport interface BadgeProps\n extends OmitClassProperty<React.HTMLAttributes<HTMLDivElement>, \"className\">,\n VariantProps<typeof badgeVariants> {\n className?: TailwindMarginClass;\n}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../../utils\";\nimport { PropsWithChildren } from \"react\";\n\nconst bgColor = {\n transparent: \"sg:bg-transparent\",\n white: \"sg:bg-white\",\n black: \"sg:bg-black\",\n orange: \"sg:bg-orange\",\n purple: \"sg:bg-purple\",\n};\n\nconst layoutVariants = cva(\"sg:grid sg:grid-cols-1 sg:gap-4\", {\n variants: {\n type: {\n full: \"sg:w-full sg:px-4\",\n col: \"sg:mx-auto sg:max-w-[768px] sg:px-4 sg:md:px-0\",\n },\n cols: {\n \"100\": \"\",\n \"66-33\": \"sg:md:grid-cols-2\",\n \"50-50\": \"sg:md:grid-cols-2\",\n \"33-33-33\": \"sg:md:grid-cols-3\",\n \"25-25-25-25\": \"sg:md:grid-cols-4\",\n },\n bgcolor: bgColor,\n },\n defaultVariants: {\n type: \"col\",\n cols: \"100\",\n },\n});\n\nexport interface LayoutProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof layoutVariants> {}\n\nfunction Layout({\n children,\n className,\n type,\n cols,\n bgcolor,\n ...props\n}: PropsWithChildren<LayoutProps>) {\n const allowedInLayout = (\n content: React.ReactElement<any, string | React.JSXElementConstructor<any>>\n ): boolean => {\n if (content.type === Layout.Col1) {\n return true;\n } else if (\n content.type === Layout.Col2 &&\n (cols === \"66-33\" ||\n cols === \"50-50\" ||\n cols === \"33-33-33\" ||\n cols === \"25-25-25-25\")\n ) {\n return true;\n } else if (\n content.type === Layout.Col3 &&\n (cols === \"33-33-33\" || cols === \"25-25-25-25\")\n ) {\n return true;\n } else if (content.type === Layout.Col4 && cols === \"25-25-25-25\") {\n return true;\n }\n\n console.error(\n \"Content not allowed in column for variant\",\n cols,\n content.type\n );\n return false;\n };\n\n const renderColumn = (\n content: React.ReactElement<any, string | React.JSXElementConstructor<any>>\n ) => {\n if (!allowedInLayout(content)) {\n return;\n }\n return <div>{content}</div>;\n };\n\n return (\n <div\n {...props}\n className={cn(bgColor[bgcolor ?? \"transparent\"], className)}\n >\n <div className={cn(layoutVariants({ type, cols }))}>\n {React.Children.map(children, (child) =>\n React.isValidElement(child) ? renderColumn(child) : <></>\n )}\n </div>\n </div>\n );\n}\n\ntype colProp = {\n children?: React.ReactNode;\n};\n\nfunction Col1({ children }: colProp) {\n return children;\n}\nfunction Col2({ children }: colProp) {\n return children;\n}\nfunction Col3({ children }: colProp) {\n return children;\n}\nfunction Col4({ children }: colProp) {\n return children;\n}\n\nLayout.Col1 = Col1;\nLayout.Col2 = Col2;\nLayout.Col3 = Col3;\nLayout.Col4 = Col4;\n\nexport { Layout, layoutVariants };\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/utils.ts","../src/components/ui/heading/heading.tsx","../src/components/ui/layout/layout.tsx","../src/components/ui/text/text.tsx","../src/components/ui/accordion.tsx","../src/components/ui/badge.tsx","../src/components/ui/button.tsx","../src/components/ui/input.tsx","../src/components/ui/table.tsx"],"names":["cva","jsx","Slot","Fragment"],"mappings":"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","file":"main.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\r\nimport { extendTailwindMerge, twMerge } from \"tailwind-merge\";\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n const twMergeWithPrefix = extendTailwindMerge({\r\n prefix: \"sg:\",\r\n });\r\n\r\n return twMergeWithPrefix(twMerge(clsx(inputs)));\r\n}\r\n","import React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../../../utils\";\r\nimport { OmitClassProperty, TailwindMarginClass } from \"../../../lib/types\";\r\n\r\nconst headingVariants = cva(\"\", {\r\n variants: {\r\n variant: {\r\n h1: \"sg:text-4xl sg:font-extrabold sg:tracking-tight sg:lg:text-5xl\",\r\n h2: \"sg:text-3xl sg:font-semibold sg:tracking-tight sg:transition-colors sg:first:mt-0\",\r\n h3: \"sg:text-2xl sg:font-semibold sg:tracking-tight\",\r\n h4: \"sg:text-xl sg:font-semibold sg:tracking-tight\",\r\n },\r\n foreground: {\r\n default: \"sg:text-foreground\",\r\n muted: \"sg:text-muted-foreground\",\r\n primary: \"sg:text-primary\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"h2\",\r\n foreground: \"default\",\r\n },\r\n});\r\n\r\nexport interface HeadingProps\r\n extends OmitClassProperty<\r\n React.HTMLAttributes<HTMLHeadingElement>,\r\n \"className\"\r\n >,\r\n VariantProps<typeof headingVariants> {\r\n as?: \"h1\" | \"h2\" | \"h3\" | \"h4\";\r\n className?: TailwindMarginClass;\r\n}\r\n\r\nexport const Heading: React.FC<HeadingProps> = ({\r\n children,\r\n as,\r\n variant,\r\n foreground,\r\n className,\r\n ...props\r\n}) => {\r\n if (!as && variant) {\r\n as = variant;\r\n } else if (!as) {\r\n as = \"h2\";\r\n }\r\n const Component = as;\r\n\r\n return (\r\n <Component\r\n className={cn(headingVariants({ variant, foreground, className }))}\r\n {...props}\r\n >\r\n {children}\r\n </Component>\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../../../utils\";\r\nimport { PropsWithChildren } from \"react\";\r\n\r\nconst bgColor = {\r\n transparent: \"sg:bg-transparent\",\r\n white: \"sg:bg-white\",\r\n black: \"sg:bg-black\",\r\n orange: \"sg:bg-orange\",\r\n purple: \"sg:bg-purple\",\r\n};\r\n\r\nconst layoutVariants = cva(\"sg:grid sg:grid-cols-1 sg:gap-4\", {\r\n variants: {\r\n type: {\r\n full: \"sg:w-full sg:px-4\",\r\n col: \"sg:mx-auto sg:max-w-[768px] sg:px-4 sg:md:px-0\",\r\n },\r\n cols: {\r\n \"100\": \"\",\r\n \"66-33\": \"sg:md:grid-cols-2\",\r\n \"50-50\": \"sg:md:grid-cols-2\",\r\n \"33-33-33\": \"sg:md:grid-cols-3\",\r\n \"25-25-25-25\": \"sg:md:grid-cols-4\",\r\n },\r\n bgcolor: bgColor,\r\n },\r\n defaultVariants: {\r\n type: \"col\",\r\n cols: \"100\",\r\n },\r\n});\r\n\r\nexport interface LayoutProps\r\n extends React.HTMLAttributes<HTMLDivElement>,\r\n VariantProps<typeof layoutVariants> {}\r\n\r\nfunction Layout({\r\n children,\r\n className,\r\n type,\r\n cols,\r\n bgcolor,\r\n ...props\r\n}: PropsWithChildren<LayoutProps>) {\r\n const allowedInLayout = (\r\n content: React.ReactElement<any, string | React.JSXElementConstructor<any>>\r\n ): boolean => {\r\n if (content.type === Layout.Col1) {\r\n return true;\r\n } else if (\r\n content.type === Layout.Col2 &&\r\n (cols === \"66-33\" ||\r\n cols === \"50-50\" ||\r\n cols === \"33-33-33\" ||\r\n cols === \"25-25-25-25\")\r\n ) {\r\n return true;\r\n } else if (\r\n content.type === Layout.Col3 &&\r\n (cols === \"33-33-33\" || cols === \"25-25-25-25\")\r\n ) {\r\n return true;\r\n } else if (content.type === Layout.Col4 && cols === \"25-25-25-25\") {\r\n return true;\r\n }\r\n\r\n console.error(\r\n \"Content not allowed in column for variant\",\r\n cols,\r\n content.type\r\n );\r\n return false;\r\n };\r\n\r\n const renderColumn = (\r\n content: React.ReactElement<any, string | React.JSXElementConstructor<any>>\r\n ) => {\r\n if (!allowedInLayout(content)) {\r\n return;\r\n }\r\n return <div>{content}</div>;\r\n };\r\n\r\n return (\r\n <div\r\n {...props}\r\n className={cn(bgColor[bgcolor ?? \"transparent\"], className)}\r\n >\r\n <div className={cn(layoutVariants({ type, cols }))}>\r\n {React.Children.map(children, (child) =>\r\n React.isValidElement(child) ? renderColumn(child) : <></>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\ntype colProp = {\r\n children?: React.ReactNode;\r\n};\r\n\r\nfunction Col1({ children }: colProp) {\r\n return children;\r\n}\r\nfunction Col2({ children }: colProp) {\r\n return children;\r\n}\r\nfunction Col3({ children }: colProp) {\r\n return children;\r\n}\r\nfunction Col4({ children }: colProp) {\r\n return children;\r\n}\r\n\r\nLayout.Col1 = Col1;\r\nLayout.Col2 = Col2;\r\nLayout.Col3 = Col3;\r\nLayout.Col4 = Col4;\r\n\r\nexport { Layout, layoutVariants };\r\n","import React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../../../utils\";\r\nimport { OmitClassProperty, TailwindMarginClass } from \"../../../lib/types\";\r\n\r\nconst textVariants = cva(\"\", {\r\n variants: {\r\n size: {\r\n xs: \"sg:text-xs\",\r\n sm: \"sg:text-sm\",\r\n base: \"sg:text-base\",\r\n lg: \"sg:text-lg\",\r\n xl: \"sg:text-xl\",\r\n },\r\n foreground: {\r\n default: \"sg:text-foreground\",\r\n muted: \"sg:text-muted-foreground\",\r\n primary: \"sg:text-primary\",\r\n secondary: \"sg:text-secondary-foreground\",\r\n destructive: \"sg:text-destructive\",\r\n accent: \"sg:text-accent-foreground\",\r\n },\r\n weight: {\r\n normal: \"sg:font-normal\",\r\n medium: \"sg:font-medium\",\r\n semibold: \"sg:font-semibold\",\r\n bold: \"sg:font-bold\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"base\",\r\n foreground: \"default\",\r\n weight: \"normal\",\r\n },\r\n});\r\n\r\nexport interface TextProps\r\n extends OmitClassProperty<React.HTMLAttributes<HTMLDivElement>, \"className\">,\r\n VariantProps<typeof textVariants> {\r\n className?: TailwindMarginClass;\r\n}\r\n\r\nexport const Text: React.FC<TextProps> = ({\r\n children,\r\n size,\r\n foreground,\r\n weight,\r\n className,\r\n ...props\r\n}) => {\r\n return (\r\n <p\r\n className={cn(\r\n textVariants({\r\n size,\r\n foreground,\r\n weight,\r\n className,\r\n })\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n </p>\r\n );\r\n};\r\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport { cn } from \"../../utils\";\n\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn(\"sg:border-b last:sg:border-b-0\", className)}\n {...props}\n />\n );\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className=\"sg:flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n \"focus-visible:sg:border-ring focus-visible:sg:ring-ring/50 sg:flex sg:flex-1 sg:items-start sg:justify-between sg:gap-4 sg:rounded-md sg:py-4 sg:text-left sg:text-sm sg:font-medium sg:transition-all sg:outline-none hover:sg:underline focus-visible:sg:ring-[3px] disabled:sg:pointer-events-none disabled:sg:opacity-50 [&[data-state=open]>svg]:sg:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon className=\"sg:text-muted-foreground sg:pointer-events-none sg:size-4 sg:shrink-0 sg:translate-y-0.5 sg:transition-transform sg:duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:sg:animate-accordion-up data-[state=open]:sg:animate-accordion-down sg:overflow-hidden sg:text-sm\"\n {...props}\n >\n <div className={cn(\"sg:pt-0 sg:pb-4\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils\";\n\nconst badgeVariants = cva(\n \"sg:inline-flex sg:items-center sg:justify-center sg:rounded-md sg:border sg:px-2 sg:py-0.5 sg:text-xs sg:font-medium sg:w-fit sg:whitespace-nowrap sg:shrink-0 [&>svg]:sg:size-3 sg:gap-1 [&>svg]:sg:pointer-events-none focus-visible:sg:border-ring focus-visible:sg:ring-ring/50 focus-visible:sg:ring-[3px] aria-invalid:sg:ring-destructive/20 dark:aria-invalid:sg:ring-destructive/40 aria-invalid:sg:border-destructive sg:transition-[color,box-shadow] sg:overflow-hidden\",\n {\n variants: {\n variant: {\n default:\n \"sg:border-transparent sg:bg-primary sg:text-primary-foreground [a&]:hover:sg:bg-primary/90\",\n secondary:\n \"sg:border-transparent sg:bg-secondary sg:text-secondary-foreground [a&]:hover:sg:bg-secondary/90\",\n destructive:\n \"sg:border-transparent sg:bg-destructive sg:text-white [a&]:hover:sg:bg-destructive/90 focus-visible:sg:ring-destructive/20 dark:focus-visible:sg:ring-destructive/40 dark:sg:bg-destructive/60\",\n outline:\n \"sg:text-foreground [a&]:hover:sg:bg-accent [a&]:hover:sg:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nfunction Badge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils\";\n\nconst buttonVariants = cva(\n \"sg:inline-flex sg:items-center sg:justify-center sg:gap-2 sg:whitespace-nowrap sg:rounded-md sg:text-sm sg:font-medium sg:transition-all disabled:sg:pointer-events-none disabled:sg:opacity-50 [&_svg]:sg:pointer-events-none [&_svg:not([class*=size-])]:sg:size-4 sg:shrink-0 [&_svg]:sg:shrink-0 sg:outline-none focus-visible:sg:border-ring focus-visible:sg:ring-ring/50 focus-visible:sg:ring-[3px] aria-invalid:sg:ring-destructive/20 dark:aria-invalid:sg:ring-destructive/40 aria-invalid:sg:border-destructive\",\n {\n variants: {\n variant: {\n default:\n \"sg:bg-primary sg:text-primary-foreground sg:shadow-xs hover:sg:bg-primary/90\",\n destructive:\n \"sg:bg-destructive sg:text-white sg:shadow-xs hover:sg:bg-destructive/90 focus-visible:sg:ring-destructive/20 dark:focus-visible:sg:ring-destructive/40 dark:sg:bg-destructive/60\",\n outline:\n \"sg:border sg:bg-background sg:shadow-xs hover:sg:bg-accent hover:sg:text-accent-foreground dark:sg:bg-input/30 dark:sg:border-input dark:hover:sg:bg-input/50\",\n secondary:\n \"sg:bg-secondary sg:text-secondary-foreground sg:shadow-xs hover:sg:bg-secondary/80\",\n ghost:\n \"hover:sg:bg-accent hover:sg:text-accent-foreground dark:hover:sg:bg-accent/50\",\n link: \"sg:text-primary sg:underline-offset-4 hover:sg:underline\",\n },\n size: {\n default: \"sg:h-9 sg:px-4 sg:py-2 has-[>svg]:sg:px-3\",\n sm: \"sg:h-8 sg:rounded-md sg:gap-1.5 sg:px-3 has-[>svg]:sg:px-2.5\",\n lg: \"sg:h-10 sg:rounded-md sg:px-6 has-[>svg]:sg:px-4\",\n icon: \"sg:size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <>\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n </>\n );\n}\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\nimport { cn } from \"../../utils\";\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"file:sg:text-foreground placeholder:sg:text-muted-foreground selection:sg:bg-primary selection:sg:text-primary-foreground dark:sg:bg-input/30 sg:border-input sg:flex sg:h-9 sg:w-full sg:min-w-0 sg:rounded-md sg:border sg:bg-transparent sg:px-3 sg:py-1 sg:text-base sg:shadow-xs sg:transition-[color,box-shadow] sg:outline-none file:sg:inline-flex file:sg:h-7 file:sg:border-0 file:sg:bg-transparent file:sg:text-sm file:sg:font-medium disabled:sg:pointer-events-none disabled:sg:cursor-not-allowed disabled:sg:opacity-50 md:sg:text-sm\",\n \"focus-visible:sg:border-ring focus-visible:sg:ring-ring/50 focus-visible:sg:ring-[3px]\",\n \"aria-invalid:sg:ring-destructive/20 dark:aria-invalid:sg:ring-destructive/40 aria-invalid:sg:border-destructive\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"../../utils\";\n\nfunction Table({ className, ...props }: React.ComponentProps<\"table\">) {\n return (\n <div\n data-slot=\"table-container\"\n className=\"sg:relative sg:w-full sg:overflow-x-auto\"\n >\n <table\n data-slot=\"table\"\n className={cn(\"sg:w-full sg:caption-bottom sg:text-sm\", className)}\n {...props}\n />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n return (\n <thead\n data-slot=\"table-header\"\n className={cn(\"[&_tr]:sg:border-b\", className)}\n {...props}\n />\n );\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n return (\n <tbody\n data-slot=\"table-body\"\n className={cn(\"[&_tr:last-child]:sg:border-0\", className)}\n {...props}\n />\n );\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<\"tfoot\">) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn(\n \"sg:bg-muted/50 sg:border-t sg:font-medium [&>tr]:last:sg:border-b-0\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\n \"hover:sg:bg-muted/50 data-[state=selected]:sg:bg-muted sg:border-b sg:transition-colors\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n \"sg:text-foreground sg:h-10 sg:px-2 sg:text-left sg:align-middle sg:font-medium sg:whitespace-nowrap [&:has([role=checkbox])]:sg:pr-0 [&>[role=checkbox]]:sg:translate-y-[2px]\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\n \"sg:p-2 sg:align-middle sg:whitespace-nowrap [&:has([role=checkbox])]:sg:pr-0 [&>[role=checkbox]]:sg:translate-y-[2px]\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableCaption({\n className,\n ...props\n}: React.ComponentProps<\"caption\">) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn(\"sg:text-muted-foreground sg:mt-4 sg:text-sm\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "singularity-components",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.65",
|
|
4
4
|
"main": "./dist/main.js",
|
|
5
5
|
"module": "./dist/main.mjs",
|
|
6
6
|
"types": "./dist/main.d.ts",
|
|
@@ -19,40 +19,46 @@
|
|
|
19
19
|
"license": "MIT",
|
|
20
20
|
"description": "",
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@radix-ui/react-
|
|
22
|
+
"@radix-ui/react-accordion": "^1.2.3",
|
|
23
|
+
"@radix-ui/react-slot": "^1.1.2",
|
|
24
|
+
"@tailwindcss/postcss": "^4.0.17",
|
|
25
|
+
"@tailwindcss/vite": "^4.0.17",
|
|
23
26
|
"class-variance-authority": "^0.7.1",
|
|
24
27
|
"clsx": "^2.1.1",
|
|
25
|
-
"lucide-react": "^0.
|
|
26
|
-
"
|
|
27
|
-
"react
|
|
28
|
-
"
|
|
28
|
+
"lucide-react": "^0.485.0",
|
|
29
|
+
"postcss": "^8.5.3",
|
|
30
|
+
"react": "^19.1.0",
|
|
31
|
+
"react-dom": "^19.1.0",
|
|
32
|
+
"tailwind-merge": "^3.0.2",
|
|
33
|
+
"tailwindcss": "^4.0.17",
|
|
29
34
|
"tailwindcss-animate": "^1.0.7"
|
|
30
35
|
},
|
|
31
36
|
"devDependencies": {
|
|
32
|
-
"@chromatic-com/storybook": "^3.2.
|
|
33
|
-
"@storybook/addon-essentials": "^8.4
|
|
34
|
-
"@storybook/addon-interactions": "^8.4
|
|
35
|
-
"@storybook/addon-links": "^8.4
|
|
36
|
-
"@storybook/blocks": "^8.4
|
|
37
|
-
"@storybook/react": "^8.4
|
|
38
|
-
"@storybook/react-vite": "^8.4
|
|
39
|
-
"@storybook/test": "^8.4
|
|
40
|
-
"@
|
|
41
|
-
"@types/react": "^19.0.
|
|
42
|
-
"@types/react-dom": "^19.0.
|
|
43
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
44
|
-
"@typescript-eslint/parser": "^8.
|
|
37
|
+
"@chromatic-com/storybook": "^3.2.5",
|
|
38
|
+
"@storybook/addon-essentials": "^8.6.4",
|
|
39
|
+
"@storybook/addon-interactions": "^8.6.4",
|
|
40
|
+
"@storybook/addon-links": "^8.6.4",
|
|
41
|
+
"@storybook/blocks": "^8.6.4",
|
|
42
|
+
"@storybook/react": "^8.6.4",
|
|
43
|
+
"@storybook/react-vite": "^8.6.4",
|
|
44
|
+
"@storybook/test": "^8.6.4",
|
|
45
|
+
"@types/node": "^22.13.14",
|
|
46
|
+
"@types/react": "^19.0.12",
|
|
47
|
+
"@types/react-dom": "^19.0.4",
|
|
48
|
+
"@typescript-eslint/eslint-plugin": "^8.28.0",
|
|
49
|
+
"@typescript-eslint/parser": "^8.28.0",
|
|
45
50
|
"@vitejs/plugin-react": "^4.3.4",
|
|
46
|
-
"eslint": "^9.
|
|
47
|
-
"eslint-plugin-react-hooks": "^5.
|
|
48
|
-
"eslint-plugin-react-refresh": "^0.4.
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"tsup": "^8.3.6",
|
|
54
|
-
"typescript": "^5.7.3",
|
|
55
|
-
"vite": "^6.0.11",
|
|
51
|
+
"eslint": "^9.21.0",
|
|
52
|
+
"eslint-plugin-react-hooks": "^5.2.0",
|
|
53
|
+
"eslint-plugin-react-refresh": "^0.4.19",
|
|
54
|
+
"storybook": "^8.6.4",
|
|
55
|
+
"tsup": "^8.4.0",
|
|
56
|
+
"typescript": "^5.8.2",
|
|
57
|
+
"vite": "^6.2.1",
|
|
56
58
|
"vite-tsconfig-paths": "^5.1.4"
|
|
59
|
+
},
|
|
60
|
+
"peerDependencies": {
|
|
61
|
+
"react": "^19.1.0",
|
|
62
|
+
"react-dom": "^19.1.0"
|
|
57
63
|
}
|
|
58
64
|
}
|