Vue PatternFly
PatternFly 4 components for Vue 3.
The components are mostly a straight-forward port of the [PatternFly 4 components][link-patternfly4] to Vue 3 with some differences where it makes sense to improve ergonomics or add new features.
Common differences from patternfly-react
Component names are prefixed with pf-
This is done to conform to the custom element specification that requires component names to include an hyphen and to avoid conflicts with other components.
Boolean props "is/has" prefixes removed
This makes it easier to use the components and matches the naming convention of native elements. E.g. <pf-text-input disabled />
just like <input disabled>
instead of <pf-text-input is-disabled />
.
By doing this we can also omit to declare some props that are automatically inherited by the underlying native element.
Get started
Install the library with the package management tool of your choice:
npm install --save @vue-patternfly/core
# or
yarn add @vue-patternfly/core
Then you can import the components you need or use the whole library of components like this:
import '@patternfly/patternfly/patternfly.css';
// alternatively include it in your html as a <style> tag
import { createApp } from 'vue';
import VuePatternfly4 from '@vue-patternfly/core';
const app = createApp({
setup() {
return {};
},
});
app.use(VuePatternfly4);
app.mount('#app');