@nembedemand/mindeportalen-v3
A robust, reusable Vue 3 component library with Tailwind CSS and Pinia support, designed for seamless integration with Nuxt 3 and other Vue applications.
3,144
| Install | |
|---|---|
npm install @nembedemand/mindeportalen-v3 |
|
| Latest Version: | 0.0.46 |
| Vue: | 3 |
| Last Updated: | Aug 12, 2026 |
| Links: | npm |
Maintainer: andreassoegaard
Mindeportalen Component Library
A robust, reusable Vue 3 component library with Tailwind CSS and Pinia support, designed for seamless integration with Nuxt 3 and other Vue applications.
🚀 Quick Start
npm install mindeportalen-components
Required peer dependencies:
npm install vue@^3.0.0 pinia@^2.0.0 sass
📖 Documentation
For comprehensive usage instructions, see LIBRARY_USAGE.md
✨ Features
- 🎨 Style Isolated: Tailwind CSS with custom
mp-prefix - 🏪 Pinia Integration: Optional stores with SSR-safe composables
- 🔧 TypeScript: Fully typed with comprehensive type safety
- 🌊 SSR Compatible: Works seamlessly with Nuxt 3
- 📦 Tree Shakeable: Import only what you need
- ♿ Accessible: Built-in accessibility features
🎯 Main Components
OverviewPage- Main component for Vue 3 appsOverviewPageNuxt- Nuxt-optimized version with SSR support
🏪 Pinia Stores
- Authentication, Frontend config, Cart, Charity orgs
- Google Maps, Page management, Greetings, and more
- All with SSR-safe access patterns
🔧 Quick Usage
Vue 3
import { OverviewPage, createMindeportalenStoresPlugin } from 'mindeportalen-components'
const pinia = createPinia()
pinia.use(createMindeportalenStoresPlugin())
app.use(pinia)
Nuxt 3
import { OverviewPageNuxt } from 'mindeportalen-components'
// + Nuxt plugin setup (see full docs)
// ⚠️ Always wrap in <ClientOnly> for SSR compatibility
🎨 Style Isolation
The library uses Tailwind CSS with a custom mp- prefix to prevent conflicts:
- ✅ No utility class conflicts: All classes prefixed with
mp- - ✅ Scoped styles: Component styles are isolated
- ✅ SSR Compatible: Works with Nuxt 3 and other SSR frameworks
- ✅ No global resets: Doesn't override your application styles
🔧 Architecture
The library exports only the main components and utilities needed:
- Components:
OverviewPage,OverviewPageNuxt - Stores: Auth, Frontend, Cart, Page management, etc.
- Composables:
useSafePinia,useGetData - Plugins: Pinia integration for both Vue and Nuxt
- Utilities: Type-safe helpers for common operations
🧪 Type Safety
All exports are fully typed with comprehensive TypeScript support:
import type { User, AuthState, FrontendConfig } from 'mindeportalen-components'
🌊 SSR Compatibility
Every component and composable is designed for SSR:
- Safe hydration patterns
- Fallback values during server rendering
- No browser-only APIs during SSR
- Nuxt 3 optimized components
Development
To set up the project for development:
git clone <repository-url>
cd mindeportalen-v3
pnpm install
Commands
pnpm dev- Start development server with demopnpm build- Build the library for productionpnpm build-demo- Build the demo for productionpnpm type-check- Run TypeScript type checkingpnpm lint- Lint and fix codepnpm format- Format code with Prettier
License
[Add your license here]
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.0.46 | ^3.5.13 | ||
| 0.0.45 | ^3.5.13 | ||
| 0.0.44 | ^3.5.13 | ||
| 0.0.43 | ^3.5.13 | ||
| 0.0.42 | ^3.5.13 | ||
| 0.0.41 | ^3.5.13 | ||
| 0.0.40 | ^3.5.13 | ||
| 0.0.39 | ^3.5.13 | ||
| 0.0.38 | ^3.5.13 | ||
| 0.0.37 | ^3.5.13 | ||
| 0.0.36 | ^3.5.13 | ||
| 0.0.35 | ^3.5.13 | ||
| 0.0.34 | ^3.5.13 | ||
| 0.0.33 | ^3.5.13 | ||
| 0.0.32 | ^3.5.13 | ||
| 0.0.31 | ^3.5.13 | ||
| 0.0.30 | ^3.5.13 | ||
| 0.0.29 | ^3.5.13 | ||
| 0.0.28 | ^3.5.13 | ||
| 0.0.27 | ^3.5.13 | ||
| 0.0.26 | ^3.5.13 | ||
| 0.0.25 | ^3.5.13 | ||
| 0.0.24 | ^3.5.13 | ||
| 0.0.23 | ^3.5.13 | ||
| 0.0.22 | ^3.5.13 | ||
| 0.0.21 | ^3.5.13 | ||
| 0.0.20 | ^3.5.13 | ||
| 0.0.19 | ^3.5.13 | ||
| 0.0.18 | ^3.5.13 | ||
| 0.0.17 | ^3.5.13 |
Showing the latest 30 of 46. See every release on npm