diff --git a/src/components/SelectInput.vue b/src/components/SelectInput.vue index 53f0fb4..286af36 100644 --- a/src/components/SelectInput.vue +++ b/src/components/SelectInput.vue @@ -72,7 +72,7 @@ const onBlur = (evt: ElementEvent) => { validationMessage.value = ''; } - emit('blur'); + emit('blur', evt); }; defineExpose({ focus, reset }); diff --git a/src/components/TextArea.vue b/src/components/TextArea.vue index f395d2b..f65b6b9 100644 --- a/src/components/TextArea.vue +++ b/src/components/TextArea.vue @@ -90,7 +90,7 @@ const onBlur = (evt: ElementEvent) => { validationMessage.value = ''; } - emit('blur'); + emit('blur', evt); }; diff --git a/src/components/TextInput.vue b/src/components/TextInput.vue index 854d33b..984c777 100644 --- a/src/components/TextInput.vue +++ b/src/components/TextInput.vue @@ -97,7 +97,7 @@ const onBlur = (evt: ElementEvent) => { validationMessage.value = ''; } - emit('blur'); + emit('blur', evt); }; // not computed, we want this only on the initial load diff --git a/test/components/TextArea.test.js b/test/components/TextArea.test.js index 4e6b25f..747c9c2 100644 --- a/test/components/TextArea.test.js +++ b/test/components/TextArea.test.js @@ -199,6 +199,12 @@ describe('TextArea', () => { expect(wrapper.emitted().change, 'expected change event to have been emitted').toBeTruthy(); expect(wrapper.emitted()['change'].length).toBe(1); expect(textArea.element.value).toBe(inputText); + + // now blur and verify + await textArea.trigger('blur'); + expect(wrapper.emitted().blur, 'expected blur event to have been emitted').toBeTruthy(); + expect(wrapper.emitted()['blur'].length).toBe(1); + expect(wrapper.emitted()['blur'][0][0].target.value).toBe(inputText); }); it('able to reset the text area using exposed reset method', async () => { diff --git a/test/components/TextInput.test.js b/test/components/TextInput.test.js index bef15ed..9823845 100644 --- a/test/components/TextInput.test.js +++ b/test/components/TextInput.test.js @@ -338,6 +338,12 @@ describe('TextInput', () => { expect(wrapper.emitted().change, 'expected change event to have been emitted').toBeTruthy(); expect(wrapper.emitted()['change'].length).toBe(1); expect(textInput.element.value).toBe(inputText); + + // now blur and verify + await textInput.trigger('blur'); + expect(wrapper.emitted().blur, 'expected blur event to have been emitted').toBeTruthy(); + expect(wrapper.emitted()['blur'].length).toBe(1); + expect(wrapper.emitted()['blur'][0][0].target.value).toBe(inputText); }); it('able to reset the text input using exposed reset method', async () => {