@coreui/vue
Version:
UI Components Library for Vue.js
80 lines (76 loc) • 2.58 kB
JavaScript
var vue = require('vue');
var CFormFeedback = require('./CFormFeedback.js');
const CFormControlValidation = vue.defineComponent({
name: 'CFormControlValidation',
inheritAttrs: false,
props: {
/**
* @ignore
*/
describedby: String,
/**
* Provide valuable, actionable feedback.
*
* @since 4.3.0
*/
feedback: String,
/**
* Provide valuable, actionable feedback.
*
* @since 4.3.0
*/
feedbackInvalid: String,
/**
* Provide valuable, actionable invalid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
*
* @since 4.3.0
*/
feedbackValid: String,
/**
* Set component validation state to invalid.
*/
invalid: Boolean,
/**
* Display validation feedback in a styled tooltip.
*
* @since 4.3.0
*/
tooltipFeedback: Boolean,
/**
* Set component validation state to valid.
*/
valid: Boolean,
},
setup(props, { slots }) {
return () => [
props.feedback &&
(props.valid || props.invalid) &&
vue.h(CFormFeedback.CFormFeedback, {
...(props.invalid && { id: props.describedby }),
invalid: props.invalid,
tooltip: props.tooltipFeedback,
valid: props.valid,
}, {
default: () => (slots.feedback && slots.feedback()) || props.feedback,
}),
(props.feedbackInvalid || slots.feedbackInvalid) &&
vue.h(CFormFeedback.CFormFeedback, {
id: props.describedby,
invalid: true,
tooltip: props.tooltipFeedback,
}, {
default: () => (slots.feedbackInvalid && slots.feedbackInvalid()) || props.feedbackInvalid,
}),
(props.feedbackValid || slots.feedbackValid) &&
vue.h(CFormFeedback.CFormFeedback, {
tooltip: props.tooltipFeedback,
valid: true,
}, {
default: () => (slots.feedbackValid && slots.feedbackValid()) || props.feedbackValid,
}),
];
},
});
exports.CFormControlValidation = CFormControlValidation;
//# sourceMappingURL=CFormControlValidation.js.map
;