singularity-components 0.1.65 → 0.1.67

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 CHANGED
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var classVarianceAuthority = require('class-variance-authority');
3
+ var AccordionPrimitive = require('@radix-ui/react-accordion');
4
+ var lucideReact = require('lucide-react');
4
5
  var clsx = require('clsx');
5
6
  var tailwindMerge = require('tailwind-merge');
6
7
  var jsxRuntime = require('react/jsx-runtime');
7
- var React = require('react');
8
- var AccordionPrimitive = require('@radix-ui/react-accordion');
9
- require('lucide-react');
10
8
  var reactSlot = require('@radix-ui/react-slot');
9
+ var classVarianceAuthority = require('class-variance-authority');
10
+ var React = require('react');
11
11
 
12
12
  function _interopNamespace(e) {
13
13
  if (e && e.__esModule) return e;
@@ -27,16 +27,144 @@ function _interopNamespace(e) {
27
27
  return Object.freeze(n);
28
28
  }
29
29
 
30
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
31
30
  var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
31
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
32
32
 
33
- // src/components/ui/heading/heading.tsx
33
+ // src/components/ui/accordion.tsx
34
34
  function cn(...inputs) {
35
35
  const twMergeWithPrefix = tailwindMerge.extendTailwindMerge({
36
36
  prefix: "sg:"
37
37
  });
38
38
  return twMergeWithPrefix(tailwindMerge.twMerge(clsx.clsx(inputs)));
39
39
  }
40
+ function Accordion({
41
+ ...props
42
+ }) {
43
+ return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Root, { "data-slot": "accordion", ...props });
44
+ }
45
+ function AccordionItem({
46
+ className,
47
+ ...props
48
+ }) {
49
+ return /* @__PURE__ */ jsxRuntime.jsx(
50
+ AccordionPrimitive__namespace.Item,
51
+ {
52
+ "data-slot": "accordion-item",
53
+ className: cn("sg:border-b last:sg:border-b-0", className),
54
+ ...props
55
+ }
56
+ );
57
+ }
58
+ function AccordionTrigger({
59
+ className,
60
+ children,
61
+ ...props
62
+ }) {
63
+ return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { className: "sg:flex", children: /* @__PURE__ */ jsxRuntime.jsxs(
64
+ AccordionPrimitive__namespace.Trigger,
65
+ {
66
+ "data-slot": "accordion-trigger",
67
+ className: cn(
68
+ "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",
69
+ className
70
+ ),
71
+ ...props,
72
+ children: [
73
+ children,
74
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.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" })
75
+ ]
76
+ }
77
+ ) });
78
+ }
79
+ function AccordionContent({
80
+ className,
81
+ children,
82
+ ...props
83
+ }) {
84
+ return /* @__PURE__ */ jsxRuntime.jsx(
85
+ AccordionPrimitive__namespace.Content,
86
+ {
87
+ "data-slot": "accordion-content",
88
+ className: "data-[state=closed]:sg:animate-accordion-up data-[state=open]:sg:animate-accordion-down sg:overflow-hidden sg:text-sm",
89
+ ...props,
90
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("sg:pt-0 sg:pb-4", className), children })
91
+ }
92
+ );
93
+ }
94
+ var badgeVariants = classVarianceAuthority.cva(
95
+ "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",
96
+ {
97
+ variants: {
98
+ variant: {
99
+ default: "sg:border-transparent sg:bg-primary sg:text-primary-foreground [a&]:hover:sg:bg-primary/90",
100
+ secondary: "sg:border-transparent sg:bg-secondary sg:text-secondary-foreground [a&]:hover:sg:bg-secondary/90",
101
+ 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",
102
+ outline: "sg:text-foreground [a&]:hover:sg:bg-accent [a&]:hover:sg:text-accent-foreground"
103
+ }
104
+ },
105
+ defaultVariants: {
106
+ variant: "default"
107
+ }
108
+ }
109
+ );
110
+ function Badge({
111
+ className,
112
+ variant,
113
+ asChild = false,
114
+ ...props
115
+ }) {
116
+ const Comp = asChild ? reactSlot.Slot : "span";
117
+ return /* @__PURE__ */ jsxRuntime.jsx(
118
+ Comp,
119
+ {
120
+ "data-slot": "badge",
121
+ className: cn(badgeVariants({ variant }), className),
122
+ ...props
123
+ }
124
+ );
125
+ }
126
+ var buttonVariants = classVarianceAuthority.cva(
127
+ "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",
128
+ {
129
+ variants: {
130
+ variant: {
131
+ default: "sg:bg-primary sg:text-primary-foreground sg:shadow-xs hover:sg:bg-primary/90",
132
+ 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",
133
+ 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",
134
+ secondary: "sg:bg-secondary sg:text-secondary-foreground sg:shadow-xs hover:sg:bg-secondary/80",
135
+ ghost: "hover:sg:bg-accent hover:sg:text-accent-foreground dark:hover:sg:bg-accent/50",
136
+ link: "sg:text-primary sg:underline-offset-4 hover:sg:underline"
137
+ },
138
+ size: {
139
+ default: "sg:h-9 sg:px-4 sg:py-2 has-[>svg]:sg:px-3",
140
+ sm: "sg:h-8 sg:rounded-md sg:gap-1.5 sg:px-3 has-[>svg]:sg:px-2.5",
141
+ lg: "sg:h-10 sg:rounded-md sg:px-6 has-[>svg]:sg:px-4",
142
+ icon: "sg:size-9"
143
+ }
144
+ },
145
+ defaultVariants: {
146
+ variant: "default",
147
+ size: "default"
148
+ }
149
+ }
150
+ );
151
+ function Button({
152
+ className,
153
+ variant,
154
+ size,
155
+ asChild = false,
156
+ ...props
157
+ }) {
158
+ const Comp = asChild ? reactSlot.Slot : "button";
159
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
160
+ Comp,
161
+ {
162
+ "data-slot": "button",
163
+ className: cn(buttonVariants({ variant, size, className })),
164
+ ...props
165
+ }
166
+ ) });
167
+ }
40
168
  var headingVariants = classVarianceAuthority.cva("", {
41
169
  variants: {
42
170
  variant: {
@@ -79,6 +207,22 @@ var Heading = ({
79
207
  }
80
208
  );
81
209
  };
210
+ function Input({ className, type, ...props }) {
211
+ return /* @__PURE__ */ jsxRuntime.jsx(
212
+ "input",
213
+ {
214
+ type,
215
+ "data-slot": "input",
216
+ className: cn(
217
+ "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",
218
+ "focus-visible:sg:border-ring focus-visible:sg:ring-ring/50 focus-visible:sg:ring-[3px]",
219
+ "aria-invalid:sg:ring-destructive/20 dark:aria-invalid:sg:ring-destructive/40 aria-invalid:sg:border-destructive",
220
+ className
221
+ ),
222
+ ...props
223
+ }
224
+ );
225
+ }
82
226
  var bgColor = {
83
227
  transparent: "sg:bg-transparent",
84
228
  white: "sg:bg-white",
@@ -135,7 +279,7 @@ function Layout({
135
279
  if (!allowedInLayout(content)) {
136
280
  return;
137
281
  }
138
- return /* @__PURE__ */ jsxRuntime.jsx("div", { children: content });
282
+ return content;
139
283
  };
140
284
  return /* @__PURE__ */ jsxRuntime.jsx(
141
285
  "div",
@@ -149,22 +293,115 @@ function Layout({
149
293
  }
150
294
  );
151
295
  }
152
- function Col1({ children }) {
153
- return children;
296
+ function Col({ children, hideDiv }) {
297
+ return hideDiv ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children });
298
+ }
299
+ Layout.Col1 = Col;
300
+ Layout.Col2 = Col;
301
+ Layout.Col3 = Col;
302
+ Layout.Col4 = Col;
303
+ function Table({ className, ...props }) {
304
+ return /* @__PURE__ */ jsxRuntime.jsx(
305
+ "div",
306
+ {
307
+ "data-slot": "table-container",
308
+ className: "sg:relative sg:w-full sg:overflow-x-auto",
309
+ children: /* @__PURE__ */ jsxRuntime.jsx(
310
+ "table",
311
+ {
312
+ "data-slot": "table",
313
+ className: cn("sg:w-full sg:caption-bottom sg:text-sm", className),
314
+ ...props
315
+ }
316
+ )
317
+ }
318
+ );
319
+ }
320
+ function TableHeader({ className, ...props }) {
321
+ return /* @__PURE__ */ jsxRuntime.jsx(
322
+ "thead",
323
+ {
324
+ "data-slot": "table-header",
325
+ className: cn("[&_tr]:sg:border-b", className),
326
+ ...props
327
+ }
328
+ );
329
+ }
330
+ function TableBody({ className, ...props }) {
331
+ return /* @__PURE__ */ jsxRuntime.jsx(
332
+ "tbody",
333
+ {
334
+ "data-slot": "table-body",
335
+ className: cn("[&_tr:last-child]:sg:border-0", className),
336
+ ...props
337
+ }
338
+ );
339
+ }
340
+ function TableFooter({ className, ...props }) {
341
+ return /* @__PURE__ */ jsxRuntime.jsx(
342
+ "tfoot",
343
+ {
344
+ "data-slot": "table-footer",
345
+ className: cn(
346
+ "sg:bg-muted/50 sg:border-t sg:font-medium [&>tr]:last:sg:border-b-0",
347
+ className
348
+ ),
349
+ ...props
350
+ }
351
+ );
352
+ }
353
+ function TableRow({ className, ...props }) {
354
+ return /* @__PURE__ */ jsxRuntime.jsx(
355
+ "tr",
356
+ {
357
+ "data-slot": "table-row",
358
+ className: cn(
359
+ "hover:sg:bg-muted/50 data-[state=selected]:sg:bg-muted sg:border-b sg:transition-colors",
360
+ className
361
+ ),
362
+ ...props
363
+ }
364
+ );
154
365
  }
155
- function Col2({ children }) {
156
- return children;
366
+ function TableHead({ className, ...props }) {
367
+ return /* @__PURE__ */ jsxRuntime.jsx(
368
+ "th",
369
+ {
370
+ "data-slot": "table-head",
371
+ className: cn(
372
+ "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]",
373
+ className
374
+ ),
375
+ ...props
376
+ }
377
+ );
157
378
  }
158
- function Col3({ children }) {
159
- return children;
379
+ function TableCell({ className, ...props }) {
380
+ return /* @__PURE__ */ jsxRuntime.jsx(
381
+ "td",
382
+ {
383
+ "data-slot": "table-cell",
384
+ className: cn(
385
+ "sg:p-2 sg:align-middle sg:whitespace-nowrap [&:has([role=checkbox])]:sg:pr-0 [&>[role=checkbox]]:sg:translate-y-[2px]",
386
+ className
387
+ ),
388
+ ...props
389
+ }
390
+ );
160
391
  }
161
- function Col4({ children }) {
162
- return children;
392
+ function TableCaption({
393
+ className,
394
+ ...props
395
+ }) {
396
+ return /* @__PURE__ */ jsxRuntime.jsx(
397
+ "caption",
398
+ {
399
+ "data-slot": "table-caption",
400
+ className: cn("sg:text-muted-foreground sg:mt-4 sg:text-sm", className),
401
+ ...props
402
+ }
403
+ );
163
404
  }
164
- Layout.Col1 = Col1;
165
- Layout.Col2 = Col2;
166
- Layout.Col3 = Col3;
167
- Layout.Col4 = Col4;
168
405
  var textVariants = classVarianceAuthority.cva("", {
169
406
  variants: {
170
407
  size: {
@@ -219,128 +456,27 @@ var Text = ({
219
456
  }
220
457
  );
221
458
  };
222
- function Accordion({
223
- ...props
224
- }) {
225
- return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Root, { "data-slot": "accordion", ...props });
226
- }
227
- var badgeVariants = classVarianceAuthority.cva(
228
- "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",
229
- {
230
- variants: {
231
- variant: {
232
- default: "sg:border-transparent sg:bg-primary sg:text-primary-foreground [a&]:hover:sg:bg-primary/90",
233
- secondary: "sg:border-transparent sg:bg-secondary sg:text-secondary-foreground [a&]:hover:sg:bg-secondary/90",
234
- 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",
235
- outline: "sg:text-foreground [a&]:hover:sg:bg-accent [a&]:hover:sg:text-accent-foreground"
236
- }
237
- },
238
- defaultVariants: {
239
- variant: "default"
240
- }
241
- }
242
- );
243
- function Badge({
244
- className,
245
- variant,
246
- asChild = false,
247
- ...props
248
- }) {
249
- const Comp = asChild ? reactSlot.Slot : "span";
250
- return /* @__PURE__ */ jsxRuntime.jsx(
251
- Comp,
252
- {
253
- "data-slot": "badge",
254
- className: cn(badgeVariants({ variant }), className),
255
- ...props
256
- }
257
- );
258
- }
259
- var buttonVariants = classVarianceAuthority.cva(
260
- "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",
261
- {
262
- variants: {
263
- variant: {
264
- default: "sg:bg-primary sg:text-primary-foreground sg:shadow-xs hover:sg:bg-primary/90",
265
- 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",
266
- 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",
267
- secondary: "sg:bg-secondary sg:text-secondary-foreground sg:shadow-xs hover:sg:bg-secondary/80",
268
- ghost: "hover:sg:bg-accent hover:sg:text-accent-foreground dark:hover:sg:bg-accent/50",
269
- link: "sg:text-primary sg:underline-offset-4 hover:sg:underline"
270
- },
271
- size: {
272
- default: "sg:h-9 sg:px-4 sg:py-2 has-[>svg]:sg:px-3",
273
- sm: "sg:h-8 sg:rounded-md sg:gap-1.5 sg:px-3 has-[>svg]:sg:px-2.5",
274
- lg: "sg:h-10 sg:rounded-md sg:px-6 has-[>svg]:sg:px-4",
275
- icon: "sg:size-9"
276
- }
277
- },
278
- defaultVariants: {
279
- variant: "default",
280
- size: "default"
281
- }
282
- }
283
- );
284
- function Button({
285
- className,
286
- variant,
287
- size,
288
- asChild = false,
289
- ...props
290
- }) {
291
- const Comp = asChild ? reactSlot.Slot : "button";
292
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
293
- Comp,
294
- {
295
- "data-slot": "button",
296
- className: cn(buttonVariants({ variant, size, className })),
297
- ...props
298
- }
299
- ) });
300
- }
301
- function Input({ className, type, ...props }) {
302
- return /* @__PURE__ */ jsxRuntime.jsx(
303
- "input",
304
- {
305
- type,
306
- "data-slot": "input",
307
- className: cn(
308
- "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",
309
- "focus-visible:sg:border-ring focus-visible:sg:ring-ring/50 focus-visible:sg:ring-[3px]",
310
- "aria-invalid:sg:ring-destructive/20 dark:aria-invalid:sg:ring-destructive/40 aria-invalid:sg:border-destructive",
311
- className
312
- ),
313
- ...props
314
- }
315
- );
316
- }
317
- function Table({ className, ...props }) {
318
- return /* @__PURE__ */ jsxRuntime.jsx(
319
- "div",
320
- {
321
- "data-slot": "table-container",
322
- className: "sg:relative sg:w-full sg:overflow-x-auto",
323
- children: /* @__PURE__ */ jsxRuntime.jsx(
324
- "table",
325
- {
326
- "data-slot": "table",
327
- className: cn("sg:w-full sg:caption-bottom sg:text-sm", className),
328
- ...props
329
- }
330
- )
331
- }
332
- );
333
- }
334
459
 
335
460
  exports.Accordion = Accordion;
461
+ exports.AccordionContent = AccordionContent;
462
+ exports.AccordionItem = AccordionItem;
463
+ exports.AccordionTrigger = AccordionTrigger;
336
464
  exports.Badge = Badge;
337
465
  exports.Button = Button;
338
466
  exports.Heading = Heading;
339
467
  exports.Input = Input;
340
468
  exports.Layout = Layout;
341
469
  exports.Table = Table;
470
+ exports.TableBody = TableBody;
471
+ exports.TableCaption = TableCaption;
472
+ exports.TableCell = TableCell;
473
+ exports.TableFooter = TableFooter;
474
+ exports.TableHead = TableHead;
475
+ exports.TableHeader = TableHeader;
476
+ exports.TableRow = TableRow;
342
477
  exports.Text = Text;
343
478
  exports.badgeVariants = badgeVariants;
479
+ exports.buttonVariants = buttonVariants;
344
480
  exports.layoutVariants = layoutVariants;
345
481
  //# sourceMappingURL=main.cjs.map
346
482
  //# sourceMappingURL=main.cjs.map
package/dist/main.cjs.map CHANGED
@@ -1 +1 @@
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":["extendTailwindMerge","twMerge","clsx","cva","jsx","React","Fragment","AccordionPrimitive","Slot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,SAAS,MAAM,MAAsB,EAAA;AAC1C,EAAA,MAAM,oBAAoBA,iCAAoB,CAAA;AAAA,IAC5C,MAAQ,EAAA;AAAA,GACT,CAAA;AAED,EAAA,OAAO,iBAAkB,CAAAC,qBAAA,CAAQC,SAAK,CAAA,MAAM,CAAC,CAAC,CAAA;AAChD;ACJA,IAAM,eAAA,GAAkBC,2BAAI,EAAI,EAAA;AAAA,EAC9B,QAAU,EAAA;AAAA,IACR,OAAS,EAAA;AAAA,MACP,EAAI,EAAA,gEAAA;AAAA,MACJ,EAAI,EAAA,mFAAA;AAAA,MACJ,EAAI,EAAA,gDAAA;AAAA,MACJ,EAAI,EAAA;AAAA,KACN;AAAA,IACA,UAAY,EAAA;AAAA,MACV,OAAS,EAAA,oBAAA;AAAA,MACT,KAAO,EAAA,0BAAA;AAAA,MACP,OAAS,EAAA;AAAA;AACX,GACF;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,OAAS,EAAA,IAAA;AAAA,IACT,UAAY,EAAA;AAAA;AAEhB,CAAC,CAAA;AAYM,IAAM,UAAkC,CAAC;AAAA,EAC9C,QAAA;AAAA,EACA,EAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAM,KAAA;AACJ,EAAI,IAAA,CAAC,MAAM,OAAS,EAAA;AAClB,IAAK,EAAA,GAAA,OAAA;AAAA,GACP,MAAA,IAAW,CAAC,EAAI,EAAA;AACd,IAAK,EAAA,GAAA,IAAA;AAAA;AAEP,EAAA,MAAM,SAAY,GAAA,EAAA;AAElB,EACE,uBAAAC,cAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,GAAG,eAAgB,CAAA,EAAE,SAAS,UAAY,EAAA,SAAA,EAAW,CAAC,CAAA;AAAA,MAChE,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;ACrDA,IAAM,OAAU,GAAA;AAAA,EACd,WAAa,EAAA,mBAAA;AAAA,EACb,KAAO,EAAA,aAAA;AAAA,EACP,KAAO,EAAA,aAAA;AAAA,EACP,MAAQ,EAAA,cAAA;AAAA,EACR,MAAQ,EAAA;AACV,CAAA;AAEM,IAAA,cAAA,GAAiBD,2BAAI,iCAAmC,EAAA;AAAA,EAC5D,QAAU,EAAA;AAAA,IACR,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,mBAAA;AAAA,MACN,GAAK,EAAA;AAAA,KACP;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,KAAO,EAAA,EAAA;AAAA,MACP,OAAS,EAAA,mBAAA;AAAA,MACT,OAAS,EAAA,mBAAA;AAAA,MACT,UAAY,EAAA,mBAAA;AAAA,MACZ,aAAe,EAAA;AAAA,KACjB;AAAA,IACA,OAAS,EAAA;AAAA,GACX;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,KAAA;AAAA,IACN,IAAM,EAAA;AAAA;AAEV,CAAC;AAMD,SAAS,MAAO,CAAA;AAAA,EACd,QAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAmC,EAAA;AACjC,EAAM,MAAA,eAAA,GAAkB,CACtB,OACY,KAAA;AACZ,IAAI,IAAA,OAAA,CAAQ,IAAS,KAAA,MAAA,CAAO,IAAM,EAAA;AAChC,MAAO,OAAA,IAAA;AAAA,KAEP,MAAA,IAAA,OAAA,CAAQ,IAAS,KAAA,MAAA,CAAO,IACvB,KAAA,IAAA,KAAS,OACR,IAAA,IAAA,KAAS,OACT,IAAA,IAAA,KAAS,UACT,IAAA,IAAA,KAAS,aACX,CAAA,EAAA;AACA,MAAO,OAAA,IAAA;AAAA,KACT,MAAA,IACE,QAAQ,IAAS,KAAA,MAAA,CAAO,SACvB,IAAS,KAAA,UAAA,IAAc,SAAS,aACjC,CAAA,EAAA;AACA,MAAO,OAAA,IAAA;AAAA,eACE,OAAQ,CAAA,IAAA,KAAS,MAAO,CAAA,IAAA,IAAQ,SAAS,aAAe,EAAA;AACjE,MAAO,OAAA,IAAA;AAAA;AAGT,IAAQ,OAAA,CAAA,KAAA;AAAA,MACN,2CAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAQ,CAAA;AAAA,KACV;AACA,IAAO,OAAA,KAAA;AAAA,GACT;AAEA,EAAM,MAAA,YAAA,GAAe,CACnB,OACG,KAAA;AACH,IAAI,IAAA,CAAC,eAAgB,CAAA,OAAO,CAAG,EAAA;AAC7B,MAAA;AAAA;AAEF,IAAO,uBAAAC,cAAC,CAAA,KAAA,EAAA,EAAK,QAAQ,EAAA,OAAA,EAAA,CAAA;AAAA,GACvB;AAEA,EAAA,uBACEA,cAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,WAAW,EAAG,CAAA,OAAA,CAAQ,OAAW,IAAA,aAAa,GAAG,SAAS,CAAA;AAAA,MAE1D,QAAAA,kBAAAA,cAAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAW,EAAG,CAAA,cAAA,CAAe,EAAE,IAAA,EAAM,IAAK,EAAC,CAAC,CAAA,EAC9C,UAAMC,gBAAS,CAAA,QAAA,CAAA,GAAA;AAAA,QAAI,QAAA;AAAA,QAAU,CAAC,KACvB,KAAAA,gBAAA,CAAA,cAAA,CAAe,KAAK,CAAA,GAAI,aAAa,KAAK,CAAA,mBAAID,cAAAA,CAAAE,mBAAE,EAAA,EAAA;AAAA,OAE1D,EAAA;AAAA;AAAA,GACF;AAEJ;AAMA,SAAS,IAAA,CAAK,EAAE,QAAA,EAAqB,EAAA;AACnC,EAAO,OAAA,QAAA;AACT;AACA,SAAS,IAAA,CAAK,EAAE,QAAA,EAAqB,EAAA;AACnC,EAAO,OAAA,QAAA;AACT;AACA,SAAS,IAAA,CAAK,EAAE,QAAA,EAAqB,EAAA;AACnC,EAAO,OAAA,QAAA;AACT;AACA,SAAS,IAAA,CAAK,EAAE,QAAA,EAAqB,EAAA;AACnC,EAAO,OAAA,QAAA;AACT;AAEA,MAAA,CAAO,IAAO,GAAA,IAAA;AACd,MAAA,CAAO,IAAO,GAAA,IAAA;AACd,MAAA,CAAO,IAAO,GAAA,IAAA;AACd,MAAA,CAAO,IAAO,GAAA,IAAA;AClHd,IAAM,YAAA,GAAeH,2BAAI,EAAI,EAAA;AAAA,EAC3B,QAAU,EAAA;AAAA,IACR,IAAM,EAAA;AAAA,MACJ,EAAI,EAAA,YAAA;AAAA,MACJ,EAAI,EAAA,YAAA;AAAA,MACJ,IAAM,EAAA,cAAA;AAAA,MACN,EAAI,EAAA,YAAA;AAAA,MACJ,EAAI,EAAA;AAAA,KACN;AAAA,IACA,UAAY,EAAA;AAAA,MACV,OAAS,EAAA,oBAAA;AAAA,MACT,KAAO,EAAA,0BAAA;AAAA,MACP,OAAS,EAAA,iBAAA;AAAA,MACT,SAAW,EAAA,8BAAA;AAAA,MACX,WAAa,EAAA,qBAAA;AAAA,MACb,MAAQ,EAAA;AAAA,KACV;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,MAAQ,EAAA,gBAAA;AAAA,MACR,MAAQ,EAAA,gBAAA;AAAA,MACR,QAAU,EAAA,kBAAA;AAAA,MACV,IAAM,EAAA;AAAA;AACR,GACF;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,MAAA;AAAA,IACN,UAAY,EAAA,SAAA;AAAA,IACZ,MAAQ,EAAA;AAAA;AAEZ,CAAC,CAAA;AAQM,IAAM,OAA4B,CAAC;AAAA,EACxC,QAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAM,KAAA;AACJ,EAAA,uBACEC,cAAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,SAAW,EAAA,EAAA;AAAA,QACT,YAAa,CAAA;AAAA,UACX,IAAA;AAAA,UACA,UAAA;AAAA,UACA,MAAA;AAAA,UACA;AAAA,SACD;AAAA,OACH;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;AC1DA,SAAS,SAAU,CAAA;AAAA,EACjB,GAAG;AACL,CAAyD,EAAA;AACvD,EAAA,uBAAOA,cAAoB,CAAAG,6BAAA,CAAA,IAAA,EAAnB,EAAwB,WAAU,EAAA,WAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AACnE;ACNA,IAAM,aAAgBJ,GAAAA,0BAAAA;AAAA,EACpB,qdAAA;AAAA,EACA;AAAA,IACE,QAAU,EAAA;AAAA,MACR,OAAS,EAAA;AAAA,QACP,OACE,EAAA,4FAAA;AAAA,QACF,SACE,EAAA,kGAAA;AAAA,QACF,WACE,EAAA,gMAAA;AAAA,QACF,OACE,EAAA;AAAA;AACJ,KACF;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,OAAS,EAAA;AAAA;AACX;AAEJ;AAEA,SAAS,KAAM,CAAA;AAAA,EACb,SAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAU,GAAA,KAAA;AAAA,EACV,GAAG;AACL,CAC8D,EAAA;AAC5D,EAAM,MAAA,IAAA,GAAO,UAAUK,cAAO,GAAA,MAAA;AAE9B,EAAA,uBACEJ,cAAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,WAAU,EAAA,OAAA;AAAA,MACV,WAAW,EAAG,CAAA,aAAA,CAAc,EAAE,OAAQ,EAAC,GAAG,SAAS,CAAA;AAAA,MAClD,GAAG;AAAA;AAAA,GACN;AAEJ;ACrCA,IAAM,cAAiBD,GAAAA,0BAAAA;AAAA,EACrB,6fAAA;AAAA,EACA;AAAA,IACE,QAAU,EAAA;AAAA,MACR,OAAS,EAAA;AAAA,QACP,OACE,EAAA,8EAAA;AAAA,QACF,WACE,EAAA,kLAAA;AAAA,QACF,OACE,EAAA,+JAAA;AAAA,QACF,SACE,EAAA,oFAAA;AAAA,QACF,KACE,EAAA,+EAAA;AAAA,QACF,IAAM,EAAA;AAAA,OACR;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,OAAS,EAAA,2CAAA;AAAA,QACT,EAAI,EAAA,8DAAA;AAAA,QACJ,EAAI,EAAA,kDAAA;AAAA,QACJ,IAAM,EAAA;AAAA;AACR,KACF;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,OAAS,EAAA,SAAA;AAAA,MACT,IAAM,EAAA;AAAA;AACR;AAEJ,CAAA;AAEA,SAAS,MAAO,CAAA;AAAA,EACd,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAU,GAAA,KAAA;AAAA,EACV,GAAG;AACL,CAGK,EAAA;AACH,EAAM,MAAA,IAAA,GAAO,UAAUK,cAAO,GAAA,QAAA;AAE9B,EAAA,uBACEJ,cAAAA,CAAAE,mBAAA,EAAA,EACE,QAAAF,kBAAAA,cAAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,WAAU,EAAA,QAAA;AAAA,MACV,SAAA,EAAW,GAAG,cAAe,CAAA,EAAE,SAAS,IAAM,EAAA,SAAA,EAAW,CAAC,CAAA;AAAA,MACzD,GAAG;AAAA;AAAA,GAER,EAAA,CAAA;AAEJ;ACtDA,SAAS,MAAM,EAAE,SAAA,EAAW,IAAM,EAAA,GAAG,OAAwC,EAAA;AAC3E,EAAA,uBACEA,cAAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,WAAU,EAAA,OAAA;AAAA,MACV,SAAW,EAAA,EAAA;AAAA,QACT,whBAAA;AAAA,QACA,wFAAA;AAAA,QACA,iHAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;ACZA,SAAS,KAAM,CAAA,EAAE,SAAW,EAAA,GAAG,OAAwC,EAAA;AACrE,EAAA,uBACEA,cAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAU,EAAA,iBAAA;AAAA,MACV,SAAU,EAAA,0CAAA;AAAA,MAEV,QAAAA,kBAAAA,cAAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,WAAU,EAAA,OAAA;AAAA,UACV,SAAA,EAAW,EAAG,CAAA,wCAAA,EAA0C,SAAS,CAAA;AAAA,UAChE,GAAG;AAAA;AAAA;AACN;AAAA,GACF;AAEJ","file":"main.cjs","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"]}
1
+ {"version":3,"sources":["../src/utils.ts","../src/components/ui/accordion.tsx","../src/components/ui/badge.tsx","../src/components/ui/button.tsx","../src/components/ui/heading.tsx","../src/components/ui/input.tsx","../src/components/ui/layout.tsx","../src/components/ui/table.tsx","../src/components/ui/text.tsx"],"names":["extendTailwindMerge","twMerge","clsx","AccordionPrimitive","jsx","jsxs","ChevronDownIcon","cva","Slot","Fragment","React"],"mappings":"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","file":"main.cjs","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","\"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 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\";\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","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 content;\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 hideDiv?: boolean;\r\n};\r\n\r\nfunction Col({ children, hideDiv }: colProp) {\r\n return hideDiv ? <>{children}</> : <div>{children}</div>;\r\n}\r\n\r\nLayout.Col1 = Col;\r\nLayout.Col2 = Col;\r\nLayout.Col3 = Col;\r\nLayout.Col4 = Col;\r\n\r\nexport { Layout, layoutVariants };\r\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","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"]}
package/dist/main.css CHANGED
@@ -55,6 +55,7 @@
55
55
  --sg-font-weight-bold: 700;
56
56
  --sg-font-weight-extrabold: 800;
57
57
  --sg-tracking-tight: -0.025em;
58
+ --sg-animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
58
59
  --sg-default-transition-duration: 150ms;
59
60
  --sg-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
60
61
  --sg-color-black: var(--sg-color-black);
@@ -302,6 +303,12 @@
302
303
  .sg\:h-10 {
303
304
  height: calc(var(--sg-spacing) * 10);
304
305
  }
306
+ .sg\:h-\[100px\] {
307
+ height: 100px;
308
+ }
309
+ .sg\:w-\[100px\] {
310
+ width: 100px;
311
+ }
305
312
  .sg\:w-fit {
306
313
  width: fit-content;
307
314
  }
@@ -327,6 +334,9 @@
327
334
  --tw-translate-y: calc(var(--sg-spacing) * 0.5);
328
335
  translate: var(--tw-translate-x) var(--tw-translate-y);
329
336
  }
337
+ .sg\:animate-pulse {
338
+ animation: var(--sg-animate-pulse);
339
+ }
330
340
  .sg\:grid-cols-1 {
331
341
  grid-template-columns: repeat(1, minmax(0, 1fr));
332
342
  }
@@ -381,6 +391,9 @@
381
391
  .sg\:border-transparent {
382
392
  border-color: transparent;
383
393
  }
394
+ .sg\:bg-accent {
395
+ background-color: var(--accent);
396
+ }
384
397
  .sg\:bg-background {
385
398
  background-color: var(--sg-color-background);
386
399
  }
@@ -745,5 +758,10 @@
745
758
  @property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
746
759
  @property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
747
760
  @property --tw-duration { syntax: "*"; inherits: false; }
761
+ @keyframes pulse {
762
+ 50% {
763
+ opacity: 0.5;
764
+ }
765
+ }
748
766
  /*! tailwindcss v4.0.17 | MIT License | https://tailwindcss.com */
749
767
  /*# sourceMappingURL=main.css.map */