UNPKG

@ariakit/react-core

Version:

Ariakit React core

47 lines (33 loc) 1.38 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _HMZCNR7Fcjs = require('./HMZCNR7F.cjs'); var _WBFXWJUHcjs = require('./WBFXWJUH.cjs'); var _MZ2HG624cjs = require('./MZ2HG624.cjs'); // src/button/button.tsx var _dom = require('@ariakit/core/utils/dom'); var _react = require('react'); var TagName = "button"; var useButton = _WBFXWJUHcjs.createHook.call(void 0, function useButton2(props) { const ref = _react.useRef.call(void 0, null); const tagName = _MZ2HG624cjs.useTagName.call(void 0, ref, TagName); const [isNativeButton, setIsNativeButton] = _react.useState.call(void 0, () => !!tagName && _dom.isButton.call(void 0, { tagName, type: props.type }) ); _react.useEffect.call(void 0, () => { if (!ref.current) return; setIsNativeButton(_dom.isButton.call(void 0, ref.current)); }, []); props = { role: !isNativeButton && tagName !== "a" ? "button" : void 0, ...props, ref: _MZ2HG624cjs.useMergeRefs.call(void 0, ref, props.ref) }; props = _HMZCNR7Fcjs.useCommand.call(void 0, props); return props; } ); var Button = _WBFXWJUHcjs.forwardRef.call(void 0, function Button2(props) { const htmlProps = useButton(props); return _WBFXWJUHcjs.createElement.call(void 0, TagName, htmlProps); }); exports.useButton = useButton; exports.Button = Button;