{"_id":"@derekshen/vinsty-ui-vue","_rev":"5-a1bcae181f929e22e955eadb07c4fcda","name":"@derekshen/vinsty-ui-vue","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@derekshen/vinsty-ui-vue","version":"0.1.0","keywords":["vue","ui","components","shadcn","tailwind","dashboard"],"author":{"name":"Vinsty Team"},"license":"MIT","_id":"@derekshen/vinsty-ui-vue@0.1.0","maintainers":[{"name":"derekshen","email":"smilewithnoword@gmail.com"}],"dist":{"shasum":"a1cd3b45aa9487d83bce9a60c95a6fdb752f3e69","tarball":"https://registry.npmjs.org/@derekshen/vinsty-ui-vue/-/vinsty-ui-vue-0.1.0.tgz","fileCount":19,"integrity":"sha512-LqrhprX7NDA5c65MqQe5k0Rvov2b9qADJ1n0udfCN3w9g0K4DChElFjC2KxIQ7k9No+Og1DUFnbdvxUqIraWWw==","signatures":[{"sig":"MEUCIQCzSP4Vz41+8PJFZYZC19Tqzqc3ohog1emuJ7zwGtbEMgIgTqWJW9GgqUaL1DxcYiEfDVsnGc0SYGh/dVw+BGNjXOw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":427952},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"2ed8ec1c77ff6361cb6e3161d9f992c76aacceb7","private":false,"scripts":{"dev":"vite","build":"vite build","preview":"vite preview","build:lib":"vite build --mode library","type-check":"vue-tsc --build","prepublishOnly":"npm run type-check && npm run build:lib"},"_npmUser":{"name":"derekshen","email":"smilewithnoword@gmail.com"},"_npmVersion":"11.6.2","description":"Vue 3 UI/UX template library based on shadcn-vue and Tailwind CSS","directories":{},"_nodeVersion":"25.2.1","dependencies":{"vue":"^3.5.13","clsx":"^2.1.1","pinia":"^3.0.1","reka-ui":"^2.2.0","chart.js":"^4.4.8","vue-i18n":"^11.1.2","splitpanes":"^4.0.3","vue-router":"^4.5.0","vue-sonner":"^1.3.0","vue-chartjs":"^5.3.2","tailwind-merge":"^3.0.2","tw-animate-css":"^1.3.8","lucide-vue-next":"^0.487.0","embla-carousel-vue":"^8.6.0","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.0","vue-tsc":"^2.2.0","typescript":"~5.7.0","@types/node":"^22.13.0","tailwindcss":"4.1.12","@vue/tsconfig":"^0.7.0","@tsconfig/node22":"^22.0.0","@tailwindcss/vite":"4.1.12","@vitejs/plugin-vue":"^5.2.3"},"_npmOperationalInternal":{"tmp":"tmp/vinsty-ui-vue_0.1.0_1775759358821_0.1542988079429235","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@derekshen/vinsty-ui-vue","version":"0.1.1","keywords":["vue","ui","components","shadcn","tailwind","dashboard"],"author":{"name":"Vinsty Team"},"license":"MIT","_id":"@derekshen/vinsty-ui-vue@0.1.1","maintainers":[{"name":"derekshen","email":"smilewithnoword@gmail.com"}],"dist":{"shasum":"1f71d39f19d583af307245abcb471b8e4baacd94","tarball":"https://registry.npmjs.org/@derekshen/vinsty-ui-vue/-/vinsty-ui-vue-0.1.1.tgz","fileCount":19,"integrity":"sha512-gzdhK2j2ShNj4+mUbetzTXa87n8OwqHUdy7eaaeWtaeq8rYsk3wq5+AQHOaKpphMF7+JpPv+JTp0yqkpDHY6sA==","signatures":[{"sig":"MEQCIFYdTwtQs/n1OYKxK4aCY4pQ1Kj2YTD71NeS3u0fJHA1AiBG+0XAkktfESogx9BaOQKRyAoXS2YdMyCvqnxdZBO+mQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438755},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","gitHead":"b2217cfcffb7c9f6fa659d8524fa05ba15474c03","private":false,"scripts":{"dev":"vite","build":"vite build","preview":"vite preview","build:lib":"vite build --mode library","type-check":"vue-tsc --build","prepublishOnly":"npm run type-check && npm run build:lib"},"_npmUser":{"name":"derekshen","email":"smilewithnoword@gmail.com"},"_npmVersion":"11.6.2","description":"Vue 3 UI/UX template library based on shadcn-vue and Tailwind CSS","directories":{},"_nodeVersion":"25.2.1","dependencies":{"vue":"^3.5.13","clsx":"^2.1.1","pinia":"^3.0.1","reka-ui":"^2.2.0","chart.js":"^4.4.8","vue-i18n":"^11.1.2","splitpanes":"^4.0.3","vue-router":"^4.5.0","vue-sonner":"^1.3.0","vue-chartjs":"^5.3.2","tailwind-merge":"^3.0.2","tw-animate-css":"^1.3.8","lucide-vue-next":"^0.487.0","embla-carousel-vue":"^8.6.0","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.0","vue-tsc":"^2.2.0","typescript":"~5.7.0","@types/node":"^22.13.0","tailwindcss":"4.1.12","@vue/tsconfig":"^0.7.0","@tsconfig/node22":"^22.0.0","@tailwindcss/vite":"4.1.12","@vitejs/plugin-vue":"^5.2.3"},"_npmOperationalInternal":{"tmp":"tmp/vinsty-ui-vue_0.1.1_1775762573438_0.7454023134833689","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@derekshen/vinsty-ui-vue","version":"0.1.2","keywords":["vue","ui","components","shadcn","tailwind","dashboard"],"author":{"name":"Vinsty Team"},"license":"MIT","_id":"@derekshen/vinsty-ui-vue@0.1.2","maintainers":[{"name":"derekshen","email":"smilewithnoword@gmail.com"}],"dist":{"shasum":"613fd1c588e9084722bbd3a6d09d7ee48952e317","tarball":"https://registry.npmjs.org/@derekshen/vinsty-ui-vue/-/vinsty-ui-vue-0.1.2.tgz","fileCount":20,"integrity":"sha512-ofSaXFTCowPtGbx0kW5taRLBzPZdPnEafGK0qPJKHN1VpcG67etrMNnxv5M1KO8BT3/zG/ml6K3q8F4t28RRDw==","signatures":[{"sig":"MEQCIArA/sHhmiKQv88ivsuQXrWzVRLazQeE/dt5la2Zn9lyAiAGYBHsQxkGfLsMIyAgd/CFHldsj4MDIN7GAeZ7z8GzlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451503},"main":"./dist/index.js","type":"module","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./dist/*":"./dist/*","./styles/*":"./src/styles/*"},"gitHead":"b2217cfcffb7c9f6fa659d8524fa05ba15474c03","private":false,"scripts":{"dev":"vite","build":"vite build","preview":"vite preview","build:lib":"vite build --mode library","type-check":"vue-tsc --build","prepublishOnly":"npm run type-check && npm run build:lib"},"_npmUser":{"name":"derekshen","email":"smilewithnoword@gmail.com"},"_npmVersion":"10.2.3","description":"Vue 3 UI/UX template library based on shadcn-vue and Tailwind CSS","directories":{},"_nodeVersion":"20.10.0","dependencies":{"vue":"^3.5.13","clsx":"^2.1.1","pinia":"^3.0.1","reka-ui":"^2.2.0","chart.js":"^4.4.8","vue-i18n":"^11.1.2","splitpanes":"^4.0.3","vue-router":"^4.5.0","vue-sonner":"^1.3.0","vue-chartjs":"^5.3.2","tailwind-merge":"^3.0.2","tw-animate-css":"^1.3.8","lucide-vue-next":"^0.487.0","embla-carousel-vue":"^8.6.0","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.0","vue-tsc":"^2.2.0","typescript":"~5.7.0","@types/node":"^22.13.0","tailwindcss":"4.1.12","@vue/tsconfig":"^0.7.0","@tsconfig/node22":"^22.0.0","@tailwindcss/vite":"4.1.12","@vitejs/plugin-vue":"^5.2.3"},"_npmOperationalInternal":{"tmp":"tmp/vinsty-ui-vue_0.1.2_1775807721708_0.47672682324799776","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@derekshen/vinsty-ui-vue","version":"0.1.3","keywords":["vue","ui","components","shadcn","tailwind","dashboard"],"author":{"name":"Vinsty Team"},"license":"MIT","_id":"@derekshen/vinsty-ui-vue@0.1.3","maintainers":[{"name":"derekshen","email":"smilewithnoword@gmail.com"}],"dist":{"shasum":"1fb2544b3ac975280f4ba12e338d241b95e541df","tarball":"https://registry.npmjs.org/@derekshen/vinsty-ui-vue/-/vinsty-ui-vue-0.1.3.tgz","fileCount":20,"integrity":"sha512-He26VVQ/BJDL/Lmd33/ZSbxk1oD/aqjChWekHlHTrzphLd9mUxE+SDU09+5c/lNNUxFQZlW/izsBBg5DFiX8CQ==","signatures":[{"sig":"MEUCIQD4BrUiJupFuW8FhnK72K5fpqUL8l4NFOZ4S6BZ0eufhgIgaxZu9pgZl2qTtVtz1OOEBUD/SWHd7aJ/oGhiMMidAp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451515},"main":"./dist/index.umd.js","type":"module","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./dist/*":"./dist/*","./styles/*":"./src/styles/*"},"gitHead":"b2217cfcffb7c9f6fa659d8524fa05ba15474c03","private":false,"scripts":{"dev":"vite","build":"vite build","preview":"vite preview","build:lib":"vite build --mode library","type-check":"vue-tsc --build","prepublishOnly":"npm run type-check && npm run build:lib"},"_npmUser":{"name":"derekshen","email":"smilewithnoword@gmail.com"},"_npmVersion":"10.2.3","description":"Vue 3 UI/UX template library based on shadcn-vue and Tailwind CSS","directories":{},"_nodeVersion":"20.10.0","dependencies":{"vue":"^3.5.13","clsx":"^2.1.1","pinia":"^3.0.1","reka-ui":"^2.2.0","chart.js":"^4.4.8","vue-i18n":"^11.1.2","splitpanes":"^4.0.3","vue-router":"^4.5.0","vue-sonner":"^1.3.0","vue-chartjs":"^5.3.2","tailwind-merge":"^3.0.2","tw-animate-css":"^1.3.8","lucide-vue-next":"^0.487.0","embla-carousel-vue":"^8.6.0","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.0","vue-tsc":"^2.2.0","typescript":"~5.7.0","@types/node":"^22.13.0","tailwindcss":"4.1.12","@vue/tsconfig":"^0.7.0","@tsconfig/node22":"^22.0.0","@tailwindcss/vite":"4.1.12","@vitejs/plugin-vue":"^5.2.3"},"_npmOperationalInternal":{"tmp":"tmp/vinsty-ui-vue_0.1.3_1775808400033_0.16198221030707716","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@derekshen/vinsty-ui-vue","version":"0.1.4","description":"Vue 3 UI/UX template library based on shadcn-vue and Tailwind CSS","private":false,"type":"module","main":"./dist/index.umd.js","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.js"},"./styles/*":"./src/styles/*","./dist/*":"./dist/*"},"keywords":["vue","ui","components","shadcn","tailwind","dashboard"],"author":{"name":"Vinsty Team"},"license":"MIT","scripts":{"dev":"vite","build":"vite build","build:lib":"vite build --mode library","preview":"vite preview","type-check":"vue-tsc --noEmit","type-check:build":"vue-tsc --build","lint":"eslint .","test":"vitest","audit":"npm audit","prepublishOnly":"npm run type-check && npm run build:lib"},"peerDependencies":{"pinia":"^3.0.1","vue":"^3.5.13","vue-router":"^4.5.0"},"dependencies":{"chart.js":"^4.4.8","class-variance-authority":"^0.7.1","clsx":"^2.1.1","embla-carousel-vue":"^8.6.0","lucide-vue-next":"^0.487.0","reka-ui":"^2.2.0","splitpanes":"^4.0.3","tailwind-merge":"^3.0.2","tw-animate-css":"^1.3.8","vue-chartjs":"^5.3.2","vue-i18n":"^11.1.2","vue-sonner":"^1.3.0"},"devDependencies":{"@tailwindcss/vite":"4.1.12","@tsconfig/node22":"^22.0.0","@types/node":"^22.13.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitejs/plugin-vue":"^5.2.3","@vue/tsconfig":"^0.7.0","eslint":"^9.0.0","eslint-plugin-vue":"^9.0.0","jsdom":"^24.0.0","tailwindcss":"4.1.12","terser":"^5.46.1","typescript":"~5.7.0","vite":"^6.3.0","vitest":"^2.0.0","vue-tsc":"^2.2.0"},"gitHead":"144ab4273e263bce288e177330258a334193454e","_id":"@derekshen/vinsty-ui-vue@0.1.4","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-SEA83ZIY7P6XBWtiOrpqPJtVWT+rnX05tek4ut3rS20LOLh0dzv2Q53vUa+yWyJw3utt6CKtdJZIwIqR8GO4GA==","shasum":"88687881f6fbc85c023b04b0ebf421fb7e748c79","tarball":"https://registry.npmjs.org/@derekshen/vinsty-ui-vue/-/vinsty-ui-vue-0.1.4.tgz","fileCount":37,"unpackedSize":1316446,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGfZKZwrQ1ATB26vK21Qj0KUEL9w+yrlDdp8syBYOoLLAiAP70C5qIPuh8T6ggN8nutqPtfyPL0H8z/QTFQqAX6Evw=="}]},"_npmUser":{"name":"derekshen","email":"smilewithnoword@gmail.com"},"directories":{},"maintainers":[{"name":"derekshen","email":"smilewithnoword@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vinsty-ui-vue_0.1.4_1775999158195_0.2570646744623655"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-09T18:29:18.740Z","modified":"2026-04-12T13:05:58.557Z","0.1.0":"2026-04-09T18:29:18.999Z","0.1.1":"2026-04-09T19:22:53.610Z","0.1.2":"2026-04-10T07:55:21.847Z","0.1.3":"2026-04-10T08:06:40.204Z","0.1.4":"2026-04-12T13:05:58.455Z"},"author":{"name":"Vinsty Team"},"license":"MIT","keywords":["vue","ui","components","shadcn","tailwind","dashboard"],"description":"Vue 3 UI/UX template library based on shadcn-vue and Tailwind CSS","maintainers":[{"name":"derekshen","email":"smilewithnoword@gmail.com"}],"readme":"# VinstyUI Vue\n\nVue 3 UI/UX template library based on shadcn-vue and Tailwind CSS.\n\n## Features\n\n- **Complete UI Component Library**: 48+ UI components following shadcn-vue patterns\n- **Chart Components**: 8+ chart components using vue-chartjs\n- **Layout Components**: AppLayout, ModernSidebar, ModernTopbar\n- **Page Components**: 14+ page components including Dashboard, Messages, Orders, etc.\n- **Shared Components**: KPICard, DateRangePicker, AccountFilter, etc.\n- **Color Themes**: Violet (default), Emerald Green, and Dodger Blue color palettes\n- **Dark/Light Mode**: Full light/dark theme support with CSS variables\n- **Border Radius Control**: Global corner roundness adjustment via `--vinst-radius-scale`\n- **Internationalization**: Support for multiple languages using vue-i18n\n- **State Management**: Pinia store for global state\n- **Routing**: Vue Router configuration\n- **Utilities**: Chart configuration, mock data generator, class merging utility\n\n## Installation\n\n```bash\nnpm install @derekshen/vinsty-ui-vue\n```\n\n## Dependencies\n\nVinstyUI Vue requires the following dependencies:\n\n- vue ^3.5.13\n- vue-router ^4.5.0\n- pinia ^3.0.1\n- reka-ui ^2.2.0\n- class-variance-authority ^0.7.1\n- clsx ^2.1.1\n- tailwind-merge ^3.0.2\n- lucide-vue-next ^0.487.0\n- vue-i18n ^11.1.2\n- vue-chartjs ^5.3.2\n- chart.js ^4.4.8\n- vue-sonner ^1.3.0\n- embla-carousel-vue ^8.6.0\n- splitpanes ^4.0.3\n- tw-animate-css ^1.3.8\n\n## Quick Start\n\n### 1. Import Styles\n\n```js\n// main.ts\nimport 'vinsty-ui-vue/dist/index.css'\nimport './styles/globals.css' // Your custom styles\n```\n\n### 2. Setup Pinia and Vue Router\n\n```js\n// main.ts\nimport { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport router from './router'\nimport { i18n } from 'vinsty-ui-vue'\n\nconst app = createApp(App)\napp.use(createPinia())\napp.use(router)\napp.use(i18n)\napp.mount('#app')\n```\n\n### 3. Use Components\n\n```vue\n<template>\n  <div>\n    <Button variant=\"default\" size=\"lg\">\n      Click Me\n    </Button>\n    \n    <Card>\n      <CardHeader>\n        <CardTitle>Welcome to VinstyUI</CardTitle>\n      </CardHeader>\n      <CardContent>\n        <p>This is a sample card component</p>\n      </CardContent>\n    </Card>\n    \n    <KPICard \n      title=\"Revenue\" \n      value=\"$12,345\" \n      delta={12.5} \n      deltaType=\"positive\"\n    />\n  </div>\n</template>\n\n<script setup>\nimport { Button, Card, CardHeader, CardTitle, CardContent, KPICard } from 'vinsty-ui-vue'\n</script>\n```\n\n## Theme Configuration\n\n### Color Themes\n\nVinstyUI provides three built-in color themes:\n\n| Theme | Primary Color | CSS Class |\n|-------|--------------|-----------|\n| Violet (default) | `#7C3AED` / `#8B5CF6` | *(none)* |\n| Emerald Green | `#10B981` / `#34D399` | `.theme-emerald` |\n| Dodger Blue | `#3B82F6` / `#60A5FA` | `.theme-blue` |\n\nSwitch color themes by adding the corresponding class to the `<html>` element:\n\n```js\n// Using the app store\nimport { useAppStore } from 'vinsty-ui-vue'\n\nconst appStore = useAppStore()\nappStore.setColorTheme('emerald') // 'violet' | 'emerald' | 'blue'\n```\n\nOr manually:\n\n```js\ndocument.documentElement.classList.remove('theme-emerald', 'theme-blue')\ndocument.documentElement.classList.add('theme-emerald')\n```\n\n### Dark/Light Mode\n\n```js\nconst appStore = useAppStore()\nappStore.setTheme('dark') // 'light' | 'dark'\n```\n\n### Custom CSS Variables\n\nOverride CSS variables in your global styles for further customization:\n\n```css\n:root {\n  --primary: #7C3AED;\n  --secondary: #A78BFA;\n  --accent: #22D3EE;\n  --background: #ffffff;\n  --foreground: #0B0B0B;\n}\n\n.dark {\n  --primary: #8B5CF6;\n  --secondary: #A78BFA;\n  --accent: #22D3EE;\n  --background: #0A0A0F;\n  --foreground: #E8E8F0;\n}\n```\n\n### Border Radius Scale\n\nControl the global corner roundness with `--vinst-radius-scale`:\n\n| Value | Effect |\n|-------|--------|\n| `0` | Sharp corners (no rounding) |\n| `1` | Default rounding |\n| `2` | Double rounding |\n\n```js\n// Using the app store\nconst appStore = useAppStore()\nappStore.setRadiusScale(0)   // Sharp\nappStore.setRadiusScale(1)   // Default\nappStore.setRadiusScale(2)   // Round\n```\n\nOr manually:\n\n```css\n:root {\n  --vinst-radius-scale: 1.5; /* Custom scale between 0 and 2 */\n}\n```\n\n```js\ndocument.documentElement.style.setProperty('--vinst-radius-scale', '1.5')\n```\n\n## Internationalization\n\nVinstyUI includes support for internationalization using vue-i18n. You can add or override translations:\n\n```js\nimport { i18n } from 'vinsty-ui-vue'\n\n// Add new translations\ni18n.global.mergeLocaleMessage('es', {\n  dashboard: {\n    title: 'Tablero',\n  }\n})\n\n// Change locale\ni18n.global.locale.value = 'es'\n```\n\n## Components\n\n### UI Components\n\n- Button\n- Card\n- Badge\n- Input\n- Label\n- Tabs\n- Dialog\n- DropdownMenu\n- Table\n- Avatar\n- Progress\n- Switch\n- Checkbox\n- RadioGroup\n- Select\n- Textarea\n- Slider\n- Tooltip\n- Popover\n- Skeleton\n- Separator\n- ScrollArea\n- Accordion\n- Alert\n- Pagination\n- Sheet\n- Drawer\n- Toggle\n- Breadcrumb\n- Chart\n- InputOTP\n- Sonner\n\n### Chart Components\n\n- RevenueChart\n- SalesChart\n- MarginChart\n- PurchasesChart\n- ReturnsChart\n- StockValueChart\n- RevenueSharePie\n\n### Layout Components\n\n- AppLayout\n- ModernSidebar\n- ModernTopbar\n\n### Page Components\n\n- DashboardPage\n- MessagesPage\n- OrdersPage\n- PurchasesPage\n- StockPage\n- WalletPage\n- SettingsPage\n- NotificationsPage\n- PublisherPage\n- PublishedPage\n- LauncherPage\n- TrackingProductsPage\n- TrackingPublicPage\n- TrackingVendorsPage\n\n### Shared Components\n\n- KPICard\n- DateRangePicker\n- AccountFilter\n- PageHeader\n- SectionHeader\n- StatusBadge\n- EmptyState\n- LoadingSkeleton\n- RefreshButton\n- InsightCard\n\n## Utilities\n\n### cn()\n\nUtility function for merging classes:\n\n```js\nimport { cn } from 'vinsty-ui-vue'\n\nconst classes = cn('p-4', 'bg-white', { 'dark:bg-gray-900': true })\n```\n\n### Chart Config\n\nChart.js configuration utilities with color theme support:\n\n```js\nimport { getChartColors, getChartTheme, formatCurrency, formatNumber } from 'vinsty-ui-vue'\n\nconst colors = getChartColors('emerald')\nconst theme = getChartTheme(true, 'emerald') // isDark, colorTheme\n```\n\n### Mock Data\n\nGenerate mock data for testing:\n\n```js\nimport { generateMockData } from 'vinsty-ui-vue'\n\nconst mockData = generateMockData()\nconsole.log(mockData.accounts)\nconsole.log(mockData.kpiData)\n```\n\n## License\n\nMIT License\n","readmeFilename":"README.md"}