@lskjs/navbar
Version:
LSK ux subrepo: navbar
99 lines (79 loc) • 2.86 kB
JavaScript
"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 _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _classnames = _interopRequireDefault(require("classnames"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
var _SafeAnchor = _interopRequireDefault(require("./SafeAnchor"));
var _AbstractNavItem = _interopRequireDefault(require("./AbstractNavItem"));
var _ThemeProvider = require("./ThemeProvider");
var propTypes = {
/**
* @default 'nav-link'
*/
bsPrefix: _propTypes["default"].string,
/**
* The active state of the NavItem item.
*/
active: _propTypes["default"].bool,
/**
* The disabled state of the NavItem item.
*/
disabled: _propTypes["default"].bool,
/**
* The ARIA role for the `NavLink`, In the context of a 'tablist' parent Nav,
* the role defaults to 'tab'
* */
role: _propTypes["default"].string,
/** The HTML href attribute for the `NavLink` */
href: _propTypes["default"].string,
/** A callback fired when the `NavLink` is selected.
*
* ```js
* function (eventKey: any, event: SyntheticEvent) {}
* ```
*/
onSelect: _propTypes["default"].func,
/**
* Uniquely idenifies the `NavItem` amongst its siblings,
* used to determine and control the active state of the parent `Nav`
*/
eventKey: _propTypes["default"].any,
/** @default 'a' */
as: _propTypes["default"].elementType
};
var defaultProps = {
disabled: false,
as: _SafeAnchor["default"]
};
var NavLink = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
var bsPrefix = _ref.bsPrefix,
disabled = _ref.disabled,
className = _ref.className,
href = _ref.href,
eventKey = _ref.eventKey,
onSelect = _ref.onSelect,
as = _ref.as,
props = (0, _objectWithoutProperties2["default"])(_ref, ["bsPrefix", "disabled", "className", "href", "eventKey", "onSelect", "as"]);
bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'nav-link');
return /*#__PURE__*/_react["default"].createElement(_AbstractNavItem["default"], (0, _extends2["default"])({}, props, {
href: href,
ref: ref,
eventKey: eventKey,
as: as,
disabled: disabled,
onSelect: onSelect,
className: (0, _classnames["default"])(className, bsPrefix, disabled && 'disabled')
}));
});
NavLink.displayName = 'NavLink';
NavLink.propTypes = propTypes;
NavLink.defaultProps = defaultProps;
var _default = NavLink;
exports["default"] = _default;
//# sourceMappingURL=NavLink.js.map