hongluan-ui
Version:
Hongluan Component Library for Vue 3
39 lines (36 loc) • 1.06 kB
JavaScript
import { ref, inject, computed } from 'vue';
import '../../../hooks/index.mjs';
import '../../../tokens/index.mjs';
import { useConsistentProp } from '../../../hooks/use-consistent-prop/index.mjs';
import { formContextKey } from '../../../tokens/form.mjs';
const useButton = (props, emit) => {
const _ref = ref();
const { size: buttonSize, disabled: buttonDisabled } = useConsistentProp();
const form = inject(formContextKey, void 0);
const _props = computed(() => {
if (props.tag === "button") {
return {
ariaDisabled: buttonDisabled.value || props.loading,
disabled: buttonDisabled.value || props.loading,
autofocus: props.autofocus,
type: props.nativeType
};
}
return {};
});
const handleClick = (evt) => {
if (props.nativeType === "reset") {
form == null ? void 0 : form.resetFields();
}
emit("click", evt);
};
return {
_ref,
_props,
buttonDisabled,
buttonSize,
handleClick
};
};
export { useButton };
//# sourceMappingURL=use-button.mjs.map