UNPKG

@ariakit/react-core

Version:

Ariakit React core

51 lines (34 loc) 1.51 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _H5ZMZIC6cjs = require('./H5ZMZIC6.cjs'); var _6TI3NXX6cjs = require('./6TI3NXX6.cjs'); var _L5A2ID7Scjs = require('./L5A2ID7S.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 = _6TI3NXX6cjs.createHook.call(void 0, function useButton2(props) { const ref = _react.useRef.call(void 0, null); const tagName = _L5A2ID7Scjs.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: _L5A2ID7Scjs.useMergeRefs.call(void 0, ref, props.ref) }); props = _H5ZMZIC6cjs.useCommand.call(void 0, props); return props; } ); var Button = _6TI3NXX6cjs.forwardRef.call(void 0, function Button2(props) { const htmlProps = useButton(props); return _6TI3NXX6cjs.createElement.call(void 0, TagName, htmlProps); }); exports.useButton = useButton; exports.Button = Button;