@artivism/ui 0.1.0 → 0.1.2

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/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # @artivism/ui
2
+
3
+ React components for Artivism.
4
+
5
+ ## Installation
6
+
7
+ npm install @artivism/ui
8
+
9
+ ## Usage
10
+
11
+ import { Button } from "@artivism/ui";
@@ -0,0 +1,15 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import * as React from 'react';
4
+ import { VariantProps } from 'class-variance-authority';
5
+
6
+ declare const badgeVariants: (props?: ({
7
+ variant?: "default" | "secondary" | "destructive" | "outline" | "ghost" | "link" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
10
+ asChild?: boolean;
11
+ }): react_jsx_runtime.JSX.Element;
12
+
13
+ type BadgeProps = React.ComponentProps<typeof Badge>;
14
+
15
+ export { Badge, type BadgeProps, badgeVariants };
package/dist/badge.mjs ADDED
@@ -0,0 +1,9 @@
1
+ import {
2
+ Badge,
3
+ badgeVariants
4
+ } from "./chunk-LSGIYX2Z.mjs";
5
+ import "./chunk-SZOFVBTZ.mjs";
6
+ export {
7
+ Badge,
8
+ badgeVariants
9
+ };
package/dist/button.d.mts CHANGED
@@ -1,10 +1,16 @@
1
- import * as react from 'react';
2
- import { ButtonHTMLAttributes } from 'react';
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import * as React from 'react';
4
+ import { VariantProps } from 'class-variance-authority';
3
5
 
4
- interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
5
- variant?: "primary" | "secondary" | "ghost";
6
- size?: "sm" | "md" | "lg";
7
- }
8
- declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
6
+ declare const buttonVariants: (props?: ({
7
+ variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
8
+ size?: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
11
+ asChild?: boolean;
12
+ }): react_jsx_runtime.JSX.Element;
9
13
 
10
- export { Button, type ButtonProps };
14
+ type ButtonProps = React.ComponentProps<typeof Button>;
15
+
16
+ export { Button, type ButtonProps, buttonVariants };
package/dist/button.mjs CHANGED
@@ -1,31 +1,9 @@
1
- // src/button.tsx
2
- import { forwardRef } from "react";
3
- import { jsx } from "react/jsx-runtime";
4
- var Button = forwardRef(
5
- ({ variant = "primary", size = "md", className = "", children, ...props }, ref) => {
6
- const baseClasses = "inline-flex items-center justify-center font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed";
7
- const variantClasses = {
8
- primary: "bg-accent text-white hover:bg-accent-hover",
9
- secondary: "bg-surface-muted text-text hover:bg-border",
10
- ghost: "text-text hover:bg-surface-muted"
11
- };
12
- const sizeClasses = {
13
- sm: "px-3 py-1.5 text-sm rounded-sm",
14
- md: "px-4 py-2 text-base rounded-md",
15
- lg: "px-6 py-3 text-lg rounded-lg"
16
- };
17
- return /* @__PURE__ */ jsx(
18
- "button",
19
- {
20
- ref,
21
- className: `${baseClasses} ${variantClasses[variant]} ${sizeClasses[size]} ${className}`,
22
- ...props,
23
- children
24
- }
25
- );
26
- }
27
- );
28
- Button.displayName = "Button";
1
+ import {
2
+ Button,
3
+ buttonVariants
4
+ } from "./chunk-HUOOVZOV.mjs";
5
+ import "./chunk-SZOFVBTZ.mjs";
29
6
  export {
30
- Button
7
+ Button,
8
+ buttonVariants
31
9
  };
package/dist/card.d.mts CHANGED
@@ -1,9 +1,12 @@
1
- import * as react from 'react';
2
- import { HTMLAttributes } from 'react';
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
3
 
4
- interface CardProps extends HTMLAttributes<HTMLDivElement> {
5
- variant?: "default" | "bordered";
6
- }
7
- declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
4
+ declare function Card({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
5
+ declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
6
+ declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
7
+ declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
8
+ declare function CardAction({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
9
+ declare function CardContent({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
10
+ declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
8
11
 
9
- export { Card, type CardProps };
12
+ export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
package/dist/card.mjs CHANGED
@@ -1,25 +1,19 @@
1
- // src/card.tsx
2
- import { forwardRef } from "react";
3
- import { jsx } from "react/jsx-runtime";
4
- var Card = forwardRef(
5
- ({ variant = "default", className = "", children, ...props }, ref) => {
6
- const baseClasses = "rounded-lg p-6";
7
- const variantClasses = {
8
- default: "bg-surface shadow-sm",
9
- bordered: "bg-surface border border-border"
10
- };
11
- return /* @__PURE__ */ jsx(
12
- "div",
13
- {
14
- ref,
15
- className: `${baseClasses} ${variantClasses[variant]} ${className}`,
16
- ...props,
17
- children
18
- }
19
- );
20
- }
21
- );
22
- Card.displayName = "Card";
1
+ import {
2
+ Card,
3
+ CardAction,
4
+ CardContent,
5
+ CardDescription,
6
+ CardFooter,
7
+ CardHeader,
8
+ CardTitle
9
+ } from "./chunk-LNBDAIPM.mjs";
10
+ import "./chunk-SZOFVBTZ.mjs";
23
11
  export {
24
- Card
12
+ Card,
13
+ CardAction,
14
+ CardContent,
15
+ CardDescription,
16
+ CardFooter,
17
+ CardHeader,
18
+ CardTitle
25
19
  };
@@ -0,0 +1,26 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-SZOFVBTZ.mjs";
4
+
5
+ // src/input.tsx
6
+ import { jsx } from "react/jsx-runtime";
7
+ function Input({ className, type, ...props }) {
8
+ return /* @__PURE__ */ jsx(
9
+ "input",
10
+ {
11
+ type,
12
+ "data-slot": "input",
13
+ className: cn(
14
+ "file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
15
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
16
+ "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
17
+ className
18
+ ),
19
+ ...props
20
+ }
21
+ );
22
+ }
23
+
24
+ export {
25
+ Input
26
+ };
@@ -0,0 +1,61 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-SZOFVBTZ.mjs";
4
+
5
+ // src/button.tsx
6
+ import { Slot } from "@radix-ui/react-slot";
7
+ import { cva } from "class-variance-authority";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var buttonVariants = cva(
10
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
11
+ {
12
+ variants: {
13
+ variant: {
14
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
15
+ destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
16
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
17
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
18
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
19
+ link: "text-primary underline-offset-4 hover:underline"
20
+ },
21
+ size: {
22
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
23
+ xs: "h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",
24
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
25
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
26
+ icon: "size-9",
27
+ "icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3",
28
+ "icon-sm": "size-8",
29
+ "icon-lg": "size-10"
30
+ }
31
+ },
32
+ defaultVariants: {
33
+ variant: "default",
34
+ size: "default"
35
+ }
36
+ }
37
+ );
38
+ function Button({
39
+ className,
40
+ variant = "default",
41
+ size = "default",
42
+ asChild = false,
43
+ ...props
44
+ }) {
45
+ const Comp = asChild ? Slot : "button";
46
+ return /* @__PURE__ */ jsx(
47
+ Comp,
48
+ {
49
+ "data-slot": "button",
50
+ "data-variant": variant,
51
+ "data-size": size,
52
+ className: cn(buttonVariants({ variant, size, className })),
53
+ ...props
54
+ }
55
+ );
56
+ }
57
+
58
+ export {
59
+ buttonVariants,
60
+ Button
61
+ };
@@ -0,0 +1,95 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-SZOFVBTZ.mjs";
4
+
5
+ // src/card.tsx
6
+ import { jsx } from "react/jsx-runtime";
7
+ function Card({ className, ...props }) {
8
+ return /* @__PURE__ */ jsx(
9
+ "div",
10
+ {
11
+ "data-slot": "card",
12
+ className: cn(
13
+ "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
14
+ className
15
+ ),
16
+ ...props
17
+ }
18
+ );
19
+ }
20
+ function CardHeader({ className, ...props }) {
21
+ return /* @__PURE__ */ jsx(
22
+ "div",
23
+ {
24
+ "data-slot": "card-header",
25
+ className: cn(
26
+ "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
27
+ className
28
+ ),
29
+ ...props
30
+ }
31
+ );
32
+ }
33
+ function CardTitle({ className, ...props }) {
34
+ return /* @__PURE__ */ jsx(
35
+ "div",
36
+ {
37
+ "data-slot": "card-title",
38
+ className: cn("leading-none font-semibold", className),
39
+ ...props
40
+ }
41
+ );
42
+ }
43
+ function CardDescription({ className, ...props }) {
44
+ return /* @__PURE__ */ jsx(
45
+ "div",
46
+ {
47
+ "data-slot": "card-description",
48
+ className: cn("text-muted-foreground text-sm", className),
49
+ ...props
50
+ }
51
+ );
52
+ }
53
+ function CardAction({ className, ...props }) {
54
+ return /* @__PURE__ */ jsx(
55
+ "div",
56
+ {
57
+ "data-slot": "card-action",
58
+ className: cn(
59
+ "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
60
+ className
61
+ ),
62
+ ...props
63
+ }
64
+ );
65
+ }
66
+ function CardContent({ className, ...props }) {
67
+ return /* @__PURE__ */ jsx(
68
+ "div",
69
+ {
70
+ "data-slot": "card-content",
71
+ className: cn("px-6", className),
72
+ ...props
73
+ }
74
+ );
75
+ }
76
+ function CardFooter({ className, ...props }) {
77
+ return /* @__PURE__ */ jsx(
78
+ "div",
79
+ {
80
+ "data-slot": "card-footer",
81
+ className: cn("flex items-center px-6 [.border-t]:pt-6", className),
82
+ ...props
83
+ }
84
+ );
85
+ }
86
+
87
+ export {
88
+ Card,
89
+ CardHeader,
90
+ CardTitle,
91
+ CardDescription,
92
+ CardAction,
93
+ CardContent,
94
+ CardFooter
95
+ };
@@ -0,0 +1,48 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-SZOFVBTZ.mjs";
4
+
5
+ // src/badge.tsx
6
+ import { Slot } from "@radix-ui/react-slot";
7
+ import { cva } from "class-variance-authority";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var badgeVariants = cva(
10
+ "inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
11
+ {
12
+ variants: {
13
+ variant: {
14
+ default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
15
+ secondary: "bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
16
+ destructive: "bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
17
+ outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
18
+ ghost: "[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
19
+ link: "text-primary underline-offset-4 [a&]:hover:underline"
20
+ }
21
+ },
22
+ defaultVariants: {
23
+ variant: "default"
24
+ }
25
+ }
26
+ );
27
+ function Badge({
28
+ className,
29
+ variant = "default",
30
+ asChild = false,
31
+ ...props
32
+ }) {
33
+ const Comp = asChild ? Slot : "span";
34
+ return /* @__PURE__ */ jsx(
35
+ Comp,
36
+ {
37
+ "data-slot": "badge",
38
+ "data-variant": variant,
39
+ className: cn(badgeVariants({ variant }), className),
40
+ ...props
41
+ }
42
+ );
43
+ }
44
+
45
+ export {
46
+ badgeVariants,
47
+ Badge
48
+ };
@@ -0,0 +1,10 @@
1
+ // src/lib/utils.ts
2
+ import { clsx } from "clsx";
3
+ import { twMerge } from "tailwind-merge";
4
+ function cn(...inputs) {
5
+ return twMerge(clsx(inputs));
6
+ }
7
+
8
+ export {
9
+ cn
10
+ };
package/dist/index.d.mts CHANGED
@@ -1,3 +1,13 @@
1
- export { Button, ButtonProps } from './button.mjs';
2
- export { Card, CardProps } from './card.mjs';
1
+ export { Button, ButtonProps, buttonVariants } from './button.mjs';
2
+ export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './card.mjs';
3
+ export { Input } from './input.mjs';
4
+ export { Badge, BadgeProps, badgeVariants } from './badge.mjs';
5
+ import { ClassValue } from 'clsx';
6
+ import 'react/jsx-runtime';
7
+ import 'class-variance-authority/types';
3
8
  import 'react';
9
+ import 'class-variance-authority';
10
+
11
+ declare function cn(...inputs: ClassValue[]): string;
12
+
13
+ export { cn };
package/dist/index.mjs CHANGED
@@ -1,55 +1,36 @@
1
- // src/button.tsx
2
- import { forwardRef } from "react";
3
- import { jsx } from "react/jsx-runtime";
4
- var Button = forwardRef(
5
- ({ variant = "primary", size = "md", className = "", children, ...props }, ref) => {
6
- const baseClasses = "inline-flex items-center justify-center font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed";
7
- const variantClasses = {
8
- primary: "bg-accent text-white hover:bg-accent-hover",
9
- secondary: "bg-surface-muted text-text hover:bg-border",
10
- ghost: "text-text hover:bg-surface-muted"
11
- };
12
- const sizeClasses = {
13
- sm: "px-3 py-1.5 text-sm rounded-sm",
14
- md: "px-4 py-2 text-base rounded-md",
15
- lg: "px-6 py-3 text-lg rounded-lg"
16
- };
17
- return /* @__PURE__ */ jsx(
18
- "button",
19
- {
20
- ref,
21
- className: `${baseClasses} ${variantClasses[variant]} ${sizeClasses[size]} ${className}`,
22
- ...props,
23
- children
24
- }
25
- );
26
- }
27
- );
28
- Button.displayName = "Button";
29
-
30
- // src/card.tsx
31
- import { forwardRef as forwardRef2 } from "react";
32
- import { jsx as jsx2 } from "react/jsx-runtime";
33
- var Card = forwardRef2(
34
- ({ variant = "default", className = "", children, ...props }, ref) => {
35
- const baseClasses = "rounded-lg p-6";
36
- const variantClasses = {
37
- default: "bg-surface shadow-sm",
38
- bordered: "bg-surface border border-border"
39
- };
40
- return /* @__PURE__ */ jsx2(
41
- "div",
42
- {
43
- ref,
44
- className: `${baseClasses} ${variantClasses[variant]} ${className}`,
45
- ...props,
46
- children
47
- }
48
- );
49
- }
50
- );
51
- Card.displayName = "Card";
1
+ import {
2
+ Badge,
3
+ badgeVariants
4
+ } from "./chunk-LSGIYX2Z.mjs";
5
+ import {
6
+ Button,
7
+ buttonVariants
8
+ } from "./chunk-HUOOVZOV.mjs";
9
+ import {
10
+ Card,
11
+ CardContent,
12
+ CardDescription,
13
+ CardFooter,
14
+ CardHeader,
15
+ CardTitle
16
+ } from "./chunk-LNBDAIPM.mjs";
17
+ import {
18
+ Input
19
+ } from "./chunk-GRHBB7TD.mjs";
20
+ import {
21
+ cn
22
+ } from "./chunk-SZOFVBTZ.mjs";
52
23
  export {
24
+ Badge,
53
25
  Button,
54
- Card
26
+ Card,
27
+ CardContent,
28
+ CardDescription,
29
+ CardFooter,
30
+ CardHeader,
31
+ CardTitle,
32
+ Input,
33
+ badgeVariants,
34
+ buttonVariants,
35
+ cn
55
36
  };
@@ -0,0 +1,6 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ declare function Input({ className, type, ...props }: React.ComponentProps<"input">): react_jsx_runtime.JSX.Element;
5
+
6
+ export { Input };
package/dist/input.mjs ADDED
@@ -0,0 +1,7 @@
1
+ import {
2
+ Input
3
+ } from "./chunk-GRHBB7TD.mjs";
4
+ import "./chunk-SZOFVBTZ.mjs";
5
+ export {
6
+ Input
7
+ };
package/package.json CHANGED
@@ -1,44 +1,50 @@
1
1
  {
2
2
  "name": "@artivism/ui",
3
- "version": "0.1.0",
4
- "description": "React UI components for Artivism Design System",
3
+ "version": "0.1.2",
5
4
  "main": "./dist/index.mjs",
6
5
  "types": "./dist/index.d.mts",
7
6
  "exports": {
8
- ".": "./dist/index.mjs",
9
- "./button": "./dist/button.mjs",
10
- "./card": "./dist/card.mjs"
7
+ ".": {
8
+ "types": "./dist/index.d.mts",
9
+ "import": "./dist/index.mjs"
10
+ },
11
+ "./button": {
12
+ "types": "./dist/button.d.mts",
13
+ "import": "./dist/button.mjs"
14
+ },
15
+ "./card": {
16
+ "types": "./dist/card.d.mts",
17
+ "import": "./dist/card.mjs"
18
+ },
19
+ "./input": {
20
+ "types": "./dist/input.d.mts",
21
+ "import": "./dist/input.mjs"
22
+ },
23
+ "./badge": {
24
+ "types": "./dist/badge.d.mts",
25
+ "import": "./dist/badge.mjs"
26
+ }
11
27
  },
12
28
  "files": [
13
29
  "dist"
14
30
  ],
15
- "peerDependencies": {
16
- "react": "^18.0.0"
17
- },
18
31
  "scripts": {
19
- "build": "tsup",
20
- "dev": "tsup --watch",
21
- "typecheck": "tsc --noEmit"
32
+ "build": "tsup"
22
33
  },
23
- "devDependencies": {
24
- "@types/react": "^18.2.48",
25
- "react": "^18.2.0",
26
- "tsup": "^8.0.1",
27
- "typescript": "^5.3.3"
34
+ "dependencies": {
35
+ "@radix-ui/react-slot": "^1.1.1",
36
+ "class-variance-authority": "^0.7.1",
37
+ "clsx": "^2.1.1",
38
+ "tailwind-merge": "^2.6.0"
28
39
  },
29
- "keywords": [
30
- "design-system",
31
- "react",
32
- "components",
33
- "ui",
34
- "artivism"
35
- ],
36
- "author": "artivism",
37
- "license": "MIT",
38
- "repository": {
39
- "type": "git",
40
- "url": "https://github.com/artivism/design-system.git",
41
- "directory": "packages/ui"
40
+ "peerDependencies": {
41
+ "react": "^18.0.0 || ^19.0.0",
42
+ "react-dom": "^18.0.0 || ^19.0.0"
42
43
  },
43
- "homepage": "https://design.artivism.it"
44
+ "devDependencies": {
45
+ "@types/react": "^18.3.18",
46
+ "react": "^18.3.1",
47
+ "tsup": "^8.3.5",
48
+ "typescript": "^5.7.2"
49
+ }
44
50
  }