@base-ui-components/react
Version:
Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.
37 lines (36 loc) • 896 B
JavaScript
;
'use client';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useDialogClose = useDialogClose;
var _useEventCallback = require("@base-ui-components/utils/useEventCallback");
var _useButton = require("../../use-button/useButton");
var _mergeProps = require("../../merge-props");
function useDialogClose(params) {
const {
open,
setOpen,
disabled,
nativeButton
} = params;
const handleClick = (0, _useEventCallback.useEventCallback)(event => {
if (open) {
setOpen(false, event.nativeEvent, 'close-press');
}
});
const {
getButtonProps,
buttonRef
} = (0, _useButton.useButton)({
disabled,
native: nativeButton
});
const getRootProps = externalProps => (0, _mergeProps.mergeProps)({
onClick: handleClick
}, externalProps, getButtonProps);
return {
getRootProps,
ref: buttonRef
};
}