UNPKG

@ariakit/react-core

Version:

Ariakit React core

47 lines (33 loc) 1.38 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _HAR6UDZUcjs = require('./HAR6UDZU.cjs'); var _SQLDFLTEcjs = require('./SQLDFLTE.cjs'); var _4KGS3DOWcjs = require('./4KGS3DOW.cjs'); // src/button/button.tsx var _dom = require('@ariakit/core/utils/dom'); var _react = require('react'); var TagName = "button"; var useButton = _SQLDFLTEcjs.createHook.call(void 0, function useButton2(props) { const ref = _react.useRef.call(void 0, null); const tagName = _4KGS3DOWcjs.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: _4KGS3DOWcjs.useMergeRefs.call(void 0, ref, props.ref) }; props = _HAR6UDZUcjs.useCommand.call(void 0, props); return props; } ); var Button = _SQLDFLTEcjs.forwardRef.call(void 0, function Button2(props) { const htmlProps = useButton(props); return _SQLDFLTEcjs.createElement.call(void 0, TagName, htmlProps); }); exports.useButton = useButton; exports.Button = Button;