Go to file
mertsincan d1d1e61392 Fixed #4924 - DataTable or Column leak computed properties to their children through VirtualScroller 2023-12-18 17:07:16 +00:00
.github Update github bug report description 2023-10-30 12:03:04 +03:00
.vscode Fixed #4530 - Export styles of all components 2023-10-02 11:46:09 +01:00
api-generator Api generator updates 2023-11-08 15:54:46 +03:00
assets Update news 2023-12-12 18:46:56 +03:00
components Fixed #4924 - DataTable or Column leak computed properties to their children through VirtualScroller 2023-12-18 17:07:16 +00:00
directives Move to directives folder 2023-10-15 17:04:58 +03:00
doc Fixed #4977 - Improve performance of row expansion feature on DataTable (#4978) 2023-12-18 14:16:35 +00:00
layouts Set new version 2023-12-13 12:48:43 +03:00
middleware landing scroll top fix 2022-12-28 12:32:27 +03:00
modules/nuxt-primevue fix: import nuxt composables from #imports 2023-11-07 21:38:13 +00:00
pages Merge branch 'prod' 2023-12-12 11:28:02 +03:00
plugins Showcase theme rename 2023-11-20 11:33:43 +03:00
public Fixed #4870 - Menu components: width changed as min-width 2023-11-23 10:25:58 +03:00
server/api FileUpload upload file Nuxt updates 2023-10-23 17:23:28 +03:00
service Update PhotoService.js 2023-11-21 20:38:46 +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 Fix #4558 - locale "selectedItemsLabel" is broken on MultiSelect 2023-10-11 01:48:17 +04: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-12-13 12:48:51 +03:00
LICENSE.md Merged new Docs and Demos 2023-02-28 11:29:30 +03:00
README.md Update README.md 2023-11-20 12:08:34 +03:00
app.vue Showcase theme rename 2023-11-20 11:33:43 +03:00
build-meta.js Fixed #4697 2023-10-26 11:48:07 +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-vite.config.js Fixed #4742 - New InputGroup Component 2023-11-02 15:48:32 +03:00
nuxt.config.js Showcase theme rename 2023-11-20 11:33:43 +03:00
package-lock.json Set new version 2023-12-13 12:48:43 +03:00
package.json New dev iteration 2023-12-13 13:14:32 +03:00
rollup.config.js Refactor #4648 2023-11-06 13:56:53 +03:00
tsconfig.json Fixed #4530 - Export styles of all components 2023-10-02 11:46:09 +01:00
vitest.config.js Renamed alias file 2023-10-24 15:12:26 +03: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.

# Using npm
npm install primevue

# Using yarn
yarn add primevue

# Using pnpm
pnpm 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-green/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 kebab-case is also fully supported. Events on the other hand should always be kebab-case.

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

<!-- can be written as -->

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

Nuxt Integration

The nuxt-primevue package is the official module by PrimeTek.

# Using npm
npm install --save-dev nuxt-primevue

# Using yarn
yarn add --dev nuxt-primevue

# Using pnpm
pnpm add -D nuxt-primevue

The module is enabled by adding nuxt-primevue to the modules option. Configuration values are defined with the primevue property.

export default defineNuxtConfig({
    modules: ['nuxt-primevue'],
    primevue: {
        /* Options */
    }
});

Whether to install the PrimeVue plugin, defaults to true. Disable this option if you prefer to configure PrimeVue manually e.g. with a Nuxt plugin.

primevue: {
    usePrimeVue: true;
}

The names of the components, directives and composables to import and register are provided using the include property. When the value is ignored or set using the * alias, all of the components, directives and composables are registered respectively.

primevue: {
    components: {
        include: ['Button', 'DataTable']
    },
    directives: {
        include: ['Ripple', 'Tooltip']
    },
    composables: {
        include: ['useStyle']
    }
}

In styled mode, the theme can be defined at Nuxt configuration with the css property. Note that this only applies to styled mode, in unstyled mode a theme file is not required as styling is done externally.

export default defineNuxtConfig({
    css: ['primevue/resources/themes/lara-dark-green/theme.css']
});

For detailed information

Example

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

Contributors