UNPKG

@base-ui/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.

28 lines (27 loc) 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleInputPress = handleInputPress; var _dom = require("@floating-ui/utils/dom"); var _createBaseUIEventDetails = require("../../internals/createBaseUIEventDetails"); var _reasons = require("../../internals/reasons"); var _element = require("../../floating-ui-react/utils/element"); function handleInputPress(event, store, disabled, readOnly, shouldIgnoreTarget) { if (event.baseUIHandlerPrevented || readOnly) { return; } const target = (0, _element.getTarget)(event.nativeEvent); const targetElement = (0, _dom.isElement)(target) ? target : null; if (targetElement !== event.currentTarget && (shouldIgnoreTarget?.(targetElement) || (0, _element.isInteractiveElement)(targetElement))) { return; } event.preventDefault(); if (disabled) { return; } store.state.inputRef.current?.focus(); if (store.state.openOnInputClick) { store.state.setOpen(true, (0, _createBaseUIEventDetails.createChangeEventDetails)(_reasons.REASONS.inputPress, event.nativeEvent)); } }