{"_id":"@duypham1710/cart-library","name":"@duypham1710/cart-library","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@duypham1710/cart-library","version":"1.0.0","description":"A React library for shopping cart functionality with reusable UI components","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"start":"vite","dev":"vite","build":"tsc -p tsconfig.build.json && rollup -c","build:tsc":"tsc","build:rollup":"rollup -c","lint":"eslint .","preview":"vite preview","prepublishOnly":"npm run build"},"keywords":["react","cart","shopping","ui","components","library"],"author":{"name":"Duy Pham","email":"duysm17102004@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/DuyPham1710/cart-library.git"},"homepage":"https://github.com/DuyPham1710/cart-library#readme","bugs":{"url":"https://github.com/DuyPham1710/cart-library/issues"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"dependencies":{"tslib":"^2.8.1"},"devDependencies":{"@eslint/js":"^9.33.0","@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-node-resolve":"^16.0.1","@rollup/plugin-typescript":"^12.1.4","@types/react":"^19.1.10","@types/react-dom":"^19.1.7","@vitejs/plugin-react":"^5.0.2","@vitejs/plugin-react-swc":"^4.0.0","eslint":"^9.33.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20","globals":"^16.3.0","react":"^19.1.1","react-dom":"^19.1.1","rollup":"^4.50.1","typescript":"~5.8.3","typescript-eslint":"^8.39.1","vite":"^7.1.5"},"_id":"@duypham1710/cart-library@1.0.0","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-PUu2bbGEqiBq3ucYlRAyqPF850Zr0IZhDZbk6uRj/0c3pGItZ4GwLiiG56X9m+e/7E0lDMhk4gzLMN5+p3ZEIQ==","shasum":"7b8722a5a05bd9b5789028db01e0e2761a81c3b8","tarball":"https://registry.npmjs.org/@duypham1710/cart-library/-/cart-library-1.0.0.tgz","fileCount":24,"unpackedSize":164182,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDdcIN17S+4IYZTcbJDgnoeU7Q7exvUL3+uG+Z2dmxRQgIgY1HOs0JibR7WUdKHdl7CuuuJrkK5FZQD5YCv5EoPmkU="}]},"_npmUser":{"name":"duypham1710","email":"duysm17102004@gmail.com"},"directories":{},"maintainers":[{"name":"duypham1710","email":"duysm17102004@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cart-library_1.0.0_1757661792576_0.03524752136501186"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-12T07:23:12.502Z","1.0.0":"2025-09-12T07:23:12.769Z","modified":"2025-09-12T07:23:12.992Z"},"maintainers":[{"name":"duypham1710","email":"duysm17102004@gmail.com"}],"description":"A React library for shopping cart functionality with reusable UI components","homepage":"https://github.com/DuyPham1710/cart-library#readme","keywords":["react","cart","shopping","ui","components","library"],"repository":{"type":"git","url":"git+https://github.com/DuyPham1710/cart-library.git"},"author":{"name":"Duy Pham","email":"duysm17102004@gmail.com"},"bugs":{"url":"https://github.com/DuyPham1710/cart-library/issues"},"license":"MIT","readme":"# Cart Library\n\nA React library for shopping cart functionality with reusable UI components.\n\n## Features\n\n- 🛒 Complete shopping cart functionality\n- 🎨 Beautiful and customizable UI components\n- 📱 Responsive design\n- 🔧 TypeScript support\n- 🎯 Easy to integrate\n\n## Components\n\n- **Cart**: Main shopping cart component\n- **CartItem**: Individual cart item component\n- **Button**: Customizable button component\n- **Input**: Form input component\n- **Modal**: Modal dialog component\n- **Card**: Card container component\n\n## Installation\n\n```bash\nnpm install @your-username/cart-library\n```\n\n## Usage\n\n### Basic Cart Usage\n\n```tsx\nimport React from 'react';\nimport { Cart } from '@your-username/cart-library';\n\nfunction App() {\n  const handleItemsChange = (items) => {\n    console.log('Cart items changed:', items);\n  };\n\n  return (\n    <div>\n      <Cart onItemsChange={handleItemsChange} />\n    </div>\n  );\n}\n\nexport default App;\n```\n\n### Individual Components\n\n```tsx\nimport React, { useState } from 'react';\nimport { Button, Input, Modal, Card, CartItem } from '@your-username/cart-library';\n\nfunction MyComponent() {\n  const [isModalOpen, setIsModalOpen] = useState(false);\n  const [inputValue, setInputValue] = useState('');\n\n  return (\n    <div>\n      <Button \n        variant=\"primary\" \n        size=\"large\" \n        onClick={() => setIsModalOpen(true)}\n      >\n        Open Modal\n      </Button>\n      \n      <Input\n        value={inputValue}\n        placeholder=\"Enter text...\"\n        onChange={(e) => setInputValue(e.target.value)}\n      />\n      \n      <Modal\n        isVisible={isModalOpen}\n        onClose={() => setIsModalOpen(false)}\n        title=\"My Modal\"\n        content={<p>Modal content here</p>}\n      />\n      \n      <Card\n        title=\"My Card\"\n        content={<p>Card content here</p>}\n        actions={<Button>Action</Button>}\n      />\n    </div>\n  );\n}\n```\n\n## API Reference\n\n### Cart Component\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `className` | `string` | `\"\"` | Additional CSS class |\n| `style` | `React.CSSProperties` | `{}` | Inline styles |\n| `onItemsChange` | `(items: CartItemType[]) => void` | `undefined` | Callback when items change |\n\n### CartItemType\n\n```tsx\ninterface CartItemType {\n  id: number;\n  name: string;\n  price: number;\n  quantity: number;\n}\n```\n\n### Button Component\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `children` | `React.ReactNode` | - | Button content |\n| `onClick` | `() => void` | `undefined` | Click handler |\n| `variant` | `\"primary\" \\| \"secondary\" \\| \"danger\"` | `\"primary\"` | Button style variant |\n| `size` | `\"small\" \\| \"medium\" \\| \"large\"` | `\"medium\"` | Button size |\n| `disabled` | `boolean` | `false` | Disabled state |\n| `className` | `string` | `\"\"` | Additional CSS class |\n\n### Input Component\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `value` | `string` | - | Input value |\n| `onChange` | `(event: React.ChangeEvent<HTMLInputElement>) => void` | - | Change handler |\n| `placeholder` | `string` | `undefined` | Placeholder text |\n| `type` | `\"text\" \\| \"email\" \\| \"password\" \\| \"number\"` | `\"text\"` | Input type |\n| `disabled` | `boolean` | `false` | Disabled state |\n| `className` | `string` | `\"\"` | Additional CSS class |\n| `style` | `React.CSSProperties` | `{}` | Inline styles |\n\n### Modal Component\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `isVisible` | `boolean` | - | Modal visibility |\n| `onClose` | `() => void` | - | Close handler |\n| `content` | `React.ReactNode` | - | Modal content |\n| `title` | `string` | `undefined` | Modal title |\n| `showCloseButton` | `boolean` | `true` | Show close button |\n| `className` | `string` | `\"\"` | Additional CSS class |\n\n### Card Component\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `title` | `string` | `undefined` | Card title |\n| `content` | `React.ReactNode` | - | Card content |\n| `actions` | `React.ReactNode` | `undefined` | Action buttons |\n| `className` | `string` | `\"\"` | Additional CSS class |\n| `style` | `React.CSSProperties` | `{}` | Inline styles |\n\n## Styling\n\nAll components support custom styling through:\n- `className` prop for CSS classes\n- `style` prop for inline styles\n- Built-in responsive design\n\n## TypeScript Support\n\nThis library is built with TypeScript and includes full type definitions.\n\n## License\n\nMIT\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.","readmeFilename":"README.md","_rev":"1-b4c6ffb4d4ded60cbc30832d43cfc8be"}