Go to file
navedqb c6cd944735
Fix icon shrink when text length increases (#4551)
2023-10-05 14:34:21 +01:00
.github remove unit test from action 2023-05-24 12:48:44 +03:00
.vscode Fixed #4530 - Export styles of all components 2023-10-02 11:46:09 +01:00
api-generator Apidoc style improvements 2023-09-20 20:52:07 +03:00
assets Update _doc.scss 2023-09-25 14:40:42 +03:00
components Fix icon shrink when text length increases (#4551) 2023-10-05 14:34:21 +01:00
doc Added type definition for disabled prop (#4546) 2023-10-05 14:33:45 +01:00
layouts Refactor #882 2023-09-25 11:05:27 +01:00
middleware landing scroll top fix 2022-12-28 12:32:27 +03:00
pages Add tailwind and css module docs 2023-10-03 13:33:47 +03:00
plugins Revert "global pt doc" 2023-06-26 10:35:00 +03:00
public Remove focus visuals on mouse event 2023-10-04 14:52:59 +03:00
service Remove obselete service 2023-06-01 14:11:17 +03:00
.editorconfig Fixed #4530 - Export styles of all components 2023-10-02 11:46:09 +01:00
.eslintrc.js Refactor #3965, Improve build and Added *Base models 2023-07-03 23:20:35 +01:00
.gitignore chore: add lint cache 2023-09-18 10:33:52 +08:00
.prettierignore prettier warnings fixed 2022-12-20 15:32:32 +03:00
.prettierrc.json Lint changes 2022-09-14 17:26:41 +03:00
CHANGELOG.md Update CHANGELOG.md 2023-09-27 12:15:40 +03:00
LICENSE.md Merged new Docs and Demos 2023-02-28 11:29:30 +03:00
README.md Update image 2023-09-29 00:01:49 +03:00
app.vue Duplicate style issue 2023-09-25 12:09:54 +01:00
build-meta.js Fixed #4530 - Export styles of all components 2023-10-02 11:46:09 +01:00
error.vue Error page updated for vue warning 2023-03-21 20:34:11 +03:00
gulpfile.js Update build primevue.min.css process 2023-07-07 11:07:42 +03:00
nuxt.config.js Duplicate style issue 2023-09-25 12:09:54 +01:00
package-build.json Fixed #4530 - Export styles of all components 2023-10-02 11:46:09 +01:00
package-lock.json Update API doc 2023-10-02 13:16:31 +00:00
package.json Fixed #4530 - Export styles of all components 2023-10-02 11:46:09 +01:00
rollup.config.js Fixed #4530 - Export styles of all components 2023-10-02 11:46:09 +01:00
tsconfig.json Fixed #4530 - Export styles of all components 2023-10-02 11:46:09 +01:00
vite.config.js Typo fix 2023-10-03 19:43:41 +03:00
vitest.config.js Add global mocks for $primevue config on test 2023-04-28 14:58:46 +01:00

README.md

License: MIT npm version Discord Chat Prime Discussions

PrimeVue Hero

PrimeVue

PrimeVue is a rich set of open source UI Components for Vue. See PrimeVue homepage for live showcase and documentation.

Download

PrimeVue is available at npm.

// with npm
npm install primevue

// with yarn
yarn add primevue

Plugin

PrimeVue plugin is required to be installed with the use function to set up the default configuration.

import { createApp } from 'vue';
import PrimeVue from 'primevue/config';
const app = createApp(App);

app.use(PrimeVue);

Theming

PrimeVue has two theming has modes; styled or unstyled.

Styled Mode

Styled mode is based on pre-skinned components with opinionated themes like Material, Bootstrap or PrimeOne themes. Theme is the required css file to be imported, visit the Themes section for the complete list of available themes to choose from.

// theme
import 'primevue/resources/themes/lara-light-blue/theme.css';

Unstyled Mode

Unstyled mode is disabled by default for all components. Using the PrimeVue plugin during installation, set unstyled as true to enable it globally. Visit the Unstyled mode documentation for more information and examples.

import { createApp } from 'vue';
import PrimeVue from 'primevue/config';
const app = createApp(App);

app.use(PrimeVue, { unstyled: true });

Usage

Each component can be imported individually so that you only bundle what you use. Import path is available in the documentation of the corresponding component.

import Button from 'primevue/button';

const app = createApp(App);
app.component('Button', Button);

Prop Cases

Component prop names are described as camel case throughout the documentation however kebap-case is also fully supported. Events on the other hand should always be kebap-case.

<Dialog :showHeader="false"></Dialog>

<!-- can be written as -->

<Dialog :show-header="false"></Dialog>

Nuxt Integration

PrimeVue can easily be used with Nuxt 3 using a custom plugin.

nuxt.config.js

Open the nuxt configuration file and add the css dependencies.

export default defineNuxtConfig({
    css: ['primevue/resources/themes/lara-light-blue/theme.css'],
    build: {
        transpile: ['primevue']
    }
});

primevue.js

Create a file like primevue.js under the plugins directory for the configuration.

import { defineNuxtPlugin } from '#app';
import PrimeVue from 'primevue/config';
import Button from 'primevue/button';

export default defineNuxtPlugin((nuxtApp) => {
    nuxtApp.vueApp.use(PrimeVue, { ripple: true });
    nuxtApp.vueApp.component('Button', Button);
    //other components that you need
});

Example

We've created various samples for the popular options in the Vue ecosystem. Visit the primevue-examples repository for the samples.

Vite

vite

Nuxt

nuxt

Astro

astro

Contributors