UNPKG

@lskjs/navbar

Version:

LSK ux subrepo: navbar

121 lines (98 loc) 9.97 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 _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _ThemeProvider = require("./ThemeProvider"); var _SafeAnchor = _interopRequireDefault(require("./SafeAnchor")); var propTypes = { /** * @default 'btn' */ bsPrefix: _propTypes["default"].string, /** * One or more button variant combinations * * buttons may be one of a variety of visual variants such as: * * `'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', 'link'` * * as well as "outline" versions (prefixed by 'outline-*') * * `'outline-primary', 'outline-secondary', 'outline-success', 'outline-danger', 'outline-warning', 'outline-info', 'outline-dark', 'outline-light'` */ variant: _propTypes["default"].string, /** * Specifies a large or small button. * * @type ('sm'|'lg') */ size: _propTypes["default"].string, /** Spans the full width of the Button parent */ block: _propTypes["default"].bool, /** Manually set the visual state of the button to `:active` */ active: _propTypes["default"].bool, /** * Disables the Button, preventing mouse events, * even if the underlying component is an `<a>` element */ disabled: _propTypes["default"].bool, /** Providing a `href` will render an `<a>` element, _styled_ as a button. */ href: _propTypes["default"].string, /** * Defines HTML button type attribute. * * @default 'button' */ type: _propTypes["default"].oneOf(['button', 'reset', 'submit', null]), as: _propTypes["default"].elementType }; var defaultProps = { variant: 'primary', active: false, disabled: false, type: 'button' }; var Button = _react["default"].forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, variant = _ref.variant, size = _ref.size, active = _ref.active, className = _ref.className, block = _ref.block, type = _ref.type, as = _ref.as, props = (0, _objectWithoutProperties2["default"])(_ref, ["bsPrefix", "variant", "size", "active", "className", "block", "type", "as"]); var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'btn'); var classes = (0, _classnames["default"])(className, prefix, active && 'active', "".concat(prefix, "-").concat(variant), block && "".concat(prefix, "-block"), size && "".concat(prefix, "-").concat(size)); if (props.href) { return /*#__PURE__*/_react["default"].createElement(_SafeAnchor["default"], (0, _extends2["default"])({}, props, { as: as, ref: ref, className: (0, _classnames["default"])(classes, props.disabled && 'disabled') })); } if (ref) { props.ref = ref; } if (!as) { props.type = type; } var Component = as || 'button'; return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({}, props, { className: classes })); }); Button.displayName = 'Button'; Button.propTypes = propTypes; Button.defaultProps = defaultProps; var _default = Button; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9CdXR0b24uanMiXSwibmFtZXMiOlsicHJvcFR5cGVzIiwiYnNQcmVmaXgiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJ2YXJpYW50Iiwic2l6ZSIsImJsb2NrIiwiYm9vbCIsImFjdGl2ZSIsImRpc2FibGVkIiwiaHJlZiIsInR5cGUiLCJvbmVPZiIsImFzIiwiZWxlbWVudFR5cGUiLCJkZWZhdWx0UHJvcHMiLCJCdXR0b24iLCJSZWFjdCIsImZvcndhcmRSZWYiLCJyZWYiLCJjbGFzc05hbWUiLCJwcm9wcyIsInByZWZpeCIsImNsYXNzZXMiLCJDb21wb25lbnQiLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUVBLElBQU1BLFNBQVMsR0FBRztBQUNoQjs7O0FBR0FDLEVBQUFBLFFBQVEsRUFBRUMsc0JBQVVDLE1BSko7O0FBTWhCOzs7Ozs7Ozs7OztBQVdBQyxFQUFBQSxPQUFPLEVBQUVGLHNCQUFVQyxNQWpCSDs7QUFtQmhCOzs7OztBQUtBRSxFQUFBQSxJQUFJLEVBQUVILHNCQUFVQyxNQXhCQTs7QUEwQmhCO0FBQ0FHLEVBQUFBLEtBQUssRUFBRUosc0JBQVVLLElBM0JEOztBQTZCaEI7QUFDQUMsRUFBQUEsTUFBTSxFQUFFTixzQkFBVUssSUE5QkY7O0FBZ0NoQjs7OztBQUlBRSxFQUFBQSxRQUFRLEVBQUVQLHNCQUFVSyxJQXBDSjs7QUFzQ2hCO0FBQ0FHLEVBQUFBLElBQUksRUFBRVIsc0JBQVVDLE1BdkNBOztBQXlDaEI7Ozs7O0FBS0FRLEVBQUFBLElBQUksRUFBRVQsc0JBQVVVLEtBQVYsQ0FBZ0IsQ0FBQyxRQUFELEVBQVcsT0FBWCxFQUFvQixRQUFwQixFQUE4QixJQUE5QixDQUFoQixDQTlDVTtBQWdEaEJDLEVBQUFBLEVBQUUsRUFBRVgsc0JBQVVZO0FBaERFLENBQWxCO0FBbURBLElBQU1DLFlBQVksR0FBRztBQUNuQlgsRUFBQUEsT0FBTyxFQUFFLFNBRFU7QUFFbkJJLEVBQUFBLE1BQU0sRUFBRSxLQUZXO0FBR25CQyxFQUFBQSxRQUFRLEVBQUUsS0FIUztBQUluQkUsRUFBQUEsSUFBSSxFQUFFO0FBSmEsQ0FBckI7O0FBT0EsSUFBTUssTUFBTSxHQUFHQyxrQkFBTUMsVUFBTixDQUNiLGdCQUVFQyxHQUZGLEVBR0s7QUFBQSxNQUZEbEIsUUFFQyxRQUZEQSxRQUVDO0FBQUEsTUFGU0csT0FFVCxRQUZTQSxPQUVUO0FBQUEsTUFGa0JDLElBRWxCLFFBRmtCQSxJQUVsQjtBQUFBLE1BRndCRyxNQUV4QixRQUZ3QkEsTUFFeEI7QUFBQSxNQUZnQ1ksU0FFaEMsUUFGZ0NBLFNBRWhDO0FBQUEsTUFGMkNkLEtBRTNDLFFBRjJDQSxLQUUzQztBQUFBLE1BRmtESyxJQUVsRCxRQUZrREEsSUFFbEQ7QUFBQSxNQUZ3REUsRUFFeEQsUUFGd0RBLEVBRXhEO0FBQUEsTUFGK0RRLEtBRS9EO0FBQ0gsTUFBTUMsTUFBTSxHQUFHLHVDQUFtQnJCLFFBQW5CLEVBQTZCLEtBQTdCLENBQWY7QUFFQSxNQUFNc0IsT0FBTyxHQUFHLDRCQUNkSCxTQURjLEVBRWRFLE1BRmMsRUFHZGQsTUFBTSxJQUFJLFFBSEksWUFJWGMsTUFKVyxjQUlEbEIsT0FKQyxHQUtkRSxLQUFLLGNBQU9nQixNQUFQLFdBTFMsRUFNZGpCLElBQUksY0FBT2lCLE1BQVAsY0FBaUJqQixJQUFqQixDQU5VLENBQWhCOztBQVNBLE1BQUlnQixLQUFLLENBQUNYLElBQVYsRUFBZ0I7QUFDZCx3QkFDRSxnQ0FBQyxzQkFBRCxnQ0FDTVcsS0FETjtBQUVFLE1BQUEsRUFBRSxFQUFFUixFQUZOO0FBR0UsTUFBQSxHQUFHLEVBQUVNLEdBSFA7QUFJRSxNQUFBLFNBQVMsRUFBRSw0QkFBV0ksT0FBWCxFQUFvQkYsS0FBSyxDQUFDWixRQUFOLElBQWtCLFVBQXRDO0FBSmIsT0FERjtBQVFEOztBQUVELE1BQUlVLEdBQUosRUFBUztBQUNQRSxJQUFBQSxLQUFLLENBQUNGLEdBQU4sR0FBWUEsR0FBWjtBQUNEOztBQUVELE1BQUksQ0FBQ04sRUFBTCxFQUFTO0FBQ1BRLElBQUFBLEtBQUssQ0FBQ1YsSUFBTixHQUFhQSxJQUFiO0FBQ0Q7O0FBRUQsTUFBTWEsU0FBUyxHQUFHWCxFQUFFLElBQUksUUFBeEI7QUFDQSxzQkFBTyxnQ0FBQyxTQUFELGdDQUFlUSxLQUFmO0FBQXNCLElBQUEsU0FBUyxFQUFFRTtBQUFqQyxLQUFQO0FBQ0QsQ0FyQ1ksQ0FBZjs7QUF3Q0FQLE1BQU0sQ0FBQ1MsV0FBUCxHQUFxQixRQUFyQjtBQUNBVCxNQUFNLENBQUNoQixTQUFQLEdBQW1CQSxTQUFuQjtBQUNBZ0IsTUFBTSxDQUFDRCxZQUFQLEdBQXNCQSxZQUF0QjtlQUVlQyxNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgdXNlQm9vdHN0cmFwUHJlZml4IH0gZnJvbSAnLi9UaGVtZVByb3ZpZGVyJztcbmltcG9ydCBTYWZlQW5jaG9yIGZyb20gJy4vU2FmZUFuY2hvcic7XG5cbmNvbnN0IHByb3BUeXBlcyA9IHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0ICdidG4nXG4gICAqL1xuICBic1ByZWZpeDogUHJvcFR5cGVzLnN0cmluZyxcblxuICAvKipcbiAgICogT25lIG9yIG1vcmUgYnV0dG9uIHZhcmlhbnQgY29tYmluYXRpb25zXG4gICAqXG4gICAqIGJ1dHRvbnMgbWF5IGJlIG9uZSBvZiBhIHZhcmlldHkgb2YgdmlzdWFsIHZhcmlhbnRzIHN1Y2ggYXM6XG4gICAqXG4gICAqIGAncHJpbWFyeScsICdzZWNvbmRhcnknLCAnc3VjY2VzcycsICdkYW5nZXInLCAnd2FybmluZycsICdpbmZvJywgJ2RhcmsnLCAnbGlnaHQnLCAnbGluaydgXG4gICAqXG4gICAqIGFzIHdlbGwgYXMgXCJvdXRsaW5lXCIgdmVyc2lvbnMgKHByZWZpeGVkIGJ5ICdvdXRsaW5lLSonKVxuICAgKlxuICAgKiBgJ291dGxpbmUtcHJpbWFyeScsICdvdXRsaW5lLXNlY29uZGFyeScsICdvdXRsaW5lLXN1Y2Nlc3MnLCAnb3V0bGluZS1kYW5nZXInLCAnb3V0bGluZS13YXJuaW5nJywgJ291dGxpbmUtaW5mbycsICdvdXRsaW5lLWRhcmsnLCAnb3V0bGluZS1saWdodCdgXG4gICAqL1xuICB2YXJpYW50OiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBsYXJnZSBvciBzbWFsbCBidXR0b24uXG4gICAqXG4gICAqIEB0eXBlICgnc20nfCdsZycpXG4gICAqL1xuICBzaXplOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gIC8qKiBTcGFucyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgQnV0dG9uIHBhcmVudCAqL1xuICBibG9jazogUHJvcFR5cGVzLmJvb2wsXG5cbiAgLyoqIE1hbnVhbGx5IHNldCB0aGUgdmlzdWFsIHN0YXRlIG9mIHRoZSBidXR0b24gdG8gYDphY3RpdmVgICovXG4gIGFjdGl2ZTogUHJvcFR5cGVzLmJvb2wsXG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBCdXR0b24sIHByZXZlbnRpbmcgbW91c2UgZXZlbnRzLFxuICAgKiBldmVuIGlmIHRoZSB1bmRlcmx5aW5nIGNvbXBvbmVudCBpcyBhbiBgPGE+YCBlbGVtZW50XG4gICAqL1xuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgLyoqIFByb3ZpZGluZyBhIGBocmVmYCB3aWxsIHJlbmRlciBhbiBgPGE+YCBlbGVtZW50LCBfc3R5bGVkXyBhcyBhIGJ1dHRvbi4gKi9cbiAgaHJlZjogUHJvcFR5cGVzLnN0cmluZyxcblxuICAvKipcbiAgICogRGVmaW5lcyBIVE1MIGJ1dHRvbiB0eXBlIGF0dHJpYnV0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2J1dHRvbidcbiAgICovXG4gIHR5cGU6IFByb3BUeXBlcy5vbmVPZihbJ2J1dHRvbicsICdyZXNldCcsICdzdWJtaXQnLCBudWxsXSksXG5cbiAgYXM6IFByb3BUeXBlcy5lbGVtZW50VHlwZSxcbn07XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgdmFyaWFudDogJ3ByaW1hcnknLFxuICBhY3RpdmU6IGZhbHNlLFxuICBkaXNhYmxlZDogZmFsc2UsXG4gIHR5cGU6ICdidXR0b24nLFxufTtcblxuY29uc3QgQnV0dG9uID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKFxuICAgIHsgYnNQcmVmaXgsIHZhcmlhbnQsIHNpemUsIGFjdGl2ZSwgY2xhc3NOYW1lLCBibG9jaywgdHlwZSwgYXMsIC4uLnByb3BzIH0sXG4gICAgcmVmLFxuICApID0+IHtcbiAgICBjb25zdCBwcmVmaXggPSB1c2VCb290c3RyYXBQcmVmaXgoYnNQcmVmaXgsICdidG4nKTtcblxuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc05hbWVzKFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgcHJlZml4LFxuICAgICAgYWN0aXZlICYmICdhY3RpdmUnLFxuICAgICAgYCR7cHJlZml4fS0ke3ZhcmlhbnR9YCxcbiAgICAgIGJsb2NrICYmIGAke3ByZWZpeH0tYmxvY2tgLFxuICAgICAgc2l6ZSAmJiBgJHtwcmVmaXh9LSR7c2l6ZX1gLFxuICAgICk7XG5cbiAgICBpZiAocHJvcHMuaHJlZikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFNhZmVBbmNob3JcbiAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgYXM9e2FzfVxuICAgICAgICAgIHJlZj17cmVmfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLCBwcm9wcy5kaXNhYmxlZCAmJiAnZGlzYWJsZWQnKX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHJlZikge1xuICAgICAgcHJvcHMucmVmID0gcmVmO1xuICAgIH1cblxuICAgIGlmICghYXMpIHtcbiAgICAgIHByb3BzLnR5cGUgPSB0eXBlO1xuICAgIH1cblxuICAgIGNvbnN0IENvbXBvbmVudCA9IGFzIHx8ICdidXR0b24nO1xuICAgIHJldHVybiA8Q29tcG9uZW50IHsuLi5wcm9wc30gY2xhc3NOYW1lPXtjbGFzc2VzfSAvPjtcbiAgfSxcbik7XG5cbkJ1dHRvbi5kaXNwbGF5TmFtZSA9ICdCdXR0b24nO1xuQnV0dG9uLnByb3BUeXBlcyA9IHByb3BUeXBlcztcbkJ1dHRvbi5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cbmV4cG9ydCBkZWZhdWx0IEJ1dHRvbjtcbiJdfQ== //# sourceMappingURL=Button.js.map