Formkit-PrimeVue
PrimeVue support for the FormKit validation Framework. PrimeVue inputs are prepared for seamless FormKit integration.
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 57b64e0e..00000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: Deploy - -on: - push: - -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 - with: - node-version: lts/* - cache: pnpm - - - name: Install dependencies - run: pnpm install - - - run: pnpm build - - - run: pnpm docs:build - - - name: Deploy - uses: peaceiris/actions-gh-pages@v4 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: docs/.vitepress/dist - # cname: example.com # if wanna deploy to custom domain diff --git a/.gitignore b/.gitignore deleted file mode 100644 index b38d2461..00000000 --- a/.gitignore +++ /dev/null @@ -1,33 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local -coverage - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? -*.iml -*.tsbuildinfo - -.gitconfig - -# vitepress -docs/.vitepress/cache -docs/.vitepress/dist \ No newline at end of file diff --git a/dev/assets/fonts/Inter-italic.var.woff2 b/.nojekyll similarity index 100% rename from dev/assets/fonts/Inter-italic.var.woff2 rename to .nojekyll diff --git a/404.html b/404.html new file mode 100644 index 00000000..4035f1b9 --- /dev/null +++ b/404.html @@ -0,0 +1,22 @@ + + +
+ + +Composables are used make your development with this library a little easier.
This composable provides helper functions to simplify building a schema.
Sometimes it provides a little more concise syntax or provide the needed helper functions.
const { addComponent } = useFormKitSchema()
+
+function addButtonComponent(onClick: string = '', label: string = '', icon: string = '', severity: string = '', render: string = 'true', styleClass: string = 'p-button-sm ml-2'): object {
+ return addComponent('Button', { onClick, label, icon, class: styleClass, severity }, render)
+}
Following json in the schema
[
+ {
+ "$el": "h2",
+ "children": ["Register ", "$email"]
+ },
+ {
+ "$el": "h3",
+ "children": "Header Text H3"
+ }
+]
can be replaced by:
const { addElement } = useFormKitSchema()
+
+const formData = ref([
+ addElement('h2', ['Register ', '$email']),
+ addElement('h3', 'Header Text H3')
+ // more form elements ...
+])
To simplify the build of a repeater you can use:
<script setup lang='ts'>
+import { useFormKitRepeater } from '@sfxcode/formkit-primevue/comosables'
+
+const { addInsertButton, addGroupButtons, addListGroupFunctions } = useFormKitRepeater()
+</script>
A working example can be found in the repeater demo.
`,17)]))}const g=i(h,[["render",e]]);export{o as __pageData,g as default}; diff --git a/assets/advanced_composables.md.CpTQITmE.lean.js b/assets/advanced_composables.md.CpTQITmE.lean.js new file mode 100644 index 00000000..7afc8cdf --- /dev/null +++ b/assets/advanced_composables.md.CpTQITmE.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as n,ag as t}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"Composables","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/composables.md","filePath":"advanced/composables.md"}'),h={name:"advanced/composables.md"};function e(l,s,p,k,r,d){return n(),a("div",null,s[0]||(s[0]=[t("",17)]))}const g=i(h,[["render",e]]);export{o as __pageData,g as default}; diff --git a/assets/advanced_i18n.md.Bko2d4fE.js b/assets/advanced_i18n.md.Bko2d4fE.js new file mode 100644 index 00000000..b5016d00 --- /dev/null +++ b/assets/advanced_i18n.md.Bko2d4fE.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as n,ag as i}from"./chunks/framework.CjgOSNM8.js";const p=JSON.parse('{"title":"Vue I18n Integration","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/i18n.md","filePath":"advanced/i18n.md"}'),o={name:"advanced/i18n.md"};function r(s,e,l,u,d,c){return n(),a("div",null,e[0]||(e[0]=[i('This guide explains how to use vue-i18n for internationalization in your FormKit PrimeVue project.
If you are using Nuxt, the i18n module can be installed automatically by the FormKit PrimeVue Nuxt module. For manual installation in a Vue project:
npm install vue-i18n
If you use the Nuxt module, i18n is auto-installed and configured. You can add your translations in the /locales
directory.
INFO
Note: Internationalization (i18n) is only required for Output components in FormKit PrimeVue. Input components do not require i18n integration.
This section covers advanced usage and features of the FormKit PrimeVue integration. Explore the following topics for deeper insights and customization options:
FormKit-PrimeVue-Nuxt module available.
Both are auto installed by default, this can be disabled in the module options.
Install the module to your Nuxt application with one command:
npx nuxi module add @sfxcode/formkit-primevue-nuxt
That's it! You can now use FormKit PrimeVue Nuxt Module in your Nuxt app ✨
true
): Add PrimeIcons CSS to the project.true
): Add custom FormKit CSS to the project.true
): Install nuxt i18n module automatically.true
): Install nuxt formkit module automatically.Plugins are a powerful way to extend the functionality of FormKit. They allow you to add new features, modify existing ones, or integrate with third-party services.
The AsteriskPlugin is a simple plugin that adds an asterisk to the end of the label of any input that has validation rules. This is useful for indicating to users that the field is required.
To use the AsteriskPlugin, you need to import it and add it to your FormKit configuration file.
plugins: [
+ addPrimeAsteriskPlugin,
+]
FormKit Schema usage was the main reason for this library. The schema is used to create the form and the validation.
However, if you do not want to use the schema, you can also use the FormKit components directly.
<script setup lang='ts'>
+import { FormKit, FormKitMessages } from '@formkit/vue'
+import { FormKitDataEdit } from 'my-library'
+import { useMessages } from '../../composables/messages'
+
+const data = ref({ option: 'hourly' })
+
+const options = [
+ { label: 'Every page load', value: 'refresh' },
+ { label: 'Every hour', value: 'hourly' },
+ { label: 'Every day', value: 'daily' },
+]
+
+const { showSuccessMessage } = useMessages()
+async function submitHandler() {
+ showSuccessMessage('Form Submitted ...', 'Form submitted successfully')
+}
+</script>
+
+<template>
+ <PrimeData header="FormKitDataEdit without Schema Demo">
+ <FormKitDataEdit :data="data" :debug-data="true" @data-saved="submitHandler">
+ <FormKit
+ type="primeInputText"
+ name="name"
+ validation="required"
+ label="Name"
+ />
+ <FormKit
+ type="primeSelect"
+ name="option"
+ validation="required"
+ label="Option"
+ option-label="label"
+ option-value="value"
+ :options="options"
+ />
+ <template #messages>
+ <div class="inline-flex items-center justify-center w-full">
+ <hr class="w-full h-px my-8 bg-[color:var(--p-primary-color)] border-0">
+ </div>
+ <FormKitMessages class="p-formkit-data-edit-messages" />
+ </template>
+ <template #submit>
+ <Button type="submit" label="Save" icon="pi pi-check" icon-pos="right" @submit="submitHandler" />
+ </template>
+ </FormKitDataEdit>
+ </PrimeData>
+</template>
+
+<style lang='scss' scoped>
+
+</style>
A FormKit wrapper for PrimeVue's AutoComplete component.
<FormKit type="primeautocomplete" :options="userList" option-label="name" v-model="selectedUser" />
<script setup>
+const userList = [
+ { id: '1', name: 'Tom', value: '123' },
+ { id: '2', name: 'Tim', value: '124' },
+]
+const selectedUser = ref()
+</script>
+
+<FormKit
+ type="primeautocomplete"
+ label="Object AutoComplete - Use [t]om"
+ :options="userList"
+ option-label="name"
+ v-model="selectedUser"
+/>
const schema = [
+ {
+ $formkit: 'primeAutoComplete',
+ label: 'Object AutoComplete - Use [t]om',
+ options: [
+ { id: '1', name: 'Tom', value: '123' },
+ { id: '2', name: 'Tim', value: '124' },
+ ],
+ optionLabel: 'name',
+ name: 'selectedUser',
+ },
+]
Name | Type | Description |
---|---|---|
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
dropdown | boolean | Show dropdown button |
multiple | boolean | Enable multiple selection |
typeahead | number | Delay for suggestions |
optionLabel | string | Field for label |
options | array | Suggestions list |
size | string | Input size |
minLength | number | Minimum input length |
placeholder | string | Placeholder text |
fluid | boolean | Full width input |
separators | array | Separators for multiple values |
See PrimeVue AutoComplete docs for more details.
`,12)]))}const g=i(n,[["render",l]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeAutoComplete.md.BZevSRfD.lean.js b/assets/component_PrimeAutoComplete.md.BZevSRfD.lean.js new file mode 100644 index 00000000..099adef5 --- /dev/null +++ b/assets/component_PrimeAutoComplete.md.BZevSRfD.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeAutoComplete","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeAutoComplete.md","filePath":"component/PrimeAutoComplete.md"}'),n={name:"component/PrimeAutoComplete.md"};function l(h,s,p,k,d,r){return t(),a("div",null,s[0]||(s[0]=[e("",12)]))}const g=i(n,[["render",l]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeCascadeSelect.md.CCYy8olw.js b/assets/component_PrimeCascadeSelect.md.CCYy8olw.js new file mode 100644 index 00000000..5044d52a --- /dev/null +++ b/assets/component_PrimeCascadeSelect.md.CCYy8olw.js @@ -0,0 +1,44 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeCascadeSelect","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeCascadeSelect.md","filePath":"component/PrimeCascadeSelect.md"}'),l={name:"component/PrimeCascadeSelect.md"};function h(e,s,p,k,E,d){return t(),a("div",null,s[0]||(s[0]=[n(`A FormKit wrapper for PrimeVue's CascadeSelect component.
<FormKit type="primecascadeselect" :options="options" option-label="cname" option-group-label="name" :option-group-children="['states','cities']" v-model="selectedCity" />
<script setup>
+const options = [
+ {
+ name: 'Australia',
+ code: 'AU',
+ states: [
+ { name: 'New South Wales', cities: [ { cname: 'Sydney', code: 'A-SY' } ] },
+ ],
+ },
+ // ...more countries
+]
+const selectedCity = ref()
+</script>
+
+<FormKit
+ type="primecascadeselect"
+ label="Cascade Select"
+ :options="options"
+ option-label="cname"
+ option-group-label="name"
+ :option-group-children="['states', 'cities']"
+ placeholder="Select a City"
+ v-model="selectedCity"
+/>
const schema = [
+ {
+ $formkit: 'primeCascadeSelect',
+ label: 'Cascade Select',
+ options: [
+ {
+ name: 'Australia',
+ code: 'AU',
+ states: [
+ { name: 'New South Wales', cities: [ { cname: 'Sydney', code: 'A-SY' } ] },
+ ],
+ },
+ // ...more countries
+ ],
+ optionLabel: 'cname',
+ optionGroupLabel: 'name',
+ optionGroupChildren: ['states', 'cities'],
+ placeholder: 'Select a City',
+ name: 'selectedCity',
+ },
+]
Name | Type | Description |
---|---|---|
options | array | Options for selection |
optionLabel | string | Field for label |
optionValue | string | Field for value |
optionGroupLabel | string | Field for group label |
optionGroupChildren | array | Field for group children |
placeholder | string | Placeholder text |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
See PrimeVue CascadeSelect docs for more details.
`,12)]))}const g=i(l,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeCascadeSelect.md.CCYy8olw.lean.js b/assets/component_PrimeCascadeSelect.md.CCYy8olw.lean.js new file mode 100644 index 00000000..6d7d394d --- /dev/null +++ b/assets/component_PrimeCascadeSelect.md.CCYy8olw.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeCascadeSelect","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeCascadeSelect.md","filePath":"component/PrimeCascadeSelect.md"}'),l={name:"component/PrimeCascadeSelect.md"};function h(e,s,p,k,E,d){return t(),a("div",null,s[0]||(s[0]=[n("",12)]))}const g=i(l,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeCheckbox.md.DzAV3fTP.js b/assets/component_PrimeCheckbox.md.DzAV3fTP.js new file mode 100644 index 00000000..afa8159b --- /dev/null +++ b/assets/component_PrimeCheckbox.md.DzAV3fTP.js @@ -0,0 +1,15 @@ +import{_ as i,c as a,o as h,ag as t}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeCheckbox","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeCheckbox.md","filePath":"component/PrimeCheckbox.md"}'),k={name:"component/PrimeCheckbox.md"};function n(e,s,l,p,E,r){return h(),a("div",null,s[0]||(s[0]=[t(`A FormKit wrapper for PrimeVue's Checkbox component.
<FormKit type="primecheckbox" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeCheckbox', id: 'basic', name: 'basic', label: 'Basic' },
+ { $formkit: 'primeCheckbox', id: 'eu', prefix: 'Are you a european citizen: ' },
+ { $formkit: 'primeCheckbox', id: 'taxes', suffix: 'Taxes includes ' },
+ { $formkit: 'primeCheckbox', name: 'readonly', label: 'readonly', readonly: true },
+ { $formkit: 'primeCheckbox', name: 'indeterminate', label: 'indeterminate', indeterminate: true },
+ { $formkit: 'primeCheckbox', name: 'custom', label: 'custom values', trueValue: 'A', falseValue: 'B' },
+]
+const data = { readonly: true }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
// ...existing code... See PrimeVue Checkbox docs for more details.
`,9)]))}const o=i(k,[["render",n]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeCheckbox.md.DzAV3fTP.lean.js b/assets/component_PrimeCheckbox.md.DzAV3fTP.lean.js new file mode 100644 index 00000000..f83b7876 --- /dev/null +++ b/assets/component_PrimeCheckbox.md.DzAV3fTP.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as h,ag as t}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeCheckbox","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeCheckbox.md","filePath":"component/PrimeCheckbox.md"}'),k={name:"component/PrimeCheckbox.md"};function n(e,s,l,p,E,r){return h(),a("div",null,s[0]||(s[0]=[t("",9)]))}const o=i(k,[["render",n]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeColorPicker.md.BxuViGtG.js b/assets/component_PrimeColorPicker.md.BxuViGtG.js new file mode 100644 index 00000000..9d93eb8f --- /dev/null +++ b/assets/component_PrimeColorPicker.md.BxuViGtG.js @@ -0,0 +1,12 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeColorPicker","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeColorPicker.md","filePath":"component/PrimeColorPicker.md"}'),l={name:"component/PrimeColorPicker.md"};function h(n,s,k,p,r,E){return t(),a("div",null,s[0]||(s[0]=[e(`A FormKit wrapper for PrimeVue's ColorPicker component.
<FormKit type="primecolorpicker" v-model="color" />
<script setup>
+const schema = [
+ { $formkit: 'primeColorPicker', label: 'Select Color', name: 'color' },
+ { $formkit: 'primeColorPicker', name: 'styled', label: 'Styled + Disabled', style: { background: 'gray' }, class: 'customClass', disabled: true },
+ { $formkit: 'primeColorPicker', name: 'inline', label: 'Inline - Format RGB', inline: true, format: 'rgb' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
defaultColor | string | Default color |
inline | boolean | Inline display |
format | string | Color format |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
See PrimeVue ColorPicker docs for more details.
`,10)]))}const g=i(l,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeColorPicker.md.BxuViGtG.lean.js b/assets/component_PrimeColorPicker.md.BxuViGtG.lean.js new file mode 100644 index 00000000..1807a4f4 --- /dev/null +++ b/assets/component_PrimeColorPicker.md.BxuViGtG.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeColorPicker","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeColorPicker.md","filePath":"component/PrimeColorPicker.md"}'),l={name:"component/PrimeColorPicker.md"};function h(n,s,k,p,r,E){return t(),a("div",null,s[0]||(s[0]=[e("",10)]))}const g=i(l,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeDatePicker.md.CKWG3m8q.js b/assets/component_PrimeDatePicker.md.CKWG3m8q.js new file mode 100644 index 00000000..edb8a099 --- /dev/null +++ b/assets/component_PrimeDatePicker.md.CKWG3m8q.js @@ -0,0 +1,14 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeDatePicker","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeDatePicker.md","filePath":"component/PrimeDatePicker.md"}'),h={name:"component/PrimeDatePicker.md"};function n(k,s,l,p,E,r){return t(),a("div",null,s[0]||(s[0]=[e(`A FormKit wrapper for PrimeVue's DatePicker component.
<FormKit type="primedatepicker" v-model="date" />
<script setup>
+const schema = [
+ { $formkit: 'primeDatePicker', id: 'basic', name: 'basic', label: 'Basic', placeholder: 'MM/DD/YYYY', validation: 'required' },
+ { $formkit: 'primeDatePicker', name: 'styled', label: 'Styled', style: { background: 'gray' }, class: 'customClass', showIcon: true },
+ { $formkit: 'primeDatePicker', name: 'icon', label: 'Custom Icon', dateFormat: 'yy-mm', showIcon: true, icon: 'pi pi-question' },
+ { $formkit: 'primeDatePicker', name: 'range', label: 'Date Range', selectionMode: 'range', manualInput: false },
+ { $formkit: 'primeDatePicker', name: 'multiple', label: 'Multiple Dates', selectionMode: 'multiple', manualInput: false },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
dateFormat | string | Date format |
placeholder | string | Placeholder text |
selectionMode | string | Selection mode (single, range, multiple) |
inline | boolean | Inline display |
icon | string | Custom icon |
showIcon | boolean | Show calendar icon |
manualInput | boolean | Allow manual input |
... | ... | See PrimeVue docs for all props |
See PrimeVue DatePicker docs for more details.
`,10)]))}const o=i(h,[["render",n]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeDatePicker.md.CKWG3m8q.lean.js b/assets/component_PrimeDatePicker.md.CKWG3m8q.lean.js new file mode 100644 index 00000000..54bbf0ba --- /dev/null +++ b/assets/component_PrimeDatePicker.md.CKWG3m8q.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeDatePicker","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeDatePicker.md","filePath":"component/PrimeDatePicker.md"}'),h={name:"component/PrimeDatePicker.md"};function n(k,s,l,p,E,r){return t(),a("div",null,s[0]||(s[0]=[e("",10)]))}const o=i(h,[["render",n]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeInputMask.md.CEVRQGW2.js b/assets/component_PrimeInputMask.md.CEVRQGW2.js new file mode 100644 index 00000000..3d7ea094 --- /dev/null +++ b/assets/component_PrimeInputMask.md.CEVRQGW2.js @@ -0,0 +1,12 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeInputMask","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeInputMask.md","filePath":"component/PrimeInputMask.md"}'),h={name:"component/PrimeInputMask.md"};function k(p,s,e,l,r,E){return t(),a("div",null,s[0]||(s[0]=[n(`A FormKit wrapper for PrimeVue's InputMask component.
<FormKit type="primeinputmask" v-model="value" mask="99-999999" />
<script setup>
+const schema = [
+ { $formkit: 'primeInputMask', name: 'myInputMask', label: 'Input Mask', validation: 'required', validationVisibility: 'live', mask: '99-999999', placeholder: '##-######' },
+ { $formkit: 'primeInputMask', name: 'custom', label: 'Input Mask', mask: '(999) 999-9999', iconPrefix: 'pi pi-check', iconSuffix: 'pi pi-check' },
+ { $formkit: 'primeInputMask', name: 'phone', label: 'Phone', mask: '+1 (999) 999-9999', placeholder: '+1 (###) ###-####', validation: 'required', validationVisibility: 'live' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
mask | string | Input mask pattern |
slotChar | string | Slot character |
autoClear | boolean | Auto clear input |
unmask | boolean | Return unmasked value |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
invalid | boolean | Mark as invalid |
variant | string | Visual variant |
size | string | Input size |
See PrimeVue InputMask docs for more details.
`,10)]))}const o=i(h,[["render",k]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeInputMask.md.CEVRQGW2.lean.js b/assets/component_PrimeInputMask.md.CEVRQGW2.lean.js new file mode 100644 index 00000000..66a55053 --- /dev/null +++ b/assets/component_PrimeInputMask.md.CEVRQGW2.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeInputMask","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeInputMask.md","filePath":"component/PrimeInputMask.md"}'),h={name:"component/PrimeInputMask.md"};function k(p,s,e,l,r,E){return t(),a("div",null,s[0]||(s[0]=[n("",10)]))}const o=i(h,[["render",k]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeInputNumber.md.BwovLXKi.js b/assets/component_PrimeInputNumber.md.BwovLXKi.js new file mode 100644 index 00000000..a438a227 --- /dev/null +++ b/assets/component_PrimeInputNumber.md.BwovLXKi.js @@ -0,0 +1,14 @@ +import{_ as i,c as t,o as a,ag as n}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeInputNumber","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeInputNumber.md","filePath":"component/PrimeInputNumber.md"}'),h={name:"component/PrimeInputNumber.md"};function e(k,s,p,l,r,d){return a(),t("div",null,s[0]||(s[0]=[n(`A FormKit wrapper for PrimeVue's InputNumber component.
<FormKit type="primeinputnumber" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeInputNumber', name: 'firstNumber', label: 'Input Number', value: 1234, validation: 'max:10000', useGrouping: true, minFractionDigits: 2 },
+ { $formkit: 'primeInputNumber', name: 'secondNumber', label: 'Input Number', value: 999, validation: 'min:900', useGrouping: false, minFractionDigits: 0 },
+ { $formkit: 'primeInputNumber', name: 'fixedNumber', label: 'Input Number', value: 1234, class: 'customClass', style: { background: 'gray' }, readonly: true },
+ { $formkit: 'primeInputNumber', name: 'numberInputWithMinNumber', label: 'Number Input with Min Value', min: 10 },
+ { $formkit: 'primeInputNumber', name: 'customizedInputNumber', label: 'Customized Input Number', placeholder: 'Enter currency', useGrouping: true, minFractionDigits: 2, maxFractionDigits: 4, mode: 'currency', currency: 'USD', locale: 'en-US', showButtons: true, buttonLayout: 'horizontal', step: 0.01 },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
useGrouping | boolean | Use grouping separators |
min | number | Minimum value |
max | number | Maximum value |
minFractionDigits | number | Minimum fraction digits |
maxFractionDigits | number | Maximum fraction digits |
locale | string | Locale for formatting |
mode | string | Input mode (decimal, currency) |
currency | string | Currency code |
prefix | string | Prefix text |
suffix | string | Suffix text |
showButtons | boolean | Show increment/decrement buttons |
buttonLayout | string | Button layout |
step | number | Step increment |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
placeholder | string | Placeholder text |
size | string | Input size |
See PrimeVue InputNumber docs for more details.
`,10)]))}const o=i(h,[["render",e]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeInputNumber.md.BwovLXKi.lean.js b/assets/component_PrimeInputNumber.md.BwovLXKi.lean.js new file mode 100644 index 00000000..bdac7759 --- /dev/null +++ b/assets/component_PrimeInputNumber.md.BwovLXKi.lean.js @@ -0,0 +1 @@ +import{_ as i,c as t,o as a,ag as n}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeInputNumber","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeInputNumber.md","filePath":"component/PrimeInputNumber.md"}'),h={name:"component/PrimeInputNumber.md"};function e(k,s,p,l,r,d){return a(),t("div",null,s[0]||(s[0]=[n("",10)]))}const o=i(h,[["render",e]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeInputOtp.md.DfIC8-bc.js b/assets/component_PrimeInputOtp.md.DfIC8-bc.js new file mode 100644 index 00000000..1481fd5f --- /dev/null +++ b/assets/component_PrimeInputOtp.md.DfIC8-bc.js @@ -0,0 +1,11 @@ +import{_ as i,c as t,o as a,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeInputOtp","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeInputOtp.md","filePath":"component/PrimeInputOtp.md"}'),p={name:"component/PrimeInputOtp.md"};function h(e,s,l,k,r,d){return a(),t("div",null,s[0]||(s[0]=[n(`A FormKit wrapper for PrimeVue's InputOtp component.
<FormKit type="primeinputotp" v-model="otp" length="6" />
<script setup>
+const schema = [
+ { $formkit: 'primeInputOtp', name: 'firstInput', label: 'Input OTP', length: 6, integerOnly: true, mask: true, variant: 'outlined' },
+ { $formkit: 'primeInputOtp', name: 'secondInput', label: 'Input OTP', length: 3 },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
length | number | Number of OTP digits |
integerOnly | boolean | Only allow integer input |
mask | boolean | Mask input |
variant | string | Visual variant |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
See PrimeVue InputOtp docs for more details.
`,10)]))}const g=i(p,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeInputOtp.md.DfIC8-bc.lean.js b/assets/component_PrimeInputOtp.md.DfIC8-bc.lean.js new file mode 100644 index 00000000..89220fd8 --- /dev/null +++ b/assets/component_PrimeInputOtp.md.DfIC8-bc.lean.js @@ -0,0 +1 @@ +import{_ as i,c as t,o as a,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeInputOtp","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeInputOtp.md","filePath":"component/PrimeInputOtp.md"}'),p={name:"component/PrimeInputOtp.md"};function h(e,s,l,k,r,d){return a(),t("div",null,s[0]||(s[0]=[n("",10)]))}const g=i(p,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeInputText.md.CvN0CXfM.js b/assets/component_PrimeInputText.md.CvN0CXfM.js new file mode 100644 index 00000000..29919a0d --- /dev/null +++ b/assets/component_PrimeInputText.md.CvN0CXfM.js @@ -0,0 +1,13 @@ +import{_ as i,c as a,o as t,ag as h}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeInputText","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeInputText.md","filePath":"component/PrimeInputText.md"}'),n={name:"component/PrimeInputText.md"};function e(p,s,l,k,E,r){return t(),a("div",null,s[0]||(s[0]=[h(`A FormKit wrapper for PrimeVue's InputText component.
<FormKit type="primeinputtext" v-model="text" />
<script setup>
+const schema = [
+ { $formkit: 'primeInputText', name: 'name', label: 'Basic', validation: 'required', help: 'Some Help Text' },
+ { $formkit: 'primeInputText', name: 'telephone', placeholder: 'telephone', help: 'Input Type: tel', label: 'Telephone', inputType: 'tel' },
+ { $formkit: 'primeInputText', id: 'icon', name: 'iconLeft', label: 'Icon Left', placeholder: 'icon', iconPrefix: 'pi pi-check' },
+ { $formkit: 'primeInputText', name: 'iconRight', label: 'Icon Right (Disabled) - smize: small', help: 'Right Icon Demo', iconSuffix: 'pi pi-check', disabled: true, size: 'small' },
+]
+const data = { name: 'Harry Potter', iconLeft: 'Some Text ...', iconRight: 'Another Text ...' }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
inputType | string | Input type (e.g. text, tel) |
placeholder | string | Placeholder text |
See PrimeVue InputText docs for more details.
`,10)]))}const o=i(n,[["render",e]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeInputText.md.CvN0CXfM.lean.js b/assets/component_PrimeInputText.md.CvN0CXfM.lean.js new file mode 100644 index 00000000..77c0ff3e --- /dev/null +++ b/assets/component_PrimeInputText.md.CvN0CXfM.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as h}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeInputText","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeInputText.md","filePath":"component/PrimeInputText.md"}'),n={name:"component/PrimeInputText.md"};function e(p,s,l,k,E,r){return t(),a("div",null,s[0]||(s[0]=[h("",10)]))}const o=i(n,[["render",e]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeKnob.md.DDKcJZZE.js b/assets/component_PrimeKnob.md.DDKcJZZE.js new file mode 100644 index 00000000..ce7254c0 --- /dev/null +++ b/assets/component_PrimeKnob.md.DDKcJZZE.js @@ -0,0 +1,11 @@ +import{_ as i,c as t,o as a,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeKnob","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeKnob.md","filePath":"component/PrimeKnob.md"}'),e={name:"component/PrimeKnob.md"};function h(l,s,p,k,r,d){return a(),t("div",null,s[0]||(s[0]=[n(`A FormKit wrapper for PrimeVue's Knob component.
<FormKit type="primeknob" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeKnob', name: 'knob', label: 'Use Knob', value: 50, validation: 'min:20|max:80' },
+ { $formkit: 'primeKnob', name: 'custom', label: 'Customized Knob', min: 42, max: 98, step: 4, value: 58, showValue: false },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
min | number | Minimum value |
max | number | Maximum value |
step | number | Step increment |
size | number | Knob size |
strokeWidth | number | Stroke width |
showValue | boolean | Show value inside knob |
valueColor | string | Value color |
rangeColor | string | Range color |
textColor | string | Text color |
valueTemplate | string | Value template |
See PrimeVue Knob docs for more details.
`,10)]))}const g=i(e,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeKnob.md.DDKcJZZE.lean.js b/assets/component_PrimeKnob.md.DDKcJZZE.lean.js new file mode 100644 index 00000000..9f68eae5 --- /dev/null +++ b/assets/component_PrimeKnob.md.DDKcJZZE.lean.js @@ -0,0 +1 @@ +import{_ as i,c as t,o as a,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeKnob","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeKnob.md","filePath":"component/PrimeKnob.md"}'),e={name:"component/PrimeKnob.md"};function h(l,s,p,k,r,d){return a(),t("div",null,s[0]||(s[0]=[n("",10)]))}const g=i(e,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeListbox.md.ggq_kCXc.js b/assets/component_PrimeListbox.md.ggq_kCXc.js new file mode 100644 index 00000000..0b5a2802 --- /dev/null +++ b/assets/component_PrimeListbox.md.ggq_kCXc.js @@ -0,0 +1,17 @@ +import{_ as i,c as a,o as t,ag as l}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeListbox","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeListbox.md","filePath":"component/PrimeListbox.md"}'),h={name:"component/PrimeListbox.md"};function n(e,s,k,p,E,r){return t(),a("div",null,s[0]||(s[0]=[l(`A FormKit wrapper for PrimeVue's Listbox component.
<FormKit type="primelistbox" :options="options" option-label="label" option-value="value" v-model="selected" />
<script setup>
+const options = [
+ { label: 'Every page load', value: 'refresh' },
+ { label: 'Every hour', value: 'hourly' },
+ { label: 'Every day', value: 'daily' },
+]
+const schema = [
+ { $formkit: 'primeListbox', name: 'cookie_notice', label: 'Cookie notice', value: 'hourly', optionLabel: 'label', optionValue: 'value', options, help: 'Cookie notice frequency ?' },
+ { $formkit: 'primeListbox', name: 'styled', label: 'Styled and Diabled', value: 'hourly', style: { background: 'gray' }, class: 'customClass', optionLabel: 'label', optionValue: 'value', options, disabled: true },
+ { $formkit: 'primeListbox', name: 'custom', label: 'With Multiple Select and Filter', multiple: true, filter: true, placeholder: 'Please select', optionLabel: 'label', optionValue: 'value', options, validation: 'required' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
options | array | List of options |
optionLabel | string | Field for label |
optionValue | string | Field for value |
multiple | boolean | Enable multiple selection |
filter | boolean | Enable filtering |
filterIcon | string | Icon for filter |
filterPlaceholder | string | Placeholder for filter |
filterLocale | string | Locale for filter |
filterMatchMode | string | Filter match mode |
autoOptionFocus | boolean | Auto focus option |
selectOnFocus | boolean | Select on focus |
See PrimeVue Listbox docs for more details.
`,10)]))}const g=i(h,[["render",n]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeListbox.md.ggq_kCXc.lean.js b/assets/component_PrimeListbox.md.ggq_kCXc.lean.js new file mode 100644 index 00000000..7a43981f --- /dev/null +++ b/assets/component_PrimeListbox.md.ggq_kCXc.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as l}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeListbox","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeListbox.md","filePath":"component/PrimeListbox.md"}'),h={name:"component/PrimeListbox.md"};function n(e,s,k,p,E,r){return t(),a("div",null,s[0]||(s[0]=[l("",10)]))}const g=i(h,[["render",n]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeMultiSelect.md.mT2ZIwNZ.js b/assets/component_PrimeMultiSelect.md.mT2ZIwNZ.js new file mode 100644 index 00000000..828d1477 --- /dev/null +++ b/assets/component_PrimeMultiSelect.md.mT2ZIwNZ.js @@ -0,0 +1,17 @@ +import{_ as i,c as a,o as t,ag as l}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeMultiSelect","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeMultiSelect.md","filePath":"component/PrimeMultiSelect.md"}'),h={name:"component/PrimeMultiSelect.md"};function e(n,s,k,p,E,r){return t(),a("div",null,s[0]||(s[0]=[l(`A FormKit wrapper for PrimeVue's MultiSelect component.
<FormKit type="primemultiselect" :options="options" option-label="label" option-value="value" v-model="selected" />
<script setup>
+const options = [
+ { label: 'Every page load', value: 'refresh' },
+ { label: 'Every hour', value: 'hourly' },
+ { label: 'Every day', value: 'daily' },
+]
+const schema = [
+ { $formkit: 'primeMultiSelect', name: 'cookie_notice', label: 'Cookie notice MultiSelect', optionLabel: 'label', optionValue: 'value', options, help: 'Cookie notice frequency ?' },
+ { $formkit: 'primeMultiSelect', name: 'styled', label: 'Styled', style: { background: 'gray' }, class: 'customClass', optionLabel: 'label', optionValue: 'value', options, disabled: true },
+ { $formkit: 'primeMultiSelect', name: 'custom', label: 'With Multiple Select and Filter', filter: true, placeholder: 'Please select', optionLabel: 'label', optionValue: 'value', options, validation: 'required' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
options | array | List of options |
optionLabel | string | Field for label |
optionValue | string | Field for value |
filter | boolean | Enable filtering |
placeholder | string | Placeholder text |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
... | ... | See PrimeVue docs for all props |
See PrimeVue MultiSelect docs for more details.
`,10)]))}const g=i(h,[["render",e]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeMultiSelect.md.mT2ZIwNZ.lean.js b/assets/component_PrimeMultiSelect.md.mT2ZIwNZ.lean.js new file mode 100644 index 00000000..dd1841f0 --- /dev/null +++ b/assets/component_PrimeMultiSelect.md.mT2ZIwNZ.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as l}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeMultiSelect","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeMultiSelect.md","filePath":"component/PrimeMultiSelect.md"}'),h={name:"component/PrimeMultiSelect.md"};function e(n,s,k,p,E,r){return t(),a("div",null,s[0]||(s[0]=[l("",10)]))}const g=i(h,[["render",e]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeOutputBoolean.md.C_sIXhgC.js b/assets/component_PrimeOutputBoolean.md.C_sIXhgC.js new file mode 100644 index 00000000..be359322 --- /dev/null +++ b/assets/component_PrimeOutputBoolean.md.C_sIXhgC.js @@ -0,0 +1,16 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeOutputBoolean","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputBoolean.md","filePath":"component/PrimeOutputBoolean.md"}'),e={name:"component/PrimeOutputBoolean.md"};function h(l,s,k,p,E,r){return t(),a("div",null,s[0]||(s[0]=[n(`A FormKit wrapper for PrimeVue's OutputBoolean component.
<FormKit type="primeoutputboolean" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeOutputBoolean', name: 'trueValue', label: 'Default' },
+ { $formkit: 'primeOutputBoolean', name: 'trueValue', prefix: 'Boolean Value:' },
+ { $formkit: 'primeOutputBoolean', name: 'falseValue', label: 'False Example' },
+ { $formkit: 'primeOutputBoolean', name: 'trueValue', label: 'True with custom Text', trueValue: 'Sure' },
+ { $formkit: 'primeOutputBoolean', name: 'falseValue', label: 'False with custom Text', falseValue: 'Never' },
+ { $formkit: 'primeOutputBoolean', name: 'trueValue', label: 'Conditional true - only Icon', if: '$trueValue', trueValue: '', iconSuffix: 'pi pi-check' },
+ { $formkit: 'primeOutputBoolean', name: 'falseValue', label: 'Conditional false - only Icon', if: '!$falseValue', falseValue: '', iconSuffix: 'pi pi-minus' },
+]
+const data = { trueValue: true, falseValue: false }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
trueValue | any | Value for true state |
falseValue | any | Value for false state |
prefix | string | Prefix text |
suffix | string | Suffix text |
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
See PrimeOutputBoolean source for more details.
`,10)]))}const g=i(e,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeOutputBoolean.md.C_sIXhgC.lean.js b/assets/component_PrimeOutputBoolean.md.C_sIXhgC.lean.js new file mode 100644 index 00000000..cf34e759 --- /dev/null +++ b/assets/component_PrimeOutputBoolean.md.C_sIXhgC.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeOutputBoolean","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputBoolean.md","filePath":"component/PrimeOutputBoolean.md"}'),e={name:"component/PrimeOutputBoolean.md"};function h(l,s,k,p,E,r){return t(),a("div",null,s[0]||(s[0]=[n("",10)]))}const g=i(e,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeOutputDate.md.DFAJEn5S.js b/assets/component_PrimeOutputDate.md.DFAJEn5S.js new file mode 100644 index 00000000..922c5c41 --- /dev/null +++ b/assets/component_PrimeOutputDate.md.DFAJEn5S.js @@ -0,0 +1,12 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeOutputDate","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputDate.md","filePath":"component/PrimeOutputDate.md"}'),h={name:"component/PrimeOutputDate.md"};function n(p,s,k,l,r,E){return t(),a("div",null,s[0]||(s[0]=[e(`A FormKit wrapper for PrimeVue's OutputDate component.
<FormKit type="primeoutputdate" v-model="date" />
<script setup>
+const schema = [
+ { $formkit: 'primeOutputDate', name: 'date1', label: 'Basic' },
+ { $formkit: 'primeOutputDate', id: 'date2', name: 'date2', label: 'Icon Left', iconPrefix: 'pi pi-check' },
+ { $formkit: 'primeOutputDate', name: 'date3', label: 'Icon Right', help: 'Right Icon Demo', iconSuffix: 'pi pi-check text-yellow-500' },
+]
+const data = { date1: new Date(), date2: new Date(), date3: new Date() }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputDate source for all props |
See PrimeOutputDate source for more details.
`,10)]))}const o=i(h,[["render",n]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeOutputDate.md.DFAJEn5S.lean.js b/assets/component_PrimeOutputDate.md.DFAJEn5S.lean.js new file mode 100644 index 00000000..d7b19445 --- /dev/null +++ b/assets/component_PrimeOutputDate.md.DFAJEn5S.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeOutputDate","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputDate.md","filePath":"component/PrimeOutputDate.md"}'),h={name:"component/PrimeOutputDate.md"};function n(p,s,k,l,r,E){return t(),a("div",null,s[0]||(s[0]=[e("",10)]))}const o=i(h,[["render",n]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeOutputDuration.md.IT47DJs6.js b/assets/component_PrimeOutputDuration.md.IT47DJs6.js new file mode 100644 index 00000000..5f189bc7 --- /dev/null +++ b/assets/component_PrimeOutputDuration.md.IT47DJs6.js @@ -0,0 +1,15 @@ +import{_ as s,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeOutputDuration","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputDuration.md","filePath":"component/PrimeOutputDuration.md"}'),h={name:"component/PrimeOutputDuration.md"};function e(p,i,k,l,r,E){return t(),a("div",null,i[0]||(i[0]=[n(`A FormKit wrapper for PrimeVue's OutputDuration component.
<FormKit type="primeoutputduration" v-model="duration" />
<script setup>
+function prefixClicked() {
+ console.error('Prefix Icon Clicked')
+}
+const schema = [
+ { $formkit: 'primeOutputDuration', name: 'duration1', label: 'Duration' },
+ { $formkit: 'primeOutputDuration', name: 'duration2', label: 'Another Duration' },
+ { $formkit: 'primeOutputDuration', name: 'duration3', label: 'Another Duration', iconPrefix: 'pi pi-check', onIconPrefixClicked: prefixClicked },
+]
+const data = { duration1: '142', duration2: '4h35m', duration3: '3:47' }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputDuration source for all props |
See PrimeOutputDuration source for more details.
`,10)]))}const g=s(h,[["render",e]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeOutputDuration.md.IT47DJs6.lean.js b/assets/component_PrimeOutputDuration.md.IT47DJs6.lean.js new file mode 100644 index 00000000..78543dc6 --- /dev/null +++ b/assets/component_PrimeOutputDuration.md.IT47DJs6.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeOutputDuration","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputDuration.md","filePath":"component/PrimeOutputDuration.md"}'),h={name:"component/PrimeOutputDuration.md"};function e(p,i,k,l,r,E){return t(),a("div",null,i[0]||(i[0]=[n("",10)]))}const g=s(h,[["render",e]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeOutputLink.md.CDmaiQF8.js b/assets/component_PrimeOutputLink.md.CDmaiQF8.js new file mode 100644 index 00000000..32d1ef07 --- /dev/null +++ b/assets/component_PrimeOutputLink.md.CDmaiQF8.js @@ -0,0 +1,11 @@ +import{_ as s,c as t,o as a,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeOutputLink","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputLink.md","filePath":"component/PrimeOutputLink.md"}'),e={name:"component/PrimeOutputLink.md"};function h(p,i,k,l,r,E){return a(),t("div",null,i[0]||(i[0]=[n(`A FormKit wrapper for PrimeVue's OutputLink component.
<FormKit type="primeoutputlink" v-model="link" />
<script setup>
+const schema = [
+ { $formkit: 'primeOutputLink', name: 'link1', label: 'External Link' },
+ { $formkit: 'primeOutputLink', name: 'link2', label: 'Ensure protocol and use custom title', title: 'Click me' },
+]
+const data = { link1: 'https://github.com/sfxcode', link2: 'sfxcode.github.io/formkit-primevue' }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
title | string | Link title |
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputLink source for all props |
See PrimeOutputLink source for more details.
`,10)]))}const g=s(e,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeOutputLink.md.CDmaiQF8.lean.js b/assets/component_PrimeOutputLink.md.CDmaiQF8.lean.js new file mode 100644 index 00000000..9373a050 --- /dev/null +++ b/assets/component_PrimeOutputLink.md.CDmaiQF8.lean.js @@ -0,0 +1 @@ +import{_ as s,c as t,o as a,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeOutputLink","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputLink.md","filePath":"component/PrimeOutputLink.md"}'),e={name:"component/PrimeOutputLink.md"};function h(p,i,k,l,r,E){return a(),t("div",null,i[0]||(i[0]=[n("",10)]))}const g=s(e,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeOutputList.md.BorYxmlc.js b/assets/component_PrimeOutputList.md.BorYxmlc.js new file mode 100644 index 00000000..0e34439f --- /dev/null +++ b/assets/component_PrimeOutputList.md.BorYxmlc.js @@ -0,0 +1,29 @@ +import{_ as i,c as a,o as t,ag as h}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeOutputList","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputList.md","filePath":"component/PrimeOutputList.md"}'),n={name:"component/PrimeOutputList.md"};function k(l,s,p,e,E,r){return t(),a("div",null,s[0]||(s[0]=[h(`A FormKit wrapper for PrimeVue's OutputList component.
<FormKit type="primeoutputlist" v-model="list" />
<script setup>
+function convertValues(value) {
+ return value.map(item => item.toUpperCase())
+}
+function convertValuesCharCount(value) {
+ return value.map(item => \`\${item} (\${item.length})\`)
+}
+function convertValuesSortedReverse(value) {
+ return value.sort((a, b) => a.localeCompare(b)).reverse()
+}
+const schema = [
+ { $formkit: 'primeOutputList', name: 'list1', label: 'Default Divider' },
+ { $formkit: 'primeOutputList', name: 'list1', label: 'Custom Divider', divider: ' ' },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Custom Divider with Prefix Icon', iconPrefix: 'pi pi-list', divider: ' - ' },
+ { $formkit: 'primeOutputList', name: 'list1', label: 'Converter Function', convertValue: convertValues, divider: ' - ' },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Converter Function - Char Count', convertValue: convertValuesCharCount },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Converter Function - Sorted Reverse', convertValue: convertValuesSortedReverse },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Use Chip Item Class', itemClass: 'p-chip-item', divider: ' ' },
+ { $formkit: 'primeOutputList', name: 'list1', label: 'Use listStyle: span', listStyle: 'span' },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Use listStyle: div', listStyle: 'div' },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Use listStyle: ul', listStyle: 'ul' },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Use listStyle: ol', listStyle: 'ol' },
+]
+const data = { list1: ['Hello', 'World'], list2: ['FormKit', 'meets', 'PrimeVue'] }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
divider | string | Divider between items |
convertValue | function | Function to convert values |
listStyle | string | List style (span, div, ul, ol) |
itemClass | string | Class for list items |
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputList source for all props |
See PrimeOutputList source for more details.
`,10)]))}const F=i(n,[["render",k]]);export{g as __pageData,F as default}; diff --git a/assets/component_PrimeOutputList.md.BorYxmlc.lean.js b/assets/component_PrimeOutputList.md.BorYxmlc.lean.js new file mode 100644 index 00000000..5569d1c7 --- /dev/null +++ b/assets/component_PrimeOutputList.md.BorYxmlc.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as h}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeOutputList","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputList.md","filePath":"component/PrimeOutputList.md"}'),n={name:"component/PrimeOutputList.md"};function k(l,s,p,e,E,r){return t(),a("div",null,s[0]||(s[0]=[h("",10)]))}const F=i(n,[["render",k]]);export{g as __pageData,F as default}; diff --git a/assets/component_PrimeOutputNumber.md.CgYtZC6v.js b/assets/component_PrimeOutputNumber.md.CgYtZC6v.js new file mode 100644 index 00000000..1728d817 --- /dev/null +++ b/assets/component_PrimeOutputNumber.md.CgYtZC6v.js @@ -0,0 +1,12 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeOutputNumber","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputNumber.md","filePath":"component/PrimeOutputNumber.md"}'),h={name:"component/PrimeOutputNumber.md"};function n(p,s,k,l,r,E){return t(),a("div",null,s[0]||(s[0]=[e(`A FormKit wrapper for PrimeVue's OutputNumber component.
<FormKit type="primeoutputnumber" v-model="number" />
<script setup>
+const schema = [
+ { $formkit: 'primeOutputNumber', name: 'mumber1', format: 'decimal', label: 'Basic' },
+ { $formkit: 'primeOutputNumber', name: 'number2', label: 'Icon Left', iconPrefix: 'pi pi-check' },
+ { $formkit: 'primeOutputNumber', name: 'number3', format: 'currency', label: 'Icon Right', help: 'Right Icon Demo', iconSuffix: 'pi pi-check' },
+]
+const data = { mumber1: 12.2, number2: 42.0, number3: 20000 }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
format | string | Number format (decimal, currency, etc.) |
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputNumber source for all props |
See PrimeOutputNumber source for more details.
`,10)]))}const g=i(h,[["render",n]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeOutputNumber.md.CgYtZC6v.lean.js b/assets/component_PrimeOutputNumber.md.CgYtZC6v.lean.js new file mode 100644 index 00000000..f2502643 --- /dev/null +++ b/assets/component_PrimeOutputNumber.md.CgYtZC6v.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeOutputNumber","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputNumber.md","filePath":"component/PrimeOutputNumber.md"}'),h={name:"component/PrimeOutputNumber.md"};function n(p,s,k,l,r,E){return t(),a("div",null,s[0]||(s[0]=[e("",10)]))}const g=i(h,[["render",n]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeOutputReference.md.B4Do5Yd-.js b/assets/component_PrimeOutputReference.md.B4Do5Yd-.js new file mode 100644 index 00000000..6aa28d39 --- /dev/null +++ b/assets/component_PrimeOutputReference.md.B4Do5Yd-.js @@ -0,0 +1,13 @@ +import{_ as i,c as t,o as a,ag as e}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeOutputReference","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputReference.md","filePath":"component/PrimeOutputReference.md"}'),n={name:"component/PrimeOutputReference.md"};function h(p,s,l,k,r,E){return a(),t("div",null,s[0]||(s[0]=[e(`A FormKit wrapper for PrimeVue's OutputReference component.
<FormKit type="primeoutputreference" v-model="reference" />
<script setup>
+const schema = [
+ { $formkit: 'primeOutputReference', name: 'externalId', label: 'External Link', reference: 'https://github.com/sfxcode/{{value}}' },
+ { $formkit: 'primeOutputReference', name: 'externalValue', label: 'External Link with custom title', title: 'Show on GitHub', reference: 'https://github.com/sfxcode/{{valueNameNotImportant}}' },
+ { $formkit: 'primeOutputReference', name: 'internalLink', label: 'Internal Link', internal: true, reference: '/outputs/{{value}}' },
+ { $formkit: 'primeOutputReference', name: 'internalLink', label: 'Internal Link with custom title', internal: true, title: 'Show: {{value}}', reference: '/outputs/{{value}}' },
+]
+const data = { externalId: 42, externalValue: 'formkit-primevue', internalLink: 'outputLink' }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
reference | string | Reference URL or path |
title | string | Link title |
internal | boolean | Use internal router link |
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputReference source for all props |
See PrimeOutputReference source for more details.
`,10)]))}const o=i(n,[["render",h]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeOutputReference.md.B4Do5Yd-.lean.js b/assets/component_PrimeOutputReference.md.B4Do5Yd-.lean.js new file mode 100644 index 00000000..87ebf620 --- /dev/null +++ b/assets/component_PrimeOutputReference.md.B4Do5Yd-.lean.js @@ -0,0 +1 @@ +import{_ as i,c as t,o as a,ag as e}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeOutputReference","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputReference.md","filePath":"component/PrimeOutputReference.md"}'),n={name:"component/PrimeOutputReference.md"};function h(p,s,l,k,r,E){return a(),t("div",null,s[0]||(s[0]=[e("",10)]))}const o=i(n,[["render",h]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeOutputText.md.DLKEFUK2.js b/assets/component_PrimeOutputText.md.DLKEFUK2.js new file mode 100644 index 00000000..3cace6d8 --- /dev/null +++ b/assets/component_PrimeOutputText.md.DLKEFUK2.js @@ -0,0 +1,21 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeOutputText","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputText.md","filePath":"component/PrimeOutputText.md"}'),h={name:"component/PrimeOutputText.md"};function e(k,s,l,p,E,r){return t(),a("div",null,s[0]||(s[0]=[n(`A FormKit wrapper for PrimeVue's OutputText component.
<FormKit type="primeoutputtext" v-model="text" />
<script setup>
+function prefixClicked() {
+ console.error('Prefix Icon Clicked')
+}
+function suffixClicked() {
+ console.error('Suffix Icon Clicked')
+}
+const schema = [
+ { $formkit: 'primeOutputText', name: 'name', label: 'Basic' },
+ { $formkit: 'primeOutputText', name: 'toTranslate', isTranslationKey: true, label: 'Translated' },
+ { $formkit: 'primeOutputText', name: 'html', label: 'HTML as Text (Default)' },
+ { $formkit: 'primeOutputText', name: 'html', html: true, label: 'HTML Output (v-html)', help: 'Only use on trusted content or sanitize after input !' },
+ { $formkit: 'primeOutputText', id: 'icon', name: 'iconLeft', label: 'Icon Left', iconPrefix: 'pi pi-check', onIconPrefixClicked: prefixClicked },
+ { $formkit: 'primeOutputText', name: 'iconRight', label: 'Icon Right', iconSuffix: 'pi pi-check text-yellow-500', onIconSuffixClicked: suffixClicked },
+]
+const data = { name: 'Harry Potter', toTranslate: 'sample', iconLeft: 'Some Text ...', iconRight: 'Another Text ...', html: '<b style="color: gold">Bold Hello World</b>' }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
html | boolean | Render as HTML (v-html) |
isTranslationKey | boolean | Use i18n translation |
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputText source for all props |
See PrimeOutputText source for more details.
`,10)]))}const o=i(h,[["render",e]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeOutputText.md.DLKEFUK2.lean.js b/assets/component_PrimeOutputText.md.DLKEFUK2.lean.js new file mode 100644 index 00000000..169d3c23 --- /dev/null +++ b/assets/component_PrimeOutputText.md.DLKEFUK2.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeOutputText","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeOutputText.md","filePath":"component/PrimeOutputText.md"}'),h={name:"component/PrimeOutputText.md"};function e(k,s,l,p,E,r){return t(),a("div",null,s[0]||(s[0]=[n("",10)]))}const o=i(h,[["render",e]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimePassword.md.IRqV_h0t.js b/assets/component_PrimePassword.md.IRqV_h0t.js new file mode 100644 index 00000000..72a1e9d6 --- /dev/null +++ b/assets/component_PrimePassword.md.IRqV_h0t.js @@ -0,0 +1,11 @@ +import{_ as i,c as t,o as a,ag as e}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimePassword","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimePassword.md","filePath":"component/PrimePassword.md"}'),n={name:"component/PrimePassword.md"};function h(l,s,p,r,d,k){return a(),t("div",null,s[0]||(s[0]=[e(`A FormKit wrapper for PrimeVue's Password component.
<FormKit type="primepassword" v-model="password" />
<script setup>
+const schema = [
+ { $formkit: 'primePassword', name: 'password', label: 'Password', help: 'Enter your new password', feedback: true },
+ { $formkit: 'primePassword', name: 'password_confirm', label: 'Confirm password', help: 'Enter your new password again.', validation: 'required|confirm', toggleMask: true, validationLabel: 'password confirmation' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
feedback | boolean | Show password strength feedback |
mediumRegex | string | Regex for medium strength |
strongRegex | string | Regex for strong strength |
promptLabel | string | Prompt label |
weakLabel | string | Weak label |
mediumLabel | string | Medium label |
strongLabel | string | Strong label |
maskIcon | string | Icon for mask |
unmaskIcon | string | Icon for unmask |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
placeholder | string | Placeholder text |
toggleMask | boolean | Show toggle mask button |
size | string | Input size |
See PrimeVue Password docs for more details.
`,10)]))}const g=i(n,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimePassword.md.IRqV_h0t.lean.js b/assets/component_PrimePassword.md.IRqV_h0t.lean.js new file mode 100644 index 00000000..077f0176 --- /dev/null +++ b/assets/component_PrimePassword.md.IRqV_h0t.lean.js @@ -0,0 +1 @@ +import{_ as i,c as t,o as a,ag as e}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimePassword","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimePassword.md","filePath":"component/PrimePassword.md"}'),n={name:"component/PrimePassword.md"};function h(l,s,p,r,d,k){return a(),t("div",null,s[0]||(s[0]=[e("",10)]))}const g=i(n,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeRadioButton.md.B-KrflLu.js b/assets/component_PrimeRadioButton.md.B-KrflLu.js new file mode 100644 index 00000000..6a9106a5 --- /dev/null +++ b/assets/component_PrimeRadioButton.md.B-KrflLu.js @@ -0,0 +1,21 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeRadioButton","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeRadioButton.md","filePath":"component/PrimeRadioButton.md"}'),h={name:"component/PrimeRadioButton.md"};function l(k,s,p,e,E,r){return t(),a("div",null,s[0]||(s[0]=[n(`A FormKit wrapper for PrimeVue's RadioButton component.
<FormKit type="primeradiobutton" :options="options" option-label="label" option-value="value" v-model="selected" />
<script setup>
+const schema = [
+ { $formkit: 'primeRadioButton', id: 'basic', label: 'Select', name: 'basic', optionLabel: 'label', optionValue: 'value', options: [
+ { label: 'Every page load', value: 'refresh' },
+ { label: 'Every hour', value: 'hourly' },
+ { label: 'Every day', value: 'daily' },
+ ] },
+ { $formkit: 'primeRadioButton', id: 'answer', label: 'Select Answer', name: 'answer', optionLabel: 'label', optionValue: 'value', options: [
+ { label: 'A', value: 'A' },
+ { label: 'B', value: 'B' },
+ { label: 'C', value: 'C' },
+ { label: 'D', value: 'D' },
+ { label: 'E', value: 'E' },
+ ] },
+]
+const data = { basic: 'refresh' }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
options | array | List of options |
optionLabel | string | Field for label |
optionValue | string | Field for value |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
... | ... | See PrimeVue docs for all props |
See PrimeVue RadioButton docs for more details.
`,10)]))}const g=i(h,[["render",l]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeRadioButton.md.B-KrflLu.lean.js b/assets/component_PrimeRadioButton.md.B-KrflLu.lean.js new file mode 100644 index 00000000..5b067230 --- /dev/null +++ b/assets/component_PrimeRadioButton.md.B-KrflLu.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeRadioButton","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeRadioButton.md","filePath":"component/PrimeRadioButton.md"}'),h={name:"component/PrimeRadioButton.md"};function l(k,s,p,e,E,r){return t(),a("div",null,s[0]||(s[0]=[n("",10)]))}const g=i(h,[["render",l]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeRating.md.B4IrpuQn.js b/assets/component_PrimeRating.md.B4IrpuQn.js new file mode 100644 index 00000000..ea069f1c --- /dev/null +++ b/assets/component_PrimeRating.md.B4IrpuQn.js @@ -0,0 +1,12 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeRating","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeRating.md","filePath":"component/PrimeRating.md"}'),e={name:"component/PrimeRating.md"};function h(l,s,p,k,r,E){return t(),a("div",null,s[0]||(s[0]=[n(`A FormKit wrapper for PrimeVue's Rating component.
<FormKit type="primerating" v-model="rating" />
<script setup>
+const schema = [
+ { $formkit: 'primeRating', label: 'Select Rating', name: 'rating' },
+ { $formkit: 'primeRating', label: 'Select Rating', name: 'ratingDisabled', value: 3, disabled: true },
+ { $formkit: 'primeRating', label: 'Select Rating', name: 'ratingCancel', value: 7, stars: 10, cancel: true },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
stars | number | Number of stars |
cancel | boolean | Show cancel icon |
onIcon | string | Icon for selected star |
offIcon | string | Icon for unselected star |
cancelIcon | string | Icon for cancel |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
See PrimeVue Rating docs for more details.
`,10)]))}const o=i(e,[["render",h]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeRating.md.B4IrpuQn.lean.js b/assets/component_PrimeRating.md.B4IrpuQn.lean.js new file mode 100644 index 00000000..b9771dd5 --- /dev/null +++ b/assets/component_PrimeRating.md.B4IrpuQn.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeRating","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeRating.md","filePath":"component/PrimeRating.md"}'),e={name:"component/PrimeRating.md"};function h(l,s,p,k,r,E){return t(),a("div",null,s[0]||(s[0]=[n("",10)]))}const o=i(e,[["render",h]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeSelect.md.BqLebGEE.js b/assets/component_PrimeSelect.md.BqLebGEE.js new file mode 100644 index 00000000..3905823f --- /dev/null +++ b/assets/component_PrimeSelect.md.BqLebGEE.js @@ -0,0 +1,27 @@ +import{_ as i,c as a,o as t,ag as h}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeSelect","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeSelect.md","filePath":"component/PrimeSelect.md"}'),l={name:"component/PrimeSelect.md"};function n(k,s,e,p,E,r){return t(),a("div",null,s[0]||(s[0]=[h(`A FormKit wrapper for PrimeVue's Select component.
<FormKit type="primeselect" :options="options" option-label="label" option-value="value" v-model="selected" />
<script setup>
+const options = [
+ { label: 'Every page load', value: 'refresh' },
+ { label: 'Every hour', value: 'hourly' },
+ { label: 'Every day', value: 'daily' },
+]
+const cities = [
+ { name: 'New York', code: 'NY' },
+ { name: 'Rome', code: 'RM' },
+ { name: 'London', code: 'LDN' },
+ { name: 'Istanbul', code: 'IST' },
+ { name: 'Paris', code: 'PRS' },
+]
+const stringArray = ['refresh', 'hourly', 'daily']
+const schema = [
+ { $formkit: 'primeSelect', name: 'selectValue', label: 'Cookie notice Select', value: 'hourly', optionLabel: 'label', optionValue: 'value', options, help: 'Cookie notice frequency ?' },
+ { $formkit: 'primeSelect', name: 'selectObjectByLabel', label: 'Select Object', optionLabel: 'name', options: cities },
+ { $formkit: 'primeSelect', name: 'selectString', label: 'Simple String Array Select', options: stringArray },
+ { $formkit: 'primeSelect', name: 'styled', label: 'Styled', value: 'hourly', style: { background: 'gray' }, class: 'customClass', optionLabel: 'label', optionValue: 'value', options, disabled: true },
+ { $formkit: 'primeSelect', name: 'custom', label: 'With Clear and Filter', showClear: true, filter: true, placeholder: 'Please select', optionLabel: 'label', optionValue: 'value', options, validation: 'required' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
options | array | List of options |
optionLabel | string | Field for label |
optionValue | string | Field for value |
showClear | boolean | Show clear button |
filter | boolean | Enable filtering |
placeholder | string | Placeholder text |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
... | ... | See PrimeVue docs for all props |
See PrimeVue Select docs for more details.
`,10)]))}const F=i(l,[["render",n]]);export{g as __pageData,F as default}; diff --git a/assets/component_PrimeSelect.md.BqLebGEE.lean.js b/assets/component_PrimeSelect.md.BqLebGEE.lean.js new file mode 100644 index 00000000..ef185612 --- /dev/null +++ b/assets/component_PrimeSelect.md.BqLebGEE.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as h}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeSelect","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeSelect.md","filePath":"component/PrimeSelect.md"}'),l={name:"component/PrimeSelect.md"};function n(k,s,e,p,E,r){return t(),a("div",null,s[0]||(s[0]=[h("",10)]))}const F=i(l,[["render",n]]);export{g as __pageData,F as default}; diff --git a/assets/component_PrimeSelectButton.md.DiGG2BWv.js b/assets/component_PrimeSelectButton.md.DiGG2BWv.js new file mode 100644 index 00000000..78460c18 --- /dev/null +++ b/assets/component_PrimeSelectButton.md.DiGG2BWv.js @@ -0,0 +1,21 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeSelectButton","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeSelectButton.md","filePath":"component/PrimeSelectButton.md"}'),l={name:"component/PrimeSelectButton.md"};function h(e,s,p,k,E,r){return t(),a("div",null,s[0]||(s[0]=[n(`A FormKit wrapper for PrimeVue's SelectButton component.
<FormKit type="primeselectbutton" :options="options" option-label="label" option-value="value" v-model="selected" />
<script setup>
+const selectOptions = [
+ { label: 'yes', value: 'YES' },
+ { label: 'no', value: 'NO' },
+ { label: 'maybe', value: 'MAYBE' },
+]
+const selectOptions2 = [
+ { label: 'Email', value: 'mail' },
+ { label: 'Phone', value: 'phone' },
+ { label: 'Chat', value: 'chat' },
+]
+const schema = [
+ { $formkit: 'primeSelectButton', label: 'SelectButton', name: 'selectButton', options: selectOptions, optionLabel: 'label', optionValue: 'value', value: 'MAYBE', unselectable: false },
+ { $formkit: 'primeSelectButton', label: 'Contact options', name: 'selectButtonMultiple', optionLabel: 'label', optionValue: 'value', options: selectOptions2, multiple: true },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
options | array | List of options |
optionLabel | string | Field for label |
optionValue | string | Field for value |
optionDisabled | boolean | Disable option |
multiple | boolean | Enable multiple selection |
dataKey | string | Unique key for options |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
... | ... | See PrimeVue docs for all props |
See PrimeVue SelectButton docs for more details.
`,10)]))}const g=i(l,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeSelectButton.md.DiGG2BWv.lean.js b/assets/component_PrimeSelectButton.md.DiGG2BWv.lean.js new file mode 100644 index 00000000..ea622775 --- /dev/null +++ b/assets/component_PrimeSelectButton.md.DiGG2BWv.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeSelectButton","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeSelectButton.md","filePath":"component/PrimeSelectButton.md"}'),l={name:"component/PrimeSelectButton.md"};function h(e,s,p,k,E,r){return t(),a("div",null,s[0]||(s[0]=[n("",10)]))}const g=i(l,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeSlider.md.CXqTPXuD.js b/assets/component_PrimeSlider.md.CXqTPXuD.js new file mode 100644 index 00000000..3347dbc5 --- /dev/null +++ b/assets/component_PrimeSlider.md.CXqTPXuD.js @@ -0,0 +1,11 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeSlider","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeSlider.md","filePath":"component/PrimeSlider.md"}'),h={name:"component/PrimeSlider.md"};function n(l,s,p,k,r,d){return t(),a("div",null,s[0]||(s[0]=[e(`A FormKit wrapper for PrimeVue's Slider component.
<FormKit type="primeslider" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeSlider', name: 'slider', label: 'Use Slider', class: 'mt-2 w-72', min: 5, max: 100, step: 5, value: 10, validation: 'min:20|max:80' },
+ { $formkit: 'primeSlider', name: 'sliderVertical', label: 'Use Slider', min: 1, max: 10, value: 4, orientation: 'vertical' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
min | number | Minimum value |
max | number | Maximum value |
step | number | Step increment |
range | boolean | Enable range selection |
orientation | string | Orientation (horizontal/vertical) |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
See PrimeVue Slider docs for more details.
`,10)]))}const o=i(h,[["render",n]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeSlider.md.CXqTPXuD.lean.js b/assets/component_PrimeSlider.md.CXqTPXuD.lean.js new file mode 100644 index 00000000..3ae0262e --- /dev/null +++ b/assets/component_PrimeSlider.md.CXqTPXuD.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeSlider","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeSlider.md","filePath":"component/PrimeSlider.md"}'),h={name:"component/PrimeSlider.md"};function n(l,s,p,k,r,d){return t(),a("div",null,s[0]||(s[0]=[e("",10)]))}const o=i(h,[["render",n]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeTextarea.md.C3yMbEWB.js b/assets/component_PrimeTextarea.md.C3yMbEWB.js new file mode 100644 index 00000000..b41de537 --- /dev/null +++ b/assets/component_PrimeTextarea.md.C3yMbEWB.js @@ -0,0 +1,13 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeTextarea","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeTextarea.md","filePath":"component/PrimeTextarea.md"}'),h={name:"component/PrimeTextarea.md"};function n(l,s,k,p,r,E){return t(),a("div",null,s[0]||(s[0]=[e(`A FormKit wrapper for PrimeVue's Textarea component.
<FormKit type="primetextarea" v-model="text" />
<script setup>
+const schema = [
+ { $formkit: 'primeTextarea', id: 'basic', name: 'name', placeholder: 'Basic', label: 'Basic', help: 'Required.', validation: 'required' },
+ { $formkit: 'primeTextarea', name: 'name', label: '5 Rows', rows: 5, autoResize: true },
+ { $formkit: 'primeTextarea', name: 'name', placeholder: 'Styled', style: { background: 'gray' }, class: 'customClass' },
+ { $formkit: 'primeTextarea', name: 'name', placeholder: 'Read Only', readonly: true },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
autoResize | boolean | Auto-resize textarea |
size | string | Input size |
placeholder | string | Placeholder text |
rows | number | Number of rows |
See PrimeVue Textarea docs for more details.
`,10)]))}const o=i(h,[["render",n]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeTextarea.md.C3yMbEWB.lean.js b/assets/component_PrimeTextarea.md.C3yMbEWB.lean.js new file mode 100644 index 00000000..ff305160 --- /dev/null +++ b/assets/component_PrimeTextarea.md.C3yMbEWB.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as e}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeTextarea","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeTextarea.md","filePath":"component/PrimeTextarea.md"}'),h={name:"component/PrimeTextarea.md"};function n(l,s,k,p,r,E){return t(),a("div",null,s[0]||(s[0]=[e("",10)]))}const o=i(h,[["render",n]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeToggleButton.md.DwCybzQa.js b/assets/component_PrimeToggleButton.md.DwCybzQa.js new file mode 100644 index 00000000..7461d8a6 --- /dev/null +++ b/assets/component_PrimeToggleButton.md.DwCybzQa.js @@ -0,0 +1,12 @@ +import{_ as i,c as t,o as a,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeToggleButton","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeToggleButton.md","filePath":"component/PrimeToggleButton.md"}'),e={name:"component/PrimeToggleButton.md"};function h(l,s,p,k,r,E){return a(),t("div",null,s[0]||(s[0]=[n(`A FormKit wrapper for PrimeVue's ToggleButton component.
<FormKit type="primetogglebutton" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeToggleButton', label: 'ToggleButton', name: 'toggleButton' },
+ { $formkit: 'primeToggleButton', label: 'Second ToggleButton', name: 'toggleButtonRight', iconPos: 'right' },
+ { $formkit: 'primeToggleButton', label: 'Custom ToggleButton', name: 'toggleButtonCustom', iconPos: 'right', onIcon: 'pi pi-plus', offIcon: 'pi pi-minus', onLabel: 'plus', offLabel: 'minus' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
onLabel | string | Label for ON state |
offLabel | string | Label for OFF state |
onIcon | string | Icon for ON state |
offIcon | string | Icon for OFF state |
iconPos | string | Icon position |
size | string | Input size |
See PrimeVue ToggleButton docs for more details.
`,10)]))}const g=i(e,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeToggleButton.md.DwCybzQa.lean.js b/assets/component_PrimeToggleButton.md.DwCybzQa.lean.js new file mode 100644 index 00000000..42ffa9a5 --- /dev/null +++ b/assets/component_PrimeToggleButton.md.DwCybzQa.lean.js @@ -0,0 +1 @@ +import{_ as i,c as t,o as a,ag as n}from"./chunks/framework.CjgOSNM8.js";const o=JSON.parse('{"title":"PrimeToggleButton","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeToggleButton.md","filePath":"component/PrimeToggleButton.md"}'),e={name:"component/PrimeToggleButton.md"};function h(l,s,p,k,r,E){return a(),t("div",null,s[0]||(s[0]=[n("",10)]))}const g=i(e,[["render",h]]);export{o as __pageData,g as default}; diff --git a/assets/component_PrimeToggleSwitch.md.C9S5MlQ9.js b/assets/component_PrimeToggleSwitch.md.C9S5MlQ9.js new file mode 100644 index 00000000..001e0f81 --- /dev/null +++ b/assets/component_PrimeToggleSwitch.md.C9S5MlQ9.js @@ -0,0 +1,14 @@ +import{_ as i,c as a,o as t,ag as h}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeToggleSwitch","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeToggleSwitch.md","filePath":"component/PrimeToggleSwitch.md"}'),e={name:"component/PrimeToggleSwitch.md"};function n(l,s,k,p,E,r){return t(),a("div",null,s[0]||(s[0]=[h(`A FormKit wrapper for PrimeVue's ToggleSwitch component.
<FormKit type="primetoggleswitch" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeToggleSwitch', id: 'basic', name: 'basic', label: 'Basic' },
+ { $formkit: 'primeToggleSwitch', name: 'eu_citizen', id: 'eu', suffix: 'Are you a european citizen: ' },
+ { $formkit: 'primeToggleSwitch', name: 'confirmation', id: 'confirm', prefix: 'Are you sure ?', wrapperClass: 'flex items-center' },
+ { $formkit: 'primeToggleSwitch', name: 'readonly', label: 'readonly', readonly: true },
+ { $formkit: 'primeToggleSwitch', name: 'custom', label: 'custom values', trueValue: 'A', falseValue: 'B' },
+]
+const data = { readonly: true }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
trueValue | any | Value for ON state |
falseValue | any | Value for OFF state |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
See PrimeVue ToggleSwitch docs for more details.
`,10)]))}const o=i(e,[["render",n]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeToggleSwitch.md.C9S5MlQ9.lean.js b/assets/component_PrimeToggleSwitch.md.C9S5MlQ9.lean.js new file mode 100644 index 00000000..7efed089 --- /dev/null +++ b/assets/component_PrimeToggleSwitch.md.C9S5MlQ9.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as t,ag as h}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeToggleSwitch","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeToggleSwitch.md","filePath":"component/PrimeToggleSwitch.md"}'),e={name:"component/PrimeToggleSwitch.md"};function n(l,s,k,p,E,r){return t(),a("div",null,s[0]||(s[0]=[h("",10)]))}const o=i(e,[["render",n]]);export{g as __pageData,o as default}; diff --git a/assets/component_PrimeTreeSelect.md._eDViFOQ.js b/assets/component_PrimeTreeSelect.md._eDViFOQ.js new file mode 100644 index 00000000..c59aba32 --- /dev/null +++ b/assets/component_PrimeTreeSelect.md._eDViFOQ.js @@ -0,0 +1,50 @@ +import{_ as i,c as a,o as n,ag as t}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeTreeSelect","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeTreeSelect.md","filePath":"component/PrimeTreeSelect.md"}'),h={name:"component/PrimeTreeSelect.md"};function l(p,s,k,e,E,r){return n(),a("div",null,s[0]||(s[0]=[t(`A FormKit wrapper for PrimeVue's TreeSelect component.
<FormKit type="primetreeselect" :options="options" v-model="selected" />
<script setup>
+const options = [
+ {
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' },
+ ],
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [
+ { key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' },
+ ],
+ },
+ ],
+ },
+ {
+ key: '1',
+ label: 'Events',
+ data: 'Events Folder',
+ icon: 'pi pi-fw pi-calendar',
+ children: [
+ { key: '1-0', label: 'Meeting', icon: 'pi pi-fw pi-calendar-plus', data: 'Meeting' },
+ { key: '1-1', label: 'Product Launch', icon: 'pi pi-fw pi-calendar-plus', data: 'Product Launch' },
+ { key: '1-2', label: 'Report Review', icon: 'pi pi-fw pi-calendar-plus', data: 'Report Review' },
+ ],
+ },
+]
+const schema = [
+ { $formkit: 'primeTreeSelect', name: 'treeSelectValue', label: 'Tree Select', selectionMode: 'multiple', options, placeholder: 'Make your selection' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
options | array | Tree options |
placeholder | string | Placeholder text |
selectionMode | string | Selection mode (single, multiple) |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
... | ... | See PrimeVue docs for all props |
See PrimeVue TreeSelect docs for more details.
`,10)]))}const y=i(h,[["render",l]]);export{g as __pageData,y as default}; diff --git a/assets/component_PrimeTreeSelect.md._eDViFOQ.lean.js b/assets/component_PrimeTreeSelect.md._eDViFOQ.lean.js new file mode 100644 index 00000000..a00edf9c --- /dev/null +++ b/assets/component_PrimeTreeSelect.md._eDViFOQ.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as n,ag as t}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"PrimeTreeSelect","description":"","frontmatter":{},"headers":[],"relativePath":"component/PrimeTreeSelect.md","filePath":"component/PrimeTreeSelect.md"}'),h={name:"component/PrimeTreeSelect.md"};function l(p,s,k,e,E,r){return n(),a("div",null,s[0]||(s[0]=[t("",10)]))}const y=i(h,[["render",l]]);export{g as __pageData,y as default}; diff --git a/assets/component_index.md.Dt6wfHvj.js b/assets/component_index.md.Dt6wfHvj.js new file mode 100644 index 00000000..90cd8d61 --- /dev/null +++ b/assets/component_index.md.Dt6wfHvj.js @@ -0,0 +1 @@ +import{_ as i,c as t,o as r,ag as a}from"./chunks/framework.CjgOSNM8.js";const c=JSON.parse('{"title":"PrimeVue FormKit Components","description":"","frontmatter":{},"headers":[],"relativePath":"component/index.md","filePath":"component/index.md"}'),l={name:"component/index.md"};function m(o,e,n,h,u,P){return r(),t("div",null,e[0]||(e[0]=[a('This section documents the available FormKit wrappers for PrimeVue components. Each component has its own dedicated documentation file with usage examples, props, and more details.
Refer to each file for detailed usage and API information.
',5)]))}const s=i(l,[["render",m]]);export{c as __pageData,s as default}; diff --git a/assets/component_index.md.Dt6wfHvj.lean.js b/assets/component_index.md.Dt6wfHvj.lean.js new file mode 100644 index 00000000..99ecb9c9 --- /dev/null +++ b/assets/component_index.md.Dt6wfHvj.lean.js @@ -0,0 +1 @@ +import{_ as i,c as t,o as r,ag as a}from"./chunks/framework.CjgOSNM8.js";const c=JSON.parse('{"title":"PrimeVue FormKit Components","description":"","frontmatter":{},"headers":[],"relativePath":"component/index.md","filePath":"component/index.md"}'),l={name:"component/index.md"};function m(o,e,n,h,u,P){return r(),t("div",null,e[0]||(e[0]=[a("",5)]))}const s=i(l,[["render",m]]);export{c as __pageData,s as default}; diff --git a/assets/guide_examples.md.DsFENP1R.js b/assets/guide_examples.md.DsFENP1R.js new file mode 100644 index 00000000..b5e7129b --- /dev/null +++ b/assets/guide_examples.md.DsFENP1R.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as r,ag as s}from"./chunks/framework.CjgOSNM8.js";const d=JSON.parse('{"title":"Usage Examples","description":"","frontmatter":{},"headers":[],"relativePath":"guide/examples.md","filePath":"guide/examples.md"}'),o={name:"guide/examples.md"};function i(l,e,p,n,u,m){return r(),t("div",null,e[0]||(e[0]=[s('INFO
If you are using this package in your project, please let me know or create a PR for this site
FormKit PrimeVue Demo Application
To use the components there must be an import or global registration.
<FormKitDataEdit v-model="formData" :schema="formSchema"
+ @data-saved="submitHandler"
+/>
Use properties :debug-schema="true" and / or :debug-data="true" for debugging of schema / data.
Property | Type | Description |
---|---|---|
v-model | Object | The data object to be edited with 2-Way-Binding |
data | Object | The data object to be edited |
:schema | Object | The schema object to be used |
:debug-schema | Boolean | Display the schema |
:debug-data | Boolean | Display the data |
:show-reset | Boolean | Display some Button for resetting data to initial state |
Property | Type | Description |
---|---|---|
formClass | String | Add additional classes to the form |
actionsClass | String | Add additional classes to the action div |
submitClass | String | Add additional classes to the submit button |
submitSeverity | String | PrimeVue Button severity |
submitLabel | String | Default: Save |
submitIcon | String | PrimeVue Button icon |
resetClass | String | Add additional classes to the reset button |
resetSeverity | String | PrimeVue Button severity |
resetLabel | String | Default: Reset |
resetIcon | String | PrimeVue Button icon |
<script setup lang='ts'>
+import { FormKitDataEdit } from '@sfxcode/formkit-primevue/components'
+
+const formSchema = ref({}) // some schema should be provided
+const formData = ref({}) // some data
+
+async function submitHandler(data: any) {
+ // some action on form submit
+}
+</script>
+
+<template>
+ <div>
+ <FormKitDataEdit
+ v-model="formData" :schema="formSchema"
+ :debug-schema="false" :debug-data="true"
+ @data-saved="submitHandler"
+ />
+ </div>
+</template>
Same as FormKitDataEdit but without Action Buttons.
`,14))])}const u=a(k,[["render",r]]);export{c as __pageData,u as default}; diff --git a/assets/guide_form.md.BvLBy-EX.lean.js b/assets/guide_form.md.BvLBy-EX.lean.js new file mode 100644 index 00000000..aa305258 --- /dev/null +++ b/assets/guide_form.md.BvLBy-EX.lean.js @@ -0,0 +1 @@ +import{_ as a,C as e,c as l,o as n,j as s,G as h,ag as d,a as p}from"./chunks/framework.CjgOSNM8.js";const c=JSON.parse('{"title":"Form Components","description":"","frontmatter":{},"headers":[],"relativePath":"guide/form.md","filePath":"guide/form.md"}'),k={name:"guide/form.md"};function r(o,t,g,E,y,m){const i=e("DisplayFormComponents");return n(),l("div",null,[t[0]||(t[0]=s("h1",{id:"form-components",tabindex:"-1"},[p("Form Components "),s("a",{class:"header-anchor",href:"#form-components","aria-label":'Permalink to "Form Components"'},"")],-1)),t[1]||(t[1]=s("p",null,"For the simple usage with schema and data values FormKitDataEdit and FormKitDataView (and FormkitDebug) components are available.",-1)),h(i),t[2]||(t[2]=d("",14))])}const u=a(k,[["render",r]]);export{c as __pageData,u as default}; diff --git a/assets/guide_getting-started.md.KFRD0E4X.js b/assets/guide_getting-started.md.KFRD0E4X.js new file mode 100644 index 00000000..24844b59 --- /dev/null +++ b/assets/guide_getting-started.md.KFRD0E4X.js @@ -0,0 +1,101 @@ +import{_ as i,c as a,o as n,ag as h}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/getting-started.md","filePath":"guide/getting-started.md"}'),l={name:"guide/getting-started.md"};function k(p,s,t,E,e,r){return n(),a("div",null,s[0]||(s[0]=[h(`Getting Started
$ pnpm add -D @sfxcode/formkit-primevue
Make sure all components of PrimeVue you want to use are enabled in your configuration.
Add a formkit.config.ts to your root dir and register primeInputs for FormKit.
Sample:
// formkit.config.ts
+import type { DefaultConfigOptions } from '@formkit/vue'
+import { primeInputs } from '@sfxcode/formkit-primevue'
+
+const config: DefaultConfigOptions = {
+ inputs: primeInputs
+}
+
+export default config
This example takes parts of the FormKit validation demo and replace the formkit library elements with the one found in this framework.
The working version can be found at the formkit-primevue-demo. There are also some samples for all wrapped PrimeVue form elements.
<script setup lang='ts'>
+import { reactive, ref } from 'vue'
+
+const options = [
+ { label: 'Every page load', value: 'refresh' },
+ { label: 'Ever hour', value: 'hourly' },
+ { label: 'Every day', value: 'daily' },
+]
+
+const schema = reactive(
+ [
+ {
+ $el: 'h2',
+ children: ['Register ', '$email'],
+ },
+ {
+ $el: 'h3',
+ children: 'Header Text H3',
+ },
+ {
+ $formkit: 'primeInputText',
+ name: 'email',
+ label: 'Email',
+ help: 'This will be used for your account.',
+ validation: 'required|email',
+ },
+ {
+ $formkit: 'primeTextarea',
+ name: 'myText',
+ label: 'Text',
+ validation: '',
+ rows: '3',
+ },
+ {
+ $formkit: 'primeInputText',
+ name: 'password',
+ label: 'Password',
+ help: 'Enter your new password.',
+ validation: 'required|length:5,16',
+ },
+ {
+ $formkit: 'primeInputText',
+ name: 'password_confirm',
+ label: 'Confirm password',
+ help: 'Enter your new password again.',
+ validation: 'required|confirm',
+ validationLabel: 'password confirmation',
+ },
+ {
+ $formkit: 'primeCheckbox',
+ name: 'eu_citizen',
+ id: 'eu',
+ label: 'Are you a european citizen?',
+ },
+ {
+ $formkit: 'primeDropdown',
+ if: '$get(eu).value', // 👀 Oooo, conditionals!
+ name: 'cookie_notice',
+ label: 'Cookie notice frequency',
+ optionLabel: 'label',
+ optionValue: 'value',
+ options,
+ help: 'How often should we display a cookie notice?',
+ },
+ ],
+)
+
+const data = ref({ email: 'tom@sfxcode.com' })
+
+async function submitHandler() {
+ await new Promise(resolve => setTimeout(resolve, 1000))
+}
+</script>
+
+<template>
+ <div class="max-w-xl">
+ <div class="myFormkit">
+ <FormKit
+ id="form"
+ v-model="data"
+ type="form"
+ :submit-attrs="{
+ inputClass: 'p-button p-component',
+ }"
+ @submit="submitHandler"
+ >
+ <FormKitSchema :schema="schema" :data="data" />
+ </FormKit>
+ </div>
+ <h4>Data</h4>
+ <pre>{{ data }}</pre>
+ </div>
+</template>
Only some topics are mentioned ....
formkit-primevue combines the PrimeVue component framework (V4) with the validation power of Formkit in your Vue/Nuxt application.
The main motivation for this project is to use Formkit Validation by Schema with form elements provided by PrimeVue.
Navigate the guide to learn about all features and usage:
INFO
FormKit's schema is a JSON-serializable data format for storing DOM structures and component implementations, including FormKit forms. Although created specifically for implementing and generating forms, the format is capable of generating any HTML markup or using any third-party components.
PrimeVue inputs are prefixed with prime and try to use as many properties as possible from their definition.
const schema = reactive(
+ [
+ {
+ $el: 'h2',
+ children: ['Register ', '$email'],
+ },
+ {
+ $el: 'h3',
+ children: 'Header Text H3',
+ },
+ {
+ $formkit: 'primeInputText',
+ name: 'email',
+ label: 'Email',
+ help: 'This will be used for your account.',
+ validation: 'required|email',
+ },
+ {
+ $formkit: 'primeTextarea',
+ name: 'myText',
+ label: 'Text',
+ validation: '',
+ rows: '3',
+ }
+ ]
+)
formkit-primevue tries to integrate as much PrimeVue inputs as possible.
WARNING
Used inputs by FormKit must be imported global (default).
They are referenced in the startup phase, if FormKit is enabled.
Inputs are used in schema with prime as prefix and the input name as suffix.
E.g. InputMask -> primeInputMask
Below is a list of all supported PrimeVue input components. Click on a component name to view its full documentation and usage examples. For live examples, see the PrimeVue Inputs Demo.
const stringArray = ['refresh', 'hourly', 'daily']
+
+const schema
+= [
+ {
+ $formkit: 'primeDropdown',
+ name: 'selectString',
+ label: 'Simple String Array Dropdown',
+ options: stringArray,
+ },
+]
Here you have to select a property name for optionLabel as key.
const cities = [
+ { name: 'New York', code: 'NY' },
+ { name: 'Rome', code: 'RM' },
+ { name: 'London', code: 'LDN' },
+ { name: 'Istanbul', code: 'IST' },
+ { name: 'Paris', code: 'PRS' },
+]
+
+const schema = [
+ {
+ $formkit: 'primeDropdown',
+ name: 'selectObjectByLabel',
+ label: 'Select Object Dropdown',
+ optionLabel: 'name',
+ options: cities,
+ },
+]
Here you have to select a property name for optionLabel as key and a property name for optionValue as key.
const options = [
+ { label: 'Every page load', value: 'refresh' },
+ { label: 'Every hour', value: 'hourly' },
+ { label: 'Every day', value: 'daily' },
+]
+
+const schema = [
+ {
+ $formkit: 'primeDropdown',
+ name: 'selectValue',
+ label: 'Cookie notice Dropdown',
+ value: 'hourly',
+ optionLabel: 'label',
+ optionValue: 'value',
+ options,
+ help: 'Cookie notice frequency ?',
+ },
+]
formkit-primevue can also be used to output data.
Different types of data can be handled.
WARNING
Some outputs depend on vue-i18n e.g. OutputNumber or OutputDate.
numberFormats / datetimeFormats from vue-i18n are used to display the values accordingly to the selected format.
const formkitItem = {
+ $formkit: 'primeOutputNumber',
+ name: 'number',
+ format: 'decimal', // vue-i18n format
+}
Outputs are used in schema with prime as prefix and the output name as suffix.
E.g. OutputText -> primeOutputText
Below is a list of all supported PrimeVue output components. Click on a component name to view its full documentation and usage examples. For live examples, see the PrimeVue Outputs Demo.
All Output classes support the optional usage of a prefix (text/icon) and a suffix (text/icon).
InputText and InputMask uses iconPrefix/iconSuffix, CheckBox and ToggleButton uses prefix/suffix.
WARNING
FormKit use the props prefixIcon/suffixIcon internal for theme and provides a lookup for available icons when some pattern for props is used. To prevent the behavior for this framework the property names are switched to iconPrefix and iconSuffix.
export const primeOutputTextDefinition: FormKitTypeDefinition = createInput(PrimeOutputText, {
+ props: ['prefix', 'suffix', 'iconPrefix', 'iconSuffix'],
+})
Icons are rendered in an i-Tag and requires a class and text in a span-Tag.
const schema
+= [
+ {
+ $formkit: 'primeOutputBoolean',
+ name: 'falseValue',
+ label: 'False',
+ prefix: 'prefix',
+ iconPrefix: 'pi pi-check',
+ suffix: 'suffix',
+ iconSuffix: 'pi pi-times',
+ }
+]
PrimeVue has a lot of styling possiblities and the structure of a formkit form gives you all possibilities needed for advanced styling.
Basic styling is provided with the formkit-primevue.scss file.
Features:
You can use it or take it as base for your own styling.
Make sure to add a class selector for p-invalid.
formkit-primevue.scss defines a simple grid system based on flex with a 12 columns layout.
For example to place 2 elements side by side give both of them the outerClass value col-6.
const formkitItems = [
+ {
+ $formkit: 'primePassword',
+ name: 'password',
+ label: 'Password',
+ help: 'Enter your new password.',
+ validation: 'required|length:5,16',
+ feedback: true,
+ outerClass: 'col-6',
+ },
+ {
+ $formkit: 'primePassword',
+ name: 'password_confirm',
+ label: 'Confirm password',
+ help: 'Enter your new password again.',
+ validation: 'required|confirm',
+ validationLabel: 'password confirmation',
+ outerClass: 'col-6',
+ },
+]
You can apply custom classes or direct style attributes to your FormKit PrimeVue components:
const schema = [
+ {
+ $formkit: 'primeInputText',
+ name: 'name',
+ label: 'Styling by class',
+ class: 'stylingSampleClass',
+ },
+ {
+ $formkit: 'primeInputText',
+ name: 'name2',
+ label: 'Styling by style attribute',
+ style: { color: 'gray', fontWeight: 700 },
+ },
+]
.p-formkit {
+ .stylingSampleClass {
+ color: green;
+ }
+}
This allows you to use either a CSS class or inline styles for flexible customization.
You can target the outer or inner wrapper of a component for more granular styling:
const schema = [
+ {
+ $formkit: 'primeInputText',
+ name: 'name',
+ label: 'Styling outer class',
+ outerClass: 'stylingOuterClass',
+ },
+ {
+ $formkit: 'primeInputText',
+ name: 'name2',
+ label: 'Styling inner class',
+ innerClass: 'stylingSampleClass',
+ },
+]
.stylingOuterClass {
+ color: yellowgreen;
+}
+.stylingSampleClass input {
+ color: green;
+}
Use the grid system by assigning outerClass
values like col-6
, col-8
, etc., to arrange fields responsively:
const schema = [
+ {
+ $formkit: 'primeInputText',
+ name: 'name',
+ label: 'col-8',
+ outerClass: 'col-8',
+ },
+ {
+ $formkit: 'primeInputText',
+ name: 'name2',
+ label: 'col-4',
+ outerClass: 'col-4',
+ },
+]
Combine grid classes and custom layout for horizontal forms:
const schema = [
+ {
+ $formkit: 'primeInputText',
+ name: 'email',
+ label: 'Email',
+ outerClass: 'col-6',
+ },
+ {
+ $formkit: 'primePassword',
+ name: 'password',
+ label: 'Password',
+ outerClass: 'col-5',
+ },
+ // ...
+]
You can use the pt
property to pass styles or classes directly to PrimeVue components:
const pt_content = {
+ root: { style: 'font-weight: 600;color: green;' },
+}
+const pt_content_style_class = {
+ root: { class: '!text-red-500' },
+}
+const schema = [
+ {
+ $formkit: 'primeInputText',
+ name: 'name',
+ label: 'PassThrough with style',
+ pt: pt_content,
+ },
+ {
+ $formkit: 'primeInputText',
+ name: 'name2',
+ label: 'PassThrough with tailwind like style class',
+ pt: pt_content_style_class,
+ },
+]
These examples demonstrate the flexibility of FormKit PrimeVue components for advanced styling, including class-based, inline, grid, horizontal, and pass-through customizations.
`,40)]))}const o=i(t,[["render",h]]);export{g as __pageData,o as default}; diff --git a/assets/guide_styling.md.DgzD-O8K.lean.js b/assets/guide_styling.md.DgzD-O8K.lean.js new file mode 100644 index 00000000..fe1ae024 --- /dev/null +++ b/assets/guide_styling.md.DgzD-O8K.lean.js @@ -0,0 +1 @@ +import{_ as i,c as a,o as n,ag as l}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"Styling","description":"","frontmatter":{},"headers":[],"relativePath":"guide/styling.md","filePath":"guide/styling.md"}'),t={name:"guide/styling.md"};function h(p,s,e,k,E,r){return n(),a("div",null,s[0]||(s[0]=[l("",40)]))}const o=i(t,[["render",h]]);export{g as __pageData,o as default}; diff --git a/assets/guide_usage.md.D09Ue8TB.js b/assets/guide_usage.md.D09Ue8TB.js new file mode 100644 index 00000000..98c161d7 --- /dev/null +++ b/assets/guide_usage.md.D09Ue8TB.js @@ -0,0 +1,44 @@ +import{_ as i,c as a,o as n,ag as h}from"./chunks/framework.CjgOSNM8.js";const g=JSON.parse('{"title":"Usage","description":"","frontmatter":{},"headers":[],"relativePath":"guide/usage.md","filePath":"guide/usage.md"}'),l={name:"guide/usage.md"};function t(p,s,k,e,E,r){return n(),a("div",null,s[0]||(s[0]=[h(`To build a form a schema is required and some kind of data.
More information can be found in the Formkit Schema documentation.
const schema = reactive(
+ [
+ {
+ $el: 'h2',
+ children: 'Registration Form',
+ },
+ {
+ $el: 'h3',
+ children: ['Register ', '$email'],
+ },
+ {
+ $formkit: 'primeInputText',
+ name: 'email',
+ label: 'Email',
+ help: 'This will be used for your account.',
+ validation: 'required|email',
+ },
+ {
+ $formkit: 'primeTextarea',
+ name: 'comment',
+ label: 'Text',
+ validation: '',
+ rows: '3',
+ }
+ ]
+)
+
+const data = ref({ email: 'tom@sfxcode.com' })
+
+async function submitHandler() {
+ await new Promise(resolve => setTimeout(resolve, 1000))
+}
<template>
+ <FormKit
+ id="form"
+ v-model="data"
+ type="form"
+ :submit-attrs="{
+ inputClass: 'p-button p-component',
+ }"
+ @submit="submitHandler"
+ >
+ <FormKitSchema :schema="schema" :data="data" />
+ </FormKit>
+</template>
A FormKit wrapper for PrimeVue's AutoComplete component.
<FormKit type="primeautocomplete" :options="userList" option-label="name" v-model="selectedUser" />
<script setup>
+const userList = [
+ { id: '1', name: 'Tom', value: '123' },
+ { id: '2', name: 'Tim', value: '124' },
+]
+const selectedUser = ref()
+</script>
+
+<FormKit
+ type="primeautocomplete"
+ label="Object AutoComplete - Use [t]om"
+ :options="userList"
+ option-label="name"
+ v-model="selectedUser"
+/>
const schema = [
+ {
+ $formkit: 'primeAutoComplete',
+ label: 'Object AutoComplete - Use [t]om',
+ options: [
+ { id: '1', name: 'Tom', value: '123' },
+ { id: '2', name: 'Tim', value: '124' },
+ ],
+ optionLabel: 'name',
+ name: 'selectedUser',
+ },
+]
Name | Type | Description |
---|---|---|
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
dropdown | boolean | Show dropdown button |
multiple | boolean | Enable multiple selection |
typeahead | number | Delay for suggestions |
optionLabel | string | Field for label |
options | array | Suggestions list |
size | string | Input size |
minLength | number | Minimum input length |
placeholder | string | Placeholder text |
fluid | boolean | Full width input |
separators | array | Separators for multiple values |
See PrimeVue AutoComplete docs for more details.
A FormKit wrapper for PrimeVue's CascadeSelect component.
<FormKit type="primecascadeselect" :options="options" option-label="cname" option-group-label="name" :option-group-children="['states','cities']" v-model="selectedCity" />
<script setup>
+const options = [
+ {
+ name: 'Australia',
+ code: 'AU',
+ states: [
+ { name: 'New South Wales', cities: [ { cname: 'Sydney', code: 'A-SY' } ] },
+ ],
+ },
+ // ...more countries
+]
+const selectedCity = ref()
+</script>
+
+<FormKit
+ type="primecascadeselect"
+ label="Cascade Select"
+ :options="options"
+ option-label="cname"
+ option-group-label="name"
+ :option-group-children="['states', 'cities']"
+ placeholder="Select a City"
+ v-model="selectedCity"
+/>
const schema = [
+ {
+ $formkit: 'primeCascadeSelect',
+ label: 'Cascade Select',
+ options: [
+ {
+ name: 'Australia',
+ code: 'AU',
+ states: [
+ { name: 'New South Wales', cities: [ { cname: 'Sydney', code: 'A-SY' } ] },
+ ],
+ },
+ // ...more countries
+ ],
+ optionLabel: 'cname',
+ optionGroupLabel: 'name',
+ optionGroupChildren: ['states', 'cities'],
+ placeholder: 'Select a City',
+ name: 'selectedCity',
+ },
+]
Name | Type | Description |
---|---|---|
options | array | Options for selection |
optionLabel | string | Field for label |
optionValue | string | Field for value |
optionGroupLabel | string | Field for group label |
optionGroupChildren | array | Field for group children |
placeholder | string | Placeholder text |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
See PrimeVue CascadeSelect docs for more details.
A FormKit wrapper for PrimeVue's Checkbox component.
<FormKit type="primecheckbox" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeCheckbox', id: 'basic', name: 'basic', label: 'Basic' },
+ { $formkit: 'primeCheckbox', id: 'eu', prefix: 'Are you a european citizen: ' },
+ { $formkit: 'primeCheckbox', id: 'taxes', suffix: 'Taxes includes ' },
+ { $formkit: 'primeCheckbox', name: 'readonly', label: 'readonly', readonly: true },
+ { $formkit: 'primeCheckbox', name: 'indeterminate', label: 'indeterminate', indeterminate: true },
+ { $formkit: 'primeCheckbox', name: 'custom', label: 'custom values', trueValue: 'A', falseValue: 'B' },
+]
+const data = { readonly: true }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
// ...existing code... See PrimeVue Checkbox docs for more details.
A FormKit wrapper for PrimeVue's ColorPicker component.
<FormKit type="primecolorpicker" v-model="color" />
<script setup>
+const schema = [
+ { $formkit: 'primeColorPicker', label: 'Select Color', name: 'color' },
+ { $formkit: 'primeColorPicker', name: 'styled', label: 'Styled + Disabled', style: { background: 'gray' }, class: 'customClass', disabled: true },
+ { $formkit: 'primeColorPicker', name: 'inline', label: 'Inline - Format RGB', inline: true, format: 'rgb' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
defaultColor | string | Default color |
inline | boolean | Inline display |
format | string | Color format |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
See PrimeVue ColorPicker docs for more details.
A FormKit wrapper for PrimeVue's DatePicker component.
<FormKit type="primedatepicker" v-model="date" />
<script setup>
+const schema = [
+ { $formkit: 'primeDatePicker', id: 'basic', name: 'basic', label: 'Basic', placeholder: 'MM/DD/YYYY', validation: 'required' },
+ { $formkit: 'primeDatePicker', name: 'styled', label: 'Styled', style: { background: 'gray' }, class: 'customClass', showIcon: true },
+ { $formkit: 'primeDatePicker', name: 'icon', label: 'Custom Icon', dateFormat: 'yy-mm', showIcon: true, icon: 'pi pi-question' },
+ { $formkit: 'primeDatePicker', name: 'range', label: 'Date Range', selectionMode: 'range', manualInput: false },
+ { $formkit: 'primeDatePicker', name: 'multiple', label: 'Multiple Dates', selectionMode: 'multiple', manualInput: false },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
dateFormat | string | Date format |
placeholder | string | Placeholder text |
selectionMode | string | Selection mode (single, range, multiple) |
inline | boolean | Inline display |
icon | string | Custom icon |
showIcon | boolean | Show calendar icon |
manualInput | boolean | Allow manual input |
... | ... | See PrimeVue docs for all props |
See PrimeVue DatePicker docs for more details.
A FormKit wrapper for PrimeVue's InputMask component.
<FormKit type="primeinputmask" v-model="value" mask="99-999999" />
<script setup>
+const schema = [
+ { $formkit: 'primeInputMask', name: 'myInputMask', label: 'Input Mask', validation: 'required', validationVisibility: 'live', mask: '99-999999', placeholder: '##-######' },
+ { $formkit: 'primeInputMask', name: 'custom', label: 'Input Mask', mask: '(999) 999-9999', iconPrefix: 'pi pi-check', iconSuffix: 'pi pi-check' },
+ { $formkit: 'primeInputMask', name: 'phone', label: 'Phone', mask: '+1 (999) 999-9999', placeholder: '+1 (###) ###-####', validation: 'required', validationVisibility: 'live' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
mask | string | Input mask pattern |
slotChar | string | Slot character |
autoClear | boolean | Auto clear input |
unmask | boolean | Return unmasked value |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
invalid | boolean | Mark as invalid |
variant | string | Visual variant |
size | string | Input size |
See PrimeVue InputMask docs for more details.
A FormKit wrapper for PrimeVue's InputNumber component.
<FormKit type="primeinputnumber" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeInputNumber', name: 'firstNumber', label: 'Input Number', value: 1234, validation: 'max:10000', useGrouping: true, minFractionDigits: 2 },
+ { $formkit: 'primeInputNumber', name: 'secondNumber', label: 'Input Number', value: 999, validation: 'min:900', useGrouping: false, minFractionDigits: 0 },
+ { $formkit: 'primeInputNumber', name: 'fixedNumber', label: 'Input Number', value: 1234, class: 'customClass', style: { background: 'gray' }, readonly: true },
+ { $formkit: 'primeInputNumber', name: 'numberInputWithMinNumber', label: 'Number Input with Min Value', min: 10 },
+ { $formkit: 'primeInputNumber', name: 'customizedInputNumber', label: 'Customized Input Number', placeholder: 'Enter currency', useGrouping: true, minFractionDigits: 2, maxFractionDigits: 4, mode: 'currency', currency: 'USD', locale: 'en-US', showButtons: true, buttonLayout: 'horizontal', step: 0.01 },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
useGrouping | boolean | Use grouping separators |
min | number | Minimum value |
max | number | Maximum value |
minFractionDigits | number | Minimum fraction digits |
maxFractionDigits | number | Maximum fraction digits |
locale | string | Locale for formatting |
mode | string | Input mode (decimal, currency) |
currency | string | Currency code |
prefix | string | Prefix text |
suffix | string | Suffix text |
showButtons | boolean | Show increment/decrement buttons |
buttonLayout | string | Button layout |
step | number | Step increment |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
placeholder | string | Placeholder text |
size | string | Input size |
See PrimeVue InputNumber docs for more details.
A FormKit wrapper for PrimeVue's InputOtp component.
<FormKit type="primeinputotp" v-model="otp" length="6" />
<script setup>
+const schema = [
+ { $formkit: 'primeInputOtp', name: 'firstInput', label: 'Input OTP', length: 6, integerOnly: true, mask: true, variant: 'outlined' },
+ { $formkit: 'primeInputOtp', name: 'secondInput', label: 'Input OTP', length: 3 },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
length | number | Number of OTP digits |
integerOnly | boolean | Only allow integer input |
mask | boolean | Mask input |
variant | string | Visual variant |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
See PrimeVue InputOtp docs for more details.
A FormKit wrapper for PrimeVue's InputText component.
<FormKit type="primeinputtext" v-model="text" />
<script setup>
+const schema = [
+ { $formkit: 'primeInputText', name: 'name', label: 'Basic', validation: 'required', help: 'Some Help Text' },
+ { $formkit: 'primeInputText', name: 'telephone', placeholder: 'telephone', help: 'Input Type: tel', label: 'Telephone', inputType: 'tel' },
+ { $formkit: 'primeInputText', id: 'icon', name: 'iconLeft', label: 'Icon Left', placeholder: 'icon', iconPrefix: 'pi pi-check' },
+ { $formkit: 'primeInputText', name: 'iconRight', label: 'Icon Right (Disabled) - smize: small', help: 'Right Icon Demo', iconSuffix: 'pi pi-check', disabled: true, size: 'small' },
+]
+const data = { name: 'Harry Potter', iconLeft: 'Some Text ...', iconRight: 'Another Text ...' }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
inputType | string | Input type (e.g. text, tel) |
placeholder | string | Placeholder text |
See PrimeVue InputText docs for more details.
A FormKit wrapper for PrimeVue's Knob component.
<FormKit type="primeknob" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeKnob', name: 'knob', label: 'Use Knob', value: 50, validation: 'min:20|max:80' },
+ { $formkit: 'primeKnob', name: 'custom', label: 'Customized Knob', min: 42, max: 98, step: 4, value: 58, showValue: false },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
min | number | Minimum value |
max | number | Maximum value |
step | number | Step increment |
size | number | Knob size |
strokeWidth | number | Stroke width |
showValue | boolean | Show value inside knob |
valueColor | string | Value color |
rangeColor | string | Range color |
textColor | string | Text color |
valueTemplate | string | Value template |
See PrimeVue Knob docs for more details.
A FormKit wrapper for PrimeVue's Listbox component.
<FormKit type="primelistbox" :options="options" option-label="label" option-value="value" v-model="selected" />
<script setup>
+const options = [
+ { label: 'Every page load', value: 'refresh' },
+ { label: 'Every hour', value: 'hourly' },
+ { label: 'Every day', value: 'daily' },
+]
+const schema = [
+ { $formkit: 'primeListbox', name: 'cookie_notice', label: 'Cookie notice', value: 'hourly', optionLabel: 'label', optionValue: 'value', options, help: 'Cookie notice frequency ?' },
+ { $formkit: 'primeListbox', name: 'styled', label: 'Styled and Diabled', value: 'hourly', style: { background: 'gray' }, class: 'customClass', optionLabel: 'label', optionValue: 'value', options, disabled: true },
+ { $formkit: 'primeListbox', name: 'custom', label: 'With Multiple Select and Filter', multiple: true, filter: true, placeholder: 'Please select', optionLabel: 'label', optionValue: 'value', options, validation: 'required' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
options | array | List of options |
optionLabel | string | Field for label |
optionValue | string | Field for value |
multiple | boolean | Enable multiple selection |
filter | boolean | Enable filtering |
filterIcon | string | Icon for filter |
filterPlaceholder | string | Placeholder for filter |
filterLocale | string | Locale for filter |
filterMatchMode | string | Filter match mode |
autoOptionFocus | boolean | Auto focus option |
selectOnFocus | boolean | Select on focus |
See PrimeVue Listbox docs for more details.
A FormKit wrapper for PrimeVue's MultiSelect component.
<FormKit type="primemultiselect" :options="options" option-label="label" option-value="value" v-model="selected" />
<script setup>
+const options = [
+ { label: 'Every page load', value: 'refresh' },
+ { label: 'Every hour', value: 'hourly' },
+ { label: 'Every day', value: 'daily' },
+]
+const schema = [
+ { $formkit: 'primeMultiSelect', name: 'cookie_notice', label: 'Cookie notice MultiSelect', optionLabel: 'label', optionValue: 'value', options, help: 'Cookie notice frequency ?' },
+ { $formkit: 'primeMultiSelect', name: 'styled', label: 'Styled', style: { background: 'gray' }, class: 'customClass', optionLabel: 'label', optionValue: 'value', options, disabled: true },
+ { $formkit: 'primeMultiSelect', name: 'custom', label: 'With Multiple Select and Filter', filter: true, placeholder: 'Please select', optionLabel: 'label', optionValue: 'value', options, validation: 'required' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
options | array | List of options |
optionLabel | string | Field for label |
optionValue | string | Field for value |
filter | boolean | Enable filtering |
placeholder | string | Placeholder text |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
... | ... | See PrimeVue docs for all props |
See PrimeVue MultiSelect docs for more details.
A FormKit wrapper for PrimeVue's OutputBoolean component.
<FormKit type="primeoutputboolean" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeOutputBoolean', name: 'trueValue', label: 'Default' },
+ { $formkit: 'primeOutputBoolean', name: 'trueValue', prefix: 'Boolean Value:' },
+ { $formkit: 'primeOutputBoolean', name: 'falseValue', label: 'False Example' },
+ { $formkit: 'primeOutputBoolean', name: 'trueValue', label: 'True with custom Text', trueValue: 'Sure' },
+ { $formkit: 'primeOutputBoolean', name: 'falseValue', label: 'False with custom Text', falseValue: 'Never' },
+ { $formkit: 'primeOutputBoolean', name: 'trueValue', label: 'Conditional true - only Icon', if: '$trueValue', trueValue: '', iconSuffix: 'pi pi-check' },
+ { $formkit: 'primeOutputBoolean', name: 'falseValue', label: 'Conditional false - only Icon', if: '!$falseValue', falseValue: '', iconSuffix: 'pi pi-minus' },
+]
+const data = { trueValue: true, falseValue: false }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
trueValue | any | Value for true state |
falseValue | any | Value for false state |
prefix | string | Prefix text |
suffix | string | Suffix text |
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
See PrimeOutputBoolean source for more details.
A FormKit wrapper for PrimeVue's OutputDate component.
<FormKit type="primeoutputdate" v-model="date" />
<script setup>
+const schema = [
+ { $formkit: 'primeOutputDate', name: 'date1', label: 'Basic' },
+ { $formkit: 'primeOutputDate', id: 'date2', name: 'date2', label: 'Icon Left', iconPrefix: 'pi pi-check' },
+ { $formkit: 'primeOutputDate', name: 'date3', label: 'Icon Right', help: 'Right Icon Demo', iconSuffix: 'pi pi-check text-yellow-500' },
+]
+const data = { date1: new Date(), date2: new Date(), date3: new Date() }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputDate source for all props |
See PrimeOutputDate source for more details.
A FormKit wrapper for PrimeVue's OutputDuration component.
<FormKit type="primeoutputduration" v-model="duration" />
<script setup>
+function prefixClicked() {
+ console.error('Prefix Icon Clicked')
+}
+const schema = [
+ { $formkit: 'primeOutputDuration', name: 'duration1', label: 'Duration' },
+ { $formkit: 'primeOutputDuration', name: 'duration2', label: 'Another Duration' },
+ { $formkit: 'primeOutputDuration', name: 'duration3', label: 'Another Duration', iconPrefix: 'pi pi-check', onIconPrefixClicked: prefixClicked },
+]
+const data = { duration1: '142', duration2: '4h35m', duration3: '3:47' }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputDuration source for all props |
See PrimeOutputDuration source for more details.
A FormKit wrapper for PrimeVue's OutputLink component.
<FormKit type="primeoutputlink" v-model="link" />
<script setup>
+const schema = [
+ { $formkit: 'primeOutputLink', name: 'link1', label: 'External Link' },
+ { $formkit: 'primeOutputLink', name: 'link2', label: 'Ensure protocol and use custom title', title: 'Click me' },
+]
+const data = { link1: 'https://github.com/sfxcode', link2: 'sfxcode.github.io/formkit-primevue' }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
title | string | Link title |
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputLink source for all props |
See PrimeOutputLink source for more details.
A FormKit wrapper for PrimeVue's OutputList component.
<FormKit type="primeoutputlist" v-model="list" />
<script setup>
+function convertValues(value) {
+ return value.map(item => item.toUpperCase())
+}
+function convertValuesCharCount(value) {
+ return value.map(item => `${item} (${item.length})`)
+}
+function convertValuesSortedReverse(value) {
+ return value.sort((a, b) => a.localeCompare(b)).reverse()
+}
+const schema = [
+ { $formkit: 'primeOutputList', name: 'list1', label: 'Default Divider' },
+ { $formkit: 'primeOutputList', name: 'list1', label: 'Custom Divider', divider: ' ' },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Custom Divider with Prefix Icon', iconPrefix: 'pi pi-list', divider: ' - ' },
+ { $formkit: 'primeOutputList', name: 'list1', label: 'Converter Function', convertValue: convertValues, divider: ' - ' },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Converter Function - Char Count', convertValue: convertValuesCharCount },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Converter Function - Sorted Reverse', convertValue: convertValuesSortedReverse },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Use Chip Item Class', itemClass: 'p-chip-item', divider: ' ' },
+ { $formkit: 'primeOutputList', name: 'list1', label: 'Use listStyle: span', listStyle: 'span' },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Use listStyle: div', listStyle: 'div' },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Use listStyle: ul', listStyle: 'ul' },
+ { $formkit: 'primeOutputList', name: 'list2', label: 'Use listStyle: ol', listStyle: 'ol' },
+]
+const data = { list1: ['Hello', 'World'], list2: ['FormKit', 'meets', 'PrimeVue'] }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
divider | string | Divider between items |
convertValue | function | Function to convert values |
listStyle | string | List style (span, div, ul, ol) |
itemClass | string | Class for list items |
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputList source for all props |
See PrimeOutputList source for more details.
A FormKit wrapper for PrimeVue's OutputNumber component.
<FormKit type="primeoutputnumber" v-model="number" />
<script setup>
+const schema = [
+ { $formkit: 'primeOutputNumber', name: 'mumber1', format: 'decimal', label: 'Basic' },
+ { $formkit: 'primeOutputNumber', name: 'number2', label: 'Icon Left', iconPrefix: 'pi pi-check' },
+ { $formkit: 'primeOutputNumber', name: 'number3', format: 'currency', label: 'Icon Right', help: 'Right Icon Demo', iconSuffix: 'pi pi-check' },
+]
+const data = { mumber1: 12.2, number2: 42.0, number3: 20000 }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
format | string | Number format (decimal, currency, etc.) |
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputNumber source for all props |
See PrimeOutputNumber source for more details.
A FormKit wrapper for PrimeVue's OutputReference component.
<FormKit type="primeoutputreference" v-model="reference" />
<script setup>
+const schema = [
+ { $formkit: 'primeOutputReference', name: 'externalId', label: 'External Link', reference: 'https://github.com/sfxcode/{{value}}' },
+ { $formkit: 'primeOutputReference', name: 'externalValue', label: 'External Link with custom title', title: 'Show on GitHub', reference: 'https://github.com/sfxcode/{{valueNameNotImportant}}' },
+ { $formkit: 'primeOutputReference', name: 'internalLink', label: 'Internal Link', internal: true, reference: '/outputs/{{value}}' },
+ { $formkit: 'primeOutputReference', name: 'internalLink', label: 'Internal Link with custom title', internal: true, title: 'Show: {{value}}', reference: '/outputs/{{value}}' },
+]
+const data = { externalId: 42, externalValue: 'formkit-primevue', internalLink: 'outputLink' }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
reference | string | Reference URL or path |
title | string | Link title |
internal | boolean | Use internal router link |
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputReference source for all props |
See PrimeOutputReference source for more details.
A FormKit wrapper for PrimeVue's OutputText component.
<FormKit type="primeoutputtext" v-model="text" />
<script setup>
+function prefixClicked() {
+ console.error('Prefix Icon Clicked')
+}
+function suffixClicked() {
+ console.error('Suffix Icon Clicked')
+}
+const schema = [
+ { $formkit: 'primeOutputText', name: 'name', label: 'Basic' },
+ { $formkit: 'primeOutputText', name: 'toTranslate', isTranslationKey: true, label: 'Translated' },
+ { $formkit: 'primeOutputText', name: 'html', label: 'HTML as Text (Default)' },
+ { $formkit: 'primeOutputText', name: 'html', html: true, label: 'HTML Output (v-html)', help: 'Only use on trusted content or sanitize after input !' },
+ { $formkit: 'primeOutputText', id: 'icon', name: 'iconLeft', label: 'Icon Left', iconPrefix: 'pi pi-check', onIconPrefixClicked: prefixClicked },
+ { $formkit: 'primeOutputText', name: 'iconRight', label: 'Icon Right', iconSuffix: 'pi pi-check text-yellow-500', onIconSuffixClicked: suffixClicked },
+]
+const data = { name: 'Harry Potter', toTranslate: 'sample', iconLeft: 'Some Text ...', iconRight: 'Another Text ...', html: '<b style="color: gold">Bold Hello World</b>' }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
html | boolean | Render as HTML (v-html) |
isTranslationKey | boolean | Use i18n translation |
iconPrefix | string | Icon for prefix |
iconSuffix | string | Icon for suffix |
prefix | string | Prefix text |
suffix | string | Suffix text |
... | ... | See PrimeOutputText source for all props |
See PrimeOutputText source for more details.
A FormKit wrapper for PrimeVue's Password component.
<FormKit type="primepassword" v-model="password" />
<script setup>
+const schema = [
+ { $formkit: 'primePassword', name: 'password', label: 'Password', help: 'Enter your new password', feedback: true },
+ { $formkit: 'primePassword', name: 'password_confirm', label: 'Confirm password', help: 'Enter your new password again.', validation: 'required|confirm', toggleMask: true, validationLabel: 'password confirmation' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
feedback | boolean | Show password strength feedback |
mediumRegex | string | Regex for medium strength |
strongRegex | string | Regex for strong strength |
promptLabel | string | Prompt label |
weakLabel | string | Weak label |
mediumLabel | string | Medium label |
strongLabel | string | Strong label |
maskIcon | string | Icon for mask |
unmaskIcon | string | Icon for unmask |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
placeholder | string | Placeholder text |
toggleMask | boolean | Show toggle mask button |
size | string | Input size |
See PrimeVue Password docs for more details.
A FormKit wrapper for PrimeVue's RadioButton component.
<FormKit type="primeradiobutton" :options="options" option-label="label" option-value="value" v-model="selected" />
<script setup>
+const schema = [
+ { $formkit: 'primeRadioButton', id: 'basic', label: 'Select', name: 'basic', optionLabel: 'label', optionValue: 'value', options: [
+ { label: 'Every page load', value: 'refresh' },
+ { label: 'Every hour', value: 'hourly' },
+ { label: 'Every day', value: 'daily' },
+ ] },
+ { $formkit: 'primeRadioButton', id: 'answer', label: 'Select Answer', name: 'answer', optionLabel: 'label', optionValue: 'value', options: [
+ { label: 'A', value: 'A' },
+ { label: 'B', value: 'B' },
+ { label: 'C', value: 'C' },
+ { label: 'D', value: 'D' },
+ { label: 'E', value: 'E' },
+ ] },
+]
+const data = { basic: 'refresh' }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
options | array | List of options |
optionLabel | string | Field for label |
optionValue | string | Field for value |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
... | ... | See PrimeVue docs for all props |
See PrimeVue RadioButton docs for more details.
A FormKit wrapper for PrimeVue's Rating component.
<FormKit type="primerating" v-model="rating" />
<script setup>
+const schema = [
+ { $formkit: 'primeRating', label: 'Select Rating', name: 'rating' },
+ { $formkit: 'primeRating', label: 'Select Rating', name: 'ratingDisabled', value: 3, disabled: true },
+ { $formkit: 'primeRating', label: 'Select Rating', name: 'ratingCancel', value: 7, stars: 10, cancel: true },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
stars | number | Number of stars |
cancel | boolean | Show cancel icon |
onIcon | string | Icon for selected star |
offIcon | string | Icon for unselected star |
cancelIcon | string | Icon for cancel |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
See PrimeVue Rating docs for more details.
A FormKit wrapper for PrimeVue's Select component.
<FormKit type="primeselect" :options="options" option-label="label" option-value="value" v-model="selected" />
<script setup>
+const options = [
+ { label: 'Every page load', value: 'refresh' },
+ { label: 'Every hour', value: 'hourly' },
+ { label: 'Every day', value: 'daily' },
+]
+const cities = [
+ { name: 'New York', code: 'NY' },
+ { name: 'Rome', code: 'RM' },
+ { name: 'London', code: 'LDN' },
+ { name: 'Istanbul', code: 'IST' },
+ { name: 'Paris', code: 'PRS' },
+]
+const stringArray = ['refresh', 'hourly', 'daily']
+const schema = [
+ { $formkit: 'primeSelect', name: 'selectValue', label: 'Cookie notice Select', value: 'hourly', optionLabel: 'label', optionValue: 'value', options, help: 'Cookie notice frequency ?' },
+ { $formkit: 'primeSelect', name: 'selectObjectByLabel', label: 'Select Object', optionLabel: 'name', options: cities },
+ { $formkit: 'primeSelect', name: 'selectString', label: 'Simple String Array Select', options: stringArray },
+ { $formkit: 'primeSelect', name: 'styled', label: 'Styled', value: 'hourly', style: { background: 'gray' }, class: 'customClass', optionLabel: 'label', optionValue: 'value', options, disabled: true },
+ { $formkit: 'primeSelect', name: 'custom', label: 'With Clear and Filter', showClear: true, filter: true, placeholder: 'Please select', optionLabel: 'label', optionValue: 'value', options, validation: 'required' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
options | array | List of options |
optionLabel | string | Field for label |
optionValue | string | Field for value |
showClear | boolean | Show clear button |
filter | boolean | Enable filtering |
placeholder | string | Placeholder text |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
... | ... | See PrimeVue docs for all props |
See PrimeVue Select docs for more details.
A FormKit wrapper for PrimeVue's SelectButton component.
<FormKit type="primeselectbutton" :options="options" option-label="label" option-value="value" v-model="selected" />
<script setup>
+const selectOptions = [
+ { label: 'yes', value: 'YES' },
+ { label: 'no', value: 'NO' },
+ { label: 'maybe', value: 'MAYBE' },
+]
+const selectOptions2 = [
+ { label: 'Email', value: 'mail' },
+ { label: 'Phone', value: 'phone' },
+ { label: 'Chat', value: 'chat' },
+]
+const schema = [
+ { $formkit: 'primeSelectButton', label: 'SelectButton', name: 'selectButton', options: selectOptions, optionLabel: 'label', optionValue: 'value', value: 'MAYBE', unselectable: false },
+ { $formkit: 'primeSelectButton', label: 'Contact options', name: 'selectButtonMultiple', optionLabel: 'label', optionValue: 'value', options: selectOptions2, multiple: true },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
options | array | List of options |
optionLabel | string | Field for label |
optionValue | string | Field for value |
optionDisabled | boolean | Disable option |
multiple | boolean | Enable multiple selection |
dataKey | string | Unique key for options |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
size | string | Input size |
... | ... | See PrimeVue docs for all props |
See PrimeVue SelectButton docs for more details.
A FormKit wrapper for PrimeVue's Slider component.
<FormKit type="primeslider" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeSlider', name: 'slider', label: 'Use Slider', class: 'mt-2 w-72', min: 5, max: 100, step: 5, value: 10, validation: 'min:20|max:80' },
+ { $formkit: 'primeSlider', name: 'sliderVertical', label: 'Use Slider', min: 1, max: 10, value: 4, orientation: 'vertical' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
min | number | Minimum value |
max | number | Maximum value |
step | number | Step increment |
range | boolean | Enable range selection |
orientation | string | Orientation (horizontal/vertical) |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
See PrimeVue Slider docs for more details.
A FormKit wrapper for PrimeVue's Textarea component.
<FormKit type="primetextarea" v-model="text" />
<script setup>
+const schema = [
+ { $formkit: 'primeTextarea', id: 'basic', name: 'name', placeholder: 'Basic', label: 'Basic', help: 'Required.', validation: 'required' },
+ { $formkit: 'primeTextarea', name: 'name', label: '5 Rows', rows: 5, autoResize: true },
+ { $formkit: 'primeTextarea', name: 'name', placeholder: 'Styled', style: { background: 'gray' }, class: 'customClass' },
+ { $formkit: 'primeTextarea', name: 'name', placeholder: 'Read Only', readonly: true },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
autoResize | boolean | Auto-resize textarea |
size | string | Input size |
placeholder | string | Placeholder text |
rows | number | Number of rows |
See PrimeVue Textarea docs for more details.
A FormKit wrapper for PrimeVue's ToggleButton component.
<FormKit type="primetogglebutton" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeToggleButton', label: 'ToggleButton', name: 'toggleButton' },
+ { $formkit: 'primeToggleButton', label: 'Second ToggleButton', name: 'toggleButtonRight', iconPos: 'right' },
+ { $formkit: 'primeToggleButton', label: 'Custom ToggleButton', name: 'toggleButtonCustom', iconPos: 'right', onIcon: 'pi pi-plus', offIcon: 'pi pi-minus', onLabel: 'plus', offLabel: 'minus' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
onLabel | string | Label for ON state |
offLabel | string | Label for OFF state |
onIcon | string | Icon for ON state |
offIcon | string | Icon for OFF state |
iconPos | string | Icon position |
size | string | Input size |
See PrimeVue ToggleButton docs for more details.
A FormKit wrapper for PrimeVue's ToggleSwitch component.
<FormKit type="primetoggleswitch" v-model="value" />
<script setup>
+const schema = [
+ { $formkit: 'primeToggleSwitch', id: 'basic', name: 'basic', label: 'Basic' },
+ { $formkit: 'primeToggleSwitch', name: 'eu_citizen', id: 'eu', suffix: 'Are you a european citizen: ' },
+ { $formkit: 'primeToggleSwitch', name: 'confirmation', id: 'confirm', prefix: 'Are you sure ?', wrapperClass: 'flex items-center' },
+ { $formkit: 'primeToggleSwitch', name: 'readonly', label: 'readonly', readonly: true },
+ { $formkit: 'primeToggleSwitch', name: 'custom', label: 'custom values', trueValue: 'A', falseValue: 'B' },
+]
+const data = { readonly: true }
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
trueValue | any | Value for ON state |
falseValue | any | Value for OFF state |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
See PrimeVue ToggleSwitch docs for more details.
A FormKit wrapper for PrimeVue's TreeSelect component.
<FormKit type="primetreeselect" :options="options" v-model="selected" />
<script setup>
+const options = [
+ {
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' },
+ ],
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [
+ { key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' },
+ ],
+ },
+ ],
+ },
+ {
+ key: '1',
+ label: 'Events',
+ data: 'Events Folder',
+ icon: 'pi pi-fw pi-calendar',
+ children: [
+ { key: '1-0', label: 'Meeting', icon: 'pi pi-fw pi-calendar-plus', data: 'Meeting' },
+ { key: '1-1', label: 'Product Launch', icon: 'pi pi-fw pi-calendar-plus', data: 'Product Launch' },
+ { key: '1-2', label: 'Report Review', icon: 'pi pi-fw pi-calendar-plus', data: 'Report Review' },
+ ],
+ },
+]
+const schema = [
+ { $formkit: 'primeTreeSelect', name: 'treeSelectValue', label: 'Tree Select', selectionMode: 'multiple', options, placeholder: 'Make your selection' },
+]
+const data = {}
+</script>
+
+<template>
+ <FormKit :schema="schema" :data="data" />
+</template>
Name | Type | Description |
---|---|---|
options | array | Tree options |
placeholder | string | Placeholder text |
selectionMode | string | Selection mode (single, multiple) |
pt | object | Pass-through options |
ptOptions | object | Pass-through options |
unstyled | boolean | Disable default styles |
... | ... | See PrimeVue docs for all props |
See PrimeVue TreeSelect docs for more details.
This section documents the available FormKit wrappers for PrimeVue components. Each component has its own dedicated documentation file with usage examples, props, and more details.
Refer to each file for detailed usage and API information.
{{ formSchema }}-
{{ schemaResult }}- - -
{{ data }}-
{{ data }}-
{{ data }}- No Data available -