UNPKG

@lskjs/navbar

Version:

LSK ux subrepo: navbar

90 lines (67 loc) 8.33 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); var _isRequiredForA11y = _interopRequireDefault(require("prop-types-extra/lib/isRequiredForA11y")); var _react = _interopRequireDefault(require("react")); var _DropdownToggle = require("react-overlays/DropdownToggle"); var _useMergedRefs = _interopRequireDefault(require("@restart/hooks/useMergedRefs")); var _Button = _interopRequireDefault(require("./Button")); var _ThemeProvider = require("./ThemeProvider"); var _useWrappedRefWithWarning = _interopRequireDefault(require("./useWrappedRefWithWarning")); var propTypes = { /** * @default 'dropdown-toggle' */ bsPrefix: _propTypes["default"].string, /** * An html id attribute, necessary for assistive technologies, such as screen readers. * @type {string|number} * @required */ id: (0, _isRequiredForA11y["default"])(_propTypes["default"].any), split: _propTypes["default"].bool, as: _propTypes["default"].elementType, /** * to passthrough to the underlying button or whatever from DropdownButton * @private */ childBsPrefix: _propTypes["default"].string }; var DropdownToggle = _react["default"].forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, split = _ref.split, className = _ref.className, children = _ref.children, childBsPrefix = _ref.childBsPrefix, _ref$as = _ref.as, Component = _ref$as === void 0 ? _Button["default"] : _ref$as, props = (0, _objectWithoutProperties2["default"])(_ref, ["bsPrefix", "split", "className", "children", "childBsPrefix", "as"]); var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'dropdown-toggle'); if (childBsPrefix !== undefined) { props.bsPrefix = childBsPrefix; } var _useDropdownToggle = (0, _DropdownToggle.useDropdownToggle)(), _useDropdownToggle2 = (0, _slicedToArray2["default"])(_useDropdownToggle, 2), toggleProps = _useDropdownToggle2[0], toggle = _useDropdownToggle2[1].toggle; toggleProps.ref = (0, _useMergedRefs["default"])(toggleProps.ref, (0, _useWrappedRefWithWarning["default"])(ref, 'DropdownToggle')); // This intentionally forwards size and variant (if set) to the // underlying component, to allow it to render size and style variants. return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({ onClick: toggle, className: (0, _classnames["default"])(className, prefix, split && "".concat(prefix, "-split")) }, toggleProps, props), children); }); DropdownToggle.displayName = 'DropdownToggle'; DropdownToggle.propTypes = propTypes; var _default = DropdownToggle; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Ecm9wZG93blRvZ2dsZS5qcyJdLCJuYW1lcyI6WyJwcm9wVHlwZXMiLCJic1ByZWZpeCIsIlByb3BUeXBlcyIsInN0cmluZyIsImlkIiwiYW55Iiwic3BsaXQiLCJib29sIiwiYXMiLCJlbGVtZW50VHlwZSIsImNoaWxkQnNQcmVmaXgiLCJEcm9wZG93blRvZ2dsZSIsIlJlYWN0IiwiZm9yd2FyZFJlZiIsInJlZiIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiQ29tcG9uZW50IiwiQnV0dG9uIiwicHJvcHMiLCJwcmVmaXgiLCJ1bmRlZmluZWQiLCJ0b2dnbGVQcm9wcyIsInRvZ2dsZSIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxTQUFTLEdBQUc7QUFDaEI7OztBQUdBQyxFQUFBQSxRQUFRLEVBQUVDLHNCQUFVQyxNQUpKOztBQU1oQjs7Ozs7QUFLQUMsRUFBQUEsRUFBRSxFQUFFLG1DQUFrQkYsc0JBQVVHLEdBQTVCLENBWFk7QUFhaEJDLEVBQUFBLEtBQUssRUFBRUosc0JBQVVLLElBYkQ7QUFlaEJDLEVBQUFBLEVBQUUsRUFBRU4sc0JBQVVPLFdBZkU7O0FBaUJoQjs7OztBQUlBQyxFQUFBQSxhQUFhLEVBQUVSLHNCQUFVQztBQXJCVCxDQUFsQjs7QUF3QkEsSUFBTVEsY0FBYyxHQUFHQyxrQkFBTUMsVUFBTixDQUNyQixnQkFXRUMsR0FYRixFQVlLO0FBQUEsTUFWRGIsUUFVQyxRQVZEQSxRQVVDO0FBQUEsTUFUREssS0FTQyxRQVREQSxLQVNDO0FBQUEsTUFSRFMsU0FRQyxRQVJEQSxTQVFDO0FBQUEsTUFQREMsUUFPQyxRQVBEQSxRQU9DO0FBQUEsTUFORE4sYUFNQyxRQU5EQSxhQU1DO0FBQUEscUJBSkRGLEVBSUM7QUFBQSxNQUpHUyxTQUlILHdCQUplQyxrQkFJZjtBQUFBLE1BSEVDLEtBR0Y7QUFDSCxNQUFNQyxNQUFNLEdBQUcsdUNBQW1CbkIsUUFBbkIsRUFBNkIsaUJBQTdCLENBQWY7O0FBRUEsTUFBSVMsYUFBYSxLQUFLVyxTQUF0QixFQUFpQztBQUMvQkYsSUFBQUEsS0FBSyxDQUFDbEIsUUFBTixHQUFpQlMsYUFBakI7QUFDRDs7QUFMRSwyQkFPK0Isd0NBUC9CO0FBQUE7QUFBQSxNQU9JWSxXQVBKO0FBQUEsTUFPbUJDLE1BUG5CLDBCQU9tQkEsTUFQbkI7O0FBU0hELEVBQUFBLFdBQVcsQ0FBQ1IsR0FBWixHQUFrQiwrQkFDaEJRLFdBQVcsQ0FBQ1IsR0FESSxFQUVoQiwwQ0FBeUJBLEdBQXpCLEVBQThCLGdCQUE5QixDQUZnQixDQUFsQixDQVRHLENBY0g7QUFDQTs7QUFDQSxzQkFDRSxnQ0FBQyxTQUFEO0FBQ0UsSUFBQSxPQUFPLEVBQUVTLE1BRFg7QUFFRSxJQUFBLFNBQVMsRUFBRSw0QkFBV1IsU0FBWCxFQUFzQkssTUFBdEIsRUFBOEJkLEtBQUssY0FBT2MsTUFBUCxXQUFuQztBQUZiLEtBR01FLFdBSE4sRUFJTUgsS0FKTixHQU1HSCxRQU5ILENBREY7QUFVRCxDQXZDb0IsQ0FBdkI7O0FBMENBTCxjQUFjLENBQUNhLFdBQWYsR0FBNkIsZ0JBQTdCO0FBQ0FiLGNBQWMsQ0FBQ1gsU0FBZixHQUEyQkEsU0FBM0I7ZUFFZVcsYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBpc1JlcXVpcmVkRm9yQTExeSBmcm9tICdwcm9wLXR5cGVzLWV4dHJhL2xpYi9pc1JlcXVpcmVkRm9yQTExeSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRHJvcGRvd25Ub2dnbGUgfSBmcm9tICdyZWFjdC1vdmVybGF5cy9Ecm9wZG93blRvZ2dsZSc7XG5pbXBvcnQgdXNlTWVyZ2VkUmVmcyBmcm9tICdAcmVzdGFydC9ob29rcy91c2VNZXJnZWRSZWZzJztcbmltcG9ydCBCdXR0b24gZnJvbSAnLi9CdXR0b24nO1xuaW1wb3J0IHsgdXNlQm9vdHN0cmFwUHJlZml4IH0gZnJvbSAnLi9UaGVtZVByb3ZpZGVyJztcbmltcG9ydCB1c2VXcmFwcGVkUmVmV2l0aFdhcm5pbmcgZnJvbSAnLi91c2VXcmFwcGVkUmVmV2l0aFdhcm5pbmcnO1xuXG5jb25zdCBwcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiBAZGVmYXVsdCAnZHJvcGRvd24tdG9nZ2xlJ1xuICAgKi9cbiAgYnNQcmVmaXg6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgLyoqXG4gICAqIEFuIGh0bWwgaWQgYXR0cmlidXRlLCBuZWNlc3NhcnkgZm9yIGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXMsIHN1Y2ggYXMgc2NyZWVuIHJlYWRlcnMuXG4gICAqIEB0eXBlIHtzdHJpbmd8bnVtYmVyfVxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIGlkOiBpc1JlcXVpcmVkRm9yQTExeShQcm9wVHlwZXMuYW55KSxcblxuICBzcGxpdDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgYXM6IFByb3BUeXBlcy5lbGVtZW50VHlwZSxcblxuICAvKipcbiAgICogdG8gcGFzc3Rocm91Z2ggdG8gdGhlIHVuZGVybHlpbmcgYnV0dG9uIG9yIHdoYXRldmVyIGZyb20gRHJvcGRvd25CdXR0b25cbiAgICogQHByaXZhdGVcbiAgICovXG4gIGNoaWxkQnNQcmVmaXg6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5jb25zdCBEcm9wZG93blRvZ2dsZSA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChcbiAgICB7XG4gICAgICBic1ByZWZpeCxcbiAgICAgIHNwbGl0LFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY2hpbGRyZW4sXG4gICAgICBjaGlsZEJzUHJlZml4LFxuICAgICAgLy8gTmVlZCB0byBkZWZpbmUgdGhlIGRlZmF1bHQgXCJhc1wiIGR1cmluZyBwcm9wIGRlc3RydWN0dXJpbmcgdG8gYmUgY29tcGF0aWJsZSB3aXRoIHN0eWxlZC1jb21wb25lbnRzIGdpdGh1Yi5jb20vcmVhY3QtYm9vdHN0cmFwL3JlYWN0LWJvb3RzdHJhcC9pc3N1ZXMvMzU5NVxuICAgICAgYXM6IENvbXBvbmVudCA9IEJ1dHRvbixcbiAgICAgIC4uLnByb3BzXG4gICAgfSxcbiAgICByZWYsXG4gICkgPT4ge1xuICAgIGNvbnN0IHByZWZpeCA9IHVzZUJvb3RzdHJhcFByZWZpeChic1ByZWZpeCwgJ2Ryb3Bkb3duLXRvZ2dsZScpO1xuXG4gICAgaWYgKGNoaWxkQnNQcmVmaXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgcHJvcHMuYnNQcmVmaXggPSBjaGlsZEJzUHJlZml4O1xuICAgIH1cblxuICAgIGNvbnN0IFt0b2dnbGVQcm9wcywgeyB0b2dnbGUgfV0gPSB1c2VEcm9wZG93blRvZ2dsZSgpO1xuXG4gICAgdG9nZ2xlUHJvcHMucmVmID0gdXNlTWVyZ2VkUmVmcyhcbiAgICAgIHRvZ2dsZVByb3BzLnJlZixcbiAgICAgIHVzZVdyYXBwZWRSZWZXaXRoV2FybmluZyhyZWYsICdEcm9wZG93blRvZ2dsZScpLFxuICAgICk7XG5cbiAgICAvLyBUaGlzIGludGVudGlvbmFsbHkgZm9yd2FyZHMgc2l6ZSBhbmQgdmFyaWFudCAoaWYgc2V0KSB0byB0aGVcbiAgICAvLyB1bmRlcmx5aW5nIGNvbXBvbmVudCwgdG8gYWxsb3cgaXQgdG8gcmVuZGVyIHNpemUgYW5kIHN0eWxlIHZhcmlhbnRzLlxuICAgIHJldHVybiAoXG4gICAgICA8Q29tcG9uZW50XG4gICAgICAgIG9uQ2xpY2s9e3RvZ2dsZX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzTmFtZSwgcHJlZml4LCBzcGxpdCAmJiBgJHtwcmVmaXh9LXNwbGl0YCl9XG4gICAgICAgIHsuLi50b2dnbGVQcm9wc31cbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L0NvbXBvbmVudD5cbiAgICApO1xuICB9LFxuKTtcblxuRHJvcGRvd25Ub2dnbGUuZGlzcGxheU5hbWUgPSAnRHJvcGRvd25Ub2dnbGUnO1xuRHJvcGRvd25Ub2dnbGUucHJvcFR5cGVzID0gcHJvcFR5cGVzO1xuXG5leHBvcnQgZGVmYXVsdCBEcm9wZG93blRvZ2dsZTtcbiJdfQ== //# sourceMappingURL=DropdownToggle.js.map