VvFormGroup Component
The VvFormGroup Component provides a variety of props and config module based settings to make a variety of element configurations for any element itself or as a parent, child, or sibling element with color contextual relations with other contextual elements.
Import
To import a VvFormGroup Component installed by the vueventus CLI or vv-update CLI:
// ./src/components/SomeComponent.vue
import VvFormGroup from './vv/forms/VvFormGroup.vue'
TIP
CLI installed components pass through VueVentus defaults via component props. Each prop default value can be customized globally by overriding VvConfig defaults in your app ./src/app.vv.ts
file or singularly in a component instance.
Alternatively, you can install the raw library VvFormGroup Component with:
import { VvFormGroup } from '@obewds/vueventus'
TIP
Importing raw VueVentus library components will still apply your ./src/app.vv.ts
settings automatically through the Vue provide()
and inject()
pattern. All raw VueVentus library components automatically check for a provided "vv"
keyed object with a ConfigVv type interface.
CLI or Raw?
The main difference between raw library components and CLI installed components, is that you have no control over component defaults with raw library components. This is less flexible than using CLI installed components, because control of component defaults can greatly reduce the number of props a dev has to type for component instances, which reduces app code.
Meanwhile, the control CLI installed components provide through customizable defaults, opens up to a global level (styling management system) control for default component state characteristic values (particularly powerful with color and proportional size characteristics).
Prop: debug
Type: Boolean
Default: false
The VvFormGroup Component debug
prop toggles the debugging state of a component instance. When in debugging mode, each component instance prop value can be viewed through data-vv-form-group-
prefixed HTML attributes.
Syntax
<VvFormGroup
label="Debug Example:"
label-for="debug-id"
:debug="true"
>
<VvInput id="debug-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: displayError
Type: Boolean
Default: false
The VvFormGroup Component displayError
prop works in conjunction with the errorText
prop to display the markup containing error text as well as error classes and colors.
Syntax
<VvFormGroup
label="Example Label:"
label-for="displayError-id"
:display-error="true"
error-text="Example error text"
>
<VvInput id="displayError-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: displayHelp
Type: Boolean
Default: false
The VvFormGroup Component displayHelp
prop works in conjunction with the helpText
prop to display the markup containing error text as well as error classes and colors.
Syntax
<VvFormGroup
label="Example Label:"
label-for="displayHelp-id"
:display-help="true"
help-text="Example help text"
>
<VvInput id="displayHelp-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: displaySuccess
Type: Boolean
Default: false
The VvFormGroup Component displaySuccess
prop works in conjunction with the successText
prop to display the markup containing error text as well as error classes and colors.
Syntax
<VvFormGroup
label="Example Label:"
label-for="displaySuccess-id"
:display-success="true"
success-text="Example success text"
>
<VvInput id="displaySuccess-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: errorClasses
Type: String
Default: ""
The VvFormGroup Component errorClasses
prop sets the classes for the component error text's parent element.
Syntax
<VvFormGroup
label="Example Label:"
label-for="errorClasses-id"
:display-error="true"
error-classes="text-2xl"
error-text="Example error text"
>
<VvInput id="errorClasses-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: errorText
Type: String
Default: ""
The VvFormGroup Component errorText
prop sets the text string for the component error text.
Syntax
<VvFormGroup
label="Example Label:"
label-for="errorText-id"
:display-error="true"
error-text="This is the error-text"
>
<VvInput id="errorText-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: errorTextColor
Type: String
Default: "error"
The VvFormGroup Component errorTextColor
prop sets the error text's underlying VvEl component's text palette color.
Syntax
<VvFormGroup
label="Example Label:"
label-for="errorTextColor-id"
:display-error="true"
error-text-color="secondary"
error-text="This is secondary color error text!"
>
<VvInput id="errorTextColor-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Typing for Downstream Component Instances
Coming Soon!
Prop: errorTextPalette
Type: String
Default: "default"
The VvFormGroup Component errorTextPalette
prop sets the error text's underlying VvEl component's text palette value.
Syntax
<VvFormGroup
label="Example Label:"
label-for="errorTextPalette-id"
:display-error="true"
error-text-palette="default"
error-text="Example text"
>
<VvInput id="errorTextPalette-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Typing for Downstream Component Instances
Coming Soon!
Prop: errorTextSize
Type: String
Default: "sm"
The VvFormGroup Component errorTextSize
prop sets the error text's underlying VvEl component's text size value.
Syntax
<VvFormGroup
label="Example Label:"
label-for="errorTextSize-id"
:display-error="true"
error-text-size="2xl"
error-text="Example text"
>
<VvInput id="errorTextSize-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Typing for Downstream Component Instances
Coming Soon!
Prop: helpClasses
Type: String
Default: "opacity-75"
The VvFormGroup Component helpClasses
prop sets the classes for the component help text's parent element.
Syntax
<VvFormGroup
label="Example Label:"
label-for="helpClasses-id"
:display-help="true"
help-classes="text-2xl"
help-text="Example help text"
>
<VvInput id="helpClasses-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: helpText
Type: String
Default: ""
The VvFormGroup Component helpText
prop sets the text string for the component help text.
Syntax
<VvFormGroup
label="Example Label:"
label-for="helpText-id"
:display-help="true"
help-text="This is the help-text"
>
<VvInput id="helpText-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: helpTextColor
Type: String
Default: "default"
The VvFormGroup Component helpTextColor
prop sets the help text's underlying VvEl component's text palette color.
Syntax
<VvFormGroup
label="Example Label:"
label-for="helpTextColor-id"
:display-help="true"
help-text-color="secondary"
help-text="This is secondary color help text!"
>
<VvInput id="helpTextColor-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Typing for Downstream Component Instances
Coming Soon!
Prop: helpTextPalette
Type: String
Default: "default"
The VvFormGroup Component helpTextPalette
prop sets the help text's underlying VvEl component's text palette value.
Syntax
<VvFormGroup
label="Example Label:"
label-for="helpTextPalette-id"
:display-help="true"
help-text-palette="default"
help-text="Example text"
>
<VvInput id="helpTextPalette-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Typing for Downstream Component Instances
Coming Soon!
Prop: helpTextSize
Type: String
Default: "sm"
The VvFormGroup Component helpTextSize
prop sets the help text's underlying VvEl component's text size value.
Syntax
<VvFormGroup
label="Example Label:"
label-for="helpTextSize-id"
:display-help="true"
help-text-size="2xl"
help-text="Example text"
>
<VvInput id="helpTextSize-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Typing for Downstream Component Instances
Coming Soon!
Prop: label
Type: String
Required: true
The VvFormGroup Component label
prop sets the label text string for the component.
Required Prop
The label
prop is a required prop for each instance of the VvFormGroup Component.
Syntax
<VvFormGroup
label="Example Label:"
label-for="label-id"
>
<VvInput id="label-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: labelFor
Type: String
Required: true
The VvFormGroup Component labelFor
prop sets the component's returned label for
attribute value, so you can match that with a slotted VvInput component for example, to properly associate the label to the input for both semantics and usability advantages.
Required Prop
The labelFor
prop is a required prop for each instance of the VvFormGroup Component.
Syntax
<VvFormGroup
label="Example Label:"
label-for="labelFor-id"
>
<VvInput id="labelFor-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: labelClasses
Type: String
Default: "capitalize"
The VvFormGroup Component labelClasses
prop sets the component's returned label element's class value.
Syntax
<VvFormGroup
label="Example Label:"
label-for="labelClasses-id"
label-classes="uppercase"
>
<VvInput id="labelClasses-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: labelTextColor
Type: String
Default: "default"
The VvFormGroup Component labelTextColor
prop sets the component's returned label's underlying VvEl component's text palette color value.
Syntax
<VvFormGroup
label="Example Label:"
label-for="labelTextColor-id"
label-text-color="primary"
>
<VvInput id="labelTextColor-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Typing for Downstream Component Instances
Coming Soon!
Prop: labelTextPalette
Type: String
Default: "default"
The VvFormGroup Component labelTextPalette
prop sets the label text's underlying VvEl component's text palette value.
Syntax
<VvFormGroup
label="Example Label:"
label-for="labelTextPalette-id"
label-text-palette="default"
>
<VvInput id="labelTextPalette-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Typing for Downstream Component Instances
Coming Soon!
Prop: labelTextSize
Type: String
Default: "md"
The VvFormGroup Component labelTextSize
prop sets the label text's underlying VvEl component's size value.
Syntax
<VvFormGroup
label="Example 2XL Label:"
label-for="labelTextSize-id"
label-text-palette="default"
label-text-size="2xl"
>
<VvInput id="labelTextSize-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Typing for Downstream Component Instances
Coming Soon!
Prop: slotParentClasses
Type: String
Default: "flex items-center gap-1"
The VvFormGroup Component slotParentClasses
prop sets the component's returned label's underlying VvEl component's text palette color value.
Syntax
<VvFormGroup
label="Example Label:"
label-for="slotParentClasses-id"
slot-parent-classes="flex items-center gap-1"
>
<VvInput id="slotParentClasses-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: successClasses
Type: String
Default: ""
The VvFormGroup Component successClasses
prop sets the classes for the component success text's parent element.
Syntax
<VvFormGroup
label="Example Label:"
label-for="successClasses-id"
:display-success="true"
success-classes="text-2xl"
success-text="Example success text"
>
<VvInput id="successClasses-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: successText
Type: String
Default: ""
The VvFormGroup Component successText
prop sets the text string for the component success text.
Syntax
<VvFormGroup
label="Example Label:"
label-for="successText-id"
:display-success="true"
success-text="This is the success-text"
>
<VvInput id="successText-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Prop: successTextColor
Type: String
Default: "success"
The VvFormGroup Component successTextColor
prop sets the success text's underlying VvEl component's text palette color.
Syntax
<VvFormGroup
label="Example Label:"
label-for="successTextColor-id"
:display-success="true"
success-text-color="secondary"
success-text="This is secondary color success text!"
>
<VvInput id="successTextColor-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Typing for Downstream Component Instances
Coming Soon!
Prop: successTextPalette
Type: String
Default: "default"
The VvFormGroup Component successTextPalette
prop sets the success text's underlying VvEl component's text palette value.
Syntax
<VvFormGroup
label="Example Label:"
label-for="successTextPalette-id"
:display-success="true"
success-text-palette="default"
success-text="Example text"
>
<VvInput id="successTextPalette-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Typing for Downstream Component Instances
Coming Soon!
Prop: successTextSize
Type: String
Default: "sm"
The VvFormGroup Component successTextSize
prop sets the success text's underlying VvEl component's text size value.
Syntax
<VvFormGroup
label="Example Label:"
label-for="successTextSize-id"
:display-success="true"
success-text-size="2xl"
success-text="Example text"
>
<VvInput id="successTextSize-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Typing for Downstream Component Instances
Coming Soon!
Prop: wrapperClasses
Type: String
Default: "w-full flex flex-col space-y-1"
The VvFormGroup Component wrapperClasses
prop sets the classes for the component's outermost wrapping/parent element.
Syntax
<VvFormGroup
label="Example Label:"
label-for="wrapperClasses-id"
wrapper-classes="w-1/2 grid grid-cols-1 gap-3"
>
<VvInput id="wrapperClasses-id" placeholder="Example VvInput"/>
</VvFormGroup>
Result
Slot: #default
The VvFormGroup Component has a standard #default
Vue slot to insert child elements/nodes into the component.
Syntax
<VvFormGroup
label="Example Label:"
label-for="example-slot-id"
>
<VvInput id="example-slot-id" placeholder="Via #default slot"/>
</VvFormGroup>