diff --git a/@codexteam/ui/.gitignore b/@codexteam/ui/.gitignore new file mode 100644 index 00000000..edd8c274 --- /dev/null +++ b/@codexteam/ui/.gitignore @@ -0,0 +1,23 @@ +# Dependencies +node_modules/ + +# Build output +dist/ + +# Logs +*.log + +# Test app (internal testing only) +test-app/ + +# Editor +.idea/ +.vscode/ +*.sw? + +# OS +.DS_Store + +# Environment +.env +.env.local diff --git a/@codexteam/ui/.npmignore b/@codexteam/ui/.npmignore index cac6efbf..483359e4 100644 --- a/@codexteam/ui/.npmignore +++ b/@codexteam/ui/.npmignore @@ -1,4 +1,5 @@ dev/ +test-app/ node_modules/ src/ *.log diff --git a/@codexteam/ui/README.md b/@codexteam/ui/README.md index 6f8f56ff..6509440f 100644 --- a/@codexteam/ui/README.md +++ b/@codexteam/ui/README.md @@ -4,50 +4,136 @@ The Design System forged in the fires of open-source development Demo: https://cdx-ui.vercel.app/ -- [ ] Make tree-shaking work +- [x] Make tree-shaking work - [ ] Test Web/React/Native implementations - [ ] Think about i18n -## Access Vue components +## Installation -```ts -import { Button, Input, Heading } from '@codexteam/ui/vue'; +```bash +npm install @codexteam/ui +# or +yarn add @codexteam/ui ``` +## Quick Start + +### 1. Import Base Styles (Required) + +```typescript +// main.ts +import '@codexteam/ui/styles'; +``` + +### 2. Import Themes (Tree-shakeable) + +Import only the themes you need - others will NOT be included in the bundle: + +```typescript +import '@codexteam/ui/styles/themes/pure'; +import '@codexteam/ui/styles/themes/grass'; +``` + +**Available themes:** `graphite`, `crimson`, `red`, `violet`, `grass`, `amber`, `pure`, `sky` + +### 3. Import Components (Tree-shakeable) + +```typescript +import { Button, Avatar, Heading } from '@codexteam/ui/vue'; +``` + +### 4. Apply Theme in Template + +```vue + +``` + +## Complete Example + +**main.ts:** +```typescript +import { createApp } from 'vue'; +import App from './App.vue'; + +// Base styles (required) +import '@codexteam/ui/styles'; + +// Themes (import only what you need) +import '@codexteam/ui/styles/themes/pure'; +import '@codexteam/ui/styles/themes/grass'; + +createApp(App).mount('#app'); +``` + +**App.vue:** ```vue - - CodeX UI showcase - -