(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("react"), require("react-dom")); else if(typeof define === 'function' && define.amd) define(["react", "react-dom"], factory); else if(typeof exports === 'object') exports["ReactBootstrap"] = factory(require("react"), require("react-dom")); else root["ReactBootstrap"] = factory(root["React"], root["ReactDOM"]); })(window, function(__WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__6__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 18); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (false) { var throwOnDirectAccess, ReactIs; } else { // By explicitly using `prop-types` you are opting into new production behavior. // http://fb.me/prop-types-in-prod module.exports = __webpack_require__(11)(); } /***/ }), /* 1 */ /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE__1__; /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! Copyright (c) 2017 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ /* global define */ (function () { 'use strict'; var hasOwn = {}.hasOwnProperty; function classNames() { var classes = []; for (var i = 0; i < arguments.length; i++) { var arg = arguments[i]; if (!arg) continue; var argType = typeof arg; if (argType === 'string' || argType === 'number') { classes.push(arg); } else if (Array.isArray(arg) && arg.length) { var inner = classNames.apply(null, arg); if (inner) { classes.push(inner); } } else if (argType === 'object') { for (var key in arg) { if (hasOwn.call(arg, key) && arg[key]) { classes.push(key); } } } } return classes.join(' '); } if ( true && module.exports) { classNames.default = classNames; module.exports = classNames; } else if (true) { // register as 'classnames', consistent with npm package name !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { return classNames; }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else {} })(); /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = all; var _createChainableTypeChecker = __webpack_require__(9); var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function all() { for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) { validators[_key] = arguments[_key]; } function allPropTypes() { for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } var error = null; validators.forEach(function (validator) { if (error != null) { return; } var result = validator.apply(undefined, args); if (result != null) { error = result; } }); return error; } return (0, _createChainableTypeChecker2.default)(allPropTypes); } module.exports = exports['default']; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = isRequiredForA11y; function isRequiredForA11y(validator) { return function validate(props, propName, componentName, location, propFullName) { var componentNameSafe = componentName || '<>'; var propFullNameSafe = propFullName || propName; if (props[propName] == null) { return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.'); } for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) { args[_key - 5] = arguments[_key]; } return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args)); }; } module.exports = exports['default']; /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Copyright (c) 2014-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /** * Similar to invariant but only logs a warning if the condition is not met. * This can be used to log issues in development environments in critical * paths. Removing the logging code for production environments will keep the * same logic and follow the same code paths. */ var __DEV__ = "production" !== 'production'; var warning = function () {}; if (__DEV__) { var printWarning = function printWarning(format, args) { var len = arguments.length; args = new Array(len > 1 ? len - 1 : 0); for (var key = 1; key < len; key++) { args[key - 1] = arguments[key]; } var argIndex = 0; var message = 'Warning: ' + format.replace(/%s/g, function () { return args[argIndex++]; }); if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} }; warning = function (condition, format, args) { var len = arguments.length; args = new Array(len > 2 ? len - 2 : 0); for (var key = 2; key < len; key++) { args[key - 2] = arguments[key]; } if (format === undefined) { throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); } if (!condition) { printWarning.apply(null, [format].concat(args)); } }; } module.exports = warning; /***/ }), /* 6 */ /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE__6__; /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /** * Use invariant() to assert state which your program assumes to be true. * * Provide sprintf-style format (only %s is supported) and arguments * to provide information about what broke and what you were * expecting. * * The invariant message will be stripped in production, but the invariant * will remain to ensure logic does not differ in production. */ var invariant = function (condition, format, a, b, c, d, e, f) { if (false) {} if (!condition) { var error; if (format === undefined) { error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); } else { var args = [a, b, c, d, e, f]; var argIndex = 0; error = new Error(format.replace(/%s/g, function () { return args[argIndex++]; })); error.name = 'Invariant Violation'; } error.framesToPop = 1; // we don't care about invariant's own frame throw error; } }; module.exports = invariant; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined; var _all = __webpack_require__(3); var _all2 = _interopRequireDefault(_all); var _componentOrElement = __webpack_require__(13); var _componentOrElement2 = _interopRequireDefault(_componentOrElement); var _deprecated = __webpack_require__(14); var _deprecated2 = _interopRequireDefault(_deprecated); var _elementType = __webpack_require__(15); var _elementType2 = _interopRequireDefault(_elementType); var _isRequiredForA11y = __webpack_require__(4); var _isRequiredForA11y2 = _interopRequireDefault(_isRequiredForA11y); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.all = _all2.default; exports.componentOrElement = _componentOrElement2.default; exports.deprecated = _deprecated2.default; exports.elementType = _elementType2.default; exports.isRequiredForA11y = _isRequiredForA11y2.default; /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createChainableTypeChecker; /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ // Mostly taken from ReactPropTypes. function createChainableTypeChecker(validate) { function checkType(isRequired, props, propName, componentName, location, propFullName) { var componentNameSafe = componentName || '<>'; var propFullNameSafe = propFullName || propName; if (props[propName] == null) { if (isRequired) { return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.')); } return null; } for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) { args[_key - 6] = arguments[_key]; } return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args)); } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } module.exports = exports['default']; /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; exports.default = forwardRef; var _react = _interopRequireDefault(__webpack_require__(1)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function forwardRef(renderFn, _temp) { var _ref = _temp === void 0 ? {} : _temp, propTypes = _ref.propTypes, defaultProps = _ref.defaultProps, _ref$allowFallback = _ref.allowFallback, allowFallback = _ref$allowFallback === void 0 ? false : _ref$allowFallback, _ref$displayName = _ref.displayName, displayName = _ref$displayName === void 0 ? renderFn.name || renderFn.displayName : _ref$displayName; var render = function render(props, ref) { return renderFn(props, ref); }; return Object.assign(_react.default.forwardRef || !allowFallback ? _react.default.forwardRef(render) : function (props) { return render(props, null); }, { displayName: displayName, propTypes: propTypes, defaultProps: defaultProps }); } /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = __webpack_require__(12); function emptyFunction() {} function emptyFunctionWithReset() {} emptyFunctionWithReset.resetWarningCache = emptyFunction; module.exports = function () { function shim(props, propName, componentName, location, propFullName, secret) { if (secret === ReactPropTypesSecret) { // It is still safe when called from React. return; } var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types'); err.name = 'Invariant Violation'; throw err; } ; shim.isRequired = shim; function getShim() { return shim; } ; // Important! // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. var ReactPropTypes = { array: shim, bool: shim, func: shim, number: shim, object: shim, string: shim, symbol: shim, any: shim, arrayOf: getShim, element: shim, elementType: shim, instanceOf: getShim, node: shim, objectOf: getShim, oneOf: getShim, oneOfType: getShim, shape: getShim, exact: getShim, checkPropTypes: emptyFunctionWithReset, resetWarningCache: emptyFunction }; ReactPropTypes.PropTypes = ReactPropTypes; return ReactPropTypes; }; /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _react = __webpack_require__(1); var _react2 = _interopRequireDefault(_react); var _createChainableTypeChecker = __webpack_require__(9); var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue); if (_react2.default.isValidElement(propValue)) { return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.'); } if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) { return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.'); } return null; } exports.default = (0, _createChainableTypeChecker2.default)(validate); module.exports = exports['default']; /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = deprecated; var _warning = __webpack_require__(5); var _warning2 = _interopRequireDefault(_warning); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var warned = {}; function deprecated(validator, reason) { return function validate(props, propName, componentName, location, propFullName) { var componentNameSafe = componentName || '<>'; var propFullNameSafe = propFullName || propName; if (props[propName] != null) { var messageKey = componentName + '.' + propName; (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.')); warned[messageKey] = true; } for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) { args[_key - 5] = arguments[_key]; } return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args)); }; } /* eslint-disable no-underscore-dangle */ function _resetWarned() { warned = {}; } deprecated._resetWarned = _resetWarned; /* eslint-enable no-underscore-dangle */ module.exports = exports['default']; /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _react = __webpack_require__(1); var _react2 = _interopRequireDefault(_react); var _reactIs = __webpack_require__(16); var _createChainableTypeChecker = __webpack_require__(9); var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function elementType(props, propName, componentName, location, propFullName) { var propValue = props[propName]; if (_react2.default.isValidElement(propValue)) { return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`,expected an element type (a string ') + ', component class, or function component).'); } if (!(0, _reactIs.isValidElementType)(propValue)) { return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + ', component class, or function component).'); } return null; } exports.default = (0, _createChainableTypeChecker2.default)(elementType); module.exports = exports['default']; /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; if (true) { module.exports = __webpack_require__(17); } else {} /***/ }), /* 17 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var b = "function" === typeof Symbol && Symbol.for, c = b ? Symbol.for("react.element") : 60103, d = b ? Symbol.for("react.portal") : 60106, e = b ? Symbol.for("react.fragment") : 60107, f = b ? Symbol.for("react.strict_mode") : 60108, g = b ? Symbol.for("react.profiler") : 60114, h = b ? Symbol.for("react.provider") : 60109, k = b ? Symbol.for("react.context") : 60110, l = b ? Symbol.for("react.async_mode") : 60111, m = b ? Symbol.for("react.concurrent_mode") : 60111, n = b ? Symbol.for("react.forward_ref") : 60112, p = b ? Symbol.for("react.suspense") : 60113, q = b ? Symbol.for("react.suspense_list") : 60120, r = b ? Symbol.for("react.memo") : 60115, t = b ? Symbol.for("react.lazy") : 60116, v = b ? Symbol.for("react.block") : 60121, w = b ? Symbol.for("react.fundamental") : 60117, x = b ? Symbol.for("react.responder") : 60118, y = b ? Symbol.for("react.scope") : 60119; function z(a) { if ("object" === typeof a && null !== a) { var u = a.$$typeof; switch (u) { case c: switch (a = a.type, a) { case l: case m: case e: case g: case f: case p: return a; default: switch (a = a && a.$$typeof, a) { case k: case n: case t: case r: case h: return a; default: return u; } } case d: return u; } } } function A(a) { return z(a) === m; } exports.AsyncMode = l; exports.ConcurrentMode = m; exports.ContextConsumer = k; exports.ContextProvider = h; exports.Element = c; exports.ForwardRef = n; exports.Fragment = e; exports.Lazy = t; exports.Memo = r; exports.Portal = d; exports.Profiler = g; exports.StrictMode = f; exports.Suspense = p; exports.isAsyncMode = function (a) { return A(a) || z(a) === l; }; exports.isConcurrentMode = A; exports.isContextConsumer = function (a) { return z(a) === k; }; exports.isContextProvider = function (a) { return z(a) === h; }; exports.isElement = function (a) { return "object" === typeof a && null !== a && a.$$typeof === c; }; exports.isForwardRef = function (a) { return z(a) === n; }; exports.isFragment = function (a) { return z(a) === e; }; exports.isLazy = function (a) { return z(a) === t; }; exports.isMemo = function (a) { return z(a) === r; }; exports.isPortal = function (a) { return z(a) === d; }; exports.isProfiler = function (a) { return z(a) === g; }; exports.isStrictMode = function (a) { return z(a) === f; }; exports.isSuspense = function (a) { return z(a) === p; }; exports.isValidElementType = function (a) { return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || "object" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v); }; exports.typeOf = z; /***/ }), /* 18 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, "Accordion", function() { return /* reexport */ src_Accordion; }); __webpack_require__.d(__webpack_exports__, "AccordionToggle", function() { return /* reexport */ src_AccordionToggle; }); __webpack_require__.d(__webpack_exports__, "useAccordionToggle", function() { return /* reexport */ useAccordionToggle; }); __webpack_require__.d(__webpack_exports__, "AccordionCollapse", function() { return /* reexport */ src_AccordionCollapse; }); __webpack_require__.d(__webpack_exports__, "Alert", function() { return /* reexport */ src_Alert; }); __webpack_require__.d(__webpack_exports__, "Badge", function() { return /* reexport */ src_Badge; }); __webpack_require__.d(__webpack_exports__, "Breadcrumb", function() { return /* reexport */ src_Breadcrumb; }); __webpack_require__.d(__webpack_exports__, "BreadcrumbItem", function() { return /* reexport */ src_BreadcrumbItem; }); __webpack_require__.d(__webpack_exports__, "Button", function() { return /* reexport */ src_Button; }); __webpack_require__.d(__webpack_exports__, "ButtonGroup", function() { return /* reexport */ src_ButtonGroup; }); __webpack_require__.d(__webpack_exports__, "ButtonToolbar", function() { return /* reexport */ src_ButtonToolbar; }); __webpack_require__.d(__webpack_exports__, "Card", function() { return /* reexport */ src_Card; }); __webpack_require__.d(__webpack_exports__, "CardColumns", function() { return /* reexport */ CardColumns; }); __webpack_require__.d(__webpack_exports__, "CardDeck", function() { return /* reexport */ CardDeck; }); __webpack_require__.d(__webpack_exports__, "CardImg", function() { return /* reexport */ src_CardImg; }); __webpack_require__.d(__webpack_exports__, "CardGroup", function() { return /* reexport */ CardGroup; }); __webpack_require__.d(__webpack_exports__, "Carousel", function() { return /* reexport */ src_Carousel; }); __webpack_require__.d(__webpack_exports__, "CarouselItem", function() { return /* reexport */ CarouselItem; }); __webpack_require__.d(__webpack_exports__, "CloseButton", function() { return /* reexport */ src_CloseButton; }); __webpack_require__.d(__webpack_exports__, "Col", function() { return /* reexport */ src_Col; }); __webpack_require__.d(__webpack_exports__, "Collapse", function() { return /* reexport */ src_Collapse; }); __webpack_require__.d(__webpack_exports__, "Dropdown", function() { return /* reexport */ src_Dropdown; }); __webpack_require__.d(__webpack_exports__, "DropdownButton", function() { return /* reexport */ src_DropdownButton; }); __webpack_require__.d(__webpack_exports__, "DropdownItem", function() { return /* reexport */ src_DropdownItem; }); __webpack_require__.d(__webpack_exports__, "Fade", function() { return /* reexport */ src_Fade; }); __webpack_require__.d(__webpack_exports__, "Form", function() { return /* reexport */ src_Form; }); __webpack_require__.d(__webpack_exports__, "FormControl", function() { return /* reexport */ src_FormControl; }); __webpack_require__.d(__webpack_exports__, "FormCheck", function() { return /* reexport */ src_FormCheck; }); __webpack_require__.d(__webpack_exports__, "FormFile", function() { return /* reexport */ src_FormFile; }); __webpack_require__.d(__webpack_exports__, "Switch", function() { return /* reexport */ src_Switch; }); __webpack_require__.d(__webpack_exports__, "FormGroup", function() { return /* reexport */ src_FormGroup; }); __webpack_require__.d(__webpack_exports__, "FormLabel", function() { return /* reexport */ src_FormLabel; }); __webpack_require__.d(__webpack_exports__, "FormText", function() { return /* reexport */ src_FormText; }); __webpack_require__.d(__webpack_exports__, "Container", function() { return /* reexport */ src_Container; }); __webpack_require__.d(__webpack_exports__, "Image", function() { return /* reexport */ src_Image; }); __webpack_require__.d(__webpack_exports__, "Figure", function() { return /* reexport */ src_Figure; }); __webpack_require__.d(__webpack_exports__, "InputGroup", function() { return /* reexport */ src_InputGroup; }); __webpack_require__.d(__webpack_exports__, "Jumbotron", function() { return /* reexport */ src_Jumbotron; }); __webpack_require__.d(__webpack_exports__, "ListGroup", function() { return /* reexport */ src_ListGroup; }); __webpack_require__.d(__webpack_exports__, "ListGroupItem", function() { return /* reexport */ src_ListGroupItem; }); __webpack_require__.d(__webpack_exports__, "Media", function() { return /* reexport */ src_Media; }); __webpack_require__.d(__webpack_exports__, "Modal", function() { return /* reexport */ src_Modal; }); __webpack_require__.d(__webpack_exports__, "ModalBody", function() { return /* reexport */ ModalBody; }); __webpack_require__.d(__webpack_exports__, "ModalDialog", function() { return /* reexport */ src_ModalDialog; }); __webpack_require__.d(__webpack_exports__, "ModalFooter", function() { return /* reexport */ ModalFooter; }); __webpack_require__.d(__webpack_exports__, "ModalTitle", function() { return /* reexport */ ModalTitle; }); __webpack_require__.d(__webpack_exports__, "Nav", function() { return /* reexport */ src_Nav; }); __webpack_require__.d(__webpack_exports__, "Navbar", function() { return /* reexport */ src_Navbar; }); __webpack_require__.d(__webpack_exports__, "NavbarBrand", function() { return /* reexport */ src_NavbarBrand; }); __webpack_require__.d(__webpack_exports__, "NavDropdown", function() { return /* reexport */ src_NavDropdown; }); __webpack_require__.d(__webpack_exports__, "NavItem", function() { return /* reexport */ src_NavItem; }); __webpack_require__.d(__webpack_exports__, "NavLink", function() { return /* reexport */ src_NavLink; }); __webpack_require__.d(__webpack_exports__, "Overlay", function() { return /* reexport */ src_Overlay; }); __webpack_require__.d(__webpack_exports__, "OverlayTrigger", function() { return /* reexport */ src_OverlayTrigger; }); __webpack_require__.d(__webpack_exports__, "PageItem", function() { return /* reexport */ src_PageItem; }); __webpack_require__.d(__webpack_exports__, "Pagination", function() { return /* reexport */ src_Pagination; }); __webpack_require__.d(__webpack_exports__, "Popover", function() { return /* reexport */ src_Popover; }); __webpack_require__.d(__webpack_exports__, "PopoverContent", function() { return /* reexport */ src_PopoverContent; }); __webpack_require__.d(__webpack_exports__, "PopoverTitle", function() { return /* reexport */ src_PopoverTitle; }); __webpack_require__.d(__webpack_exports__, "ProgressBar", function() { return /* reexport */ src_ProgressBar; }); __webpack_require__.d(__webpack_exports__, "ResponsiveEmbed", function() { return /* reexport */ src_ResponsiveEmbed; }); __webpack_require__.d(__webpack_exports__, "Row", function() { return /* reexport */ src_Row; }); __webpack_require__.d(__webpack_exports__, "SafeAnchor", function() { return /* reexport */ src_SafeAnchor; }); __webpack_require__.d(__webpack_exports__, "Spinner", function() { return /* reexport */ src_Spinner; }); __webpack_require__.d(__webpack_exports__, "SplitButton", function() { return /* reexport */ src_SplitButton; }); __webpack_require__.d(__webpack_exports__, "Tab", function() { return /* reexport */ src_Tab; }); __webpack_require__.d(__webpack_exports__, "TabContainer", function() { return /* reexport */ src_TabContainer; }); __webpack_require__.d(__webpack_exports__, "TabContent", function() { return /* reexport */ src_TabContent; }); __webpack_require__.d(__webpack_exports__, "Table", function() { return /* reexport */ src_Table; }); __webpack_require__.d(__webpack_exports__, "TabPane", function() { return /* reexport */ src_TabPane; }); __webpack_require__.d(__webpack_exports__, "Tabs", function() { return /* reexport */ src_Tabs; }); __webpack_require__.d(__webpack_exports__, "ThemeProvider", function() { return /* reexport */ src_ThemeProvider; }); __webpack_require__.d(__webpack_exports__, "ToggleButton", function() { return /* reexport */ src_ToggleButton; }); __webpack_require__.d(__webpack_exports__, "ToggleButtonGroup", function() { return /* reexport */ src_ToggleButtonGroup; }); __webpack_require__.d(__webpack_exports__, "Tooltip", function() { return /* reexport */ src_Tooltip; }); __webpack_require__.d(__webpack_exports__, "Toast", function() { return /* reexport */ src_Toast; }); __webpack_require__.d(__webpack_exports__, "ToastBody", function() { return /* reexport */ ToastBody; }); __webpack_require__.d(__webpack_exports__, "ToastHeader", function() { return /* reexport */ src_ToastHeader; }); // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } // EXTERNAL MODULE: ./node_modules/classnames/index.js var classnames = __webpack_require__(2); var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"} var external_root_React_commonjs2_react_commonjs_react_amd_react_ = __webpack_require__(1); var external_root_React_commonjs2_react_commonjs_react_amd_react_default = /*#__PURE__*/__webpack_require__.n(external_root_React_commonjs2_react_commonjs_react_amd_react_); // EXTERNAL MODULE: ./node_modules/prop-types/index.js var prop_types = __webpack_require__(0); var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types); // EXTERNAL MODULE: ./node_modules/invariant/browser.js var browser = __webpack_require__(7); var browser_default = /*#__PURE__*/__webpack_require__.n(browser); // CONCATENATED MODULE: ./node_modules/uncontrollable/esm/utils.js var noop = function noop() {}; function readOnlyPropType(handler, name) { return function (props, propName) { if (props[propName] !== undefined) { if (!props[handler]) { return new Error("You have provided a `" + propName + "` prop to `" + name + "` " + ("without an `" + handler + "` handler prop. This will render a read-only field. ") + ("If the field should be mutable use `" + defaultKey(propName) + "`. ") + ("Otherwise, set `" + handler + "`.")); } } }; } function uncontrolledPropTypes(controlledValues, displayName) { var propTypes = {}; Object.keys(controlledValues).forEach(function (prop) { // add default propTypes for folks that use runtime checks propTypes[defaultKey(prop)] = noop; if (false) { var handler; } }); return propTypes; } function utils_isProp(props, prop) { return props[prop] !== undefined; } function defaultKey(key) { return 'default' + key.charAt(0).toUpperCase() + key.substr(1); } /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ function utils_canAcceptRef(component) { return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent); } // CONCATENATED MODULE: ./node_modules/uncontrollable/esm/hook.js function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } function useUncontrolledProp(propValue, defaultValue, handler) { var wasPropRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(propValue !== undefined); var _useState = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(defaultValue), stateValue = _useState[0], setState = _useState[1]; var isProp = propValue !== undefined; var wasProp = wasPropRef.current; wasPropRef.current = isProp; /** * If a prop switches from controlled to Uncontrolled * reset its value to the defaultValue */ if (!isProp && wasProp && stateValue !== defaultValue) { setState(defaultValue); } return [isProp ? propValue : stateValue, Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (value) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } if (handler) handler.apply(void 0, [value].concat(args)); setState(value); }, [handler])]; } function useUncontrolled(props, config) { return Object.keys(config).reduce(function (result, fieldName) { var _extends2; var _ref = result, defaultValue = _ref[defaultKey(fieldName)], propsValue = _ref[fieldName], rest = _objectWithoutPropertiesLoose(_ref, [defaultKey(fieldName), fieldName].map(_toPropertyKey)); var handlerName = config[fieldName]; var _useUncontrolledProp = useUncontrolledProp(propsValue, defaultValue, props[handlerName]), value = _useUncontrolledProp[0], handler = _useUncontrolledProp[1]; return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = value, _extends2[handlerName] = handler, _extends2)); }, props); } // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } // CONCATENATED MODULE: ./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ function componentWillMount() { // Call this.constructor.gDSFP to support sub-classes. var state = this.constructor.getDerivedStateFromProps(this.props, this.state); if (state !== null && state !== undefined) { this.setState(state); } } function componentWillReceiveProps(nextProps) { // Call this.constructor.gDSFP to support sub-classes. // Use the setState() updater to ensure state isn't stale in certain edge cases. function updater(prevState) { var state = this.constructor.getDerivedStateFromProps(nextProps, prevState); return state !== null && state !== undefined ? state : null; } // Binding "this" is important for shallow renderer support. this.setState(updater.bind(this)); } function componentWillUpdate(nextProps, nextState) { try { var prevProps = this.props; var prevState = this.state; this.props = nextProps; this.state = nextState; this.__reactInternalSnapshotFlag = true; this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(prevProps, prevState); } finally { this.props = prevProps; this.state = prevState; } } // React may warn about cWM/cWRP/cWU methods being deprecated. // Add a flag to suppress these warnings for this special case. componentWillMount.__suppressDeprecationWarning = true; componentWillReceiveProps.__suppressDeprecationWarning = true; componentWillUpdate.__suppressDeprecationWarning = true; function polyfill(Component) { var prototype = Component.prototype; if (!prototype || !prototype.isReactComponent) { throw new Error('Can only polyfill class components'); } if (typeof Component.getDerivedStateFromProps !== 'function' && typeof prototype.getSnapshotBeforeUpdate !== 'function') { return Component; } // If new component APIs are defined, "unsafe" lifecycles won't be called. // Error if any of these lifecycles are present, // Because they would work differently between older and newer (16.3+) versions of React. var foundWillMountName = null; var foundWillReceivePropsName = null; var foundWillUpdateName = null; if (typeof prototype.componentWillMount === 'function') { foundWillMountName = 'componentWillMount'; } else if (typeof prototype.UNSAFE_componentWillMount === 'function') { foundWillMountName = 'UNSAFE_componentWillMount'; } if (typeof prototype.componentWillReceiveProps === 'function') { foundWillReceivePropsName = 'componentWillReceiveProps'; } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') { foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps'; } if (typeof prototype.componentWillUpdate === 'function') { foundWillUpdateName = 'componentWillUpdate'; } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') { foundWillUpdateName = 'UNSAFE_componentWillUpdate'; } if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) { var componentName = Component.displayName || Component.name; var newApiName = typeof Component.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()'; throw Error('Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + componentName + ' uses ' + newApiName + ' but also contains the following legacy lifecycles:' + (foundWillMountName !== null ? '\n ' + foundWillMountName : '') + (foundWillReceivePropsName !== null ? '\n ' + foundWillReceivePropsName : '') + (foundWillUpdateName !== null ? '\n ' + foundWillUpdateName : '') + '\n\nThe above lifecycles should be removed. Learn more about this warning here:\n' + 'https://fb.me/react-async-component-lifecycle-hooks'); } // React <= 16.2 does not support static getDerivedStateFromProps. // As a workaround, use cWM and cWRP to invoke the new static lifecycle. // Newer versions of React will ignore these lifecycles if gDSFP exists. if (typeof Component.getDerivedStateFromProps === 'function') { prototype.componentWillMount = componentWillMount; prototype.componentWillReceiveProps = componentWillReceiveProps; } // React <= 16.2 does not support getSnapshotBeforeUpdate. // As a workaround, use cWU to invoke the new lifecycle. // Newer versions of React will ignore that lifecycle if gSBU exists. if (typeof prototype.getSnapshotBeforeUpdate === 'function') { if (typeof prototype.componentDidUpdate !== 'function') { throw new Error('Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'); } prototype.componentWillUpdate = componentWillUpdate; var componentDidUpdate = prototype.componentDidUpdate; prototype.componentDidUpdate = function componentDidUpdatePolyfill(prevProps, prevState, maybeSnapshot) { // 16.3+ will not execute our will-update method; // It will pass a snapshot value to did-update though. // Older versions will require our polyfilled will-update value. // We need to handle both cases, but can't just check for the presence of "maybeSnapshot", // Because for <= 15.x versions this might be a "prevContext" object. // We also can't just check "__reactInternalSnapshot", // Because get-snapshot might return a falsy value. // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior. var snapshot = this.__reactInternalSnapshotFlag ? this.__reactInternalSnapshot : maybeSnapshot; componentDidUpdate.call(this, prevProps, prevState, snapshot); }; } return Component; } // CONCATENATED MODULE: ./node_modules/uncontrollable/esm/uncontrollable.js function uncontrollable(Component, controlledValues, methods) { if (methods === void 0) { methods = []; } var displayName = Component.displayName || Component.name || 'Component'; var canAcceptRef = utils_canAcceptRef(Component); var controlledProps = Object.keys(controlledValues); var PROPS_TO_OMIT = controlledProps.map(defaultKey); !(canAcceptRef || !methods.length) ? false ? undefined : browser_default()(false) : void 0; var UncontrolledComponent = /*#__PURE__*/function (_React$Component) { _inheritsLoose(UncontrolledComponent, _React$Component); function UncontrolledComponent() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; _this.handlers = Object.create(null); controlledProps.forEach(function (propName) { var handlerName = controlledValues[propName]; var handleChange = function handleChange(value) { if (_this.props[handlerName]) { var _this$props; _this._notifying = true; for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } (_this$props = _this.props)[handlerName].apply(_this$props, [value].concat(args)); _this._notifying = false; } if (!_this.unmounted) _this.setState(function (_ref) { var _extends2; var values = _ref.values; return { values: _extends(Object.create(null), values, (_extends2 = {}, _extends2[propName] = value, _extends2)) }; }); }; _this.handlers[handlerName] = handleChange; }); if (methods.length) _this.attachRef = function (ref) { _this.inner = ref; }; var values = Object.create(null); controlledProps.forEach(function (key) { values[key] = _this.props[defaultKey(key)]; }); _this.state = { values: values, prevProps: {} }; return _this; } var _proto = UncontrolledComponent.prototype; _proto.shouldComponentUpdate = function shouldComponentUpdate() { //let setState trigger the update return !this._notifying; }; UncontrolledComponent.getDerivedStateFromProps = function getDerivedStateFromProps(props, _ref2) { var values = _ref2.values, prevProps = _ref2.prevProps; var nextState = { values: _extends(Object.create(null), values), prevProps: {} }; controlledProps.forEach(function (key) { /** * If a prop switches from controlled to Uncontrolled * reset its value to the defaultValue */ nextState.prevProps[key] = props[key]; if (!utils_isProp(props, key) && utils_isProp(prevProps, key)) { nextState.values[key] = props[defaultKey(key)]; } }); return nextState; }; _proto.componentWillUnmount = function componentWillUnmount() { this.unmounted = true; }; _proto.render = function render() { var _this2 = this; var _this$props2 = this.props, innerRef = _this$props2.innerRef, props = _objectWithoutPropertiesLoose(_this$props2, ["innerRef"]); PROPS_TO_OMIT.forEach(function (prop) { delete props[prop]; }); var newProps = {}; controlledProps.forEach(function (propName) { var propValue = _this2.props[propName]; newProps[propName] = propValue !== undefined ? propValue : _this2.state.values[propName]; }); return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, newProps, this.handlers, { ref: innerRef || this.attachRef })); }; return UncontrolledComponent; }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component); polyfill(UncontrolledComponent); UncontrolledComponent.displayName = "Uncontrolled(" + displayName + ")"; UncontrolledComponent.propTypes = _extends({ innerRef: function innerRef() {} }, uncontrolledPropTypes(controlledValues, displayName)); methods.forEach(function (method) { UncontrolledComponent.prototype[method] = function $proxiedMethod() { var _this$inner; return (_this$inner = this.inner)[method].apply(_this$inner, arguments); }; }); var WrappedComponent = UncontrolledComponent; if (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef) { WrappedComponent = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) { return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(UncontrolledComponent, _extends({}, props, { innerRef: ref })); }); WrappedComponent.propTypes = UncontrolledComponent.propTypes; } WrappedComponent.ControlledComponent = Component; /** * useful when wrapping a Component and you want to control * everything */ WrappedComponent.deferControlTo = function (newComponent, additions, nextMethods) { if (additions === void 0) { additions = {}; } return uncontrollable(newComponent, _extends({}, controlledValues, additions), nextMethods); }; return WrappedComponent; } // CONCATENATED MODULE: ./node_modules/uncontrollable/esm/index.js // EXTERNAL MODULE: ./node_modules/@restart/context/forwardRef.js var forwardRef = __webpack_require__(10); var forwardRef_default = /*#__PURE__*/__webpack_require__.n(forwardRef); // CONCATENATED MODULE: ./src/ThemeProvider.js var _jsxFileName = "/Users/jquense/src/react-bootstrap/src/ThemeProvider.js"; var ThemeContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext({}); var Consumer = ThemeContext.Consumer, Provider = ThemeContext.Provider; function ThemeProvider(_ref) { var prefixes = _ref.prefixes, children = _ref.children; var copiedPrefixes = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () { return _extends({}, prefixes); }, [prefixes]); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Provider, { value: copiedPrefixes, __self: this, __source: { fileName: _jsxFileName, lineNumber: 11, columnNumber: 10 } }, children); } ThemeProvider.propTypes = { prefixes: prop_types_default.a.object.isRequired }; function useBootstrapPrefix(prefix, defaultPrefix) { var prefixes = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(ThemeContext); return prefix || prefixes[defaultPrefix] || defaultPrefix; } function createBootstrapComponent(Component, opts) { var _this = this; if (typeof opts === 'string') opts = { prefix: opts }; var isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref var _opts = opts, prefix = _opts.prefix, _opts$forwardRefAs = _opts.forwardRefAs, forwardRefAs = _opts$forwardRefAs === void 0 ? isClassy ? 'ref' : 'innerRef' : _opts$forwardRefAs; return forwardRef_default()(function (_ref2, ref) { var props = _extends({}, _ref2); props[forwardRefAs] = ref; // eslint-disable-next-line react/prop-types var bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, { bsPrefix: bsPrefix, __self: _this, __source: { fileName: _jsxFileName, lineNumber: 34, columnNumber: 14 } })); }, { displayName: "Bootstrap(" + (Component.displayName || Component.name) + ")" }); } /* harmony default export */ var src_ThemeProvider = (ThemeProvider); // CONCATENATED MODULE: ./src/SelectableContext.js var SelectableContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(); var makeEventKey = function makeEventKey(eventKey, href) { if (eventKey != null) return String(eventKey); return href || null; }; /* harmony default export */ var src_SelectableContext = (SelectableContext); // CONCATENATED MODULE: ./src/AccordionContext.js /* harmony default export */ var AccordionContext = (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null)); // CONCATENATED MODULE: ./src/AccordionToggle.js var AccordionToggle_this = undefined, AccordionToggle_jsxFileName = "/Users/jquense/src/react-bootstrap/src/AccordionToggle.js"; var propTypes = { /** Set a custom element for this component */ as: prop_types_default.a.elementType, /** * A key that corresponds to the collapse component that gets triggered * when this has been clicked. */ eventKey: prop_types_default.a.string.isRequired, /** A callback function for when this component is clicked */ onClick: prop_types_default.a.func, /** Children prop should only contain a single child, and is enforced as such */ children: prop_types_default.a.element }; function useAccordionToggle(eventKey, onClick) { var contextEventKey = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(AccordionContext); var onSelect = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_SelectableContext); return function (e) { /* Compare the event key in context with the given event key. If they are the same, then collapse the component. */ var eventKeyPassed = eventKey === contextEventKey ? null : eventKey; onSelect(eventKeyPassed, e); if (onClick) onClick(e); }; } var AccordionToggle = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) { var _ref$as = _ref.as, Component = _ref$as === void 0 ? 'button' : _ref$as, children = _ref.children, eventKey = _ref.eventKey, onClick = _ref.onClick, props = _objectWithoutPropertiesLoose(_ref, ["as", "children", "eventKey", "onClick"]); var accordionOnClick = useAccordionToggle(eventKey, onClick); if (Component === 'button') { props.type = 'button'; } return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({ ref: ref, onClick: accordionOnClick }, props, { __self: AccordionToggle_this, __source: { fileName: AccordionToggle_jsxFileName, lineNumber: 58, columnNumber: 7 } }), children); }); AccordionToggle.propTypes = propTypes; /* harmony default export */ var src_AccordionToggle = (AccordionToggle); // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/ownerDocument.js function ownerDocument(node) { return node && node.ownerDocument || document; } // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/ownerWindow.js function ownerWindow(node) { var doc = ownerDocument(node); return doc && doc.defaultView || window; } // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/getComputedStyle.js function getComputedStyle_getComputedStyle(node, psuedoElement) { return ownerWindow(node).getComputedStyle(node, psuedoElement); } // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/hyphenate.js var rUpper = /([A-Z])/g; function hyphenate(string) { return string.replace(rUpper, '-$1').toLowerCase(); } // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/hyphenateStyle.js /** * Copyright 2013-2014, Facebook, Inc. * All rights reserved. * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js */ var msPattern = /^ms-/; function hyphenateStyleName(string) { return hyphenate(string).replace(msPattern, '-ms-'); } // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/isTransform.js var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i; function isTransform(value) { return !!(value && supportedTransforms.test(value)); } // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/css.js function css_style(node, property) { var css = ''; var transforms = ''; if (typeof property === 'string') { return node.style.getPropertyValue(hyphenateStyleName(property)) || getComputedStyle_getComputedStyle(node).getPropertyValue(hyphenateStyleName(property)); } Object.keys(property).forEach(function (key) { var value = property[key]; if (!value && value !== 0) { node.style.removeProperty(hyphenateStyleName(key)); } else if (isTransform(key)) { transforms += key + "(" + value + ") "; } else { css += hyphenateStyleName(key) + ": " + value + ";"; } }); if (transforms) { css += "transform: " + transforms + ";"; } node.style.cssText += ";" + css; } /* harmony default export */ var esm_css = (css_style); // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/canUseDOM.js /* harmony default export */ var canUseDOM = (!!(typeof window !== 'undefined' && window.document && window.document.createElement)); // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/addEventListener.js /* eslint-disable no-return-assign */ var optionsSupported = false; var onceSupported = false; try { var addEventListener_options = { get passive() { return optionsSupported = true; }, get once() { // eslint-disable-next-line no-multi-assign return onceSupported = optionsSupported = true; } }; if (canUseDOM) { window.addEventListener('test', addEventListener_options, addEventListener_options); window.removeEventListener('test', addEventListener_options, true); } } catch (e) {} /* */ /** * An `addEventListener` ponyfill, supports the `once` option */ function addEventListener(node, eventName, handler, options) { if (options && typeof options !== 'boolean' && !onceSupported) { var once = options.once, capture = options.capture; var wrappedHandler = handler; if (!onceSupported && once) { wrappedHandler = handler.__once || function onceHandler(event) { this.removeEventListener(eventName, onceHandler, capture); handler.call(this, event); }; handler.__once = wrappedHandler; } node.addEventListener(eventName, wrappedHandler, optionsSupported ? options : capture); } node.addEventListener(eventName, handler, options); } /* harmony default export */ var esm_addEventListener = (addEventListener); // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/removeEventListener.js function removeEventListener(node, eventName, handler, options) { var capture = options && typeof options !== 'boolean' ? options.capture : options; node.removeEventListener(eventName, handler, capture); if (handler.__once) { node.removeEventListener(eventName, handler.__once, capture); } } /* harmony default export */ var esm_removeEventListener = (removeEventListener); // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/listen.js function listen(node, eventName, handler, options) { esm_addEventListener(node, eventName, handler, options); return function () { esm_removeEventListener(node, eventName, handler, options); }; } /* harmony default export */ var esm_listen = (listen); // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/transitionEnd.js var TRANSITION_SUPPORTED = canUseDOM && 'ontransitionend' in window; function parseDuration(node) { var str = esm_css(node, 'transitionDuration') || ''; var mult = str.indexOf('ms') === -1 ? 1000 : 1; return parseFloat(str) * mult; } function triggerTransitionEnd(element) { var evt = document.createEvent('HTMLEvents'); evt.initEvent('transitionend', true, true); element.dispatchEvent(evt); } function emulateTransitionEnd(element, duration, padding) { if (padding === void 0) { padding = 5; } var called = false; var handle = setTimeout(function () { if (!called) triggerTransitionEnd(element); }, duration + padding); var remove = esm_listen(element, 'transitionend', function () { called = true; }, { once: true }); return function () { clearTimeout(handle); remove(); }; } function transitionEnd(element, handler, duration) { if (duration == null) duration = parseDuration(element) || 0; var removeEmulate = emulateTransitionEnd(element, duration); var remove = esm_listen(element, 'transitionend', handler); return function () { removeEmulate(); remove(); }; } /* harmony default export */ var esm_transitionEnd = (transitionEnd); // EXTERNAL MODULE: external {"root":"ReactDOM","commonjs2":"react-dom","commonjs":"react-dom","amd":"react-dom"} var external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_ = __webpack_require__(6); var external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_default = /*#__PURE__*/__webpack_require__.n(external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_); // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/config.js /* harmony default export */ var esm_config = ({ disabled: false }); // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/TransitionGroupContext.js /* harmony default export */ var TransitionGroupContext = (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null)); // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/Transition.js var UNMOUNTED = 'unmounted'; var EXITED = 'exited'; var ENTERING = 'entering'; var ENTERED = 'entered'; var EXITING = 'exiting'; /** * The Transition component lets you describe a transition from one component * state to another _over time_ with a simple declarative API. Most commonly * it's used to animate the mounting and unmounting of a component, but can also * be used to describe in-place transition states as well. * * --- * * **Note**: `Transition` is a platform-agnostic base component. If you're using * transitions in CSS, you'll probably want to use * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition) * instead. It inherits all the features of `Transition`, but contains * additional features necessary to play nice with CSS transitions (hence the * name of the component). * * --- * * By default the `Transition` component does not alter the behavior of the * component it renders, it only tracks "enter" and "exit" states for the * components. It's up to you to give meaning and effect to those states. For * example we can add styles to a component when it enters or exits: * * ```jsx * import { Transition } from 'react-transition-group'; * * const duration = 300; * * const defaultStyle = { * transition: `opacity ${duration}ms ease-in-out`, * opacity: 0, * } * * const transitionStyles = { * entering: { opacity: 1 }, * entered: { opacity: 1 }, * exiting: { opacity: 0 }, * exited: { opacity: 0 }, * }; * * const Fade = ({ in: inProp }) => ( * * {state => ( *
* I'm a fade Transition! *
* )} *
* ); * ``` * * There are 4 main states a Transition can be in: * - `'entering'` * - `'entered'` * - `'exiting'` * - `'exited'` * * Transition state is toggled via the `in` prop. When `true` the component * begins the "Enter" stage. During this stage, the component will shift from * its current transition state, to `'entering'` for the duration of the * transition and then to the `'entered'` stage once it's complete. Let's take * the following example (we'll use the * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook): * * ```jsx * function App() { * const [inProp, setInProp] = useState(false); * return ( *
* * {state => ( * // ... * )} * * *
* ); * } * ``` * * When the button is clicked the component will shift to the `'entering'` state * and stay there for 500ms (the value of `timeout`) before it finally switches * to `'entered'`. * * When `in` is `false` the same thing happens except the state moves from * `'exiting'` to `'exited'`. */ var Transition_Transition = /*#__PURE__*/function (_React$Component) { _inheritsLoose(Transition, _React$Component); function Transition(props, context) { var _this; _this = _React$Component.call(this, props, context) || this; var parentGroup = context; // In the context of a TransitionGroup all enters are really appears var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear; var initialStatus; _this.appearStatus = null; if (props.in) { if (appear) { initialStatus = EXITED; _this.appearStatus = ENTERING; } else { initialStatus = ENTERED; } } else { if (props.unmountOnExit || props.mountOnEnter) { initialStatus = UNMOUNTED; } else { initialStatus = EXITED; } } _this.state = { status: initialStatus }; _this.nextCallback = null; return _this; } Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) { var nextIn = _ref.in; if (nextIn && prevState.status === UNMOUNTED) { return { status: EXITED }; } return null; }; // getSnapshotBeforeUpdate(prevProps) { // let nextStatus = null // if (prevProps !== this.props) { // const { status } = this.state // if (this.props.in) { // if (status !== ENTERING && status !== ENTERED) { // nextStatus = ENTERING // } // } else { // if (status === ENTERING || status === ENTERED) { // nextStatus = EXITING // } // } // } // return { nextStatus } // } var _proto = Transition.prototype; _proto.componentDidMount = function componentDidMount() { this.updateStatus(true, this.appearStatus); }; _proto.componentDidUpdate = function componentDidUpdate(prevProps) { var nextStatus = null; if (prevProps !== this.props) { var status = this.state.status; if (this.props.in) { if (status !== ENTERING && status !== ENTERED) { nextStatus = ENTERING; } } else { if (status === ENTERING || status === ENTERED) { nextStatus = EXITING; } } } this.updateStatus(false, nextStatus); }; _proto.componentWillUnmount = function componentWillUnmount() { this.cancelNextCallback(); }; _proto.getTimeouts = function getTimeouts() { var timeout = this.props.timeout; var exit, enter, appear; exit = enter = appear = timeout; if (timeout != null && typeof timeout !== 'number') { exit = timeout.exit; enter = timeout.enter; // TODO: remove fallback for next major appear = timeout.appear !== undefined ? timeout.appear : enter; } return { exit: exit, enter: enter, appear: appear }; }; _proto.updateStatus = function updateStatus(mounting, nextStatus) { if (mounting === void 0) { mounting = false; } if (nextStatus !== null) { // nextStatus will always be ENTERING or EXITING. this.cancelNextCallback(); var node = external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_default.a.findDOMNode(this); if (nextStatus === ENTERING) { this.performEnter(node, mounting); } else { this.performExit(node); } } else if (this.props.unmountOnExit && this.state.status === EXITED) { this.setState({ status: UNMOUNTED }); } }; _proto.performEnter = function performEnter(node, mounting) { var _this2 = this; var enter = this.props.enter; var appearing = this.context ? this.context.isMounting : mounting; var timeouts = this.getTimeouts(); var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED // if we are mounting and running this it means appear _must_ be set if (!mounting && !enter || esm_config.disabled) { this.safeSetState({ status: ENTERED }, function () { _this2.props.onEntered(node); }); return; } this.props.onEnter(node, appearing); this.safeSetState({ status: ENTERING }, function () { _this2.props.onEntering(node, appearing); _this2.onTransitionEnd(node, enterTimeout, function () { _this2.safeSetState({ status: ENTERED }, function () { _this2.props.onEntered(node, appearing); }); }); }); }; _proto.performExit = function performExit(node) { var _this3 = this; var exit = this.props.exit; var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED if (!exit || esm_config.disabled) { this.safeSetState({ status: EXITED }, function () { _this3.props.onExited(node); }); return; } this.props.onExit(node); this.safeSetState({ status: EXITING }, function () { _this3.props.onExiting(node); _this3.onTransitionEnd(node, timeouts.exit, function () { _this3.safeSetState({ status: EXITED }, function () { _this3.props.onExited(node); }); }); }); }; _proto.cancelNextCallback = function cancelNextCallback() { if (this.nextCallback !== null) { this.nextCallback.cancel(); this.nextCallback = null; } }; _proto.safeSetState = function safeSetState(nextState, callback) { // This shouldn't be necessary, but there are weird race conditions with // setState callbacks and unmounting in testing, so always make sure that // we can cancel any pending setState callbacks after we unmount. callback = this.setNextCallback(callback); this.setState(nextState, callback); }; _proto.setNextCallback = function setNextCallback(callback) { var _this4 = this; var active = true; this.nextCallback = function (event) { if (active) { active = false; _this4.nextCallback = null; callback(event); } }; this.nextCallback.cancel = function () { active = false; }; return this.nextCallback; }; _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) { this.setNextCallback(handler); var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener; if (!node || doesNotHaveTimeoutOrListener) { setTimeout(this.nextCallback, 0); return; } if (this.props.addEndListener) { this.props.addEndListener(node, this.nextCallback); } if (timeout != null) { setTimeout(this.nextCallback, timeout); } }; _proto.render = function render() { var status = this.state.status; if (status === UNMOUNTED) { return null; } var _this$props = this.props, children = _this$props.children, childProps = _objectWithoutPropertiesLoose(_this$props, ["children"]); // filter props for Transtition delete childProps.in; delete childProps.mountOnEnter; delete childProps.unmountOnExit; delete childProps.appear; delete childProps.enter; delete childProps.exit; delete childProps.timeout; delete childProps.addEndListener; delete childProps.onEnter; delete childProps.onEntering; delete childProps.onEntered; delete childProps.onExit; delete childProps.onExiting; delete childProps.onExited; if (typeof children === 'function') { // allows for nested Transitions return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(TransitionGroupContext.Provider, { value: null }, children(status, childProps)); } var child = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.only(children); return (// allows for nested Transitions external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(TransitionGroupContext.Provider, { value: null }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(child, childProps)) ); }; return Transition; }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component); Transition_Transition.contextType = TransitionGroupContext; Transition_Transition.propTypes = false ? undefined : {}; function Transition_noop() {} Transition_Transition.defaultProps = { in: false, mountOnEnter: false, unmountOnExit: false, appear: false, enter: true, exit: true, onEnter: Transition_noop, onEntering: Transition_noop, onEntered: Transition_noop, onExit: Transition_noop, onExiting: Transition_noop, onExited: Transition_noop }; Transition_Transition.UNMOUNTED = 0; Transition_Transition.EXITED = 1; Transition_Transition.ENTERING = 2; Transition_Transition.ENTERED = 3; Transition_Transition.EXITING = 4; /* harmony default export */ var esm_Transition = (Transition_Transition); // CONCATENATED MODULE: ./src/createChainedFunction.js /** * Safe chained function * * Will only create a new function if needed, * otherwise will pass back existing functions or null. * * @param {function} functions to chain * @returns {function|null} */ function createChainedFunction() { for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { funcs[_key] = arguments[_key]; } return funcs.filter(function (f) { return f != null; }).reduce(function (acc, f) { if (typeof f !== 'function') { throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.'); } if (acc === null) return f; return function chainedFunction() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } acc.apply(this, args); f.apply(this, args); }; }, null); } /* harmony default export */ var src_createChainedFunction = (createChainedFunction); // CONCATENATED MODULE: ./src/triggerBrowserReflow.js // reading a dimension prop will cause the browser to recalculate, // which will let our animations work function triggerBrowserReflow(node) { node.offsetHeight; // eslint-disable-line no-unused-expressions } // CONCATENATED MODULE: ./src/Collapse.js var _collapseStyles, Collapse_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Collapse.js"; var MARGINS = { height: ['marginTop', 'marginBottom'], width: ['marginLeft', 'marginRight'] }; function getDimensionValue(dimension, elem) { var offset = "offset" + dimension[0].toUpperCase() + dimension.slice(1); var value = elem[offset]; var margins = MARGINS[dimension]; return value + parseInt(esm_css(elem, margins[0]), 10) + parseInt(esm_css(elem, margins[1]), 10); } var collapseStyles = (_collapseStyles = {}, _collapseStyles[EXITED] = 'collapse', _collapseStyles[EXITING] = 'collapsing', _collapseStyles[ENTERING] = 'collapsing', _collapseStyles[ENTERED] = 'collapse show', _collapseStyles); var Collapse_propTypes = { /** * Show the component; triggers the expand or collapse animation */ in: prop_types_default.a.bool, /** * Wait until the first "enter" transition to mount the component (add it to the DOM) */ mountOnEnter: prop_types_default.a.bool, /** * Unmount the component (remove it from the DOM) when it is collapsed */ unmountOnExit: prop_types_default.a.bool, /** * Run the expand animation when the component mounts, if it is initially * shown */ appear: prop_types_default.a.bool, /** * Duration of the collapse animation in milliseconds, to ensure that * finishing callbacks are fired even if the original browser transition end * events are canceled */ timeout: prop_types_default.a.number, /** * Callback fired before the component expands */ onEnter: prop_types_default.a.func, /** * Callback fired after the component starts to expand */ onEntering: prop_types_default.a.func, /** * Callback fired after the component has expanded */ onEntered: prop_types_default.a.func, /** * Callback fired before the component collapses */ onExit: prop_types_default.a.func, /** * Callback fired after the component starts to collapse */ onExiting: prop_types_default.a.func, /** * Callback fired after the component has collapsed */ onExited: prop_types_default.a.func, /** * The dimension used when collapsing, or a function that returns the * dimension * * _Note: Bootstrap only partially supports 'width'! * You will need to supply your own CSS animation for the `.width` CSS class._ */ dimension: prop_types_default.a.oneOfType([prop_types_default.a.oneOf(['height', 'width']), prop_types_default.a.func]), /** * Function that returns the height or width of the animating DOM node * * Allows for providing some custom logic for how much the Collapse component * should animate in its specified dimension. Called with the current * dimension prop value and the DOM node. * * @default element.offsetWidth | element.offsetHeight */ getDimensionValue: prop_types_default.a.func, /** * ARIA role of collapsible element */ role: prop_types_default.a.string }; var Collapse_defaultProps = { in: false, timeout: 300, mountOnEnter: false, unmountOnExit: false, appear: false, dimension: 'height', getDimensionValue: getDimensionValue }; var Collapse_Collapse = /*#__PURE__*/function (_React$Component) { _inheritsLoose(Collapse, _React$Component); function Collapse() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; _this.handleEnter = function (elem) { elem.style[_this.getDimension()] = '0'; }; _this.handleEntering = function (elem) { var dimension = _this.getDimension(); elem.style[dimension] = _this._getScrollDimensionValue(elem, dimension); }; _this.handleEntered = function (elem) { elem.style[_this.getDimension()] = null; }; _this.handleExit = function (elem) { var dimension = _this.getDimension(); elem.style[dimension] = _this.props.getDimensionValue(dimension, elem) + "px"; triggerBrowserReflow(elem); }; _this.handleExiting = function (elem) { elem.style[_this.getDimension()] = null; }; return _this; } var _proto = Collapse.prototype; _proto.getDimension = function getDimension() { return typeof this.props.dimension === 'function' ? this.props.dimension() : this.props.dimension; } /* -- Expanding -- */ ; // for testing _proto._getScrollDimensionValue = function _getScrollDimensionValue(elem, dimension) { var scroll = "scroll" + dimension[0].toUpperCase() + dimension.slice(1); return elem[scroll] + "px"; }; _proto.render = function render() { var _this2 = this; var _this$props = this.props, onEnter = _this$props.onEnter, onEntering = _this$props.onEntering, onEntered = _this$props.onEntered, onExit = _this$props.onExit, onExiting = _this$props.onExiting, className = _this$props.className, children = _this$props.children, props = _objectWithoutPropertiesLoose(_this$props, ["onEnter", "onEntering", "onEntered", "onExit", "onExiting", "className", "children"]); delete props.dimension; delete props.getDimensionValue; var handleEnter = src_createChainedFunction(this.handleEnter, onEnter); var handleEntering = src_createChainedFunction(this.handleEntering, onEntering); var handleEntered = src_createChainedFunction(this.handleEntered, onEntered); var handleExit = src_createChainedFunction(this.handleExit, onExit); var handleExiting = src_createChainedFunction(this.handleExiting, onExiting); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_Transition, _extends({ addEndListener: esm_transitionEnd }, props, { "aria-expanded": props.role ? props.in : null, onEnter: handleEnter, onEntering: handleEntering, onEntered: handleEntered, onExit: handleExit, onExiting: handleExiting, __self: this, __source: { fileName: Collapse_jsxFileName, lineNumber: 199, columnNumber: 7 } }), function (state, innerProps) { return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(children, _extends({}, innerProps, { className: classnames_default()(className, children.props.className, collapseStyles[state], _this2.getDimension() === 'width' && 'width') })); }); }; return Collapse; }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component); Collapse_Collapse.propTypes = Collapse_propTypes; Collapse_Collapse.defaultProps = Collapse_defaultProps; /* harmony default export */ var src_Collapse = (Collapse_Collapse); // CONCATENATED MODULE: ./src/AccordionCollapse.js var AccordionCollapse_this = undefined, AccordionCollapse_jsxFileName = "/Users/jquense/src/react-bootstrap/src/AccordionCollapse.js"; var AccordionCollapse_propTypes = { /** * A key that corresponds to the toggler that triggers this collapse's expand or collapse. */ eventKey: prop_types_default.a.string.isRequired, /** Children prop should only contain a single child, and is enforced as such */ children: prop_types_default.a.element.isRequired }; var AccordionCollapse = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) { var children = _ref.children, eventKey = _ref.eventKey, props = _objectWithoutPropertiesLoose(_ref, ["children", "eventKey"]); var contextEventKey = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(AccordionContext); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Collapse, _extends({ ref: ref, in: contextEventKey === eventKey }, props, { __self: AccordionCollapse_this, __source: { fileName: AccordionCollapse_jsxFileName, lineNumber: 22, columnNumber: 7 } }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", { __self: AccordionCollapse_this, __source: { fileName: AccordionCollapse_jsxFileName, lineNumber: 23, columnNumber: 9 } }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.only(children))); }); AccordionCollapse.propTypes = AccordionCollapse_propTypes; AccordionCollapse.displayName = 'AccordionCollapse'; /* harmony default export */ var src_AccordionCollapse = (AccordionCollapse); // CONCATENATED MODULE: ./src/Accordion.js var Accordion_this = undefined, Accordion_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Accordion.js"; var Accordion_propTypes = { /** Set a custom element for this component */ as: prop_types_default.a.elementType, /** @default 'accordion' */ bsPrefix: prop_types_default.a.string, /** The current active key that corresponds to the currently expanded card */ activeKey: prop_types_default.a.string, /** The default active key that is expanded on start */ defaultActiveKey: prop_types_default.a.string }; var Accordion = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) { var _useUncontrolled = useUncontrolled(props, { activeKey: 'onSelect' }), _useUncontrolled$as = _useUncontrolled.as, Component = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as, activeKey = _useUncontrolled.activeKey, bsPrefix = _useUncontrolled.bsPrefix, children = _useUncontrolled.children, className = _useUncontrolled.className, onSelect = _useUncontrolled.onSelect, controlledProps = _objectWithoutPropertiesLoose(_useUncontrolled, ["as", "activeKey", "bsPrefix", "children", "className", "onSelect"]); bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion'); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(AccordionContext.Provider, { value: activeKey, __self: Accordion_this, __source: { fileName: Accordion_jsxFileName, lineNumber: 42, columnNumber: 5 } }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, { value: onSelect, __self: Accordion_this, __source: { fileName: Accordion_jsxFileName, lineNumber: 43, columnNumber: 7 } }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({ ref: ref }, controlledProps, { className: classnames_default()(className, bsPrefix), __self: Accordion_this, __source: { fileName: Accordion_jsxFileName, lineNumber: 44, columnNumber: 9 } }), children))); }); Accordion.propTypes = Accordion_propTypes; Accordion.Toggle = src_AccordionToggle; Accordion.Collapse = src_AccordionCollapse; /* harmony default export */ var src_Accordion = (Accordion); // EXTERNAL MODULE: ./node_modules/prop-types-extra/lib/index.js var lib = __webpack_require__(8); // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useCommittedRef.js /** * Creates a `Ref` whose value is updated in an effect, ensuring the most recent * value is the one rendered with. Generally only required for Concurrent mode usage * where previous work in `render()` may be discarded befor being used. * * This is safe to access in an event handler. * * @param value The `Ref` value */ function useCommittedRef(value) { var ref = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(value); Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () { ref.current = value; }, [value]); return ref; } /* harmony default export */ var esm_useCommittedRef = (useCommittedRef); // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useEventCallback.js function useEventCallback(fn) { var ref = esm_useCommittedRef(fn); return Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () { return ref.current && ref.current.apply(ref, arguments); }, [ref]); } // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/camelize.js var rHyphen = /-(.)/g; function camelize(string) { return string.replace(rHyphen, function (_, chr) { return chr.toUpperCase(); }); } // CONCATENATED MODULE: ./src/createWithBsPrefix.js var createWithBsPrefix_jsxFileName = "/Users/jquense/src/react-bootstrap/src/createWithBsPrefix.js"; var createWithBsPrefix_pascalCase = function pascalCase(str) { return str[0].toUpperCase() + camelize(str).slice(1); }; function createWithBsPrefix(prefix, _temp) { var _this = this; var _ref = _temp === void 0 ? {} : _temp, _ref$displayName = _ref.displayName, displayName = _ref$displayName === void 0 ? createWithBsPrefix_pascalCase(prefix) : _ref$displayName, _ref$Component = _ref.Component, Component = _ref$Component === void 0 ? 'div' : _ref$Component, defaultProps = _ref.defaultProps; var BsComponent = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // eslint-disable-next-line react/prop-types function (_ref2, ref) { var className = _ref2.className, bsPrefix = _ref2.bsPrefix, _ref2$as = _ref2.as, Tag = _ref2$as === void 0 ? Component : _ref2$as, props = _objectWithoutPropertiesLoose(_ref2, ["className", "bsPrefix", "as"]); var resolvedPrefix = useBootstrapPrefix(bsPrefix, prefix); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Tag, _extends({ ref: ref, className: classnames_default()(className, resolvedPrefix) }, props, { __self: _this, __source: { fileName: createWithBsPrefix_jsxFileName, lineNumber: 17, columnNumber: 9 } })); }); BsComponent.defaultProps = defaultProps; BsComponent.displayName = displayName; return BsComponent; } // CONCATENATED MODULE: ./src/divWithClassName.js var divWithClassName_this = undefined, divWithClassName_jsxFileName = "/Users/jquense/src/react-bootstrap/src/divWithClassName.js"; /* harmony default export */ var divWithClassName = (function (className) { return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (p, ref) { return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({}, p, { ref: ref, className: classnames_default()(p.className, className), __self: divWithClassName_this, __source: { fileName: divWithClassName_jsxFileName, lineNumber: 6, columnNumber: 5 } })); }); }); // CONCATENATED MODULE: ./src/Fade.js var _fadeStyles, Fade_this = undefined, Fade_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Fade.js"; var Fade_propTypes = { /** * Show the component; triggers the fade in or fade out animation */ in: prop_types_default.a.bool, /** * Wait until the first "enter" transition to mount the component (add it to the DOM) */ mountOnEnter: prop_types_default.a.bool, /** * Unmount the component (remove it from the DOM) when it is faded out */ unmountOnExit: prop_types_default.a.bool, /** * Run the fade in animation when the component mounts, if it is initially * shown */ appear: prop_types_default.a.bool, /** * Duration of the fade animation in milliseconds, to ensure that finishing * callbacks are fired even if the original browser transition end events are * canceled */ timeout: prop_types_default.a.number, /** * Callback fired before the component fades in */ onEnter: prop_types_default.a.func, /** * Callback fired after the component starts to fade in */ onEntering: prop_types_default.a.func, /** * Callback fired after the has component faded in */ onEntered: prop_types_default.a.func, /** * Callback fired before the component fades out */ onExit: prop_types_default.a.func, /** * Callback fired after the component starts to fade out */ onExiting: prop_types_default.a.func, /** * Callback fired after the component has faded out */ onExited: prop_types_default.a.func }; var Fade_defaultProps = { in: false, timeout: 300, mountOnEnter: false, unmountOnExit: false, appear: false }; var fadeStyles = (_fadeStyles = {}, _fadeStyles[ENTERING] = 'show', _fadeStyles[ENTERED] = 'show', _fadeStyles); var Fade = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) { var className = _ref.className, children = _ref.children, props = _objectWithoutPropertiesLoose(_ref, ["className", "children"]); var handleEnter = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (node) { triggerBrowserReflow(node); if (props.onEnter) props.onEnter(node); }, [props]); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_Transition, _extends({ ref: ref, addEndListener: esm_transitionEnd }, props, { onEnter: handleEnter, __self: Fade_this, __source: { fileName: Fade_jsxFileName, lineNumber: 89, columnNumber: 5 } }), function (status, innerProps) { return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(children, _extends({}, innerProps, { className: classnames_default()('fade', className, children.props.className, fadeStyles[status]) })); }); }); Fade.propTypes = Fade_propTypes; Fade.defaultProps = Fade_defaultProps; Fade.displayName = 'Fade'; /* harmony default export */ var src_Fade = (Fade); // CONCATENATED MODULE: ./src/CloseButton.js var CloseButton_this = undefined, CloseButton_jsxFileName = "/Users/jquense/src/react-bootstrap/src/CloseButton.js"; var CloseButton_propTypes = { label: prop_types_default.a.string.isRequired, onClick: prop_types_default.a.func }; var CloseButton_defaultProps = { label: 'Close' }; var CloseButton = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) { var label = _ref.label, onClick = _ref.onClick, className = _ref.className, props = _objectWithoutPropertiesLoose(_ref, ["label", "onClick", "className"]); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("button", _extends({ ref: ref, type: "button", className: classnames_default()('close', className), onClick: onClick }, props, { __self: CloseButton_this, __source: { fileName: CloseButton_jsxFileName, lineNumber: 16, columnNumber: 5 } }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", { "aria-hidden": "true", __self: CloseButton_this, __source: { fileName: CloseButton_jsxFileName, lineNumber: 23, columnNumber: 7 } }, "\xD7"), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", { className: "sr-only", __self: CloseButton_this, __source: { fileName: CloseButton_jsxFileName, lineNumber: 24, columnNumber: 7 } }, label)); }); CloseButton.displayName = 'CloseButton'; CloseButton.propTypes = CloseButton_propTypes; CloseButton.defaultProps = CloseButton_defaultProps; /* harmony default export */ var src_CloseButton = (CloseButton); // CONCATENATED MODULE: ./src/SafeAnchor.js var SafeAnchor_this = undefined, SafeAnchor_jsxFileName = "/Users/jquense/src/react-bootstrap/src/SafeAnchor.js"; var SafeAnchor_propTypes = { href: prop_types_default.a.string, onClick: prop_types_default.a.func, onKeyDown: prop_types_default.a.func, disabled: prop_types_default.a.bool, role: prop_types_default.a.string, tabIndex: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]), /** * this is sort of silly but needed for Button */ as: prop_types_default.a.elementType }; function isTrivialHref(href) { return !href || href.trim() === '#'; } /** * There are situations due to browser quirks or Bootstrap CSS where * an anchor tag is needed, when semantically a button tag is the * better choice. SafeAnchor ensures that when an anchor is used like a * button its accessible. It also emulates input `disabled` behavior for * links, which is usually desirable for Buttons, NavItems, DropdownItems, etc. */ var SafeAnchor = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) { var _ref$as = _ref.as, Component = _ref$as === void 0 ? 'a' : _ref$as, disabled = _ref.disabled, onKeyDown = _ref.onKeyDown, props = _objectWithoutPropertiesLoose(_ref, ["as", "disabled", "onKeyDown"]); var handleClick = function handleClick(event) { var href = props.href, onClick = props.onClick; if (disabled || isTrivialHref(href)) { event.preventDefault(); } if (disabled) { event.stopPropagation(); return; } if (onClick) { onClick(event); } }; var handleKeyDown = function handleKeyDown(event) { if (event.key === ' ') { event.preventDefault(); handleClick(event); } }; if (isTrivialHref(props.href)) { props.role = props.role || 'button'; // we want to make sure there is a href attribute on the node // otherwise, the cursor incorrectly styled (except with role='button') props.href = props.href || '#'; } if (disabled) { props.tabIndex = -1; props['aria-disabled'] = true; } return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({ ref: ref }, props, { onClick: handleClick, onKeyDown: src_createChainedFunction(handleKeyDown, onKeyDown), __self: SafeAnchor_this, __source: { fileName: SafeAnchor_jsxFileName, lineNumber: 79, columnNumber: 7 } })); }); SafeAnchor.propTypes = SafeAnchor_propTypes; SafeAnchor.displayName = 'SafeAnchor'; /* harmony default export */ var src_SafeAnchor = (SafeAnchor); // CONCATENATED MODULE: ./src/Alert.js var Alert_this = undefined, Alert_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Alert.js"; var Alert_propTypes = { /** * @default 'alert' */ bsPrefix: prop_types_default.a.string, /** * The Alert visual variant * * @type {'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light'} */ variant: prop_types_default.a.string, /** * Renders a properly aligned dismiss button, as well as * adding extra horizontal padding to the Alert. */ dismissible: prop_types_default.a.bool, /** * Controls the visual state of the Alert. * * @controllable onClose */ show: prop_types_default.a.bool, /** * Callback fired when alert is closed. * * @controllable show */ onClose: prop_types_default.a.func, /** * Sets the text for alert close button. */ closeLabel: prop_types_default.a.string, /** A `react-transition-group` Transition component used to animate the Alert on dismissal. */ transition: lib["elementType"] }; var Alert_defaultProps = { show: true, transition: src_Fade, closeLabel: 'Close alert' }; var controllables = { show: 'onClose' }; var Alert = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (uncontrolledProps, ref) { var _useUncontrolled = useUncontrolled(uncontrolledProps, controllables), bsPrefix = _useUncontrolled.bsPrefix, show = _useUncontrolled.show, closeLabel = _useUncontrolled.closeLabel, className = _useUncontrolled.className, children = _useUncontrolled.children, variant = _useUncontrolled.variant, onClose = _useUncontrolled.onClose, dismissible = _useUncontrolled.dismissible, Transition = _useUncontrolled.transition, props = _objectWithoutPropertiesLoose(_useUncontrolled, ["bsPrefix", "show", "closeLabel", "className", "children", "variant", "onClose", "dismissible", "transition"]); var prefix = useBootstrapPrefix(bsPrefix, 'alert'); var handleClose = useEventCallback(function (e) { onClose(false, e); }); var alert = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({ role: "alert" }, Transition ? props : undefined, { ref: ref, className: classnames_default()(className, prefix, variant && prefix + "-" + variant, dismissible && prefix + "-dismissible"), __self: Alert_this, __source: { fileName: Alert_jsxFileName, lineNumber: 87, columnNumber: 5 } }), dismissible && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_CloseButton, { onClick: handleClose, label: closeLabel, __self: Alert_this, __source: { fileName: Alert_jsxFileName, lineNumber: 98, columnNumber: 23 } }), children); if (!Transition) return show ? alert : null; return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Transition, _extends({ unmountOnExit: true }, props, { in: show, __self: Alert_this, __source: { fileName: Alert_jsxFileName, lineNumber: 106, columnNumber: 5 } }), alert); }); var DivStyledAsH4 = divWithClassName('h4'); DivStyledAsH4.displayName = 'DivStyledAsH4'; Alert.displayName = 'Alert'; Alert.propTypes = Alert_propTypes; Alert.defaultProps = Alert_defaultProps; Alert.Link = createWithBsPrefix('alert-link', { Component: src_SafeAnchor }); Alert.Heading = createWithBsPrefix('alert-heading', { Component: DivStyledAsH4 }); /* harmony default export */ var src_Alert = (Alert); // CONCATENATED MODULE: ./src/Badge.js var Badge_this = undefined, Badge_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Badge.js"; var Badge_propTypes = { /** @default 'badge' */ bsPrefix: prop_types_default.a.string, /** * The visual style of the badge * * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'light'|'dark')} */ variant: prop_types_default.a.string, /** * Add the `pill` modifier to make badges more rounded with * some additional horizontal padding */ pill: prop_types_default.a.bool.isRequired, /** @default span */ as: prop_types_default.a.elementType }; var Badge_defaultProps = { pill: false }; var Badge = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, variant = _ref.variant, pill = _ref.pill, className = _ref.className, _ref$as = _ref.as, Component = _ref$as === void 0 ? 'span' : _ref$as, props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "variant", "pill", "className", "as"]); var prefix = useBootstrapPrefix(bsPrefix, 'badge'); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({ ref: ref }, props, { className: classnames_default()(className, prefix, pill && prefix + "-pill", variant && prefix + "-" + variant), __self: Badge_this, __source: { fileName: Badge_jsxFileName, lineNumber: 39, columnNumber: 7 } })); }); Badge.displayName = 'Badge'; Badge.propTypes = Badge_propTypes; Badge.defaultProps = Badge_defaultProps; /* harmony default export */ var src_Badge = (Badge); // CONCATENATED MODULE: ./src/BreadcrumbItem.js var BreadcrumbItem_this = undefined, BreadcrumbItem_jsxFileName = "/Users/jquense/src/react-bootstrap/src/BreadcrumbItem.js"; var BreadcrumbItem_propTypes = { /** * @default 'breadcrumb-item' */ bsPrefix: prop_types_default.a.string, /** * Adds a visual "active" state to a Breadcrumb * Item and disables the link. */ active: prop_types_default.a.bool, /** * `href` attribute for the inner `a` element */ href: prop_types_default.a.string, /** * You can use a custom element type for this component's inner link. */ linkAs: prop_types_default.a.elementType, /** * `title` attribute for the inner `a` element */ title: prop_types_default.a.node, /** * `target` attribute for the inner `a` element */ target: prop_types_default.a.string, /** * Additional props passed as-is to the underlying link for non-active items. */ linkProps: prop_types_default.a.object, as: prop_types_default.a.elementType }; var BreadcrumbItem_defaultProps = { active: false, linkProps: {} }; var BreadcrumbItem = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, active = _ref.active, children = _ref.children, className = _ref.className, _ref$as = _ref.as, Component = _ref$as === void 0 ? 'li' : _ref$as, _ref$linkAs = _ref.linkAs, LinkComponent = _ref$linkAs === void 0 ? src_SafeAnchor : _ref$linkAs, linkProps = _ref.linkProps, href = _ref.href, title = _ref.title, target = _ref.target, props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "active", "children", "className", "as", "linkAs", "linkProps", "href", "title", "target"]); var prefix = useBootstrapPrefix(bsPrefix, 'breadcrumb-item'); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({ ref: ref }, props, { className: classnames_default()(prefix, className, { active: active }), "aria-current": active ? 'page' : undefined, __self: BreadcrumbItem_this, __source: { fileName: BreadcrumbItem_jsxFileName, lineNumber: 68, columnNumber: 7 } }), active ? children : /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(LinkComponent, _extends({}, linkProps, { href: href, title: title, target: target, __self: BreadcrumbItem_this, __source: { fileName: BreadcrumbItem_jsxFileName, lineNumber: 77, columnNumber: 11 } }), children)); }); BreadcrumbItem.displayName = 'BreadcrumbItem'; BreadcrumbItem.propTypes = BreadcrumbItem_propTypes; BreadcrumbItem.defaultProps = BreadcrumbItem_defaultProps; /* harmony default export */ var src_BreadcrumbItem = (BreadcrumbItem); // CONCATENATED MODULE: ./src/Breadcrumb.js var Breadcrumb_this = undefined, Breadcrumb_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Breadcrumb.js"; var Breadcrumb_propTypes = { /** * @default 'breadcrumb' */ bsPrefix: prop_types_default.a.string, /** * ARIA label for the nav element * https://www.w3.org/TR/wai-aria-practices/#breadcrumb */ label: prop_types_default.a.string, /** * Additional props passed as-is to the underlying `
    ` element */ listProps: prop_types_default.a.object, as: prop_types_default.a.elementType }; var Breadcrumb_defaultProps = { label: 'breadcrumb', listProps: {} }; var Breadcrumb = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, className = _ref.className, listProps = _ref.listProps, children = _ref.children, label = _ref.label, _ref$as = _ref.as, Component = _ref$as === void 0 ? 'nav' : _ref$as, props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "listProps", "children", "label", "as"]); var prefix = useBootstrapPrefix(bsPrefix, 'breadcrumb'); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({ "aria-label": label, className: className, ref: ref }, props, { __self: Breadcrumb_this, __source: { fileName: Breadcrumb_jsxFileName, lineNumber: 48, columnNumber: 7 } }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("ol", _extends({}, listProps, { className: classnames_default()(prefix, listProps.className), __self: Breadcrumb_this, __source: { fileName: Breadcrumb_jsxFileName, lineNumber: 49, columnNumber: 9 } }), children)); }); Breadcrumb.displayName = 'Breadcrumb'; Breadcrumb.propTypes = Breadcrumb_propTypes; Breadcrumb.defaultProps = Breadcrumb_defaultProps; Breadcrumb.Item = src_BreadcrumbItem; /* harmony default export */ var src_Breadcrumb = (Breadcrumb); // CONCATENATED MODULE: ./src/Button.js var Button_this = undefined, Button_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Button.js"; var Button_propTypes = { /** * @default 'btn' */ bsPrefix: prop_types_default.a.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: prop_types_default.a.string, /** * Specifies a large or small button. * * @type ('sm'|'lg') */ size: prop_types_default.a.string, /** Spans the full width of the Button parent */ block: prop_types_default.a.bool, /** Manually set the visual state of the button to `:active` */ active: prop_types_default.a.bool, /** * Disables the Button, preventing mouse events, * even if the underlying component is an `` element */ disabled: prop_types_default.a.bool, /** Providing a `href` will render an `` element, _styled_ as a button. */ href: prop_types_default.a.string, /** * Defines HTML button type attribute. * * @default 'button' */ type: prop_types_default.a.oneOf(['button', 'reset', 'submit', null]), as: prop_types_default.a.elementType }; var Button_defaultProps = { variant: 'primary', active: false, disabled: false, type: 'button' }; var Button = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.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 = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "variant", "size", "active", "className", "block", "type", "as"]); var prefix = useBootstrapPrefix(bsPrefix, 'btn'); var classes = classnames_default()(className, prefix, active && 'active', prefix + "-" + variant, block && prefix + "-block", size && prefix + "-" + size); if (props.href) { return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SafeAnchor, _extends({}, props, { as: as, ref: ref, className: classnames_default()(classes, props.disabled && 'disabled'), __self: Button_this, __source: { fileName: Button_jsxFileName, lineNumber: 84, columnNumber: 9 } })); } if (ref) { props.ref = ref; } if (!as) { props.type = type; } var Component = as || 'button'; return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, { className: classes, __self: Button_this, __source: { fileName: Button_jsxFileName, lineNumber: 102, columnNumber: 12 } })); }); Button.displayName = 'Button'; Button.propTypes = Button_propTypes; Button.defaultProps = Button_defaultProps; /* harmony default export */ var src_Button = (Button); // CONCATENATED MODULE: ./src/ButtonGroup.js var ButtonGroup_this = undefined, ButtonGroup_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ButtonGroup.js"; var ButtonGroup_propTypes = { /** * @default 'btn-group' */ bsPrefix: prop_types_default.a.string, /** * Sets the size for all Buttons in the group. * * @type ('sm'|'lg') */ size: prop_types_default.a.string, /** Make the set of Buttons appear vertically stacked. */ vertical: prop_types_default.a.bool, /** * Display as a button toggle group. * * (Generally it's better to use `ToggleButtonGroup` directly) */ toggle: prop_types_default.a.bool, /** * An ARIA role describing the button group. Usually the default * "group" role is fine. An `aria-label` or `aria-labelledby` * prop is also recommended. */ role: prop_types_default.a.string, as: prop_types_default.a.elementType }; var ButtonGroup_defaultProps = { vertical: false, toggle: false, role: 'group' }; var ButtonGroup = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) { var bsPrefix = props.bsPrefix, size = props.size, toggle = props.toggle, vertical = props.vertical, className = props.className, _props$as = props.as, Component = _props$as === void 0 ? 'div' : _props$as, rest = _objectWithoutPropertiesLoose(props, ["bsPrefix", "size", "toggle", "vertical", "className", "as"]); var prefix = useBootstrapPrefix(bsPrefix, 'btn-group'); var baseClass = prefix; if (vertical) baseClass = prefix + "-vertical"; return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, rest, { ref: ref, className: classnames_default()(className, baseClass, size && prefix + "-" + size, toggle && prefix + "-toggle"), __self: ButtonGroup_this, __source: { fileName: ButtonGroup_jsxFileName, lineNumber: 64, columnNumber: 5 } })); }); ButtonGroup.displayName = 'ButtonGroup'; ButtonGroup.propTypes = ButtonGroup_propTypes; ButtonGroup.defaultProps = ButtonGroup_defaultProps; /* harmony default export */ var src_ButtonGroup = (ButtonGroup); // CONCATENATED MODULE: ./src/ButtonToolbar.js var ButtonToolbar_this = undefined, ButtonToolbar_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ButtonToolbar.js"; var ButtonToolbar_propTypes = { /** * @default 'btn-toolbar' */ bsPrefix: prop_types_default.a.string, /** * The ARIA role describing the button toolbar. Generally the default * "toolbar" role is correct. An `aria-label` or `aria-labelledby` * prop is also recommended. */ role: prop_types_default.a.string }; var ButtonToolbar_defaultProps = { role: 'toolbar' }; var ButtonToolbar = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, className = _ref.className, props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className"]); var prefix = useBootstrapPrefix(bsPrefix, 'btn-toolbar'); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({}, props, { ref: ref, className: classnames_default()(className, prefix), __self: ButtonToolbar_this, __source: { fileName: ButtonToolbar_jsxFileName, lineNumber: 30, columnNumber: 7 } })); }); ButtonToolbar.displayName = 'ButtonToolbar'; ButtonToolbar.propTypes = ButtonToolbar_propTypes; ButtonToolbar.defaultProps = ButtonToolbar_defaultProps; /* harmony default export */ var src_ButtonToolbar = (ButtonToolbar); // CONCATENATED MODULE: ./src/CardContext.js /* harmony default export */ var CardContext = (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null)); // CONCATENATED MODULE: ./src/CardImg.js var CardImg_this = undefined, CardImg_jsxFileName = "/Users/jquense/src/react-bootstrap/src/CardImg.js"; var CardImg_propTypes = { /** * @default 'card-img' */ bsPrefix: prop_types_default.a.string, /** * Defines image position inside * the card. * * @type {('top'|'bottom')} */ variant: prop_types_default.a.oneOf(['top', 'bottom', null]), as: prop_types_default.a.elementType }; var CardImg_defaultProps = { variant: null }; var CardImg = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595 function (_ref, ref) { var bsPrefix = _ref.bsPrefix, className = _ref.className, variant = _ref.variant, _ref$as = _ref.as, Component = _ref$as === void 0 ? 'img' : _ref$as, props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "variant", "as"]); var prefix = useBootstrapPrefix(bsPrefix, 'card-img'); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({ ref: ref, className: classnames_default()(variant ? prefix + "-" + variant : prefix, className) }, props, { __self: CardImg_this, __source: { fileName: CardImg_jsxFileName, lineNumber: 34, columnNumber: 7 } })); }); CardImg.displayName = 'CardImg'; CardImg.propTypes = CardImg_propTypes; CardImg.defaultProps = CardImg_defaultProps; /* harmony default export */ var src_CardImg = (CardImg); // CONCATENATED MODULE: ./src/Card.js var Card_this = undefined, Card_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Card.js"; var DivStyledAsH5 = divWithClassName('h5'); var DivStyledAsH6 = divWithClassName('h6'); var CardBody = createWithBsPrefix('card-body'); var Card_propTypes = { /** * @default 'card' */ bsPrefix: prop_types_default.a.string, /** * Sets card background * * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'dark'|'light')} */ bg: prop_types_default.a.string, /** * Sets card text color * * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'dark'|'light'|'white'|'muted')} */ text: prop_types_default.a.string, /** * Sets card border color * * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'dark'|'light')} */ border: prop_types_default.a.string, /** * When this prop is set, it creates a Card with a Card.Body inside * passing the children directly to it */ body: prop_types_default.a.bool, as: prop_types_default.a.elementType }; var Card_defaultProps = { body: false }; var Card = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, className = _ref.className, bg = _ref.bg, text = _ref.text, border = _ref.border, body = _ref.body, children = _ref.children, _ref$as = _ref.as, Component = _ref$as === void 0 ? 'div' : _ref$as, props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "bg", "text", "border", "body", "children", "as"]); var prefix = useBootstrapPrefix(bsPrefix, 'card'); var cardContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () { return { cardHeaderBsPrefix: prefix + "-header" }; }, [prefix]); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(CardContext.Provider, { value: cardContext, __self: Card_this, __source: { fileName: Card_jsxFileName, lineNumber: 81, columnNumber: 7 } }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({ ref: ref }, props, { className: classnames_default()(className, prefix, bg && "bg-" + bg, text && "text-" + text, border && "border-" + border), __self: Card_this, __source: { fileName: Card_jsxFileName, lineNumber: 82, columnNumber: 9 } }), body ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(CardBody, { __self: Card_this, __source: { fileName: Card_jsxFileName, lineNumber: 93, columnNumber: 19 } }, children) : children)); }); Card.displayName = 'Card'; Card.propTypes = Card_propTypes; Card.defaultProps = Card_defaultProps; Card.Img = src_CardImg; Card.Title = createWithBsPrefix('card-title', { Component: DivStyledAsH5 }); Card.Subtitle = createWithBsPrefix('card-subtitle', { Component: DivStyledAsH6 }); Card.Body = CardBody; Card.Link = createWithBsPrefix('card-link', { Component: 'a' }); Card.Text = createWithBsPrefix('card-text', { Component: 'p' }); Card.Header = createWithBsPrefix('card-header'); Card.Footer = createWithBsPrefix('card-footer'); Card.ImgOverlay = createWithBsPrefix('card-img-overlay'); /* harmony default export */ var src_Card = (Card); // CONCATENATED MODULE: ./src/CardColumns.js /* harmony default export */ var CardColumns = (createWithBsPrefix('card-columns')); // CONCATENATED MODULE: ./src/CardDeck.js /* harmony default export */ var CardDeck = (createWithBsPrefix('card-deck')); // CONCATENATED MODULE: ./src/CardGroup.js /* harmony default export */ var CardGroup = (createWithBsPrefix('card-group')); // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useUpdateEffect.js /** * Runs an effect only when the dependencies have changed, skipping the * initial "on mount" run. Caution, if the dependency list never changes, * the effect is **never run** * * ```ts * const ref = useRef(null); * * // focuses an element only if the focus changes, and not on mount * useUpdateEffect(() => { * const element = ref.current?.children[focusedIdx] as HTMLElement * * element?.focus() * * }, [focusedIndex]) * ``` * @param effect An effect to run on mount * * @category effects */ function useUpdateEffect(fn, deps) { var isFirst = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(true); Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () { if (isFirst.current) { isFirst.current = false; return; } return fn(); }, deps); } /* harmony default export */ var esm_useUpdateEffect = (useUpdateEffect); // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useMounted.js /** * Track whether a component is current mounted. Generally less preferable than * properlly canceling effects so they don't run after a component is unmounted, * but helpful in cases where that isn't feasible, such as a `Promise` resolution. * * @returns a function that returns the current isMounted state of the component * * ```ts * const [data, setData] = useState(null) * const isMounted = useMounted() * * useEffect(() => { * fetchdata().then((newData) => { * if (isMounted()) { * setData(newData); * } * }) * }) * ``` */ function useMounted() { var mounted = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(true); var isMounted = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(function () { return mounted.current; }); Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () { return function () { mounted.current = false; }; }, []); return isMounted.current; } // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useUpdatedRef.js /** * Returns a ref that is immediately updated with the new value * * @param value The Ref value * @category refs */ function useUpdatedRef(value) { var valueRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(value); valueRef.current = value; return valueRef; } // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useWillUnmount.js /** * Attach a callback that fires when a component unmounts * * @param fn Handler to run when the component unmounts * @category effects */ function useWillUnmount(fn) { var onUnmount = useUpdatedRef(fn); Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () { return function () { return onUnmount.current(); }; }, []); } // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useTimeout.js /* * Browsers including Internet Explorer, Chrome, Safari, and Firefox store the * delay as a 32-bit signed integer internally. This causes an integer overflow * when using delays larger than 2,147,483,647 ms (about 24.8 days), * resulting in the timeout being executed immediately. * * via: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout */ var MAX_DELAY_MS = Math.pow(2, 31) - 1; function setChainedTimeout(handleRef, fn, timeoutAtMs) { var delayMs = timeoutAtMs - Date.now(); handleRef.current = delayMs <= MAX_DELAY_MS ? setTimeout(fn, delayMs) : setTimeout(function () { return setChainedTimeout(handleRef, fn, timeoutAtMs); }, MAX_DELAY_MS); } /** * Returns a controller object for setting a timeout that is properly cleaned up * once the component unmounts. New timeouts cancel and replace existing ones. */ function useTimeout() { var isMounted = useMounted(); // types are confused between node and web here IDK var handleRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(); useWillUnmount(function () { return clearTimeout(handleRef.current); }); return Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () { var clear = function clear() { return clearTimeout(handleRef.current); }; function set(fn, delayMs) { if (delayMs === void 0) { delayMs = 0; } if (!isMounted()) return; clear(); if (delayMs <= MAX_DELAY_MS) { // For simplicity, if the timeout is short, just set a normal timeout. handleRef.current = setTimeout(fn, delayMs); } else { setChainedTimeout(handleRef, fn, Date.now() + delayMs); } } return { set: set, clear: clear }; }, []); } // CONCATENATED MODULE: ./src/CarouselCaption.js /* harmony default export */ var CarouselCaption = (createWithBsPrefix('carousel-caption', { Component: 'div' })); // CONCATENATED MODULE: ./src/CarouselItem.js /* harmony default export */ var CarouselItem = (createWithBsPrefix('carousel-item')); // CONCATENATED MODULE: ./src/ElementChildren.js /** * Iterates through children that are typically specified as `props.children`, * but only maps over children that are "valid elements". * * The mapFunction provided index will be normalised to the components mapped, * so an invalid component would not increase the index. * */ function map(children, func) { var index = 0; return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.map(children, function (child) { return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.isValidElement(child) ? func(child, index++) : child; }); } /** * Iterates through children that are "valid elements". * * The provided forEachFunc(child, index) will be called for each * leaf child with the index reflecting the position relative to "valid components". */ function forEach(children, func) { var index = 0; external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.forEach(children, function (child) { if (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.isValidElement(child)) func(child, index++); }); } // CONCATENATED MODULE: ./src/Carousel.js var Carousel_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Carousel.js", Carousel_this = undefined; var SWIPE_THRESHOLD = 40; var Carousel_propTypes = { /** * @default 'carousel' */ bsPrefix: prop_types_default.a.string, as: prop_types_default.a.elementType, /** * Enables animation on the Carousel as it transitions between slides. */ slide: prop_types_default.a.bool, /** Cross fade slides instead of the default slide animation */ fade: prop_types_default.a.bool, /** * Show the Carousel previous and next arrows for changing the current slide */ controls: prop_types_default.a.bool, /** * Show a set of slide position indicators */ indicators: prop_types_default.a.bool, /** * Controls the current visible slide * * @controllable onSelect */ activeIndex: prop_types_default.a.number, /** * Callback fired when the active item changes. * * ```js * (eventKey: number, event: Object | null) => void * ``` * * @controllable activeIndex */ onSelect: prop_types_default.a.func, /** * Callback fired when a slide transition starts. * * ```js * (eventKey: number, direction: 'left' | 'right') => void */ onSlide: prop_types_default.a.func, /** * Callback fired when a slide transition ends. * * ```js * (eventKey: number, direction: 'left' | 'right') => void */ onSlid: prop_types_default.a.func, /** * The amount of time to delay between automatically cycling an item. If `null`, carousel will not automatically cycle. */ interval: prop_types_default.a.number, /** Whether the carousel should react to keyboard events. */ keyboard: prop_types_default.a.bool, /** * If set to `"hover"`, pauses the cycling of the carousel on `mouseenter` and resumes the cycling of the carousel on `mouseleave`. If set to `false`, hovering over the carousel won't pause it. * * On touch-enabled devices, when set to `"hover"`, cycling will pause on `touchend` (once the user finished interacting with the carousel) for two intervals, before automatically resuming. Note that this is in addition to the above mouse behavior. */ pause: prop_types_default.a.oneOf(['hover', false]), /** Whether the carousel should cycle continuously or have hard stops. */ wrap: prop_types_default.a.bool, /** * Whether the carousel should support left/right swipe interactions on touchscreen devices. */ touch: prop_types_default.a.bool, /** Override the default button icon for the "previous" control */ prevIcon: prop_types_default.a.node, /** * Label shown to screen readers only, can be used to show the previous element * in the carousel. * Set to null to deactivate. */ prevLabel: prop_types_default.a.string, /** Override the default button icon for the "next" control */ nextIcon: prop_types_default.a.node, /** * Label shown to screen readers only, can be used to show the next element * in the carousel. * Set to null to deactivate. */ nextLabel: prop_types_default.a.string }; var Carousel_defaultProps = { slide: true, fade: false, controls: true, indicators: true, defaultActiveIndex: 0, interval: 5000, keyboard: true, pause: 'hover', wrap: true, touch: true, prevIcon: /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", { "aria-hidden": "true", className: "carousel-control-prev-icon", __self: undefined, __source: { fileName: Carousel_jsxFileName, lineNumber: 142, columnNumber: 13 } }), prevLabel: 'Previous', nextIcon: /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", { "aria-hidden": "true", className: "carousel-control-next-icon", __self: undefined, __source: { fileName: Carousel_jsxFileName, lineNumber: 145, columnNumber: 13 } }), nextLabel: 'Next' }; function isVisible(element) { if (!element || !element.style || !element.parentNode || !element.parentNode.style) { return false; } var elementStyle = getComputedStyle(element); return elementStyle.display !== 'none' && elementStyle.visibility !== 'hidden' && getComputedStyle(element.parentNode).display !== 'none'; } var Carousel = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (uncontrolledProps, ref) { var _useUncontrolled = useUncontrolled(uncontrolledProps, { activeIndex: 'onSelect' }), _useUncontrolled$as = _useUncontrolled.as, Component = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as, bsPrefix = _useUncontrolled.bsPrefix, slide = _useUncontrolled.slide, fade = _useUncontrolled.fade, controls = _useUncontrolled.controls, indicators = _useUncontrolled.indicators, activeIndex = _useUncontrolled.activeIndex, onSelect = _useUncontrolled.onSelect, onSlide = _useUncontrolled.onSlide, onSlid = _useUncontrolled.onSlid, interval = _useUncontrolled.interval, keyboard = _useUncontrolled.keyboard, onKeyDown = _useUncontrolled.onKeyDown, pause = _useUncontrolled.pause, onMouseOver = _useUncontrolled.onMouseOver, onMouseOut = _useUncontrolled.onMouseOut, wrap = _useUncontrolled.wrap, touch = _useUncontrolled.touch, onTouchStart = _useUncontrolled.onTouchStart, onTouchMove = _useUncontrolled.onTouchMove, onTouchEnd = _useUncontrolled.onTouchEnd, prevIcon = _useUncontrolled.prevIcon, prevLabel = _useUncontrolled.prevLabel, nextIcon = _useUncontrolled.nextIcon, nextLabel = _useUncontrolled.nextLabel, className = _useUncontrolled.className, children = _useUncontrolled.children, props = _objectWithoutPropertiesLoose(_useUncontrolled, ["as", "bsPrefix", "slide", "fade", "controls", "indicators", "activeIndex", "onSelect", "onSlide", "onSlid", "interval", "keyboard", "onKeyDown", "pause", "onMouseOver", "onMouseOut", "wrap", "touch", "onTouchStart", "onTouchMove", "onTouchEnd", "prevIcon", "prevLabel", "nextIcon", "nextLabel", "className", "children"]); var prefix = useBootstrapPrefix(bsPrefix, 'carousel'); var nextDirectionRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null); var _useState = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])('next'), direction = _useState[0], setDirection = _useState[1]; var _useState2 = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(false), isSliding = _useState2[0], setIsSliding = _useState2[1]; var _useState3 = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(activeIndex), renderedActiveIndex = _useState3[0], setRenderedActiveIndex = _useState3[1]; if (!isSliding && activeIndex !== renderedActiveIndex) { if (nextDirectionRef.current) { setDirection(nextDirectionRef.current); nextDirectionRef.current = null; } else { setDirection(activeIndex > renderedActiveIndex ? 'next' : 'prev'); } if (slide) { setIsSliding(true); } setRenderedActiveIndex(activeIndex); } var numChildren = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.toArray(children).filter(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.isValidElement).length; var prev = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) { if (isSliding) { return; } var nextActiveIndex = renderedActiveIndex - 1; if (nextActiveIndex < 0) { if (!wrap) { return; } nextActiveIndex = numChildren - 1; } nextDirectionRef.current = 'prev'; onSelect(nextActiveIndex, event); }, [isSliding, renderedActiveIndex, onSelect, wrap, numChildren]); // This is used in the setInterval, so it should not invalidate. var next = useEventCallback(function (event) { if (isSliding) { return; } var nextActiveIndex = renderedActiveIndex + 1; if (nextActiveIndex >= numChildren) { if (!wrap) { return; } nextActiveIndex = 0; } nextDirectionRef.current = 'next'; onSelect(nextActiveIndex, event); }); var elementRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(); Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useImperativeHandle"])(ref, function () { return { element: elementRef.current, prev: prev, next: next }; }); // This is used in the setInterval, so it should not invalidate. var nextWhenVisible = useEventCallback(function () { if (!document.hidden && isVisible(elementRef.current)) { next(); } }); var slideDirection = direction === 'next' ? 'left' : 'right'; esm_useUpdateEffect(function () { if (slide) { // These callbacks will be handled by the callbacks. return; } if (onSlide) { onSlide(renderedActiveIndex, slideDirection); } if (onSlid) { onSlid(renderedActiveIndex, slideDirection); } }, [renderedActiveIndex]); var orderClassName = prefix + "-item-" + direction; var directionalClassName = prefix + "-item-" + slideDirection; var handleEnter = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (node) { triggerBrowserReflow(node); if (onSlide) { onSlide(renderedActiveIndex, slideDirection); } }, [onSlide, renderedActiveIndex, slideDirection]); var handleEntered = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () { setIsSliding(false); if (onSlid) { onSlid(renderedActiveIndex, slideDirection); } }, [onSlid, renderedActiveIndex, slideDirection]); var handleKeyDown = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) { if (keyboard && !/input|textarea/i.test(event.target.tagName)) { switch (event.key) { case 'ArrowLeft': event.preventDefault(); prev(event); return; case 'ArrowRight': event.preventDefault(); next(event); return; default: } } if (onKeyDown) { onKeyDown(event); } }, [keyboard, onKeyDown, prev, next]); var _useState4 = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(false), pausedOnHover = _useState4[0], setPausedOnHover = _useState4[1]; var handleMouseOver = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) { if (pause === 'hover') { setPausedOnHover(true); } if (onMouseOver) { onMouseOver(event); } }, [pause, onMouseOver]); var handleMouseOut = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) { setPausedOnHover(false); if (onMouseOut) { onMouseOut(event); } }, [onMouseOut]); var touchStartXRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(0); var touchDeltaXRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(0); var _useState5 = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(false), pausedOnTouch = _useState5[0], setPausedOnTouch = _useState5[1]; var touchUnpauseTimeout = useTimeout(); var handleTouchStart = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) { touchStartXRef.current = event.touches[0].clientX; touchDeltaXRef.current = 0; if (touch) { setPausedOnTouch(true); } if (onTouchStart) { onTouchStart(event); } }, [touch, onTouchStart]); var handleTouchMove = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) { if (event.touches && event.touches.length > 1) { touchDeltaXRef.current = 0; } else { touchDeltaXRef.current = event.touches[0].clientX - touchStartXRef.current; } if (onTouchMove) { onTouchMove(event); } }, [onTouchMove]); var handleTouchEnd = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) { if (touch) { var touchDeltaX = touchDeltaXRef.current; if (Math.abs(touchDeltaX) <= SWIPE_THRESHOLD) { return; } if (touchDeltaX > 0) { prev(event); } else { next(event); } } touchUnpauseTimeout.set(function () { setPausedOnTouch(false); }, interval); if (onTouchEnd) { onTouchEnd(event); } }, [touch, prev, next, touchUnpauseTimeout, interval, onTouchEnd]); var shouldPlay = interval != null && !pausedOnHover && !pausedOnTouch && !isSliding; var intervalHandleRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(); Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () { if (!shouldPlay) { return undefined; } intervalHandleRef.current = setInterval(document.visibilityState ? nextWhenVisible : next, interval); return function () { clearInterval(intervalHandleRef.current); }; }, [shouldPlay, next, interval, nextWhenVisible]); var indicatorOnClicks = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () { return indicators && Array.from({ length: numChildren }, function (_, index) { return function (event) { onSelect(index, event); }; }); }, [indicators, numChildren, onSelect]); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({ ref: elementRef }, props, { onKeyDown: handleKeyDown, onMouseOver: handleMouseOver, onMouseOut: handleMouseOut, onTouchStart: handleTouchStart, onTouchMove: handleTouchMove, onTouchEnd: handleTouchEnd, className: classnames_default()(className, prefix, slide && 'slide', fade && prefix + "-fade"), __self: Carousel_this, __source: { fileName: Carousel_jsxFileName, lineNumber: 464, columnNumber: 5 } }), indicators && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("ol", { className: prefix + "-indicators", __self: Carousel_this, __source: { fileName: Carousel_jsxFileName, lineNumber: 481, columnNumber: 9 } }, map(children, function (child, index) { return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("li", { key: index, className: index === renderedActiveIndex ? 'active' : null, onClick: indicatorOnClicks[index], __self: Carousel_this, __source: { fileName: Carousel_jsxFileName, lineNumber: 483, columnNumber: 13 } }); })), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", { className: prefix + "-inner", __self: Carousel_this, __source: { fileName: Carousel_jsxFileName, lineNumber: 492, columnNumber: 7 } }, map(children, function (child, index) { var isActive = index === renderedActiveIndex; return slide ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_Transition, { in: isActive, onEnter: isActive ? handleEnter : null, onEntered: isActive ? handleEntered : null, addEndListener: esm_transitionEnd, __self: Carousel_this, __source: { fileName: Carousel_jsxFileName, lineNumber: 497, columnNumber: 13 } }, function (status) { return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(child, { className: classnames_default()(child.props.className, isActive && status !== 'entered' && orderClassName, (status === 'entered' || status === 'exiting') && 'active', (status === 'entering' || status === 'exiting') && directionalClassName) }); }) : external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(child, { className: classnames_default()(child.props.className, isActive && 'active') }); })), controls && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Fragment, null, (wrap || activeIndex !== 0) && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SafeAnchor, { className: prefix + "-control-prev", onClick: prev, __self: Carousel_this, __source: { fileName: Carousel_jsxFileName, lineNumber: 529, columnNumber: 13 } }, prevIcon, prevLabel && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", { className: "sr-only", __self: Carousel_this, __source: { fileName: Carousel_jsxFileName, lineNumber: 531, columnNumber: 29 } }, prevLabel)), (wrap || activeIndex !== numChildren - 1) && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SafeAnchor, { className: prefix + "-control-next", onClick: next, __self: Carousel_this, __source: { fileName: Carousel_jsxFileName, lineNumber: 535, columnNumber: 13 } }, nextIcon, nextLabel && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", { className: "sr-only", __self: Carousel_this, __source: { fileName: Carousel_jsxFileName, lineNumber: 537, columnNumber: 29 } }, nextLabel)))); }); Carousel.displayName = 'Carousel'; Carousel.propTypes = Carousel_propTypes; Carousel.defaultProps = Carousel_defaultProps; Carousel.Caption = CarouselCaption; Carousel.Item = CarouselItem; /* harmony default export */ var src_Carousel = (Carousel); // CONCATENATED MODULE: ./src/Col.js var Col_this = undefined, Col_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Col.js"; var DEVICE_SIZES = ['xl', 'lg', 'md', 'sm', 'xs']; var colSize = prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.number, prop_types_default.a.string, prop_types_default.a.oneOf(['auto'])]); var stringOrNumber = prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]); var Col_column = prop_types_default.a.oneOfType([colSize, prop_types_default.a.shape({ size: colSize, order: stringOrNumber, offset: stringOrNumber })]); var Col_propTypes = { /** * @default 'col' */ bsPrefix: prop_types_default.a.string, as: prop_types_default.a.elementType, /** * The number of columns to span on extra small devices (<576px) * * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })} */ xs: Col_column, /** * The number of columns to span on small devices (≥576px) * * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })} */ sm: Col_column, /** * The number of columns to span on medium devices (≥768px) * * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })} */ md: Col_column, /** * The number of columns to span on large devices (≥992px) * * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })} */ lg: Col_column, /** * The number of columns to span on extra large devices (≥1200px) * * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })} */ xl: Col_column }; var Col = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595 function (_ref, ref) { var bsPrefix = _ref.bsPrefix, className = _ref.className, _ref$as = _ref.as, Component = _ref$as === void 0 ? 'div' : _ref$as, props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "as"]); var prefix = useBootstrapPrefix(bsPrefix, 'col'); var spans = []; var classes = []; DEVICE_SIZES.forEach(function (brkPoint) { var propValue = props[brkPoint]; delete props[brkPoint]; var span, offset, order; if (propValue != null && typeof propValue === 'object') { var _propValue$span = propValue.span; span = _propValue$span === void 0 ? true : _propValue$span; offset = propValue.offset; order = propValue.order; } else { span = propValue; } var infix = brkPoint !== 'xs' ? "-" + brkPoint : ''; if (span != null) spans.push(span === true ? "" + prefix + infix : "" + prefix + infix + "-" + span); if (order != null) classes.push("order" + infix + "-" + order); if (offset != null) classes.push("offset" + infix + "-" + offset); }); if (!spans.length) { spans.push(prefix); // plain 'col' } return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, { ref: ref, className: classnames_default.a.apply(void 0, [className].concat(spans, classes)), __self: Col_this, __source: { fileName: Col_jsxFileName, lineNumber: 107, columnNumber: 7 } })); }); Col.displayName = 'Col'; Col.propTypes = Col_propTypes; /* harmony default export */ var src_Col = (Col); // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/matches.js var matchesImpl; function matches(node, selector) { if (!matchesImpl) { var body = document.body; var nativeMatch = body.matches || body.matchesSelector || body.webkitMatchesSelector || body.mozMatchesSelector || body.msMatchesSelector; matchesImpl = function matchesImpl(n, s) { return nativeMatch.call(n, s); }; } return matchesImpl(node, selector); } // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/querySelectorAll.js var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice); function qsa(element, selector) { return toArray(element.querySelectorAll(selector)); } // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/usePrevious.js /** * Store the last of some value. Tracked via a `Ref` only updating it * after the component renders. * * Helpful if you need to compare a prop value to it's previous value during render. * * ```ts * function Component(props) { * const lastProps = usePrevious(props) * * if (lastProps.foo !== props.foo) * resetValueFromProps(props.foo) * } * ``` * * @param value the value to track */ function usePrevious(value) { var ref = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null); Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () { ref.current = value; }); return ref.current; } // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useCallbackRef.js /** * A convenience hook around `useState` designed to be paired with * the component [callback ref](https://reactjs.org/docs/refs-and-the-dom.html#callback-refs) api. * Callback refs are useful over `useRef()` when you need to respond to the ref being set * instead of lazily accessing it in an effect. * * ```ts * const [element, attachRef] = useCallbackRef() * * useEffect(() => { * if (!element) return * * const calendar = new FullCalendar.Calendar(element) * * return () => { * calendar.destroy() * } * }, [element]) * * return
    * ``` * * @category refs */ function useCallbackRef() { return Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(null); } // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useForceUpdate.js /** * Returns a function that triggers a component update. the hook equivalent to * `this.forceUpdate()` in a class component. In most cases using a state value directly * is preferable but may be required in some advanced usages of refs for interop or * when direct DOM manipulation is required. * * ```ts * const forceUpdate = useForceUpdate(); * * const updateOnClick = useCallback(() => { * forceUpdate() * }, [forceUpdate]) * * return * ``` */ function useForceUpdate() { // The toggling state value is designed to defeat React optimizations for skipping // updates when they are stricting equal to the last state value var _useReducer = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useReducer"])(function (state) { return !state; }, false), dispatch = _useReducer[1]; return dispatch; } // CONCATENATED MODULE: ./node_modules/react-overlays/esm/DropdownContext.js var DropdownContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null); /* harmony default export */ var esm_DropdownContext = (DropdownContext); // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useSafeState.js function useSafeState(state) { var isMounted = useMounted(); return [state[0], Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (nextState) { if (!isMounted()) return; return state[1](nextState); }, [isMounted, state[1]])]; } /* harmony default export */ var esm_useSafeState = (useSafeState); // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getBasePlacement.js function getBasePlacement(placement) { return placement.split('-')[0]; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js // Returns the layout rect of an element relative to its offsetParent. Layout // means it doesn't take into account transforms. function getLayoutRect(element) { return { x: element.offsetLeft, y: element.offsetTop, width: element.offsetWidth, height: element.offsetHeight }; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/contains.js function contains(parent, child) { // $FlowFixMe: hasOwnProperty doesn't seem to work in tests var isShadow = Boolean(child.getRootNode && child.getRootNode().host); // First, attempt with faster native method if (parent.contains(child)) { return true; } // then fallback to custom implementation with Shadow DOM support else if (isShadow) { var next = child; do { if (next && parent.isSameNode(next)) { return true; } // $FlowFixMe: need a better way to handle this... next = next.parentNode || next.host; } while (next); } // Give up, the result is false return false; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js /*:: import type { Window } from '../types'; */ /*:: declare function getWindow(node: Node | Window): Window; */ function getWindow(node) { if (node.toString() !== '[object Window]') { var ownerDocument = node.ownerDocument; return ownerDocument ? ownerDocument.defaultView : window; } return node; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js function getNodeName(element) { return element ? (element.nodeName || '').toLowerCase() : null; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js function dom_utils_getComputedStyle_getComputedStyle(element) { return getWindow(element).getComputedStyle(element); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js /*:: declare function isElement(node: mixed): boolean %checks(node instanceof Element); */ function isElement(node) { var OwnElement = getWindow(node).Element; return node instanceof OwnElement || node instanceof Element; } /*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof HTMLElement); */ function isHTMLElement(node) { var OwnElement = getWindow(node).HTMLElement; return node instanceof OwnElement || node instanceof HTMLElement; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js function isTableElement(element) { return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js function getTrueOffsetParent(element) { if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837 dom_utils_getComputedStyle_getComputedStyle(element).position === 'fixed') { return null; } return element.offsetParent; } function getOffsetParent(element) { var window = getWindow(element); var offsetParent = getTrueOffsetParent(element); // Find the nearest non-table offsetParent while (offsetParent && isTableElement(offsetParent)) { offsetParent = getTrueOffsetParent(offsetParent); } if (offsetParent && getNodeName(offsetParent) === 'body' && dom_utils_getComputedStyle_getComputedStyle(offsetParent).position === 'static') { return window; } return offsetParent || window; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js function getMainAxisFromPlacement(placement) { return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/within.js function within(min, value, max) { return Math.max(min, Math.min(value, max)); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js function getFreshSideObject() { return { top: 0, right: 0, bottom: 0, left: 0 }; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js function mergePaddingObject(paddingObject) { return Object.assign({}, getFreshSideObject(), {}, paddingObject); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/expandToHashMap.js function expandToHashMap(value, keys) { return keys.reduce(function (hashMap, key) { hashMap[key] = value; return hashMap; }, {}); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/enums.js var enums_top = 'top'; var bottom = 'bottom'; var right = 'right'; var left = 'left'; var auto = 'auto'; var basePlacements = [enums_top, bottom, right, left]; var start = 'start'; var end = 'end'; var enums_clippingParents = 'clippingParents'; var viewport = 'viewport'; var enums_popper = 'popper'; var enums_reference = 'reference'; var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { return acc.concat([placement + "-" + start, placement + "-" + end]); }, []); var enums_placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { return acc.concat([placement, placement + "-" + start, placement + "-" + end]); }, []); // modifiers that need to read the DOM var beforeRead = 'beforeRead'; var read = 'read'; var afterRead = 'afterRead'; // pure-logic modifiers var beforeMain = 'beforeMain'; var main = 'main'; var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state) var beforeWrite = 'beforeWrite'; var write = 'write'; var afterWrite = 'afterWrite'; var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/arrow.js function arrow(_ref) { var _state$modifiersData$; var state = _ref.state, name = _ref.name; var arrowElement = state.elements.arrow; var popperOffsets = state.modifiersData.popperOffsets; var basePlacement = getBasePlacement(state.placement); var axis = getMainAxisFromPlacement(basePlacement); var isVertical = [left, right].indexOf(basePlacement) >= 0; var len = isVertical ? 'height' : 'width'; if (!arrowElement || !popperOffsets) { return; } var paddingObject = state.modifiersData[name + "#persistent"].padding; var arrowRect = getLayoutRect(arrowElement); var minProp = axis === 'y' ? enums_top : left; var maxProp = axis === 'y' ? bottom : right; var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; var startDiff = popperOffsets[axis] - state.rects.reference[axis]; var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is // outside of the popper bounds var min = paddingObject[minProp]; var max = clientSize - arrowRect[len] - paddingObject[maxProp]; var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; var offset = within(min, center, max); // Prevents breaking syntax highlighting... var axisProp = axis; state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); } function effect(_ref2) { var state = _ref2.state, options = _ref2.options, name = _ref2.name; var _options$element = options.element, arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element, _options$padding = options.padding, padding = _options$padding === void 0 ? 0 : _options$padding; if (arrowElement == null) { return; } // CSS selector if (typeof arrowElement === 'string') { arrowElement = state.elements.popper.querySelector(arrowElement); if (!arrowElement) { return; } } if (!contains(state.elements.popper, arrowElement)) { if (false) {} return; } state.elements.arrow = arrowElement; state.modifiersData[name + "#persistent"] = { padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)) }; } // eslint-disable-next-line import/no-unused-modules /* harmony default export */ var modifiers_arrow = ({ name: 'arrow', enabled: true, phase: 'main', fn: arrow, effect: effect, requires: ['popperOffsets'], requiresIfExists: ['preventOverflow'] }); // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js function getDocumentElement(element) { // $FlowFixMe: assume body is always available return (isElement(element) ? element.ownerDocument : element.document).documentElement; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js var unsetSides = { top: 'auto', right: 'auto', bottom: 'auto', left: 'auto' }; // Round the offsets to the nearest suitable subpixel based on the DPR. // Zooming can change the DPR, but it seems to report a value that will // cleanly divide the values into the appropriate subpixels. function roundOffsets(_ref) { var x = _ref.x, y = _ref.y; var win = window; var dpr = win.devicePixelRatio || 1; return { x: Math.round(x * dpr) / dpr || 0, y: Math.round(y * dpr) / dpr || 0 }; } function mapToStyles(_ref2) { var _Object$assign2; var popper = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive; var _roundOffsets = roundOffsets(offsets), x = _roundOffsets.x, y = _roundOffsets.y; var hasX = offsets.hasOwnProperty('x'); var hasY = offsets.hasOwnProperty('y'); var sideX = left; var sideY = enums_top; var win = window; if (adaptive) { var offsetParent = getOffsetParent(popper); if (offsetParent === getWindow(popper)) { offsetParent = getDocumentElement(popper); } // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it /*:: offsetParent = (offsetParent: Element); */ if (placement === enums_top) { sideY = bottom; y -= offsetParent.clientHeight - popperRect.height; y *= gpuAcceleration ? 1 : -1; } if (placement === left) { sideX = right; x -= offsetParent.clientWidth - popperRect.width; x *= gpuAcceleration ? 1 : -1; } } var commonStyles = Object.assign({ position: position }, adaptive && unsetSides); if (gpuAcceleration) { var _Object$assign; return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); } return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); } function computeStyles(_ref3) { var state = _ref3.state, options = _ref3.options; var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive; if (false) { var transitionProperty; } var commonStyles = { placement: getBasePlacement(state.placement), popper: state.elements.popper, popperRect: state.rects.popper, gpuAcceleration: gpuAcceleration }; if (state.modifiersData.popperOffsets != null) { state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, { offsets: state.modifiersData.popperOffsets, position: state.options.strategy, adaptive: adaptive }))); } if (state.modifiersData.arrow != null) { state.styles.arrow = Object.assign({}, state.styles.arrow, {}, mapToStyles(Object.assign({}, commonStyles, { offsets: state.modifiersData.arrow, position: 'absolute', adaptive: false }))); } state.attributes.popper = Object.assign({}, state.attributes.popper, { 'data-popper-placement': state.placement }); } // eslint-disable-next-line import/no-unused-modules /* harmony default export */ var modifiers_computeStyles = ({ name: 'computeStyles', enabled: true, phase: 'beforeWrite', fn: computeStyles, data: {} }); // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/eventListeners.js var passive = { passive: true }; function eventListeners_effect(_ref) { var state = _ref.state, instance = _ref.instance, options = _ref.options; var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize; var window = getWindow(state.elements.popper); var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); if (scroll) { scrollParents.forEach(function (scrollParent) { scrollParent.addEventListener('scroll', instance.update, passive); }); } if (resize) { window.addEventListener('resize', instance.update, passive); } return function () { if (scroll) { scrollParents.forEach(function (scrollParent) { scrollParent.removeEventListener('scroll', instance.update, passive); }); } if (resize) { window.removeEventListener('resize', instance.update, passive); } }; } // eslint-disable-next-line import/no-unused-modules /* harmony default export */ var eventListeners = ({ name: 'eventListeners', enabled: true, phase: 'write', fn: function fn() {}, effect: eventListeners_effect, data: {} }); // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; function getOppositePlacement(placement) { return placement.replace(/left|right|bottom|top/g, function (matched) { return hash[matched]; }); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js var getOppositeVariationPlacement_hash = { start: 'end', end: 'start' }; function getOppositeVariationPlacement(placement) { return placement.replace(/start|end/g, function (matched) { return getOppositeVariationPlacement_hash[matched]; }); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js function getBoundingClientRect(element) { var rect = element.getBoundingClientRect(); return { width: rect.width, height: rect.height, top: rect.top, right: rect.right, bottom: rect.bottom, left: rect.left, x: rect.left, y: rect.top }; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js function getViewportRect(element) { var win = getWindow(element); var visualViewport = win.visualViewport; var width = win.innerWidth; var height = win.innerHeight; // We don't know which browsers have buggy or odd implementations of this, so // for now we're only applying it to iOS to fix the keyboard issue. // Investigation required if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) { width = visualViewport.width; height = visualViewport.height; } return { width: width, height: height, x: 0, y: 0 }; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js function getWindowScroll(node) { var win = getWindow(node); var scrollLeft = win.pageXOffset; var scrollTop = win.pageYOffset; return { scrollLeft: scrollLeft, scrollTop: scrollTop }; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js function getHTMLElementScroll(element) { return { scrollLeft: element.scrollLeft, scrollTop: element.scrollTop }; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js function getNodeScroll(node) { if (node === getWindow(node) || !isHTMLElement(node)) { return getWindowScroll(node); } else { return getHTMLElementScroll(node); } } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js function getWindowScrollBarX(element) { // If has a CSS width greater than the viewport, then this will be // incorrect for RTL. // Popper 1 is broken in this case and never had a bug report so let's assume // it's not an issue. I don't think anyone ever specifies width on // anyway. // Browsers where the left scrollbar doesn't cause an issue report `0` for // this (e.g. Edge 2019, IE11, Safari) return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js // Returns the composite rect of an element relative to its offsetParent. // Composite means it takes into account transforms as well as layout. function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { if (isFixed === void 0) { isFixed = false; } var documentElement; var rect = getBoundingClientRect(elementOrVirtualElement); var scroll = { scrollLeft: 0, scrollTop: 0 }; var offsets = { x: 0, y: 0 }; if (!isFixed) { if (getNodeName(offsetParent) !== 'body') { scroll = getNodeScroll(offsetParent); } if (isHTMLElement(offsetParent)) { offsets = getBoundingClientRect(offsetParent); offsets.x += offsetParent.clientLeft; offsets.y += offsetParent.clientTop; } else if (documentElement = getDocumentElement(offsetParent)) { offsets.x = getWindowScrollBarX(documentElement); } } return { x: rect.left + scroll.scrollLeft - offsets.x, y: rect.top + scroll.scrollTop - offsets.y, width: rect.width, height: rect.height }; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js function getDocumentRect(element) { var win = getWindow(element); var winScroll = getWindowScroll(element); var documentRect = getCompositeRect(getDocumentElement(element), win); documentRect.height = Math.max(documentRect.height, win.innerHeight); documentRect.width = Math.max(documentRect.width, win.innerWidth); documentRect.x = -winScroll.scrollLeft; documentRect.y = -winScroll.scrollTop; return documentRect; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js function getParentNode(element) { if (getNodeName(element) === 'html') { return element; } return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle element.assignedSlot || // step into the shadow DOM of the parent of a slotted node element.parentNode || // DOM Element detected // $FlowFixMe: need a better way to handle this... element.host || // ShadowRoot detected // $FlowFixMe: HTMLElement is a Node getDocumentElement(element) // fallback ); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js function getScrollParent(node) { if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { // $FlowFixMe: assume body is always available return node.ownerDocument.body; } if (isHTMLElement(node)) { // Firefox wants us to check `-x` and `-y` variations as well var _getComputedStyle = dom_utils_getComputedStyle_getComputedStyle(node), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY; if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) { return node; } } return getScrollParent(getParentNode(node)); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js function listScrollParents(element, list) { if (list === void 0) { list = []; } var scrollParent = getScrollParent(element); var isBody = getNodeName(scrollParent) === 'body'; var win = getWindow(scrollParent); var target = isBody ? [win].concat(win.visualViewport || []) : scrollParent; var updatedList = list.concat(target); return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here updatedList.concat(listScrollParents(getParentNode(target))); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBorders.js function toNumber(cssValue) { return parseFloat(cssValue) || 0; } function getBorders(element) { var computedStyle = isHTMLElement(element) ? dom_utils_getComputedStyle_getComputedStyle(element) : {}; return { top: toNumber(computedStyle.borderTopWidth), right: toNumber(computedStyle.borderRightWidth), bottom: toNumber(computedStyle.borderBottomWidth), left: toNumber(computedStyle.borderLeftWidth) }; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDecorations.js // Borders + scrollbars function getDecorations(element) { var win = getWindow(element); var borders = getBorders(element); var isHTML = getNodeName(element) === 'html'; var winScrollBarX = getWindowScrollBarX(element); var x = element.clientWidth + borders.right; var y = element.clientHeight + borders.bottom; // HACK: // document.documentElement.clientHeight on iOS reports the height of the // viewport including the bottom bar, even if the bottom bar isn't visible. // If the difference between window innerHeight and html clientHeight is more // than 50, we assume it's a mobile bottom bar and ignore scrollbars. // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows // is about 17px) // * The mobile bar is 114px tall if (isHTML && win.innerHeight - element.clientHeight > 50) { y = win.innerHeight - borders.bottom; } return { top: isHTML ? 0 : element.clientTop, right: // RTL scrollbar (scrolling containers only) element.clientLeft > borders.left ? borders.right : // LTR scrollbar isHTML ? win.innerWidth - x - winScrollBarX : element.offsetWidth - x, bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y, left: isHTML ? winScrollBarX : element.clientLeft }; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/rectToClientRect.js function rectToClientRect(rect) { return Object.assign({}, rect, { left: rect.x, top: rect.y, right: rect.x + rect.width, bottom: rect.y + rect.height }); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js function getClientRectFromMixedType(element, clippingParent) { return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element))); } // A "clipping parent" is an overflowable container with the characteristic of // clipping (or hiding) overflowing elements with a position different from // `initial` function getClippingParents(element) { var clippingParents = listScrollParents(element); var canEscapeClipping = ['absolute', 'fixed'].indexOf(dom_utils_getComputedStyle_getComputedStyle(element).position) >= 0; var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; if (!isElement(clipperElement)) { return []; } // $FlowFixMe: https://github.com/facebook/flow/issues/1414 return clippingParents.filter(function (clippingParent) { return isElement(clippingParent) && contains(clippingParent, clipperElement); }); } // Gets the maximum area that the element is visible in due to any number of // clipping parents function getClippingRect(element, boundary, rootBoundary) { var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); var clippingParents = [].concat(mainClippingParents, [rootBoundary]); var firstClippingParent = clippingParents[0]; var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { var rect = getClientRectFromMixedType(element, clippingParent); var decorations = getDecorations(isHTMLElement(clippingParent) ? clippingParent : getDocumentElement(element)); accRect.top = Math.max(rect.top + decorations.top, accRect.top); accRect.right = Math.min(rect.right - decorations.right, accRect.right); accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom); accRect.left = Math.max(rect.left + decorations.left, accRect.left); return accRect; }, getClientRectFromMixedType(element, firstClippingParent)); clippingRect.width = clippingRect.right - clippingRect.left; clippingRect.height = clippingRect.bottom - clippingRect.top; clippingRect.x = clippingRect.left; clippingRect.y = clippingRect.top; return clippingRect; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getVariation.js function getVariation(placement) { return placement.split('-')[1]; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/computeOffsets.js function computeOffsets(_ref) { var reference = _ref.reference, element = _ref.element, placement = _ref.placement; var basePlacement = placement ? getBasePlacement(placement) : null; var variation = placement ? getVariation(placement) : null; var commonX = reference.x + reference.width / 2 - element.width / 2; var commonY = reference.y + reference.height / 2 - element.height / 2; var offsets; switch (basePlacement) { case enums_top: offsets = { x: commonX, y: reference.y - element.height }; break; case bottom: offsets = { x: commonX, y: reference.y + reference.height }; break; case right: offsets = { x: reference.x + reference.width, y: commonY }; break; case left: offsets = { x: reference.x - element.width, y: commonY }; break; default: offsets = { x: reference.x, y: reference.y }; } var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; if (mainAxis != null) { var len = mainAxis === 'y' ? 'height' : 'width'; switch (variation) { case start: offsets[mainAxis] = Math.floor(offsets[mainAxis]) - Math.floor(reference[len] / 2 - element[len] / 2); break; case end: offsets[mainAxis] = Math.floor(offsets[mainAxis]) + Math.ceil(reference[len] / 2 - element[len] / 2); break; default: } } return offsets; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/detectOverflow.js function detectOverflow(state, options) { if (options === void 0) { options = {}; } var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? enums_clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? enums_popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding; var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); var altContext = elementContext === enums_popper ? enums_reference : enums_popper; var referenceElement = state.elements.reference; var popperRect = state.rects.popper; var element = state.elements[altBoundary ? altContext : elementContext]; var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary); var referenceClientRect = getBoundingClientRect(referenceElement); var popperOffsets = computeOffsets({ reference: referenceClientRect, element: popperRect, strategy: 'absolute', placement: placement }); var popperClientRect = rectToClientRect(Object.assign({}, popperRect, {}, popperOffsets)); var elementClientRect = elementContext === enums_popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect // 0 or negative = within the clipping rect var overflowOffsets = { top: clippingClientRect.top - elementClientRect.top + paddingObject.top, bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, left: clippingClientRect.left - elementClientRect.left + paddingObject.left, right: elementClientRect.right - clippingClientRect.right + paddingObject.right }; var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element if (elementContext === enums_popper && offsetData) { var offset = offsetData[placement]; Object.keys(overflowOffsets).forEach(function (key) { var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; var axis = [enums_top, bottom].indexOf(key) >= 0 ? 'y' : 'x'; overflowOffsets[key] += offset[axis] * multiply; }); } return overflowOffsets; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js /*:: type OverflowsMap = { [ComputedPlacement]: number }; */ /*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */ function computeAutoPlacement(state, options) { if (options === void 0) { options = {}; } var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? enums_placements : _options$allowedAutoP; var variation = getVariation(placement); var placements = (variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { return getVariation(placement) === variation; }) : basePlacements).filter(function (placement) { return allowedAutoPlacements.indexOf(placement) >= 0; }); // $FlowFixMe: Flow seems to have problems with two array unions... var overflows = placements.reduce(function (acc, placement) { acc[placement] = detectOverflow(state, { placement: placement, boundary: boundary, rootBoundary: rootBoundary, padding: padding })[getBasePlacement(placement)]; return acc; }, {}); return Object.keys(overflows).sort(function (a, b) { return overflows[a] - overflows[b]; }); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/flip.js function getExpandedFallbackPlacements(placement) { if (getBasePlacement(placement) === auto) { return []; } var oppositePlacement = getOppositePlacement(placement); return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; } function flip_flip(_ref) { var state = _ref.state, options = _ref.options, name = _ref.name; if (state.modifiersData[name]._skip) { return; } var specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements; var preferredPlacement = state.options.placement; var basePlacement = getBasePlacement(preferredPlacement); var isBasePlacement = basePlacement === preferredPlacement; var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, { placement: placement, boundary: boundary, rootBoundary: rootBoundary, padding: padding, flipVariations: flipVariations, allowedAutoPlacements: allowedAutoPlacements }) : placement); }, []); var referenceRect = state.rects.reference; var popperRect = state.rects.popper; var checksMap = new Map(); var makeFallbackChecks = true; var firstFittingPlacement = placements[0]; for (var i = 0; i < placements.length; i++) { var placement = placements[i]; var _basePlacement = getBasePlacement(placement); var isStartVariation = getVariation(placement) === start; var isVertical = [enums_top, bottom].indexOf(_basePlacement) >= 0; var len = isVertical ? 'width' : 'height'; var overflow = detectOverflow(state, { placement: placement, boundary: boundary, rootBoundary: rootBoundary, altBoundary: altBoundary, padding: padding }); var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : enums_top; if (referenceRect[len] > popperRect[len]) { mainVariationSide = getOppositePlacement(mainVariationSide); } var altVariationSide = getOppositePlacement(mainVariationSide); var checks = [overflow[_basePlacement] <= 0, overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0]; if (checks.every(function (check) { return check; })) { firstFittingPlacement = placement; makeFallbackChecks = false; break; } checksMap.set(placement, checks); } if (makeFallbackChecks) { // `2` may be desired in some cases – research later var numberOfChecks = flipVariations ? 3 : 1; var _loop = function _loop(_i) { var fittingPlacement = placements.find(function (placement) { var checks = checksMap.get(placement); if (checks) { return checks.slice(0, _i).every(function (check) { return check; }); } }); if (fittingPlacement) { firstFittingPlacement = fittingPlacement; return "break"; } }; for (var _i = numberOfChecks; _i > 0; _i--) { var _ret = _loop(_i); if (_ret === "break") break; } } if (state.placement !== firstFittingPlacement) { state.modifiersData[name]._skip = true; state.placement = firstFittingPlacement; state.reset = true; } } // eslint-disable-next-line import/no-unused-modules /* harmony default export */ var modifiers_flip = ({ name: 'flip', enabled: true, phase: 'main', fn: flip_flip, requiresIfExists: ['offset'], data: { _skip: false } }); // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/hide.js function getSideOffsets(overflow, rect, preventedOffsets) { if (preventedOffsets === void 0) { preventedOffsets = { x: 0, y: 0 }; } return { top: overflow.top - rect.height - preventedOffsets.y, right: overflow.right - rect.width + preventedOffsets.x, bottom: overflow.bottom - rect.height + preventedOffsets.y, left: overflow.left - rect.width - preventedOffsets.x }; } function isAnySideFullyClipped(overflow) { return [enums_top, right, bottom, left].some(function (side) { return overflow[side] >= 0; }); } function hide(_ref) { var state = _ref.state, name = _ref.name; var referenceRect = state.rects.reference; var popperRect = state.rects.popper; var preventedOffsets = state.modifiersData.preventOverflow; var referenceOverflow = detectOverflow(state, { elementContext: 'reference' }); var popperAltOverflow = detectOverflow(state, { altBoundary: true }); var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); state.modifiersData[name] = { referenceClippingOffsets: referenceClippingOffsets, popperEscapeOffsets: popperEscapeOffsets, isReferenceHidden: isReferenceHidden, hasPopperEscaped: hasPopperEscaped }; state.attributes.popper = Object.assign({}, state.attributes.popper, { 'data-popper-reference-hidden': isReferenceHidden, 'data-popper-escaped': hasPopperEscaped }); } // eslint-disable-next-line import/no-unused-modules /* harmony default export */ var modifiers_hide = ({ name: 'hide', enabled: true, phase: 'main', requiresIfExists: ['preventOverflow'], fn: hide }); // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/offset.js function distanceAndSkiddingToXY(placement, rects, offset) { var basePlacement = getBasePlacement(placement); var invertDistance = [left, enums_top].indexOf(basePlacement) >= 0 ? -1 : 1; var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { placement: placement })) : offset, skidding = _ref[0], distance = _ref[1]; skidding = skidding || 0; distance = (distance || 0) * invertDistance; return [left, right].indexOf(basePlacement) >= 0 ? { x: distance, y: skidding } : { x: skidding, y: distance }; } function offset_offset(_ref2) { var state = _ref2.state, options = _ref2.options, name = _ref2.name; var _options$offset = options.offset, offset = _options$offset === void 0 ? [0, 0] : _options$offset; var data = enums_placements.reduce(function (acc, placement) { acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); return acc; }, {}); var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y; if (state.modifiersData.popperOffsets != null) { state.modifiersData.popperOffsets.x += x; state.modifiersData.popperOffsets.y += y; } state.modifiersData[name] = data; } // eslint-disable-next-line import/no-unused-modules /* harmony default export */ var modifiers_offset = ({ name: 'offset', enabled: true, phase: 'main', requires: ['popperOffsets'], fn: offset_offset }); // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js function popperOffsets_popperOffsets(_ref) { var state = _ref.state, name = _ref.name; // Offsets are the actual position the popper needs to have to be // properly positioned near its reference element // This is the most basic placement, and will be adjusted by // the modifiers in the next step state.modifiersData[name] = computeOffsets({ reference: state.rects.reference, element: state.rects.popper, strategy: 'absolute', placement: state.placement }); } // eslint-disable-next-line import/no-unused-modules /* harmony default export */ var modifiers_popperOffsets = ({ name: 'popperOffsets', enabled: true, phase: 'read', fn: popperOffsets_popperOffsets, data: {} }); // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getAltAxis.js function getAltAxis(axis) { return axis === 'x' ? 'y' : 'x'; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js function preventOverflow(_ref) { var state = _ref.state, options = _ref.options, name = _ref.name; var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, padding = options.padding, _options$tether = options.tether, tether = _options$tether === void 0 ? true : _options$tether, _options$tetherOffset = options.tetherOffset, tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; var overflow = detectOverflow(state, { boundary: boundary, rootBoundary: rootBoundary, padding: padding, altBoundary: altBoundary }); var basePlacement = getBasePlacement(state.placement); var variation = getVariation(state.placement); var isBasePlacement = !variation; var mainAxis = getMainAxisFromPlacement(basePlacement); var altAxis = getAltAxis(mainAxis); var popperOffsets = state.modifiersData.popperOffsets; var referenceRect = state.rects.reference; var popperRect = state.rects.popper; var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { placement: state.placement })) : tetherOffset; var data = { x: 0, y: 0 }; if (!popperOffsets) { return; } if (checkMainAxis) { var mainSide = mainAxis === 'y' ? enums_top : left; var altSide = mainAxis === 'y' ? bottom : right; var len = mainAxis === 'y' ? 'height' : 'width'; var offset = popperOffsets[mainAxis]; var min = popperOffsets[mainAxis] + overflow[mainSide]; var max = popperOffsets[mainAxis] - overflow[altSide]; var additive = tether ? -popperRect[len] / 2 : 0; var minLen = variation === start ? referenceRect[len] : popperRect[len]; var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go // outside the reference bounds var arrowElement = state.elements.arrow; var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { width: 0, height: 0 }; var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject(); var arrowPaddingMin = arrowPaddingObject[mainSide]; var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want // to include its full size in the calculation. If the reference is small // and near the edge of a boundary, the popper can overflow even if the // reference is not overflowing as well (e.g. virtual elements with no // width or height) var arrowLen = within(0, referenceRect[len], arrowRect[len]); var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue; var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue; var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0; var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset; var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue; var preventedOffset = within(tether ? Math.min(min, tetherMin) : min, offset, tether ? Math.max(max, tetherMax) : max); popperOffsets[mainAxis] = preventedOffset; data[mainAxis] = preventedOffset - offset; } if (checkAltAxis) { var _mainSide = mainAxis === 'x' ? enums_top : left; var _altSide = mainAxis === 'x' ? bottom : right; var _offset = popperOffsets[altAxis]; var _min = _offset + overflow[_mainSide]; var _max = _offset - overflow[_altSide]; var _preventedOffset = within(_min, _offset, _max); popperOffsets[altAxis] = _preventedOffset; data[altAxis] = _preventedOffset - _offset; } state.modifiersData[name] = data; } // eslint-disable-next-line import/no-unused-modules /* harmony default export */ var modifiers_preventOverflow = ({ name: 'preventOverflow', enabled: true, phase: 'main', fn: preventOverflow, requiresIfExists: ['offset'] }); // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/orderModifiers.js // source: https://stackoverflow.com/questions/49875255 function order(modifiers) { var map = new Map(); var visited = new Set(); var result = []; modifiers.forEach(function (modifier) { map.set(modifier.name, modifier); }); // On visiting object, check for its dependencies and visit them recursively function sort(modifier) { visited.add(modifier.name); var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); requires.forEach(function (dep) { if (!visited.has(dep)) { var depModifier = map.get(dep); if (depModifier) { sort(depModifier); } } }); result.push(modifier); } modifiers.forEach(function (modifier) { if (!visited.has(modifier.name)) { // check for visited object sort(modifier); } }); return result; } function orderModifiers(modifiers) { // order based on dependencies var orderedModifiers = order(modifiers); // order based on phase return modifierPhases.reduce(function (acc, phase) { return acc.concat(orderedModifiers.filter(function (modifier) { return modifier.phase === phase; })); }, []); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/debounce.js function debounce(fn) { var pending; return function () { if (!pending) { pending = new Promise(function (resolve) { Promise.resolve().then(function () { pending = undefined; resolve(fn()); }); }); } return pending; }; } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/mergeByName.js function mergeByName(modifiers) { var merged = modifiers.reduce(function (merged, current) { var existing = merged[current.name]; merged[current.name] = existing ? Object.assign({}, existing, {}, current, { options: Object.assign({}, existing.options, {}, current.options), data: Object.assign({}, existing.data, {}, current.data) }) : current; return merged; }, {}); // IE11 does not support Object.values return Object.keys(merged).map(function (key) { return merged[key]; }); } // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/index.js var INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.'; var INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.'; var DEFAULT_OPTIONS = { placement: 'bottom', modifiers: [], strategy: 'absolute' }; function areValidElements() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return !args.some(function (element) { return !(element && typeof element.getBoundingClientRect === 'function'); }); } function popperGenerator(generatorOptions) { if (generatorOptions === void 0) { generatorOptions = {}; } var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; return function createPopper(reference, popper, options) { if (options === void 0) { options = defaultOptions; } var state = { placement: 'bottom', orderedModifiers: [], options: Object.assign({}, DEFAULT_OPTIONS, {}, defaultOptions), modifiersData: {}, elements: { reference: reference, popper: popper }, attributes: {}, styles: {} }; var effectCleanupFns = []; var isDestroyed = false; var instance = { state: state, setOptions: function setOptions(options) { cleanupModifierEffects(); state.options = Object.assign({}, defaultOptions, {}, state.options, {}, options); state.scrollParents = { reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [], popper: listScrollParents(popper) }; // Orders the modifiers based on their dependencies and `phase` // properties var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers state.orderedModifiers = orderedModifiers.filter(function (m) { return m.enabled; }); // Validate the provided modifiers so that the consumer will get warned // if one of the modifiers is invalid for any reason if (false) { var _getComputedStyle, marginTop, marginRight, marginBottom, marginLeft, flipModifier, modifiers; } runModifierEffects(); return instance.update(); }, // Sync update – it will always be executed, even if not necessary. This // is useful for low frequency updates where sync behavior simplifies the // logic. // For high frequency updates (e.g. `resize` and `scroll` events), always // prefer the async Popper#update method forceUpdate: function forceUpdate() { if (isDestroyed) { return; } var _state$elements = state.elements, reference = _state$elements.reference, popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements // anymore if (!areValidElements(reference, popper)) { if (false) {} return; } // Store the reference and popper rects to be read by modifiers state.rects = { reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'), popper: getLayoutRect(popper) }; // Modifiers have the ability to reset the current update cycle. The // most common use case for this is the `flip` modifier changing the // placement, which then needs to re-run all the modifiers, because the // logic was previously ran for the previous placement and is therefore // stale/incorrect state.reset = false; state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier // is filled with the initial data specified by the modifier. This means // it doesn't persist and is fresh on each update. // To ensure persistent data, use `${name}#persistent` state.orderedModifiers.forEach(function (modifier) { return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); }); var __debug_loops__ = 0; for (var index = 0; index < state.orderedModifiers.length; index++) { if (false) {} if (state.reset === true) { state.reset = false; index = -1; continue; } var _state$orderedModifie = state.orderedModifiers[index], fn = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name; if (typeof fn === 'function') { state = fn({ state: state, options: _options, name: name, instance: instance }) || state; } } }, // Async and optimistically optimized update – it will not be executed if // not necessary (debounced to run at most once-per-tick) update: debounce(function () { return new Promise(function (resolve) { instance.forceUpdate(); resolve(state); }); }), destroy: function destroy() { cleanupModifierEffects(); isDestroyed = true; } }; if (!areValidElements(reference, popper)) { if (false) {} return instance; } instance.setOptions(options).then(function (state) { if (!isDestroyed && options.onFirstUpdate) { options.onFirstUpdate(state); } }); // Modifiers have the ability to execute arbitrary code before the first // update cycle runs. They will be executed in the same order as the update // cycle. This is useful when a modifier adds some persistent data that // other modifiers need to use, but the modifier is run after the dependent // one. function runModifierEffects() { state.orderedModifiers.forEach(function (_ref3) { var name = _ref3.name, _ref3$options = _ref3.options, options = _ref3$options === void 0 ? {} : _ref3$options, effect = _ref3.effect; if (typeof effect === 'function') { var cleanupFn = effect({ state: state, name: name, instance: instance, options: options }); var noopFn = function noopFn() {}; effectCleanupFns.push(cleanupFn || noopFn); } }); } function cleanupModifierEffects() { effectCleanupFns.forEach(function (fn) { return fn(); }); effectCleanupFns = []; } return instance; }; } var lib_createPopper = /*#__PURE__*/popperGenerator(); // CONCATENATED MODULE: ./node_modules/react-overlays/esm/popper.js // For the common JS build we will turn this file into a bundle with no imports. // This is b/c the Popper lib is all esm files, and would break in a common js only environment var popper_createPopper = popperGenerator({ defaultModifiers: [modifiers_hide, modifiers_popperOffsets, modifiers_computeStyles, eventListeners, modifiers_offset, modifiers_flip, modifiers_preventOverflow, modifiers_arrow] }); // CONCATENATED MODULE: ./node_modules/react-overlays/esm/usePopper.js var initialPopperStyles = { position: 'absolute', top: '0', left: '0', opacity: '0', pointerEvents: 'none' }; var initialArrowStyles = {}; // until docjs supports type exports... function toModifierMap(modifiers) { var result = {}; if (!Array.isArray(modifiers)) { return modifiers || result; } // eslint-disable-next-line no-unused-expressions modifiers == null ? void 0 : modifiers.forEach(function (m) { result[m.name] = m; }); return result; } function toModifierArray(map) { if (map === void 0) { map = {}; } if (Array.isArray(map)) return map; return Object.keys(map).map(function (k) { map[k].name = k; return map[k]; }); } /** * Position an element relative some reference element using Popper.js * * @param referenceElement * @param popperElement * @param {object} options * @param {object=} options.modifiers Popper.js modifiers * @param {boolean=} options.enabled toggle the popper functionality on/off * @param {string=} options.placement The popper element placement relative to the reference element * @param {string=} options.strategy the positioning strategy * @param {boolean=} options.eventsEnabled have Popper listen on window resize events to reposition the element * @param {function=} options.onCreate called when the popper is created * @param {function=} options.onUpdate called when the popper is updated * * @returns {UsePopperState} The popper state */ function usePopper(referenceElement, popperElement, _temp) { var _ref = _temp === void 0 ? {} : _temp, _ref$enabled = _ref.enabled, enabled = _ref$enabled === void 0 ? true : _ref$enabled, _ref$placement = _ref.placement, placement = _ref$placement === void 0 ? 'bottom' : _ref$placement, _ref$strategy = _ref.strategy, strategy = _ref$strategy === void 0 ? 'absolute' : _ref$strategy, _ref$eventsEnabled = _ref.eventsEnabled, eventsEnabled = _ref$eventsEnabled === void 0 ? true : _ref$eventsEnabled, userModifiers = _ref.modifiers, popperOptions = _objectWithoutPropertiesLoose(_ref, ["enabled", "placement", "strategy", "eventsEnabled", "modifiers"]); var popperInstanceRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(); var scheduleUpdate = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () { if (popperInstanceRef.current) { popperInstanceRef.current.update(); } }, []); var _useSafeState = esm_useSafeState(Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])({ placement: placement, scheduleUpdate: scheduleUpdate, outOfBoundaries: false, styles: initialPopperStyles, arrowStyles: initialArrowStyles })), state = _useSafeState[0], setState = _useSafeState[1]; var updateModifier = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () { return { name: 'updateStateModifier', enabled: true, phase: 'afterWrite', requires: ['computeStyles'], fn: function fn(data) { var _data$state$modifiers, _data$state$styles, _data$state$styles2; setState({ scheduleUpdate: scheduleUpdate, outOfBoundaries: !!((_data$state$modifiers = data.state.modifiersData.hide) == null ? void 0 : _data$state$modifiers.isReferenceHidden), placement: data.state.placement, styles: _extends({}, (_data$state$styles = data.state.styles) == null ? void 0 : _data$state$styles.popper), arrowStyles: _extends({}, (_data$state$styles2 = data.state.styles) == null ? void 0 : _data$state$styles2.arrow), state: data.state }); } }; }, [scheduleUpdate, setState]); var modifiers = toModifierArray(userModifiers); var eventsModifier = modifiers.find(function (m) { return m.name === 'eventListeners'; }); if (!eventsModifier && eventsEnabled) { eventsModifier = { name: 'eventListeners', enabled: true }; modifiers = [].concat(modifiers, [eventsModifier]); } // A placement difference in state means popper determined a new placement // apart from the props value. By the time the popper element is rendered with // the new position Popper has already measured it, if the place change triggers // a size change it will result in a misaligned popper. So we schedule an update to be sure. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () { scheduleUpdate(); }, [state.placement, scheduleUpdate]); Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () { if (!popperInstanceRef.current || !enabled) return; popperInstanceRef.current.setOptions({ placement: placement, strategy: strategy, modifiers: [].concat(modifiers, [updateModifier]) }); // intentionally NOT re-running on new modifiers // eslint-disable-next-line react-hooks/exhaustive-deps }, [strategy, placement, eventsModifier.enabled, updateModifier, enabled]); Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () { if (!enabled || referenceElement == null || popperElement == null) { return undefined; } popperInstanceRef.current = popper_createPopper(referenceElement, popperElement, _extends({}, popperOptions, { placement: placement, strategy: strategy, modifiers: [].concat(modifiers, [updateModifier]) })); return function () { if (popperInstanceRef.current != null) { popperInstanceRef.current.destroy(); popperInstanceRef.current = undefined; setState(function (s) { return _extends({}, s, { styles: initialPopperStyles, arrowStyles: initialArrowStyles }); }); } }; // This is only run once to _create_ the popper // eslint-disable-next-line react-hooks/exhaustive-deps }, [enabled, referenceElement, popperElement]); return state; } /* harmony default export */ var esm_usePopper = (usePopper); // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/contains.js /* eslint-disable no-bitwise, no-cond-assign */ // HTML DOM and SVG DOM may have different support levels, // so we need to check on context instead of a document root element. function contains_contains(context, node) { if (context.contains) return context.contains(node); if (context.compareDocumentPosition) return context === node || !!(context.compareDocumentPosition(node) & 16); } // EXTERNAL MODULE: ./node_modules/warning/warning.js var warning = __webpack_require__(5); var warning_default = /*#__PURE__*/__webpack_require__.n(warning); // CONCATENATED MODULE: ./node_modules/react-overlays/esm/safeFindDOMNode.js function safeFindDOMNode(componentOrElement) { if (componentOrElement && 'setState' in componentOrElement) { return external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_default.a.findDOMNode(componentOrElement); } return componentOrElement != null ? componentOrElement : null; } // CONCATENATED MODULE: ./node_modules/react-overlays/esm/ownerDocument.js /* harmony default export */ var esm_ownerDocument = (function (componentOrElement) { return ownerDocument(safeFindDOMNode(componentOrElement)); }); // CONCATENATED MODULE: ./node_modules/react-overlays/esm/useRootClose.js var escapeKeyCode = 27; var useRootClose_noop = function noop() {}; function isLeftClickEvent(event) { return event.button === 0; } function isModifiedEvent(event) { return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey); } var getRefTarget = function getRefTarget(ref) { return ref && ('current' in ref ? ref.current : ref); }; /** * The `useRootClose` hook registers your callback on the document * when rendered. Powers the `` component. This is used achieve modal * style behavior where your callback is triggered when the user tries to * interact with the rest of the document or hits the `esc` key. * * @param {Ref| HTMLElement} ref The element boundary * @param {function} onRootClose * @param {object=} options * @param {boolean=} options.disabled * @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on */ function useRootClose(ref, onRootClose, _temp) { var _ref = _temp === void 0 ? {} : _temp, disabled = _ref.disabled, _ref$clickTrigger = _ref.clickTrigger, clickTrigger = _ref$clickTrigger === void 0 ? 'click' : _ref$clickTrigger; var preventMouseRootCloseRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(false); var onClose = onRootClose || useRootClose_noop; var handleMouseCapture = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (e) { var currentTarget = getRefTarget(ref); warning_default()(!!currentTarget, 'RootClose captured a close event but does not have a ref to compare it to. ' + 'useRootClose(), should be passed a ref that resolves to a DOM node'); preventMouseRootCloseRef.current = !currentTarget || isModifiedEvent(e) || !isLeftClickEvent(e) || !!contains_contains(currentTarget, e.target); }, [ref]); var handleMouse = useEventCallback(function (e) { if (!preventMouseRootCloseRef.current) { onClose(e); } }); var handleKeyUp = useEventCallback(function (e) { if (e.keyCode === escapeKeyCode) { onClose(e); } }); Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () { if (disabled || ref == null) return undefined; var doc = esm_ownerDocument(getRefTarget(ref)); // Use capture for this listener so it fires before React's listener, to // avoid false positives in the contains() check below if the target DOM // element is removed in the React mouse callback. var removeMouseCaptureListener = esm_listen(doc, clickTrigger, handleMouseCapture, true); var removeMouseListener = esm_listen(doc, clickTrigger, handleMouse); var removeKeyupListener = esm_listen(doc, 'keyup', handleKeyUp); var mobileSafariHackListeners = []; if ('ontouchstart' in doc.documentElement) { mobileSafariHackListeners = [].slice.call(doc.body.children).map(function (el) { return esm_listen(el, 'mousemove', useRootClose_noop); }); } return function () { removeMouseCaptureListener(); removeMouseListener(); removeKeyupListener(); mobileSafariHackListeners.forEach(function (remove) { return remove(); }); }; }, [ref, disabled, clickTrigger, handleMouseCapture, handleMouse, handleKeyUp]); } /* harmony default export */ var esm_useRootClose = (useRootClose); // CONCATENATED MODULE: ./node_modules/react-overlays/esm/DropdownMenu.js var DropdownMenu_noop = function noop() {}; /** * @memberOf Dropdown * @param {object} options * @param {boolean} options.flip Automatically adjust the menu `drop` position based on viewport edge detection * @param {boolean} options.show Display the menu manually, ignored in the context of a `Dropdown` * @param {boolean} options.usePopper opt in/out of using PopperJS to position menus. When disabled you must position it yourself. * @param {string} options.rootCloseEvent The pointer event to listen for when determining "clicks outside" the menu for triggering a close. * @param {object} options.popperConfig Options passed to the [`usePopper`](/api/usePopper) hook. */ function useDropdownMenu(options) { var _modifiers$arrow; if (options === void 0) { options = {}; } var context = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(esm_DropdownContext); var _useCallbackRef = useCallbackRef(), arrowElement = _useCallbackRef[0], attachArrowRef = _useCallbackRef[1]; var hasShownRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(false); var _options = options, flip = _options.flip, rootCloseEvent = _options.rootCloseEvent, _options$popperConfig = _options.popperConfig, popperConfig = _options$popperConfig === void 0 ? {} : _options$popperConfig, _options$usePopper = _options.usePopper, shouldUsePopper = _options$usePopper === void 0 ? !!context : _options$usePopper; var show = (context == null ? void 0 : context.show) == null ? options.show : context.show; var alignEnd = (context == null ? void 0 : context.alignEnd) == null ? options.alignEnd : context.alignEnd; if (show && !hasShownRef.current) { hasShownRef.current = true; } var handleClose = function handleClose(e) { context == null ? void 0 : context.toggle(false, e); }; var _ref = context || {}, drop = _ref.drop, setMenu = _ref.setMenu, menuElement = _ref.menuElement, toggleElement = _ref.toggleElement; var placement = alignEnd ? 'bottom-end' : 'bottom-start'; if (drop === 'up') placement = alignEnd ? 'top-end' : 'top-start';else if (drop === 'right') placement = alignEnd ? 'right-end' : 'right-start';else if (drop === 'left') placement = alignEnd ? 'left-end' : 'left-start'; var modifiers = toModifierMap(popperConfig.modifiers); var popper = esm_usePopper(toggleElement, menuElement, _extends({}, popperConfig, { placement: placement, enabled: !!(shouldUsePopper && show), modifiers: _extends({}, modifiers, { eventListeners: { enabled: !!show }, arrow: _extends({}, modifiers.arrow, { enabled: !!arrowElement, options: _extends({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, { element: arrowElement }) }), flip: _extends({ enabled: !!flip }, modifiers.flip) }) })); var menu; var menuProps = { ref: setMenu || DropdownMenu_noop, 'aria-labelledby': toggleElement == null ? void 0 : toggleElement.id }; var childArgs = { show: show, alignEnd: alignEnd, hasShown: hasShownRef.current, close: handleClose }; if (!shouldUsePopper) { menu = _extends({}, childArgs, { props: menuProps }); } else { menu = _extends({}, popper, {}, childArgs, { props: _extends({}, menuProps, { style: popper.styles }), arrowProps: { ref: attachArrowRef, style: popper.arrowStyles } }); } esm_useRootClose(menuElement, handleClose, { clickTrigger: rootCloseEvent, disabled: !(menu && show) }); return menu; } var DropdownMenu_propTypes = { /** * A render prop that returns a Menu element. The `props` * argument should spread through to **a component that can accept a ref**. * * @type {Function ({ * show: boolean, * alignEnd: boolean, * close: (?SyntheticEvent) => void, * placement: Placement, * outOfBoundaries: ?boolean, * scheduleUpdate: () => void, * props: { * ref: (?HTMLElement) => void, * style: { [string]: string | number }, * aria-labelledby: ?string * }, * arrowProps: { * ref: (?HTMLElement) => void, * style: { [string]: string | number }, * }, * }) => React.Element} */ children: prop_types_default.a.func.isRequired, /** * Controls the visible state of the menu, generally this is * provided by the parent `Dropdown` component, * but may also be specified as a prop directly. */ show: prop_types_default.a.bool, /** * Aligns the dropdown menu to the 'end' of it's placement position. * Generally this is provided by the parent `Dropdown` component, * but may also be specified as a prop directly. */ alignEnd: prop_types_default.a.bool, /** * Enables the Popper.js `flip` modifier, allowing the Dropdown to * automatically adjust it's placement in case of overlap with the viewport or toggle. * Refer to the [flip docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled) for more info */ flip: prop_types_default.a.bool, usePopper: prop_types_default.a.oneOf([true, false]), /** * A set of popper options and props passed directly to react-popper's Popper component. */ popperConfig: prop_types_default.a.object, /** * Override the default event used by RootCloseWrapper. */ rootCloseEvent: prop_types_default.a.string }; var DropdownMenu_defaultProps = { usePopper: true }; /** * Also exported as `` from `Dropdown`. * * @displayName DropdownMenu * @memberOf Dropdown */ function DropdownMenu(_ref2) { var children = _ref2.children, options = _objectWithoutPropertiesLoose(_ref2, ["children"]); var args = useDropdownMenu(options); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Fragment, null, args.hasShown ? children(args) : null); } DropdownMenu.displayName = 'ReactOverlaysDropdownMenu'; DropdownMenu.propTypes = DropdownMenu_propTypes; DropdownMenu.defaultProps = DropdownMenu_defaultProps; /** @component */ /* harmony default export */ var esm_DropdownMenu = (DropdownMenu); // CONCATENATED MODULE: ./node_modules/react-overlays/esm/DropdownToggle.js var DropdownToggle_noop = function noop() {}; /** * Wires up Dropdown toggle functionality, returning a set a props to attach * to the element that functions as the dropdown toggle (generally a button). * * @memberOf Dropdown */ function useDropdownToggle() { var _ref = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(esm_DropdownContext) || {}, _ref$show = _ref.show, show = _ref$show === void 0 ? false : _ref$show, _ref$toggle = _ref.toggle, toggle = _ref$toggle === void 0 ? DropdownToggle_noop : _ref$toggle, setToggle = _ref.setToggle; return [{ ref: setToggle || DropdownToggle_noop, 'aria-haspopup': true, 'aria-expanded': !!show }, { show: show, toggle: toggle }]; } var DropdownToggle_propTypes = { /** * A render prop that returns a Toggle element. The `props` * argument should spread through to **a component that can accept a ref**. Use * the `onToggle` argument to toggle the menu open or closed * * @type {Function ({ * show: boolean, * toggle: (show: boolean) => void, * props: { * ref: (?HTMLElement) => void, * aria-haspopup: true * aria-expanded: boolean * }, * }) => React.Element} */ children: prop_types_default.a.func.isRequired }; /** * Also exported as `` from `Dropdown`. * * @displayName DropdownToggle * @memberOf Dropdown */ function DropdownToggle(_ref2) { var children = _ref2.children; var _useDropdownToggle = useDropdownToggle(), props = _useDropdownToggle[0], _useDropdownToggle$ = _useDropdownToggle[1], show = _useDropdownToggle$.show, toggle = _useDropdownToggle$.toggle; return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Fragment, null, children({ show: show, toggle: toggle, props: props })); } DropdownToggle.displayName = 'ReactOverlaysDropdownToggle'; DropdownToggle.propTypes = DropdownToggle_propTypes; /** @component */ /* harmony default export */ var esm_DropdownToggle = (DropdownToggle); // CONCATENATED MODULE: ./node_modules/react-overlays/esm/Dropdown.js var Dropdown_propTypes = { /** * A render prop that returns the root dropdown element. The `props` * argument should spread through to an element containing _both_ the * menu and toggle in order to handle keyboard events for focus management. * * @type {Function ({ * props: { * onKeyDown: (SyntheticEvent) => void, * }, * }) => React.Element} */ children: prop_types_default.a.func.isRequired, /** * Determines the direction and location of the Menu in relation to it's Toggle. */ drop: prop_types_default.a.oneOf(['up', 'left', 'right', 'down']), /** * Controls the focus behavior for when the Dropdown is opened. Set to * `true` to always focus the first menu item, `keyboard` to focus only when * navigating via the keyboard, or `false` to disable completely * * The Default behavior is `false` **unless** the Menu has a `role="menu"` * where it will default to `keyboard` to match the recommended [ARIA Authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/#menubutton). */ focusFirstItemOnShow: prop_types_default.a.oneOf([false, true, 'keyboard']), /** * A css slector string that will return __focusable__ menu items. * Selectors should be relative to the menu component: * e.g. ` > li:not('.disabled')` */ itemSelector: prop_types_default.a.string, /** * Align the menu to the 'end' side of the placement side of the Dropdown toggle. The default placement is `top-start` or `bottom-start`. */ alignEnd: prop_types_default.a.bool, /** * Whether or not the Dropdown is visible. * * @controllable onToggle */ show: prop_types_default.a.bool, /** * Sets the initial show position of the Dropdown. */ defaultShow: prop_types_default.a.bool, /** * A callback fired when the Dropdown wishes to change visibility. Called with the requested * `show` value, the DOM event, and the source that fired it: `'click'`,`'keydown'`,`'rootClose'`, or `'select'`. * * ```ts static * function( * isOpen: boolean, * event: SyntheticEvent, * ): void * ``` * * @controllable show */ onToggle: prop_types_default.a.func }; /** * @displayName Dropdown */ function Dropdown(_ref) { var drop = _ref.drop, alignEnd = _ref.alignEnd, defaultShow = _ref.defaultShow, rawShow = _ref.show, rawOnToggle = _ref.onToggle, _ref$itemSelector = _ref.itemSelector, itemSelector = _ref$itemSelector === void 0 ? '* > *' : _ref$itemSelector, focusFirstItemOnShow = _ref.focusFirstItemOnShow, children = _ref.children; var forceUpdate = useForceUpdate(); var _useUncontrolledProp = useUncontrolledProp(rawShow, defaultShow, rawOnToggle), show = _useUncontrolledProp[0], onToggle = _useUncontrolledProp[1]; var _useCallbackRef = useCallbackRef(), toggleElement = _useCallbackRef[0], setToggle = _useCallbackRef[1]; // We use normal refs instead of useCallbackRef in order to populate the // the value as quickly as possible, otherwise the effect to focus the element // may run before the state value is set var menuRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null); var menuElement = menuRef.current; var setMenu = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (ref) { menuRef.current = ref; // ensure that a menu set triggers an update for consumers forceUpdate(); }, [forceUpdate]); var lastShow = usePrevious(show); var lastSourceEvent = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null); var focusInDropdown = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(false); var toggle = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) { onToggle(!show, event); }, [onToggle, show]); var context = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () { return { toggle: toggle, drop: drop, show: show, alignEnd: alignEnd, menuElement: menuElement, toggleElement: toggleElement, setMenu: setMenu, setToggle: setToggle }; }, [toggle, drop, show, alignEnd, menuElement, toggleElement, setMenu, setToggle]); if (menuElement && lastShow && !show) { focusInDropdown.current = menuElement.contains(document.activeElement); } var focusToggle = useEventCallback(function () { if (toggleElement && toggleElement.focus) { toggleElement.focus(); } }); var maybeFocusFirst = useEventCallback(function () { var type = lastSourceEvent.current; var focusType = focusFirstItemOnShow; if (focusType == null) { focusType = menuRef.current && matches(menuRef.current, '[role=menu]') ? 'keyboard' : false; } if (focusType === false || focusType === 'keyboard' && !/^key.+$/.test(type)) { return; } var first = qsa(menuRef.current, itemSelector)[0]; if (first && first.focus) first.focus(); }); Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () { if (show) maybeFocusFirst();else if (focusInDropdown.current) { focusInDropdown.current = false; focusToggle(); } // only `show` should be changing }, [show, focusInDropdown, focusToggle, maybeFocusFirst]); Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () { lastSourceEvent.current = null; }); var getNextFocusedChild = function getNextFocusedChild(current, offset) { if (!menuRef.current) return null; var items = qsa(menuRef.current, itemSelector); var index = items.indexOf(current) + offset; index = Math.max(0, Math.min(index, items.length)); return items[index]; }; var handleKeyDown = function handleKeyDown(event) { var key = event.key; var target = event.target; // Second only to https://github.com/twbs/bootstrap/blob/8cfbf6933b8a0146ac3fbc369f19e520bd1ebdac/js/src/dropdown.js#L400 // in inscrutability var isInput = /input|textarea/i.test(target.tagName); if (isInput && (key === ' ' || key !== 'Escape' && menuRef.current && menuRef.current.contains(target))) { return; } lastSourceEvent.current = event.type; switch (key) { case 'ArrowUp': { var next = getNextFocusedChild(target, -1); if (next && next.focus) next.focus(); event.preventDefault(); return; } case 'ArrowDown': event.preventDefault(); if (!show) { toggle(event); } else { var _next = getNextFocusedChild(target, 1); if (_next && _next.focus) _next.focus(); } return; case 'Escape': case 'Tab': onToggle(false, event); break; default: } }; return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_DropdownContext.Provider, { value: context }, children({ props: { onKeyDown: handleKeyDown } })); } Dropdown.displayName = 'ReactOverlaysDropdown'; Dropdown.propTypes = Dropdown_propTypes; Dropdown.Menu = esm_DropdownMenu; Dropdown.Toggle = esm_DropdownToggle; /* harmony default export */ var esm_Dropdown = (Dropdown); // CONCATENATED MODULE: ./src/NavContext.js var NavContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null); /* harmony default export */ var src_NavContext = (NavContext); // CONCATENATED MODULE: ./src/DropdownItem.js var DropdownItem_this = undefined, DropdownItem_jsxFileName = "/Users/jquense/src/react-bootstrap/src/DropdownItem.js"; var DropdownItem_propTypes = { /** @default 'dropdown' */ bsPrefix: prop_types_default.a.string, /** * Highlight the menu item as active. */ active: prop_types_default.a.bool, /** * Disable the menu item, making it unselectable. */ disabled: prop_types_default.a.bool, /** * Value passed to the `onSelect` handler, useful for identifying the selected menu item. */ eventKey: prop_types_default.a.any, /** * HTML `href` attribute corresponding to `a.href`. */ href: prop_types_default.a.string, /** * Callback fired when the menu item is clicked. */ onClick: prop_types_default.a.func, /** * Callback fired when the menu item is selected. * * ```js * (eventKey: any, event: Object) => any * ``` */ onSelect: prop_types_default.a.func, as: prop_types_default.a.elementType }; var DropdownItem_defaultProps = { as: src_SafeAnchor, disabled: false }; var DropdownItem = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, className = _ref.className, children = _ref.children, eventKey = _ref.eventKey, disabled = _ref.disabled, href = _ref.href, onClick = _ref.onClick, onSelect = _ref.onSelect, propActive = _ref.active, Component = _ref.as, props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "children", "eventKey", "disabled", "href", "onClick", "onSelect", "active", "as"]); var prefix = useBootstrapPrefix(bsPrefix, 'dropdown-item'); var onSelectCtx = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_SelectableContext); var navContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_NavContext); var _ref2 = navContext || {}, activeKey = _ref2.activeKey; var key = makeEventKey(eventKey, href); var active = propActive == null && key != null ? makeEventKey(activeKey) === key : propActive; var handleClick = useEventCallback(function (event) { // SafeAnchor handles the disabled case, but we handle it here // for other components if (disabled) return; if (onClick) onClick(event); if (onSelectCtx) onSelectCtx(key, event); if (onSelect) onSelect(key, event); }); return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, { ref: ref, href: href, disabled: disabled, className: classnames_default()(className, prefix, active && 'active', disabled && 'disabled'), onClick: handleClick, __self: DropdownItem_this, __source: { fileName: DropdownItem_jsxFileName, lineNumber: 96, columnNumber: 7 } }), children); }); DropdownItem.displayName = 'DropdownItem'; DropdownItem.propTypes = DropdownItem_propTypes; DropdownItem.defaultProps = DropdownItem_defaultProps; /* harmony default export */ var src_DropdownItem = (DropdownItem); // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useMergedRefs.js var toFnRef = function toFnRef(ref) { return !ref || typeof ref === 'function' ? ref : function (value) { ref.current = value; }; }; function mergeRefs(refA, refB) { var a = toFnRef(refA); var b = toFnRef(refB); return function (value) { if (a) a(value); if (b) b(value); }; } /** * Create and returns a single callback ref composed from two other Refs. * * ```tsx * const Button = React.forwardRef((props, ref) => { * const [element, attachRef] = useCallbackRef(); * const mergedRef = useMergedRefs(ref, attachRef); * * return