UNPKG

@ariakit/react-core

Version:

Ariakit React core

51 lines (34 loc) 1.51 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _DHAXJ5PAcjs = require('./DHAXJ5PA.cjs'); var _WULEED4Qcjs = require('./WULEED4Q.cjs'); var _OZM4QA2Vcjs = require('./OZM4QA2V.cjs'); var _7EQBAZ46cjs = require('./7EQBAZ46.cjs'); // src/button/button.tsx var _dom = require('@ariakit/core/utils/dom'); var _react = require('react'); var TagName = "button"; var useButton = _WULEED4Qcjs.createHook.call(void 0, function useButton2(props) { const ref = _react.useRef.call(void 0, null); const tagName = _OZM4QA2Vcjs.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 = _7EQBAZ46cjs.__spreadProps.call(void 0, _7EQBAZ46cjs.__spreadValues.call(void 0, { role: !isNativeButton && tagName !== "a" ? "button" : void 0 }, props), { ref: _OZM4QA2Vcjs.useMergeRefs.call(void 0, ref, props.ref) }); props = _DHAXJ5PAcjs.useCommand.call(void 0, props); return props; } ); var Button = _WULEED4Qcjs.forwardRef.call(void 0, function Button2(props) { const htmlProps = useButton(props); return _WULEED4Qcjs.createElement.call(void 0, TagName, htmlProps); }); exports.useButton = useButton; exports.Button = Button;