選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

DropdownToggle.js 1.8 KiB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import _extends from "@babel/runtime/helpers/esm/extends";
  2. import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
  3. import classNames from 'classnames';
  4. import isRequiredForA11y from 'prop-types-extra/lib/isRequiredForA11y';
  5. import React from 'react';
  6. import { useDropdownToggle } from 'react-overlays/DropdownToggle';
  7. import useMergedRefs from '@restart/hooks/useMergedRefs';
  8. import Button from './Button';
  9. import { useBootstrapPrefix } from './ThemeProvider';
  10. import useWrappedRefWithWarning from './useWrappedRefWithWarning';
  11. var DropdownToggle = React.forwardRef(function (_ref, ref) {
  12. var bsPrefix = _ref.bsPrefix,
  13. split = _ref.split,
  14. className = _ref.className,
  15. children = _ref.children,
  16. childBsPrefix = _ref.childBsPrefix,
  17. _ref$as = _ref.as,
  18. Component = _ref$as === void 0 ? Button : _ref$as,
  19. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "split", "className", "children", "childBsPrefix", "as"]);
  20. var prefix = useBootstrapPrefix(bsPrefix, 'dropdown-toggle');
  21. if (childBsPrefix !== undefined) {
  22. props.bsPrefix = childBsPrefix;
  23. }
  24. var _useDropdownToggle = useDropdownToggle(),
  25. toggleProps = _useDropdownToggle[0],
  26. toggle = _useDropdownToggle[1].toggle;
  27. toggleProps.ref = useMergedRefs(toggleProps.ref, useWrappedRefWithWarning(ref, 'DropdownToggle')); // This intentionally forwards size and variant (if set) to the
  28. // underlying component, to allow it to render size and style variants.
  29. return /*#__PURE__*/React.createElement(Component, _extends({
  30. onClick: toggle,
  31. className: classNames(className, prefix, split && prefix + "-split")
  32. }, toggleProps, props), children);
  33. });
  34. DropdownToggle.displayName = 'DropdownToggle';
  35. export default DropdownToggle;