diff --git a/src/common-components/base-input-button/base-input-button.vue b/src/common-components/base-input-button/base-input-button.vue index fa4db2647..0792333a6 100644 --- a/src/common-components/base-input-button/base-input-button.vue +++ b/src/common-components/base-input-button/base-input-button.vue @@ -30,39 +30,14 @@ import { handleInputFocus, handleInputBlur, } from "@/helpers/analytics-helper"; -import inputButtonWrapperMixin from "../../mixins/input-button-wrapper-mixin"; +import { inputButtonProps } from "@/common-components/base-input-button/button-functionality-props"; export default { name: "base-input-button", props: { - // ...inputButtonWrapperMixin.props - value: { - type: [String, Number], - required: true, - }, - modelValue: { - type: [Array, String, Number], - required: true, - }, - isMultiSelect: Boolean, - groupName: { - type: String, - required: true, - }, - validationRules: { - type: String, - default: "", - }, + ...inputButtonProps, buttonWrapperClasses: [String, Array, Object], inputClasses: [String, Array, Object], - valueToLogType: String, - selectOnKeypress: { - type: Boolean, - default: true, - }, - isRequired: Boolean, - lastValuePushedToGa: [String, Number], - setLastValuePushedToGa: Function, }, data() { return { diff --git a/src/common-components/base-input-button/button-functionality-props.js b/src/common-components/base-input-button/button-functionality-props.js new file mode 100644 index 000000000..9bc6aeb25 --- /dev/null +++ b/src/common-components/base-input-button/button-functionality-props.js @@ -0,0 +1,30 @@ +export const inputButtonProps = { + value: { + type: [String, Number], + required: true, + }, + modelValue: { + type: [Array, String, Number], + required: true, + }, + isMultiSelect: Boolean, + groupName: { + type: String, + required: true, + }, + validationRules: { + type: String, + default: "", + }, + valueToLogType: String, + isRequired: { + type: Boolean, + default: true, + }, + lastValuePushedToGa: [String, Number], + setLastValuePushedToGa: Function, + selectOnKeypress: { + type: Boolean, + default: true, + }, +} \ No newline at end of file diff --git a/src/mixins/input-button-wrapper-mixin.js b/src/mixins/input-button-wrapper-mixin.js index 628ccec96..866e5d1d6 100644 --- a/src/mixins/input-button-wrapper-mixin.js +++ b/src/mixins/input-button-wrapper-mixin.js @@ -1,9 +1,8 @@ +import { inputButtonProps } from "@/common-components/base-input-button/button-functionality-props"; + export default { props: { - modelValue: [Array, String, Number], - value: [String, Number], - isMultiSelect: Boolean, - groupName: String, + ...inputButtonProps, buttonLabel: [Number, String], buttonLabelSubCopy: String, buttonImage: String, @@ -13,15 +12,7 @@ export default { }, textPosition: String, screenReaderOnlyText: String, - valueToLogType: String, - validationRules: String, isWide: Boolean, - isRequired: { - type: Boolean, - default: true, - }, - lastValuePushedToGa: [String, Number], - setLastValuePushedToGa: Function, }, computed: { selectedValue: {