Go to file
Cagatay Civici 05996f459f Update readme 2024-04-02 13:37:05 +03:00
.github Update bug_report.yml 2024-01-31 12:59:40 +03:00
.vscode Fixed #4530 - Export styles of all components 2023-10-02 11:46:09 +01:00
api-generator Refactor on apidoc 2024-04-02 09:44:19 +01:00
assets Use correct variable 2024-04-02 13:29:01 +03:00
components Update BaseComponent.vue 2024-04-02 11:23:32 +01:00
directives Move to directives folder 2023-10-15 17:04:58 +03:00
doc Merge branch 'v4' of https://github.com/primefaces/primevue into v4 2024-04-02 12:21:12 +03:00
layouts Theming API: Rename `updatePrimary` and `updateSurface` with `updatePrimaryPalette` and `updateSurfacePalette` 2024-04-01 11:12:58 +01:00
middleware landing scroll top fix 2022-12-28 12:32:27 +03:00
modules/nuxt-primevue Refactor #5502 2024-04-01 14:58:07 +01:00
pages OrderList PickList demo updates 2024-04-02 11:38:38 +03:00
plugins Theming API: Improve performance 2024-03-31 05:44:48 +01:00
public Merge branch 'master' into v4 2024-04-01 01:39:50 +03:00
server/api FileUpload upload file Nuxt updates 2023-10-23 17:23:28 +03:00
service Deferred context added 2024-02-21 10:31:43 +03:00
themes Refactor 2024-04-02 09:37:02 +01: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 2024-03-15 12:06:52 +03:00
LICENSE.md Update year 2024-02-23 16:41:53 +03:00
README.md Update readme 2024-04-02 13:37:05 +03:00
app.vue Refactored dark mode toggle event bus and fixed charts on dark toggle, set default as noir 2024-03-28 18:27:36 +03:00
build-meta.js Theming API: Change package build 2024-03-27 13:13:15 +00:00
error.vue Cosmetic 2024-04-02 08:55:18 +01:00
nuxt-vite.config.js Update rollup 2024-04-01 10:49:35 +01:00
nuxt.config.js Refactor 2024-04-02 09:37:02 +01:00
package-lock.json Merge branch 'master' into v4 2024-04-01 01:39:50 +03:00
package.json Merge branch 'master' into v4 2024-04-01 01:39:50 +03:00
rollup.config.js Update rollup 2024-04-01 10:49:35 +01: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 as an application plugin to set up the default configuration. The plugin is lightweight, only sets up the configuration object without affecting your application. PrimeVue has two styling modes; Styled and Unstyled. If you are just getting started, we suggest to using the styled mode.

Styled Mode

Styled mode provides pre-skinned components, default theme is Aura with emerald as the primary color.

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

app.use(PrimeVueStyled);

Unstyled Mode

In unstyled mode, the components do not include any CSS so you'd need to style the components on your end. If you are using Tailwind CSS, visit the Tailwind Presets project to get you started with styling the components with Tailwind utility classes.

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

app.use(PrimeVueUnstyled);

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/aura-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