UNPKG

@lskjs/navbar

Version:

LSK ux subrepo: navbar

88 lines (67 loc) 7.72 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); 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 _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _useEventCallback = _interopRequireDefault(require("@restart/hooks/useEventCallback")); var _ThemeProvider = require("./ThemeProvider"); var _NavbarContext = _interopRequireDefault(require("./NavbarContext")); var propTypes = { /** @default 'navbar-toggler' */ bsPrefix: _propTypes["default"].string, /** An accessible ARIA label for the toggler button. */ label: _propTypes["default"].string, /** @private */ onClick: _propTypes["default"].func, /** * The toggle content. When empty, the default toggle will be rendered. */ children: _propTypes["default"].node, as: _propTypes["default"].elementType }; var defaultProps = { label: 'Toggle navigation' }; var NavbarToggle = _react["default"].forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, className = _ref.className, children = _ref.children, label = _ref.label, _ref$as = _ref.as, Component = _ref$as === void 0 ? 'button' : _ref$as, onClick = _ref.onClick, props = (0, _objectWithoutProperties2["default"])(_ref, ["bsPrefix", "className", "children", "label", "as", "onClick"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'navbar-toggler'); var _ref2 = (0, _react.useContext)(_NavbarContext["default"]) || {}, onToggle = _ref2.onToggle, expanded = _ref2.expanded; var handleClick = (0, _useEventCallback["default"])(function (e) { if (onClick) onClick(e); if (onToggle) onToggle(); }); if (Component === 'button') { props.type = 'button'; } return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({}, props, { ref: ref, onClick: handleClick, "aria-label": label, className: (0, _classnames["default"])(className, bsPrefix, !expanded && 'collapsed') }), children || /*#__PURE__*/_react["default"].createElement("span", { className: "".concat(bsPrefix, "-icon") })); }); NavbarToggle.displayName = 'NavbarToggle'; NavbarToggle.propTypes = propTypes; NavbarToggle.defaultProps = defaultProps; var _default = NavbarToggle; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9OYXZiYXJUb2dnbGUuanMiXSwibmFtZXMiOlsicHJvcFR5cGVzIiwiYnNQcmVmaXgiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJsYWJlbCIsIm9uQ2xpY2siLCJmdW5jIiwiY2hpbGRyZW4iLCJub2RlIiwiYXMiLCJlbGVtZW50VHlwZSIsImRlZmF1bHRQcm9wcyIsIk5hdmJhclRvZ2dsZSIsIlJlYWN0IiwiZm9yd2FyZFJlZiIsInJlZiIsImNsYXNzTmFtZSIsIkNvbXBvbmVudCIsInByb3BzIiwiTmF2YmFyQ29udGV4dCIsIm9uVG9nZ2xlIiwiZXhwYW5kZWQiLCJoYW5kbGVDbGljayIsImUiLCJ0eXBlIiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUVBLElBQU1BLFNBQVMsR0FBRztBQUNoQjtBQUNBQyxFQUFBQSxRQUFRLEVBQUVDLHNCQUFVQyxNQUZKOztBQUloQjtBQUNBQyxFQUFBQSxLQUFLLEVBQUVGLHNCQUFVQyxNQUxEOztBQU9oQjtBQUNBRSxFQUFBQSxPQUFPLEVBQUVILHNCQUFVSSxJQVJIOztBQVVoQjs7O0FBR0FDLEVBQUFBLFFBQVEsRUFBRUwsc0JBQVVNLElBYko7QUFlaEJDLEVBQUFBLEVBQUUsRUFBRVAsc0JBQVVRO0FBZkUsQ0FBbEI7QUFrQkEsSUFBTUMsWUFBWSxHQUFHO0FBQ25CUCxFQUFBQSxLQUFLLEVBQUU7QUFEWSxDQUFyQjs7QUFJQSxJQUFNUSxZQUFZLEdBQUdDLGtCQUFNQyxVQUFOLENBQ25CLGdCQVdFQyxHQVhGLEVBWUs7QUFBQSxNQVZEZCxRQVVDLFFBVkRBLFFBVUM7QUFBQSxNQVREZSxTQVNDLFFBVERBLFNBU0M7QUFBQSxNQVJEVCxRQVFDLFFBUkRBLFFBUUM7QUFBQSxNQVBESCxLQU9DLFFBUERBLEtBT0M7QUFBQSxxQkFMREssRUFLQztBQUFBLE1BTEdRLFNBS0gsd0JBTGUsUUFLZjtBQUFBLE1BSkRaLE9BSUMsUUFKREEsT0FJQztBQUFBLE1BSEVhLEtBR0Y7QUFDSGpCLEVBQUFBLFFBQVEsR0FBRyx1Q0FBbUJBLFFBQW5CLEVBQTZCLGdCQUE3QixDQUFYOztBQURHLGNBRzRCLHVCQUFXa0IseUJBQVgsS0FBNkIsRUFIekQ7QUFBQSxNQUdLQyxRQUhMLFNBR0tBLFFBSEw7QUFBQSxNQUdlQyxRQUhmLFNBR2VBLFFBSGY7O0FBS0gsTUFBTUMsV0FBVyxHQUFHLGtDQUFpQixVQUFBQyxDQUFDLEVBQUk7QUFDeEMsUUFBSWxCLE9BQUosRUFBYUEsT0FBTyxDQUFDa0IsQ0FBRCxDQUFQO0FBQ2IsUUFBSUgsUUFBSixFQUFjQSxRQUFRO0FBQ3ZCLEdBSG1CLENBQXBCOztBQUtBLE1BQUlILFNBQVMsS0FBSyxRQUFsQixFQUE0QjtBQUMxQkMsSUFBQUEsS0FBSyxDQUFDTSxJQUFOLEdBQWEsUUFBYjtBQUNEOztBQUVELHNCQUNFLGdDQUFDLFNBQUQsZ0NBQ01OLEtBRE47QUFFRSxJQUFBLEdBQUcsRUFBRUgsR0FGUDtBQUdFLElBQUEsT0FBTyxFQUFFTyxXQUhYO0FBSUUsa0JBQVlsQixLQUpkO0FBS0UsSUFBQSxTQUFTLEVBQUUsNEJBQVdZLFNBQVgsRUFBc0JmLFFBQXRCLEVBQWdDLENBQUNvQixRQUFELElBQWEsV0FBN0M7QUFMYixNQU9HZCxRQUFRLGlCQUFJO0FBQU0sSUFBQSxTQUFTLFlBQUtOLFFBQUw7QUFBZixJQVBmLENBREY7QUFXRCxDQXRDa0IsQ0FBckI7O0FBeUNBVyxZQUFZLENBQUNhLFdBQWIsR0FBMkIsY0FBM0I7QUFDQWIsWUFBWSxDQUFDWixTQUFiLEdBQXlCQSxTQUF6QjtBQUNBWSxZQUFZLENBQUNELFlBQWIsR0FBNEJBLFlBQTVCO2VBRWVDLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0ByZXN0YXJ0L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuXG5pbXBvcnQgeyB1c2VCb290c3RyYXBQcmVmaXggfSBmcm9tICcuL1RoZW1lUHJvdmlkZXInO1xuaW1wb3J0IE5hdmJhckNvbnRleHQgZnJvbSAnLi9OYXZiYXJDb250ZXh0JztcblxuY29uc3QgcHJvcFR5cGVzID0ge1xuICAvKiogQGRlZmF1bHQgJ25hdmJhci10b2dnbGVyJyAqL1xuICBic1ByZWZpeDogUHJvcFR5cGVzLnN0cmluZyxcblxuICAvKiogQW4gYWNjZXNzaWJsZSBBUklBIGxhYmVsIGZvciB0aGUgdG9nZ2xlciBidXR0b24uICovXG4gIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gIC8qKiBAcHJpdmF0ZSAqL1xuICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYyxcblxuICAvKipcbiAgICogVGhlIHRvZ2dsZSBjb250ZW50LiBXaGVuIGVtcHR5LCB0aGUgZGVmYXVsdCB0b2dnbGUgd2lsbCBiZSByZW5kZXJlZC5cbiAgICovXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcblxuICBhczogUHJvcFR5cGVzLmVsZW1lbnRUeXBlLFxufTtcblxuY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBsYWJlbDogJ1RvZ2dsZSBuYXZpZ2F0aW9uJyxcbn07XG5cbmNvbnN0IE5hdmJhclRvZ2dsZSA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChcbiAgICB7XG4gICAgICBic1ByZWZpeCxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgbGFiZWwsXG4gICAgICAvLyBOZWVkIHRvIGRlZmluZSB0aGUgZGVmYXVsdCBcImFzXCIgZHVyaW5nIHByb3AgZGVzdHJ1Y3R1cmluZyB0byBiZSBjb21wYXRpYmxlIHdpdGggc3R5bGVkLWNvbXBvbmVudHMgZ2l0aHViLmNvbS9yZWFjdC1ib290c3RyYXAvcmVhY3QtYm9vdHN0cmFwL2lzc3Vlcy8zNTk1XG4gICAgICBhczogQ29tcG9uZW50ID0gJ2J1dHRvbicsXG4gICAgICBvbkNsaWNrLFxuICAgICAgLi4ucHJvcHNcbiAgICB9LFxuICAgIHJlZixcbiAgKSA9PiB7XG4gICAgYnNQcmVmaXggPSB1c2VCb290c3RyYXBQcmVmaXgoYnNQcmVmaXgsICduYXZiYXItdG9nZ2xlcicpO1xuXG4gICAgY29uc3QgeyBvblRvZ2dsZSwgZXhwYW5kZWQgfSA9IHVzZUNvbnRleHQoTmF2YmFyQ29udGV4dCkgfHwge307XG5cbiAgICBjb25zdCBoYW5kbGVDbGljayA9IHVzZUV2ZW50Q2FsbGJhY2soZSA9PiB7XG4gICAgICBpZiAob25DbGljaykgb25DbGljayhlKTtcbiAgICAgIGlmIChvblRvZ2dsZSkgb25Ub2dnbGUoKTtcbiAgICB9KTtcblxuICAgIGlmIChDb21wb25lbnQgPT09ICdidXR0b24nKSB7XG4gICAgICBwcm9wcy50eXBlID0gJ2J1dHRvbic7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDb21wb25lbnRcbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2t9XG4gICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3NOYW1lLCBic1ByZWZpeCwgIWV4cGFuZGVkICYmICdjb2xsYXBzZWQnKX1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVuIHx8IDxzcGFuIGNsYXNzTmFtZT17YCR7YnNQcmVmaXh9LWljb25gfSAvPn1cbiAgICAgIDwvQ29tcG9uZW50PlxuICAgICk7XG4gIH0sXG4pO1xuXG5OYXZiYXJUb2dnbGUuZGlzcGxheU5hbWUgPSAnTmF2YmFyVG9nZ2xlJztcbk5hdmJhclRvZ2dsZS5wcm9wVHlwZXMgPSBwcm9wVHlwZXM7XG5OYXZiYXJUb2dnbGUuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBOYXZiYXJUb2dnbGU7XG4iXX0= //# sourceMappingURL=NavbarToggle.js.map