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.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 React2 from 'react';
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
- // lib/components/ui/heading/heading.tsx
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: React2.Children.map(
122
+ children: /* @__PURE__ */ jsx("div", { className: cn(layoutVariants({ type, cols })), children: React.Children.map(
233
123
  children,
234
- (child) => React2.isValidElement(child) ? renderColumn(child) : /* @__PURE__ */ jsx(Fragment, {})
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.61",
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-slot": "^1.1.1",
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.474.0",
26
- "react": "^19.0.0",
27
- "react-dom": "^19.0.0",
28
- "tailwind-merge": "^3.0.1",
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.3",
33
- "@storybook/addon-essentials": "^8.4.7",
34
- "@storybook/addon-interactions": "^8.4.7",
35
- "@storybook/addon-links": "^8.4.7",
36
- "@storybook/blocks": "^8.4.7",
37
- "@storybook/react": "^8.4.7",
38
- "@storybook/react-vite": "^8.4.7",
39
- "@storybook/test": "^8.4.7",
40
- "@tailwindcss/postcss": "^4.0.0",
41
- "@types/react": "^19.0.8",
42
- "@types/react-dom": "^19.0.3",
43
- "@typescript-eslint/eslint-plugin": "^8.22.0",
44
- "@typescript-eslint/parser": "^8.22.0",
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.19.0",
47
- "eslint-plugin-react-hooks": "^5.1.0",
48
- "eslint-plugin-react-refresh": "^0.4.18",
49
- "eslint-plugin-storybook": "^0.11.2",
50
- "postcss": "^8.5.1",
51
- "storybook": "^8.4.7",
52
- "tailwindcss": "^4.0.2",
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
  }