@lskjs/navbar
Version:
LSK ux subrepo: navbar
88 lines (67 loc) • 7.72 kB
JavaScript
"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