From e874dde0ed354bc43b0e59a9342f5463b0399128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Foidl?= Date: Fri, 6 May 2022 11:09:50 +0200 Subject: [PATCH] In the form control wrapper wrap the elements inside a
--- .../components/form/CFormControlWrapper.ts | 123 +++++++++--------- 1 file changed, 64 insertions(+), 59 deletions(-) diff --git a/packages/coreui-vue/src/components/form/CFormControlWrapper.ts b/packages/coreui-vue/src/components/form/CFormControlWrapper.ts index a8cb3a5a..b4370889 100644 --- a/packages/coreui-vue/src/components/form/CFormControlWrapper.ts +++ b/packages/coreui-vue/src/components/form/CFormControlWrapper.ts @@ -42,65 +42,70 @@ const CFormControlWrapper = defineComponent({ }, setup(props, { slots }) { return () => - props.floatingLabel - ? h(CFormFloating, [ - slots.default && slots.default(), - h( - CFormLabel, - { - for: props.id, - }, - { - default: () => (slots.label && slots.label()) || props.label || props.floatingLabel, - }, - ), - ]) - : [ - (props.label || slots.label) && - h( - CFormLabel, - { - for: props.id, - }, - { - default: () => (slots.label && slots.label()) || props.label, - }, - ), - slots.default && slots.default(), - (props.text || slots.text) && - h( - CFormText, - { - id: props.describedby, - }, - { - default: () => (slots.text && slots.text()) || props.text, - }, - ), - h( - CFormControlValidation, - { - describedby: props.describedby, - feedback: props.feedback, - feedbackInvalid: props.feedbackInvalid, - feedbackValid: props.feedbackValid, - floatingLabel: props.floatingLabel, - invalid: props.invalid, - tooltipFeedback: props.tooltipFeedback, - valid: props.valid, - }, - { - ...(slots.feedback && { feedback: () => slots.feedback && slots.feedback() }), - ...(slots.feedbackInvalid && { - feedbackInvalid: () => slots.feedbackInvalid && slots.feedbackInvalid(), - }), - ...(slots.feedbackValid && { - feedbackValid: () => slots.feedbackInvalid && slots.feedbackInvalid(), - }), - }, - ), - ] + h( + "div", + [ + props.floatingLabel + ? h(CFormFloating, [ + slots.default && slots.default(), + h( + CFormLabel, + { + for: props.id, + }, + { + default: () => (slots.label && slots.label()) || props.label || props.floatingLabel, + }, + ), + ]) + : [ + (props.label || slots.label) && + h( + CFormLabel, + { + for: props.id, + }, + { + default: () => (slots.label && slots.label()) || props.label, + }, + ), + slots.default && slots.default(), + (props.text || slots.text) && + h( + CFormText, + { + id: props.describedby, + }, + { + default: () => (slots.text && slots.text()) || props.text, + }, + ), + h( + CFormControlValidation, + { + describedby: props.describedby, + feedback: props.feedback, + feedbackInvalid: props.feedbackInvalid, + feedbackValid: props.feedbackValid, + floatingLabel: props.floatingLabel, + invalid: props.invalid, + tooltipFeedback: props.tooltipFeedback, + valid: props.valid, + }, + { + ...(slots.feedback && { feedback: () => slots.feedback && slots.feedback() }), + ...(slots.feedbackInvalid && { + feedbackInvalid: () => slots.feedbackInvalid && slots.feedbackInvalid(), + }), + ...(slots.feedbackValid && { + feedbackValid: () => slots.feedbackInvalid && slots.feedbackInvalid(), + }), + }, + ), + ] + ] + ) }, }) -export { CFormControlWrapper } +export { CFormControlWrapper } \ No newline at end of file