automoby-kit 1.0.43 → 1.0.44

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 CHANGED
@@ -1,100 +1,100 @@
1
- # Automoby Kit
2
-
3
- A comprehensive React UI component library - created in war 2025.
4
-
5
- ## 🚀 Installation
6
-
7
- ```bash
8
- npm install automoby-kit
9
- ```
10
-
11
- ## 📦 Usage
12
-
13
- ```typescript
14
- import {
15
- Button,
16
- Typography,
17
- Input,
18
- Tabs
19
- } from 'automoby-kit';
20
-
21
- function App() {
22
- return (
23
- <div>
24
- <Typography variant="h1">Welcome to Automoby Kit</Typography>
25
- <Button variant="primary" size="lg">
26
- Click me!
27
- </Button>
28
- <Input placeholder="Enter text..." />
29
- </div>
30
- );
31
- }
32
- ```
33
-
34
- ## 🧩 Available Components
35
-
36
- - **Typography** - Text rendering with various styles
37
- - **Button** - Interactive buttons with multiple variants
38
- - **Input** - Form input fields
39
- - **Tabs** - Tabbed interfaces
40
- - **Drawer** - Slide-out panels
41
- - **Backdrop** - Modal overlays
42
- - **Breadcrumb** - Navigation breadcrumbs
43
- - **Pagination** - Page navigation
44
- - **Accordion** - Collapsible content sections
45
- - **Divider** - Visual separators
46
- - **RadioGroup** - Radio button groups
47
- - **Chips** - Tag-like elements
48
- - **Menu** - Context menus and dropdowns
49
-
50
- ## 🏗️ TypeScript Support
51
-
52
- All components come with full TypeScript support:
53
-
54
- ```typescript
55
- import { ButtonProps, TypographyVariant } from 'automoby-kit';
56
-
57
- const MyButton: React.FC<ButtonProps> = (props) => {
58
- return <Button {...props} />;
59
- };
60
- ```
61
-
62
- ## 📱 Mobile Context
63
-
64
- The library includes a mobile detection context:
65
-
66
- ```typescript
67
- import { MobileProvider } from 'automoby-kit';
68
-
69
- function App() {
70
- return (
71
- <MobileProvider userAgent={navigator.userAgent}>
72
- <MyComponent />
73
- </MobileProvider>
74
- );
75
- }
76
- ```
77
-
78
- ## 🛠️ Development
79
-
80
- This package requires the following peer dependencies:
81
-
82
- ```json
83
- {
84
- "react": "^19.1.0",
85
- "react-dom": "^19.1.0",
86
- "clsx": "^2.1.1",
87
- "tailwindcss": "^4.1.10"
88
- }
89
- ```
90
-
91
- ## 🆘 Support
92
-
93
- If you have issues:
94
-
95
- 1. Check the [GitHub issues](https://github.com/yourusername/automoby-kit/issues) for known problems
96
- 2. Submit a new issue with detailed information about your problem
97
-
98
- ## 🔄 Version History
99
-
1
+ # Automoby Kit
2
+
3
+ A comprehensive React UI component library - created in war 2025.
4
+
5
+ ## 🚀 Installation
6
+
7
+ ```bash
8
+ npm install automoby-kit
9
+ ```
10
+
11
+ ## 📦 Usage
12
+
13
+ ```typescript
14
+ import {
15
+ Button,
16
+ Typography,
17
+ Input,
18
+ Tabs
19
+ } from 'automoby-kit';
20
+
21
+ function App() {
22
+ return (
23
+ <div>
24
+ <Typography variant="h1">Welcome to Automoby Kit</Typography>
25
+ <Button variant="primary" size="lg">
26
+ Click me!
27
+ </Button>
28
+ <Input placeholder="Enter text..." />
29
+ </div>
30
+ );
31
+ }
32
+ ```
33
+
34
+ ## 🧩 Available Components
35
+
36
+ - **Typography** - Text rendering with various styles
37
+ - **Button** - Interactive buttons with multiple variants
38
+ - **Input** - Form input fields
39
+ - **Tabs** - Tabbed interfaces
40
+ - **Drawer** - Slide-out panels
41
+ - **Backdrop** - Modal overlays
42
+ - **Breadcrumb** - Navigation breadcrumbs
43
+ - **Pagination** - Page navigation
44
+ - **Accordion** - Collapsible content sections
45
+ - **Divider** - Visual separators
46
+ - **RadioGroup** - Radio button groups
47
+ - **Chips** - Tag-like elements
48
+ - **Menu** - Context menus and dropdowns
49
+
50
+ ## 🏗️ TypeScript Support
51
+
52
+ All components come with full TypeScript support:
53
+
54
+ ```typescript
55
+ import { ButtonProps, TypographyVariant } from 'automoby-kit';
56
+
57
+ const MyButton: React.FC<ButtonProps> = (props) => {
58
+ return <Button {...props} />;
59
+ };
60
+ ```
61
+
62
+ ## 📱 Mobile Context
63
+
64
+ The library includes a mobile detection context:
65
+
66
+ ```typescript
67
+ import { MobileProvider } from 'automoby-kit';
68
+
69
+ function App() {
70
+ return (
71
+ <MobileProvider userAgent={navigator.userAgent}>
72
+ <MyComponent />
73
+ </MobileProvider>
74
+ );
75
+ }
76
+ ```
77
+
78
+ ## 🛠️ Development
79
+
80
+ This package requires the following peer dependencies:
81
+
82
+ ```json
83
+ {
84
+ "react": "^19.1.0",
85
+ "react-dom": "^19.1.0",
86
+ "clsx": "^2.1.1",
87
+ "tailwindcss": "^4.1.10"
88
+ }
89
+ ```
90
+
91
+ ## 🆘 Support
92
+
93
+ If you have issues:
94
+
95
+ 1. Check the [GitHub issues](https://github.com/yourusername/automoby-kit/issues) for known problems
96
+ 2. Submit a new issue with detailed information about your problem
97
+
98
+ ## 🔄 Version History
99
+
100
100
  - **1.0.0** - Initial release
@@ -1 +1 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),r=require("react"),a=require("./utils.js"),i=require("./contexts.js"),s=require("./Typography.js"),t=require("./chunks/createLucideIcon-BqJVOzoK.js");const n=t.createLucideIcon("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),d=t.createLucideIcon("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),o=r.forwardRef(({title:t,body:o,startIcon:l,isExpanded:c,onToggle:u,defaultExpanded:h=!1,className:m,id:x,disabled:p=!1,isMobile:f,...y},b)=>{const j=i.useMobile(),v=f??j,[g,N]=r.useState(h),k=void 0!==c?c:g,w=x||`accordion-${Math.random().toString(36).substr(2,9)}`,q=`${w}-header`,I=`${w}-content`,T=v?20:24,z=v?"body-s-heavy":"body-l-heavy",L=v?"body-s-medium":"body-m-medium";return e.jsxs("div",{ref:b,className:a("rounded-2xl border-0 overflow-hidden","transition-all duration-200 ease-in-out",m),...y,children:[e.jsxs("button",{id:q,type:"button",onClick:()=>{if(p)return;const e=!k;void 0===c&&N(e),u?.(e)},disabled:p,"aria-expanded":k,"aria-controls":I,className:a("w-full flex items-center justify-between",v?"p-3":"p-4","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2","disabled:opacity-50 disabled:cursor-not-allowed","transition-all duration-200 ease-in-out",!p&&"hover:bg-neutral-lighter"),children:[e.jsx("div",{className:"flex-shrink-0 mr-4",children:k?e.jsx(d,{size:T,className:"text-neutral-darker transition-transform duration-200","aria-hidden":"true"}):e.jsx(n,{size:T,className:"text-neutral-darker transition-transform duration-200","aria-hidden":"true"})}),e.jsxs("div",{className:a("flex items-center flex-1",v?"gap-3":"gap-4"),children:[e.jsx("div",{className:"flex-1 text-right",children:e.jsx(s.Typography,{variant:z,color:"neutral-darker",children:t})}),l&&e.jsx("div",{className:a("flex-shrink-0 flex items-center justify-center",v?"w-6 h-6":"w-8 h-8"),children:l})]})]}),e.jsx("div",{id:I,role:"region","aria-labelledby":q,className:a("w-full overflow-hidden transition-all duration-300 ease-in-out",k?"max-h-screen opacity-100":"max-h-0 opacity-0"),children:e.jsx("div",{className:a(v?"pb-3 mt-1":"pb-4 mt-1.5"),children:e.jsx("div",{className:a("bg-neutral-lighter rounded-lg",v?"p-3":"p-4"),children:e.jsx(s.Typography,{variant:L,color:"neutral-dark",children:o})})})})]})});o.displayName="Accordion",exports.Accordion=o;
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),r=require("react"),a=require("./utils.js"),i=require("./contexts.js"),t=require("./Typography.js"),s=require("./chunks/createLucideIcon-BqJVOzoK.js");const n=s.createLucideIcon("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),o=s.createLucideIcon("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),d=r.forwardRef(({title:s,body:d,startIcon:l,isExpanded:c,onToggle:u,defaultExpanded:h=!1,className:m,id:x,disabled:p=!1,isMobile:f,contentBackgroundColor:y,...b},j)=>{const v=i.useMobile(),g=f??v,[N,k]=r.useState(h),w=void 0!==c?c:N,q=x||`accordion-${Math.random().toString(36).substr(2,9)}`,I=`${q}-header`,T=`${q}-content`,z=g?20:24,L=g?"body-s-heavy":"body-l-heavy",M=g?"body-s-medium":"body-m-medium";return e.jsxs("div",{ref:j,className:a("rounded-2xl border-0 overflow-hidden","transition-all duration-200 ease-in-out",m),...b,children:[e.jsxs("button",{id:I,type:"button",onClick:()=>{if(p)return;const e=!w;void 0===c&&k(e),u?.(e)},disabled:p,"aria-expanded":w,"aria-controls":T,className:a("w-full flex items-center justify-between",g?"p-3":"p-4","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2","disabled:opacity-50 disabled:cursor-not-allowed","transition-all duration-200 ease-in-out",!p&&"hover:bg-neutral-lighter"),children:[e.jsx("div",{className:"flex-shrink-0 mr-4",children:w?e.jsx(o,{size:z,className:"text-neutral-darker transition-transform duration-200","aria-hidden":"true"}):e.jsx(n,{size:z,className:"text-neutral-darker transition-transform duration-200","aria-hidden":"true"})}),e.jsxs("div",{className:a("flex items-center flex-1",g?"gap-3":"gap-4"),children:[e.jsx("div",{className:"flex-1 text-right",children:e.jsx(t.Typography,{variant:L,color:"neutral-darker",children:s})}),l&&e.jsx("div",{className:a("flex-shrink-0 flex items-center justify-center",g?"w-6 h-6":"w-8 h-8"),children:l})]})]}),e.jsx("div",{id:T,role:"region","aria-labelledby":I,className:a("w-full overflow-hidden transition-all duration-300 ease-in-out",w?"max-h-screen opacity-100":"max-h-0 opacity-0"),children:e.jsx("div",{className:a(g?"pb-3 mt-1":"pb-4 mt-1.5"),children:e.jsx("div",{className:a(y||"bg-neutral-lighter","rounded-lg",g?"p-3":"p-4"),children:e.jsx(t.Typography,{variant:M,color:"neutral-dark",children:d})})})})]})});d.displayName="Accordion",exports.Accordion=d;
@@ -1 +1 @@
1
- "use client";import{jsxs as e,jsx as r}from"react/jsx-runtime";import i,{useState as a}from"react";import t from"./utils.js";import{useMobile as o}from"./contexts.js";import{Typography as n}from"./Typography.js";import{c as d}from"./chunks/createLucideIcon-DGp0SoUT.js";const l=d("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),s=d("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),c=i.forwardRef(({title:i,body:d,startIcon:c,isExpanded:m,onToggle:u,defaultExpanded:h=!1,className:f,id:p,disabled:b=!1,isMobile:y,...v},x)=>{const g=o(),N=y??g,[w,k]=a(h),j=void 0!==m?m:w,$=p||`accordion-${Math.random().toString(36).substr(2,9)}`,z=`${$}-header`,E=`${$}-content`,I=N?20:24,M=N?"body-s-heavy":"body-l-heavy",T=N?"body-s-medium":"body-m-medium";return e("div",{ref:x,className:t("rounded-2xl border-0 overflow-hidden","transition-all duration-200 ease-in-out",f),...v,children:[e("button",{id:z,type:"button",onClick:()=>{if(b)return;const e=!j;void 0===m&&k(e),u?.(e)},disabled:b,"aria-expanded":j,"aria-controls":E,className:t("w-full flex items-center justify-between",N?"p-3":"p-4","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2","disabled:opacity-50 disabled:cursor-not-allowed","transition-all duration-200 ease-in-out",!b&&"hover:bg-neutral-lighter"),children:[r("div",{className:"flex-shrink-0 mr-4",children:r(j?s:l,{size:I,className:"text-neutral-darker transition-transform duration-200","aria-hidden":"true"})}),e("div",{className:t("flex items-center flex-1",N?"gap-3":"gap-4"),children:[r("div",{className:"flex-1 text-right",children:r(n,{variant:M,color:"neutral-darker",children:i})}),c&&r("div",{className:t("flex-shrink-0 flex items-center justify-center",N?"w-6 h-6":"w-8 h-8"),children:c})]})]}),r("div",{id:E,role:"region","aria-labelledby":z,className:t("w-full overflow-hidden transition-all duration-300 ease-in-out",j?"max-h-screen opacity-100":"max-h-0 opacity-0"),children:r("div",{className:t(N?"pb-3 mt-1":"pb-4 mt-1.5"),children:r("div",{className:t("bg-neutral-lighter rounded-lg",N?"p-3":"p-4"),children:r(n,{variant:T,color:"neutral-dark",children:d})})})})]})});c.displayName="Accordion";export{c as Accordion};
1
+ "use client";import{jsxs as e,jsx as r}from"react/jsx-runtime";import i,{useState as a}from"react";import t from"./utils.js";import{useMobile as o}from"./contexts.js";import{Typography as n}from"./Typography.js";import{c as d}from"./chunks/createLucideIcon-DGp0SoUT.js";const l=d("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),s=d("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),c=i.forwardRef(({title:i,body:d,startIcon:c,isExpanded:m,onToggle:u,defaultExpanded:h=!1,className:f,id:p,disabled:b=!1,isMobile:y,contentBackgroundColor:v,...x},g)=>{const N=o(),k=y??N,[w,j]=a(h),$=void 0!==m?m:w,z=p||`accordion-${Math.random().toString(36).substr(2,9)}`,C=`${z}-header`,E=`${z}-content`,I=k?20:24,M=k?"body-s-heavy":"body-l-heavy",T=k?"body-s-medium":"body-m-medium";return e("div",{ref:g,className:t("rounded-2xl border-0 overflow-hidden","transition-all duration-200 ease-in-out",f),...x,children:[e("button",{id:C,type:"button",onClick:()=>{if(b)return;const e=!$;void 0===m&&j(e),u?.(e)},disabled:b,"aria-expanded":$,"aria-controls":E,className:t("w-full flex items-center justify-between",k?"p-3":"p-4","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2","disabled:opacity-50 disabled:cursor-not-allowed","transition-all duration-200 ease-in-out",!b&&"hover:bg-neutral-lighter"),children:[r("div",{className:"flex-shrink-0 mr-4",children:r($?s:l,{size:I,className:"text-neutral-darker transition-transform duration-200","aria-hidden":"true"})}),e("div",{className:t("flex items-center flex-1",k?"gap-3":"gap-4"),children:[r("div",{className:"flex-1 text-right",children:r(n,{variant:M,color:"neutral-darker",children:i})}),c&&r("div",{className:t("flex-shrink-0 flex items-center justify-center",k?"w-6 h-6":"w-8 h-8"),children:c})]})]}),r("div",{id:E,role:"region","aria-labelledby":C,className:t("w-full overflow-hidden transition-all duration-300 ease-in-out",$?"max-h-screen opacity-100":"max-h-0 opacity-0"),children:r("div",{className:t(k?"pb-3 mt-1":"pb-4 mt-1.5"),children:r("div",{className:t(v||"bg-neutral-lighter","rounded-lg",k?"p-3":"p-4"),children:r(n,{variant:T,color:"neutral-dark",children:d})})})})]})});c.displayName="Accordion";export{c as Accordion};
@@ -27,7 +27,7 @@ const ChevronDown = createLucideIcon("chevron-down", __iconNode$1);
27
27
  const __iconNode = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
28
28
  const ChevronUp = createLucideIcon("chevron-up", __iconNode);
29
29
 
30
- const Accordion = React.forwardRef(({ title, body, startIcon, isExpanded: controlledExpanded, onToggle, defaultExpanded = false, className, id, disabled = false, isMobile, ...props }, ref) => {
30
+ const Accordion = React.forwardRef(({ title, body, startIcon, isExpanded: controlledExpanded, onToggle, defaultExpanded = false, className, id, disabled = false, isMobile, contentBackgroundColor, ...props }, ref) => {
31
31
  const detectedIsMobile = useMobile();
32
32
  const actualIsMobile = isMobile ?? detectedIsMobile;
33
33
  const [internalExpanded, setInternalExpanded] = useState(defaultExpanded);
@@ -50,7 +50,7 @@ const Accordion = React.forwardRef(({ title, body, startIcon, isExpanded: contro
50
50
  // Typography variants based on device
51
51
  const titleVariant = actualIsMobile ? 'body-s-heavy' : 'body-l-heavy';
52
52
  const bodyVariant = actualIsMobile ? 'body-s-medium' : 'body-m-medium';
53
- return (jsxs("div", { ref: ref, className: cn('rounded-2xl border-0 overflow-hidden', 'transition-all duration-200 ease-in-out', className), ...props, children: [jsxs("button", { id: headerId, type: "button", onClick: handleToggle, disabled: disabled, "aria-expanded": isExpanded, "aria-controls": contentId, className: cn('w-full flex items-center justify-between', actualIsMobile ? 'p-3' : 'p-4', 'focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2', 'disabled:opacity-50 disabled:cursor-not-allowed', 'transition-all duration-200 ease-in-out', !disabled && 'hover:bg-neutral-lighter'), children: [jsx("div", { className: "flex-shrink-0 mr-4", children: isExpanded ? (jsx(ChevronUp, { size: iconSize, className: "text-neutral-darker transition-transform duration-200", "aria-hidden": "true" })) : (jsx(ChevronDown, { size: iconSize, className: "text-neutral-darker transition-transform duration-200", "aria-hidden": "true" })) }), jsxs("div", { className: cn('flex items-center flex-1', actualIsMobile ? 'gap-3' : 'gap-4'), children: [jsx("div", { className: "flex-1 text-right", children: jsx(Typography, { variant: titleVariant, color: "neutral-darker", children: title }) }), startIcon && (jsx("div", { className: cn('flex-shrink-0 flex items-center justify-center', actualIsMobile ? 'w-6 h-6' : 'w-8 h-8'), children: startIcon }))] })] }), jsx("div", { id: contentId, role: "region", "aria-labelledby": headerId, className: cn('w-full overflow-hidden transition-all duration-300 ease-in-out', isExpanded ? 'max-h-screen opacity-100' : 'max-h-0 opacity-0'), children: jsx("div", { className: cn(actualIsMobile ? 'pb-3 mt-1' : 'pb-4 mt-1.5'), children: jsx("div", { className: cn('bg-neutral-lighter rounded-lg', actualIsMobile ? 'p-3' : 'p-4'), children: jsx(Typography, { variant: bodyVariant, color: "neutral-dark", children: body }) }) }) })] }));
53
+ return (jsxs("div", { ref: ref, className: cn('rounded-2xl border-0 overflow-hidden', 'transition-all duration-200 ease-in-out', className), ...props, children: [jsxs("button", { id: headerId, type: "button", onClick: handleToggle, disabled: disabled, "aria-expanded": isExpanded, "aria-controls": contentId, className: cn('w-full flex items-center justify-between', actualIsMobile ? 'p-3' : 'p-4', 'focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2', 'disabled:opacity-50 disabled:cursor-not-allowed', 'transition-all duration-200 ease-in-out', !disabled && 'hover:bg-neutral-lighter'), children: [jsx("div", { className: "flex-shrink-0 mr-4", children: isExpanded ? (jsx(ChevronUp, { size: iconSize, className: "text-neutral-darker transition-transform duration-200", "aria-hidden": "true" })) : (jsx(ChevronDown, { size: iconSize, className: "text-neutral-darker transition-transform duration-200", "aria-hidden": "true" })) }), jsxs("div", { className: cn('flex items-center flex-1', actualIsMobile ? 'gap-3' : 'gap-4'), children: [jsx("div", { className: "flex-1 text-right", children: jsx(Typography, { variant: titleVariant, color: "neutral-darker", children: title }) }), startIcon && (jsx("div", { className: cn('flex-shrink-0 flex items-center justify-center', actualIsMobile ? 'w-6 h-6' : 'w-8 h-8'), children: startIcon }))] })] }), jsx("div", { id: contentId, role: "region", "aria-labelledby": headerId, className: cn('w-full overflow-hidden transition-all duration-300 ease-in-out', isExpanded ? 'max-h-screen opacity-100' : 'max-h-0 opacity-0'), children: jsx("div", { className: cn(actualIsMobile ? 'pb-3 mt-1' : 'pb-4 mt-1.5'), children: jsx("div", { className: cn(contentBackgroundColor || 'bg-neutral-lighter', 'rounded-lg', actualIsMobile ? 'p-3' : 'p-4'), children: jsx(Typography, { variant: bodyVariant, color: "neutral-dark", children: body }) }) }) })] }));
54
54
  });
55
55
  Accordion.displayName = 'Accordion';
56
56
 
@@ -20,6 +20,8 @@ export interface AccordionProps {
20
20
  disabled?: boolean;
21
21
  /** Whether the component is in mobile mode (optional, auto-detected if not provided) */
22
22
  isMobile?: boolean;
23
+ /** Background color for the content area (defaults to bg-neutral-lighter) */
24
+ contentBackgroundColor?: string;
23
25
  }
24
26
  declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
25
27
  export { Accordion };
package/package.json CHANGED
@@ -1,176 +1,176 @@
1
- {
2
- "name": "automoby-kit",
3
- "version": "1.0.43",
4
- "description": "A comprehensive React UI component library - created in war 2025",
5
- "main": "dist/cjs/index.js",
6
- "module": "dist/esm/index.js",
7
- "types": "dist/types/index.d.ts",
8
- "files": [
9
- "dist"
10
- ],
11
- "exports": {
12
- ".": {
13
- "import": "./dist/esm/index.js",
14
- "require": "./dist/cjs/index.js",
15
- "types": "./dist/types/index.d.ts"
16
- },
17
- "./Typography": {
18
- "import": "./dist/esm/Typography.js",
19
- "require": "./dist/cjs/Typography.js",
20
- "types": "./dist/types/components/Typography/Typography.d.ts"
21
- },
22
- "./Button": {
23
- "import": "./dist/esm/Button.js",
24
- "require": "./dist/cjs/Button.js",
25
- "types": "./dist/types/components/Button/Button.d.ts"
26
- },
27
- "./Input": {
28
- "import": "./dist/esm/Input.js",
29
- "require": "./dist/cjs/Input.js",
30
- "types": "./dist/types/components/Input/Input.d.ts"
31
- },
32
- "./Tabs": {
33
- "import": "./dist/esm/Tabs.js",
34
- "require": "./dist/cjs/Tabs.js",
35
- "types": "./dist/types/components/Tabs/Tabs.d.ts"
36
- },
37
- "./Drawer": {
38
- "import": "./dist/esm/Drawer.js",
39
- "require": "./dist/cjs/Drawer.js",
40
- "types": "./dist/types/components/Drawer/Drawer.d.ts"
41
- },
42
- "./Backdrop": {
43
- "import": "./dist/esm/Backdrop.js",
44
- "require": "./dist/cjs/Backdrop.js",
45
- "types": "./dist/types/components/Backdrop/Backdrop.d.ts"
46
- },
47
- "./Breadcrumb": {
48
- "import": "./dist/esm/Breadcrumb.js",
49
- "require": "./dist/cjs/Breadcrumb.js",
50
- "types": "./dist/types/components/Breadcrumb/Breadcrumb.d.ts"
51
- },
52
- "./Pagination": {
53
- "import": "./dist/esm/Pagination.js",
54
- "require": "./dist/cjs/Pagination.js",
55
- "types": "./dist/types/components/Pagination/Pagination.d.ts"
56
- },
57
- "./Accordion": {
58
- "import": "./dist/esm/Accordion.js",
59
- "require": "./dist/cjs/Accordion.js",
60
- "types": "./dist/types/components/Accordion/Accordion.d.ts"
61
- },
62
- "./Divider": {
63
- "import": "./dist/esm/Divider.js",
64
- "require": "./dist/cjs/Divider.js",
65
- "types": "./dist/types/components/Divider/Divider.d.ts"
66
- },
67
- "./RadioGroup": {
68
- "import": "./dist/esm/RadioGroup.js",
69
- "require": "./dist/cjs/RadioGroup.js",
70
- "types": "./dist/types/components/RadioGroup/RadioGroup.d.ts"
71
- },
72
- "./Chips": {
73
- "import": "./dist/esm/Chips.js",
74
- "require": "./dist/cjs/Chips.js",
75
- "types": "./dist/types/components/Chips/Chips.d.ts"
76
- },
77
- "./Menu": {
78
- "import": "./dist/esm/Menu.js",
79
- "require": "./dist/cjs/Menu.js",
80
- "types": "./dist/types/components/Menu/Menu.d.ts"
81
- },
82
- "./contexts": {
83
- "import": "./dist/esm/contexts.js",
84
- "require": "./dist/cjs/contexts.js",
85
- "types": "./dist/types/contexts/index.d.ts"
86
- },
87
- "./utils": {
88
- "import": "./dist/esm/utils.js",
89
- "require": "./dist/cjs/utils.js",
90
- "types": "./dist/types/utils/cn.d.ts"
91
- }
92
- },
93
- "keywords": [
94
- "react",
95
- "ui",
96
- "components",
97
- "typescript",
98
- "tailwind",
99
- "kit"
100
- ],
101
- "scripts": {
102
- "test": "echo \"Error: no test specified\" && exit 1",
103
- "lint": "eslint \"src/**/*.{js,ts,jsx,tsx}\" --fix",
104
- "format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
105
- "check-format": "prettier --check \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
106
- "check-lint": "eslint \"src/**/*.{js,ts,jsx,tsx}\"",
107
- "check-types": "tsc --noEmit",
108
- "prepare": "husky",
109
- "prepublishOnly": "npm run build",
110
- "storybook": "storybook dev -p 6006",
111
- "storybook:dev": "concurrently \"npm:build:storybook:css:watch\" \"cross-env STORYBOOK_FORCE_MOBILE=true storybook dev -p 6006 \"",
112
- "storybook:dev:mobile": "concurrently \"npm:build:storybook:css:watch\" \"cross-env STORYBOOK_FORCE_MOBILE=true storybook dev -p 6006 \"",
113
- "storybook:dev:desktop": "concurrently \"npm:build:storybook:css:watch\" \"cross-env STORYBOOK_FORCE_MOBILE=false storybook dev -p 6006 \"",
114
- "build-storybook": "storybook build",
115
- "build:storybook:css:watch": "npx @tailwindcss/cli -i ./.storybook/tailwind.css -o ./tailwind-build/tailwind.build.css --watch",
116
- "build:storybook:css": "npx @tailwindcss/cli -i ./.storybook/tailwind.css -o ./tailwind-build/tailwind.build.css",
117
- "clean": "rimraf dist",
118
- "build": "npm run clean && rollup -c"
119
- },
120
- "author": "Ghazal_kordi Alireza_mirzaee",
121
- "license": "ISC",
122
- "peerDependencies": {
123
- "clsx": "^2.1.1",
124
- "lucide-react": "^0.522.0",
125
- "react": "^19.1.0",
126
- "react-dom": "^19.1.0",
127
- "tailwindcss": "^4.1.10",
128
- "typescript": "^5.8.3",
129
- "ua-parser-js": "^2.0.4"
130
- },
131
- "devDependencies": {
132
- "@rollup/plugin-alias": "^5.1.1",
133
- "@rollup/plugin-commonjs": "^28.0.6",
134
- "@rollup/plugin-node-resolve": "^16.0.1",
135
- "@rollup/plugin-terser": "^0.4.4",
136
- "@rollup/plugin-typescript": "^12.1.3",
137
- "@storybook/addon-docs": "^9.0.6",
138
- "@storybook/addon-onboarding": "^9.0.6",
139
- "@storybook/react-vite": "^9.0.6",
140
- "@tailwindcss/cli": "^4.1.10",
141
- "@tailwindcss/postcss": "^4.1.10",
142
- "@types/node": "^24.0.3",
143
- "@types/react": "^19.1.4",
144
- "@types/react-dom": "^19.1.5",
145
- "@types/ua-parser-js": "^0.7.39",
146
- "@typescript-eslint/eslint-plugin": "^7.18.0",
147
- "@typescript-eslint/parser": "^7.18.0",
148
- "autoprefixer": "^10.4.21",
149
- "clsx": "^2.1.1",
150
- "concurrently": "^9.2.0",
151
- "cross-env": "^7.0.3",
152
- "eslint": "^8.57.0",
153
- "eslint-config-airbnb": "^19.0.4",
154
- "eslint-config-airbnb-typescript": "^18.0.0",
155
- "eslint-config-prettier": "^10.1.5",
156
- "eslint-import-resolver-typescript": "^4.4.3",
157
- "eslint-plugin-import": "^2.32.0",
158
- "eslint-plugin-jsx-a11y": "^6.10.2",
159
- "eslint-plugin-prettier": "^5.5.0",
160
- "eslint-plugin-react": "^7.37.5",
161
- "eslint-plugin-storybook": "^9.0.6",
162
- "husky": "^9.1.7",
163
- "lucide-react": "^0.522.0",
164
- "prettier": "^3.5.3",
165
- "react": "^19.1.0",
166
- "react-dom": "^19.1.0",
167
- "rimraf": "^6.0.1",
168
- "rollup": "^4.44.0",
169
- "serve": "^14.2.4",
170
- "storybook": "^9.0.6",
171
- "tailwind-merge": "^3.3.1",
172
- "tailwindcss": "^4.1.10",
173
- "typescript": "^5.8.3",
174
- "ua-parser-js": "^2.0.4"
175
- }
176
- }
1
+ {
2
+ "name": "automoby-kit",
3
+ "version": "1.0.44",
4
+ "description": "A comprehensive React UI component library - created in war 2025",
5
+ "main": "dist/cjs/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/types/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/esm/index.js",
14
+ "require": "./dist/cjs/index.js",
15
+ "types": "./dist/types/index.d.ts"
16
+ },
17
+ "./Typography": {
18
+ "import": "./dist/esm/Typography.js",
19
+ "require": "./dist/cjs/Typography.js",
20
+ "types": "./dist/types/components/Typography/Typography.d.ts"
21
+ },
22
+ "./Button": {
23
+ "import": "./dist/esm/Button.js",
24
+ "require": "./dist/cjs/Button.js",
25
+ "types": "./dist/types/components/Button/Button.d.ts"
26
+ },
27
+ "./Input": {
28
+ "import": "./dist/esm/Input.js",
29
+ "require": "./dist/cjs/Input.js",
30
+ "types": "./dist/types/components/Input/Input.d.ts"
31
+ },
32
+ "./Tabs": {
33
+ "import": "./dist/esm/Tabs.js",
34
+ "require": "./dist/cjs/Tabs.js",
35
+ "types": "./dist/types/components/Tabs/Tabs.d.ts"
36
+ },
37
+ "./Drawer": {
38
+ "import": "./dist/esm/Drawer.js",
39
+ "require": "./dist/cjs/Drawer.js",
40
+ "types": "./dist/types/components/Drawer/Drawer.d.ts"
41
+ },
42
+ "./Backdrop": {
43
+ "import": "./dist/esm/Backdrop.js",
44
+ "require": "./dist/cjs/Backdrop.js",
45
+ "types": "./dist/types/components/Backdrop/Backdrop.d.ts"
46
+ },
47
+ "./Breadcrumb": {
48
+ "import": "./dist/esm/Breadcrumb.js",
49
+ "require": "./dist/cjs/Breadcrumb.js",
50
+ "types": "./dist/types/components/Breadcrumb/Breadcrumb.d.ts"
51
+ },
52
+ "./Pagination": {
53
+ "import": "./dist/esm/Pagination.js",
54
+ "require": "./dist/cjs/Pagination.js",
55
+ "types": "./dist/types/components/Pagination/Pagination.d.ts"
56
+ },
57
+ "./Accordion": {
58
+ "import": "./dist/esm/Accordion.js",
59
+ "require": "./dist/cjs/Accordion.js",
60
+ "types": "./dist/types/components/Accordion/Accordion.d.ts"
61
+ },
62
+ "./Divider": {
63
+ "import": "./dist/esm/Divider.js",
64
+ "require": "./dist/cjs/Divider.js",
65
+ "types": "./dist/types/components/Divider/Divider.d.ts"
66
+ },
67
+ "./RadioGroup": {
68
+ "import": "./dist/esm/RadioGroup.js",
69
+ "require": "./dist/cjs/RadioGroup.js",
70
+ "types": "./dist/types/components/RadioGroup/RadioGroup.d.ts"
71
+ },
72
+ "./Chips": {
73
+ "import": "./dist/esm/Chips.js",
74
+ "require": "./dist/cjs/Chips.js",
75
+ "types": "./dist/types/components/Chips/Chips.d.ts"
76
+ },
77
+ "./Menu": {
78
+ "import": "./dist/esm/Menu.js",
79
+ "require": "./dist/cjs/Menu.js",
80
+ "types": "./dist/types/components/Menu/Menu.d.ts"
81
+ },
82
+ "./contexts": {
83
+ "import": "./dist/esm/contexts.js",
84
+ "require": "./dist/cjs/contexts.js",
85
+ "types": "./dist/types/contexts/index.d.ts"
86
+ },
87
+ "./utils": {
88
+ "import": "./dist/esm/utils.js",
89
+ "require": "./dist/cjs/utils.js",
90
+ "types": "./dist/types/utils/cn.d.ts"
91
+ }
92
+ },
93
+ "keywords": [
94
+ "react",
95
+ "ui",
96
+ "components",
97
+ "typescript",
98
+ "tailwind",
99
+ "kit"
100
+ ],
101
+ "scripts": {
102
+ "test": "echo \"Error: no test specified\" && exit 1",
103
+ "lint": "eslint \"src/**/*.{js,ts,jsx,tsx}\" --fix",
104
+ "format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
105
+ "check-format": "prettier --check \"src/**/*.{js,jsx,ts,tsx,json,css,md}\"",
106
+ "check-lint": "eslint \"src/**/*.{js,ts,jsx,tsx}\"",
107
+ "check-types": "tsc --noEmit",
108
+ "prepare": "husky",
109
+ "prepublishOnly": "npm run build",
110
+ "storybook": "storybook dev -p 6006",
111
+ "storybook:dev": "concurrently \"npm:build:storybook:css:watch\" \"cross-env STORYBOOK_FORCE_MOBILE=true storybook dev -p 6006 \"",
112
+ "storybook:dev:mobile": "concurrently \"npm:build:storybook:css:watch\" \"cross-env STORYBOOK_FORCE_MOBILE=true storybook dev -p 6006 \"",
113
+ "storybook:dev:desktop": "concurrently \"npm:build:storybook:css:watch\" \"cross-env STORYBOOK_FORCE_MOBILE=false storybook dev -p 6006 \"",
114
+ "build-storybook": "storybook build",
115
+ "build:storybook:css:watch": "npx @tailwindcss/cli -i ./.storybook/tailwind.css -o ./tailwind-build/tailwind.build.css --watch",
116
+ "build:storybook:css": "npx @tailwindcss/cli -i ./.storybook/tailwind.css -o ./tailwind-build/tailwind.build.css",
117
+ "clean": "rimraf dist",
118
+ "build": "npm run clean && rollup -c"
119
+ },
120
+ "author": "Ghazal_kordi Alireza_mirzaee",
121
+ "license": "ISC",
122
+ "peerDependencies": {
123
+ "clsx": "^2.1.1",
124
+ "lucide-react": "^0.522.0",
125
+ "react": "^19.1.0",
126
+ "react-dom": "^19.1.0",
127
+ "tailwindcss": "^4.1.10",
128
+ "typescript": "^5.8.3",
129
+ "ua-parser-js": "^2.0.4"
130
+ },
131
+ "devDependencies": {
132
+ "@rollup/plugin-alias": "^5.1.1",
133
+ "@rollup/plugin-commonjs": "^28.0.6",
134
+ "@rollup/plugin-node-resolve": "^16.0.1",
135
+ "@rollup/plugin-terser": "^0.4.4",
136
+ "@rollup/plugin-typescript": "^12.1.3",
137
+ "@storybook/addon-docs": "^9.0.6",
138
+ "@storybook/addon-onboarding": "^9.0.6",
139
+ "@storybook/react-vite": "^9.0.6",
140
+ "@tailwindcss/cli": "^4.1.10",
141
+ "@tailwindcss/postcss": "^4.1.10",
142
+ "@types/node": "^24.0.3",
143
+ "@types/react": "^19.1.4",
144
+ "@types/react-dom": "^19.1.5",
145
+ "@types/ua-parser-js": "^0.7.39",
146
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
147
+ "@typescript-eslint/parser": "^7.18.0",
148
+ "autoprefixer": "^10.4.21",
149
+ "clsx": "^2.1.1",
150
+ "concurrently": "^9.2.0",
151
+ "cross-env": "^7.0.3",
152
+ "eslint": "^8.57.0",
153
+ "eslint-config-airbnb": "^19.0.4",
154
+ "eslint-config-airbnb-typescript": "^18.0.0",
155
+ "eslint-config-prettier": "^10.1.5",
156
+ "eslint-import-resolver-typescript": "^4.4.3",
157
+ "eslint-plugin-import": "^2.32.0",
158
+ "eslint-plugin-jsx-a11y": "^6.10.2",
159
+ "eslint-plugin-prettier": "^5.5.0",
160
+ "eslint-plugin-react": "^7.37.5",
161
+ "eslint-plugin-storybook": "^9.0.6",
162
+ "husky": "^9.1.7",
163
+ "lucide-react": "^0.522.0",
164
+ "prettier": "^3.5.3",
165
+ "react": "^19.1.0",
166
+ "react-dom": "^19.1.0",
167
+ "rimraf": "^6.0.1",
168
+ "rollup": "^4.44.0",
169
+ "serve": "^14.2.4",
170
+ "storybook": "^9.0.6",
171
+ "tailwind-merge": "^3.3.1",
172
+ "tailwindcss": "^4.1.10",
173
+ "typescript": "^5.8.3",
174
+ "ua-parser-js": "^2.0.4"
175
+ }
176
+ }