You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

15430 lines
482 KiB

  1. (function webpackUniversalModuleDefinition(root, factory) {
  2. if(typeof exports === 'object' && typeof module === 'object')
  3. module.exports = factory(require("react"), require("react-dom"));
  4. else if(typeof define === 'function' && define.amd)
  5. define(["react", "react-dom"], factory);
  6. else if(typeof exports === 'object')
  7. exports["ReactBootstrap"] = factory(require("react"), require("react-dom"));
  8. else
  9. root["ReactBootstrap"] = factory(root["React"], root["ReactDOM"]);
  10. })(window, function(__WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__6__) {
  11. return /******/ (function(modules) { // webpackBootstrap
  12. /******/ // The module cache
  13. /******/ var installedModules = {};
  14. /******/
  15. /******/ // The require function
  16. /******/ function __webpack_require__(moduleId) {
  17. /******/
  18. /******/ // Check if module is in cache
  19. /******/ if(installedModules[moduleId]) {
  20. /******/ return installedModules[moduleId].exports;
  21. /******/ }
  22. /******/ // Create a new module (and put it into the cache)
  23. /******/ var module = installedModules[moduleId] = {
  24. /******/ i: moduleId,
  25. /******/ l: false,
  26. /******/ exports: {}
  27. /******/ };
  28. /******/
  29. /******/ // Execute the module function
  30. /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  31. /******/
  32. /******/ // Flag the module as loaded
  33. /******/ module.l = true;
  34. /******/
  35. /******/ // Return the exports of the module
  36. /******/ return module.exports;
  37. /******/ }
  38. /******/
  39. /******/
  40. /******/ // expose the modules object (__webpack_modules__)
  41. /******/ __webpack_require__.m = modules;
  42. /******/
  43. /******/ // expose the module cache
  44. /******/ __webpack_require__.c = installedModules;
  45. /******/
  46. /******/ // define getter function for harmony exports
  47. /******/ __webpack_require__.d = function(exports, name, getter) {
  48. /******/ if(!__webpack_require__.o(exports, name)) {
  49. /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
  50. /******/ }
  51. /******/ };
  52. /******/
  53. /******/ // define __esModule on exports
  54. /******/ __webpack_require__.r = function(exports) {
  55. /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  56. /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  57. /******/ }
  58. /******/ Object.defineProperty(exports, '__esModule', { value: true });
  59. /******/ };
  60. /******/
  61. /******/ // create a fake namespace object
  62. /******/ // mode & 1: value is a module id, require it
  63. /******/ // mode & 2: merge all properties of value into the ns
  64. /******/ // mode & 4: return value when already ns object
  65. /******/ // mode & 8|1: behave like require
  66. /******/ __webpack_require__.t = function(value, mode) {
  67. /******/ if(mode & 1) value = __webpack_require__(value);
  68. /******/ if(mode & 8) return value;
  69. /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  70. /******/ var ns = Object.create(null);
  71. /******/ __webpack_require__.r(ns);
  72. /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  73. /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  74. /******/ return ns;
  75. /******/ };
  76. /******/
  77. /******/ // getDefaultExport function for compatibility with non-harmony modules
  78. /******/ __webpack_require__.n = function(module) {
  79. /******/ var getter = module && module.__esModule ?
  80. /******/ function getDefault() { return module['default']; } :
  81. /******/ function getModuleExports() { return module; };
  82. /******/ __webpack_require__.d(getter, 'a', getter);
  83. /******/ return getter;
  84. /******/ };
  85. /******/
  86. /******/ // Object.prototype.hasOwnProperty.call
  87. /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  88. /******/
  89. /******/ // __webpack_public_path__
  90. /******/ __webpack_require__.p = "";
  91. /******/
  92. /******/
  93. /******/ // Load entry module and return exports
  94. /******/ return __webpack_require__(__webpack_require__.s = 18);
  95. /******/ })
  96. /************************************************************************/
  97. /******/ ([
  98. /* 0 */
  99. /***/ (function(module, exports, __webpack_require__) {
  100. /**
  101. * Copyright (c) 2013-present, Facebook, Inc.
  102. *
  103. * This source code is licensed under the MIT license found in the
  104. * LICENSE file in the root directory of this source tree.
  105. */
  106. if (false) { var throwOnDirectAccess, ReactIs; } else {
  107. // By explicitly using `prop-types` you are opting into new production behavior.
  108. // http://fb.me/prop-types-in-prod
  109. module.exports = __webpack_require__(11)();
  110. }
  111. /***/ }),
  112. /* 1 */
  113. /***/ (function(module, exports) {
  114. module.exports = __WEBPACK_EXTERNAL_MODULE__1__;
  115. /***/ }),
  116. /* 2 */
  117. /***/ (function(module, exports, __webpack_require__) {
  118. var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
  119. Copyright (c) 2017 Jed Watson.
  120. Licensed under the MIT License (MIT), see
  121. http://jedwatson.github.io/classnames
  122. */
  123. /* global define */
  124. (function () {
  125. 'use strict';
  126. var hasOwn = {}.hasOwnProperty;
  127. function classNames() {
  128. var classes = [];
  129. for (var i = 0; i < arguments.length; i++) {
  130. var arg = arguments[i];
  131. if (!arg) continue;
  132. var argType = typeof arg;
  133. if (argType === 'string' || argType === 'number') {
  134. classes.push(arg);
  135. } else if (Array.isArray(arg) && arg.length) {
  136. var inner = classNames.apply(null, arg);
  137. if (inner) {
  138. classes.push(inner);
  139. }
  140. } else if (argType === 'object') {
  141. for (var key in arg) {
  142. if (hasOwn.call(arg, key) && arg[key]) {
  143. classes.push(key);
  144. }
  145. }
  146. }
  147. }
  148. return classes.join(' ');
  149. }
  150. if ( true && module.exports) {
  151. classNames.default = classNames;
  152. module.exports = classNames;
  153. } else if (true) {
  154. // register as 'classnames', consistent with npm package name
  155. !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
  156. return classNames;
  157. }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
  158. __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
  159. } else {}
  160. })();
  161. /***/ }),
  162. /* 3 */
  163. /***/ (function(module, exports, __webpack_require__) {
  164. "use strict";
  165. Object.defineProperty(exports, "__esModule", {
  166. value: true
  167. });
  168. exports.default = all;
  169. var _createChainableTypeChecker = __webpack_require__(9);
  170. var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
  171. function _interopRequireDefault(obj) {
  172. return obj && obj.__esModule ? obj : {
  173. default: obj
  174. };
  175. }
  176. function all() {
  177. for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {
  178. validators[_key] = arguments[_key];
  179. }
  180. function allPropTypes() {
  181. for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
  182. args[_key2] = arguments[_key2];
  183. }
  184. var error = null;
  185. validators.forEach(function (validator) {
  186. if (error != null) {
  187. return;
  188. }
  189. var result = validator.apply(undefined, args);
  190. if (result != null) {
  191. error = result;
  192. }
  193. });
  194. return error;
  195. }
  196. return (0, _createChainableTypeChecker2.default)(allPropTypes);
  197. }
  198. module.exports = exports['default'];
  199. /***/ }),
  200. /* 4 */
  201. /***/ (function(module, exports, __webpack_require__) {
  202. "use strict";
  203. Object.defineProperty(exports, "__esModule", {
  204. value: true
  205. });
  206. exports.default = isRequiredForA11y;
  207. function isRequiredForA11y(validator) {
  208. return function validate(props, propName, componentName, location, propFullName) {
  209. var componentNameSafe = componentName || '<<anonymous>>';
  210. var propFullNameSafe = propFullName || propName;
  211. if (props[propName] == null) {
  212. return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');
  213. }
  214. for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
  215. args[_key - 5] = arguments[_key];
  216. }
  217. return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
  218. };
  219. }
  220. module.exports = exports['default'];
  221. /***/ }),
  222. /* 5 */
  223. /***/ (function(module, exports, __webpack_require__) {
  224. "use strict";
  225. /**
  226. * Copyright (c) 2014-present, Facebook, Inc.
  227. *
  228. * This source code is licensed under the MIT license found in the
  229. * LICENSE file in the root directory of this source tree.
  230. */
  231. /**
  232. * Similar to invariant but only logs a warning if the condition is not met.
  233. * This can be used to log issues in development environments in critical
  234. * paths. Removing the logging code for production environments will keep the
  235. * same logic and follow the same code paths.
  236. */
  237. var __DEV__ = "production" !== 'production';
  238. var warning = function () {};
  239. if (__DEV__) {
  240. var printWarning = function printWarning(format, args) {
  241. var len = arguments.length;
  242. args = new Array(len > 1 ? len - 1 : 0);
  243. for (var key = 1; key < len; key++) {
  244. args[key - 1] = arguments[key];
  245. }
  246. var argIndex = 0;
  247. var message = 'Warning: ' + format.replace(/%s/g, function () {
  248. return args[argIndex++];
  249. });
  250. if (typeof console !== 'undefined') {
  251. console.error(message);
  252. }
  253. try {
  254. // --- Welcome to debugging React ---
  255. // This error was thrown as a convenience so that you can use this stack
  256. // to find the callsite that caused this warning to fire.
  257. throw new Error(message);
  258. } catch (x) {}
  259. };
  260. warning = function (condition, format, args) {
  261. var len = arguments.length;
  262. args = new Array(len > 2 ? len - 2 : 0);
  263. for (var key = 2; key < len; key++) {
  264. args[key - 2] = arguments[key];
  265. }
  266. if (format === undefined) {
  267. throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
  268. }
  269. if (!condition) {
  270. printWarning.apply(null, [format].concat(args));
  271. }
  272. };
  273. }
  274. module.exports = warning;
  275. /***/ }),
  276. /* 6 */
  277. /***/ (function(module, exports) {
  278. module.exports = __WEBPACK_EXTERNAL_MODULE__6__;
  279. /***/ }),
  280. /* 7 */
  281. /***/ (function(module, exports, __webpack_require__) {
  282. "use strict";
  283. /**
  284. * Copyright (c) 2013-present, Facebook, Inc.
  285. *
  286. * This source code is licensed under the MIT license found in the
  287. * LICENSE file in the root directory of this source tree.
  288. */
  289. /**
  290. * Use invariant() to assert state which your program assumes to be true.
  291. *
  292. * Provide sprintf-style format (only %s is supported) and arguments
  293. * to provide information about what broke and what you were
  294. * expecting.
  295. *
  296. * The invariant message will be stripped in production, but the invariant
  297. * will remain to ensure logic does not differ in production.
  298. */
  299. var invariant = function (condition, format, a, b, c, d, e, f) {
  300. if (false) {}
  301. if (!condition) {
  302. var error;
  303. if (format === undefined) {
  304. error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
  305. } else {
  306. var args = [a, b, c, d, e, f];
  307. var argIndex = 0;
  308. error = new Error(format.replace(/%s/g, function () {
  309. return args[argIndex++];
  310. }));
  311. error.name = 'Invariant Violation';
  312. }
  313. error.framesToPop = 1; // we don't care about invariant's own frame
  314. throw error;
  315. }
  316. };
  317. module.exports = invariant;
  318. /***/ }),
  319. /* 8 */
  320. /***/ (function(module, exports, __webpack_require__) {
  321. "use strict";
  322. Object.defineProperty(exports, "__esModule", {
  323. value: true
  324. });
  325. exports.isRequiredForA11y = exports.elementType = exports.deprecated = exports.componentOrElement = exports.all = undefined;
  326. var _all = __webpack_require__(3);
  327. var _all2 = _interopRequireDefault(_all);
  328. var _componentOrElement = __webpack_require__(13);
  329. var _componentOrElement2 = _interopRequireDefault(_componentOrElement);
  330. var _deprecated = __webpack_require__(14);
  331. var _deprecated2 = _interopRequireDefault(_deprecated);
  332. var _elementType = __webpack_require__(15);
  333. var _elementType2 = _interopRequireDefault(_elementType);
  334. var _isRequiredForA11y = __webpack_require__(4);
  335. var _isRequiredForA11y2 = _interopRequireDefault(_isRequiredForA11y);
  336. function _interopRequireDefault(obj) {
  337. return obj && obj.__esModule ? obj : {
  338. default: obj
  339. };
  340. }
  341. exports.all = _all2.default;
  342. exports.componentOrElement = _componentOrElement2.default;
  343. exports.deprecated = _deprecated2.default;
  344. exports.elementType = _elementType2.default;
  345. exports.isRequiredForA11y = _isRequiredForA11y2.default;
  346. /***/ }),
  347. /* 9 */
  348. /***/ (function(module, exports, __webpack_require__) {
  349. "use strict";
  350. Object.defineProperty(exports, "__esModule", {
  351. value: true
  352. });
  353. exports.default = createChainableTypeChecker;
  354. /**
  355. * Copyright 2013-present, Facebook, Inc.
  356. * All rights reserved.
  357. *
  358. * This source code is licensed under the BSD-style license found in the
  359. * LICENSE file in the root directory of this source tree. An additional grant
  360. * of patent rights can be found in the PATENTS file in the same directory.
  361. */
  362. // Mostly taken from ReactPropTypes.
  363. function createChainableTypeChecker(validate) {
  364. function checkType(isRequired, props, propName, componentName, location, propFullName) {
  365. var componentNameSafe = componentName || '<<anonymous>>';
  366. var propFullNameSafe = propFullName || propName;
  367. if (props[propName] == null) {
  368. if (isRequired) {
  369. return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));
  370. }
  371. return null;
  372. }
  373. for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {
  374. args[_key - 6] = arguments[_key];
  375. }
  376. return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));
  377. }
  378. var chainedCheckType = checkType.bind(null, false);
  379. chainedCheckType.isRequired = checkType.bind(null, true);
  380. return chainedCheckType;
  381. }
  382. module.exports = exports['default'];
  383. /***/ }),
  384. /* 10 */
  385. /***/ (function(module, exports, __webpack_require__) {
  386. "use strict";
  387. exports.__esModule = true;
  388. exports.default = forwardRef;
  389. var _react = _interopRequireDefault(__webpack_require__(1));
  390. function _interopRequireDefault(obj) {
  391. return obj && obj.__esModule ? obj : {
  392. default: obj
  393. };
  394. }
  395. function forwardRef(renderFn, _temp) {
  396. var _ref = _temp === void 0 ? {} : _temp,
  397. propTypes = _ref.propTypes,
  398. defaultProps = _ref.defaultProps,
  399. _ref$allowFallback = _ref.allowFallback,
  400. allowFallback = _ref$allowFallback === void 0 ? false : _ref$allowFallback,
  401. _ref$displayName = _ref.displayName,
  402. displayName = _ref$displayName === void 0 ? renderFn.name || renderFn.displayName : _ref$displayName;
  403. var render = function render(props, ref) {
  404. return renderFn(props, ref);
  405. };
  406. return Object.assign(_react.default.forwardRef || !allowFallback ? _react.default.forwardRef(render) : function (props) {
  407. return render(props, null);
  408. }, {
  409. displayName: displayName,
  410. propTypes: propTypes,
  411. defaultProps: defaultProps
  412. });
  413. }
  414. /***/ }),
  415. /* 11 */
  416. /***/ (function(module, exports, __webpack_require__) {
  417. "use strict";
  418. /**
  419. * Copyright (c) 2013-present, Facebook, Inc.
  420. *
  421. * This source code is licensed under the MIT license found in the
  422. * LICENSE file in the root directory of this source tree.
  423. */
  424. var ReactPropTypesSecret = __webpack_require__(12);
  425. function emptyFunction() {}
  426. function emptyFunctionWithReset() {}
  427. emptyFunctionWithReset.resetWarningCache = emptyFunction;
  428. module.exports = function () {
  429. function shim(props, propName, componentName, location, propFullName, secret) {
  430. if (secret === ReactPropTypesSecret) {
  431. // It is still safe when called from React.
  432. return;
  433. }
  434. 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');
  435. err.name = 'Invariant Violation';
  436. throw err;
  437. }
  438. ;
  439. shim.isRequired = shim;
  440. function getShim() {
  441. return shim;
  442. }
  443. ; // Important!
  444. // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
  445. var ReactPropTypes = {
  446. array: shim,
  447. bool: shim,
  448. func: shim,
  449. number: shim,
  450. object: shim,
  451. string: shim,
  452. symbol: shim,
  453. any: shim,
  454. arrayOf: getShim,
  455. element: shim,
  456. elementType: shim,
  457. instanceOf: getShim,
  458. node: shim,
  459. objectOf: getShim,
  460. oneOf: getShim,
  461. oneOfType: getShim,
  462. shape: getShim,
  463. exact: getShim,
  464. checkPropTypes: emptyFunctionWithReset,
  465. resetWarningCache: emptyFunction
  466. };
  467. ReactPropTypes.PropTypes = ReactPropTypes;
  468. return ReactPropTypes;
  469. };
  470. /***/ }),
  471. /* 12 */
  472. /***/ (function(module, exports, __webpack_require__) {
  473. "use strict";
  474. /**
  475. * Copyright (c) 2013-present, Facebook, Inc.
  476. *
  477. * This source code is licensed under the MIT license found in the
  478. * LICENSE file in the root directory of this source tree.
  479. */
  480. var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
  481. module.exports = ReactPropTypesSecret;
  482. /***/ }),
  483. /* 13 */
  484. /***/ (function(module, exports, __webpack_require__) {
  485. "use strict";
  486. Object.defineProperty(exports, "__esModule", {
  487. value: true
  488. });
  489. var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
  490. return typeof obj;
  491. } : function (obj) {
  492. return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
  493. };
  494. var _react = __webpack_require__(1);
  495. var _react2 = _interopRequireDefault(_react);
  496. var _createChainableTypeChecker = __webpack_require__(9);
  497. var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
  498. function _interopRequireDefault(obj) {
  499. return obj && obj.__esModule ? obj : {
  500. default: obj
  501. };
  502. }
  503. function validate(props, propName, componentName, location, propFullName) {
  504. var propValue = props[propName];
  505. var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);
  506. if (_react2.default.isValidElement(propValue)) {
  507. 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.');
  508. }
  509. if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {
  510. return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');
  511. }
  512. return null;
  513. }
  514. exports.default = (0, _createChainableTypeChecker2.default)(validate);
  515. module.exports = exports['default'];
  516. /***/ }),
  517. /* 14 */
  518. /***/ (function(module, exports, __webpack_require__) {
  519. "use strict";
  520. Object.defineProperty(exports, "__esModule", {
  521. value: true
  522. });
  523. exports.default = deprecated;
  524. var _warning = __webpack_require__(5);
  525. var _warning2 = _interopRequireDefault(_warning);
  526. function _interopRequireDefault(obj) {
  527. return obj && obj.__esModule ? obj : {
  528. default: obj
  529. };
  530. }
  531. var warned = {};
  532. function deprecated(validator, reason) {
  533. return function validate(props, propName, componentName, location, propFullName) {
  534. var componentNameSafe = componentName || '<<anonymous>>';
  535. var propFullNameSafe = propFullName || propName;
  536. if (props[propName] != null) {
  537. var messageKey = componentName + '.' + propName;
  538. (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));
  539. warned[messageKey] = true;
  540. }
  541. for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
  542. args[_key - 5] = arguments[_key];
  543. }
  544. return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));
  545. };
  546. }
  547. /* eslint-disable no-underscore-dangle */
  548. function _resetWarned() {
  549. warned = {};
  550. }
  551. deprecated._resetWarned = _resetWarned;
  552. /* eslint-enable no-underscore-dangle */
  553. module.exports = exports['default'];
  554. /***/ }),
  555. /* 15 */
  556. /***/ (function(module, exports, __webpack_require__) {
  557. "use strict";
  558. Object.defineProperty(exports, "__esModule", {
  559. value: true
  560. });
  561. var _react = __webpack_require__(1);
  562. var _react2 = _interopRequireDefault(_react);
  563. var _reactIs = __webpack_require__(16);
  564. var _createChainableTypeChecker = __webpack_require__(9);
  565. var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);
  566. function _interopRequireDefault(obj) {
  567. return obj && obj.__esModule ? obj : {
  568. default: obj
  569. };
  570. }
  571. function elementType(props, propName, componentName, location, propFullName) {
  572. var propValue = props[propName];
  573. if (_react2.default.isValidElement(propValue)) {
  574. return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`,expected an element type (a string ') + ', component class, or function component).');
  575. }
  576. if (!(0, _reactIs.isValidElementType)(propValue)) {
  577. return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + ', component class, or function component).');
  578. }
  579. return null;
  580. }
  581. exports.default = (0, _createChainableTypeChecker2.default)(elementType);
  582. module.exports = exports['default'];
  583. /***/ }),
  584. /* 16 */
  585. /***/ (function(module, exports, __webpack_require__) {
  586. "use strict";
  587. if (true) {
  588. module.exports = __webpack_require__(17);
  589. } else {}
  590. /***/ }),
  591. /* 17 */
  592. /***/ (function(module, exports, __webpack_require__) {
  593. "use strict";
  594. /** @license React v16.13.1
  595. * react-is.production.min.js
  596. *
  597. * Copyright (c) Facebook, Inc. and its affiliates.
  598. *
  599. * This source code is licensed under the MIT license found in the
  600. * LICENSE file in the root directory of this source tree.
  601. */
  602. var b = "function" === typeof Symbol && Symbol.for,
  603. c = b ? Symbol.for("react.element") : 60103,
  604. d = b ? Symbol.for("react.portal") : 60106,
  605. e = b ? Symbol.for("react.fragment") : 60107,
  606. f = b ? Symbol.for("react.strict_mode") : 60108,
  607. g = b ? Symbol.for("react.profiler") : 60114,
  608. h = b ? Symbol.for("react.provider") : 60109,
  609. k = b ? Symbol.for("react.context") : 60110,
  610. l = b ? Symbol.for("react.async_mode") : 60111,
  611. m = b ? Symbol.for("react.concurrent_mode") : 60111,
  612. n = b ? Symbol.for("react.forward_ref") : 60112,
  613. p = b ? Symbol.for("react.suspense") : 60113,
  614. q = b ? Symbol.for("react.suspense_list") : 60120,
  615. r = b ? Symbol.for("react.memo") : 60115,
  616. t = b ? Symbol.for("react.lazy") : 60116,
  617. v = b ? Symbol.for("react.block") : 60121,
  618. w = b ? Symbol.for("react.fundamental") : 60117,
  619. x = b ? Symbol.for("react.responder") : 60118,
  620. y = b ? Symbol.for("react.scope") : 60119;
  621. function z(a) {
  622. if ("object" === typeof a && null !== a) {
  623. var u = a.$$typeof;
  624. switch (u) {
  625. case c:
  626. switch (a = a.type, a) {
  627. case l:
  628. case m:
  629. case e:
  630. case g:
  631. case f:
  632. case p:
  633. return a;
  634. default:
  635. switch (a = a && a.$$typeof, a) {
  636. case k:
  637. case n:
  638. case t:
  639. case r:
  640. case h:
  641. return a;
  642. default:
  643. return u;
  644. }
  645. }
  646. case d:
  647. return u;
  648. }
  649. }
  650. }
  651. function A(a) {
  652. return z(a) === m;
  653. }
  654. exports.AsyncMode = l;
  655. exports.ConcurrentMode = m;
  656. exports.ContextConsumer = k;
  657. exports.ContextProvider = h;
  658. exports.Element = c;
  659. exports.ForwardRef = n;
  660. exports.Fragment = e;
  661. exports.Lazy = t;
  662. exports.Memo = r;
  663. exports.Portal = d;
  664. exports.Profiler = g;
  665. exports.StrictMode = f;
  666. exports.Suspense = p;
  667. exports.isAsyncMode = function (a) {
  668. return A(a) || z(a) === l;
  669. };
  670. exports.isConcurrentMode = A;
  671. exports.isContextConsumer = function (a) {
  672. return z(a) === k;
  673. };
  674. exports.isContextProvider = function (a) {
  675. return z(a) === h;
  676. };
  677. exports.isElement = function (a) {
  678. return "object" === typeof a && null !== a && a.$$typeof === c;
  679. };
  680. exports.isForwardRef = function (a) {
  681. return z(a) === n;
  682. };
  683. exports.isFragment = function (a) {
  684. return z(a) === e;
  685. };
  686. exports.isLazy = function (a) {
  687. return z(a) === t;
  688. };
  689. exports.isMemo = function (a) {
  690. return z(a) === r;
  691. };
  692. exports.isPortal = function (a) {
  693. return z(a) === d;
  694. };
  695. exports.isProfiler = function (a) {
  696. return z(a) === g;
  697. };
  698. exports.isStrictMode = function (a) {
  699. return z(a) === f;
  700. };
  701. exports.isSuspense = function (a) {
  702. return z(a) === p;
  703. };
  704. exports.isValidElementType = function (a) {
  705. 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);
  706. };
  707. exports.typeOf = z;
  708. /***/ }),
  709. /* 18 */
  710. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  711. "use strict";
  712. // ESM COMPAT FLAG
  713. __webpack_require__.r(__webpack_exports__);
  714. // EXPORTS
  715. __webpack_require__.d(__webpack_exports__, "Accordion", function() { return /* reexport */ src_Accordion; });
  716. __webpack_require__.d(__webpack_exports__, "AccordionToggle", function() { return /* reexport */ src_AccordionToggle; });
  717. __webpack_require__.d(__webpack_exports__, "useAccordionToggle", function() { return /* reexport */ useAccordionToggle; });
  718. __webpack_require__.d(__webpack_exports__, "AccordionCollapse", function() { return /* reexport */ src_AccordionCollapse; });
  719. __webpack_require__.d(__webpack_exports__, "Alert", function() { return /* reexport */ src_Alert; });
  720. __webpack_require__.d(__webpack_exports__, "Badge", function() { return /* reexport */ src_Badge; });
  721. __webpack_require__.d(__webpack_exports__, "Breadcrumb", function() { return /* reexport */ src_Breadcrumb; });
  722. __webpack_require__.d(__webpack_exports__, "BreadcrumbItem", function() { return /* reexport */ src_BreadcrumbItem; });
  723. __webpack_require__.d(__webpack_exports__, "Button", function() { return /* reexport */ src_Button; });
  724. __webpack_require__.d(__webpack_exports__, "ButtonGroup", function() { return /* reexport */ src_ButtonGroup; });
  725. __webpack_require__.d(__webpack_exports__, "ButtonToolbar", function() { return /* reexport */ src_ButtonToolbar; });
  726. __webpack_require__.d(__webpack_exports__, "Card", function() { return /* reexport */ src_Card; });
  727. __webpack_require__.d(__webpack_exports__, "CardColumns", function() { return /* reexport */ CardColumns; });
  728. __webpack_require__.d(__webpack_exports__, "CardDeck", function() { return /* reexport */ CardDeck; });
  729. __webpack_require__.d(__webpack_exports__, "CardImg", function() { return /* reexport */ src_CardImg; });
  730. __webpack_require__.d(__webpack_exports__, "CardGroup", function() { return /* reexport */ CardGroup; });
  731. __webpack_require__.d(__webpack_exports__, "Carousel", function() { return /* reexport */ src_Carousel; });
  732. __webpack_require__.d(__webpack_exports__, "CarouselItem", function() { return /* reexport */ CarouselItem; });
  733. __webpack_require__.d(__webpack_exports__, "CloseButton", function() { return /* reexport */ src_CloseButton; });
  734. __webpack_require__.d(__webpack_exports__, "Col", function() { return /* reexport */ src_Col; });
  735. __webpack_require__.d(__webpack_exports__, "Collapse", function() { return /* reexport */ src_Collapse; });
  736. __webpack_require__.d(__webpack_exports__, "Dropdown", function() { return /* reexport */ src_Dropdown; });
  737. __webpack_require__.d(__webpack_exports__, "DropdownButton", function() { return /* reexport */ src_DropdownButton; });
  738. __webpack_require__.d(__webpack_exports__, "DropdownItem", function() { return /* reexport */ src_DropdownItem; });
  739. __webpack_require__.d(__webpack_exports__, "Fade", function() { return /* reexport */ src_Fade; });
  740. __webpack_require__.d(__webpack_exports__, "Form", function() { return /* reexport */ src_Form; });
  741. __webpack_require__.d(__webpack_exports__, "FormControl", function() { return /* reexport */ src_FormControl; });
  742. __webpack_require__.d(__webpack_exports__, "FormCheck", function() { return /* reexport */ src_FormCheck; });
  743. __webpack_require__.d(__webpack_exports__, "FormFile", function() { return /* reexport */ src_FormFile; });
  744. __webpack_require__.d(__webpack_exports__, "Switch", function() { return /* reexport */ src_Switch; });
  745. __webpack_require__.d(__webpack_exports__, "FormGroup", function() { return /* reexport */ src_FormGroup; });
  746. __webpack_require__.d(__webpack_exports__, "FormLabel", function() { return /* reexport */ src_FormLabel; });
  747. __webpack_require__.d(__webpack_exports__, "FormText", function() { return /* reexport */ src_FormText; });
  748. __webpack_require__.d(__webpack_exports__, "Container", function() { return /* reexport */ src_Container; });
  749. __webpack_require__.d(__webpack_exports__, "Image", function() { return /* reexport */ src_Image; });
  750. __webpack_require__.d(__webpack_exports__, "Figure", function() { return /* reexport */ src_Figure; });
  751. __webpack_require__.d(__webpack_exports__, "InputGroup", function() { return /* reexport */ src_InputGroup; });
  752. __webpack_require__.d(__webpack_exports__, "Jumbotron", function() { return /* reexport */ src_Jumbotron; });
  753. __webpack_require__.d(__webpack_exports__, "ListGroup", function() { return /* reexport */ src_ListGroup; });
  754. __webpack_require__.d(__webpack_exports__, "ListGroupItem", function() { return /* reexport */ src_ListGroupItem; });
  755. __webpack_require__.d(__webpack_exports__, "Media", function() { return /* reexport */ src_Media; });
  756. __webpack_require__.d(__webpack_exports__, "Modal", function() { return /* reexport */ src_Modal; });
  757. __webpack_require__.d(__webpack_exports__, "ModalBody", function() { return /* reexport */ ModalBody; });
  758. __webpack_require__.d(__webpack_exports__, "ModalDialog", function() { return /* reexport */ src_ModalDialog; });
  759. __webpack_require__.d(__webpack_exports__, "ModalFooter", function() { return /* reexport */ ModalFooter; });
  760. __webpack_require__.d(__webpack_exports__, "ModalTitle", function() { return /* reexport */ ModalTitle; });
  761. __webpack_require__.d(__webpack_exports__, "Nav", function() { return /* reexport */ src_Nav; });
  762. __webpack_require__.d(__webpack_exports__, "Navbar", function() { return /* reexport */ src_Navbar; });
  763. __webpack_require__.d(__webpack_exports__, "NavbarBrand", function() { return /* reexport */ src_NavbarBrand; });
  764. __webpack_require__.d(__webpack_exports__, "NavDropdown", function() { return /* reexport */ src_NavDropdown; });
  765. __webpack_require__.d(__webpack_exports__, "NavItem", function() { return /* reexport */ src_NavItem; });
  766. __webpack_require__.d(__webpack_exports__, "NavLink", function() { return /* reexport */ src_NavLink; });
  767. __webpack_require__.d(__webpack_exports__, "Overlay", function() { return /* reexport */ src_Overlay; });
  768. __webpack_require__.d(__webpack_exports__, "OverlayTrigger", function() { return /* reexport */ src_OverlayTrigger; });
  769. __webpack_require__.d(__webpack_exports__, "PageItem", function() { return /* reexport */ src_PageItem; });
  770. __webpack_require__.d(__webpack_exports__, "Pagination", function() { return /* reexport */ src_Pagination; });
  771. __webpack_require__.d(__webpack_exports__, "Popover", function() { return /* reexport */ src_Popover; });
  772. __webpack_require__.d(__webpack_exports__, "PopoverContent", function() { return /* reexport */ src_PopoverContent; });
  773. __webpack_require__.d(__webpack_exports__, "PopoverTitle", function() { return /* reexport */ src_PopoverTitle; });
  774. __webpack_require__.d(__webpack_exports__, "ProgressBar", function() { return /* reexport */ src_ProgressBar; });
  775. __webpack_require__.d(__webpack_exports__, "ResponsiveEmbed", function() { return /* reexport */ src_ResponsiveEmbed; });
  776. __webpack_require__.d(__webpack_exports__, "Row", function() { return /* reexport */ src_Row; });
  777. __webpack_require__.d(__webpack_exports__, "SafeAnchor", function() { return /* reexport */ src_SafeAnchor; });
  778. __webpack_require__.d(__webpack_exports__, "Spinner", function() { return /* reexport */ src_Spinner; });
  779. __webpack_require__.d(__webpack_exports__, "SplitButton", function() { return /* reexport */ src_SplitButton; });
  780. __webpack_require__.d(__webpack_exports__, "Tab", function() { return /* reexport */ src_Tab; });
  781. __webpack_require__.d(__webpack_exports__, "TabContainer", function() { return /* reexport */ src_TabContainer; });
  782. __webpack_require__.d(__webpack_exports__, "TabContent", function() { return /* reexport */ src_TabContent; });
  783. __webpack_require__.d(__webpack_exports__, "Table", function() { return /* reexport */ src_Table; });
  784. __webpack_require__.d(__webpack_exports__, "TabPane", function() { return /* reexport */ src_TabPane; });
  785. __webpack_require__.d(__webpack_exports__, "Tabs", function() { return /* reexport */ src_Tabs; });
  786. __webpack_require__.d(__webpack_exports__, "ThemeProvider", function() { return /* reexport */ src_ThemeProvider; });
  787. __webpack_require__.d(__webpack_exports__, "ToggleButton", function() { return /* reexport */ src_ToggleButton; });
  788. __webpack_require__.d(__webpack_exports__, "ToggleButtonGroup", function() { return /* reexport */ src_ToggleButtonGroup; });
  789. __webpack_require__.d(__webpack_exports__, "Tooltip", function() { return /* reexport */ src_Tooltip; });
  790. __webpack_require__.d(__webpack_exports__, "Toast", function() { return /* reexport */ src_Toast; });
  791. __webpack_require__.d(__webpack_exports__, "ToastBody", function() { return /* reexport */ ToastBody; });
  792. __webpack_require__.d(__webpack_exports__, "ToastHeader", function() { return /* reexport */ src_ToastHeader; });
  793. // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
  794. function _extends() {
  795. _extends = Object.assign || function (target) {
  796. for (var i = 1; i < arguments.length; i++) {
  797. var source = arguments[i];
  798. for (var key in source) {
  799. if (Object.prototype.hasOwnProperty.call(source, key)) {
  800. target[key] = source[key];
  801. }
  802. }
  803. }
  804. return target;
  805. };
  806. return _extends.apply(this, arguments);
  807. }
  808. // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
  809. function _objectWithoutPropertiesLoose(source, excluded) {
  810. if (source == null) return {};
  811. var target = {};
  812. var sourceKeys = Object.keys(source);
  813. var key, i;
  814. for (i = 0; i < sourceKeys.length; i++) {
  815. key = sourceKeys[i];
  816. if (excluded.indexOf(key) >= 0) continue;
  817. target[key] = source[key];
  818. }
  819. return target;
  820. }
  821. // EXTERNAL MODULE: ./node_modules/classnames/index.js
  822. var classnames = __webpack_require__(2);
  823. var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
  824. // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"}
  825. var external_root_React_commonjs2_react_commonjs_react_amd_react_ = __webpack_require__(1);
  826. var external_root_React_commonjs2_react_commonjs_react_amd_react_default = /*#__PURE__*/__webpack_require__.n(external_root_React_commonjs2_react_commonjs_react_amd_react_);
  827. // EXTERNAL MODULE: ./node_modules/prop-types/index.js
  828. var prop_types = __webpack_require__(0);
  829. var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
  830. // EXTERNAL MODULE: ./node_modules/invariant/browser.js
  831. var browser = __webpack_require__(7);
  832. var browser_default = /*#__PURE__*/__webpack_require__.n(browser);
  833. // CONCATENATED MODULE: ./node_modules/uncontrollable/esm/utils.js
  834. var noop = function noop() {};
  835. function readOnlyPropType(handler, name) {
  836. return function (props, propName) {
  837. if (props[propName] !== undefined) {
  838. if (!props[handler]) {
  839. 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 + "`."));
  840. }
  841. }
  842. };
  843. }
  844. function uncontrolledPropTypes(controlledValues, displayName) {
  845. var propTypes = {};
  846. Object.keys(controlledValues).forEach(function (prop) {
  847. // add default propTypes for folks that use runtime checks
  848. propTypes[defaultKey(prop)] = noop;
  849. if (false) { var handler; }
  850. });
  851. return propTypes;
  852. }
  853. function utils_isProp(props, prop) {
  854. return props[prop] !== undefined;
  855. }
  856. function defaultKey(key) {
  857. return 'default' + key.charAt(0).toUpperCase() + key.substr(1);
  858. }
  859. /**
  860. * Copyright (c) 2013-present, Facebook, Inc.
  861. * All rights reserved.
  862. *
  863. * This source code is licensed under the BSD-style license found in the
  864. * LICENSE file in the root directory of this source tree. An additional grant
  865. * of patent rights can be found in the PATENTS file in the same directory.
  866. */
  867. function utils_canAcceptRef(component) {
  868. return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);
  869. }
  870. // CONCATENATED MODULE: ./node_modules/uncontrollable/esm/hook.js
  871. function _toPropertyKey(arg) {
  872. var key = _toPrimitive(arg, "string");
  873. return typeof key === "symbol" ? key : String(key);
  874. }
  875. function _toPrimitive(input, hint) {
  876. if (typeof input !== "object" || input === null) return input;
  877. var prim = input[Symbol.toPrimitive];
  878. if (prim !== undefined) {
  879. var res = prim.call(input, hint || "default");
  880. if (typeof res !== "object") return res;
  881. throw new TypeError("@@toPrimitive must return a primitive value.");
  882. }
  883. return (hint === "string" ? String : Number)(input);
  884. }
  885. function useUncontrolledProp(propValue, defaultValue, handler) {
  886. var wasPropRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(propValue !== undefined);
  887. var _useState = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(defaultValue),
  888. stateValue = _useState[0],
  889. setState = _useState[1];
  890. var isProp = propValue !== undefined;
  891. var wasProp = wasPropRef.current;
  892. wasPropRef.current = isProp;
  893. /**
  894. * If a prop switches from controlled to Uncontrolled
  895. * reset its value to the defaultValue
  896. */
  897. if (!isProp && wasProp && stateValue !== defaultValue) {
  898. setState(defaultValue);
  899. }
  900. return [isProp ? propValue : stateValue, Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (value) {
  901. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  902. args[_key - 1] = arguments[_key];
  903. }
  904. if (handler) handler.apply(void 0, [value].concat(args));
  905. setState(value);
  906. }, [handler])];
  907. }
  908. function useUncontrolled(props, config) {
  909. return Object.keys(config).reduce(function (result, fieldName) {
  910. var _extends2;
  911. var _ref = result,
  912. defaultValue = _ref[defaultKey(fieldName)],
  913. propsValue = _ref[fieldName],
  914. rest = _objectWithoutPropertiesLoose(_ref, [defaultKey(fieldName), fieldName].map(_toPropertyKey));
  915. var handlerName = config[fieldName];
  916. var _useUncontrolledProp = useUncontrolledProp(propsValue, defaultValue, props[handlerName]),
  917. value = _useUncontrolledProp[0],
  918. handler = _useUncontrolledProp[1];
  919. return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = value, _extends2[handlerName] = handler, _extends2));
  920. }, props);
  921. }
  922. // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js
  923. function _inheritsLoose(subClass, superClass) {
  924. subClass.prototype = Object.create(superClass.prototype);
  925. subClass.prototype.constructor = subClass;
  926. subClass.__proto__ = superClass;
  927. }
  928. // CONCATENATED MODULE: ./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js
  929. /**
  930. * Copyright (c) 2013-present, Facebook, Inc.
  931. *
  932. * This source code is licensed under the MIT license found in the
  933. * LICENSE file in the root directory of this source tree.
  934. */
  935. function componentWillMount() {
  936. // Call this.constructor.gDSFP to support sub-classes.
  937. var state = this.constructor.getDerivedStateFromProps(this.props, this.state);
  938. if (state !== null && state !== undefined) {
  939. this.setState(state);
  940. }
  941. }
  942. function componentWillReceiveProps(nextProps) {
  943. // Call this.constructor.gDSFP to support sub-classes.
  944. // Use the setState() updater to ensure state isn't stale in certain edge cases.
  945. function updater(prevState) {
  946. var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);
  947. return state !== null && state !== undefined ? state : null;
  948. } // Binding "this" is important for shallow renderer support.
  949. this.setState(updater.bind(this));
  950. }
  951. function componentWillUpdate(nextProps, nextState) {
  952. try {
  953. var prevProps = this.props;
  954. var prevState = this.state;
  955. this.props = nextProps;
  956. this.state = nextState;
  957. this.__reactInternalSnapshotFlag = true;
  958. this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(prevProps, prevState);
  959. } finally {
  960. this.props = prevProps;
  961. this.state = prevState;
  962. }
  963. } // React may warn about cWM/cWRP/cWU methods being deprecated.
  964. // Add a flag to suppress these warnings for this special case.
  965. componentWillMount.__suppressDeprecationWarning = true;
  966. componentWillReceiveProps.__suppressDeprecationWarning = true;
  967. componentWillUpdate.__suppressDeprecationWarning = true;
  968. function polyfill(Component) {
  969. var prototype = Component.prototype;
  970. if (!prototype || !prototype.isReactComponent) {
  971. throw new Error('Can only polyfill class components');
  972. }
  973. if (typeof Component.getDerivedStateFromProps !== 'function' && typeof prototype.getSnapshotBeforeUpdate !== 'function') {
  974. return Component;
  975. } // If new component APIs are defined, "unsafe" lifecycles won't be called.
  976. // Error if any of these lifecycles are present,
  977. // Because they would work differently between older and newer (16.3+) versions of React.
  978. var foundWillMountName = null;
  979. var foundWillReceivePropsName = null;
  980. var foundWillUpdateName = null;
  981. if (typeof prototype.componentWillMount === 'function') {
  982. foundWillMountName = 'componentWillMount';
  983. } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {
  984. foundWillMountName = 'UNSAFE_componentWillMount';
  985. }
  986. if (typeof prototype.componentWillReceiveProps === 'function') {
  987. foundWillReceivePropsName = 'componentWillReceiveProps';
  988. } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {
  989. foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';
  990. }
  991. if (typeof prototype.componentWillUpdate === 'function') {
  992. foundWillUpdateName = 'componentWillUpdate';
  993. } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {
  994. foundWillUpdateName = 'UNSAFE_componentWillUpdate';
  995. }
  996. if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {
  997. var componentName = Component.displayName || Component.name;
  998. var newApiName = typeof Component.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';
  999. 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');
  1000. } // React <= 16.2 does not support static getDerivedStateFromProps.
  1001. // As a workaround, use cWM and cWRP to invoke the new static lifecycle.
  1002. // Newer versions of React will ignore these lifecycles if gDSFP exists.
  1003. if (typeof Component.getDerivedStateFromProps === 'function') {
  1004. prototype.componentWillMount = componentWillMount;
  1005. prototype.componentWillReceiveProps = componentWillReceiveProps;
  1006. } // React <= 16.2 does not support getSnapshotBeforeUpdate.
  1007. // As a workaround, use cWU to invoke the new lifecycle.
  1008. // Newer versions of React will ignore that lifecycle if gSBU exists.
  1009. if (typeof prototype.getSnapshotBeforeUpdate === 'function') {
  1010. if (typeof prototype.componentDidUpdate !== 'function') {
  1011. throw new Error('Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype');
  1012. }
  1013. prototype.componentWillUpdate = componentWillUpdate;
  1014. var componentDidUpdate = prototype.componentDidUpdate;
  1015. prototype.componentDidUpdate = function componentDidUpdatePolyfill(prevProps, prevState, maybeSnapshot) {
  1016. // 16.3+ will not execute our will-update method;
  1017. // It will pass a snapshot value to did-update though.
  1018. // Older versions will require our polyfilled will-update value.
  1019. // We need to handle both cases, but can't just check for the presence of "maybeSnapshot",
  1020. // Because for <= 15.x versions this might be a "prevContext" object.
  1021. // We also can't just check "__reactInternalSnapshot",
  1022. // Because get-snapshot might return a falsy value.
  1023. // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.
  1024. var snapshot = this.__reactInternalSnapshotFlag ? this.__reactInternalSnapshot : maybeSnapshot;
  1025. componentDidUpdate.call(this, prevProps, prevState, snapshot);
  1026. };
  1027. }
  1028. return Component;
  1029. }
  1030. // CONCATENATED MODULE: ./node_modules/uncontrollable/esm/uncontrollable.js
  1031. function uncontrollable(Component, controlledValues, methods) {
  1032. if (methods === void 0) {
  1033. methods = [];
  1034. }
  1035. var displayName = Component.displayName || Component.name || 'Component';
  1036. var canAcceptRef = utils_canAcceptRef(Component);
  1037. var controlledProps = Object.keys(controlledValues);
  1038. var PROPS_TO_OMIT = controlledProps.map(defaultKey);
  1039. !(canAcceptRef || !methods.length) ? false ? undefined : browser_default()(false) : void 0;
  1040. var UncontrolledComponent = /*#__PURE__*/function (_React$Component) {
  1041. _inheritsLoose(UncontrolledComponent, _React$Component);
  1042. function UncontrolledComponent() {
  1043. var _this;
  1044. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  1045. args[_key] = arguments[_key];
  1046. }
  1047. _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
  1048. _this.handlers = Object.create(null);
  1049. controlledProps.forEach(function (propName) {
  1050. var handlerName = controlledValues[propName];
  1051. var handleChange = function handleChange(value) {
  1052. if (_this.props[handlerName]) {
  1053. var _this$props;
  1054. _this._notifying = true;
  1055. for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
  1056. args[_key2 - 1] = arguments[_key2];
  1057. }
  1058. (_this$props = _this.props)[handlerName].apply(_this$props, [value].concat(args));
  1059. _this._notifying = false;
  1060. }
  1061. if (!_this.unmounted) _this.setState(function (_ref) {
  1062. var _extends2;
  1063. var values = _ref.values;
  1064. return {
  1065. values: _extends(Object.create(null), values, (_extends2 = {}, _extends2[propName] = value, _extends2))
  1066. };
  1067. });
  1068. };
  1069. _this.handlers[handlerName] = handleChange;
  1070. });
  1071. if (methods.length) _this.attachRef = function (ref) {
  1072. _this.inner = ref;
  1073. };
  1074. var values = Object.create(null);
  1075. controlledProps.forEach(function (key) {
  1076. values[key] = _this.props[defaultKey(key)];
  1077. });
  1078. _this.state = {
  1079. values: values,
  1080. prevProps: {}
  1081. };
  1082. return _this;
  1083. }
  1084. var _proto = UncontrolledComponent.prototype;
  1085. _proto.shouldComponentUpdate = function shouldComponentUpdate() {
  1086. //let setState trigger the update
  1087. return !this._notifying;
  1088. };
  1089. UncontrolledComponent.getDerivedStateFromProps = function getDerivedStateFromProps(props, _ref2) {
  1090. var values = _ref2.values,
  1091. prevProps = _ref2.prevProps;
  1092. var nextState = {
  1093. values: _extends(Object.create(null), values),
  1094. prevProps: {}
  1095. };
  1096. controlledProps.forEach(function (key) {
  1097. /**
  1098. * If a prop switches from controlled to Uncontrolled
  1099. * reset its value to the defaultValue
  1100. */
  1101. nextState.prevProps[key] = props[key];
  1102. if (!utils_isProp(props, key) && utils_isProp(prevProps, key)) {
  1103. nextState.values[key] = props[defaultKey(key)];
  1104. }
  1105. });
  1106. return nextState;
  1107. };
  1108. _proto.componentWillUnmount = function componentWillUnmount() {
  1109. this.unmounted = true;
  1110. };
  1111. _proto.render = function render() {
  1112. var _this2 = this;
  1113. var _this$props2 = this.props,
  1114. innerRef = _this$props2.innerRef,
  1115. props = _objectWithoutPropertiesLoose(_this$props2, ["innerRef"]);
  1116. PROPS_TO_OMIT.forEach(function (prop) {
  1117. delete props[prop];
  1118. });
  1119. var newProps = {};
  1120. controlledProps.forEach(function (propName) {
  1121. var propValue = _this2.props[propName];
  1122. newProps[propName] = propValue !== undefined ? propValue : _this2.state.values[propName];
  1123. });
  1124. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, newProps, this.handlers, {
  1125. ref: innerRef || this.attachRef
  1126. }));
  1127. };
  1128. return UncontrolledComponent;
  1129. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  1130. polyfill(UncontrolledComponent);
  1131. UncontrolledComponent.displayName = "Uncontrolled(" + displayName + ")";
  1132. UncontrolledComponent.propTypes = _extends({
  1133. innerRef: function innerRef() {}
  1134. }, uncontrolledPropTypes(controlledValues, displayName));
  1135. methods.forEach(function (method) {
  1136. UncontrolledComponent.prototype[method] = function $proxiedMethod() {
  1137. var _this$inner;
  1138. return (_this$inner = this.inner)[method].apply(_this$inner, arguments);
  1139. };
  1140. });
  1141. var WrappedComponent = UncontrolledComponent;
  1142. if (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef) {
  1143. WrappedComponent = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  1144. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(UncontrolledComponent, _extends({}, props, {
  1145. innerRef: ref
  1146. }));
  1147. });
  1148. WrappedComponent.propTypes = UncontrolledComponent.propTypes;
  1149. }
  1150. WrappedComponent.ControlledComponent = Component;
  1151. /**
  1152. * useful when wrapping a Component and you want to control
  1153. * everything
  1154. */
  1155. WrappedComponent.deferControlTo = function (newComponent, additions, nextMethods) {
  1156. if (additions === void 0) {
  1157. additions = {};
  1158. }
  1159. return uncontrollable(newComponent, _extends({}, controlledValues, additions), nextMethods);
  1160. };
  1161. return WrappedComponent;
  1162. }
  1163. // CONCATENATED MODULE: ./node_modules/uncontrollable/esm/index.js
  1164. // EXTERNAL MODULE: ./node_modules/@restart/context/forwardRef.js
  1165. var forwardRef = __webpack_require__(10);
  1166. var forwardRef_default = /*#__PURE__*/__webpack_require__.n(forwardRef);
  1167. // CONCATENATED MODULE: ./src/ThemeProvider.js
  1168. var _jsxFileName = "/Users/jquense/src/react-bootstrap/src/ThemeProvider.js";
  1169. var ThemeContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext({});
  1170. var Consumer = ThemeContext.Consumer,
  1171. Provider = ThemeContext.Provider;
  1172. function ThemeProvider(_ref) {
  1173. var prefixes = _ref.prefixes,
  1174. children = _ref.children;
  1175. var copiedPrefixes = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  1176. return _extends({}, prefixes);
  1177. }, [prefixes]);
  1178. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Provider, {
  1179. value: copiedPrefixes,
  1180. __self: this,
  1181. __source: {
  1182. fileName: _jsxFileName,
  1183. lineNumber: 11,
  1184. columnNumber: 10
  1185. }
  1186. }, children);
  1187. }
  1188. ThemeProvider.propTypes = {
  1189. prefixes: prop_types_default.a.object.isRequired
  1190. };
  1191. function useBootstrapPrefix(prefix, defaultPrefix) {
  1192. var prefixes = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(ThemeContext);
  1193. return prefix || prefixes[defaultPrefix] || defaultPrefix;
  1194. }
  1195. function createBootstrapComponent(Component, opts) {
  1196. var _this = this;
  1197. if (typeof opts === 'string') opts = {
  1198. prefix: opts
  1199. };
  1200. var isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref
  1201. var _opts = opts,
  1202. prefix = _opts.prefix,
  1203. _opts$forwardRefAs = _opts.forwardRefAs,
  1204. forwardRefAs = _opts$forwardRefAs === void 0 ? isClassy ? 'ref' : 'innerRef' : _opts$forwardRefAs;
  1205. return forwardRef_default()(function (_ref2, ref) {
  1206. var props = _extends({}, _ref2);
  1207. props[forwardRefAs] = ref; // eslint-disable-next-line react/prop-types
  1208. var bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);
  1209. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  1210. bsPrefix: bsPrefix,
  1211. __self: _this,
  1212. __source: {
  1213. fileName: _jsxFileName,
  1214. lineNumber: 34,
  1215. columnNumber: 14
  1216. }
  1217. }));
  1218. }, {
  1219. displayName: "Bootstrap(" + (Component.displayName || Component.name) + ")"
  1220. });
  1221. }
  1222. /* harmony default export */ var src_ThemeProvider = (ThemeProvider);
  1223. // CONCATENATED MODULE: ./src/SelectableContext.js
  1224. var SelectableContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext();
  1225. var makeEventKey = function makeEventKey(eventKey, href) {
  1226. if (eventKey != null) return String(eventKey);
  1227. return href || null;
  1228. };
  1229. /* harmony default export */ var src_SelectableContext = (SelectableContext);
  1230. // CONCATENATED MODULE: ./src/AccordionContext.js
  1231. /* harmony default export */ var AccordionContext = (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null));
  1232. // CONCATENATED MODULE: ./src/AccordionToggle.js
  1233. var AccordionToggle_this = undefined,
  1234. AccordionToggle_jsxFileName = "/Users/jquense/src/react-bootstrap/src/AccordionToggle.js";
  1235. var propTypes = {
  1236. /** Set a custom element for this component */
  1237. as: prop_types_default.a.elementType,
  1238. /**
  1239. * A key that corresponds to the collapse component that gets triggered
  1240. * when this has been clicked.
  1241. */
  1242. eventKey: prop_types_default.a.string.isRequired,
  1243. /** A callback function for when this component is clicked */
  1244. onClick: prop_types_default.a.func,
  1245. /** Children prop should only contain a single child, and is enforced as such */
  1246. children: prop_types_default.a.element
  1247. };
  1248. function useAccordionToggle(eventKey, onClick) {
  1249. var contextEventKey = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(AccordionContext);
  1250. var onSelect = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_SelectableContext);
  1251. return function (e) {
  1252. /*
  1253. Compare the event key in context with the given event key.
  1254. If they are the same, then collapse the component.
  1255. */
  1256. var eventKeyPassed = eventKey === contextEventKey ? null : eventKey;
  1257. onSelect(eventKeyPassed, e);
  1258. if (onClick) onClick(e);
  1259. };
  1260. }
  1261. var AccordionToggle = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  1262. var _ref$as = _ref.as,
  1263. Component = _ref$as === void 0 ? 'button' : _ref$as,
  1264. children = _ref.children,
  1265. eventKey = _ref.eventKey,
  1266. onClick = _ref.onClick,
  1267. props = _objectWithoutPropertiesLoose(_ref, ["as", "children", "eventKey", "onClick"]);
  1268. var accordionOnClick = useAccordionToggle(eventKey, onClick);
  1269. if (Component === 'button') {
  1270. props.type = 'button';
  1271. }
  1272. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  1273. ref: ref,
  1274. onClick: accordionOnClick
  1275. }, props, {
  1276. __self: AccordionToggle_this,
  1277. __source: {
  1278. fileName: AccordionToggle_jsxFileName,
  1279. lineNumber: 58,
  1280. columnNumber: 7
  1281. }
  1282. }), children);
  1283. });
  1284. AccordionToggle.propTypes = propTypes;
  1285. /* harmony default export */ var src_AccordionToggle = (AccordionToggle);
  1286. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/ownerDocument.js
  1287. function ownerDocument(node) {
  1288. return node && node.ownerDocument || document;
  1289. }
  1290. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/ownerWindow.js
  1291. function ownerWindow(node) {
  1292. var doc = ownerDocument(node);
  1293. return doc && doc.defaultView || window;
  1294. }
  1295. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/getComputedStyle.js
  1296. function getComputedStyle_getComputedStyle(node, psuedoElement) {
  1297. return ownerWindow(node).getComputedStyle(node, psuedoElement);
  1298. }
  1299. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/hyphenate.js
  1300. var rUpper = /([A-Z])/g;
  1301. function hyphenate(string) {
  1302. return string.replace(rUpper, '-$1').toLowerCase();
  1303. }
  1304. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/hyphenateStyle.js
  1305. /**
  1306. * Copyright 2013-2014, Facebook, Inc.
  1307. * All rights reserved.
  1308. * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js
  1309. */
  1310. var msPattern = /^ms-/;
  1311. function hyphenateStyleName(string) {
  1312. return hyphenate(string).replace(msPattern, '-ms-');
  1313. }
  1314. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/isTransform.js
  1315. var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;
  1316. function isTransform(value) {
  1317. return !!(value && supportedTransforms.test(value));
  1318. }
  1319. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/css.js
  1320. function css_style(node, property) {
  1321. var css = '';
  1322. var transforms = '';
  1323. if (typeof property === 'string') {
  1324. return node.style.getPropertyValue(hyphenateStyleName(property)) || getComputedStyle_getComputedStyle(node).getPropertyValue(hyphenateStyleName(property));
  1325. }
  1326. Object.keys(property).forEach(function (key) {
  1327. var value = property[key];
  1328. if (!value && value !== 0) {
  1329. node.style.removeProperty(hyphenateStyleName(key));
  1330. } else if (isTransform(key)) {
  1331. transforms += key + "(" + value + ") ";
  1332. } else {
  1333. css += hyphenateStyleName(key) + ": " + value + ";";
  1334. }
  1335. });
  1336. if (transforms) {
  1337. css += "transform: " + transforms + ";";
  1338. }
  1339. node.style.cssText += ";" + css;
  1340. }
  1341. /* harmony default export */ var esm_css = (css_style);
  1342. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/canUseDOM.js
  1343. /* harmony default export */ var canUseDOM = (!!(typeof window !== 'undefined' && window.document && window.document.createElement));
  1344. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/addEventListener.js
  1345. /* eslint-disable no-return-assign */
  1346. var optionsSupported = false;
  1347. var onceSupported = false;
  1348. try {
  1349. var addEventListener_options = {
  1350. get passive() {
  1351. return optionsSupported = true;
  1352. },
  1353. get once() {
  1354. // eslint-disable-next-line no-multi-assign
  1355. return onceSupported = optionsSupported = true;
  1356. }
  1357. };
  1358. if (canUseDOM) {
  1359. window.addEventListener('test', addEventListener_options, addEventListener_options);
  1360. window.removeEventListener('test', addEventListener_options, true);
  1361. }
  1362. } catch (e) {}
  1363. /* */
  1364. /**
  1365. * An `addEventListener` ponyfill, supports the `once` option
  1366. */
  1367. function addEventListener(node, eventName, handler, options) {
  1368. if (options && typeof options !== 'boolean' && !onceSupported) {
  1369. var once = options.once,
  1370. capture = options.capture;
  1371. var wrappedHandler = handler;
  1372. if (!onceSupported && once) {
  1373. wrappedHandler = handler.__once || function onceHandler(event) {
  1374. this.removeEventListener(eventName, onceHandler, capture);
  1375. handler.call(this, event);
  1376. };
  1377. handler.__once = wrappedHandler;
  1378. }
  1379. node.addEventListener(eventName, wrappedHandler, optionsSupported ? options : capture);
  1380. }
  1381. node.addEventListener(eventName, handler, options);
  1382. }
  1383. /* harmony default export */ var esm_addEventListener = (addEventListener);
  1384. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/removeEventListener.js
  1385. function removeEventListener(node, eventName, handler, options) {
  1386. var capture = options && typeof options !== 'boolean' ? options.capture : options;
  1387. node.removeEventListener(eventName, handler, capture);
  1388. if (handler.__once) {
  1389. node.removeEventListener(eventName, handler.__once, capture);
  1390. }
  1391. }
  1392. /* harmony default export */ var esm_removeEventListener = (removeEventListener);
  1393. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/listen.js
  1394. function listen(node, eventName, handler, options) {
  1395. esm_addEventListener(node, eventName, handler, options);
  1396. return function () {
  1397. esm_removeEventListener(node, eventName, handler, options);
  1398. };
  1399. }
  1400. /* harmony default export */ var esm_listen = (listen);
  1401. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/transitionEnd.js
  1402. var TRANSITION_SUPPORTED = canUseDOM && 'ontransitionend' in window;
  1403. function parseDuration(node) {
  1404. var str = esm_css(node, 'transitionDuration') || '';
  1405. var mult = str.indexOf('ms') === -1 ? 1000 : 1;
  1406. return parseFloat(str) * mult;
  1407. }
  1408. function triggerTransitionEnd(element) {
  1409. var evt = document.createEvent('HTMLEvents');
  1410. evt.initEvent('transitionend', true, true);
  1411. element.dispatchEvent(evt);
  1412. }
  1413. function emulateTransitionEnd(element, duration, padding) {
  1414. if (padding === void 0) {
  1415. padding = 5;
  1416. }
  1417. var called = false;
  1418. var handle = setTimeout(function () {
  1419. if (!called) triggerTransitionEnd(element);
  1420. }, duration + padding);
  1421. var remove = esm_listen(element, 'transitionend', function () {
  1422. called = true;
  1423. }, {
  1424. once: true
  1425. });
  1426. return function () {
  1427. clearTimeout(handle);
  1428. remove();
  1429. };
  1430. }
  1431. function transitionEnd(element, handler, duration) {
  1432. if (duration == null) duration = parseDuration(element) || 0;
  1433. var removeEmulate = emulateTransitionEnd(element, duration);
  1434. var remove = esm_listen(element, 'transitionend', handler);
  1435. return function () {
  1436. removeEmulate();
  1437. remove();
  1438. };
  1439. }
  1440. /* harmony default export */ var esm_transitionEnd = (transitionEnd);
  1441. // EXTERNAL MODULE: external {"root":"ReactDOM","commonjs2":"react-dom","commonjs":"react-dom","amd":"react-dom"}
  1442. var external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_ = __webpack_require__(6);
  1443. 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_);
  1444. // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/config.js
  1445. /* harmony default export */ var esm_config = ({
  1446. disabled: false
  1447. });
  1448. // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/TransitionGroupContext.js
  1449. /* harmony default export */ var TransitionGroupContext = (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null));
  1450. // CONCATENATED MODULE: ./node_modules/react-transition-group/esm/Transition.js
  1451. var UNMOUNTED = 'unmounted';
  1452. var EXITED = 'exited';
  1453. var ENTERING = 'entering';
  1454. var ENTERED = 'entered';
  1455. var EXITING = 'exiting';
  1456. /**
  1457. * The Transition component lets you describe a transition from one component
  1458. * state to another _over time_ with a simple declarative API. Most commonly
  1459. * it's used to animate the mounting and unmounting of a component, but can also
  1460. * be used to describe in-place transition states as well.
  1461. *
  1462. * ---
  1463. *
  1464. * **Note**: `Transition` is a platform-agnostic base component. If you're using
  1465. * transitions in CSS, you'll probably want to use
  1466. * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)
  1467. * instead. It inherits all the features of `Transition`, but contains
  1468. * additional features necessary to play nice with CSS transitions (hence the
  1469. * name of the component).
  1470. *
  1471. * ---
  1472. *
  1473. * By default the `Transition` component does not alter the behavior of the
  1474. * component it renders, it only tracks "enter" and "exit" states for the
  1475. * components. It's up to you to give meaning and effect to those states. For
  1476. * example we can add styles to a component when it enters or exits:
  1477. *
  1478. * ```jsx
  1479. * import { Transition } from 'react-transition-group';
  1480. *
  1481. * const duration = 300;
  1482. *
  1483. * const defaultStyle = {
  1484. * transition: `opacity ${duration}ms ease-in-out`,
  1485. * opacity: 0,
  1486. * }
  1487. *
  1488. * const transitionStyles = {
  1489. * entering: { opacity: 1 },
  1490. * entered: { opacity: 1 },
  1491. * exiting: { opacity: 0 },
  1492. * exited: { opacity: 0 },
  1493. * };
  1494. *
  1495. * const Fade = ({ in: inProp }) => (
  1496. * <Transition in={inProp} timeout={duration}>
  1497. * {state => (
  1498. * <div style={{
  1499. * ...defaultStyle,
  1500. * ...transitionStyles[state]
  1501. * }}>
  1502. * I'm a fade Transition!
  1503. * </div>
  1504. * )}
  1505. * </Transition>
  1506. * );
  1507. * ```
  1508. *
  1509. * There are 4 main states a Transition can be in:
  1510. * - `'entering'`
  1511. * - `'entered'`
  1512. * - `'exiting'`
  1513. * - `'exited'`
  1514. *
  1515. * Transition state is toggled via the `in` prop. When `true` the component
  1516. * begins the "Enter" stage. During this stage, the component will shift from
  1517. * its current transition state, to `'entering'` for the duration of the
  1518. * transition and then to the `'entered'` stage once it's complete. Let's take
  1519. * the following example (we'll use the
  1520. * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):
  1521. *
  1522. * ```jsx
  1523. * function App() {
  1524. * const [inProp, setInProp] = useState(false);
  1525. * return (
  1526. * <div>
  1527. * <Transition in={inProp} timeout={500}>
  1528. * {state => (
  1529. * // ...
  1530. * )}
  1531. * </Transition>
  1532. * <button onClick={() => setInProp(true)}>
  1533. * Click to Enter
  1534. * </button>
  1535. * </div>
  1536. * );
  1537. * }
  1538. * ```
  1539. *
  1540. * When the button is clicked the component will shift to the `'entering'` state
  1541. * and stay there for 500ms (the value of `timeout`) before it finally switches
  1542. * to `'entered'`.
  1543. *
  1544. * When `in` is `false` the same thing happens except the state moves from
  1545. * `'exiting'` to `'exited'`.
  1546. */
  1547. var Transition_Transition = /*#__PURE__*/function (_React$Component) {
  1548. _inheritsLoose(Transition, _React$Component);
  1549. function Transition(props, context) {
  1550. var _this;
  1551. _this = _React$Component.call(this, props, context) || this;
  1552. var parentGroup = context; // In the context of a TransitionGroup all enters are really appears
  1553. var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;
  1554. var initialStatus;
  1555. _this.appearStatus = null;
  1556. if (props.in) {
  1557. if (appear) {
  1558. initialStatus = EXITED;
  1559. _this.appearStatus = ENTERING;
  1560. } else {
  1561. initialStatus = ENTERED;
  1562. }
  1563. } else {
  1564. if (props.unmountOnExit || props.mountOnEnter) {
  1565. initialStatus = UNMOUNTED;
  1566. } else {
  1567. initialStatus = EXITED;
  1568. }
  1569. }
  1570. _this.state = {
  1571. status: initialStatus
  1572. };
  1573. _this.nextCallback = null;
  1574. return _this;
  1575. }
  1576. Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {
  1577. var nextIn = _ref.in;
  1578. if (nextIn && prevState.status === UNMOUNTED) {
  1579. return {
  1580. status: EXITED
  1581. };
  1582. }
  1583. return null;
  1584. }; // getSnapshotBeforeUpdate(prevProps) {
  1585. // let nextStatus = null
  1586. // if (prevProps !== this.props) {
  1587. // const { status } = this.state
  1588. // if (this.props.in) {
  1589. // if (status !== ENTERING && status !== ENTERED) {
  1590. // nextStatus = ENTERING
  1591. // }
  1592. // } else {
  1593. // if (status === ENTERING || status === ENTERED) {
  1594. // nextStatus = EXITING
  1595. // }
  1596. // }
  1597. // }
  1598. // return { nextStatus }
  1599. // }
  1600. var _proto = Transition.prototype;
  1601. _proto.componentDidMount = function componentDidMount() {
  1602. this.updateStatus(true, this.appearStatus);
  1603. };
  1604. _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
  1605. var nextStatus = null;
  1606. if (prevProps !== this.props) {
  1607. var status = this.state.status;
  1608. if (this.props.in) {
  1609. if (status !== ENTERING && status !== ENTERED) {
  1610. nextStatus = ENTERING;
  1611. }
  1612. } else {
  1613. if (status === ENTERING || status === ENTERED) {
  1614. nextStatus = EXITING;
  1615. }
  1616. }
  1617. }
  1618. this.updateStatus(false, nextStatus);
  1619. };
  1620. _proto.componentWillUnmount = function componentWillUnmount() {
  1621. this.cancelNextCallback();
  1622. };
  1623. _proto.getTimeouts = function getTimeouts() {
  1624. var timeout = this.props.timeout;
  1625. var exit, enter, appear;
  1626. exit = enter = appear = timeout;
  1627. if (timeout != null && typeof timeout !== 'number') {
  1628. exit = timeout.exit;
  1629. enter = timeout.enter; // TODO: remove fallback for next major
  1630. appear = timeout.appear !== undefined ? timeout.appear : enter;
  1631. }
  1632. return {
  1633. exit: exit,
  1634. enter: enter,
  1635. appear: appear
  1636. };
  1637. };
  1638. _proto.updateStatus = function updateStatus(mounting, nextStatus) {
  1639. if (mounting === void 0) {
  1640. mounting = false;
  1641. }
  1642. if (nextStatus !== null) {
  1643. // nextStatus will always be ENTERING or EXITING.
  1644. this.cancelNextCallback();
  1645. var node = external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_default.a.findDOMNode(this);
  1646. if (nextStatus === ENTERING) {
  1647. this.performEnter(node, mounting);
  1648. } else {
  1649. this.performExit(node);
  1650. }
  1651. } else if (this.props.unmountOnExit && this.state.status === EXITED) {
  1652. this.setState({
  1653. status: UNMOUNTED
  1654. });
  1655. }
  1656. };
  1657. _proto.performEnter = function performEnter(node, mounting) {
  1658. var _this2 = this;
  1659. var enter = this.props.enter;
  1660. var appearing = this.context ? this.context.isMounting : mounting;
  1661. var timeouts = this.getTimeouts();
  1662. var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED
  1663. // if we are mounting and running this it means appear _must_ be set
  1664. if (!mounting && !enter || esm_config.disabled) {
  1665. this.safeSetState({
  1666. status: ENTERED
  1667. }, function () {
  1668. _this2.props.onEntered(node);
  1669. });
  1670. return;
  1671. }
  1672. this.props.onEnter(node, appearing);
  1673. this.safeSetState({
  1674. status: ENTERING
  1675. }, function () {
  1676. _this2.props.onEntering(node, appearing);
  1677. _this2.onTransitionEnd(node, enterTimeout, function () {
  1678. _this2.safeSetState({
  1679. status: ENTERED
  1680. }, function () {
  1681. _this2.props.onEntered(node, appearing);
  1682. });
  1683. });
  1684. });
  1685. };
  1686. _proto.performExit = function performExit(node) {
  1687. var _this3 = this;
  1688. var exit = this.props.exit;
  1689. var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED
  1690. if (!exit || esm_config.disabled) {
  1691. this.safeSetState({
  1692. status: EXITED
  1693. }, function () {
  1694. _this3.props.onExited(node);
  1695. });
  1696. return;
  1697. }
  1698. this.props.onExit(node);
  1699. this.safeSetState({
  1700. status: EXITING
  1701. }, function () {
  1702. _this3.props.onExiting(node);
  1703. _this3.onTransitionEnd(node, timeouts.exit, function () {
  1704. _this3.safeSetState({
  1705. status: EXITED
  1706. }, function () {
  1707. _this3.props.onExited(node);
  1708. });
  1709. });
  1710. });
  1711. };
  1712. _proto.cancelNextCallback = function cancelNextCallback() {
  1713. if (this.nextCallback !== null) {
  1714. this.nextCallback.cancel();
  1715. this.nextCallback = null;
  1716. }
  1717. };
  1718. _proto.safeSetState = function safeSetState(nextState, callback) {
  1719. // This shouldn't be necessary, but there are weird race conditions with
  1720. // setState callbacks and unmounting in testing, so always make sure that
  1721. // we can cancel any pending setState callbacks after we unmount.
  1722. callback = this.setNextCallback(callback);
  1723. this.setState(nextState, callback);
  1724. };
  1725. _proto.setNextCallback = function setNextCallback(callback) {
  1726. var _this4 = this;
  1727. var active = true;
  1728. this.nextCallback = function (event) {
  1729. if (active) {
  1730. active = false;
  1731. _this4.nextCallback = null;
  1732. callback(event);
  1733. }
  1734. };
  1735. this.nextCallback.cancel = function () {
  1736. active = false;
  1737. };
  1738. return this.nextCallback;
  1739. };
  1740. _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {
  1741. this.setNextCallback(handler);
  1742. var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;
  1743. if (!node || doesNotHaveTimeoutOrListener) {
  1744. setTimeout(this.nextCallback, 0);
  1745. return;
  1746. }
  1747. if (this.props.addEndListener) {
  1748. this.props.addEndListener(node, this.nextCallback);
  1749. }
  1750. if (timeout != null) {
  1751. setTimeout(this.nextCallback, timeout);
  1752. }
  1753. };
  1754. _proto.render = function render() {
  1755. var status = this.state.status;
  1756. if (status === UNMOUNTED) {
  1757. return null;
  1758. }
  1759. var _this$props = this.props,
  1760. children = _this$props.children,
  1761. childProps = _objectWithoutPropertiesLoose(_this$props, ["children"]); // filter props for Transtition
  1762. delete childProps.in;
  1763. delete childProps.mountOnEnter;
  1764. delete childProps.unmountOnExit;
  1765. delete childProps.appear;
  1766. delete childProps.enter;
  1767. delete childProps.exit;
  1768. delete childProps.timeout;
  1769. delete childProps.addEndListener;
  1770. delete childProps.onEnter;
  1771. delete childProps.onEntering;
  1772. delete childProps.onEntered;
  1773. delete childProps.onExit;
  1774. delete childProps.onExiting;
  1775. delete childProps.onExited;
  1776. if (typeof children === 'function') {
  1777. // allows for nested Transitions
  1778. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(TransitionGroupContext.Provider, {
  1779. value: null
  1780. }, children(status, childProps));
  1781. }
  1782. var child = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.only(children);
  1783. return (// allows for nested Transitions
  1784. external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(TransitionGroupContext.Provider, {
  1785. value: null
  1786. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(child, childProps))
  1787. );
  1788. };
  1789. return Transition;
  1790. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  1791. Transition_Transition.contextType = TransitionGroupContext;
  1792. Transition_Transition.propTypes = false ? undefined : {};
  1793. function Transition_noop() {}
  1794. Transition_Transition.defaultProps = {
  1795. in: false,
  1796. mountOnEnter: false,
  1797. unmountOnExit: false,
  1798. appear: false,
  1799. enter: true,
  1800. exit: true,
  1801. onEnter: Transition_noop,
  1802. onEntering: Transition_noop,
  1803. onEntered: Transition_noop,
  1804. onExit: Transition_noop,
  1805. onExiting: Transition_noop,
  1806. onExited: Transition_noop
  1807. };
  1808. Transition_Transition.UNMOUNTED = 0;
  1809. Transition_Transition.EXITED = 1;
  1810. Transition_Transition.ENTERING = 2;
  1811. Transition_Transition.ENTERED = 3;
  1812. Transition_Transition.EXITING = 4;
  1813. /* harmony default export */ var esm_Transition = (Transition_Transition);
  1814. // CONCATENATED MODULE: ./src/createChainedFunction.js
  1815. /**
  1816. * Safe chained function
  1817. *
  1818. * Will only create a new function if needed,
  1819. * otherwise will pass back existing functions or null.
  1820. *
  1821. * @param {function} functions to chain
  1822. * @returns {function|null}
  1823. */
  1824. function createChainedFunction() {
  1825. for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
  1826. funcs[_key] = arguments[_key];
  1827. }
  1828. return funcs.filter(function (f) {
  1829. return f != null;
  1830. }).reduce(function (acc, f) {
  1831. if (typeof f !== 'function') {
  1832. throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');
  1833. }
  1834. if (acc === null) return f;
  1835. return function chainedFunction() {
  1836. for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
  1837. args[_key2] = arguments[_key2];
  1838. }
  1839. acc.apply(this, args);
  1840. f.apply(this, args);
  1841. };
  1842. }, null);
  1843. }
  1844. /* harmony default export */ var src_createChainedFunction = (createChainedFunction);
  1845. // CONCATENATED MODULE: ./src/triggerBrowserReflow.js
  1846. // reading a dimension prop will cause the browser to recalculate,
  1847. // which will let our animations work
  1848. function triggerBrowserReflow(node) {
  1849. node.offsetHeight; // eslint-disable-line no-unused-expressions
  1850. }
  1851. // CONCATENATED MODULE: ./src/Collapse.js
  1852. var _collapseStyles,
  1853. Collapse_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Collapse.js";
  1854. var MARGINS = {
  1855. height: ['marginTop', 'marginBottom'],
  1856. width: ['marginLeft', 'marginRight']
  1857. };
  1858. function getDimensionValue(dimension, elem) {
  1859. var offset = "offset" + dimension[0].toUpperCase() + dimension.slice(1);
  1860. var value = elem[offset];
  1861. var margins = MARGINS[dimension];
  1862. return value + parseInt(esm_css(elem, margins[0]), 10) + parseInt(esm_css(elem, margins[1]), 10);
  1863. }
  1864. var collapseStyles = (_collapseStyles = {}, _collapseStyles[EXITED] = 'collapse', _collapseStyles[EXITING] = 'collapsing', _collapseStyles[ENTERING] = 'collapsing', _collapseStyles[ENTERED] = 'collapse show', _collapseStyles);
  1865. var Collapse_propTypes = {
  1866. /**
  1867. * Show the component; triggers the expand or collapse animation
  1868. */
  1869. in: prop_types_default.a.bool,
  1870. /**
  1871. * Wait until the first "enter" transition to mount the component (add it to the DOM)
  1872. */
  1873. mountOnEnter: prop_types_default.a.bool,
  1874. /**
  1875. * Unmount the component (remove it from the DOM) when it is collapsed
  1876. */
  1877. unmountOnExit: prop_types_default.a.bool,
  1878. /**
  1879. * Run the expand animation when the component mounts, if it is initially
  1880. * shown
  1881. */
  1882. appear: prop_types_default.a.bool,
  1883. /**
  1884. * Duration of the collapse animation in milliseconds, to ensure that
  1885. * finishing callbacks are fired even if the original browser transition end
  1886. * events are canceled
  1887. */
  1888. timeout: prop_types_default.a.number,
  1889. /**
  1890. * Callback fired before the component expands
  1891. */
  1892. onEnter: prop_types_default.a.func,
  1893. /**
  1894. * Callback fired after the component starts to expand
  1895. */
  1896. onEntering: prop_types_default.a.func,
  1897. /**
  1898. * Callback fired after the component has expanded
  1899. */
  1900. onEntered: prop_types_default.a.func,
  1901. /**
  1902. * Callback fired before the component collapses
  1903. */
  1904. onExit: prop_types_default.a.func,
  1905. /**
  1906. * Callback fired after the component starts to collapse
  1907. */
  1908. onExiting: prop_types_default.a.func,
  1909. /**
  1910. * Callback fired after the component has collapsed
  1911. */
  1912. onExited: prop_types_default.a.func,
  1913. /**
  1914. * The dimension used when collapsing, or a function that returns the
  1915. * dimension
  1916. *
  1917. * _Note: Bootstrap only partially supports 'width'!
  1918. * You will need to supply your own CSS animation for the `.width` CSS class._
  1919. */
  1920. dimension: prop_types_default.a.oneOfType([prop_types_default.a.oneOf(['height', 'width']), prop_types_default.a.func]),
  1921. /**
  1922. * Function that returns the height or width of the animating DOM node
  1923. *
  1924. * Allows for providing some custom logic for how much the Collapse component
  1925. * should animate in its specified dimension. Called with the current
  1926. * dimension prop value and the DOM node.
  1927. *
  1928. * @default element.offsetWidth | element.offsetHeight
  1929. */
  1930. getDimensionValue: prop_types_default.a.func,
  1931. /**
  1932. * ARIA role of collapsible element
  1933. */
  1934. role: prop_types_default.a.string
  1935. };
  1936. var Collapse_defaultProps = {
  1937. in: false,
  1938. timeout: 300,
  1939. mountOnEnter: false,
  1940. unmountOnExit: false,
  1941. appear: false,
  1942. dimension: 'height',
  1943. getDimensionValue: getDimensionValue
  1944. };
  1945. var Collapse_Collapse = /*#__PURE__*/function (_React$Component) {
  1946. _inheritsLoose(Collapse, _React$Component);
  1947. function Collapse() {
  1948. var _this;
  1949. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  1950. args[_key] = arguments[_key];
  1951. }
  1952. _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
  1953. _this.handleEnter = function (elem) {
  1954. elem.style[_this.getDimension()] = '0';
  1955. };
  1956. _this.handleEntering = function (elem) {
  1957. var dimension = _this.getDimension();
  1958. elem.style[dimension] = _this._getScrollDimensionValue(elem, dimension);
  1959. };
  1960. _this.handleEntered = function (elem) {
  1961. elem.style[_this.getDimension()] = null;
  1962. };
  1963. _this.handleExit = function (elem) {
  1964. var dimension = _this.getDimension();
  1965. elem.style[dimension] = _this.props.getDimensionValue(dimension, elem) + "px";
  1966. triggerBrowserReflow(elem);
  1967. };
  1968. _this.handleExiting = function (elem) {
  1969. elem.style[_this.getDimension()] = null;
  1970. };
  1971. return _this;
  1972. }
  1973. var _proto = Collapse.prototype;
  1974. _proto.getDimension = function getDimension() {
  1975. return typeof this.props.dimension === 'function' ? this.props.dimension() : this.props.dimension;
  1976. }
  1977. /* -- Expanding -- */
  1978. ;
  1979. // for testing
  1980. _proto._getScrollDimensionValue = function _getScrollDimensionValue(elem, dimension) {
  1981. var scroll = "scroll" + dimension[0].toUpperCase() + dimension.slice(1);
  1982. return elem[scroll] + "px";
  1983. };
  1984. _proto.render = function render() {
  1985. var _this2 = this;
  1986. var _this$props = this.props,
  1987. onEnter = _this$props.onEnter,
  1988. onEntering = _this$props.onEntering,
  1989. onEntered = _this$props.onEntered,
  1990. onExit = _this$props.onExit,
  1991. onExiting = _this$props.onExiting,
  1992. className = _this$props.className,
  1993. children = _this$props.children,
  1994. props = _objectWithoutPropertiesLoose(_this$props, ["onEnter", "onEntering", "onEntered", "onExit", "onExiting", "className", "children"]);
  1995. delete props.dimension;
  1996. delete props.getDimensionValue;
  1997. var handleEnter = src_createChainedFunction(this.handleEnter, onEnter);
  1998. var handleEntering = src_createChainedFunction(this.handleEntering, onEntering);
  1999. var handleEntered = src_createChainedFunction(this.handleEntered, onEntered);
  2000. var handleExit = src_createChainedFunction(this.handleExit, onExit);
  2001. var handleExiting = src_createChainedFunction(this.handleExiting, onExiting);
  2002. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_Transition, _extends({
  2003. addEndListener: esm_transitionEnd
  2004. }, props, {
  2005. "aria-expanded": props.role ? props.in : null,
  2006. onEnter: handleEnter,
  2007. onEntering: handleEntering,
  2008. onEntered: handleEntered,
  2009. onExit: handleExit,
  2010. onExiting: handleExiting,
  2011. __self: this,
  2012. __source: {
  2013. fileName: Collapse_jsxFileName,
  2014. lineNumber: 199,
  2015. columnNumber: 7
  2016. }
  2017. }), function (state, innerProps) {
  2018. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(children, _extends({}, innerProps, {
  2019. className: classnames_default()(className, children.props.className, collapseStyles[state], _this2.getDimension() === 'width' && 'width')
  2020. }));
  2021. });
  2022. };
  2023. return Collapse;
  2024. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  2025. Collapse_Collapse.propTypes = Collapse_propTypes;
  2026. Collapse_Collapse.defaultProps = Collapse_defaultProps;
  2027. /* harmony default export */ var src_Collapse = (Collapse_Collapse);
  2028. // CONCATENATED MODULE: ./src/AccordionCollapse.js
  2029. var AccordionCollapse_this = undefined,
  2030. AccordionCollapse_jsxFileName = "/Users/jquense/src/react-bootstrap/src/AccordionCollapse.js";
  2031. var AccordionCollapse_propTypes = {
  2032. /**
  2033. * A key that corresponds to the toggler that triggers this collapse's expand or collapse.
  2034. */
  2035. eventKey: prop_types_default.a.string.isRequired,
  2036. /** Children prop should only contain a single child, and is enforced as such */
  2037. children: prop_types_default.a.element.isRequired
  2038. };
  2039. var AccordionCollapse = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  2040. var children = _ref.children,
  2041. eventKey = _ref.eventKey,
  2042. props = _objectWithoutPropertiesLoose(_ref, ["children", "eventKey"]);
  2043. var contextEventKey = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(AccordionContext);
  2044. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Collapse, _extends({
  2045. ref: ref,
  2046. in: contextEventKey === eventKey
  2047. }, props, {
  2048. __self: AccordionCollapse_this,
  2049. __source: {
  2050. fileName: AccordionCollapse_jsxFileName,
  2051. lineNumber: 22,
  2052. columnNumber: 7
  2053. }
  2054. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  2055. __self: AccordionCollapse_this,
  2056. __source: {
  2057. fileName: AccordionCollapse_jsxFileName,
  2058. lineNumber: 23,
  2059. columnNumber: 9
  2060. }
  2061. }, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.only(children)));
  2062. });
  2063. AccordionCollapse.propTypes = AccordionCollapse_propTypes;
  2064. AccordionCollapse.displayName = 'AccordionCollapse';
  2065. /* harmony default export */ var src_AccordionCollapse = (AccordionCollapse);
  2066. // CONCATENATED MODULE: ./src/Accordion.js
  2067. var Accordion_this = undefined,
  2068. Accordion_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Accordion.js";
  2069. var Accordion_propTypes = {
  2070. /** Set a custom element for this component */
  2071. as: prop_types_default.a.elementType,
  2072. /** @default 'accordion' */
  2073. bsPrefix: prop_types_default.a.string,
  2074. /** The current active key that corresponds to the currently expanded card */
  2075. activeKey: prop_types_default.a.string,
  2076. /** The default active key that is expanded on start */
  2077. defaultActiveKey: prop_types_default.a.string
  2078. };
  2079. var Accordion = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  2080. var _useUncontrolled = useUncontrolled(props, {
  2081. activeKey: 'onSelect'
  2082. }),
  2083. _useUncontrolled$as = _useUncontrolled.as,
  2084. Component = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,
  2085. activeKey = _useUncontrolled.activeKey,
  2086. bsPrefix = _useUncontrolled.bsPrefix,
  2087. children = _useUncontrolled.children,
  2088. className = _useUncontrolled.className,
  2089. onSelect = _useUncontrolled.onSelect,
  2090. controlledProps = _objectWithoutPropertiesLoose(_useUncontrolled, ["as", "activeKey", "bsPrefix", "children", "className", "onSelect"]);
  2091. bsPrefix = useBootstrapPrefix(bsPrefix, 'accordion');
  2092. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(AccordionContext.Provider, {
  2093. value: activeKey,
  2094. __self: Accordion_this,
  2095. __source: {
  2096. fileName: Accordion_jsxFileName,
  2097. lineNumber: 42,
  2098. columnNumber: 5
  2099. }
  2100. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, {
  2101. value: onSelect,
  2102. __self: Accordion_this,
  2103. __source: {
  2104. fileName: Accordion_jsxFileName,
  2105. lineNumber: 43,
  2106. columnNumber: 7
  2107. }
  2108. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  2109. ref: ref
  2110. }, controlledProps, {
  2111. className: classnames_default()(className, bsPrefix),
  2112. __self: Accordion_this,
  2113. __source: {
  2114. fileName: Accordion_jsxFileName,
  2115. lineNumber: 44,
  2116. columnNumber: 9
  2117. }
  2118. }), children)));
  2119. });
  2120. Accordion.propTypes = Accordion_propTypes;
  2121. Accordion.Toggle = src_AccordionToggle;
  2122. Accordion.Collapse = src_AccordionCollapse;
  2123. /* harmony default export */ var src_Accordion = (Accordion);
  2124. // EXTERNAL MODULE: ./node_modules/prop-types-extra/lib/index.js
  2125. var lib = __webpack_require__(8);
  2126. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useCommittedRef.js
  2127. /**
  2128. * Creates a `Ref` whose value is updated in an effect, ensuring the most recent
  2129. * value is the one rendered with. Generally only required for Concurrent mode usage
  2130. * where previous work in `render()` may be discarded befor being used.
  2131. *
  2132. * This is safe to access in an event handler.
  2133. *
  2134. * @param value The `Ref` value
  2135. */
  2136. function useCommittedRef(value) {
  2137. var ref = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(value);
  2138. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  2139. ref.current = value;
  2140. }, [value]);
  2141. return ref;
  2142. }
  2143. /* harmony default export */ var esm_useCommittedRef = (useCommittedRef);
  2144. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useEventCallback.js
  2145. function useEventCallback(fn) {
  2146. var ref = esm_useCommittedRef(fn);
  2147. return Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () {
  2148. return ref.current && ref.current.apply(ref, arguments);
  2149. }, [ref]);
  2150. }
  2151. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/camelize.js
  2152. var rHyphen = /-(.)/g;
  2153. function camelize(string) {
  2154. return string.replace(rHyphen, function (_, chr) {
  2155. return chr.toUpperCase();
  2156. });
  2157. }
  2158. // CONCATENATED MODULE: ./src/createWithBsPrefix.js
  2159. var createWithBsPrefix_jsxFileName = "/Users/jquense/src/react-bootstrap/src/createWithBsPrefix.js";
  2160. var createWithBsPrefix_pascalCase = function pascalCase(str) {
  2161. return str[0].toUpperCase() + camelize(str).slice(1);
  2162. };
  2163. function createWithBsPrefix(prefix, _temp) {
  2164. var _this = this;
  2165. var _ref = _temp === void 0 ? {} : _temp,
  2166. _ref$displayName = _ref.displayName,
  2167. displayName = _ref$displayName === void 0 ? createWithBsPrefix_pascalCase(prefix) : _ref$displayName,
  2168. _ref$Component = _ref.Component,
  2169. Component = _ref$Component === void 0 ? 'div' : _ref$Component,
  2170. defaultProps = _ref.defaultProps;
  2171. var BsComponent = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef( // eslint-disable-next-line react/prop-types
  2172. function (_ref2, ref) {
  2173. var className = _ref2.className,
  2174. bsPrefix = _ref2.bsPrefix,
  2175. _ref2$as = _ref2.as,
  2176. Tag = _ref2$as === void 0 ? Component : _ref2$as,
  2177. props = _objectWithoutPropertiesLoose(_ref2, ["className", "bsPrefix", "as"]);
  2178. var resolvedPrefix = useBootstrapPrefix(bsPrefix, prefix);
  2179. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Tag, _extends({
  2180. ref: ref,
  2181. className: classnames_default()(className, resolvedPrefix)
  2182. }, props, {
  2183. __self: _this,
  2184. __source: {
  2185. fileName: createWithBsPrefix_jsxFileName,
  2186. lineNumber: 17,
  2187. columnNumber: 9
  2188. }
  2189. }));
  2190. });
  2191. BsComponent.defaultProps = defaultProps;
  2192. BsComponent.displayName = displayName;
  2193. return BsComponent;
  2194. }
  2195. // CONCATENATED MODULE: ./src/divWithClassName.js
  2196. var divWithClassName_this = undefined,
  2197. divWithClassName_jsxFileName = "/Users/jquense/src/react-bootstrap/src/divWithClassName.js";
  2198. /* harmony default export */ var divWithClassName = (function (className) {
  2199. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (p, ref) {
  2200. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({}, p, {
  2201. ref: ref,
  2202. className: classnames_default()(p.className, className),
  2203. __self: divWithClassName_this,
  2204. __source: {
  2205. fileName: divWithClassName_jsxFileName,
  2206. lineNumber: 6,
  2207. columnNumber: 5
  2208. }
  2209. }));
  2210. });
  2211. });
  2212. // CONCATENATED MODULE: ./src/Fade.js
  2213. var _fadeStyles,
  2214. Fade_this = undefined,
  2215. Fade_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Fade.js";
  2216. var Fade_propTypes = {
  2217. /**
  2218. * Show the component; triggers the fade in or fade out animation
  2219. */
  2220. in: prop_types_default.a.bool,
  2221. /**
  2222. * Wait until the first "enter" transition to mount the component (add it to the DOM)
  2223. */
  2224. mountOnEnter: prop_types_default.a.bool,
  2225. /**
  2226. * Unmount the component (remove it from the DOM) when it is faded out
  2227. */
  2228. unmountOnExit: prop_types_default.a.bool,
  2229. /**
  2230. * Run the fade in animation when the component mounts, if it is initially
  2231. * shown
  2232. */
  2233. appear: prop_types_default.a.bool,
  2234. /**
  2235. * Duration of the fade animation in milliseconds, to ensure that finishing
  2236. * callbacks are fired even if the original browser transition end events are
  2237. * canceled
  2238. */
  2239. timeout: prop_types_default.a.number,
  2240. /**
  2241. * Callback fired before the component fades in
  2242. */
  2243. onEnter: prop_types_default.a.func,
  2244. /**
  2245. * Callback fired after the component starts to fade in
  2246. */
  2247. onEntering: prop_types_default.a.func,
  2248. /**
  2249. * Callback fired after the has component faded in
  2250. */
  2251. onEntered: prop_types_default.a.func,
  2252. /**
  2253. * Callback fired before the component fades out
  2254. */
  2255. onExit: prop_types_default.a.func,
  2256. /**
  2257. * Callback fired after the component starts to fade out
  2258. */
  2259. onExiting: prop_types_default.a.func,
  2260. /**
  2261. * Callback fired after the component has faded out
  2262. */
  2263. onExited: prop_types_default.a.func
  2264. };
  2265. var Fade_defaultProps = {
  2266. in: false,
  2267. timeout: 300,
  2268. mountOnEnter: false,
  2269. unmountOnExit: false,
  2270. appear: false
  2271. };
  2272. var fadeStyles = (_fadeStyles = {}, _fadeStyles[ENTERING] = 'show', _fadeStyles[ENTERED] = 'show', _fadeStyles);
  2273. var Fade = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  2274. var className = _ref.className,
  2275. children = _ref.children,
  2276. props = _objectWithoutPropertiesLoose(_ref, ["className", "children"]);
  2277. var handleEnter = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (node) {
  2278. triggerBrowserReflow(node);
  2279. if (props.onEnter) props.onEnter(node);
  2280. }, [props]);
  2281. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_Transition, _extends({
  2282. ref: ref,
  2283. addEndListener: esm_transitionEnd
  2284. }, props, {
  2285. onEnter: handleEnter,
  2286. __self: Fade_this,
  2287. __source: {
  2288. fileName: Fade_jsxFileName,
  2289. lineNumber: 89,
  2290. columnNumber: 5
  2291. }
  2292. }), function (status, innerProps) {
  2293. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(children, _extends({}, innerProps, {
  2294. className: classnames_default()('fade', className, children.props.className, fadeStyles[status])
  2295. }));
  2296. });
  2297. });
  2298. Fade.propTypes = Fade_propTypes;
  2299. Fade.defaultProps = Fade_defaultProps;
  2300. Fade.displayName = 'Fade';
  2301. /* harmony default export */ var src_Fade = (Fade);
  2302. // CONCATENATED MODULE: ./src/CloseButton.js
  2303. var CloseButton_this = undefined,
  2304. CloseButton_jsxFileName = "/Users/jquense/src/react-bootstrap/src/CloseButton.js";
  2305. var CloseButton_propTypes = {
  2306. label: prop_types_default.a.string.isRequired,
  2307. onClick: prop_types_default.a.func
  2308. };
  2309. var CloseButton_defaultProps = {
  2310. label: 'Close'
  2311. };
  2312. var CloseButton = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  2313. var label = _ref.label,
  2314. onClick = _ref.onClick,
  2315. className = _ref.className,
  2316. props = _objectWithoutPropertiesLoose(_ref, ["label", "onClick", "className"]);
  2317. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("button", _extends({
  2318. ref: ref,
  2319. type: "button",
  2320. className: classnames_default()('close', className),
  2321. onClick: onClick
  2322. }, props, {
  2323. __self: CloseButton_this,
  2324. __source: {
  2325. fileName: CloseButton_jsxFileName,
  2326. lineNumber: 16,
  2327. columnNumber: 5
  2328. }
  2329. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  2330. "aria-hidden": "true",
  2331. __self: CloseButton_this,
  2332. __source: {
  2333. fileName: CloseButton_jsxFileName,
  2334. lineNumber: 23,
  2335. columnNumber: 7
  2336. }
  2337. }, "\xD7"), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  2338. className: "sr-only",
  2339. __self: CloseButton_this,
  2340. __source: {
  2341. fileName: CloseButton_jsxFileName,
  2342. lineNumber: 24,
  2343. columnNumber: 7
  2344. }
  2345. }, label));
  2346. });
  2347. CloseButton.displayName = 'CloseButton';
  2348. CloseButton.propTypes = CloseButton_propTypes;
  2349. CloseButton.defaultProps = CloseButton_defaultProps;
  2350. /* harmony default export */ var src_CloseButton = (CloseButton);
  2351. // CONCATENATED MODULE: ./src/SafeAnchor.js
  2352. var SafeAnchor_this = undefined,
  2353. SafeAnchor_jsxFileName = "/Users/jquense/src/react-bootstrap/src/SafeAnchor.js";
  2354. var SafeAnchor_propTypes = {
  2355. href: prop_types_default.a.string,
  2356. onClick: prop_types_default.a.func,
  2357. onKeyDown: prop_types_default.a.func,
  2358. disabled: prop_types_default.a.bool,
  2359. role: prop_types_default.a.string,
  2360. tabIndex: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]),
  2361. /**
  2362. * this is sort of silly but needed for Button
  2363. */
  2364. as: prop_types_default.a.elementType
  2365. };
  2366. function isTrivialHref(href) {
  2367. return !href || href.trim() === '#';
  2368. }
  2369. /**
  2370. * There are situations due to browser quirks or Bootstrap CSS where
  2371. * an anchor tag is needed, when semantically a button tag is the
  2372. * better choice. SafeAnchor ensures that when an anchor is used like a
  2373. * button its accessible. It also emulates input `disabled` behavior for
  2374. * links, which is usually desirable for Buttons, NavItems, DropdownItems, etc.
  2375. */
  2376. var SafeAnchor = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  2377. var _ref$as = _ref.as,
  2378. Component = _ref$as === void 0 ? 'a' : _ref$as,
  2379. disabled = _ref.disabled,
  2380. onKeyDown = _ref.onKeyDown,
  2381. props = _objectWithoutPropertiesLoose(_ref, ["as", "disabled", "onKeyDown"]);
  2382. var handleClick = function handleClick(event) {
  2383. var href = props.href,
  2384. onClick = props.onClick;
  2385. if (disabled || isTrivialHref(href)) {
  2386. event.preventDefault();
  2387. }
  2388. if (disabled) {
  2389. event.stopPropagation();
  2390. return;
  2391. }
  2392. if (onClick) {
  2393. onClick(event);
  2394. }
  2395. };
  2396. var handleKeyDown = function handleKeyDown(event) {
  2397. if (event.key === ' ') {
  2398. event.preventDefault();
  2399. handleClick(event);
  2400. }
  2401. };
  2402. if (isTrivialHref(props.href)) {
  2403. props.role = props.role || 'button'; // we want to make sure there is a href attribute on the node
  2404. // otherwise, the cursor incorrectly styled (except with role='button')
  2405. props.href = props.href || '#';
  2406. }
  2407. if (disabled) {
  2408. props.tabIndex = -1;
  2409. props['aria-disabled'] = true;
  2410. }
  2411. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  2412. ref: ref
  2413. }, props, {
  2414. onClick: handleClick,
  2415. onKeyDown: src_createChainedFunction(handleKeyDown, onKeyDown),
  2416. __self: SafeAnchor_this,
  2417. __source: {
  2418. fileName: SafeAnchor_jsxFileName,
  2419. lineNumber: 79,
  2420. columnNumber: 7
  2421. }
  2422. }));
  2423. });
  2424. SafeAnchor.propTypes = SafeAnchor_propTypes;
  2425. SafeAnchor.displayName = 'SafeAnchor';
  2426. /* harmony default export */ var src_SafeAnchor = (SafeAnchor);
  2427. // CONCATENATED MODULE: ./src/Alert.js
  2428. var Alert_this = undefined,
  2429. Alert_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Alert.js";
  2430. var Alert_propTypes = {
  2431. /**
  2432. * @default 'alert'
  2433. */
  2434. bsPrefix: prop_types_default.a.string,
  2435. /**
  2436. * The Alert visual variant
  2437. *
  2438. * @type {'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light'}
  2439. */
  2440. variant: prop_types_default.a.string,
  2441. /**
  2442. * Renders a properly aligned dismiss button, as well as
  2443. * adding extra horizontal padding to the Alert.
  2444. */
  2445. dismissible: prop_types_default.a.bool,
  2446. /**
  2447. * Controls the visual state of the Alert.
  2448. *
  2449. * @controllable onClose
  2450. */
  2451. show: prop_types_default.a.bool,
  2452. /**
  2453. * Callback fired when alert is closed.
  2454. *
  2455. * @controllable show
  2456. */
  2457. onClose: prop_types_default.a.func,
  2458. /**
  2459. * Sets the text for alert close button.
  2460. */
  2461. closeLabel: prop_types_default.a.string,
  2462. /** A `react-transition-group` Transition component used to animate the Alert on dismissal. */
  2463. transition: lib["elementType"]
  2464. };
  2465. var Alert_defaultProps = {
  2466. show: true,
  2467. transition: src_Fade,
  2468. closeLabel: 'Close alert'
  2469. };
  2470. var controllables = {
  2471. show: 'onClose'
  2472. };
  2473. var Alert = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (uncontrolledProps, ref) {
  2474. var _useUncontrolled = useUncontrolled(uncontrolledProps, controllables),
  2475. bsPrefix = _useUncontrolled.bsPrefix,
  2476. show = _useUncontrolled.show,
  2477. closeLabel = _useUncontrolled.closeLabel,
  2478. className = _useUncontrolled.className,
  2479. children = _useUncontrolled.children,
  2480. variant = _useUncontrolled.variant,
  2481. onClose = _useUncontrolled.onClose,
  2482. dismissible = _useUncontrolled.dismissible,
  2483. Transition = _useUncontrolled.transition,
  2484. props = _objectWithoutPropertiesLoose(_useUncontrolled, ["bsPrefix", "show", "closeLabel", "className", "children", "variant", "onClose", "dismissible", "transition"]);
  2485. var prefix = useBootstrapPrefix(bsPrefix, 'alert');
  2486. var handleClose = useEventCallback(function (e) {
  2487. onClose(false, e);
  2488. });
  2489. var alert = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({
  2490. role: "alert"
  2491. }, Transition ? props : undefined, {
  2492. ref: ref,
  2493. className: classnames_default()(className, prefix, variant && prefix + "-" + variant, dismissible && prefix + "-dismissible"),
  2494. __self: Alert_this,
  2495. __source: {
  2496. fileName: Alert_jsxFileName,
  2497. lineNumber: 87,
  2498. columnNumber: 5
  2499. }
  2500. }), dismissible && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_CloseButton, {
  2501. onClick: handleClose,
  2502. label: closeLabel,
  2503. __self: Alert_this,
  2504. __source: {
  2505. fileName: Alert_jsxFileName,
  2506. lineNumber: 98,
  2507. columnNumber: 23
  2508. }
  2509. }), children);
  2510. if (!Transition) return show ? alert : null;
  2511. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Transition, _extends({
  2512. unmountOnExit: true
  2513. }, props, {
  2514. in: show,
  2515. __self: Alert_this,
  2516. __source: {
  2517. fileName: Alert_jsxFileName,
  2518. lineNumber: 106,
  2519. columnNumber: 5
  2520. }
  2521. }), alert);
  2522. });
  2523. var DivStyledAsH4 = divWithClassName('h4');
  2524. DivStyledAsH4.displayName = 'DivStyledAsH4';
  2525. Alert.displayName = 'Alert';
  2526. Alert.propTypes = Alert_propTypes;
  2527. Alert.defaultProps = Alert_defaultProps;
  2528. Alert.Link = createWithBsPrefix('alert-link', {
  2529. Component: src_SafeAnchor
  2530. });
  2531. Alert.Heading = createWithBsPrefix('alert-heading', {
  2532. Component: DivStyledAsH4
  2533. });
  2534. /* harmony default export */ var src_Alert = (Alert);
  2535. // CONCATENATED MODULE: ./src/Badge.js
  2536. var Badge_this = undefined,
  2537. Badge_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Badge.js";
  2538. var Badge_propTypes = {
  2539. /** @default 'badge' */
  2540. bsPrefix: prop_types_default.a.string,
  2541. /**
  2542. * The visual style of the badge
  2543. *
  2544. * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'light'|'dark')}
  2545. */
  2546. variant: prop_types_default.a.string,
  2547. /**
  2548. * Add the `pill` modifier to make badges more rounded with
  2549. * some additional horizontal padding
  2550. */
  2551. pill: prop_types_default.a.bool.isRequired,
  2552. /** @default span */
  2553. as: prop_types_default.a.elementType
  2554. };
  2555. var Badge_defaultProps = {
  2556. pill: false
  2557. };
  2558. var Badge = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  2559. var bsPrefix = _ref.bsPrefix,
  2560. variant = _ref.variant,
  2561. pill = _ref.pill,
  2562. className = _ref.className,
  2563. _ref$as = _ref.as,
  2564. Component = _ref$as === void 0 ? 'span' : _ref$as,
  2565. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "variant", "pill", "className", "as"]);
  2566. var prefix = useBootstrapPrefix(bsPrefix, 'badge');
  2567. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  2568. ref: ref
  2569. }, props, {
  2570. className: classnames_default()(className, prefix, pill && prefix + "-pill", variant && prefix + "-" + variant),
  2571. __self: Badge_this,
  2572. __source: {
  2573. fileName: Badge_jsxFileName,
  2574. lineNumber: 39,
  2575. columnNumber: 7
  2576. }
  2577. }));
  2578. });
  2579. Badge.displayName = 'Badge';
  2580. Badge.propTypes = Badge_propTypes;
  2581. Badge.defaultProps = Badge_defaultProps;
  2582. /* harmony default export */ var src_Badge = (Badge);
  2583. // CONCATENATED MODULE: ./src/BreadcrumbItem.js
  2584. var BreadcrumbItem_this = undefined,
  2585. BreadcrumbItem_jsxFileName = "/Users/jquense/src/react-bootstrap/src/BreadcrumbItem.js";
  2586. var BreadcrumbItem_propTypes = {
  2587. /**
  2588. * @default 'breadcrumb-item'
  2589. */
  2590. bsPrefix: prop_types_default.a.string,
  2591. /**
  2592. * Adds a visual "active" state to a Breadcrumb
  2593. * Item and disables the link.
  2594. */
  2595. active: prop_types_default.a.bool,
  2596. /**
  2597. * `href` attribute for the inner `a` element
  2598. */
  2599. href: prop_types_default.a.string,
  2600. /**
  2601. * You can use a custom element type for this component's inner link.
  2602. */
  2603. linkAs: prop_types_default.a.elementType,
  2604. /**
  2605. * `title` attribute for the inner `a` element
  2606. */
  2607. title: prop_types_default.a.node,
  2608. /**
  2609. * `target` attribute for the inner `a` element
  2610. */
  2611. target: prop_types_default.a.string,
  2612. /**
  2613. * Additional props passed as-is to the underlying link for non-active items.
  2614. */
  2615. linkProps: prop_types_default.a.object,
  2616. as: prop_types_default.a.elementType
  2617. };
  2618. var BreadcrumbItem_defaultProps = {
  2619. active: false,
  2620. linkProps: {}
  2621. };
  2622. var BreadcrumbItem = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  2623. var bsPrefix = _ref.bsPrefix,
  2624. active = _ref.active,
  2625. children = _ref.children,
  2626. className = _ref.className,
  2627. _ref$as = _ref.as,
  2628. Component = _ref$as === void 0 ? 'li' : _ref$as,
  2629. _ref$linkAs = _ref.linkAs,
  2630. LinkComponent = _ref$linkAs === void 0 ? src_SafeAnchor : _ref$linkAs,
  2631. linkProps = _ref.linkProps,
  2632. href = _ref.href,
  2633. title = _ref.title,
  2634. target = _ref.target,
  2635. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "active", "children", "className", "as", "linkAs", "linkProps", "href", "title", "target"]);
  2636. var prefix = useBootstrapPrefix(bsPrefix, 'breadcrumb-item');
  2637. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  2638. ref: ref
  2639. }, props, {
  2640. className: classnames_default()(prefix, className, {
  2641. active: active
  2642. }),
  2643. "aria-current": active ? 'page' : undefined,
  2644. __self: BreadcrumbItem_this,
  2645. __source: {
  2646. fileName: BreadcrumbItem_jsxFileName,
  2647. lineNumber: 68,
  2648. columnNumber: 7
  2649. }
  2650. }), active ? children : /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(LinkComponent, _extends({}, linkProps, {
  2651. href: href,
  2652. title: title,
  2653. target: target,
  2654. __self: BreadcrumbItem_this,
  2655. __source: {
  2656. fileName: BreadcrumbItem_jsxFileName,
  2657. lineNumber: 77,
  2658. columnNumber: 11
  2659. }
  2660. }), children));
  2661. });
  2662. BreadcrumbItem.displayName = 'BreadcrumbItem';
  2663. BreadcrumbItem.propTypes = BreadcrumbItem_propTypes;
  2664. BreadcrumbItem.defaultProps = BreadcrumbItem_defaultProps;
  2665. /* harmony default export */ var src_BreadcrumbItem = (BreadcrumbItem);
  2666. // CONCATENATED MODULE: ./src/Breadcrumb.js
  2667. var Breadcrumb_this = undefined,
  2668. Breadcrumb_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Breadcrumb.js";
  2669. var Breadcrumb_propTypes = {
  2670. /**
  2671. * @default 'breadcrumb'
  2672. */
  2673. bsPrefix: prop_types_default.a.string,
  2674. /**
  2675. * ARIA label for the nav element
  2676. * https://www.w3.org/TR/wai-aria-practices/#breadcrumb
  2677. */
  2678. label: prop_types_default.a.string,
  2679. /**
  2680. * Additional props passed as-is to the underlying `<ol>` element
  2681. */
  2682. listProps: prop_types_default.a.object,
  2683. as: prop_types_default.a.elementType
  2684. };
  2685. var Breadcrumb_defaultProps = {
  2686. label: 'breadcrumb',
  2687. listProps: {}
  2688. };
  2689. var Breadcrumb = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  2690. var bsPrefix = _ref.bsPrefix,
  2691. className = _ref.className,
  2692. listProps = _ref.listProps,
  2693. children = _ref.children,
  2694. label = _ref.label,
  2695. _ref$as = _ref.as,
  2696. Component = _ref$as === void 0 ? 'nav' : _ref$as,
  2697. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "listProps", "children", "label", "as"]);
  2698. var prefix = useBootstrapPrefix(bsPrefix, 'breadcrumb');
  2699. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  2700. "aria-label": label,
  2701. className: className,
  2702. ref: ref
  2703. }, props, {
  2704. __self: Breadcrumb_this,
  2705. __source: {
  2706. fileName: Breadcrumb_jsxFileName,
  2707. lineNumber: 48,
  2708. columnNumber: 7
  2709. }
  2710. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("ol", _extends({}, listProps, {
  2711. className: classnames_default()(prefix, listProps.className),
  2712. __self: Breadcrumb_this,
  2713. __source: {
  2714. fileName: Breadcrumb_jsxFileName,
  2715. lineNumber: 49,
  2716. columnNumber: 9
  2717. }
  2718. }), children));
  2719. });
  2720. Breadcrumb.displayName = 'Breadcrumb';
  2721. Breadcrumb.propTypes = Breadcrumb_propTypes;
  2722. Breadcrumb.defaultProps = Breadcrumb_defaultProps;
  2723. Breadcrumb.Item = src_BreadcrumbItem;
  2724. /* harmony default export */ var src_Breadcrumb = (Breadcrumb);
  2725. // CONCATENATED MODULE: ./src/Button.js
  2726. var Button_this = undefined,
  2727. Button_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Button.js";
  2728. var Button_propTypes = {
  2729. /**
  2730. * @default 'btn'
  2731. */
  2732. bsPrefix: prop_types_default.a.string,
  2733. /**
  2734. * One or more button variant combinations
  2735. *
  2736. * buttons may be one of a variety of visual variants such as:
  2737. *
  2738. * `'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', 'link'`
  2739. *
  2740. * as well as "outline" versions (prefixed by 'outline-*')
  2741. *
  2742. * `'outline-primary', 'outline-secondary', 'outline-success', 'outline-danger', 'outline-warning', 'outline-info', 'outline-dark', 'outline-light'`
  2743. */
  2744. variant: prop_types_default.a.string,
  2745. /**
  2746. * Specifies a large or small button.
  2747. *
  2748. * @type ('sm'|'lg')
  2749. */
  2750. size: prop_types_default.a.string,
  2751. /** Spans the full width of the Button parent */
  2752. block: prop_types_default.a.bool,
  2753. /** Manually set the visual state of the button to `:active` */
  2754. active: prop_types_default.a.bool,
  2755. /**
  2756. * Disables the Button, preventing mouse events,
  2757. * even if the underlying component is an `<a>` element
  2758. */
  2759. disabled: prop_types_default.a.bool,
  2760. /** Providing a `href` will render an `<a>` element, _styled_ as a button. */
  2761. href: prop_types_default.a.string,
  2762. /**
  2763. * Defines HTML button type attribute.
  2764. *
  2765. * @default 'button'
  2766. */
  2767. type: prop_types_default.a.oneOf(['button', 'reset', 'submit', null]),
  2768. as: prop_types_default.a.elementType
  2769. };
  2770. var Button_defaultProps = {
  2771. variant: 'primary',
  2772. active: false,
  2773. disabled: false,
  2774. type: 'button'
  2775. };
  2776. var Button = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  2777. var bsPrefix = _ref.bsPrefix,
  2778. variant = _ref.variant,
  2779. size = _ref.size,
  2780. active = _ref.active,
  2781. className = _ref.className,
  2782. block = _ref.block,
  2783. type = _ref.type,
  2784. as = _ref.as,
  2785. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "variant", "size", "active", "className", "block", "type", "as"]);
  2786. var prefix = useBootstrapPrefix(bsPrefix, 'btn');
  2787. var classes = classnames_default()(className, prefix, active && 'active', prefix + "-" + variant, block && prefix + "-block", size && prefix + "-" + size);
  2788. if (props.href) {
  2789. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SafeAnchor, _extends({}, props, {
  2790. as: as,
  2791. ref: ref,
  2792. className: classnames_default()(classes, props.disabled && 'disabled'),
  2793. __self: Button_this,
  2794. __source: {
  2795. fileName: Button_jsxFileName,
  2796. lineNumber: 84,
  2797. columnNumber: 9
  2798. }
  2799. }));
  2800. }
  2801. if (ref) {
  2802. props.ref = ref;
  2803. }
  2804. if (!as) {
  2805. props.type = type;
  2806. }
  2807. var Component = as || 'button';
  2808. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  2809. className: classes,
  2810. __self: Button_this,
  2811. __source: {
  2812. fileName: Button_jsxFileName,
  2813. lineNumber: 102,
  2814. columnNumber: 12
  2815. }
  2816. }));
  2817. });
  2818. Button.displayName = 'Button';
  2819. Button.propTypes = Button_propTypes;
  2820. Button.defaultProps = Button_defaultProps;
  2821. /* harmony default export */ var src_Button = (Button);
  2822. // CONCATENATED MODULE: ./src/ButtonGroup.js
  2823. var ButtonGroup_this = undefined,
  2824. ButtonGroup_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ButtonGroup.js";
  2825. var ButtonGroup_propTypes = {
  2826. /**
  2827. * @default 'btn-group'
  2828. */
  2829. bsPrefix: prop_types_default.a.string,
  2830. /**
  2831. * Sets the size for all Buttons in the group.
  2832. *
  2833. * @type ('sm'|'lg')
  2834. */
  2835. size: prop_types_default.a.string,
  2836. /** Make the set of Buttons appear vertically stacked. */
  2837. vertical: prop_types_default.a.bool,
  2838. /**
  2839. * Display as a button toggle group.
  2840. *
  2841. * (Generally it's better to use `ToggleButtonGroup` directly)
  2842. */
  2843. toggle: prop_types_default.a.bool,
  2844. /**
  2845. * An ARIA role describing the button group. Usually the default
  2846. * "group" role is fine. An `aria-label` or `aria-labelledby`
  2847. * prop is also recommended.
  2848. */
  2849. role: prop_types_default.a.string,
  2850. as: prop_types_default.a.elementType
  2851. };
  2852. var ButtonGroup_defaultProps = {
  2853. vertical: false,
  2854. toggle: false,
  2855. role: 'group'
  2856. };
  2857. var ButtonGroup = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  2858. var bsPrefix = props.bsPrefix,
  2859. size = props.size,
  2860. toggle = props.toggle,
  2861. vertical = props.vertical,
  2862. className = props.className,
  2863. _props$as = props.as,
  2864. Component = _props$as === void 0 ? 'div' : _props$as,
  2865. rest = _objectWithoutPropertiesLoose(props, ["bsPrefix", "size", "toggle", "vertical", "className", "as"]);
  2866. var prefix = useBootstrapPrefix(bsPrefix, 'btn-group');
  2867. var baseClass = prefix;
  2868. if (vertical) baseClass = prefix + "-vertical";
  2869. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, rest, {
  2870. ref: ref,
  2871. className: classnames_default()(className, baseClass, size && prefix + "-" + size, toggle && prefix + "-toggle"),
  2872. __self: ButtonGroup_this,
  2873. __source: {
  2874. fileName: ButtonGroup_jsxFileName,
  2875. lineNumber: 64,
  2876. columnNumber: 5
  2877. }
  2878. }));
  2879. });
  2880. ButtonGroup.displayName = 'ButtonGroup';
  2881. ButtonGroup.propTypes = ButtonGroup_propTypes;
  2882. ButtonGroup.defaultProps = ButtonGroup_defaultProps;
  2883. /* harmony default export */ var src_ButtonGroup = (ButtonGroup);
  2884. // CONCATENATED MODULE: ./src/ButtonToolbar.js
  2885. var ButtonToolbar_this = undefined,
  2886. ButtonToolbar_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ButtonToolbar.js";
  2887. var ButtonToolbar_propTypes = {
  2888. /**
  2889. * @default 'btn-toolbar'
  2890. */
  2891. bsPrefix: prop_types_default.a.string,
  2892. /**
  2893. * The ARIA role describing the button toolbar. Generally the default
  2894. * "toolbar" role is correct. An `aria-label` or `aria-labelledby`
  2895. * prop is also recommended.
  2896. */
  2897. role: prop_types_default.a.string
  2898. };
  2899. var ButtonToolbar_defaultProps = {
  2900. role: 'toolbar'
  2901. };
  2902. var ButtonToolbar = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  2903. var bsPrefix = _ref.bsPrefix,
  2904. className = _ref.className,
  2905. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className"]);
  2906. var prefix = useBootstrapPrefix(bsPrefix, 'btn-toolbar');
  2907. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({}, props, {
  2908. ref: ref,
  2909. className: classnames_default()(className, prefix),
  2910. __self: ButtonToolbar_this,
  2911. __source: {
  2912. fileName: ButtonToolbar_jsxFileName,
  2913. lineNumber: 30,
  2914. columnNumber: 7
  2915. }
  2916. }));
  2917. });
  2918. ButtonToolbar.displayName = 'ButtonToolbar';
  2919. ButtonToolbar.propTypes = ButtonToolbar_propTypes;
  2920. ButtonToolbar.defaultProps = ButtonToolbar_defaultProps;
  2921. /* harmony default export */ var src_ButtonToolbar = (ButtonToolbar);
  2922. // CONCATENATED MODULE: ./src/CardContext.js
  2923. /* harmony default export */ var CardContext = (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null));
  2924. // CONCATENATED MODULE: ./src/CardImg.js
  2925. var CardImg_this = undefined,
  2926. CardImg_jsxFileName = "/Users/jquense/src/react-bootstrap/src/CardImg.js";
  2927. var CardImg_propTypes = {
  2928. /**
  2929. * @default 'card-img'
  2930. */
  2931. bsPrefix: prop_types_default.a.string,
  2932. /**
  2933. * Defines image position inside
  2934. * the card.
  2935. *
  2936. * @type {('top'|'bottom')}
  2937. */
  2938. variant: prop_types_default.a.oneOf(['top', 'bottom', null]),
  2939. as: prop_types_default.a.elementType
  2940. };
  2941. var CardImg_defaultProps = {
  2942. variant: null
  2943. };
  2944. 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
  2945. function (_ref, ref) {
  2946. var bsPrefix = _ref.bsPrefix,
  2947. className = _ref.className,
  2948. variant = _ref.variant,
  2949. _ref$as = _ref.as,
  2950. Component = _ref$as === void 0 ? 'img' : _ref$as,
  2951. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "variant", "as"]);
  2952. var prefix = useBootstrapPrefix(bsPrefix, 'card-img');
  2953. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  2954. ref: ref,
  2955. className: classnames_default()(variant ? prefix + "-" + variant : prefix, className)
  2956. }, props, {
  2957. __self: CardImg_this,
  2958. __source: {
  2959. fileName: CardImg_jsxFileName,
  2960. lineNumber: 34,
  2961. columnNumber: 7
  2962. }
  2963. }));
  2964. });
  2965. CardImg.displayName = 'CardImg';
  2966. CardImg.propTypes = CardImg_propTypes;
  2967. CardImg.defaultProps = CardImg_defaultProps;
  2968. /* harmony default export */ var src_CardImg = (CardImg);
  2969. // CONCATENATED MODULE: ./src/Card.js
  2970. var Card_this = undefined,
  2971. Card_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Card.js";
  2972. var DivStyledAsH5 = divWithClassName('h5');
  2973. var DivStyledAsH6 = divWithClassName('h6');
  2974. var CardBody = createWithBsPrefix('card-body');
  2975. var Card_propTypes = {
  2976. /**
  2977. * @default 'card'
  2978. */
  2979. bsPrefix: prop_types_default.a.string,
  2980. /**
  2981. * Sets card background
  2982. *
  2983. * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'dark'|'light')}
  2984. */
  2985. bg: prop_types_default.a.string,
  2986. /**
  2987. * Sets card text color
  2988. *
  2989. * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'dark'|'light'|'white'|'muted')}
  2990. */
  2991. text: prop_types_default.a.string,
  2992. /**
  2993. * Sets card border color
  2994. *
  2995. * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'dark'|'light')}
  2996. */
  2997. border: prop_types_default.a.string,
  2998. /**
  2999. * When this prop is set, it creates a Card with a Card.Body inside
  3000. * passing the children directly to it
  3001. */
  3002. body: prop_types_default.a.bool,
  3003. as: prop_types_default.a.elementType
  3004. };
  3005. var Card_defaultProps = {
  3006. body: false
  3007. };
  3008. var Card = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  3009. var bsPrefix = _ref.bsPrefix,
  3010. className = _ref.className,
  3011. bg = _ref.bg,
  3012. text = _ref.text,
  3013. border = _ref.border,
  3014. body = _ref.body,
  3015. children = _ref.children,
  3016. _ref$as = _ref.as,
  3017. Component = _ref$as === void 0 ? 'div' : _ref$as,
  3018. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "bg", "text", "border", "body", "children", "as"]);
  3019. var prefix = useBootstrapPrefix(bsPrefix, 'card');
  3020. var cardContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  3021. return {
  3022. cardHeaderBsPrefix: prefix + "-header"
  3023. };
  3024. }, [prefix]);
  3025. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(CardContext.Provider, {
  3026. value: cardContext,
  3027. __self: Card_this,
  3028. __source: {
  3029. fileName: Card_jsxFileName,
  3030. lineNumber: 81,
  3031. columnNumber: 7
  3032. }
  3033. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  3034. ref: ref
  3035. }, props, {
  3036. className: classnames_default()(className, prefix, bg && "bg-" + bg, text && "text-" + text, border && "border-" + border),
  3037. __self: Card_this,
  3038. __source: {
  3039. fileName: Card_jsxFileName,
  3040. lineNumber: 82,
  3041. columnNumber: 9
  3042. }
  3043. }), body ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(CardBody, {
  3044. __self: Card_this,
  3045. __source: {
  3046. fileName: Card_jsxFileName,
  3047. lineNumber: 93,
  3048. columnNumber: 19
  3049. }
  3050. }, children) : children));
  3051. });
  3052. Card.displayName = 'Card';
  3053. Card.propTypes = Card_propTypes;
  3054. Card.defaultProps = Card_defaultProps;
  3055. Card.Img = src_CardImg;
  3056. Card.Title = createWithBsPrefix('card-title', {
  3057. Component: DivStyledAsH5
  3058. });
  3059. Card.Subtitle = createWithBsPrefix('card-subtitle', {
  3060. Component: DivStyledAsH6
  3061. });
  3062. Card.Body = CardBody;
  3063. Card.Link = createWithBsPrefix('card-link', {
  3064. Component: 'a'
  3065. });
  3066. Card.Text = createWithBsPrefix('card-text', {
  3067. Component: 'p'
  3068. });
  3069. Card.Header = createWithBsPrefix('card-header');
  3070. Card.Footer = createWithBsPrefix('card-footer');
  3071. Card.ImgOverlay = createWithBsPrefix('card-img-overlay');
  3072. /* harmony default export */ var src_Card = (Card);
  3073. // CONCATENATED MODULE: ./src/CardColumns.js
  3074. /* harmony default export */ var CardColumns = (createWithBsPrefix('card-columns'));
  3075. // CONCATENATED MODULE: ./src/CardDeck.js
  3076. /* harmony default export */ var CardDeck = (createWithBsPrefix('card-deck'));
  3077. // CONCATENATED MODULE: ./src/CardGroup.js
  3078. /* harmony default export */ var CardGroup = (createWithBsPrefix('card-group'));
  3079. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useUpdateEffect.js
  3080. /**
  3081. * Runs an effect only when the dependencies have changed, skipping the
  3082. * initial "on mount" run. Caution, if the dependency list never changes,
  3083. * the effect is **never run**
  3084. *
  3085. * ```ts
  3086. * const ref = useRef<HTMLInput>(null);
  3087. *
  3088. * // focuses an element only if the focus changes, and not on mount
  3089. * useUpdateEffect(() => {
  3090. * const element = ref.current?.children[focusedIdx] as HTMLElement
  3091. *
  3092. * element?.focus()
  3093. *
  3094. * }, [focusedIndex])
  3095. * ```
  3096. * @param effect An effect to run on mount
  3097. *
  3098. * @category effects
  3099. */
  3100. function useUpdateEffect(fn, deps) {
  3101. var isFirst = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(true);
  3102. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  3103. if (isFirst.current) {
  3104. isFirst.current = false;
  3105. return;
  3106. }
  3107. return fn();
  3108. }, deps);
  3109. }
  3110. /* harmony default export */ var esm_useUpdateEffect = (useUpdateEffect);
  3111. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useMounted.js
  3112. /**
  3113. * Track whether a component is current mounted. Generally less preferable than
  3114. * properlly canceling effects so they don't run after a component is unmounted,
  3115. * but helpful in cases where that isn't feasible, such as a `Promise` resolution.
  3116. *
  3117. * @returns a function that returns the current isMounted state of the component
  3118. *
  3119. * ```ts
  3120. * const [data, setData] = useState(null)
  3121. * const isMounted = useMounted()
  3122. *
  3123. * useEffect(() => {
  3124. * fetchdata().then((newData) => {
  3125. * if (isMounted()) {
  3126. * setData(newData);
  3127. * }
  3128. * })
  3129. * })
  3130. * ```
  3131. */
  3132. function useMounted() {
  3133. var mounted = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(true);
  3134. var isMounted = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(function () {
  3135. return mounted.current;
  3136. });
  3137. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  3138. return function () {
  3139. mounted.current = false;
  3140. };
  3141. }, []);
  3142. return isMounted.current;
  3143. }
  3144. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useUpdatedRef.js
  3145. /**
  3146. * Returns a ref that is immediately updated with the new value
  3147. *
  3148. * @param value The Ref value
  3149. * @category refs
  3150. */
  3151. function useUpdatedRef(value) {
  3152. var valueRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(value);
  3153. valueRef.current = value;
  3154. return valueRef;
  3155. }
  3156. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useWillUnmount.js
  3157. /**
  3158. * Attach a callback that fires when a component unmounts
  3159. *
  3160. * @param fn Handler to run when the component unmounts
  3161. * @category effects
  3162. */
  3163. function useWillUnmount(fn) {
  3164. var onUnmount = useUpdatedRef(fn);
  3165. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  3166. return function () {
  3167. return onUnmount.current();
  3168. };
  3169. }, []);
  3170. }
  3171. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useTimeout.js
  3172. /*
  3173. * Browsers including Internet Explorer, Chrome, Safari, and Firefox store the
  3174. * delay as a 32-bit signed integer internally. This causes an integer overflow
  3175. * when using delays larger than 2,147,483,647 ms (about 24.8 days),
  3176. * resulting in the timeout being executed immediately.
  3177. *
  3178. * via: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout
  3179. */
  3180. var MAX_DELAY_MS = Math.pow(2, 31) - 1;
  3181. function setChainedTimeout(handleRef, fn, timeoutAtMs) {
  3182. var delayMs = timeoutAtMs - Date.now();
  3183. handleRef.current = delayMs <= MAX_DELAY_MS ? setTimeout(fn, delayMs) : setTimeout(function () {
  3184. return setChainedTimeout(handleRef, fn, timeoutAtMs);
  3185. }, MAX_DELAY_MS);
  3186. }
  3187. /**
  3188. * Returns a controller object for setting a timeout that is properly cleaned up
  3189. * once the component unmounts. New timeouts cancel and replace existing ones.
  3190. */
  3191. function useTimeout() {
  3192. var isMounted = useMounted(); // types are confused between node and web here IDK
  3193. var handleRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])();
  3194. useWillUnmount(function () {
  3195. return clearTimeout(handleRef.current);
  3196. });
  3197. return Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  3198. var clear = function clear() {
  3199. return clearTimeout(handleRef.current);
  3200. };
  3201. function set(fn, delayMs) {
  3202. if (delayMs === void 0) {
  3203. delayMs = 0;
  3204. }
  3205. if (!isMounted()) return;
  3206. clear();
  3207. if (delayMs <= MAX_DELAY_MS) {
  3208. // For simplicity, if the timeout is short, just set a normal timeout.
  3209. handleRef.current = setTimeout(fn, delayMs);
  3210. } else {
  3211. setChainedTimeout(handleRef, fn, Date.now() + delayMs);
  3212. }
  3213. }
  3214. return {
  3215. set: set,
  3216. clear: clear
  3217. };
  3218. }, []);
  3219. }
  3220. // CONCATENATED MODULE: ./src/CarouselCaption.js
  3221. /* harmony default export */ var CarouselCaption = (createWithBsPrefix('carousel-caption', {
  3222. Component: 'div'
  3223. }));
  3224. // CONCATENATED MODULE: ./src/CarouselItem.js
  3225. /* harmony default export */ var CarouselItem = (createWithBsPrefix('carousel-item'));
  3226. // CONCATENATED MODULE: ./src/ElementChildren.js
  3227. /**
  3228. * Iterates through children that are typically specified as `props.children`,
  3229. * but only maps over children that are "valid elements".
  3230. *
  3231. * The mapFunction provided index will be normalised to the components mapped,
  3232. * so an invalid component would not increase the index.
  3233. *
  3234. */
  3235. function map(children, func) {
  3236. var index = 0;
  3237. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.map(children, function (child) {
  3238. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.isValidElement(child) ? func(child, index++) : child;
  3239. });
  3240. }
  3241. /**
  3242. * Iterates through children that are "valid elements".
  3243. *
  3244. * The provided forEachFunc(child, index) will be called for each
  3245. * leaf child with the index reflecting the position relative to "valid components".
  3246. */
  3247. function forEach(children, func) {
  3248. var index = 0;
  3249. external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.forEach(children, function (child) {
  3250. if (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.isValidElement(child)) func(child, index++);
  3251. });
  3252. }
  3253. // CONCATENATED MODULE: ./src/Carousel.js
  3254. var Carousel_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Carousel.js",
  3255. Carousel_this = undefined;
  3256. var SWIPE_THRESHOLD = 40;
  3257. var Carousel_propTypes = {
  3258. /**
  3259. * @default 'carousel'
  3260. */
  3261. bsPrefix: prop_types_default.a.string,
  3262. as: prop_types_default.a.elementType,
  3263. /**
  3264. * Enables animation on the Carousel as it transitions between slides.
  3265. */
  3266. slide: prop_types_default.a.bool,
  3267. /** Cross fade slides instead of the default slide animation */
  3268. fade: prop_types_default.a.bool,
  3269. /**
  3270. * Show the Carousel previous and next arrows for changing the current slide
  3271. */
  3272. controls: prop_types_default.a.bool,
  3273. /**
  3274. * Show a set of slide position indicators
  3275. */
  3276. indicators: prop_types_default.a.bool,
  3277. /**
  3278. * Controls the current visible slide
  3279. *
  3280. * @controllable onSelect
  3281. */
  3282. activeIndex: prop_types_default.a.number,
  3283. /**
  3284. * Callback fired when the active item changes.
  3285. *
  3286. * ```js
  3287. * (eventKey: number, event: Object | null) => void
  3288. * ```
  3289. *
  3290. * @controllable activeIndex
  3291. */
  3292. onSelect: prop_types_default.a.func,
  3293. /**
  3294. * Callback fired when a slide transition starts.
  3295. *
  3296. * ```js
  3297. * (eventKey: number, direction: 'left' | 'right') => void
  3298. */
  3299. onSlide: prop_types_default.a.func,
  3300. /**
  3301. * Callback fired when a slide transition ends.
  3302. *
  3303. * ```js
  3304. * (eventKey: number, direction: 'left' | 'right') => void
  3305. */
  3306. onSlid: prop_types_default.a.func,
  3307. /**
  3308. * The amount of time to delay between automatically cycling an item. If `null`, carousel will not automatically cycle.
  3309. */
  3310. interval: prop_types_default.a.number,
  3311. /** Whether the carousel should react to keyboard events. */
  3312. keyboard: prop_types_default.a.bool,
  3313. /**
  3314. * 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.
  3315. *
  3316. * 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.
  3317. */
  3318. pause: prop_types_default.a.oneOf(['hover', false]),
  3319. /** Whether the carousel should cycle continuously or have hard stops. */
  3320. wrap: prop_types_default.a.bool,
  3321. /**
  3322. * Whether the carousel should support left/right swipe interactions on touchscreen devices.
  3323. */
  3324. touch: prop_types_default.a.bool,
  3325. /** Override the default button icon for the "previous" control */
  3326. prevIcon: prop_types_default.a.node,
  3327. /**
  3328. * Label shown to screen readers only, can be used to show the previous element
  3329. * in the carousel.
  3330. * Set to null to deactivate.
  3331. */
  3332. prevLabel: prop_types_default.a.string,
  3333. /** Override the default button icon for the "next" control */
  3334. nextIcon: prop_types_default.a.node,
  3335. /**
  3336. * Label shown to screen readers only, can be used to show the next element
  3337. * in the carousel.
  3338. * Set to null to deactivate.
  3339. */
  3340. nextLabel: prop_types_default.a.string
  3341. };
  3342. var Carousel_defaultProps = {
  3343. slide: true,
  3344. fade: false,
  3345. controls: true,
  3346. indicators: true,
  3347. defaultActiveIndex: 0,
  3348. interval: 5000,
  3349. keyboard: true,
  3350. pause: 'hover',
  3351. wrap: true,
  3352. touch: true,
  3353. prevIcon: /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  3354. "aria-hidden": "true",
  3355. className: "carousel-control-prev-icon",
  3356. __self: undefined,
  3357. __source: {
  3358. fileName: Carousel_jsxFileName,
  3359. lineNumber: 142,
  3360. columnNumber: 13
  3361. }
  3362. }),
  3363. prevLabel: 'Previous',
  3364. nextIcon: /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  3365. "aria-hidden": "true",
  3366. className: "carousel-control-next-icon",
  3367. __self: undefined,
  3368. __source: {
  3369. fileName: Carousel_jsxFileName,
  3370. lineNumber: 145,
  3371. columnNumber: 13
  3372. }
  3373. }),
  3374. nextLabel: 'Next'
  3375. };
  3376. function isVisible(element) {
  3377. if (!element || !element.style || !element.parentNode || !element.parentNode.style) {
  3378. return false;
  3379. }
  3380. var elementStyle = getComputedStyle(element);
  3381. return elementStyle.display !== 'none' && elementStyle.visibility !== 'hidden' && getComputedStyle(element.parentNode).display !== 'none';
  3382. }
  3383. var Carousel = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (uncontrolledProps, ref) {
  3384. var _useUncontrolled = useUncontrolled(uncontrolledProps, {
  3385. activeIndex: 'onSelect'
  3386. }),
  3387. _useUncontrolled$as = _useUncontrolled.as,
  3388. Component = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,
  3389. bsPrefix = _useUncontrolled.bsPrefix,
  3390. slide = _useUncontrolled.slide,
  3391. fade = _useUncontrolled.fade,
  3392. controls = _useUncontrolled.controls,
  3393. indicators = _useUncontrolled.indicators,
  3394. activeIndex = _useUncontrolled.activeIndex,
  3395. onSelect = _useUncontrolled.onSelect,
  3396. onSlide = _useUncontrolled.onSlide,
  3397. onSlid = _useUncontrolled.onSlid,
  3398. interval = _useUncontrolled.interval,
  3399. keyboard = _useUncontrolled.keyboard,
  3400. onKeyDown = _useUncontrolled.onKeyDown,
  3401. pause = _useUncontrolled.pause,
  3402. onMouseOver = _useUncontrolled.onMouseOver,
  3403. onMouseOut = _useUncontrolled.onMouseOut,
  3404. wrap = _useUncontrolled.wrap,
  3405. touch = _useUncontrolled.touch,
  3406. onTouchStart = _useUncontrolled.onTouchStart,
  3407. onTouchMove = _useUncontrolled.onTouchMove,
  3408. onTouchEnd = _useUncontrolled.onTouchEnd,
  3409. prevIcon = _useUncontrolled.prevIcon,
  3410. prevLabel = _useUncontrolled.prevLabel,
  3411. nextIcon = _useUncontrolled.nextIcon,
  3412. nextLabel = _useUncontrolled.nextLabel,
  3413. className = _useUncontrolled.className,
  3414. children = _useUncontrolled.children,
  3415. 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"]);
  3416. var prefix = useBootstrapPrefix(bsPrefix, 'carousel');
  3417. var nextDirectionRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null);
  3418. var _useState = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])('next'),
  3419. direction = _useState[0],
  3420. setDirection = _useState[1];
  3421. var _useState2 = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(false),
  3422. isSliding = _useState2[0],
  3423. setIsSliding = _useState2[1];
  3424. var _useState3 = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(activeIndex),
  3425. renderedActiveIndex = _useState3[0],
  3426. setRenderedActiveIndex = _useState3[1];
  3427. if (!isSliding && activeIndex !== renderedActiveIndex) {
  3428. if (nextDirectionRef.current) {
  3429. setDirection(nextDirectionRef.current);
  3430. nextDirectionRef.current = null;
  3431. } else {
  3432. setDirection(activeIndex > renderedActiveIndex ? 'next' : 'prev');
  3433. }
  3434. if (slide) {
  3435. setIsSliding(true);
  3436. }
  3437. setRenderedActiveIndex(activeIndex);
  3438. }
  3439. 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;
  3440. var prev = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) {
  3441. if (isSliding) {
  3442. return;
  3443. }
  3444. var nextActiveIndex = renderedActiveIndex - 1;
  3445. if (nextActiveIndex < 0) {
  3446. if (!wrap) {
  3447. return;
  3448. }
  3449. nextActiveIndex = numChildren - 1;
  3450. }
  3451. nextDirectionRef.current = 'prev';
  3452. onSelect(nextActiveIndex, event);
  3453. }, [isSliding, renderedActiveIndex, onSelect, wrap, numChildren]); // This is used in the setInterval, so it should not invalidate.
  3454. var next = useEventCallback(function (event) {
  3455. if (isSliding) {
  3456. return;
  3457. }
  3458. var nextActiveIndex = renderedActiveIndex + 1;
  3459. if (nextActiveIndex >= numChildren) {
  3460. if (!wrap) {
  3461. return;
  3462. }
  3463. nextActiveIndex = 0;
  3464. }
  3465. nextDirectionRef.current = 'next';
  3466. onSelect(nextActiveIndex, event);
  3467. });
  3468. var elementRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])();
  3469. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useImperativeHandle"])(ref, function () {
  3470. return {
  3471. element: elementRef.current,
  3472. prev: prev,
  3473. next: next
  3474. };
  3475. }); // This is used in the setInterval, so it should not invalidate.
  3476. var nextWhenVisible = useEventCallback(function () {
  3477. if (!document.hidden && isVisible(elementRef.current)) {
  3478. next();
  3479. }
  3480. });
  3481. var slideDirection = direction === 'next' ? 'left' : 'right';
  3482. esm_useUpdateEffect(function () {
  3483. if (slide) {
  3484. // These callbacks will be handled by the <Transition> callbacks.
  3485. return;
  3486. }
  3487. if (onSlide) {
  3488. onSlide(renderedActiveIndex, slideDirection);
  3489. }
  3490. if (onSlid) {
  3491. onSlid(renderedActiveIndex, slideDirection);
  3492. }
  3493. }, [renderedActiveIndex]);
  3494. var orderClassName = prefix + "-item-" + direction;
  3495. var directionalClassName = prefix + "-item-" + slideDirection;
  3496. var handleEnter = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (node) {
  3497. triggerBrowserReflow(node);
  3498. if (onSlide) {
  3499. onSlide(renderedActiveIndex, slideDirection);
  3500. }
  3501. }, [onSlide, renderedActiveIndex, slideDirection]);
  3502. var handleEntered = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () {
  3503. setIsSliding(false);
  3504. if (onSlid) {
  3505. onSlid(renderedActiveIndex, slideDirection);
  3506. }
  3507. }, [onSlid, renderedActiveIndex, slideDirection]);
  3508. var handleKeyDown = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) {
  3509. if (keyboard && !/input|textarea/i.test(event.target.tagName)) {
  3510. switch (event.key) {
  3511. case 'ArrowLeft':
  3512. event.preventDefault();
  3513. prev(event);
  3514. return;
  3515. case 'ArrowRight':
  3516. event.preventDefault();
  3517. next(event);
  3518. return;
  3519. default:
  3520. }
  3521. }
  3522. if (onKeyDown) {
  3523. onKeyDown(event);
  3524. }
  3525. }, [keyboard, onKeyDown, prev, next]);
  3526. var _useState4 = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(false),
  3527. pausedOnHover = _useState4[0],
  3528. setPausedOnHover = _useState4[1];
  3529. var handleMouseOver = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) {
  3530. if (pause === 'hover') {
  3531. setPausedOnHover(true);
  3532. }
  3533. if (onMouseOver) {
  3534. onMouseOver(event);
  3535. }
  3536. }, [pause, onMouseOver]);
  3537. var handleMouseOut = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) {
  3538. setPausedOnHover(false);
  3539. if (onMouseOut) {
  3540. onMouseOut(event);
  3541. }
  3542. }, [onMouseOut]);
  3543. var touchStartXRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(0);
  3544. var touchDeltaXRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(0);
  3545. var _useState5 = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(false),
  3546. pausedOnTouch = _useState5[0],
  3547. setPausedOnTouch = _useState5[1];
  3548. var touchUnpauseTimeout = useTimeout();
  3549. var handleTouchStart = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) {
  3550. touchStartXRef.current = event.touches[0].clientX;
  3551. touchDeltaXRef.current = 0;
  3552. if (touch) {
  3553. setPausedOnTouch(true);
  3554. }
  3555. if (onTouchStart) {
  3556. onTouchStart(event);
  3557. }
  3558. }, [touch, onTouchStart]);
  3559. var handleTouchMove = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) {
  3560. if (event.touches && event.touches.length > 1) {
  3561. touchDeltaXRef.current = 0;
  3562. } else {
  3563. touchDeltaXRef.current = event.touches[0].clientX - touchStartXRef.current;
  3564. }
  3565. if (onTouchMove) {
  3566. onTouchMove(event);
  3567. }
  3568. }, [onTouchMove]);
  3569. var handleTouchEnd = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) {
  3570. if (touch) {
  3571. var touchDeltaX = touchDeltaXRef.current;
  3572. if (Math.abs(touchDeltaX) <= SWIPE_THRESHOLD) {
  3573. return;
  3574. }
  3575. if (touchDeltaX > 0) {
  3576. prev(event);
  3577. } else {
  3578. next(event);
  3579. }
  3580. }
  3581. touchUnpauseTimeout.set(function () {
  3582. setPausedOnTouch(false);
  3583. }, interval);
  3584. if (onTouchEnd) {
  3585. onTouchEnd(event);
  3586. }
  3587. }, [touch, prev, next, touchUnpauseTimeout, interval, onTouchEnd]);
  3588. var shouldPlay = interval != null && !pausedOnHover && !pausedOnTouch && !isSliding;
  3589. var intervalHandleRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])();
  3590. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  3591. if (!shouldPlay) {
  3592. return undefined;
  3593. }
  3594. intervalHandleRef.current = setInterval(document.visibilityState ? nextWhenVisible : next, interval);
  3595. return function () {
  3596. clearInterval(intervalHandleRef.current);
  3597. };
  3598. }, [shouldPlay, next, interval, nextWhenVisible]);
  3599. var indicatorOnClicks = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  3600. return indicators && Array.from({
  3601. length: numChildren
  3602. }, function (_, index) {
  3603. return function (event) {
  3604. onSelect(index, event);
  3605. };
  3606. });
  3607. }, [indicators, numChildren, onSelect]);
  3608. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  3609. ref: elementRef
  3610. }, props, {
  3611. onKeyDown: handleKeyDown,
  3612. onMouseOver: handleMouseOver,
  3613. onMouseOut: handleMouseOut,
  3614. onTouchStart: handleTouchStart,
  3615. onTouchMove: handleTouchMove,
  3616. onTouchEnd: handleTouchEnd,
  3617. className: classnames_default()(className, prefix, slide && 'slide', fade && prefix + "-fade"),
  3618. __self: Carousel_this,
  3619. __source: {
  3620. fileName: Carousel_jsxFileName,
  3621. lineNumber: 464,
  3622. columnNumber: 5
  3623. }
  3624. }), indicators && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("ol", {
  3625. className: prefix + "-indicators",
  3626. __self: Carousel_this,
  3627. __source: {
  3628. fileName: Carousel_jsxFileName,
  3629. lineNumber: 481,
  3630. columnNumber: 9
  3631. }
  3632. }, map(children, function (child, index) {
  3633. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("li", {
  3634. key: index,
  3635. className: index === renderedActiveIndex ? 'active' : null,
  3636. onClick: indicatorOnClicks[index],
  3637. __self: Carousel_this,
  3638. __source: {
  3639. fileName: Carousel_jsxFileName,
  3640. lineNumber: 483,
  3641. columnNumber: 13
  3642. }
  3643. });
  3644. })), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  3645. className: prefix + "-inner",
  3646. __self: Carousel_this,
  3647. __source: {
  3648. fileName: Carousel_jsxFileName,
  3649. lineNumber: 492,
  3650. columnNumber: 7
  3651. }
  3652. }, map(children, function (child, index) {
  3653. var isActive = index === renderedActiveIndex;
  3654. return slide ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_Transition, {
  3655. in: isActive,
  3656. onEnter: isActive ? handleEnter : null,
  3657. onEntered: isActive ? handleEntered : null,
  3658. addEndListener: esm_transitionEnd,
  3659. __self: Carousel_this,
  3660. __source: {
  3661. fileName: Carousel_jsxFileName,
  3662. lineNumber: 497,
  3663. columnNumber: 13
  3664. }
  3665. }, function (status) {
  3666. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(child, {
  3667. className: classnames_default()(child.props.className, isActive && status !== 'entered' && orderClassName, (status === 'entered' || status === 'exiting') && 'active', (status === 'entering' || status === 'exiting') && directionalClassName)
  3668. });
  3669. }) : external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(child, {
  3670. className: classnames_default()(child.props.className, isActive && 'active')
  3671. });
  3672. })), 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, {
  3673. className: prefix + "-control-prev",
  3674. onClick: prev,
  3675. __self: Carousel_this,
  3676. __source: {
  3677. fileName: Carousel_jsxFileName,
  3678. lineNumber: 529,
  3679. columnNumber: 13
  3680. }
  3681. }, prevIcon, prevLabel && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  3682. className: "sr-only",
  3683. __self: Carousel_this,
  3684. __source: {
  3685. fileName: Carousel_jsxFileName,
  3686. lineNumber: 531,
  3687. columnNumber: 29
  3688. }
  3689. }, prevLabel)), (wrap || activeIndex !== numChildren - 1) && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SafeAnchor, {
  3690. className: prefix + "-control-next",
  3691. onClick: next,
  3692. __self: Carousel_this,
  3693. __source: {
  3694. fileName: Carousel_jsxFileName,
  3695. lineNumber: 535,
  3696. columnNumber: 13
  3697. }
  3698. }, nextIcon, nextLabel && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  3699. className: "sr-only",
  3700. __self: Carousel_this,
  3701. __source: {
  3702. fileName: Carousel_jsxFileName,
  3703. lineNumber: 537,
  3704. columnNumber: 29
  3705. }
  3706. }, nextLabel))));
  3707. });
  3708. Carousel.displayName = 'Carousel';
  3709. Carousel.propTypes = Carousel_propTypes;
  3710. Carousel.defaultProps = Carousel_defaultProps;
  3711. Carousel.Caption = CarouselCaption;
  3712. Carousel.Item = CarouselItem;
  3713. /* harmony default export */ var src_Carousel = (Carousel);
  3714. // CONCATENATED MODULE: ./src/Col.js
  3715. var Col_this = undefined,
  3716. Col_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Col.js";
  3717. var DEVICE_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];
  3718. 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'])]);
  3719. var stringOrNumber = prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]);
  3720. var Col_column = prop_types_default.a.oneOfType([colSize, prop_types_default.a.shape({
  3721. size: colSize,
  3722. order: stringOrNumber,
  3723. offset: stringOrNumber
  3724. })]);
  3725. var Col_propTypes = {
  3726. /**
  3727. * @default 'col'
  3728. */
  3729. bsPrefix: prop_types_default.a.string,
  3730. as: prop_types_default.a.elementType,
  3731. /**
  3732. * The number of columns to span on extra small devices (<576px)
  3733. *
  3734. * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })}
  3735. */
  3736. xs: Col_column,
  3737. /**
  3738. * The number of columns to span on small devices (≥576px)
  3739. *
  3740. * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })}
  3741. */
  3742. sm: Col_column,
  3743. /**
  3744. * The number of columns to span on medium devices (≥768px)
  3745. *
  3746. * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })}
  3747. */
  3748. md: Col_column,
  3749. /**
  3750. * The number of columns to span on large devices (≥992px)
  3751. *
  3752. * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })}
  3753. */
  3754. lg: Col_column,
  3755. /**
  3756. * The number of columns to span on extra large devices (≥1200px)
  3757. *
  3758. * @type {(true|"auto"|number|{ span: true|"auto"|number, offset: number, order: number })}
  3759. */
  3760. xl: Col_column
  3761. };
  3762. 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
  3763. function (_ref, ref) {
  3764. var bsPrefix = _ref.bsPrefix,
  3765. className = _ref.className,
  3766. _ref$as = _ref.as,
  3767. Component = _ref$as === void 0 ? 'div' : _ref$as,
  3768. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "as"]);
  3769. var prefix = useBootstrapPrefix(bsPrefix, 'col');
  3770. var spans = [];
  3771. var classes = [];
  3772. DEVICE_SIZES.forEach(function (brkPoint) {
  3773. var propValue = props[brkPoint];
  3774. delete props[brkPoint];
  3775. var span, offset, order;
  3776. if (propValue != null && typeof propValue === 'object') {
  3777. var _propValue$span = propValue.span;
  3778. span = _propValue$span === void 0 ? true : _propValue$span;
  3779. offset = propValue.offset;
  3780. order = propValue.order;
  3781. } else {
  3782. span = propValue;
  3783. }
  3784. var infix = brkPoint !== 'xs' ? "-" + brkPoint : '';
  3785. if (span != null) spans.push(span === true ? "" + prefix + infix : "" + prefix + infix + "-" + span);
  3786. if (order != null) classes.push("order" + infix + "-" + order);
  3787. if (offset != null) classes.push("offset" + infix + "-" + offset);
  3788. });
  3789. if (!spans.length) {
  3790. spans.push(prefix); // plain 'col'
  3791. }
  3792. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  3793. ref: ref,
  3794. className: classnames_default.a.apply(void 0, [className].concat(spans, classes)),
  3795. __self: Col_this,
  3796. __source: {
  3797. fileName: Col_jsxFileName,
  3798. lineNumber: 107,
  3799. columnNumber: 7
  3800. }
  3801. }));
  3802. });
  3803. Col.displayName = 'Col';
  3804. Col.propTypes = Col_propTypes;
  3805. /* harmony default export */ var src_Col = (Col);
  3806. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/matches.js
  3807. var matchesImpl;
  3808. function matches(node, selector) {
  3809. if (!matchesImpl) {
  3810. var body = document.body;
  3811. var nativeMatch = body.matches || body.matchesSelector || body.webkitMatchesSelector || body.mozMatchesSelector || body.msMatchesSelector;
  3812. matchesImpl = function matchesImpl(n, s) {
  3813. return nativeMatch.call(n, s);
  3814. };
  3815. }
  3816. return matchesImpl(node, selector);
  3817. }
  3818. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/querySelectorAll.js
  3819. var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);
  3820. function qsa(element, selector) {
  3821. return toArray(element.querySelectorAll(selector));
  3822. }
  3823. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/usePrevious.js
  3824. /**
  3825. * Store the last of some value. Tracked via a `Ref` only updating it
  3826. * after the component renders.
  3827. *
  3828. * Helpful if you need to compare a prop value to it's previous value during render.
  3829. *
  3830. * ```ts
  3831. * function Component(props) {
  3832. * const lastProps = usePrevious(props)
  3833. *
  3834. * if (lastProps.foo !== props.foo)
  3835. * resetValueFromProps(props.foo)
  3836. * }
  3837. * ```
  3838. *
  3839. * @param value the value to track
  3840. */
  3841. function usePrevious(value) {
  3842. var ref = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null);
  3843. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  3844. ref.current = value;
  3845. });
  3846. return ref.current;
  3847. }
  3848. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useCallbackRef.js
  3849. /**
  3850. * A convenience hook around `useState` designed to be paired with
  3851. * the component [callback ref](https://reactjs.org/docs/refs-and-the-dom.html#callback-refs) api.
  3852. * Callback refs are useful over `useRef()` when you need to respond to the ref being set
  3853. * instead of lazily accessing it in an effect.
  3854. *
  3855. * ```ts
  3856. * const [element, attachRef] = useCallbackRef<HTMLDivElement>()
  3857. *
  3858. * useEffect(() => {
  3859. * if (!element) return
  3860. *
  3861. * const calendar = new FullCalendar.Calendar(element)
  3862. *
  3863. * return () => {
  3864. * calendar.destroy()
  3865. * }
  3866. * }, [element])
  3867. *
  3868. * return <div ref={attachRef} />
  3869. * ```
  3870. *
  3871. * @category refs
  3872. */
  3873. function useCallbackRef() {
  3874. return Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(null);
  3875. }
  3876. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useForceUpdate.js
  3877. /**
  3878. * Returns a function that triggers a component update. the hook equivalent to
  3879. * `this.forceUpdate()` in a class component. In most cases using a state value directly
  3880. * is preferable but may be required in some advanced usages of refs for interop or
  3881. * when direct DOM manipulation is required.
  3882. *
  3883. * ```ts
  3884. * const forceUpdate = useForceUpdate();
  3885. *
  3886. * const updateOnClick = useCallback(() => {
  3887. * forceUpdate()
  3888. * }, [forceUpdate])
  3889. *
  3890. * return <button type="button" onClick={updateOnClick}>Hi there</button>
  3891. * ```
  3892. */
  3893. function useForceUpdate() {
  3894. // The toggling state value is designed to defeat React optimizations for skipping
  3895. // updates when they are stricting equal to the last state value
  3896. var _useReducer = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useReducer"])(function (state) {
  3897. return !state;
  3898. }, false),
  3899. dispatch = _useReducer[1];
  3900. return dispatch;
  3901. }
  3902. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/DropdownContext.js
  3903. var DropdownContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null);
  3904. /* harmony default export */ var esm_DropdownContext = (DropdownContext);
  3905. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useSafeState.js
  3906. function useSafeState(state) {
  3907. var isMounted = useMounted();
  3908. return [state[0], Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (nextState) {
  3909. if (!isMounted()) return;
  3910. return state[1](nextState);
  3911. }, [isMounted, state[1]])];
  3912. }
  3913. /* harmony default export */ var esm_useSafeState = (useSafeState);
  3914. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getBasePlacement.js
  3915. function getBasePlacement(placement) {
  3916. return placement.split('-')[0];
  3917. }
  3918. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js
  3919. // Returns the layout rect of an element relative to its offsetParent. Layout
  3920. // means it doesn't take into account transforms.
  3921. function getLayoutRect(element) {
  3922. return {
  3923. x: element.offsetLeft,
  3924. y: element.offsetTop,
  3925. width: element.offsetWidth,
  3926. height: element.offsetHeight
  3927. };
  3928. }
  3929. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/contains.js
  3930. function contains(parent, child) {
  3931. // $FlowFixMe: hasOwnProperty doesn't seem to work in tests
  3932. var isShadow = Boolean(child.getRootNode && child.getRootNode().host); // First, attempt with faster native method
  3933. if (parent.contains(child)) {
  3934. return true;
  3935. } // then fallback to custom implementation with Shadow DOM support
  3936. else if (isShadow) {
  3937. var next = child;
  3938. do {
  3939. if (next && parent.isSameNode(next)) {
  3940. return true;
  3941. } // $FlowFixMe: need a better way to handle this...
  3942. next = next.parentNode || next.host;
  3943. } while (next);
  3944. } // Give up, the result is false
  3945. return false;
  3946. }
  3947. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js
  3948. /*:: import type { Window } from '../types'; */
  3949. /*:: declare function getWindow(node: Node | Window): Window; */
  3950. function getWindow(node) {
  3951. if (node.toString() !== '[object Window]') {
  3952. var ownerDocument = node.ownerDocument;
  3953. return ownerDocument ? ownerDocument.defaultView : window;
  3954. }
  3955. return node;
  3956. }
  3957. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js
  3958. function getNodeName(element) {
  3959. return element ? (element.nodeName || '').toLowerCase() : null;
  3960. }
  3961. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js
  3962. function dom_utils_getComputedStyle_getComputedStyle(element) {
  3963. return getWindow(element).getComputedStyle(element);
  3964. }
  3965. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js
  3966. /*:: declare function isElement(node: mixed): boolean %checks(node instanceof
  3967. Element); */
  3968. function isElement(node) {
  3969. var OwnElement = getWindow(node).Element;
  3970. return node instanceof OwnElement || node instanceof Element;
  3971. }
  3972. /*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof
  3973. HTMLElement); */
  3974. function isHTMLElement(node) {
  3975. var OwnElement = getWindow(node).HTMLElement;
  3976. return node instanceof OwnElement || node instanceof HTMLElement;
  3977. }
  3978. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js
  3979. function isTableElement(element) {
  3980. return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;
  3981. }
  3982. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js
  3983. function getTrueOffsetParent(element) {
  3984. if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837
  3985. dom_utils_getComputedStyle_getComputedStyle(element).position === 'fixed') {
  3986. return null;
  3987. }
  3988. return element.offsetParent;
  3989. }
  3990. function getOffsetParent(element) {
  3991. var window = getWindow(element);
  3992. var offsetParent = getTrueOffsetParent(element); // Find the nearest non-table offsetParent
  3993. while (offsetParent && isTableElement(offsetParent)) {
  3994. offsetParent = getTrueOffsetParent(offsetParent);
  3995. }
  3996. if (offsetParent && getNodeName(offsetParent) === 'body' && dom_utils_getComputedStyle_getComputedStyle(offsetParent).position === 'static') {
  3997. return window;
  3998. }
  3999. return offsetParent || window;
  4000. }
  4001. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js
  4002. function getMainAxisFromPlacement(placement) {
  4003. return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
  4004. }
  4005. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/within.js
  4006. function within(min, value, max) {
  4007. return Math.max(min, Math.min(value, max));
  4008. }
  4009. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js
  4010. function getFreshSideObject() {
  4011. return {
  4012. top: 0,
  4013. right: 0,
  4014. bottom: 0,
  4015. left: 0
  4016. };
  4017. }
  4018. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js
  4019. function mergePaddingObject(paddingObject) {
  4020. return Object.assign({}, getFreshSideObject(), {}, paddingObject);
  4021. }
  4022. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/expandToHashMap.js
  4023. function expandToHashMap(value, keys) {
  4024. return keys.reduce(function (hashMap, key) {
  4025. hashMap[key] = value;
  4026. return hashMap;
  4027. }, {});
  4028. }
  4029. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/enums.js
  4030. var enums_top = 'top';
  4031. var bottom = 'bottom';
  4032. var right = 'right';
  4033. var left = 'left';
  4034. var auto = 'auto';
  4035. var basePlacements = [enums_top, bottom, right, left];
  4036. var start = 'start';
  4037. var end = 'end';
  4038. var enums_clippingParents = 'clippingParents';
  4039. var viewport = 'viewport';
  4040. var enums_popper = 'popper';
  4041. var enums_reference = 'reference';
  4042. var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {
  4043. return acc.concat([placement + "-" + start, placement + "-" + end]);
  4044. }, []);
  4045. var enums_placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {
  4046. return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
  4047. }, []); // modifiers that need to read the DOM
  4048. var beforeRead = 'beforeRead';
  4049. var read = 'read';
  4050. var afterRead = 'afterRead'; // pure-logic modifiers
  4051. var beforeMain = 'beforeMain';
  4052. var main = 'main';
  4053. var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)
  4054. var beforeWrite = 'beforeWrite';
  4055. var write = 'write';
  4056. var afterWrite = 'afterWrite';
  4057. var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
  4058. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/arrow.js
  4059. function arrow(_ref) {
  4060. var _state$modifiersData$;
  4061. var state = _ref.state,
  4062. name = _ref.name;
  4063. var arrowElement = state.elements.arrow;
  4064. var popperOffsets = state.modifiersData.popperOffsets;
  4065. var basePlacement = getBasePlacement(state.placement);
  4066. var axis = getMainAxisFromPlacement(basePlacement);
  4067. var isVertical = [left, right].indexOf(basePlacement) >= 0;
  4068. var len = isVertical ? 'height' : 'width';
  4069. if (!arrowElement || !popperOffsets) {
  4070. return;
  4071. }
  4072. var paddingObject = state.modifiersData[name + "#persistent"].padding;
  4073. var arrowRect = getLayoutRect(arrowElement);
  4074. var minProp = axis === 'y' ? enums_top : left;
  4075. var maxProp = axis === 'y' ? bottom : right;
  4076. var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];
  4077. var startDiff = popperOffsets[axis] - state.rects.reference[axis];
  4078. var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
  4079. var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
  4080. var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is
  4081. // outside of the popper bounds
  4082. var min = paddingObject[minProp];
  4083. var max = clientSize - arrowRect[len] - paddingObject[maxProp];
  4084. var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;
  4085. var offset = within(min, center, max); // Prevents breaking syntax highlighting...
  4086. var axisProp = axis;
  4087. state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);
  4088. }
  4089. function effect(_ref2) {
  4090. var state = _ref2.state,
  4091. options = _ref2.options,
  4092. name = _ref2.name;
  4093. var _options$element = options.element,
  4094. arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element,
  4095. _options$padding = options.padding,
  4096. padding = _options$padding === void 0 ? 0 : _options$padding;
  4097. if (arrowElement == null) {
  4098. return;
  4099. } // CSS selector
  4100. if (typeof arrowElement === 'string') {
  4101. arrowElement = state.elements.popper.querySelector(arrowElement);
  4102. if (!arrowElement) {
  4103. return;
  4104. }
  4105. }
  4106. if (!contains(state.elements.popper, arrowElement)) {
  4107. if (false) {}
  4108. return;
  4109. }
  4110. state.elements.arrow = arrowElement;
  4111. state.modifiersData[name + "#persistent"] = {
  4112. padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements))
  4113. };
  4114. } // eslint-disable-next-line import/no-unused-modules
  4115. /* harmony default export */ var modifiers_arrow = ({
  4116. name: 'arrow',
  4117. enabled: true,
  4118. phase: 'main',
  4119. fn: arrow,
  4120. effect: effect,
  4121. requires: ['popperOffsets'],
  4122. requiresIfExists: ['preventOverflow']
  4123. });
  4124. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js
  4125. function getDocumentElement(element) {
  4126. // $FlowFixMe: assume body is always available
  4127. return (isElement(element) ? element.ownerDocument : element.document).documentElement;
  4128. }
  4129. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js
  4130. var unsetSides = {
  4131. top: 'auto',
  4132. right: 'auto',
  4133. bottom: 'auto',
  4134. left: 'auto'
  4135. }; // Round the offsets to the nearest suitable subpixel based on the DPR.
  4136. // Zooming can change the DPR, but it seems to report a value that will
  4137. // cleanly divide the values into the appropriate subpixels.
  4138. function roundOffsets(_ref) {
  4139. var x = _ref.x,
  4140. y = _ref.y;
  4141. var win = window;
  4142. var dpr = win.devicePixelRatio || 1;
  4143. return {
  4144. x: Math.round(x * dpr) / dpr || 0,
  4145. y: Math.round(y * dpr) / dpr || 0
  4146. };
  4147. }
  4148. function mapToStyles(_ref2) {
  4149. var _Object$assign2;
  4150. var popper = _ref2.popper,
  4151. popperRect = _ref2.popperRect,
  4152. placement = _ref2.placement,
  4153. offsets = _ref2.offsets,
  4154. position = _ref2.position,
  4155. gpuAcceleration = _ref2.gpuAcceleration,
  4156. adaptive = _ref2.adaptive;
  4157. var _roundOffsets = roundOffsets(offsets),
  4158. x = _roundOffsets.x,
  4159. y = _roundOffsets.y;
  4160. var hasX = offsets.hasOwnProperty('x');
  4161. var hasY = offsets.hasOwnProperty('y');
  4162. var sideX = left;
  4163. var sideY = enums_top;
  4164. var win = window;
  4165. if (adaptive) {
  4166. var offsetParent = getOffsetParent(popper);
  4167. if (offsetParent === getWindow(popper)) {
  4168. offsetParent = getDocumentElement(popper);
  4169. } // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it
  4170. /*:: offsetParent = (offsetParent: Element); */
  4171. if (placement === enums_top) {
  4172. sideY = bottom;
  4173. y -= offsetParent.clientHeight - popperRect.height;
  4174. y *= gpuAcceleration ? 1 : -1;
  4175. }
  4176. if (placement === left) {
  4177. sideX = right;
  4178. x -= offsetParent.clientWidth - popperRect.width;
  4179. x *= gpuAcceleration ? 1 : -1;
  4180. }
  4181. }
  4182. var commonStyles = Object.assign({
  4183. position: position
  4184. }, adaptive && unsetSides);
  4185. if (gpuAcceleration) {
  4186. var _Object$assign;
  4187. 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));
  4188. }
  4189. return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
  4190. }
  4191. function computeStyles(_ref3) {
  4192. var state = _ref3.state,
  4193. options = _ref3.options;
  4194. var _options$gpuAccelerat = options.gpuAcceleration,
  4195. gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
  4196. _options$adaptive = options.adaptive,
  4197. adaptive = _options$adaptive === void 0 ? true : _options$adaptive;
  4198. if (false) { var transitionProperty; }
  4199. var commonStyles = {
  4200. placement: getBasePlacement(state.placement),
  4201. popper: state.elements.popper,
  4202. popperRect: state.rects.popper,
  4203. gpuAcceleration: gpuAcceleration
  4204. };
  4205. if (state.modifiersData.popperOffsets != null) {
  4206. state.styles.popper = Object.assign({}, state.styles.popper, {}, mapToStyles(Object.assign({}, commonStyles, {
  4207. offsets: state.modifiersData.popperOffsets,
  4208. position: state.options.strategy,
  4209. adaptive: adaptive
  4210. })));
  4211. }
  4212. if (state.modifiersData.arrow != null) {
  4213. state.styles.arrow = Object.assign({}, state.styles.arrow, {}, mapToStyles(Object.assign({}, commonStyles, {
  4214. offsets: state.modifiersData.arrow,
  4215. position: 'absolute',
  4216. adaptive: false
  4217. })));
  4218. }
  4219. state.attributes.popper = Object.assign({}, state.attributes.popper, {
  4220. 'data-popper-placement': state.placement
  4221. });
  4222. } // eslint-disable-next-line import/no-unused-modules
  4223. /* harmony default export */ var modifiers_computeStyles = ({
  4224. name: 'computeStyles',
  4225. enabled: true,
  4226. phase: 'beforeWrite',
  4227. fn: computeStyles,
  4228. data: {}
  4229. });
  4230. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/eventListeners.js
  4231. var passive = {
  4232. passive: true
  4233. };
  4234. function eventListeners_effect(_ref) {
  4235. var state = _ref.state,
  4236. instance = _ref.instance,
  4237. options = _ref.options;
  4238. var _options$scroll = options.scroll,
  4239. scroll = _options$scroll === void 0 ? true : _options$scroll,
  4240. _options$resize = options.resize,
  4241. resize = _options$resize === void 0 ? true : _options$resize;
  4242. var window = getWindow(state.elements.popper);
  4243. var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
  4244. if (scroll) {
  4245. scrollParents.forEach(function (scrollParent) {
  4246. scrollParent.addEventListener('scroll', instance.update, passive);
  4247. });
  4248. }
  4249. if (resize) {
  4250. window.addEventListener('resize', instance.update, passive);
  4251. }
  4252. return function () {
  4253. if (scroll) {
  4254. scrollParents.forEach(function (scrollParent) {
  4255. scrollParent.removeEventListener('scroll', instance.update, passive);
  4256. });
  4257. }
  4258. if (resize) {
  4259. window.removeEventListener('resize', instance.update, passive);
  4260. }
  4261. };
  4262. } // eslint-disable-next-line import/no-unused-modules
  4263. /* harmony default export */ var eventListeners = ({
  4264. name: 'eventListeners',
  4265. enabled: true,
  4266. phase: 'write',
  4267. fn: function fn() {},
  4268. effect: eventListeners_effect,
  4269. data: {}
  4270. });
  4271. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js
  4272. var hash = {
  4273. left: 'right',
  4274. right: 'left',
  4275. bottom: 'top',
  4276. top: 'bottom'
  4277. };
  4278. function getOppositePlacement(placement) {
  4279. return placement.replace(/left|right|bottom|top/g, function (matched) {
  4280. return hash[matched];
  4281. });
  4282. }
  4283. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js
  4284. var getOppositeVariationPlacement_hash = {
  4285. start: 'end',
  4286. end: 'start'
  4287. };
  4288. function getOppositeVariationPlacement(placement) {
  4289. return placement.replace(/start|end/g, function (matched) {
  4290. return getOppositeVariationPlacement_hash[matched];
  4291. });
  4292. }
  4293. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js
  4294. function getBoundingClientRect(element) {
  4295. var rect = element.getBoundingClientRect();
  4296. return {
  4297. width: rect.width,
  4298. height: rect.height,
  4299. top: rect.top,
  4300. right: rect.right,
  4301. bottom: rect.bottom,
  4302. left: rect.left,
  4303. x: rect.left,
  4304. y: rect.top
  4305. };
  4306. }
  4307. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js
  4308. function getViewportRect(element) {
  4309. var win = getWindow(element);
  4310. var visualViewport = win.visualViewport;
  4311. var width = win.innerWidth;
  4312. var height = win.innerHeight; // We don't know which browsers have buggy or odd implementations of this, so
  4313. // for now we're only applying it to iOS to fix the keyboard issue.
  4314. // Investigation required
  4315. if (visualViewport && /iPhone|iPod|iPad/.test(navigator.platform)) {
  4316. width = visualViewport.width;
  4317. height = visualViewport.height;
  4318. }
  4319. return {
  4320. width: width,
  4321. height: height,
  4322. x: 0,
  4323. y: 0
  4324. };
  4325. }
  4326. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js
  4327. function getWindowScroll(node) {
  4328. var win = getWindow(node);
  4329. var scrollLeft = win.pageXOffset;
  4330. var scrollTop = win.pageYOffset;
  4331. return {
  4332. scrollLeft: scrollLeft,
  4333. scrollTop: scrollTop
  4334. };
  4335. }
  4336. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js
  4337. function getHTMLElementScroll(element) {
  4338. return {
  4339. scrollLeft: element.scrollLeft,
  4340. scrollTop: element.scrollTop
  4341. };
  4342. }
  4343. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js
  4344. function getNodeScroll(node) {
  4345. if (node === getWindow(node) || !isHTMLElement(node)) {
  4346. return getWindowScroll(node);
  4347. } else {
  4348. return getHTMLElementScroll(node);
  4349. }
  4350. }
  4351. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js
  4352. function getWindowScrollBarX(element) {
  4353. // If <html> has a CSS width greater than the viewport, then this will be
  4354. // incorrect for RTL.
  4355. // Popper 1 is broken in this case and never had a bug report so let's assume
  4356. // it's not an issue. I don't think anyone ever specifies width on <html>
  4357. // anyway.
  4358. // Browsers where the left scrollbar doesn't cause an issue report `0` for
  4359. // this (e.g. Edge 2019, IE11, Safari)
  4360. return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
  4361. }
  4362. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js
  4363. // Returns the composite rect of an element relative to its offsetParent.
  4364. // Composite means it takes into account transforms as well as layout.
  4365. function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
  4366. if (isFixed === void 0) {
  4367. isFixed = false;
  4368. }
  4369. var documentElement;
  4370. var rect = getBoundingClientRect(elementOrVirtualElement);
  4371. var scroll = {
  4372. scrollLeft: 0,
  4373. scrollTop: 0
  4374. };
  4375. var offsets = {
  4376. x: 0,
  4377. y: 0
  4378. };
  4379. if (!isFixed) {
  4380. if (getNodeName(offsetParent) !== 'body') {
  4381. scroll = getNodeScroll(offsetParent);
  4382. }
  4383. if (isHTMLElement(offsetParent)) {
  4384. offsets = getBoundingClientRect(offsetParent);
  4385. offsets.x += offsetParent.clientLeft;
  4386. offsets.y += offsetParent.clientTop;
  4387. } else if (documentElement = getDocumentElement(offsetParent)) {
  4388. offsets.x = getWindowScrollBarX(documentElement);
  4389. }
  4390. }
  4391. return {
  4392. x: rect.left + scroll.scrollLeft - offsets.x,
  4393. y: rect.top + scroll.scrollTop - offsets.y,
  4394. width: rect.width,
  4395. height: rect.height
  4396. };
  4397. }
  4398. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js
  4399. function getDocumentRect(element) {
  4400. var win = getWindow(element);
  4401. var winScroll = getWindowScroll(element);
  4402. var documentRect = getCompositeRect(getDocumentElement(element), win);
  4403. documentRect.height = Math.max(documentRect.height, win.innerHeight);
  4404. documentRect.width = Math.max(documentRect.width, win.innerWidth);
  4405. documentRect.x = -winScroll.scrollLeft;
  4406. documentRect.y = -winScroll.scrollTop;
  4407. return documentRect;
  4408. }
  4409. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js
  4410. function getParentNode(element) {
  4411. if (getNodeName(element) === 'html') {
  4412. return element;
  4413. }
  4414. return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle
  4415. element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
  4416. element.parentNode || // DOM Element detected
  4417. // $FlowFixMe: need a better way to handle this...
  4418. element.host || // ShadowRoot detected
  4419. // $FlowFixMe: HTMLElement is a Node
  4420. getDocumentElement(element) // fallback
  4421. );
  4422. }
  4423. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js
  4424. function getScrollParent(node) {
  4425. if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {
  4426. // $FlowFixMe: assume body is always available
  4427. return node.ownerDocument.body;
  4428. }
  4429. if (isHTMLElement(node)) {
  4430. // Firefox wants us to check `-x` and `-y` variations as well
  4431. var _getComputedStyle = dom_utils_getComputedStyle_getComputedStyle(node),
  4432. overflow = _getComputedStyle.overflow,
  4433. overflowX = _getComputedStyle.overflowX,
  4434. overflowY = _getComputedStyle.overflowY;
  4435. if (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX)) {
  4436. return node;
  4437. }
  4438. }
  4439. return getScrollParent(getParentNode(node));
  4440. }
  4441. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js
  4442. function listScrollParents(element, list) {
  4443. if (list === void 0) {
  4444. list = [];
  4445. }
  4446. var scrollParent = getScrollParent(element);
  4447. var isBody = getNodeName(scrollParent) === 'body';
  4448. var win = getWindow(scrollParent);
  4449. var target = isBody ? [win].concat(win.visualViewport || []) : scrollParent;
  4450. var updatedList = list.concat(target);
  4451. return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here
  4452. updatedList.concat(listScrollParents(getParentNode(target)));
  4453. }
  4454. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBorders.js
  4455. function toNumber(cssValue) {
  4456. return parseFloat(cssValue) || 0;
  4457. }
  4458. function getBorders(element) {
  4459. var computedStyle = isHTMLElement(element) ? dom_utils_getComputedStyle_getComputedStyle(element) : {};
  4460. return {
  4461. top: toNumber(computedStyle.borderTopWidth),
  4462. right: toNumber(computedStyle.borderRightWidth),
  4463. bottom: toNumber(computedStyle.borderBottomWidth),
  4464. left: toNumber(computedStyle.borderLeftWidth)
  4465. };
  4466. }
  4467. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDecorations.js
  4468. // Borders + scrollbars
  4469. function getDecorations(element) {
  4470. var win = getWindow(element);
  4471. var borders = getBorders(element);
  4472. var isHTML = getNodeName(element) === 'html';
  4473. var winScrollBarX = getWindowScrollBarX(element);
  4474. var x = element.clientWidth + borders.right;
  4475. var y = element.clientHeight + borders.bottom; // HACK:
  4476. // document.documentElement.clientHeight on iOS reports the height of the
  4477. // viewport including the bottom bar, even if the bottom bar isn't visible.
  4478. // If the difference between window innerHeight and html clientHeight is more
  4479. // than 50, we assume it's a mobile bottom bar and ignore scrollbars.
  4480. // * A 50px thick scrollbar is likely non-existent (macOS is 15px and Windows
  4481. // is about 17px)
  4482. // * The mobile bar is 114px tall
  4483. if (isHTML && win.innerHeight - element.clientHeight > 50) {
  4484. y = win.innerHeight - borders.bottom;
  4485. }
  4486. return {
  4487. top: isHTML ? 0 : element.clientTop,
  4488. right: // RTL scrollbar (scrolling containers only)
  4489. element.clientLeft > borders.left ? borders.right : // LTR scrollbar
  4490. isHTML ? win.innerWidth - x - winScrollBarX : element.offsetWidth - x,
  4491. bottom: isHTML ? win.innerHeight - y : element.offsetHeight - y,
  4492. left: isHTML ? winScrollBarX : element.clientLeft
  4493. };
  4494. }
  4495. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/rectToClientRect.js
  4496. function rectToClientRect(rect) {
  4497. return Object.assign({}, rect, {
  4498. left: rect.x,
  4499. top: rect.y,
  4500. right: rect.x + rect.width,
  4501. bottom: rect.y + rect.height
  4502. });
  4503. }
  4504. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js
  4505. function getClientRectFromMixedType(element, clippingParent) {
  4506. return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
  4507. } // A "clipping parent" is an overflowable container with the characteristic of
  4508. // clipping (or hiding) overflowing elements with a position different from
  4509. // `initial`
  4510. function getClippingParents(element) {
  4511. var clippingParents = listScrollParents(element);
  4512. var canEscapeClipping = ['absolute', 'fixed'].indexOf(dom_utils_getComputedStyle_getComputedStyle(element).position) >= 0;
  4513. var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
  4514. if (!isElement(clipperElement)) {
  4515. return [];
  4516. } // $FlowFixMe: https://github.com/facebook/flow/issues/1414
  4517. return clippingParents.filter(function (clippingParent) {
  4518. return isElement(clippingParent) && contains(clippingParent, clipperElement);
  4519. });
  4520. } // Gets the maximum area that the element is visible in due to any number of
  4521. // clipping parents
  4522. function getClippingRect(element, boundary, rootBoundary) {
  4523. var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);
  4524. var clippingParents = [].concat(mainClippingParents, [rootBoundary]);
  4525. var firstClippingParent = clippingParents[0];
  4526. var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {
  4527. var rect = getClientRectFromMixedType(element, clippingParent);
  4528. var decorations = getDecorations(isHTMLElement(clippingParent) ? clippingParent : getDocumentElement(element));
  4529. accRect.top = Math.max(rect.top + decorations.top, accRect.top);
  4530. accRect.right = Math.min(rect.right - decorations.right, accRect.right);
  4531. accRect.bottom = Math.min(rect.bottom - decorations.bottom, accRect.bottom);
  4532. accRect.left = Math.max(rect.left + decorations.left, accRect.left);
  4533. return accRect;
  4534. }, getClientRectFromMixedType(element, firstClippingParent));
  4535. clippingRect.width = clippingRect.right - clippingRect.left;
  4536. clippingRect.height = clippingRect.bottom - clippingRect.top;
  4537. clippingRect.x = clippingRect.left;
  4538. clippingRect.y = clippingRect.top;
  4539. return clippingRect;
  4540. }
  4541. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getVariation.js
  4542. function getVariation(placement) {
  4543. return placement.split('-')[1];
  4544. }
  4545. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/computeOffsets.js
  4546. function computeOffsets(_ref) {
  4547. var reference = _ref.reference,
  4548. element = _ref.element,
  4549. placement = _ref.placement;
  4550. var basePlacement = placement ? getBasePlacement(placement) : null;
  4551. var variation = placement ? getVariation(placement) : null;
  4552. var commonX = reference.x + reference.width / 2 - element.width / 2;
  4553. var commonY = reference.y + reference.height / 2 - element.height / 2;
  4554. var offsets;
  4555. switch (basePlacement) {
  4556. case enums_top:
  4557. offsets = {
  4558. x: commonX,
  4559. y: reference.y - element.height
  4560. };
  4561. break;
  4562. case bottom:
  4563. offsets = {
  4564. x: commonX,
  4565. y: reference.y + reference.height
  4566. };
  4567. break;
  4568. case right:
  4569. offsets = {
  4570. x: reference.x + reference.width,
  4571. y: commonY
  4572. };
  4573. break;
  4574. case left:
  4575. offsets = {
  4576. x: reference.x - element.width,
  4577. y: commonY
  4578. };
  4579. break;
  4580. default:
  4581. offsets = {
  4582. x: reference.x,
  4583. y: reference.y
  4584. };
  4585. }
  4586. var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
  4587. if (mainAxis != null) {
  4588. var len = mainAxis === 'y' ? 'height' : 'width';
  4589. switch (variation) {
  4590. case start:
  4591. offsets[mainAxis] = Math.floor(offsets[mainAxis]) - Math.floor(reference[len] / 2 - element[len] / 2);
  4592. break;
  4593. case end:
  4594. offsets[mainAxis] = Math.floor(offsets[mainAxis]) + Math.ceil(reference[len] / 2 - element[len] / 2);
  4595. break;
  4596. default:
  4597. }
  4598. }
  4599. return offsets;
  4600. }
  4601. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/detectOverflow.js
  4602. function detectOverflow(state, options) {
  4603. if (options === void 0) {
  4604. options = {};
  4605. }
  4606. var _options = options,
  4607. _options$placement = _options.placement,
  4608. placement = _options$placement === void 0 ? state.placement : _options$placement,
  4609. _options$boundary = _options.boundary,
  4610. boundary = _options$boundary === void 0 ? enums_clippingParents : _options$boundary,
  4611. _options$rootBoundary = _options.rootBoundary,
  4612. rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,
  4613. _options$elementConte = _options.elementContext,
  4614. elementContext = _options$elementConte === void 0 ? enums_popper : _options$elementConte,
  4615. _options$altBoundary = _options.altBoundary,
  4616. altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,
  4617. _options$padding = _options.padding,
  4618. padding = _options$padding === void 0 ? 0 : _options$padding;
  4619. var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
  4620. var altContext = elementContext === enums_popper ? enums_reference : enums_popper;
  4621. var referenceElement = state.elements.reference;
  4622. var popperRect = state.rects.popper;
  4623. var element = state.elements[altBoundary ? altContext : elementContext];
  4624. var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);
  4625. var referenceClientRect = getBoundingClientRect(referenceElement);
  4626. var popperOffsets = computeOffsets({
  4627. reference: referenceClientRect,
  4628. element: popperRect,
  4629. strategy: 'absolute',
  4630. placement: placement
  4631. });
  4632. var popperClientRect = rectToClientRect(Object.assign({}, popperRect, {}, popperOffsets));
  4633. var elementClientRect = elementContext === enums_popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect
  4634. // 0 or negative = within the clipping rect
  4635. var overflowOffsets = {
  4636. top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
  4637. bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
  4638. left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
  4639. right: elementClientRect.right - clippingClientRect.right + paddingObject.right
  4640. };
  4641. var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element
  4642. if (elementContext === enums_popper && offsetData) {
  4643. var offset = offsetData[placement];
  4644. Object.keys(overflowOffsets).forEach(function (key) {
  4645. var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;
  4646. var axis = [enums_top, bottom].indexOf(key) >= 0 ? 'y' : 'x';
  4647. overflowOffsets[key] += offset[axis] * multiply;
  4648. });
  4649. }
  4650. return overflowOffsets;
  4651. }
  4652. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js
  4653. /*:: type OverflowsMap = { [ComputedPlacement]: number }; */
  4654. /*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */
  4655. function computeAutoPlacement(state, options) {
  4656. if (options === void 0) {
  4657. options = {};
  4658. }
  4659. var _options = options,
  4660. placement = _options.placement,
  4661. boundary = _options.boundary,
  4662. rootBoundary = _options.rootBoundary,
  4663. padding = _options.padding,
  4664. flipVariations = _options.flipVariations,
  4665. _options$allowedAutoP = _options.allowedAutoPlacements,
  4666. allowedAutoPlacements = _options$allowedAutoP === void 0 ? enums_placements : _options$allowedAutoP;
  4667. var variation = getVariation(placement);
  4668. var placements = (variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {
  4669. return getVariation(placement) === variation;
  4670. }) : basePlacements).filter(function (placement) {
  4671. return allowedAutoPlacements.indexOf(placement) >= 0;
  4672. }); // $FlowFixMe: Flow seems to have problems with two array unions...
  4673. var overflows = placements.reduce(function (acc, placement) {
  4674. acc[placement] = detectOverflow(state, {
  4675. placement: placement,
  4676. boundary: boundary,
  4677. rootBoundary: rootBoundary,
  4678. padding: padding
  4679. })[getBasePlacement(placement)];
  4680. return acc;
  4681. }, {});
  4682. return Object.keys(overflows).sort(function (a, b) {
  4683. return overflows[a] - overflows[b];
  4684. });
  4685. }
  4686. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/flip.js
  4687. function getExpandedFallbackPlacements(placement) {
  4688. if (getBasePlacement(placement) === auto) {
  4689. return [];
  4690. }
  4691. var oppositePlacement = getOppositePlacement(placement);
  4692. return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
  4693. }
  4694. function flip_flip(_ref) {
  4695. var state = _ref.state,
  4696. options = _ref.options,
  4697. name = _ref.name;
  4698. if (state.modifiersData[name]._skip) {
  4699. return;
  4700. }
  4701. var specifiedFallbackPlacements = options.fallbackPlacements,
  4702. padding = options.padding,
  4703. boundary = options.boundary,
  4704. rootBoundary = options.rootBoundary,
  4705. altBoundary = options.altBoundary,
  4706. _options$flipVariatio = options.flipVariations,
  4707. flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,
  4708. allowedAutoPlacements = options.allowedAutoPlacements;
  4709. var preferredPlacement = state.options.placement;
  4710. var basePlacement = getBasePlacement(preferredPlacement);
  4711. var isBasePlacement = basePlacement === preferredPlacement;
  4712. var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
  4713. var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {
  4714. return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {
  4715. placement: placement,
  4716. boundary: boundary,
  4717. rootBoundary: rootBoundary,
  4718. padding: padding,
  4719. flipVariations: flipVariations,
  4720. allowedAutoPlacements: allowedAutoPlacements
  4721. }) : placement);
  4722. }, []);
  4723. var referenceRect = state.rects.reference;
  4724. var popperRect = state.rects.popper;
  4725. var checksMap = new Map();
  4726. var makeFallbackChecks = true;
  4727. var firstFittingPlacement = placements[0];
  4728. for (var i = 0; i < placements.length; i++) {
  4729. var placement = placements[i];
  4730. var _basePlacement = getBasePlacement(placement);
  4731. var isStartVariation = getVariation(placement) === start;
  4732. var isVertical = [enums_top, bottom].indexOf(_basePlacement) >= 0;
  4733. var len = isVertical ? 'width' : 'height';
  4734. var overflow = detectOverflow(state, {
  4735. placement: placement,
  4736. boundary: boundary,
  4737. rootBoundary: rootBoundary,
  4738. altBoundary: altBoundary,
  4739. padding: padding
  4740. });
  4741. var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : enums_top;
  4742. if (referenceRect[len] > popperRect[len]) {
  4743. mainVariationSide = getOppositePlacement(mainVariationSide);
  4744. }
  4745. var altVariationSide = getOppositePlacement(mainVariationSide);
  4746. var checks = [overflow[_basePlacement] <= 0, overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0];
  4747. if (checks.every(function (check) {
  4748. return check;
  4749. })) {
  4750. firstFittingPlacement = placement;
  4751. makeFallbackChecks = false;
  4752. break;
  4753. }
  4754. checksMap.set(placement, checks);
  4755. }
  4756. if (makeFallbackChecks) {
  4757. // `2` may be desired in some cases – research later
  4758. var numberOfChecks = flipVariations ? 3 : 1;
  4759. var _loop = function _loop(_i) {
  4760. var fittingPlacement = placements.find(function (placement) {
  4761. var checks = checksMap.get(placement);
  4762. if (checks) {
  4763. return checks.slice(0, _i).every(function (check) {
  4764. return check;
  4765. });
  4766. }
  4767. });
  4768. if (fittingPlacement) {
  4769. firstFittingPlacement = fittingPlacement;
  4770. return "break";
  4771. }
  4772. };
  4773. for (var _i = numberOfChecks; _i > 0; _i--) {
  4774. var _ret = _loop(_i);
  4775. if (_ret === "break") break;
  4776. }
  4777. }
  4778. if (state.placement !== firstFittingPlacement) {
  4779. state.modifiersData[name]._skip = true;
  4780. state.placement = firstFittingPlacement;
  4781. state.reset = true;
  4782. }
  4783. } // eslint-disable-next-line import/no-unused-modules
  4784. /* harmony default export */ var modifiers_flip = ({
  4785. name: 'flip',
  4786. enabled: true,
  4787. phase: 'main',
  4788. fn: flip_flip,
  4789. requiresIfExists: ['offset'],
  4790. data: {
  4791. _skip: false
  4792. }
  4793. });
  4794. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/hide.js
  4795. function getSideOffsets(overflow, rect, preventedOffsets) {
  4796. if (preventedOffsets === void 0) {
  4797. preventedOffsets = {
  4798. x: 0,
  4799. y: 0
  4800. };
  4801. }
  4802. return {
  4803. top: overflow.top - rect.height - preventedOffsets.y,
  4804. right: overflow.right - rect.width + preventedOffsets.x,
  4805. bottom: overflow.bottom - rect.height + preventedOffsets.y,
  4806. left: overflow.left - rect.width - preventedOffsets.x
  4807. };
  4808. }
  4809. function isAnySideFullyClipped(overflow) {
  4810. return [enums_top, right, bottom, left].some(function (side) {
  4811. return overflow[side] >= 0;
  4812. });
  4813. }
  4814. function hide(_ref) {
  4815. var state = _ref.state,
  4816. name = _ref.name;
  4817. var referenceRect = state.rects.reference;
  4818. var popperRect = state.rects.popper;
  4819. var preventedOffsets = state.modifiersData.preventOverflow;
  4820. var referenceOverflow = detectOverflow(state, {
  4821. elementContext: 'reference'
  4822. });
  4823. var popperAltOverflow = detectOverflow(state, {
  4824. altBoundary: true
  4825. });
  4826. var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
  4827. var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
  4828. var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
  4829. var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
  4830. state.modifiersData[name] = {
  4831. referenceClippingOffsets: referenceClippingOffsets,
  4832. popperEscapeOffsets: popperEscapeOffsets,
  4833. isReferenceHidden: isReferenceHidden,
  4834. hasPopperEscaped: hasPopperEscaped
  4835. };
  4836. state.attributes.popper = Object.assign({}, state.attributes.popper, {
  4837. 'data-popper-reference-hidden': isReferenceHidden,
  4838. 'data-popper-escaped': hasPopperEscaped
  4839. });
  4840. } // eslint-disable-next-line import/no-unused-modules
  4841. /* harmony default export */ var modifiers_hide = ({
  4842. name: 'hide',
  4843. enabled: true,
  4844. phase: 'main',
  4845. requiresIfExists: ['preventOverflow'],
  4846. fn: hide
  4847. });
  4848. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/offset.js
  4849. function distanceAndSkiddingToXY(placement, rects, offset) {
  4850. var basePlacement = getBasePlacement(placement);
  4851. var invertDistance = [left, enums_top].indexOf(basePlacement) >= 0 ? -1 : 1;
  4852. var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {
  4853. placement: placement
  4854. })) : offset,
  4855. skidding = _ref[0],
  4856. distance = _ref[1];
  4857. skidding = skidding || 0;
  4858. distance = (distance || 0) * invertDistance;
  4859. return [left, right].indexOf(basePlacement) >= 0 ? {
  4860. x: distance,
  4861. y: skidding
  4862. } : {
  4863. x: skidding,
  4864. y: distance
  4865. };
  4866. }
  4867. function offset_offset(_ref2) {
  4868. var state = _ref2.state,
  4869. options = _ref2.options,
  4870. name = _ref2.name;
  4871. var _options$offset = options.offset,
  4872. offset = _options$offset === void 0 ? [0, 0] : _options$offset;
  4873. var data = enums_placements.reduce(function (acc, placement) {
  4874. acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);
  4875. return acc;
  4876. }, {});
  4877. var _data$state$placement = data[state.placement],
  4878. x = _data$state$placement.x,
  4879. y = _data$state$placement.y;
  4880. if (state.modifiersData.popperOffsets != null) {
  4881. state.modifiersData.popperOffsets.x += x;
  4882. state.modifiersData.popperOffsets.y += y;
  4883. }
  4884. state.modifiersData[name] = data;
  4885. } // eslint-disable-next-line import/no-unused-modules
  4886. /* harmony default export */ var modifiers_offset = ({
  4887. name: 'offset',
  4888. enabled: true,
  4889. phase: 'main',
  4890. requires: ['popperOffsets'],
  4891. fn: offset_offset
  4892. });
  4893. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js
  4894. function popperOffsets_popperOffsets(_ref) {
  4895. var state = _ref.state,
  4896. name = _ref.name; // Offsets are the actual position the popper needs to have to be
  4897. // properly positioned near its reference element
  4898. // This is the most basic placement, and will be adjusted by
  4899. // the modifiers in the next step
  4900. state.modifiersData[name] = computeOffsets({
  4901. reference: state.rects.reference,
  4902. element: state.rects.popper,
  4903. strategy: 'absolute',
  4904. placement: state.placement
  4905. });
  4906. } // eslint-disable-next-line import/no-unused-modules
  4907. /* harmony default export */ var modifiers_popperOffsets = ({
  4908. name: 'popperOffsets',
  4909. enabled: true,
  4910. phase: 'read',
  4911. fn: popperOffsets_popperOffsets,
  4912. data: {}
  4913. });
  4914. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getAltAxis.js
  4915. function getAltAxis(axis) {
  4916. return axis === 'x' ? 'y' : 'x';
  4917. }
  4918. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js
  4919. function preventOverflow(_ref) {
  4920. var state = _ref.state,
  4921. options = _ref.options,
  4922. name = _ref.name;
  4923. var _options$mainAxis = options.mainAxis,
  4924. checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
  4925. _options$altAxis = options.altAxis,
  4926. checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,
  4927. boundary = options.boundary,
  4928. rootBoundary = options.rootBoundary,
  4929. altBoundary = options.altBoundary,
  4930. padding = options.padding,
  4931. _options$tether = options.tether,
  4932. tether = _options$tether === void 0 ? true : _options$tether,
  4933. _options$tetherOffset = options.tetherOffset,
  4934. tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;
  4935. var overflow = detectOverflow(state, {
  4936. boundary: boundary,
  4937. rootBoundary: rootBoundary,
  4938. padding: padding,
  4939. altBoundary: altBoundary
  4940. });
  4941. var basePlacement = getBasePlacement(state.placement);
  4942. var variation = getVariation(state.placement);
  4943. var isBasePlacement = !variation;
  4944. var mainAxis = getMainAxisFromPlacement(basePlacement);
  4945. var altAxis = getAltAxis(mainAxis);
  4946. var popperOffsets = state.modifiersData.popperOffsets;
  4947. var referenceRect = state.rects.reference;
  4948. var popperRect = state.rects.popper;
  4949. var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
  4950. placement: state.placement
  4951. })) : tetherOffset;
  4952. var data = {
  4953. x: 0,
  4954. y: 0
  4955. };
  4956. if (!popperOffsets) {
  4957. return;
  4958. }
  4959. if (checkMainAxis) {
  4960. var mainSide = mainAxis === 'y' ? enums_top : left;
  4961. var altSide = mainAxis === 'y' ? bottom : right;
  4962. var len = mainAxis === 'y' ? 'height' : 'width';
  4963. var offset = popperOffsets[mainAxis];
  4964. var min = popperOffsets[mainAxis] + overflow[mainSide];
  4965. var max = popperOffsets[mainAxis] - overflow[altSide];
  4966. var additive = tether ? -popperRect[len] / 2 : 0;
  4967. var minLen = variation === start ? referenceRect[len] : popperRect[len];
  4968. var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
  4969. // outside the reference bounds
  4970. var arrowElement = state.elements.arrow;
  4971. var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {
  4972. width: 0,
  4973. height: 0
  4974. };
  4975. var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();
  4976. var arrowPaddingMin = arrowPaddingObject[mainSide];
  4977. var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want
  4978. // to include its full size in the calculation. If the reference is small
  4979. // and near the edge of a boundary, the popper can overflow even if the
  4980. // reference is not overflowing as well (e.g. virtual elements with no
  4981. // width or height)
  4982. var arrowLen = within(0, referenceRect[len], arrowRect[len]);
  4983. var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;
  4984. var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;
  4985. var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
  4986. var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
  4987. var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;
  4988. var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;
  4989. var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;
  4990. var preventedOffset = within(tether ? Math.min(min, tetherMin) : min, offset, tether ? Math.max(max, tetherMax) : max);
  4991. popperOffsets[mainAxis] = preventedOffset;
  4992. data[mainAxis] = preventedOffset - offset;
  4993. }
  4994. if (checkAltAxis) {
  4995. var _mainSide = mainAxis === 'x' ? enums_top : left;
  4996. var _altSide = mainAxis === 'x' ? bottom : right;
  4997. var _offset = popperOffsets[altAxis];
  4998. var _min = _offset + overflow[_mainSide];
  4999. var _max = _offset - overflow[_altSide];
  5000. var _preventedOffset = within(_min, _offset, _max);
  5001. popperOffsets[altAxis] = _preventedOffset;
  5002. data[altAxis] = _preventedOffset - _offset;
  5003. }
  5004. state.modifiersData[name] = data;
  5005. } // eslint-disable-next-line import/no-unused-modules
  5006. /* harmony default export */ var modifiers_preventOverflow = ({
  5007. name: 'preventOverflow',
  5008. enabled: true,
  5009. phase: 'main',
  5010. fn: preventOverflow,
  5011. requiresIfExists: ['offset']
  5012. });
  5013. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/orderModifiers.js
  5014. // source: https://stackoverflow.com/questions/49875255
  5015. function order(modifiers) {
  5016. var map = new Map();
  5017. var visited = new Set();
  5018. var result = [];
  5019. modifiers.forEach(function (modifier) {
  5020. map.set(modifier.name, modifier);
  5021. }); // On visiting object, check for its dependencies and visit them recursively
  5022. function sort(modifier) {
  5023. visited.add(modifier.name);
  5024. var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
  5025. requires.forEach(function (dep) {
  5026. if (!visited.has(dep)) {
  5027. var depModifier = map.get(dep);
  5028. if (depModifier) {
  5029. sort(depModifier);
  5030. }
  5031. }
  5032. });
  5033. result.push(modifier);
  5034. }
  5035. modifiers.forEach(function (modifier) {
  5036. if (!visited.has(modifier.name)) {
  5037. // check for visited object
  5038. sort(modifier);
  5039. }
  5040. });
  5041. return result;
  5042. }
  5043. function orderModifiers(modifiers) {
  5044. // order based on dependencies
  5045. var orderedModifiers = order(modifiers); // order based on phase
  5046. return modifierPhases.reduce(function (acc, phase) {
  5047. return acc.concat(orderedModifiers.filter(function (modifier) {
  5048. return modifier.phase === phase;
  5049. }));
  5050. }, []);
  5051. }
  5052. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/debounce.js
  5053. function debounce(fn) {
  5054. var pending;
  5055. return function () {
  5056. if (!pending) {
  5057. pending = new Promise(function (resolve) {
  5058. Promise.resolve().then(function () {
  5059. pending = undefined;
  5060. resolve(fn());
  5061. });
  5062. });
  5063. }
  5064. return pending;
  5065. };
  5066. }
  5067. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/mergeByName.js
  5068. function mergeByName(modifiers) {
  5069. var merged = modifiers.reduce(function (merged, current) {
  5070. var existing = merged[current.name];
  5071. merged[current.name] = existing ? Object.assign({}, existing, {}, current, {
  5072. options: Object.assign({}, existing.options, {}, current.options),
  5073. data: Object.assign({}, existing.data, {}, current.data)
  5074. }) : current;
  5075. return merged;
  5076. }, {}); // IE11 does not support Object.values
  5077. return Object.keys(merged).map(function (key) {
  5078. return merged[key];
  5079. });
  5080. }
  5081. // CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/index.js
  5082. var INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';
  5083. 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.';
  5084. var DEFAULT_OPTIONS = {
  5085. placement: 'bottom',
  5086. modifiers: [],
  5087. strategy: 'absolute'
  5088. };
  5089. function areValidElements() {
  5090. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  5091. args[_key] = arguments[_key];
  5092. }
  5093. return !args.some(function (element) {
  5094. return !(element && typeof element.getBoundingClientRect === 'function');
  5095. });
  5096. }
  5097. function popperGenerator(generatorOptions) {
  5098. if (generatorOptions === void 0) {
  5099. generatorOptions = {};
  5100. }
  5101. var _generatorOptions = generatorOptions,
  5102. _generatorOptions$def = _generatorOptions.defaultModifiers,
  5103. defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,
  5104. _generatorOptions$def2 = _generatorOptions.defaultOptions,
  5105. defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
  5106. return function createPopper(reference, popper, options) {
  5107. if (options === void 0) {
  5108. options = defaultOptions;
  5109. }
  5110. var state = {
  5111. placement: 'bottom',
  5112. orderedModifiers: [],
  5113. options: Object.assign({}, DEFAULT_OPTIONS, {}, defaultOptions),
  5114. modifiersData: {},
  5115. elements: {
  5116. reference: reference,
  5117. popper: popper
  5118. },
  5119. attributes: {},
  5120. styles: {}
  5121. };
  5122. var effectCleanupFns = [];
  5123. var isDestroyed = false;
  5124. var instance = {
  5125. state: state,
  5126. setOptions: function setOptions(options) {
  5127. cleanupModifierEffects();
  5128. state.options = Object.assign({}, defaultOptions, {}, state.options, {}, options);
  5129. state.scrollParents = {
  5130. reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],
  5131. popper: listScrollParents(popper)
  5132. }; // Orders the modifiers based on their dependencies and `phase`
  5133. // properties
  5134. var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers
  5135. state.orderedModifiers = orderedModifiers.filter(function (m) {
  5136. return m.enabled;
  5137. }); // Validate the provided modifiers so that the consumer will get warned
  5138. // if one of the modifiers is invalid for any reason
  5139. if (false) { var _getComputedStyle, marginTop, marginRight, marginBottom, marginLeft, flipModifier, modifiers; }
  5140. runModifierEffects();
  5141. return instance.update();
  5142. },
  5143. // Sync update – it will always be executed, even if not necessary. This
  5144. // is useful for low frequency updates where sync behavior simplifies the
  5145. // logic.
  5146. // For high frequency updates (e.g. `resize` and `scroll` events), always
  5147. // prefer the async Popper#update method
  5148. forceUpdate: function forceUpdate() {
  5149. if (isDestroyed) {
  5150. return;
  5151. }
  5152. var _state$elements = state.elements,
  5153. reference = _state$elements.reference,
  5154. popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements
  5155. // anymore
  5156. if (!areValidElements(reference, popper)) {
  5157. if (false) {}
  5158. return;
  5159. } // Store the reference and popper rects to be read by modifiers
  5160. state.rects = {
  5161. reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),
  5162. popper: getLayoutRect(popper)
  5163. }; // Modifiers have the ability to reset the current update cycle. The
  5164. // most common use case for this is the `flip` modifier changing the
  5165. // placement, which then needs to re-run all the modifiers, because the
  5166. // logic was previously ran for the previous placement and is therefore
  5167. // stale/incorrect
  5168. state.reset = false;
  5169. state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier
  5170. // is filled with the initial data specified by the modifier. This means
  5171. // it doesn't persist and is fresh on each update.
  5172. // To ensure persistent data, use `${name}#persistent`
  5173. state.orderedModifiers.forEach(function (modifier) {
  5174. return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
  5175. });
  5176. var __debug_loops__ = 0;
  5177. for (var index = 0; index < state.orderedModifiers.length; index++) {
  5178. if (false) {}
  5179. if (state.reset === true) {
  5180. state.reset = false;
  5181. index = -1;
  5182. continue;
  5183. }
  5184. var _state$orderedModifie = state.orderedModifiers[index],
  5185. fn = _state$orderedModifie.fn,
  5186. _state$orderedModifie2 = _state$orderedModifie.options,
  5187. _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,
  5188. name = _state$orderedModifie.name;
  5189. if (typeof fn === 'function') {
  5190. state = fn({
  5191. state: state,
  5192. options: _options,
  5193. name: name,
  5194. instance: instance
  5195. }) || state;
  5196. }
  5197. }
  5198. },
  5199. // Async and optimistically optimized update – it will not be executed if
  5200. // not necessary (debounced to run at most once-per-tick)
  5201. update: debounce(function () {
  5202. return new Promise(function (resolve) {
  5203. instance.forceUpdate();
  5204. resolve(state);
  5205. });
  5206. }),
  5207. destroy: function destroy() {
  5208. cleanupModifierEffects();
  5209. isDestroyed = true;
  5210. }
  5211. };
  5212. if (!areValidElements(reference, popper)) {
  5213. if (false) {}
  5214. return instance;
  5215. }
  5216. instance.setOptions(options).then(function (state) {
  5217. if (!isDestroyed && options.onFirstUpdate) {
  5218. options.onFirstUpdate(state);
  5219. }
  5220. }); // Modifiers have the ability to execute arbitrary code before the first
  5221. // update cycle runs. They will be executed in the same order as the update
  5222. // cycle. This is useful when a modifier adds some persistent data that
  5223. // other modifiers need to use, but the modifier is run after the dependent
  5224. // one.
  5225. function runModifierEffects() {
  5226. state.orderedModifiers.forEach(function (_ref3) {
  5227. var name = _ref3.name,
  5228. _ref3$options = _ref3.options,
  5229. options = _ref3$options === void 0 ? {} : _ref3$options,
  5230. effect = _ref3.effect;
  5231. if (typeof effect === 'function') {
  5232. var cleanupFn = effect({
  5233. state: state,
  5234. name: name,
  5235. instance: instance,
  5236. options: options
  5237. });
  5238. var noopFn = function noopFn() {};
  5239. effectCleanupFns.push(cleanupFn || noopFn);
  5240. }
  5241. });
  5242. }
  5243. function cleanupModifierEffects() {
  5244. effectCleanupFns.forEach(function (fn) {
  5245. return fn();
  5246. });
  5247. effectCleanupFns = [];
  5248. }
  5249. return instance;
  5250. };
  5251. }
  5252. var lib_createPopper = /*#__PURE__*/popperGenerator();
  5253. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/popper.js
  5254. // For the common JS build we will turn this file into a bundle with no imports.
  5255. // This is b/c the Popper lib is all esm files, and would break in a common js only environment
  5256. var popper_createPopper = popperGenerator({
  5257. defaultModifiers: [modifiers_hide, modifiers_popperOffsets, modifiers_computeStyles, eventListeners, modifiers_offset, modifiers_flip, modifiers_preventOverflow, modifiers_arrow]
  5258. });
  5259. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/usePopper.js
  5260. var initialPopperStyles = {
  5261. position: 'absolute',
  5262. top: '0',
  5263. left: '0',
  5264. opacity: '0',
  5265. pointerEvents: 'none'
  5266. };
  5267. var initialArrowStyles = {}; // until docjs supports type exports...
  5268. function toModifierMap(modifiers) {
  5269. var result = {};
  5270. if (!Array.isArray(modifiers)) {
  5271. return modifiers || result;
  5272. } // eslint-disable-next-line no-unused-expressions
  5273. modifiers == null ? void 0 : modifiers.forEach(function (m) {
  5274. result[m.name] = m;
  5275. });
  5276. return result;
  5277. }
  5278. function toModifierArray(map) {
  5279. if (map === void 0) {
  5280. map = {};
  5281. }
  5282. if (Array.isArray(map)) return map;
  5283. return Object.keys(map).map(function (k) {
  5284. map[k].name = k;
  5285. return map[k];
  5286. });
  5287. }
  5288. /**
  5289. * Position an element relative some reference element using Popper.js
  5290. *
  5291. * @param referenceElement
  5292. * @param popperElement
  5293. * @param {object} options
  5294. * @param {object=} options.modifiers Popper.js modifiers
  5295. * @param {boolean=} options.enabled toggle the popper functionality on/off
  5296. * @param {string=} options.placement The popper element placement relative to the reference element
  5297. * @param {string=} options.strategy the positioning strategy
  5298. * @param {boolean=} options.eventsEnabled have Popper listen on window resize events to reposition the element
  5299. * @param {function=} options.onCreate called when the popper is created
  5300. * @param {function=} options.onUpdate called when the popper is updated
  5301. *
  5302. * @returns {UsePopperState} The popper state
  5303. */
  5304. function usePopper(referenceElement, popperElement, _temp) {
  5305. var _ref = _temp === void 0 ? {} : _temp,
  5306. _ref$enabled = _ref.enabled,
  5307. enabled = _ref$enabled === void 0 ? true : _ref$enabled,
  5308. _ref$placement = _ref.placement,
  5309. placement = _ref$placement === void 0 ? 'bottom' : _ref$placement,
  5310. _ref$strategy = _ref.strategy,
  5311. strategy = _ref$strategy === void 0 ? 'absolute' : _ref$strategy,
  5312. _ref$eventsEnabled = _ref.eventsEnabled,
  5313. eventsEnabled = _ref$eventsEnabled === void 0 ? true : _ref$eventsEnabled,
  5314. userModifiers = _ref.modifiers,
  5315. popperOptions = _objectWithoutPropertiesLoose(_ref, ["enabled", "placement", "strategy", "eventsEnabled", "modifiers"]);
  5316. var popperInstanceRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])();
  5317. var scheduleUpdate = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () {
  5318. if (popperInstanceRef.current) {
  5319. popperInstanceRef.current.update();
  5320. }
  5321. }, []);
  5322. var _useSafeState = esm_useSafeState(Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])({
  5323. placement: placement,
  5324. scheduleUpdate: scheduleUpdate,
  5325. outOfBoundaries: false,
  5326. styles: initialPopperStyles,
  5327. arrowStyles: initialArrowStyles
  5328. })),
  5329. state = _useSafeState[0],
  5330. setState = _useSafeState[1];
  5331. var updateModifier = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  5332. return {
  5333. name: 'updateStateModifier',
  5334. enabled: true,
  5335. phase: 'afterWrite',
  5336. requires: ['computeStyles'],
  5337. fn: function fn(data) {
  5338. var _data$state$modifiers, _data$state$styles, _data$state$styles2;
  5339. setState({
  5340. scheduleUpdate: scheduleUpdate,
  5341. outOfBoundaries: !!((_data$state$modifiers = data.state.modifiersData.hide) == null ? void 0 : _data$state$modifiers.isReferenceHidden),
  5342. placement: data.state.placement,
  5343. styles: _extends({}, (_data$state$styles = data.state.styles) == null ? void 0 : _data$state$styles.popper),
  5344. arrowStyles: _extends({}, (_data$state$styles2 = data.state.styles) == null ? void 0 : _data$state$styles2.arrow),
  5345. state: data.state
  5346. });
  5347. }
  5348. };
  5349. }, [scheduleUpdate, setState]);
  5350. var modifiers = toModifierArray(userModifiers);
  5351. var eventsModifier = modifiers.find(function (m) {
  5352. return m.name === 'eventListeners';
  5353. });
  5354. if (!eventsModifier && eventsEnabled) {
  5355. eventsModifier = {
  5356. name: 'eventListeners',
  5357. enabled: true
  5358. };
  5359. modifiers = [].concat(modifiers, [eventsModifier]);
  5360. } // A placement difference in state means popper determined a new placement
  5361. // apart from the props value. By the time the popper element is rendered with
  5362. // the new position Popper has already measured it, if the place change triggers
  5363. // a size change it will result in a misaligned popper. So we schedule an update to be sure.
  5364. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  5365. scheduleUpdate();
  5366. }, [state.placement, scheduleUpdate]);
  5367. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  5368. if (!popperInstanceRef.current || !enabled) return;
  5369. popperInstanceRef.current.setOptions({
  5370. placement: placement,
  5371. strategy: strategy,
  5372. modifiers: [].concat(modifiers, [updateModifier])
  5373. }); // intentionally NOT re-running on new modifiers
  5374. // eslint-disable-next-line react-hooks/exhaustive-deps
  5375. }, [strategy, placement, eventsModifier.enabled, updateModifier, enabled]);
  5376. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  5377. if (!enabled || referenceElement == null || popperElement == null) {
  5378. return undefined;
  5379. }
  5380. popperInstanceRef.current = popper_createPopper(referenceElement, popperElement, _extends({}, popperOptions, {
  5381. placement: placement,
  5382. strategy: strategy,
  5383. modifiers: [].concat(modifiers, [updateModifier])
  5384. }));
  5385. return function () {
  5386. if (popperInstanceRef.current != null) {
  5387. popperInstanceRef.current.destroy();
  5388. popperInstanceRef.current = undefined;
  5389. setState(function (s) {
  5390. return _extends({}, s, {
  5391. styles: initialPopperStyles,
  5392. arrowStyles: initialArrowStyles
  5393. });
  5394. });
  5395. }
  5396. }; // This is only run once to _create_ the popper
  5397. // eslint-disable-next-line react-hooks/exhaustive-deps
  5398. }, [enabled, referenceElement, popperElement]);
  5399. return state;
  5400. }
  5401. /* harmony default export */ var esm_usePopper = (usePopper);
  5402. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/contains.js
  5403. /* eslint-disable no-bitwise, no-cond-assign */
  5404. // HTML DOM and SVG DOM may have different support levels,
  5405. // so we need to check on context instead of a document root element.
  5406. function contains_contains(context, node) {
  5407. if (context.contains) return context.contains(node);
  5408. if (context.compareDocumentPosition) return context === node || !!(context.compareDocumentPosition(node) & 16);
  5409. }
  5410. // EXTERNAL MODULE: ./node_modules/warning/warning.js
  5411. var warning = __webpack_require__(5);
  5412. var warning_default = /*#__PURE__*/__webpack_require__.n(warning);
  5413. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/safeFindDOMNode.js
  5414. function safeFindDOMNode(componentOrElement) {
  5415. if (componentOrElement && 'setState' in componentOrElement) {
  5416. return external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_default.a.findDOMNode(componentOrElement);
  5417. }
  5418. return componentOrElement != null ? componentOrElement : null;
  5419. }
  5420. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/ownerDocument.js
  5421. /* harmony default export */ var esm_ownerDocument = (function (componentOrElement) {
  5422. return ownerDocument(safeFindDOMNode(componentOrElement));
  5423. });
  5424. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/useRootClose.js
  5425. var escapeKeyCode = 27;
  5426. var useRootClose_noop = function noop() {};
  5427. function isLeftClickEvent(event) {
  5428. return event.button === 0;
  5429. }
  5430. function isModifiedEvent(event) {
  5431. return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);
  5432. }
  5433. var getRefTarget = function getRefTarget(ref) {
  5434. return ref && ('current' in ref ? ref.current : ref);
  5435. };
  5436. /**
  5437. * The `useRootClose` hook registers your callback on the document
  5438. * when rendered. Powers the `<Overlay/>` component. This is used achieve modal
  5439. * style behavior where your callback is triggered when the user tries to
  5440. * interact with the rest of the document or hits the `esc` key.
  5441. *
  5442. * @param {Ref<HTMLElement>| HTMLElement} ref The element boundary
  5443. * @param {function} onRootClose
  5444. * @param {object=} options
  5445. * @param {boolean=} options.disabled
  5446. * @param {string=} options.clickTrigger The DOM event name (click, mousedown, etc) to attach listeners on
  5447. */
  5448. function useRootClose(ref, onRootClose, _temp) {
  5449. var _ref = _temp === void 0 ? {} : _temp,
  5450. disabled = _ref.disabled,
  5451. _ref$clickTrigger = _ref.clickTrigger,
  5452. clickTrigger = _ref$clickTrigger === void 0 ? 'click' : _ref$clickTrigger;
  5453. var preventMouseRootCloseRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(false);
  5454. var onClose = onRootClose || useRootClose_noop;
  5455. var handleMouseCapture = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (e) {
  5456. var currentTarget = getRefTarget(ref);
  5457. 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');
  5458. preventMouseRootCloseRef.current = !currentTarget || isModifiedEvent(e) || !isLeftClickEvent(e) || !!contains_contains(currentTarget, e.target);
  5459. }, [ref]);
  5460. var handleMouse = useEventCallback(function (e) {
  5461. if (!preventMouseRootCloseRef.current) {
  5462. onClose(e);
  5463. }
  5464. });
  5465. var handleKeyUp = useEventCallback(function (e) {
  5466. if (e.keyCode === escapeKeyCode) {
  5467. onClose(e);
  5468. }
  5469. });
  5470. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  5471. if (disabled || ref == null) return undefined;
  5472. var doc = esm_ownerDocument(getRefTarget(ref)); // Use capture for this listener so it fires before React's listener, to
  5473. // avoid false positives in the contains() check below if the target DOM
  5474. // element is removed in the React mouse callback.
  5475. var removeMouseCaptureListener = esm_listen(doc, clickTrigger, handleMouseCapture, true);
  5476. var removeMouseListener = esm_listen(doc, clickTrigger, handleMouse);
  5477. var removeKeyupListener = esm_listen(doc, 'keyup', handleKeyUp);
  5478. var mobileSafariHackListeners = [];
  5479. if ('ontouchstart' in doc.documentElement) {
  5480. mobileSafariHackListeners = [].slice.call(doc.body.children).map(function (el) {
  5481. return esm_listen(el, 'mousemove', useRootClose_noop);
  5482. });
  5483. }
  5484. return function () {
  5485. removeMouseCaptureListener();
  5486. removeMouseListener();
  5487. removeKeyupListener();
  5488. mobileSafariHackListeners.forEach(function (remove) {
  5489. return remove();
  5490. });
  5491. };
  5492. }, [ref, disabled, clickTrigger, handleMouseCapture, handleMouse, handleKeyUp]);
  5493. }
  5494. /* harmony default export */ var esm_useRootClose = (useRootClose);
  5495. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/DropdownMenu.js
  5496. var DropdownMenu_noop = function noop() {};
  5497. /**
  5498. * @memberOf Dropdown
  5499. * @param {object} options
  5500. * @param {boolean} options.flip Automatically adjust the menu `drop` position based on viewport edge detection
  5501. * @param {boolean} options.show Display the menu manually, ignored in the context of a `Dropdown`
  5502. * @param {boolean} options.usePopper opt in/out of using PopperJS to position menus. When disabled you must position it yourself.
  5503. * @param {string} options.rootCloseEvent The pointer event to listen for when determining "clicks outside" the menu for triggering a close.
  5504. * @param {object} options.popperConfig Options passed to the [`usePopper`](/api/usePopper) hook.
  5505. */
  5506. function useDropdownMenu(options) {
  5507. var _modifiers$arrow;
  5508. if (options === void 0) {
  5509. options = {};
  5510. }
  5511. var context = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(esm_DropdownContext);
  5512. var _useCallbackRef = useCallbackRef(),
  5513. arrowElement = _useCallbackRef[0],
  5514. attachArrowRef = _useCallbackRef[1];
  5515. var hasShownRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(false);
  5516. var _options = options,
  5517. flip = _options.flip,
  5518. rootCloseEvent = _options.rootCloseEvent,
  5519. _options$popperConfig = _options.popperConfig,
  5520. popperConfig = _options$popperConfig === void 0 ? {} : _options$popperConfig,
  5521. _options$usePopper = _options.usePopper,
  5522. shouldUsePopper = _options$usePopper === void 0 ? !!context : _options$usePopper;
  5523. var show = (context == null ? void 0 : context.show) == null ? options.show : context.show;
  5524. var alignEnd = (context == null ? void 0 : context.alignEnd) == null ? options.alignEnd : context.alignEnd;
  5525. if (show && !hasShownRef.current) {
  5526. hasShownRef.current = true;
  5527. }
  5528. var handleClose = function handleClose(e) {
  5529. context == null ? void 0 : context.toggle(false, e);
  5530. };
  5531. var _ref = context || {},
  5532. drop = _ref.drop,
  5533. setMenu = _ref.setMenu,
  5534. menuElement = _ref.menuElement,
  5535. toggleElement = _ref.toggleElement;
  5536. var placement = alignEnd ? 'bottom-end' : 'bottom-start';
  5537. 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';
  5538. var modifiers = toModifierMap(popperConfig.modifiers);
  5539. var popper = esm_usePopper(toggleElement, menuElement, _extends({}, popperConfig, {
  5540. placement: placement,
  5541. enabled: !!(shouldUsePopper && show),
  5542. modifiers: _extends({}, modifiers, {
  5543. eventListeners: {
  5544. enabled: !!show
  5545. },
  5546. arrow: _extends({}, modifiers.arrow, {
  5547. enabled: !!arrowElement,
  5548. options: _extends({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {
  5549. element: arrowElement
  5550. })
  5551. }),
  5552. flip: _extends({
  5553. enabled: !!flip
  5554. }, modifiers.flip)
  5555. })
  5556. }));
  5557. var menu;
  5558. var menuProps = {
  5559. ref: setMenu || DropdownMenu_noop,
  5560. 'aria-labelledby': toggleElement == null ? void 0 : toggleElement.id
  5561. };
  5562. var childArgs = {
  5563. show: show,
  5564. alignEnd: alignEnd,
  5565. hasShown: hasShownRef.current,
  5566. close: handleClose
  5567. };
  5568. if (!shouldUsePopper) {
  5569. menu = _extends({}, childArgs, {
  5570. props: menuProps
  5571. });
  5572. } else {
  5573. menu = _extends({}, popper, {}, childArgs, {
  5574. props: _extends({}, menuProps, {
  5575. style: popper.styles
  5576. }),
  5577. arrowProps: {
  5578. ref: attachArrowRef,
  5579. style: popper.arrowStyles
  5580. }
  5581. });
  5582. }
  5583. esm_useRootClose(menuElement, handleClose, {
  5584. clickTrigger: rootCloseEvent,
  5585. disabled: !(menu && show)
  5586. });
  5587. return menu;
  5588. }
  5589. var DropdownMenu_propTypes = {
  5590. /**
  5591. * A render prop that returns a Menu element. The `props`
  5592. * argument should spread through to **a component that can accept a ref**.
  5593. *
  5594. * @type {Function ({
  5595. * show: boolean,
  5596. * alignEnd: boolean,
  5597. * close: (?SyntheticEvent) => void,
  5598. * placement: Placement,
  5599. * outOfBoundaries: ?boolean,
  5600. * scheduleUpdate: () => void,
  5601. * props: {
  5602. * ref: (?HTMLElement) => void,
  5603. * style: { [string]: string | number },
  5604. * aria-labelledby: ?string
  5605. * },
  5606. * arrowProps: {
  5607. * ref: (?HTMLElement) => void,
  5608. * style: { [string]: string | number },
  5609. * },
  5610. * }) => React.Element}
  5611. */
  5612. children: prop_types_default.a.func.isRequired,
  5613. /**
  5614. * Controls the visible state of the menu, generally this is
  5615. * provided by the parent `Dropdown` component,
  5616. * but may also be specified as a prop directly.
  5617. */
  5618. show: prop_types_default.a.bool,
  5619. /**
  5620. * Aligns the dropdown menu to the 'end' of it's placement position.
  5621. * Generally this is provided by the parent `Dropdown` component,
  5622. * but may also be specified as a prop directly.
  5623. */
  5624. alignEnd: prop_types_default.a.bool,
  5625. /**
  5626. * Enables the Popper.js `flip` modifier, allowing the Dropdown to
  5627. * automatically adjust it's placement in case of overlap with the viewport or toggle.
  5628. * Refer to the [flip docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled) for more info
  5629. */
  5630. flip: prop_types_default.a.bool,
  5631. usePopper: prop_types_default.a.oneOf([true, false]),
  5632. /**
  5633. * A set of popper options and props passed directly to react-popper's Popper component.
  5634. */
  5635. popperConfig: prop_types_default.a.object,
  5636. /**
  5637. * Override the default event used by RootCloseWrapper.
  5638. */
  5639. rootCloseEvent: prop_types_default.a.string
  5640. };
  5641. var DropdownMenu_defaultProps = {
  5642. usePopper: true
  5643. };
  5644. /**
  5645. * Also exported as `<Dropdown.Menu>` from `Dropdown`.
  5646. *
  5647. * @displayName DropdownMenu
  5648. * @memberOf Dropdown
  5649. */
  5650. function DropdownMenu(_ref2) {
  5651. var children = _ref2.children,
  5652. options = _objectWithoutPropertiesLoose(_ref2, ["children"]);
  5653. var args = useDropdownMenu(options);
  5654. 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);
  5655. }
  5656. DropdownMenu.displayName = 'ReactOverlaysDropdownMenu';
  5657. DropdownMenu.propTypes = DropdownMenu_propTypes;
  5658. DropdownMenu.defaultProps = DropdownMenu_defaultProps;
  5659. /** @component */
  5660. /* harmony default export */ var esm_DropdownMenu = (DropdownMenu);
  5661. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/DropdownToggle.js
  5662. var DropdownToggle_noop = function noop() {};
  5663. /**
  5664. * Wires up Dropdown toggle functionality, returning a set a props to attach
  5665. * to the element that functions as the dropdown toggle (generally a button).
  5666. *
  5667. * @memberOf Dropdown
  5668. */
  5669. function useDropdownToggle() {
  5670. var _ref = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(esm_DropdownContext) || {},
  5671. _ref$show = _ref.show,
  5672. show = _ref$show === void 0 ? false : _ref$show,
  5673. _ref$toggle = _ref.toggle,
  5674. toggle = _ref$toggle === void 0 ? DropdownToggle_noop : _ref$toggle,
  5675. setToggle = _ref.setToggle;
  5676. return [{
  5677. ref: setToggle || DropdownToggle_noop,
  5678. 'aria-haspopup': true,
  5679. 'aria-expanded': !!show
  5680. }, {
  5681. show: show,
  5682. toggle: toggle
  5683. }];
  5684. }
  5685. var DropdownToggle_propTypes = {
  5686. /**
  5687. * A render prop that returns a Toggle element. The `props`
  5688. * argument should spread through to **a component that can accept a ref**. Use
  5689. * the `onToggle` argument to toggle the menu open or closed
  5690. *
  5691. * @type {Function ({
  5692. * show: boolean,
  5693. * toggle: (show: boolean) => void,
  5694. * props: {
  5695. * ref: (?HTMLElement) => void,
  5696. * aria-haspopup: true
  5697. * aria-expanded: boolean
  5698. * },
  5699. * }) => React.Element}
  5700. */
  5701. children: prop_types_default.a.func.isRequired
  5702. };
  5703. /**
  5704. * Also exported as `<Dropdown.Toggle>` from `Dropdown`.
  5705. *
  5706. * @displayName DropdownToggle
  5707. * @memberOf Dropdown
  5708. */
  5709. function DropdownToggle(_ref2) {
  5710. var children = _ref2.children;
  5711. var _useDropdownToggle = useDropdownToggle(),
  5712. props = _useDropdownToggle[0],
  5713. _useDropdownToggle$ = _useDropdownToggle[1],
  5714. show = _useDropdownToggle$.show,
  5715. toggle = _useDropdownToggle$.toggle;
  5716. 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({
  5717. show: show,
  5718. toggle: toggle,
  5719. props: props
  5720. }));
  5721. }
  5722. DropdownToggle.displayName = 'ReactOverlaysDropdownToggle';
  5723. DropdownToggle.propTypes = DropdownToggle_propTypes;
  5724. /** @component */
  5725. /* harmony default export */ var esm_DropdownToggle = (DropdownToggle);
  5726. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/Dropdown.js
  5727. var Dropdown_propTypes = {
  5728. /**
  5729. * A render prop that returns the root dropdown element. The `props`
  5730. * argument should spread through to an element containing _both_ the
  5731. * menu and toggle in order to handle keyboard events for focus management.
  5732. *
  5733. * @type {Function ({
  5734. * props: {
  5735. * onKeyDown: (SyntheticEvent) => void,
  5736. * },
  5737. * }) => React.Element}
  5738. */
  5739. children: prop_types_default.a.func.isRequired,
  5740. /**
  5741. * Determines the direction and location of the Menu in relation to it's Toggle.
  5742. */
  5743. drop: prop_types_default.a.oneOf(['up', 'left', 'right', 'down']),
  5744. /**
  5745. * Controls the focus behavior for when the Dropdown is opened. Set to
  5746. * `true` to always focus the first menu item, `keyboard` to focus only when
  5747. * navigating via the keyboard, or `false` to disable completely
  5748. *
  5749. * The Default behavior is `false` **unless** the Menu has a `role="menu"`
  5750. * where it will default to `keyboard` to match the recommended [ARIA Authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/#menubutton).
  5751. */
  5752. focusFirstItemOnShow: prop_types_default.a.oneOf([false, true, 'keyboard']),
  5753. /**
  5754. * A css slector string that will return __focusable__ menu items.
  5755. * Selectors should be relative to the menu component:
  5756. * e.g. ` > li:not('.disabled')`
  5757. */
  5758. itemSelector: prop_types_default.a.string,
  5759. /**
  5760. * Align the menu to the 'end' side of the placement side of the Dropdown toggle. The default placement is `top-start` or `bottom-start`.
  5761. */
  5762. alignEnd: prop_types_default.a.bool,
  5763. /**
  5764. * Whether or not the Dropdown is visible.
  5765. *
  5766. * @controllable onToggle
  5767. */
  5768. show: prop_types_default.a.bool,
  5769. /**
  5770. * Sets the initial show position of the Dropdown.
  5771. */
  5772. defaultShow: prop_types_default.a.bool,
  5773. /**
  5774. * A callback fired when the Dropdown wishes to change visibility. Called with the requested
  5775. * `show` value, the DOM event, and the source that fired it: `'click'`,`'keydown'`,`'rootClose'`, or `'select'`.
  5776. *
  5777. * ```ts static
  5778. * function(
  5779. * isOpen: boolean,
  5780. * event: SyntheticEvent,
  5781. * ): void
  5782. * ```
  5783. *
  5784. * @controllable show
  5785. */
  5786. onToggle: prop_types_default.a.func
  5787. };
  5788. /**
  5789. * @displayName Dropdown
  5790. */
  5791. function Dropdown(_ref) {
  5792. var drop = _ref.drop,
  5793. alignEnd = _ref.alignEnd,
  5794. defaultShow = _ref.defaultShow,
  5795. rawShow = _ref.show,
  5796. rawOnToggle = _ref.onToggle,
  5797. _ref$itemSelector = _ref.itemSelector,
  5798. itemSelector = _ref$itemSelector === void 0 ? '* > *' : _ref$itemSelector,
  5799. focusFirstItemOnShow = _ref.focusFirstItemOnShow,
  5800. children = _ref.children;
  5801. var forceUpdate = useForceUpdate();
  5802. var _useUncontrolledProp = useUncontrolledProp(rawShow, defaultShow, rawOnToggle),
  5803. show = _useUncontrolledProp[0],
  5804. onToggle = _useUncontrolledProp[1];
  5805. var _useCallbackRef = useCallbackRef(),
  5806. toggleElement = _useCallbackRef[0],
  5807. setToggle = _useCallbackRef[1]; // We use normal refs instead of useCallbackRef in order to populate the
  5808. // the value as quickly as possible, otherwise the effect to focus the element
  5809. // may run before the state value is set
  5810. var menuRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null);
  5811. var menuElement = menuRef.current;
  5812. var setMenu = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (ref) {
  5813. menuRef.current = ref; // ensure that a menu set triggers an update for consumers
  5814. forceUpdate();
  5815. }, [forceUpdate]);
  5816. var lastShow = usePrevious(show);
  5817. var lastSourceEvent = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null);
  5818. var focusInDropdown = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(false);
  5819. var toggle = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) {
  5820. onToggle(!show, event);
  5821. }, [onToggle, show]);
  5822. var context = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  5823. return {
  5824. toggle: toggle,
  5825. drop: drop,
  5826. show: show,
  5827. alignEnd: alignEnd,
  5828. menuElement: menuElement,
  5829. toggleElement: toggleElement,
  5830. setMenu: setMenu,
  5831. setToggle: setToggle
  5832. };
  5833. }, [toggle, drop, show, alignEnd, menuElement, toggleElement, setMenu, setToggle]);
  5834. if (menuElement && lastShow && !show) {
  5835. focusInDropdown.current = menuElement.contains(document.activeElement);
  5836. }
  5837. var focusToggle = useEventCallback(function () {
  5838. if (toggleElement && toggleElement.focus) {
  5839. toggleElement.focus();
  5840. }
  5841. });
  5842. var maybeFocusFirst = useEventCallback(function () {
  5843. var type = lastSourceEvent.current;
  5844. var focusType = focusFirstItemOnShow;
  5845. if (focusType == null) {
  5846. focusType = menuRef.current && matches(menuRef.current, '[role=menu]') ? 'keyboard' : false;
  5847. }
  5848. if (focusType === false || focusType === 'keyboard' && !/^key.+$/.test(type)) {
  5849. return;
  5850. }
  5851. var first = qsa(menuRef.current, itemSelector)[0];
  5852. if (first && first.focus) first.focus();
  5853. });
  5854. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  5855. if (show) maybeFocusFirst();else if (focusInDropdown.current) {
  5856. focusInDropdown.current = false;
  5857. focusToggle();
  5858. } // only `show` should be changing
  5859. }, [show, focusInDropdown, focusToggle, maybeFocusFirst]);
  5860. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  5861. lastSourceEvent.current = null;
  5862. });
  5863. var getNextFocusedChild = function getNextFocusedChild(current, offset) {
  5864. if (!menuRef.current) return null;
  5865. var items = qsa(menuRef.current, itemSelector);
  5866. var index = items.indexOf(current) + offset;
  5867. index = Math.max(0, Math.min(index, items.length));
  5868. return items[index];
  5869. };
  5870. var handleKeyDown = function handleKeyDown(event) {
  5871. var key = event.key;
  5872. var target = event.target; // Second only to https://github.com/twbs/bootstrap/blob/8cfbf6933b8a0146ac3fbc369f19e520bd1ebdac/js/src/dropdown.js#L400
  5873. // in inscrutability
  5874. var isInput = /input|textarea/i.test(target.tagName);
  5875. if (isInput && (key === ' ' || key !== 'Escape' && menuRef.current && menuRef.current.contains(target))) {
  5876. return;
  5877. }
  5878. lastSourceEvent.current = event.type;
  5879. switch (key) {
  5880. case 'ArrowUp':
  5881. {
  5882. var next = getNextFocusedChild(target, -1);
  5883. if (next && next.focus) next.focus();
  5884. event.preventDefault();
  5885. return;
  5886. }
  5887. case 'ArrowDown':
  5888. event.preventDefault();
  5889. if (!show) {
  5890. toggle(event);
  5891. } else {
  5892. var _next = getNextFocusedChild(target, 1);
  5893. if (_next && _next.focus) _next.focus();
  5894. }
  5895. return;
  5896. case 'Escape':
  5897. case 'Tab':
  5898. onToggle(false, event);
  5899. break;
  5900. default:
  5901. }
  5902. };
  5903. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_DropdownContext.Provider, {
  5904. value: context
  5905. }, children({
  5906. props: {
  5907. onKeyDown: handleKeyDown
  5908. }
  5909. }));
  5910. }
  5911. Dropdown.displayName = 'ReactOverlaysDropdown';
  5912. Dropdown.propTypes = Dropdown_propTypes;
  5913. Dropdown.Menu = esm_DropdownMenu;
  5914. Dropdown.Toggle = esm_DropdownToggle;
  5915. /* harmony default export */ var esm_Dropdown = (Dropdown);
  5916. // CONCATENATED MODULE: ./src/NavContext.js
  5917. var NavContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null);
  5918. /* harmony default export */ var src_NavContext = (NavContext);
  5919. // CONCATENATED MODULE: ./src/DropdownItem.js
  5920. var DropdownItem_this = undefined,
  5921. DropdownItem_jsxFileName = "/Users/jquense/src/react-bootstrap/src/DropdownItem.js";
  5922. var DropdownItem_propTypes = {
  5923. /** @default 'dropdown' */
  5924. bsPrefix: prop_types_default.a.string,
  5925. /**
  5926. * Highlight the menu item as active.
  5927. */
  5928. active: prop_types_default.a.bool,
  5929. /**
  5930. * Disable the menu item, making it unselectable.
  5931. */
  5932. disabled: prop_types_default.a.bool,
  5933. /**
  5934. * Value passed to the `onSelect` handler, useful for identifying the selected menu item.
  5935. */
  5936. eventKey: prop_types_default.a.any,
  5937. /**
  5938. * HTML `href` attribute corresponding to `a.href`.
  5939. */
  5940. href: prop_types_default.a.string,
  5941. /**
  5942. * Callback fired when the menu item is clicked.
  5943. */
  5944. onClick: prop_types_default.a.func,
  5945. /**
  5946. * Callback fired when the menu item is selected.
  5947. *
  5948. * ```js
  5949. * (eventKey: any, event: Object) => any
  5950. * ```
  5951. */
  5952. onSelect: prop_types_default.a.func,
  5953. as: prop_types_default.a.elementType
  5954. };
  5955. var DropdownItem_defaultProps = {
  5956. as: src_SafeAnchor,
  5957. disabled: false
  5958. };
  5959. var DropdownItem = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  5960. var bsPrefix = _ref.bsPrefix,
  5961. className = _ref.className,
  5962. children = _ref.children,
  5963. eventKey = _ref.eventKey,
  5964. disabled = _ref.disabled,
  5965. href = _ref.href,
  5966. onClick = _ref.onClick,
  5967. onSelect = _ref.onSelect,
  5968. propActive = _ref.active,
  5969. Component = _ref.as,
  5970. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "children", "eventKey", "disabled", "href", "onClick", "onSelect", "active", "as"]);
  5971. var prefix = useBootstrapPrefix(bsPrefix, 'dropdown-item');
  5972. var onSelectCtx = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_SelectableContext);
  5973. var navContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_NavContext);
  5974. var _ref2 = navContext || {},
  5975. activeKey = _ref2.activeKey;
  5976. var key = makeEventKey(eventKey, href);
  5977. var active = propActive == null && key != null ? makeEventKey(activeKey) === key : propActive;
  5978. var handleClick = useEventCallback(function (event) {
  5979. // SafeAnchor handles the disabled case, but we handle it here
  5980. // for other components
  5981. if (disabled) return;
  5982. if (onClick) onClick(event);
  5983. if (onSelectCtx) onSelectCtx(key, event);
  5984. if (onSelect) onSelect(key, event);
  5985. });
  5986. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  5987. ref: ref,
  5988. href: href,
  5989. disabled: disabled,
  5990. className: classnames_default()(className, prefix, active && 'active', disabled && 'disabled'),
  5991. onClick: handleClick,
  5992. __self: DropdownItem_this,
  5993. __source: {
  5994. fileName: DropdownItem_jsxFileName,
  5995. lineNumber: 96,
  5996. columnNumber: 7
  5997. }
  5998. }), children);
  5999. });
  6000. DropdownItem.displayName = 'DropdownItem';
  6001. DropdownItem.propTypes = DropdownItem_propTypes;
  6002. DropdownItem.defaultProps = DropdownItem_defaultProps;
  6003. /* harmony default export */ var src_DropdownItem = (DropdownItem);
  6004. // CONCATENATED MODULE: ./node_modules/@restart/hooks/esm/useMergedRefs.js
  6005. var toFnRef = function toFnRef(ref) {
  6006. return !ref || typeof ref === 'function' ? ref : function (value) {
  6007. ref.current = value;
  6008. };
  6009. };
  6010. function mergeRefs(refA, refB) {
  6011. var a = toFnRef(refA);
  6012. var b = toFnRef(refB);
  6013. return function (value) {
  6014. if (a) a(value);
  6015. if (b) b(value);
  6016. };
  6017. }
  6018. /**
  6019. * Create and returns a single callback ref composed from two other Refs.
  6020. *
  6021. * ```tsx
  6022. * const Button = React.forwardRef((props, ref) => {
  6023. * const [element, attachRef] = useCallbackRef<HTMLButtonElement>();
  6024. * const mergedRef = useMergedRefs(ref, attachRef);
  6025. *
  6026. * return <button ref={mergedRef} {...props}/>
  6027. * })
  6028. * ```
  6029. *
  6030. * @param refA A Callback or mutable Ref
  6031. * @param refB A Callback or mutable Ref
  6032. * @category refs
  6033. */
  6034. function useMergedRefs(refA, refB) {
  6035. return Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  6036. return mergeRefs(refA, refB);
  6037. }, [refA, refB]);
  6038. }
  6039. /* harmony default export */ var esm_useMergedRefs = (useMergedRefs);
  6040. // CONCATENATED MODULE: ./src/NavbarContext.js
  6041. /* harmony default export */ var NavbarContext = (external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null));
  6042. // CONCATENATED MODULE: ./src/useWrappedRefWithWarning.js
  6043. function useWrappedRefWithWarning(ref, componentName) {
  6044. if (true) return ref; // eslint-disable-next-line react-hooks/rules-of-hooks
  6045. var warningRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (refValue) {
  6046. !(refValue == null || !refValue.isReactComponent) ? false ? undefined : browser_default()(false) : void 0;
  6047. }, [componentName]); // eslint-disable-next-line react-hooks/rules-of-hooks
  6048. return esm_useMergedRefs(warningRef, ref);
  6049. }
  6050. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/hasClass.js
  6051. function hasClass(element, className) {
  6052. if (element.classList) return !!className && element.classList.contains(className);
  6053. return (" " + (element.className.baseVal || element.className) + " ").indexOf(" " + className + " ") !== -1;
  6054. }
  6055. // CONCATENATED MODULE: ./src/usePopperMarginModifiers.js
  6056. function getMargins(element) {
  6057. var styles = getComputedStyle(element);
  6058. var top = parseFloat(styles.marginTop) || 0;
  6059. var right = parseFloat(styles.marginRight) || 0;
  6060. var bottom = parseFloat(styles.marginBottom) || 0;
  6061. var left = parseFloat(styles.marginLeft) || 0;
  6062. return {
  6063. top: top,
  6064. right: right,
  6065. bottom: bottom,
  6066. left: left
  6067. };
  6068. }
  6069. function usePopperMarginModifiers() {
  6070. var overlayRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null);
  6071. var margins = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null);
  6072. return [Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (overlay) {
  6073. if (!overlay || !(hasClass(overlay, 'popover') || hasClass(overlay, 'dropdown-menu'))) return;
  6074. margins.current = getMargins(overlay);
  6075. overlay.style.margin = 0;
  6076. overlayRef.current = overlay;
  6077. }, []), [Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  6078. return {
  6079. name: 'offset',
  6080. options: {
  6081. offset: function offset(_ref) {
  6082. var placement = _ref.placement;
  6083. if (!margins.current) return [0, 0];
  6084. var _margins$current = margins.current,
  6085. top = _margins$current.top,
  6086. left = _margins$current.left,
  6087. bottom = _margins$current.bottom,
  6088. right = _margins$current.right;
  6089. switch (placement.split('-')[0]) {
  6090. case 'top':
  6091. return [0, bottom];
  6092. case 'left':
  6093. return [0, right];
  6094. case 'bottom':
  6095. return [0, top];
  6096. case 'right':
  6097. return [0, left];
  6098. default:
  6099. return [0, 0];
  6100. }
  6101. }
  6102. }
  6103. };
  6104. }, [margins])]];
  6105. }
  6106. // CONCATENATED MODULE: ./src/DropdownMenu.js
  6107. var DropdownMenu_this = undefined,
  6108. DropdownMenu_jsxFileName = "/Users/jquense/src/react-bootstrap/src/DropdownMenu.js";
  6109. var src_DropdownMenu_propTypes = {
  6110. /**
  6111. * @default 'dropdown-menu'
  6112. */
  6113. bsPrefix: prop_types_default.a.string,
  6114. /** Controls the visibility of the Dropdown menu */
  6115. show: prop_types_default.a.bool,
  6116. /** Whether to render the dropdown menu in the DOM before the first time it is shown */
  6117. renderOnMount: prop_types_default.a.bool,
  6118. /** Have the dropdown switch to it's opposite placement when necessary to stay on screen. */
  6119. flip: prop_types_default.a.bool,
  6120. /** Aligns the Dropdown menu to the right of it's container. */
  6121. alignRight: prop_types_default.a.bool,
  6122. onSelect: prop_types_default.a.func,
  6123. /**
  6124. * Which event when fired outside the component will cause it to be closed
  6125. *
  6126. * *Note: For custom dropdown components, you will have to pass the
  6127. * `rootCloseEvent` to `<RootCloseWrapper>` in your custom dropdown menu
  6128. * component ([similarly to how it is implemented in `<Dropdown.Menu>`](https://github.com/react-bootstrap/react-bootstrap/blob/v0.31.5/src/DropdownMenu.js#L115-L119)).*
  6129. */
  6130. rootCloseEvent: prop_types_default.a.oneOf(['click', 'mousedown']),
  6131. /**
  6132. * Control the rendering of the DropdownMenu. All non-menu props
  6133. * (listed here) are passed through to the `as` Component.
  6134. *
  6135. * If providing a custom, non DOM, component. the `show`, `close` and `alignRight` props
  6136. * are also injected and should be handled appropriately.
  6137. */
  6138. as: prop_types_default.a.elementType,
  6139. /**
  6140. * A set of popper options and props passed directly to Popper.
  6141. */
  6142. popperConfig: prop_types_default.a.object
  6143. };
  6144. var src_DropdownMenu_defaultProps = {
  6145. alignRight: false,
  6146. flip: true
  6147. };
  6148. var DropdownMenu_DropdownMenu = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  6149. var bsPrefix = _ref.bsPrefix,
  6150. className = _ref.className,
  6151. alignRight = _ref.alignRight,
  6152. rootCloseEvent = _ref.rootCloseEvent,
  6153. flip = _ref.flip,
  6154. showProps = _ref.show,
  6155. renderOnMount = _ref.renderOnMount,
  6156. _ref$as = _ref.as,
  6157. Component = _ref$as === void 0 ? 'div' : _ref$as,
  6158. _ref$popperConfig = _ref.popperConfig,
  6159. popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig,
  6160. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "alignRight", "rootCloseEvent", "flip", "show", "renderOnMount", "as", "popperConfig"]);
  6161. var isNavbar = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(NavbarContext);
  6162. var prefix = useBootstrapPrefix(bsPrefix, 'dropdown-menu');
  6163. var _usePopperMarginModif = usePopperMarginModifiers(),
  6164. popperRef = _usePopperMarginModif[0],
  6165. marginModifiers = _usePopperMarginModif[1];
  6166. var _useDropdownMenu = useDropdownMenu({
  6167. flip: flip,
  6168. rootCloseEvent: rootCloseEvent,
  6169. show: showProps,
  6170. alignEnd: alignRight,
  6171. usePopper: !isNavbar,
  6172. popperConfig: _extends({}, popperConfig, {
  6173. modifiers: marginModifiers.concat(popperConfig.modifiers || [])
  6174. })
  6175. }),
  6176. hasShown = _useDropdownMenu.hasShown,
  6177. placement = _useDropdownMenu.placement,
  6178. show = _useDropdownMenu.show,
  6179. alignEnd = _useDropdownMenu.alignEnd,
  6180. close = _useDropdownMenu.close,
  6181. menuProps = _useDropdownMenu.props;
  6182. menuProps.ref = esm_useMergedRefs(popperRef, esm_useMergedRefs(useWrappedRefWithWarning(ref, 'DropdownMenu'), menuProps.ref));
  6183. if (!hasShown && !renderOnMount) return null; // For custom components provide additional, non-DOM, props;
  6184. if (typeof Component !== 'string') {
  6185. menuProps.show = show;
  6186. menuProps.close = close;
  6187. menuProps.alignRight = alignEnd;
  6188. }
  6189. var style = props.style;
  6190. if (placement) {
  6191. // we don't need the default popper style,
  6192. // menus are display: none when not shown.
  6193. style = _extends({}, style, {}, menuProps.style);
  6194. props['x-placement'] = placement;
  6195. }
  6196. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, menuProps, {
  6197. style: style,
  6198. className: classnames_default()(className, prefix, show && 'show', alignEnd && prefix + "-right"),
  6199. __self: DropdownMenu_this,
  6200. __source: {
  6201. fileName: DropdownMenu_jsxFileName,
  6202. lineNumber: 124,
  6203. columnNumber: 7
  6204. }
  6205. }));
  6206. });
  6207. DropdownMenu_DropdownMenu.displayName = 'DropdownMenu';
  6208. DropdownMenu_DropdownMenu.propTypes = src_DropdownMenu_propTypes;
  6209. DropdownMenu_DropdownMenu.defaultProps = src_DropdownMenu_defaultProps;
  6210. /* harmony default export */ var src_DropdownMenu = (DropdownMenu_DropdownMenu);
  6211. // EXTERNAL MODULE: ./node_modules/prop-types-extra/lib/isRequiredForA11y.js
  6212. var isRequiredForA11y = __webpack_require__(4);
  6213. var isRequiredForA11y_default = /*#__PURE__*/__webpack_require__.n(isRequiredForA11y);
  6214. // CONCATENATED MODULE: ./src/DropdownToggle.js
  6215. var DropdownToggle_this = undefined,
  6216. DropdownToggle_jsxFileName = "/Users/jquense/src/react-bootstrap/src/DropdownToggle.js";
  6217. var src_DropdownToggle_propTypes = {
  6218. /**
  6219. * @default 'dropdown-toggle'
  6220. */
  6221. bsPrefix: prop_types_default.a.string,
  6222. /**
  6223. * An html id attribute, necessary for assistive technologies, such as screen readers.
  6224. * @type {string|number}
  6225. * @required
  6226. */
  6227. id: isRequiredForA11y_default()(prop_types_default.a.any),
  6228. split: prop_types_default.a.bool,
  6229. as: prop_types_default.a.elementType,
  6230. /**
  6231. * to passthrough to the underlying button or whatever from DropdownButton
  6232. * @private
  6233. */
  6234. childBsPrefix: prop_types_default.a.string
  6235. };
  6236. var DropdownToggle_DropdownToggle = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  6237. var bsPrefix = _ref.bsPrefix,
  6238. split = _ref.split,
  6239. className = _ref.className,
  6240. children = _ref.children,
  6241. childBsPrefix = _ref.childBsPrefix,
  6242. _ref$as = _ref.as,
  6243. Component = _ref$as === void 0 ? src_Button : _ref$as,
  6244. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "split", "className", "children", "childBsPrefix", "as"]);
  6245. var prefix = useBootstrapPrefix(bsPrefix, 'dropdown-toggle');
  6246. if (childBsPrefix !== undefined) {
  6247. props.bsPrefix = childBsPrefix;
  6248. }
  6249. var _useDropdownToggle = useDropdownToggle(),
  6250. toggleProps = _useDropdownToggle[0],
  6251. toggle = _useDropdownToggle[1].toggle;
  6252. toggleProps.ref = esm_useMergedRefs(toggleProps.ref, useWrappedRefWithWarning(ref, 'DropdownToggle')); // This intentionally forwards size and variant (if set) to the
  6253. // underlying component, to allow it to render size and style variants.
  6254. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  6255. onClick: toggle,
  6256. className: classnames_default()(className, prefix, split && prefix + "-split")
  6257. }, toggleProps, props, {
  6258. __self: DropdownToggle_this,
  6259. __source: {
  6260. fileName: DropdownToggle_jsxFileName,
  6261. lineNumber: 65,
  6262. columnNumber: 7
  6263. }
  6264. }), children);
  6265. });
  6266. DropdownToggle_DropdownToggle.displayName = 'DropdownToggle';
  6267. DropdownToggle_DropdownToggle.propTypes = src_DropdownToggle_propTypes;
  6268. /* harmony default export */ var src_DropdownToggle = (DropdownToggle_DropdownToggle);
  6269. // CONCATENATED MODULE: ./src/Dropdown.js
  6270. var Dropdown_this = undefined,
  6271. Dropdown_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Dropdown.js";
  6272. var src_Dropdown_propTypes = {
  6273. /** @default 'dropdown' */
  6274. bsPrefix: prop_types_default.a.string,
  6275. /**
  6276. * Determines the direction and location of the Menu in relation to it's Toggle.
  6277. */
  6278. drop: prop_types_default.a.oneOf(['up', 'left', 'right', 'down']),
  6279. as: prop_types_default.a.elementType,
  6280. /**
  6281. * Align the menu to the right side of the Dropdown toggle
  6282. */
  6283. alignRight: prop_types_default.a.bool,
  6284. /**
  6285. * Whether or not the Dropdown is visible.
  6286. *
  6287. * @controllable onToggle
  6288. */
  6289. show: prop_types_default.a.bool,
  6290. /**
  6291. * Allow Dropdown to flip in case of an overlapping on the reference element. For more information refer to
  6292. * Popper.js's flip [docs](https://popper.js.org/docs/v2/modifiers/flip/).
  6293. *
  6294. */
  6295. flip: prop_types_default.a.bool,
  6296. /**
  6297. * A callback fired when the Dropdown wishes to change visibility. Called with the requested
  6298. * `show` value, the DOM event, and the source that fired it: `'click'`,`'keydown'`,`'rootClose'`, or `'select'`.
  6299. *
  6300. * ```js
  6301. * function(
  6302. * isOpen: boolean,
  6303. * event: SyntheticEvent,
  6304. * metadata: {
  6305. * source: 'select' | 'click' | 'rootClose' | 'keydown'
  6306. * }
  6307. * ): void
  6308. * ```
  6309. *
  6310. * @controllable show
  6311. */
  6312. onToggle: prop_types_default.a.func,
  6313. /**
  6314. * A callback fired when a menu item is selected.
  6315. *
  6316. * ```js
  6317. * (eventKey: any, event: Object) => any
  6318. * ```
  6319. */
  6320. onSelect: prop_types_default.a.func,
  6321. /**
  6322. * Controls the focus behavior for when the Dropdown is opened. Set to
  6323. * `true` to always focus the first menu item, `keyboard` to focus only when
  6324. * navigating via the keyboard, or `false` to disable completely
  6325. *
  6326. * The Default behavior is `false` **unless** the Menu has a `role="menu"`
  6327. * where it will default to `keyboard` to match the recommended [ARIA Authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/#menubutton).
  6328. */
  6329. focusFirstItemOnShow: prop_types_default.a.oneOf([false, true, 'keyboard']),
  6330. /** @private */
  6331. navbar: prop_types_default.a.bool
  6332. };
  6333. var Dropdown_defaultProps = {
  6334. navbar: false
  6335. };
  6336. var Dropdown_Dropdown = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (uncontrolledProps, ref) {
  6337. var _useUncontrolled = useUncontrolled(uncontrolledProps, {
  6338. show: 'onToggle'
  6339. }),
  6340. bsPrefix = _useUncontrolled.bsPrefix,
  6341. drop = _useUncontrolled.drop,
  6342. show = _useUncontrolled.show,
  6343. className = _useUncontrolled.className,
  6344. alignRight = _useUncontrolled.alignRight,
  6345. onSelect = _useUncontrolled.onSelect,
  6346. onToggle = _useUncontrolled.onToggle,
  6347. focusFirstItemOnShow = _useUncontrolled.focusFirstItemOnShow,
  6348. _useUncontrolled$as = _useUncontrolled.as,
  6349. Component = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,
  6350. _4 = _useUncontrolled.navbar,
  6351. props = _objectWithoutPropertiesLoose(_useUncontrolled, ["bsPrefix", "drop", "show", "className", "alignRight", "onSelect", "onToggle", "focusFirstItemOnShow", "as", "navbar"]);
  6352. var onSelectCtx = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_SelectableContext);
  6353. var prefix = useBootstrapPrefix(bsPrefix, 'dropdown');
  6354. var handleToggle = useEventCallback(function (nextShow, event, source) {
  6355. if (source === void 0) {
  6356. source = event.type;
  6357. }
  6358. if (event.currentTarget === document) source = 'rootClose';
  6359. onToggle(nextShow, event, {
  6360. source: source
  6361. });
  6362. });
  6363. var handleSelect = useEventCallback(function (key, event) {
  6364. if (onSelectCtx) onSelectCtx(key, event);
  6365. if (onSelect) onSelect(key, event);
  6366. handleToggle(false, event, 'select');
  6367. });
  6368. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, {
  6369. value: handleSelect,
  6370. __self: Dropdown_this,
  6371. __source: {
  6372. fileName: Dropdown_jsxFileName,
  6373. lineNumber: 121,
  6374. columnNumber: 5
  6375. }
  6376. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_Dropdown, {
  6377. drop: drop,
  6378. show: show,
  6379. alignEnd: alignRight,
  6380. onToggle: handleToggle,
  6381. focusFirstItemOnShow: focusFirstItemOnShow,
  6382. itemSelector: "." + prefix + "-item:not(.disabled):not(:disabled)",
  6383. __self: Dropdown_this,
  6384. __source: {
  6385. fileName: Dropdown_jsxFileName,
  6386. lineNumber: 122,
  6387. columnNumber: 7
  6388. }
  6389. }, function (_ref) {
  6390. var dropdownProps = _ref.props;
  6391. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, dropdownProps, {
  6392. ref: ref,
  6393. className: classnames_default()(className, show && 'show', (!drop || drop === 'down') && prefix, drop === 'up' && 'dropup', drop === 'right' && 'dropright', drop === 'left' && 'dropleft'),
  6394. __self: Dropdown_this,
  6395. __source: {
  6396. fileName: Dropdown_jsxFileName,
  6397. lineNumber: 131,
  6398. columnNumber: 11
  6399. }
  6400. }));
  6401. }));
  6402. });
  6403. Dropdown_Dropdown.displayName = 'Dropdown';
  6404. Dropdown_Dropdown.propTypes = src_Dropdown_propTypes;
  6405. Dropdown_Dropdown.defaultProps = Dropdown_defaultProps;
  6406. Dropdown_Dropdown.Toggle = src_DropdownToggle;
  6407. Dropdown_Dropdown.Menu = src_DropdownMenu;
  6408. Dropdown_Dropdown.Item = src_DropdownItem;
  6409. Dropdown_Dropdown.Header = createWithBsPrefix('dropdown-header', {
  6410. defaultProps: {
  6411. role: 'heading'
  6412. }
  6413. });
  6414. Dropdown_Dropdown.Divider = createWithBsPrefix('dropdown-divider', {
  6415. defaultProps: {
  6416. role: 'separator'
  6417. }
  6418. });
  6419. /* harmony default export */ var src_Dropdown = (Dropdown_Dropdown);
  6420. // CONCATENATED MODULE: ./src/DropdownButton.js
  6421. var DropdownButton_this = undefined,
  6422. DropdownButton_jsxFileName = "/Users/jquense/src/react-bootstrap/src/DropdownButton.js";
  6423. var DropdownButton_propTypes = {
  6424. /**
  6425. * An html id attribute for the Toggle button, necessary for assistive technologies, such as screen readers.
  6426. * @type {string|number}
  6427. * @required
  6428. */
  6429. id: prop_types_default.a.any,
  6430. /** An `href` passed to the Toggle component */
  6431. href: prop_types_default.a.string,
  6432. /** An `onClick` handler passed to the Toggle component */
  6433. onClick: prop_types_default.a.func,
  6434. /** The content of the non-toggle Button. */
  6435. title: prop_types_default.a.node.isRequired,
  6436. /** Disables both Buttons */
  6437. disabled: prop_types_default.a.bool,
  6438. /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */
  6439. menuRole: prop_types_default.a.string,
  6440. /** Whether to render the dropdown menu in the DOM before the first time it is shown */
  6441. renderMenuOnMount: prop_types_default.a.bool,
  6442. /**
  6443. * Which event when fired outside the component will cause it to be closed.
  6444. *
  6445. * _see [DropdownMenu](#menu-props) for more details_
  6446. */
  6447. rootCloseEvent: prop_types_default.a.string,
  6448. /** @ignore */
  6449. bsPrefix: prop_types_default.a.string,
  6450. /** @ignore */
  6451. variant: prop_types_default.a.string,
  6452. /** @ignore */
  6453. size: prop_types_default.a.string
  6454. };
  6455. /**
  6456. * A convenience component for simple or general use dropdowns. Renders a `Button` toggle and all `children`
  6457. * are passed directly to the default `Dropdown.Menu`.
  6458. *
  6459. * _All unknown props are passed through to the `Dropdown` component._ Only
  6460. * the Button `variant`, `size` and `bsPrefix` props are passed to the toggle,
  6461. * along with menu related props are passed to the `Dropdown.Menu`
  6462. */
  6463. var DropdownButton = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  6464. var title = _ref.title,
  6465. children = _ref.children,
  6466. bsPrefix = _ref.bsPrefix,
  6467. rootCloseEvent = _ref.rootCloseEvent,
  6468. variant = _ref.variant,
  6469. size = _ref.size,
  6470. menuRole = _ref.menuRole,
  6471. renderMenuOnMount = _ref.renderMenuOnMount,
  6472. disabled = _ref.disabled,
  6473. href = _ref.href,
  6474. id = _ref.id,
  6475. props = _objectWithoutPropertiesLoose(_ref, ["title", "children", "bsPrefix", "rootCloseEvent", "variant", "size", "menuRole", "renderMenuOnMount", "disabled", "href", "id"]);
  6476. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown, _extends({
  6477. ref: ref
  6478. }, props, {
  6479. __self: DropdownButton_this,
  6480. __source: {
  6481. fileName: DropdownButton_jsxFileName,
  6482. lineNumber: 73,
  6483. columnNumber: 5
  6484. }
  6485. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown.Toggle, {
  6486. id: id,
  6487. href: href,
  6488. size: size,
  6489. variant: variant,
  6490. disabled: disabled,
  6491. childBsPrefix: bsPrefix,
  6492. __self: DropdownButton_this,
  6493. __source: {
  6494. fileName: DropdownButton_jsxFileName,
  6495. lineNumber: 74,
  6496. columnNumber: 7
  6497. }
  6498. }, title), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown.Menu, {
  6499. role: menuRole,
  6500. renderOnMount: renderMenuOnMount,
  6501. rootCloseEvent: rootCloseEvent,
  6502. __self: DropdownButton_this,
  6503. __source: {
  6504. fileName: DropdownButton_jsxFileName,
  6505. lineNumber: 84,
  6506. columnNumber: 7
  6507. }
  6508. }, children));
  6509. });
  6510. DropdownButton.displayName = 'DropdownButton';
  6511. DropdownButton.propTypes = DropdownButton_propTypes;
  6512. /* harmony default export */ var src_DropdownButton = (DropdownButton);
  6513. // EXTERNAL MODULE: ./node_modules/prop-types-extra/lib/all.js
  6514. var lib_all = __webpack_require__(3);
  6515. var all_default = /*#__PURE__*/__webpack_require__.n(lib_all);
  6516. // CONCATENATED MODULE: ./src/Feedback.js
  6517. var Feedback_this = undefined,
  6518. Feedback_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Feedback.js";
  6519. var Feedback_propTypes = {
  6520. /**
  6521. * Specify whether the feedback is for valid or invalid fields
  6522. *
  6523. * @type {('valid'|'invalid')}
  6524. */
  6525. type: prop_types_default.a.string.isRequired,
  6526. as: prop_types_default.a.elementType
  6527. };
  6528. var Feedback_defaultProps = {
  6529. type: 'valid'
  6530. };
  6531. var Feedback = 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
  6532. function (_ref, ref) {
  6533. var _ref$as = _ref.as,
  6534. Component = _ref$as === void 0 ? 'div' : _ref$as,
  6535. className = _ref.className,
  6536. type = _ref.type,
  6537. props = _objectWithoutPropertiesLoose(_ref, ["as", "className", "type"]);
  6538. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  6539. ref: ref,
  6540. className: classnames_default()(className, type && type + "-feedback"),
  6541. __self: Feedback_this,
  6542. __source: {
  6543. fileName: Feedback_jsxFileName,
  6544. lineNumber: 22,
  6545. columnNumber: 5
  6546. }
  6547. }));
  6548. });
  6549. Feedback.displayName = 'Feedback';
  6550. Feedback.propTypes = Feedback_propTypes;
  6551. Feedback.defaultProps = Feedback_defaultProps;
  6552. /* harmony default export */ var src_Feedback = (Feedback);
  6553. // CONCATENATED MODULE: ./src/FormContext.js
  6554. var FormContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext({
  6555. controlId: undefined
  6556. });
  6557. /* harmony default export */ var src_FormContext = (FormContext);
  6558. // CONCATENATED MODULE: ./src/FormCheckInput.js
  6559. var FormCheckInput_this = undefined,
  6560. FormCheckInput_jsxFileName = "/Users/jquense/src/react-bootstrap/src/FormCheckInput.js";
  6561. var FormCheckInput_propTypes = {
  6562. /**
  6563. * @default 'form-check-input'
  6564. */
  6565. bsPrefix: prop_types_default.a.string,
  6566. /**
  6567. * A seperate bsPrefix used for custom controls
  6568. *
  6569. * @default 'custom-control'
  6570. */
  6571. bsCustomPrefix: prop_types_default.a.string,
  6572. /**
  6573. * The underlying HTML element to use when rendering the FormCheckInput.
  6574. *
  6575. * @type {('input'|elementType)}
  6576. */
  6577. as: prop_types_default.a.elementType,
  6578. /** A HTML id attribute, necessary for proper form accessibility. */
  6579. id: prop_types_default.a.string,
  6580. /** The type of checkable. */
  6581. type: prop_types_default.a.oneOf(['radio', 'checkbox']).isRequired,
  6582. /**
  6583. * A convenience prop shortcut for adding `position-static` to the input, for
  6584. * correct styling when used without an FormCheckLabel
  6585. */
  6586. isStatic: prop_types_default.a.bool,
  6587. /** Manually style the input as valid */
  6588. isValid: prop_types_default.a.bool.isRequired,
  6589. /** Manually style the input as invalid */
  6590. isInvalid: prop_types_default.a.bool.isRequired
  6591. };
  6592. var FormCheckInput_defaultProps = {
  6593. type: 'checkbox'
  6594. };
  6595. var FormCheckInput = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  6596. var id = _ref.id,
  6597. bsPrefix = _ref.bsPrefix,
  6598. bsCustomPrefix = _ref.bsCustomPrefix,
  6599. className = _ref.className,
  6600. isValid = _ref.isValid,
  6601. isInvalid = _ref.isInvalid,
  6602. isStatic = _ref.isStatic,
  6603. _ref$as = _ref.as,
  6604. Component = _ref$as === void 0 ? 'input' : _ref$as,
  6605. props = _objectWithoutPropertiesLoose(_ref, ["id", "bsPrefix", "bsCustomPrefix", "className", "isValid", "isInvalid", "isStatic", "as"]);
  6606. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  6607. controlId = _useContext.controlId,
  6608. custom = _useContext.custom;
  6609. var _ref2 = custom ? [bsCustomPrefix, 'custom-control-input'] : [bsPrefix, 'form-check-input'],
  6610. prefix = _ref2[0],
  6611. defaultPrefix = _ref2[1];
  6612. bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);
  6613. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  6614. ref: ref,
  6615. id: id || controlId,
  6616. className: classnames_default()(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid', isStatic && 'position-static'),
  6617. __self: FormCheckInput_this,
  6618. __source: {
  6619. fileName: FormCheckInput_jsxFileName,
  6620. lineNumber: 74,
  6621. columnNumber: 7
  6622. }
  6623. }));
  6624. });
  6625. FormCheckInput.displayName = 'FormCheckInput';
  6626. FormCheckInput.propTypes = FormCheckInput_propTypes;
  6627. FormCheckInput.defaultProps = FormCheckInput_defaultProps;
  6628. /* harmony default export */ var src_FormCheckInput = (FormCheckInput);
  6629. // CONCATENATED MODULE: ./src/FormCheckLabel.js
  6630. var FormCheckLabel_this = undefined,
  6631. FormCheckLabel_jsxFileName = "/Users/jquense/src/react-bootstrap/src/FormCheckLabel.js";
  6632. var FormCheckLabel_propTypes = {
  6633. /**
  6634. * @default 'form-check-input'
  6635. */
  6636. bsPrefix: prop_types_default.a.string,
  6637. /**
  6638. * A seperate bsPrefix used for custom controls
  6639. *
  6640. * @default 'custom-control'
  6641. */
  6642. bsCustomPrefix: prop_types_default.a.string,
  6643. /** The HTML for attribute for associating the label with an input */
  6644. htmlFor: prop_types_default.a.string
  6645. };
  6646. var FormCheckLabel = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  6647. var bsPrefix = _ref.bsPrefix,
  6648. bsCustomPrefix = _ref.bsCustomPrefix,
  6649. className = _ref.className,
  6650. htmlFor = _ref.htmlFor,
  6651. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "bsCustomPrefix", "className", "htmlFor"]);
  6652. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  6653. controlId = _useContext.controlId,
  6654. custom = _useContext.custom;
  6655. var _ref2 = custom ? [bsCustomPrefix, 'custom-control-label'] : [bsPrefix, 'form-check-label'],
  6656. prefix = _ref2[0],
  6657. defaultPrefix = _ref2[1];
  6658. bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);
  6659. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("label", _extends({}, props, {
  6660. ref: ref,
  6661. htmlFor: htmlFor || controlId,
  6662. className: classnames_default()(className, bsPrefix),
  6663. __self: FormCheckLabel_this,
  6664. __source: {
  6665. fileName: FormCheckLabel_jsxFileName,
  6666. lineNumber: 34,
  6667. columnNumber: 7
  6668. }
  6669. }));
  6670. });
  6671. FormCheckLabel.displayName = 'FormCheckLabel';
  6672. FormCheckLabel.propTypes = FormCheckLabel_propTypes;
  6673. /* harmony default export */ var src_FormCheckLabel = (FormCheckLabel);
  6674. // CONCATENATED MODULE: ./src/FormCheck.js
  6675. var FormCheck_this = undefined,
  6676. FormCheck_jsxFileName = "/Users/jquense/src/react-bootstrap/src/FormCheck.js";
  6677. var FormCheck_propTypes = {
  6678. /**
  6679. * @default 'form-check'
  6680. */
  6681. bsPrefix: prop_types_default.a.string,
  6682. /**
  6683. * A seperate bsPrefix used for custom controls
  6684. *
  6685. * @default 'custom-control'
  6686. */
  6687. bsCustomPrefix: prop_types_default.a.string,
  6688. /**
  6689. * The FormCheck `ref` will be forwarded to the underlying input element,
  6690. * which means it will be a DOM node, when resolved.
  6691. *
  6692. * @type {ReactRef}
  6693. * @alias ref
  6694. */
  6695. _ref: prop_types_default.a.any,
  6696. /**
  6697. * The underlying HTML element to use when rendering the FormCheck.
  6698. *
  6699. * @type {('input'|elementType)}
  6700. */
  6701. as: prop_types_default.a.elementType,
  6702. /** A HTML id attribute, necessary for proper form accessibility. */
  6703. id: prop_types_default.a.string,
  6704. /**
  6705. * Provide a function child to manually handle the layout of the FormCheck's inner components.
  6706. *
  6707. * ```jsx
  6708. * <FormCheck>
  6709. * <FormCheck.Input isInvalid type={radio} />
  6710. * <FormCheck.Label>Allow us to contact you?</FormCheck.Label>
  6711. * <Feedback type="invalid">Yo this is required</Feedback>
  6712. * </FormCheck>
  6713. * ```
  6714. */
  6715. children: prop_types_default.a.node,
  6716. inline: prop_types_default.a.bool,
  6717. disabled: prop_types_default.a.bool,
  6718. title: prop_types_default.a.string,
  6719. label: prop_types_default.a.node,
  6720. /** Use Bootstrap's custom form elements to replace the browser defaults */
  6721. custom: prop_types_default.a.bool,
  6722. /**
  6723. * The type of checkable.
  6724. * @type {('radio' | 'checkbox' | 'switch')}
  6725. */
  6726. type: all_default()(prop_types_default.a.oneOf(['radio', 'checkbox', 'switch']).isRequired, function (_ref) {
  6727. var type = _ref.type,
  6728. custom = _ref.custom;
  6729. return type === 'switch' && custom === false ? Error('`custom` cannot be set to `false` when the type is `switch`') : null;
  6730. }),
  6731. /** Manually style the input as valid */
  6732. isValid: prop_types_default.a.bool.isRequired,
  6733. /** Manually style the input as invalid */
  6734. isInvalid: prop_types_default.a.bool.isRequired,
  6735. /** A message to display when the input is in a validation state */
  6736. feedback: prop_types_default.a.node
  6737. };
  6738. var FormCheck_defaultProps = {
  6739. type: 'checkbox',
  6740. inline: false,
  6741. disabled: false,
  6742. isValid: false,
  6743. isInvalid: false,
  6744. title: ''
  6745. };
  6746. var FormCheck = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref2, ref) {
  6747. var id = _ref2.id,
  6748. bsPrefix = _ref2.bsPrefix,
  6749. bsCustomPrefix = _ref2.bsCustomPrefix,
  6750. inline = _ref2.inline,
  6751. disabled = _ref2.disabled,
  6752. isValid = _ref2.isValid,
  6753. isInvalid = _ref2.isInvalid,
  6754. feedback = _ref2.feedback,
  6755. className = _ref2.className,
  6756. style = _ref2.style,
  6757. title = _ref2.title,
  6758. type = _ref2.type,
  6759. label = _ref2.label,
  6760. children = _ref2.children,
  6761. propCustom = _ref2.custom,
  6762. _ref2$as = _ref2.as,
  6763. as = _ref2$as === void 0 ? 'input' : _ref2$as,
  6764. props = _objectWithoutPropertiesLoose(_ref2, ["id", "bsPrefix", "bsCustomPrefix", "inline", "disabled", "isValid", "isInvalid", "feedback", "className", "style", "title", "type", "label", "children", "custom", "as"]);
  6765. var custom = type === 'switch' ? true : propCustom;
  6766. var _ref3 = custom ? [bsCustomPrefix, 'custom-control'] : [bsPrefix, 'form-check'],
  6767. prefix = _ref3[0],
  6768. defaultPrefix = _ref3[1];
  6769. bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);
  6770. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  6771. controlId = _useContext.controlId;
  6772. var innerFormContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  6773. return {
  6774. controlId: id || controlId,
  6775. custom: custom
  6776. };
  6777. }, [controlId, custom, id]);
  6778. var hasLabel = label != null && label !== false && !children;
  6779. var input = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormCheckInput, _extends({}, props, {
  6780. type: type === 'switch' ? 'checkbox' : type,
  6781. ref: ref,
  6782. isValid: isValid,
  6783. isInvalid: isInvalid,
  6784. isStatic: !hasLabel,
  6785. disabled: disabled,
  6786. as: as,
  6787. __self: FormCheck_this,
  6788. __source: {
  6789. fileName: FormCheck_jsxFileName,
  6790. lineNumber: 138,
  6791. columnNumber: 7
  6792. }
  6793. }));
  6794. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormContext.Provider, {
  6795. value: innerFormContext,
  6796. __self: FormCheck_this,
  6797. __source: {
  6798. fileName: FormCheck_jsxFileName,
  6799. lineNumber: 151,
  6800. columnNumber: 7
  6801. }
  6802. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  6803. style: style,
  6804. className: classnames_default()(className, bsPrefix, custom && "custom-" + type, inline && bsPrefix + "-inline"),
  6805. __self: FormCheck_this,
  6806. __source: {
  6807. fileName: FormCheck_jsxFileName,
  6808. lineNumber: 152,
  6809. columnNumber: 9
  6810. }
  6811. }, children || /*#__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, input, hasLabel && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormCheckLabel, {
  6812. title: title,
  6813. __self: FormCheck_this,
  6814. __source: {
  6815. fileName: FormCheck_jsxFileName,
  6816. lineNumber: 165,
  6817. columnNumber: 17
  6818. }
  6819. }, label), (isValid || isInvalid) && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Feedback, {
  6820. type: isValid ? 'valid' : 'invalid',
  6821. __self: FormCheck_this,
  6822. __source: {
  6823. fileName: FormCheck_jsxFileName,
  6824. lineNumber: 168,
  6825. columnNumber: 17
  6826. }
  6827. }, feedback))));
  6828. });
  6829. FormCheck.displayName = 'FormCheck';
  6830. FormCheck.propTypes = FormCheck_propTypes;
  6831. FormCheck.defaultProps = FormCheck_defaultProps;
  6832. FormCheck.Input = src_FormCheckInput;
  6833. FormCheck.Label = src_FormCheckLabel;
  6834. /* harmony default export */ var src_FormCheck = (FormCheck);
  6835. // CONCATENATED MODULE: ./src/FormFileInput.js
  6836. var FormFileInput_this = undefined,
  6837. FormFileInput_jsxFileName = "/Users/jquense/src/react-bootstrap/src/FormFileInput.js";
  6838. var FormFileInput_propTypes = {
  6839. /**
  6840. * @default 'form-file-input'
  6841. */
  6842. bsPrefix: prop_types_default.a.string,
  6843. /**
  6844. * A seperate bsPrefix used for custom controls
  6845. *
  6846. * @default 'custom-file-input'
  6847. */
  6848. bsCustomPrefix: prop_types_default.a.string,
  6849. /**
  6850. * The underlying HTML element to use when rendering the FormFileInput.
  6851. *
  6852. * @type {('input'|elementType)}
  6853. */
  6854. as: prop_types_default.a.elementType,
  6855. /** A HTML id attribute, necessary for proper form accessibility. */
  6856. id: prop_types_default.a.string,
  6857. /** Manually style the input as valid */
  6858. isValid: prop_types_default.a.bool.isRequired,
  6859. /** Manually style the input as invalid */
  6860. isInvalid: prop_types_default.a.bool.isRequired,
  6861. /** The language for the button when using custom file input and SCSS based strings */
  6862. lang: prop_types_default.a.string
  6863. };
  6864. var FormFileInput = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  6865. var id = _ref.id,
  6866. bsPrefix = _ref.bsPrefix,
  6867. bsCustomPrefix = _ref.bsCustomPrefix,
  6868. className = _ref.className,
  6869. isValid = _ref.isValid,
  6870. isInvalid = _ref.isInvalid,
  6871. lang = _ref.lang,
  6872. _ref$as = _ref.as,
  6873. Component = _ref$as === void 0 ? 'input' : _ref$as,
  6874. props = _objectWithoutPropertiesLoose(_ref, ["id", "bsPrefix", "bsCustomPrefix", "className", "isValid", "isInvalid", "lang", "as"]);
  6875. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  6876. controlId = _useContext.controlId,
  6877. custom = _useContext.custom;
  6878. var type = 'file';
  6879. var _ref2 = custom ? [bsCustomPrefix, 'custom-file-input'] : [bsPrefix, 'form-control-file'],
  6880. prefix = _ref2[0],
  6881. defaultPrefix = _ref2[1];
  6882. bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);
  6883. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  6884. ref: ref,
  6885. id: id || controlId,
  6886. type: type,
  6887. lang: lang,
  6888. className: classnames_default()(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid'),
  6889. __self: FormFileInput_this,
  6890. __source: {
  6891. fileName: FormFileInput_jsxFileName,
  6892. lineNumber: 66,
  6893. columnNumber: 7
  6894. }
  6895. }));
  6896. });
  6897. FormFileInput.displayName = 'FormFileInput';
  6898. FormFileInput.propTypes = FormFileInput_propTypes;
  6899. /* harmony default export */ var src_FormFileInput = (FormFileInput);
  6900. // CONCATENATED MODULE: ./src/FormFileLabel.js
  6901. var FormFileLabel_this = undefined,
  6902. FormFileLabel_jsxFileName = "/Users/jquense/src/react-bootstrap/src/FormFileLabel.js";
  6903. var FormFileLabel_propTypes = {
  6904. /**
  6905. * @default 'form-file-input'
  6906. */
  6907. bsPrefix: prop_types_default.a.string,
  6908. /**
  6909. * A seperate bsPrefix used for custom controls
  6910. *
  6911. * @default 'custom-file-label'
  6912. */
  6913. bsCustomPrefix: prop_types_default.a.string,
  6914. /** The HTML for attribute for associating the label with an input */
  6915. htmlFor: prop_types_default.a.string,
  6916. /** The string for the "Browse" text label when using custom file input */
  6917. 'data-browse': prop_types_default.a.string
  6918. };
  6919. var FormFileLabel = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  6920. var bsPrefix = _ref.bsPrefix,
  6921. bsCustomPrefix = _ref.bsCustomPrefix,
  6922. className = _ref.className,
  6923. htmlFor = _ref.htmlFor,
  6924. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "bsCustomPrefix", "className", "htmlFor"]);
  6925. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  6926. controlId = _useContext.controlId,
  6927. custom = _useContext.custom;
  6928. var _ref2 = custom ? [bsCustomPrefix, 'custom-file-label'] : [bsPrefix, 'form-file-label'],
  6929. prefix = _ref2[0],
  6930. defaultPrefix = _ref2[1];
  6931. bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);
  6932. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("label", _extends({}, props, {
  6933. ref: ref,
  6934. htmlFor: htmlFor || controlId,
  6935. className: classnames_default()(className, bsPrefix),
  6936. "data-browse": props['data-browse'],
  6937. __self: FormFileLabel_this,
  6938. __source: {
  6939. fileName: FormFileLabel_jsxFileName,
  6940. lineNumber: 37,
  6941. columnNumber: 7
  6942. }
  6943. }));
  6944. });
  6945. FormFileLabel.displayName = 'FormFileLabel';
  6946. FormFileLabel.propTypes = FormFileLabel_propTypes;
  6947. /* harmony default export */ var src_FormFileLabel = (FormFileLabel);
  6948. // CONCATENATED MODULE: ./src/FormFile.js
  6949. var FormFile_this = undefined,
  6950. FormFile_jsxFileName = "/Users/jquense/src/react-bootstrap/src/FormFile.js";
  6951. var FormFile_propTypes = {
  6952. /**
  6953. * @default 'form-file'
  6954. */
  6955. bsPrefix: prop_types_default.a.string,
  6956. /**
  6957. * A seperate bsPrefix used for custom controls
  6958. *
  6959. * @default 'custom-file'
  6960. */
  6961. bsCustomPrefix: prop_types_default.a.string,
  6962. /**
  6963. * The wrapping HTML element to use when rendering the FormFile.
  6964. *
  6965. * @type {('div'|elementType)}
  6966. */
  6967. as: prop_types_default.a.elementType,
  6968. /**
  6969. * The underlying HTML element to use when rendering the FormFile.
  6970. *
  6971. * @type {('input'|elementType)}
  6972. */
  6973. inputAs: prop_types_default.a.elementType,
  6974. /** A HTML id attribute, necessary for proper form accessibility. */
  6975. id: prop_types_default.a.string,
  6976. /**
  6977. * Provide a function child to manually handle the layout of the FormFile's inner components.
  6978. *
  6979. * If not using the custom prop <code>FormFile.Label></code> should be before <code><FormFile.Input isInvalid /></code>
  6980. * ```jsx
  6981. * <FormFile>
  6982. * <FormFile.Label>Allow us to contact you?</FormFile.Label>
  6983. * <FormFile.Input isInvalid />
  6984. * <Feedback type="invalid">Yo this is required</Feedback>
  6985. * </FormFile>
  6986. * ```
  6987. *
  6988. * If using the custom prop <code><FormFile.Input isInvalid /></code> should be before <code>FormFile.Label></code>
  6989. * ```jsx
  6990. * <FormFile custom>
  6991. * <FormFile.Input isInvalid />
  6992. * <FormFile.Label>Allow us to contact you?</FormFile.Label>
  6993. * <Feedback type="invalid">Yo this is required</Feedback>
  6994. * </FormFile>
  6995. * ```
  6996. */
  6997. children: prop_types_default.a.node,
  6998. disabled: prop_types_default.a.bool,
  6999. label: prop_types_default.a.node,
  7000. /** Use Bootstrap's custom form elements to replace the browser defaults */
  7001. custom: prop_types_default.a.bool,
  7002. /** Manually style the input as valid */
  7003. isValid: prop_types_default.a.bool.isRequired,
  7004. /** Manually style the input as invalid */
  7005. isInvalid: prop_types_default.a.bool.isRequired,
  7006. /** A message to display when the input is in a validation state */
  7007. feedback: prop_types_default.a.node,
  7008. /**
  7009. * The string for the "Browse" text label when using custom file input
  7010. *
  7011. * @type string
  7012. */
  7013. 'data-browse': all_default()(prop_types_default.a.string, function (_ref) {
  7014. var custom = _ref.custom,
  7015. dataBrowse = _ref['data-browse'];
  7016. return dataBrowse && !custom ? Error('`data-browse` attribute value will only be used when custom is `true`') : null;
  7017. }),
  7018. /** The language for the button when using custom file input and SCSS based strings */
  7019. lang: all_default()(prop_types_default.a.string, function (_ref2) {
  7020. var custom = _ref2.custom,
  7021. lang = _ref2.lang;
  7022. return lang && !custom ? Error('`lang` can only be set when custom is `true`') : null;
  7023. })
  7024. };
  7025. var FormFile_defaultProps = {
  7026. disabled: false,
  7027. isValid: false,
  7028. isInvalid: false
  7029. };
  7030. var FormFile = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref3, ref) {
  7031. var id = _ref3.id,
  7032. bsPrefix = _ref3.bsPrefix,
  7033. bsCustomPrefix = _ref3.bsCustomPrefix,
  7034. disabled = _ref3.disabled,
  7035. isValid = _ref3.isValid,
  7036. isInvalid = _ref3.isInvalid,
  7037. feedback = _ref3.feedback,
  7038. className = _ref3.className,
  7039. style = _ref3.style,
  7040. label = _ref3.label,
  7041. children = _ref3.children,
  7042. custom = _ref3.custom,
  7043. lang = _ref3.lang,
  7044. dataBrowse = _ref3['data-browse'],
  7045. _ref3$as = _ref3.as,
  7046. Component = _ref3$as === void 0 ? 'div' : _ref3$as,
  7047. _ref3$inputAs = _ref3.inputAs,
  7048. inputAs = _ref3$inputAs === void 0 ? 'input' : _ref3$inputAs,
  7049. props = _objectWithoutPropertiesLoose(_ref3, ["id", "bsPrefix", "bsCustomPrefix", "disabled", "isValid", "isInvalid", "feedback", "className", "style", "label", "children", "custom", "lang", "data-browse", "as", "inputAs"]);
  7050. var _ref4 = custom ? [bsCustomPrefix, 'custom'] : [bsPrefix, 'form-file'],
  7051. prefix = _ref4[0],
  7052. defaultPrefix = _ref4[1];
  7053. bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);
  7054. var type = 'file';
  7055. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  7056. controlId = _useContext.controlId;
  7057. var innerFormContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  7058. return {
  7059. controlId: id || controlId,
  7060. custom: custom
  7061. };
  7062. }, [controlId, custom, id]);
  7063. var hasLabel = label != null && label !== false && !children;
  7064. var input = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormFileInput, _extends({}, props, {
  7065. ref: ref,
  7066. isValid: isValid,
  7067. isInvalid: isInvalid,
  7068. disabled: disabled,
  7069. as: inputAs,
  7070. lang: lang,
  7071. __self: FormFile_this,
  7072. __source: {
  7073. fileName: FormFile_jsxFileName,
  7074. lineNumber: 151,
  7075. columnNumber: 7
  7076. }
  7077. }));
  7078. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormContext.Provider, {
  7079. value: innerFormContext,
  7080. __self: FormFile_this,
  7081. __source: {
  7082. fileName: FormFile_jsxFileName,
  7083. lineNumber: 163,
  7084. columnNumber: 7
  7085. }
  7086. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, {
  7087. style: style,
  7088. className: classnames_default()(className, bsPrefix, custom && "custom-" + type),
  7089. __self: FormFile_this,
  7090. __source: {
  7091. fileName: FormFile_jsxFileName,
  7092. lineNumber: 164,
  7093. columnNumber: 9
  7094. }
  7095. }, children || /*#__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, custom ? /*#__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, input, hasLabel && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormFileLabel, {
  7096. "data-browse": dataBrowse,
  7097. __self: FormFile_this,
  7098. __source: {
  7099. fileName: FormFile_jsxFileName,
  7100. lineNumber: 178,
  7101. columnNumber: 21
  7102. }
  7103. }, label)) : /*#__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, hasLabel && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormFileLabel, {
  7104. __self: FormFile_this,
  7105. __source: {
  7106. fileName: FormFile_jsxFileName,
  7107. lineNumber: 185,
  7108. columnNumber: 32
  7109. }
  7110. }, label), input), (isValid || isInvalid) && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Feedback, {
  7111. type: isValid ? 'valid' : 'invalid',
  7112. __self: FormFile_this,
  7113. __source: {
  7114. fileName: FormFile_jsxFileName,
  7115. lineNumber: 190,
  7116. columnNumber: 17
  7117. }
  7118. }, feedback))));
  7119. });
  7120. FormFile.displayName = 'FormFile';
  7121. FormFile.propTypes = FormFile_propTypes;
  7122. FormFile.defaultProps = FormFile_defaultProps;
  7123. FormFile.Input = src_FormFileInput;
  7124. FormFile.Label = src_FormFileLabel;
  7125. /* harmony default export */ var src_FormFile = (FormFile);
  7126. // CONCATENATED MODULE: ./src/FormControl.js
  7127. var FormControl_this = undefined,
  7128. FormControl_jsxFileName = "/Users/jquense/src/react-bootstrap/src/FormControl.js";
  7129. var FormControl_propTypes = {
  7130. /**
  7131. * @default {'form-control'}
  7132. */
  7133. bsPrefix: prop_types_default.a.string,
  7134. /**
  7135. * A seperate bsPrefix used for custom controls
  7136. *
  7137. * @default 'custom'
  7138. */
  7139. bsCustomPrefix: prop_types_default.a.string,
  7140. /**
  7141. * The FormControl `ref` will be forwarded to the underlying input element,
  7142. * which means unless `as` is a composite component,
  7143. * it will be a DOM node, when resolved.
  7144. *
  7145. * @type {ReactRef}
  7146. * @alias ref
  7147. */
  7148. _ref: prop_types_default.a.any,
  7149. /**
  7150. * Input size variants
  7151. *
  7152. * @type {('sm'|'lg')}
  7153. */
  7154. size: prop_types_default.a.string,
  7155. /**
  7156. * The underlying HTML element to use when rendering the FormControl.
  7157. *
  7158. * @type {('input'|'textarea'|'select'|elementType)}
  7159. */
  7160. as: prop_types_default.a.elementType,
  7161. /**
  7162. * Render the input as plain text. Generally used along side `readOnly`.
  7163. */
  7164. plaintext: prop_types_default.a.bool,
  7165. /** Make the control readonly */
  7166. readOnly: prop_types_default.a.bool,
  7167. /** Make the control disabled */
  7168. disabled: prop_types_default.a.bool,
  7169. /**
  7170. * The `value` attribute of underlying input
  7171. *
  7172. * @controllable onChange
  7173. * */
  7174. value: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.arrayOf(prop_types_default.a.string), prop_types_default.a.number]),
  7175. /** A callback fired when the `value` prop changes */
  7176. onChange: prop_types_default.a.func,
  7177. /**
  7178. * Use Bootstrap's custom form elements to replace the browser defaults
  7179. * @type boolean
  7180. */
  7181. custom: all_default()(prop_types_default.a.bool, function (_ref) {
  7182. var as = _ref.as,
  7183. type = _ref.type,
  7184. custom = _ref.custom;
  7185. return custom === true && type !== 'range' && as !== 'select' ? Error('`custom` can only be set to `true` when the input type is `range`, or `select`') : null;
  7186. }),
  7187. /**
  7188. * The HTML input `type`, which is only relevant if `as` is `'input'` (the default).
  7189. */
  7190. type: prop_types_default.a.string,
  7191. /**
  7192. * Uses `controlId` from `<FormGroup>` if not explicitly specified.
  7193. */
  7194. id: prop_types_default.a.string,
  7195. /** Add "valid" validation styles to the control */
  7196. isValid: prop_types_default.a.bool,
  7197. /** Add "invalid" validation styles to the control and accompanying label */
  7198. isInvalid: prop_types_default.a.bool
  7199. };
  7200. var FormControl = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref2, ref) {
  7201. var bsPrefix = _ref2.bsPrefix,
  7202. bsCustomPrefix = _ref2.bsCustomPrefix,
  7203. type = _ref2.type,
  7204. size = _ref2.size,
  7205. id = _ref2.id,
  7206. className = _ref2.className,
  7207. isValid = _ref2.isValid,
  7208. isInvalid = _ref2.isInvalid,
  7209. plaintext = _ref2.plaintext,
  7210. readOnly = _ref2.readOnly,
  7211. custom = _ref2.custom,
  7212. _ref2$as = _ref2.as,
  7213. Component = _ref2$as === void 0 ? 'input' : _ref2$as,
  7214. props = _objectWithoutPropertiesLoose(_ref2, ["bsPrefix", "bsCustomPrefix", "type", "size", "id", "className", "isValid", "isInvalid", "plaintext", "readOnly", "custom", "as"]);
  7215. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  7216. controlId = _useContext.controlId;
  7217. var _ref3 = custom ? [bsCustomPrefix, 'custom'] : [bsPrefix, 'form-control'],
  7218. prefix = _ref3[0],
  7219. defaultPrefix = _ref3[1];
  7220. bsPrefix = useBootstrapPrefix(prefix, defaultPrefix);
  7221. var classes;
  7222. if (plaintext) {
  7223. var _classes;
  7224. classes = (_classes = {}, _classes[bsPrefix + "-plaintext"] = true, _classes);
  7225. } else if (type === 'file') {
  7226. var _classes2;
  7227. classes = (_classes2 = {}, _classes2[bsPrefix + "-file"] = true, _classes2);
  7228. } else if (type === 'range') {
  7229. var _classes3;
  7230. classes = (_classes3 = {}, _classes3[bsPrefix + "-range"] = true, _classes3);
  7231. } else if (Component === 'select' && custom) {
  7232. var _classes4;
  7233. classes = (_classes4 = {}, _classes4[bsPrefix + "-select"] = true, _classes4[bsPrefix + "-select-" + size] = size, _classes4);
  7234. } else {
  7235. var _classes5;
  7236. classes = (_classes5 = {}, _classes5[bsPrefix] = true, _classes5[bsPrefix + "-" + size] = size, _classes5);
  7237. }
  7238. false ? undefined : void 0;
  7239. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  7240. type: type,
  7241. ref: ref,
  7242. readOnly: readOnly,
  7243. id: id || controlId,
  7244. className: classnames_default()(className, classes, isValid && "is-valid", isInvalid && "is-invalid"),
  7245. __self: FormControl_this,
  7246. __source: {
  7247. fileName: FormControl_jsxFileName,
  7248. lineNumber: 152,
  7249. columnNumber: 7
  7250. }
  7251. }));
  7252. });
  7253. FormControl.displayName = 'FormControl';
  7254. FormControl.propTypes = FormControl_propTypes;
  7255. FormControl.Feedback = src_Feedback;
  7256. /* harmony default export */ var src_FormControl = (FormControl);
  7257. // CONCATENATED MODULE: ./src/FormGroup.js
  7258. var FormGroup_this = undefined,
  7259. FormGroup_jsxFileName = "/Users/jquense/src/react-bootstrap/src/FormGroup.js";
  7260. var FormGroup_propTypes = {
  7261. /**
  7262. * @default 'form-group'
  7263. */
  7264. bsPrefix: prop_types_default.a.string,
  7265. as: prop_types_default.a.elementType,
  7266. /**
  7267. * Sets `id` on `<FormControl>` and `htmlFor` on `<FormGroup.Label>`.
  7268. */
  7269. controlId: prop_types_default.a.string,
  7270. /**
  7271. * The FormGroup `ref` will be forwarded to the underlying element.
  7272. * Unless the FormGroup is rendered `as` a composite component,
  7273. * it will be a DOM node, when resolved.
  7274. *
  7275. * @type {ReactRef}
  7276. * @alias ref
  7277. */
  7278. _ref: prop_types_default.a.any
  7279. };
  7280. var FormGroup = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7281. var bsPrefix = _ref.bsPrefix,
  7282. className = _ref.className,
  7283. children = _ref.children,
  7284. controlId = _ref.controlId,
  7285. _ref$as = _ref.as,
  7286. Component = _ref$as === void 0 ? 'div' : _ref$as,
  7287. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "children", "controlId", "as"]);
  7288. bsPrefix = useBootstrapPrefix(bsPrefix, 'form-group');
  7289. var context = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  7290. return {
  7291. controlId: controlId
  7292. };
  7293. }, [controlId]);
  7294. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormContext.Provider, {
  7295. value: context,
  7296. __self: FormGroup_this,
  7297. __source: {
  7298. fileName: FormGroup_jsxFileName,
  7299. lineNumber: 49,
  7300. columnNumber: 7
  7301. }
  7302. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  7303. ref: ref,
  7304. className: classnames_default()(className, bsPrefix),
  7305. __self: FormGroup_this,
  7306. __source: {
  7307. fileName: FormGroup_jsxFileName,
  7308. lineNumber: 50,
  7309. columnNumber: 9
  7310. }
  7311. }), children));
  7312. });
  7313. FormGroup.displayName = 'FormGroup';
  7314. FormGroup.propTypes = FormGroup_propTypes;
  7315. /* harmony default export */ var src_FormGroup = (FormGroup);
  7316. // CONCATENATED MODULE: ./src/FormLabel.js
  7317. var FormLabel_this = undefined,
  7318. FormLabel_jsxFileName = "/Users/jquense/src/react-bootstrap/src/FormLabel.js";
  7319. var FormLabel_propTypes = {
  7320. /**
  7321. * @default 'form-label'
  7322. */
  7323. bsPrefix: prop_types_default.a.string,
  7324. /**
  7325. * Uses `controlId` from `<FormGroup>` if not explicitly specified.
  7326. */
  7327. htmlFor: prop_types_default.a.string,
  7328. /**
  7329. * Renders the FormLabel as a `<Col>` component (accepting all the same props),
  7330. * as well as adding additional styling for horizontal forms.
  7331. */
  7332. column: prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.oneOf(['sm', 'lg'])]),
  7333. /**
  7334. * The FormLabel `ref` will be forwarded to the underlying element.
  7335. * Unless the FormLabel is rendered `as` a composite component,
  7336. * it will be a DOM node, when resolved.
  7337. *
  7338. * @type {ReactRef}
  7339. * @alias ref
  7340. */
  7341. _ref: prop_types_default.a.any,
  7342. /**
  7343. * Hides the label visually while still allowing it to be
  7344. * read by assistive technologies.
  7345. */
  7346. srOnly: prop_types_default.a.bool,
  7347. /** Set a custom element for this component */
  7348. as: prop_types_default.a.elementType
  7349. };
  7350. var FormLabel_defaultProps = {
  7351. column: false,
  7352. srOnly: false
  7353. };
  7354. var FormLabel = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7355. var _ref$as = _ref.as,
  7356. Component = _ref$as === void 0 ? 'label' : _ref$as,
  7357. bsPrefix = _ref.bsPrefix,
  7358. column = _ref.column,
  7359. srOnly = _ref.srOnly,
  7360. className = _ref.className,
  7361. htmlFor = _ref.htmlFor,
  7362. props = _objectWithoutPropertiesLoose(_ref, ["as", "bsPrefix", "column", "srOnly", "className", "htmlFor"]);
  7363. var _useContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_FormContext),
  7364. controlId = _useContext.controlId;
  7365. bsPrefix = useBootstrapPrefix(bsPrefix, 'form-label');
  7366. var columnClass = 'col-form-label';
  7367. if (typeof column === 'string') columnClass = columnClass + "-" + column;
  7368. var classes = classnames_default()(className, bsPrefix, srOnly && 'sr-only', column && columnClass);
  7369. false ? undefined : void 0;
  7370. htmlFor = htmlFor || controlId;
  7371. if (column) return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Col, _extends({
  7372. as: "label",
  7373. className: classes,
  7374. htmlFor: htmlFor
  7375. }, props, {
  7376. __self: FormLabel_this,
  7377. __source: {
  7378. fileName: FormLabel_jsxFileName,
  7379. lineNumber: 87,
  7380. columnNumber: 9
  7381. }
  7382. }));
  7383. return (
  7384. /*#__PURE__*/
  7385. // eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control
  7386. external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  7387. ref: ref,
  7388. className: classes,
  7389. htmlFor: htmlFor
  7390. }, props, {
  7391. __self: FormLabel_this,
  7392. __source: {
  7393. fileName: FormLabel_jsxFileName,
  7394. lineNumber: 92,
  7395. columnNumber: 7
  7396. }
  7397. }))
  7398. );
  7399. });
  7400. FormLabel.displayName = 'FormLabel';
  7401. FormLabel.propTypes = FormLabel_propTypes;
  7402. FormLabel.defaultProps = FormLabel_defaultProps;
  7403. /* harmony default export */ var src_FormLabel = (FormLabel);
  7404. // CONCATENATED MODULE: ./src/FormText.js
  7405. var FormText_this = undefined,
  7406. FormText_jsxFileName = "/Users/jquense/src/react-bootstrap/src/FormText.js";
  7407. var FormText_propTypes = {
  7408. /** @default 'form-text' */
  7409. bsPrefix: prop_types_default.a.string,
  7410. /**
  7411. * The FormText `ref` will be forwarded to the underlying element.
  7412. * Unless the FormText is rendered `as` a composite component,
  7413. * it will be a DOM node, when resolved.
  7414. *
  7415. * @type {ReactRef}
  7416. * @alias ref
  7417. */
  7418. _ref: prop_types_default.a.any,
  7419. /**
  7420. * A convenience prop for add the `text-muted` class,
  7421. * since it's so commonly used here.
  7422. */
  7423. muted: prop_types_default.a.bool,
  7424. as: prop_types_default.a.elementType
  7425. };
  7426. var FormText = 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
  7427. function (_ref, ref) {
  7428. var bsPrefix = _ref.bsPrefix,
  7429. className = _ref.className,
  7430. _ref$as = _ref.as,
  7431. Component = _ref$as === void 0 ? 'small' : _ref$as,
  7432. muted = _ref.muted,
  7433. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "as", "muted"]);
  7434. bsPrefix = useBootstrapPrefix(bsPrefix, 'form-text');
  7435. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  7436. ref: ref,
  7437. className: classnames_default()(className, bsPrefix, muted && 'text-muted'),
  7438. __self: FormText_this,
  7439. __source: {
  7440. fileName: FormText_jsxFileName,
  7441. lineNumber: 36,
  7442. columnNumber: 7
  7443. }
  7444. }));
  7445. });
  7446. FormText.displayName = 'FormText';
  7447. FormText.propTypes = FormText_propTypes;
  7448. /* harmony default export */ var src_FormText = (FormText);
  7449. // CONCATENATED MODULE: ./src/Switch.js
  7450. var Switch_this = undefined,
  7451. Switch_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Switch.js";
  7452. var Switch = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  7453. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_FormCheck, _extends({}, props, {
  7454. ref: ref,
  7455. type: "switch",
  7456. __self: Switch_this,
  7457. __source: {
  7458. fileName: Switch_jsxFileName,
  7459. lineNumber: 5,
  7460. columnNumber: 3
  7461. }
  7462. }));
  7463. });
  7464. Switch.displayName = 'Switch';
  7465. Switch.Input = src_FormCheck.Input;
  7466. Switch.Label = src_FormCheck.Label;
  7467. /* harmony default export */ var src_Switch = (Switch);
  7468. // CONCATENATED MODULE: ./src/Form.js
  7469. var Form_this = undefined,
  7470. Form_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Form.js";
  7471. var Form_propTypes = {
  7472. /**
  7473. * @default {'form'}
  7474. */
  7475. bsPrefix: prop_types_default.a.string,
  7476. /**
  7477. * The Form `ref` will be forwarded to the underlying element,
  7478. * which means, unless it's rendered `as` a composite component,
  7479. * it will be a DOM node, when resolved.
  7480. *
  7481. * @type {ReactRef}
  7482. * @alias ref
  7483. */
  7484. _ref: prop_types_default.a.any,
  7485. /**
  7486. * Display the series of labels, form controls,
  7487. * and buttons on a single horizontal row
  7488. */
  7489. inline: prop_types_default.a.bool,
  7490. /**
  7491. * Mark a form as having been validated. Setting it to `true` will
  7492. * toggle any validation styles on the forms elements.
  7493. */
  7494. validated: prop_types_default.a.bool,
  7495. as: prop_types_default.a.elementType
  7496. };
  7497. var Form_defaultProps = {
  7498. inline: false
  7499. };
  7500. var Form = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7501. var bsPrefix = _ref.bsPrefix,
  7502. inline = _ref.inline,
  7503. className = _ref.className,
  7504. validated = _ref.validated,
  7505. _ref$as = _ref.as,
  7506. Component = _ref$as === void 0 ? 'form' : _ref$as,
  7507. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "inline", "className", "validated", "as"]);
  7508. bsPrefix = useBootstrapPrefix(bsPrefix, 'form');
  7509. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  7510. ref: ref,
  7511. className: classnames_default()(className, validated && 'was-validated', inline && bsPrefix + "-inline"),
  7512. __self: Form_this,
  7513. __source: {
  7514. fileName: Form_jsxFileName,
  7515. lineNumber: 63,
  7516. columnNumber: 7
  7517. }
  7518. }));
  7519. });
  7520. Form.displayName = 'Form';
  7521. Form.propTypes = Form_propTypes;
  7522. Form.defaultProps = Form_defaultProps;
  7523. Form.Row = createWithBsPrefix('form-row');
  7524. Form.Group = src_FormGroup;
  7525. Form.Control = src_FormControl;
  7526. Form.Check = src_FormCheck;
  7527. Form.File = src_FormFile;
  7528. Form.Switch = src_Switch;
  7529. Form.Label = src_FormLabel;
  7530. Form.Text = src_FormText;
  7531. /* harmony default export */ var src_Form = (Form);
  7532. // CONCATENATED MODULE: ./src/Container.js
  7533. var Container_this = undefined,
  7534. Container_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Container.js";
  7535. var containerSizes = prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.oneOf(['sm', 'md', 'lg', 'xl'])]);
  7536. var Container_propTypes = {
  7537. /**
  7538. * @default 'container'
  7539. */
  7540. bsPrefix: prop_types_default.a.string,
  7541. /**
  7542. * Allow the Container to fill all of its available horizontal space.
  7543. * @type {(true|"sm"|"md"|"lg"|"xl")}
  7544. */
  7545. fluid: containerSizes,
  7546. /**
  7547. * You can use a custom element for this component
  7548. */
  7549. as: prop_types_default.a.elementType
  7550. };
  7551. var Container_defaultProps = {
  7552. fluid: false
  7553. };
  7554. var Container = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7555. var bsPrefix = _ref.bsPrefix,
  7556. fluid = _ref.fluid,
  7557. _ref$as = _ref.as,
  7558. Component = _ref$as === void 0 ? 'div' : _ref$as,
  7559. className = _ref.className,
  7560. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "fluid", "as", "className"]);
  7561. var prefix = useBootstrapPrefix(bsPrefix, 'container');
  7562. var suffix = typeof fluid === 'string' ? "-" + fluid : '-fluid';
  7563. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  7564. ref: ref
  7565. }, props, {
  7566. className: classnames_default()(className, fluid ? "" + prefix + suffix : prefix),
  7567. __self: Container_this,
  7568. __source: {
  7569. fileName: Container_jsxFileName,
  7570. lineNumber: 48,
  7571. columnNumber: 7
  7572. }
  7573. }));
  7574. });
  7575. Container.displayName = 'Container';
  7576. Container.propTypes = Container_propTypes;
  7577. Container.defaultProps = Container_defaultProps;
  7578. /* harmony default export */ var src_Container = (Container);
  7579. // CONCATENATED MODULE: ./src/Image.js
  7580. var Image_this = undefined,
  7581. Image_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Image.js";
  7582. var Image_propTypes = {
  7583. /**
  7584. * @default 'img'
  7585. */
  7586. bsPrefix: prop_types_default.a.string,
  7587. /**
  7588. * Sets image as fluid image.
  7589. */
  7590. fluid: prop_types_default.a.bool,
  7591. /**
  7592. * Sets image shape as rounded.
  7593. */
  7594. rounded: prop_types_default.a.bool,
  7595. /**
  7596. * Sets image shape as circle.
  7597. */
  7598. roundedCircle: prop_types_default.a.bool,
  7599. /**
  7600. * Sets image shape as thumbnail.
  7601. */
  7602. thumbnail: prop_types_default.a.bool
  7603. };
  7604. var Image_defaultProps = {
  7605. fluid: false,
  7606. rounded: false,
  7607. roundedCircle: false,
  7608. thumbnail: false
  7609. };
  7610. var Image = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7611. var bsPrefix = _ref.bsPrefix,
  7612. className = _ref.className,
  7613. fluid = _ref.fluid,
  7614. rounded = _ref.rounded,
  7615. roundedCircle = _ref.roundedCircle,
  7616. thumbnail = _ref.thumbnail,
  7617. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "fluid", "rounded", "roundedCircle", "thumbnail"]);
  7618. bsPrefix = useBootstrapPrefix(bsPrefix, 'img');
  7619. var classes = classnames_default()(fluid && bsPrefix + "-fluid", rounded && "rounded", roundedCircle && "rounded-circle", thumbnail && bsPrefix + "-thumbnail");
  7620. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("img", _extends({
  7621. // eslint-disable-line jsx-a11y/alt-text
  7622. ref: ref
  7623. }, props, {
  7624. className: classnames_default()(className, classes),
  7625. __self: Image_this,
  7626. __source: {
  7627. fileName: Image_jsxFileName,
  7628. lineNumber: 55,
  7629. columnNumber: 7
  7630. }
  7631. }));
  7632. });
  7633. Image.displayName = 'Image';
  7634. Image.propTypes = Image_propTypes;
  7635. Image.defaultProps = Image_defaultProps;
  7636. /* harmony default export */ var src_Image = (Image);
  7637. // CONCATENATED MODULE: ./src/FigureImage.js
  7638. var FigureImage_this = undefined,
  7639. FigureImage_jsxFileName = "/Users/jquense/src/react-bootstrap/src/FigureImage.js";
  7640. var FigureImage_propTypes = {
  7641. /**
  7642. * @default 'img'
  7643. */
  7644. bsPrefix: prop_types_default.a.string,
  7645. /**
  7646. * Sets image as fluid image.
  7647. */
  7648. fluid: prop_types_default.a.bool,
  7649. /**
  7650. * Sets image shape as rounded.
  7651. */
  7652. rounded: prop_types_default.a.bool,
  7653. /**
  7654. * Sets image shape as circle.
  7655. */
  7656. roundedCircle: prop_types_default.a.bool,
  7657. /**
  7658. * Sets image shape as thumbnail.
  7659. */
  7660. thumbnail: prop_types_default.a.bool
  7661. };
  7662. var FigureImage_defaultProps = {
  7663. fluid: true
  7664. };
  7665. var FigureImage = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7666. var className = _ref.className,
  7667. props = _objectWithoutPropertiesLoose(_ref, ["className"]);
  7668. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Image, _extends({
  7669. ref: ref
  7670. }, props, {
  7671. className: classnames_default()(className, 'figure-img'),
  7672. __self: FigureImage_this,
  7673. __source: {
  7674. fileName: FigureImage_jsxFileName,
  7675. lineNumber: 37,
  7676. columnNumber: 3
  7677. }
  7678. }));
  7679. });
  7680. FigureImage.displayName = 'FigureImage';
  7681. FigureImage.propTypes = FigureImage_propTypes;
  7682. FigureImage.defaultProps = FigureImage_defaultProps;
  7683. /* harmony default export */ var src_FigureImage = (FigureImage);
  7684. // CONCATENATED MODULE: ./src/FigureCaption.js
  7685. var FigureCaption = createWithBsPrefix('figure-caption', {
  7686. Component: 'figcaption'
  7687. });
  7688. /* harmony default export */ var src_FigureCaption = (FigureCaption);
  7689. // CONCATENATED MODULE: ./src/Figure.js
  7690. var Figure = createWithBsPrefix('figure', {
  7691. Component: 'figure'
  7692. });
  7693. Figure.Image = src_FigureImage;
  7694. Figure.Caption = src_FigureCaption;
  7695. /* harmony default export */ var src_Figure = (Figure);
  7696. // CONCATENATED MODULE: ./src/InputGroup.js
  7697. var InputGroup_this = undefined,
  7698. InputGroup_jsxFileName = "/Users/jquense/src/react-bootstrap/src/InputGroup.js";
  7699. var InputGroup_propTypes = {
  7700. /** @default 'input-group' */
  7701. bsPrefix: prop_types_default.a.string,
  7702. /**
  7703. * Control the size of buttons and form elements from the top-level .
  7704. *
  7705. * @type {('sm'|'lg')}
  7706. */
  7707. size: prop_types_default.a.string,
  7708. as: prop_types_default.a.elementType
  7709. };
  7710. /**
  7711. *
  7712. * @property {InputGroupAppend} Append
  7713. * @property {InputGroupPrepend} Prepend
  7714. * @property {InputGroupText} Text
  7715. * @property {InputGroupRadio} Radio
  7716. * @property {InputGroupCheckbox} Checkbox
  7717. */
  7718. var InputGroup = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7719. var bsPrefix = _ref.bsPrefix,
  7720. size = _ref.size,
  7721. className = _ref.className,
  7722. _ref$as = _ref.as,
  7723. Component = _ref$as === void 0 ? 'div' : _ref$as,
  7724. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "size", "className", "as"]);
  7725. bsPrefix = useBootstrapPrefix(bsPrefix, 'input-group');
  7726. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  7727. ref: ref
  7728. }, props, {
  7729. className: classnames_default()(className, bsPrefix, size && bsPrefix + "-" + size),
  7730. __self: InputGroup_this,
  7731. __source: {
  7732. fileName: InputGroup_jsxFileName,
  7733. lineNumber: 46,
  7734. columnNumber: 7
  7735. }
  7736. }));
  7737. });
  7738. var InputGroupAppend = createWithBsPrefix('input-group-append');
  7739. var InputGroupPrepend = createWithBsPrefix('input-group-prepend');
  7740. var InputGroupText = createWithBsPrefix('input-group-text', {
  7741. Component: 'span'
  7742. });
  7743. var InputGroup_InputGroupCheckbox = function InputGroupCheckbox(props) {
  7744. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(InputGroupText, {
  7745. __self: InputGroup_this,
  7746. __source: {
  7747. fileName: InputGroup_jsxFileName,
  7748. lineNumber: 68,
  7749. columnNumber: 3
  7750. }
  7751. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("input", _extends({
  7752. type: "checkbox"
  7753. }, props, {
  7754. __self: InputGroup_this,
  7755. __source: {
  7756. fileName: InputGroup_jsxFileName,
  7757. lineNumber: 69,
  7758. columnNumber: 5
  7759. }
  7760. })));
  7761. };
  7762. var InputGroup_InputGroupRadio = function InputGroupRadio(props) {
  7763. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(InputGroupText, {
  7764. __self: InputGroup_this,
  7765. __source: {
  7766. fileName: InputGroup_jsxFileName,
  7767. lineNumber: 74,
  7768. columnNumber: 3
  7769. }
  7770. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("input", _extends({
  7771. type: "radio"
  7772. }, props, {
  7773. __self: InputGroup_this,
  7774. __source: {
  7775. fileName: InputGroup_jsxFileName,
  7776. lineNumber: 75,
  7777. columnNumber: 5
  7778. }
  7779. })));
  7780. };
  7781. InputGroup.propTypes = InputGroup_propTypes;
  7782. InputGroup.displayName = 'InputGroup';
  7783. InputGroup.Text = InputGroupText;
  7784. InputGroup.Radio = InputGroup_InputGroupRadio;
  7785. InputGroup.Checkbox = InputGroup_InputGroupCheckbox;
  7786. InputGroup.Append = InputGroupAppend;
  7787. InputGroup.Prepend = InputGroupPrepend;
  7788. /* harmony default export */ var src_InputGroup = (InputGroup);
  7789. // CONCATENATED MODULE: ./src/Jumbotron.js
  7790. var Jumbotron_this = undefined,
  7791. Jumbotron_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Jumbotron.js";
  7792. var Jumbotron_propTypes = {
  7793. as: prop_types_default.a.elementType,
  7794. /** Make the jumbotron full width, and without rounded corners */
  7795. fluid: prop_types_default.a.bool,
  7796. /** @default 'jumbotron' */
  7797. bsPrefix: prop_types_default.a.string
  7798. };
  7799. var Jumbotron_defaultProps = {
  7800. fluid: false
  7801. };
  7802. var Jumbotron = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7803. var _classes;
  7804. var _ref$as = _ref.as,
  7805. Component = _ref$as === void 0 ? 'div' : _ref$as,
  7806. className = _ref.className,
  7807. fluid = _ref.fluid,
  7808. bsPrefix = _ref.bsPrefix,
  7809. props = _objectWithoutPropertiesLoose(_ref, ["as", "className", "fluid", "bsPrefix"]);
  7810. bsPrefix = useBootstrapPrefix(bsPrefix, 'jumbotron');
  7811. var classes = (_classes = {}, _classes[bsPrefix] = true, _classes[bsPrefix + "-fluid"] = fluid, _classes);
  7812. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  7813. ref: ref
  7814. }, props, {
  7815. className: classnames_default()(className, classes),
  7816. __self: Jumbotron_this,
  7817. __source: {
  7818. fileName: Jumbotron_jsxFileName,
  7819. lineNumber: 37,
  7820. columnNumber: 7
  7821. }
  7822. }));
  7823. });
  7824. Jumbotron.propTypes = Jumbotron_propTypes;
  7825. Jumbotron.defaultProps = Jumbotron_defaultProps;
  7826. Jumbotron.displayName = 'Jumbotron';
  7827. /* harmony default export */ var src_Jumbotron = (Jumbotron);
  7828. // CONCATENATED MODULE: ./src/TabContext.js
  7829. var TabContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext(null);
  7830. /* harmony default export */ var src_TabContext = (TabContext);
  7831. // CONCATENATED MODULE: ./src/AbstractNav.js
  7832. var AbstractNav_this = undefined,
  7833. AbstractNav_jsxFileName = "/Users/jquense/src/react-bootstrap/src/AbstractNav.js";
  7834. var AbstractNav_noop = function noop() {};
  7835. var AbstractNav_propTypes = {
  7836. onSelect: prop_types_default.a.func.isRequired,
  7837. as: prop_types_default.a.elementType,
  7838. role: prop_types_default.a.string,
  7839. /** @private */
  7840. onKeyDown: prop_types_default.a.func,
  7841. /** @private */
  7842. parentOnSelect: prop_types_default.a.func,
  7843. /** @private */
  7844. getControlledId: prop_types_default.a.func,
  7845. /** @private */
  7846. getControllerId: prop_types_default.a.func,
  7847. /** @private */
  7848. activeKey: prop_types_default.a.any
  7849. };
  7850. var AbstractNav = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7851. var _ref$as = _ref.as,
  7852. Component = _ref$as === void 0 ? 'ul' : _ref$as,
  7853. onSelect = _ref.onSelect,
  7854. activeKey = _ref.activeKey,
  7855. role = _ref.role,
  7856. onKeyDown = _ref.onKeyDown,
  7857. props = _objectWithoutPropertiesLoose(_ref, ["as", "onSelect", "activeKey", "role", "onKeyDown"]);
  7858. // A ref and forceUpdate for refocus, b/c we only want to trigger when needed
  7859. // and don't want to reset the set in the effect
  7860. var forceUpdate = useForceUpdate();
  7861. var needsRefocusRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(false);
  7862. var parentOnSelect = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_SelectableContext);
  7863. var tabContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_TabContext);
  7864. var getControlledId, getControllerId;
  7865. if (tabContext) {
  7866. role = role || 'tablist';
  7867. activeKey = tabContext.activeKey;
  7868. getControlledId = tabContext.getControlledId;
  7869. getControllerId = tabContext.getControllerId;
  7870. }
  7871. var listNode = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null);
  7872. var getNextActiveChild = function getNextActiveChild(offset) {
  7873. if (!listNode.current) return null;
  7874. var items = qsa(listNode.current, '[data-rb-event-key]:not(.disabled)');
  7875. var activeChild = listNode.current.querySelector('.active');
  7876. var index = items.indexOf(activeChild);
  7877. if (index === -1) return null;
  7878. var nextIndex = index + offset;
  7879. if (nextIndex >= items.length) nextIndex = 0;
  7880. if (nextIndex < 0) nextIndex = items.length - 1;
  7881. return items[nextIndex];
  7882. };
  7883. var handleSelect = function handleSelect(key, event) {
  7884. if (key == null) return;
  7885. if (onSelect) onSelect(key, event);
  7886. if (parentOnSelect) parentOnSelect(key, event);
  7887. };
  7888. var handleKeyDown = function handleKeyDown(event) {
  7889. if (onKeyDown) onKeyDown(event);
  7890. var nextActiveChild;
  7891. switch (event.key) {
  7892. case 'ArrowLeft':
  7893. case 'ArrowUp':
  7894. nextActiveChild = getNextActiveChild(-1);
  7895. break;
  7896. case 'ArrowRight':
  7897. case 'ArrowDown':
  7898. nextActiveChild = getNextActiveChild(1);
  7899. break;
  7900. default:
  7901. return;
  7902. }
  7903. if (!nextActiveChild) return;
  7904. event.preventDefault();
  7905. handleSelect(nextActiveChild.dataset.rbEventKey, event);
  7906. needsRefocusRef.current = true;
  7907. forceUpdate();
  7908. };
  7909. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  7910. if (listNode.current && needsRefocusRef.current) {
  7911. var activeChild = listNode.current.querySelector('[data-rb-event-key].active');
  7912. if (activeChild) activeChild.focus();
  7913. }
  7914. needsRefocusRef.current = false;
  7915. });
  7916. var mergedRef = esm_useMergedRefs(ref, listNode);
  7917. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, {
  7918. value: handleSelect,
  7919. __self: AbstractNav_this,
  7920. __source: {
  7921. fileName: AbstractNav_jsxFileName,
  7922. lineNumber: 123,
  7923. columnNumber: 7
  7924. }
  7925. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_NavContext.Provider, {
  7926. value: {
  7927. role: role,
  7928. // used by NavLink to determine it's role
  7929. activeKey: makeEventKey(activeKey),
  7930. getControlledId: getControlledId || AbstractNav_noop,
  7931. getControllerId: getControllerId || AbstractNav_noop
  7932. },
  7933. __self: AbstractNav_this,
  7934. __source: {
  7935. fileName: AbstractNav_jsxFileName,
  7936. lineNumber: 124,
  7937. columnNumber: 9
  7938. }
  7939. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  7940. onKeyDown: handleKeyDown,
  7941. ref: mergedRef,
  7942. role: role,
  7943. __self: AbstractNav_this,
  7944. __source: {
  7945. fileName: AbstractNav_jsxFileName,
  7946. lineNumber: 132,
  7947. columnNumber: 11
  7948. }
  7949. }))));
  7950. });
  7951. AbstractNav.propTypes = AbstractNav_propTypes;
  7952. /* harmony default export */ var src_AbstractNav = (AbstractNav);
  7953. // CONCATENATED MODULE: ./src/AbstractNavItem.js
  7954. var AbstractNavItem_this = undefined,
  7955. AbstractNavItem_jsxFileName = "/Users/jquense/src/react-bootstrap/src/AbstractNavItem.js";
  7956. var AbstractNavItem_propTypes = {
  7957. id: prop_types_default.a.string,
  7958. active: prop_types_default.a.bool,
  7959. role: prop_types_default.a.string,
  7960. href: prop_types_default.a.string,
  7961. tabIndex: prop_types_default.a.string,
  7962. eventKey: prop_types_default.a.any,
  7963. onclick: prop_types_default.a.func,
  7964. as: prop_types_default.a.any,
  7965. onClick: prop_types_default.a.func,
  7966. onSelect: prop_types_default.a.func,
  7967. 'aria-controls': prop_types_default.a.string
  7968. };
  7969. var AbstractNavItem_defaultProps = {
  7970. disabled: false
  7971. };
  7972. var AbstractNavItem = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  7973. var active = _ref.active,
  7974. className = _ref.className,
  7975. tabIndex = _ref.tabIndex,
  7976. eventKey = _ref.eventKey,
  7977. onSelect = _ref.onSelect,
  7978. onClick = _ref.onClick,
  7979. Component = _ref.as,
  7980. props = _objectWithoutPropertiesLoose(_ref, ["active", "className", "tabIndex", "eventKey", "onSelect", "onClick", "as"]);
  7981. var navKey = makeEventKey(eventKey, props.href);
  7982. var parentOnSelect = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_SelectableContext);
  7983. var navContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_NavContext);
  7984. var isActive = active;
  7985. if (navContext) {
  7986. if (!props.role && navContext.role === 'tablist') props.role = 'tab';
  7987. var contextControllerId = navContext.getControllerId(navKey);
  7988. var contextControlledId = navContext.getControlledId(navKey);
  7989. false ? undefined : void 0;
  7990. false ? undefined : void 0;
  7991. props['data-rb-event-key'] = navKey;
  7992. props.id = contextControllerId || props.id;
  7993. props['aria-controls'] = contextControlledId || props['aria-controls'];
  7994. isActive = active == null && navKey != null ? navContext.activeKey === navKey : active;
  7995. }
  7996. if (props.role === 'tab') {
  7997. props.tabIndex = isActive ? tabIndex : -1;
  7998. props['aria-selected'] = isActive;
  7999. }
  8000. var handleOnclick = useEventCallback(function (e) {
  8001. if (onClick) onClick(e);
  8002. if (navKey == null) return;
  8003. if (onSelect) onSelect(navKey, e);
  8004. if (parentOnSelect) parentOnSelect(navKey, e);
  8005. });
  8006. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  8007. ref: ref,
  8008. onClick: handleOnclick,
  8009. className: classnames_default()(className, isActive && 'active'),
  8010. __self: AbstractNavItem_this,
  8011. __source: {
  8012. fileName: AbstractNavItem_jsxFileName,
  8013. lineNumber: 88,
  8014. columnNumber: 7
  8015. }
  8016. }));
  8017. });
  8018. AbstractNavItem.propTypes = AbstractNavItem_propTypes;
  8019. AbstractNavItem.defaultProps = AbstractNavItem_defaultProps;
  8020. /* harmony default export */ var src_AbstractNavItem = (AbstractNavItem);
  8021. // CONCATENATED MODULE: ./src/ListGroupItem.js
  8022. var ListGroupItem_this = undefined,
  8023. ListGroupItem_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ListGroupItem.js";
  8024. var ListGroupItem_propTypes = {
  8025. /**
  8026. * @default 'list-group-item'
  8027. */
  8028. bsPrefix: prop_types_default.a.string,
  8029. /**
  8030. * Sets contextual classes for list item
  8031. * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'dark'|'light')}
  8032. */
  8033. variant: prop_types_default.a.string,
  8034. /**
  8035. * Marks a ListGroupItem as actionable, applying additional hover, active and disabled styles
  8036. * for links and buttons.
  8037. */
  8038. action: prop_types_default.a.bool,
  8039. /**
  8040. * Sets list item as active
  8041. */
  8042. active: prop_types_default.a.bool,
  8043. /**
  8044. * Sets list item state as disabled
  8045. */
  8046. disabled: prop_types_default.a.bool,
  8047. eventKey: prop_types_default.a.string,
  8048. onClick: prop_types_default.a.func,
  8049. href: prop_types_default.a.string,
  8050. /**
  8051. * You can use a custom element type for this component. For none `action` items, items render as `li`.
  8052. * For actions the default is an achor or button element depending on whether a `href` is provided.
  8053. *
  8054. * @default {'div' | 'a' | 'button'}
  8055. */
  8056. as: prop_types_default.a.elementType
  8057. };
  8058. var ListGroupItem_defaultProps = {
  8059. variant: null,
  8060. active: false,
  8061. disabled: false
  8062. };
  8063. var ListGroupItem = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  8064. var bsPrefix = _ref.bsPrefix,
  8065. active = _ref.active,
  8066. disabled = _ref.disabled,
  8067. className = _ref.className,
  8068. variant = _ref.variant,
  8069. action = _ref.action,
  8070. as = _ref.as,
  8071. eventKey = _ref.eventKey,
  8072. onClick = _ref.onClick,
  8073. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "active", "disabled", "className", "variant", "action", "as", "eventKey", "onClick"]);
  8074. bsPrefix = useBootstrapPrefix(bsPrefix, 'list-group-item');
  8075. var handleClick = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (event) {
  8076. if (disabled) {
  8077. event.preventDefault();
  8078. event.stopPropagation();
  8079. return;
  8080. }
  8081. if (onClick) onClick(event);
  8082. }, [disabled, onClick]);
  8083. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_AbstractNavItem, _extends({
  8084. ref: ref
  8085. }, props, {
  8086. eventKey: makeEventKey(eventKey, props.href) // eslint-disable-next-line
  8087. ,
  8088. as: as || (action ? props.href ? 'a' : 'button' : 'div'),
  8089. onClick: handleClick,
  8090. className: classnames_default()(className, bsPrefix, active && 'active', disabled && 'disabled', variant && bsPrefix + "-" + variant, action && bsPrefix + "-action"),
  8091. __self: ListGroupItem_this,
  8092. __source: {
  8093. fileName: ListGroupItem_jsxFileName,
  8094. lineNumber: 88,
  8095. columnNumber: 7
  8096. }
  8097. }));
  8098. });
  8099. ListGroupItem.propTypes = ListGroupItem_propTypes;
  8100. ListGroupItem.defaultProps = ListGroupItem_defaultProps;
  8101. ListGroupItem.displayName = 'ListGroupItem';
  8102. /* harmony default export */ var src_ListGroupItem = (ListGroupItem);
  8103. // CONCATENATED MODULE: ./src/ListGroup.js
  8104. var ListGroup_this = undefined,
  8105. ListGroup_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ListGroup.js";
  8106. var ListGroup_propTypes = {
  8107. /**
  8108. * @default 'list-group'
  8109. */
  8110. bsPrefix: prop_types_default.a.string,
  8111. /**
  8112. * Adds a variant to the list-group
  8113. *
  8114. * @type {('flush')}
  8115. */
  8116. variant: prop_types_default.a.oneOf(['flush', null]),
  8117. /**
  8118. * Changes the flow of the list group items from vertical to horizontal.
  8119. * A value of `null` (the default) sets it to vertical for all breakpoints;
  8120. * Just including the prop sets it for all breakpoints, while `{sm|md|lg|xl}`
  8121. * makes the list group horizontal starting at that breakpoint’s `min-width`.
  8122. * @type {(true|'sm'|'md'|'lg'|'xl')}
  8123. */
  8124. horizontal: prop_types_default.a.oneOf([true, 'sm', 'md', 'lg', 'xl', null]),
  8125. /**
  8126. * You can use a custom element type for this component.
  8127. */
  8128. as: prop_types_default.a.elementType
  8129. };
  8130. var ListGroup_defaultProps = {
  8131. variant: null,
  8132. horizontal: null
  8133. };
  8134. var ListGroup = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  8135. var _useUncontrolled = useUncontrolled(props, {
  8136. activeKey: 'onSelect'
  8137. }),
  8138. className = _useUncontrolled.className,
  8139. bsPrefix = _useUncontrolled.bsPrefix,
  8140. variant = _useUncontrolled.variant,
  8141. horizontal = _useUncontrolled.horizontal,
  8142. _useUncontrolled$as = _useUncontrolled.as,
  8143. as = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,
  8144. controlledProps = _objectWithoutPropertiesLoose(_useUncontrolled, ["className", "bsPrefix", "variant", "horizontal", "as"]);
  8145. bsPrefix = useBootstrapPrefix(bsPrefix, 'list-group');
  8146. var horizontalVariant;
  8147. if (horizontal) {
  8148. horizontalVariant = horizontal === true ? 'horizontal' : "horizontal-" + horizontal;
  8149. } else {
  8150. horizontalVariant = null;
  8151. }
  8152. false ? undefined : void 0;
  8153. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_AbstractNav, _extends({
  8154. ref: ref
  8155. }, controlledProps, {
  8156. as: as,
  8157. className: classnames_default()(className, bsPrefix, variant && bsPrefix + "-" + variant, horizontalVariant && bsPrefix + "-" + horizontalVariant),
  8158. __self: ListGroup_this,
  8159. __source: {
  8160. fileName: ListGroup_jsxFileName,
  8161. lineNumber: 74,
  8162. columnNumber: 5
  8163. }
  8164. }));
  8165. });
  8166. ListGroup.propTypes = ListGroup_propTypes;
  8167. ListGroup.defaultProps = ListGroup_defaultProps;
  8168. ListGroup.displayName = 'ListGroup';
  8169. ListGroup.Item = src_ListGroupItem;
  8170. /* harmony default export */ var src_ListGroup = (ListGroup);
  8171. // CONCATENATED MODULE: ./src/Media.js
  8172. var Media_this = undefined,
  8173. Media_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Media.js";
  8174. var Media_propTypes = {
  8175. /**
  8176. * @default 'media'
  8177. */
  8178. bsPrefix: prop_types_default.a.string,
  8179. as: prop_types_default.a.elementType
  8180. };
  8181. var Media = 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
  8182. function (_ref, ref) {
  8183. var bsPrefix = _ref.bsPrefix,
  8184. className = _ref.className,
  8185. _ref$as = _ref.as,
  8186. Component = _ref$as === void 0 ? 'div' : _ref$as,
  8187. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "as"]);
  8188. var prefix = useBootstrapPrefix(bsPrefix, 'media');
  8189. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  8190. ref: ref,
  8191. className: classnames_default()(className, prefix),
  8192. __self: Media_this,
  8193. __source: {
  8194. fileName: Media_jsxFileName,
  8195. lineNumber: 23,
  8196. columnNumber: 7
  8197. }
  8198. }));
  8199. });
  8200. Media.displayName = 'Media';
  8201. Media.propTypes = Media_propTypes;
  8202. Media.Body = createWithBsPrefix('media-body');
  8203. /* harmony default export */ var src_Media = (Media);
  8204. // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
  8205. function _assertThisInitialized(self) {
  8206. if (self === void 0) {
  8207. throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
  8208. }
  8209. return self;
  8210. }
  8211. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/scrollbarSize.js
  8212. var scrollbarSize_size;
  8213. function scrollbarSize(recalc) {
  8214. if (!scrollbarSize_size && scrollbarSize_size !== 0 || recalc) {
  8215. if (canUseDOM) {
  8216. var scrollDiv = document.createElement('div');
  8217. scrollDiv.style.position = 'absolute';
  8218. scrollDiv.style.top = '-9999px';
  8219. scrollDiv.style.width = '50px';
  8220. scrollDiv.style.height = '50px';
  8221. scrollDiv.style.overflow = 'scroll';
  8222. document.body.appendChild(scrollDiv);
  8223. scrollbarSize_size = scrollDiv.offsetWidth - scrollDiv.clientWidth;
  8224. document.body.removeChild(scrollDiv);
  8225. }
  8226. }
  8227. return scrollbarSize_size;
  8228. }
  8229. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/activeElement.js
  8230. /**
  8231. * Return the actively focused element safely.
  8232. *
  8233. * @param doc the document to checl
  8234. */
  8235. function activeElement(doc) {
  8236. if (doc === void 0) {
  8237. doc = ownerDocument();
  8238. } // Support: IE 9 only
  8239. // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
  8240. try {
  8241. var active = doc.activeElement; // IE11 returns a seemingly empty object in some cases when accessing
  8242. // document.activeElement from an <iframe>
  8243. if (!active || !active.nodeName) return null;
  8244. return active;
  8245. } catch (e) {
  8246. /* ie throws if no active element */
  8247. return doc.body;
  8248. }
  8249. }
  8250. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/addClass.js
  8251. function addClass(element, className) {
  8252. if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + " " + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + " " + className);
  8253. }
  8254. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/removeClass.js
  8255. function replaceClassName(origClass, classToRemove) {
  8256. return origClass.replace(new RegExp("(^|\\s)" + classToRemove + "(?:\\s|$)", 'g'), '$1').replace(/\s+/g, ' ').replace(/^\s*|\s*$/g, '');
  8257. }
  8258. function removeClass(element, className) {
  8259. if (element.classList) {
  8260. element.classList.remove(className);
  8261. } else if (typeof element.className === 'string') {
  8262. ;
  8263. element.className = replaceClassName(element.className, className);
  8264. } else {
  8265. element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));
  8266. }
  8267. }
  8268. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/isDocument.js
  8269. function isDocument(element) {
  8270. return 'nodeType' in element && element.nodeType === document.DOCUMENT_NODE;
  8271. }
  8272. // CONCATENATED MODULE: ./node_modules/dom-helpers/esm/isWindow.js
  8273. function isWindow(node) {
  8274. if ('window' in node && node.window === node) return node;
  8275. if (isDocument(node)) return node.defaultView || false;
  8276. return false;
  8277. }
  8278. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/isOverflowing.js
  8279. function isOverflowing_isBody(node) {
  8280. return node && node.tagName.toLowerCase() === 'body';
  8281. }
  8282. function bodyIsOverflowing(node) {
  8283. var doc = isWindow(node) ? ownerDocument() : ownerDocument(node);
  8284. var win = isWindow(node) || doc.defaultView;
  8285. return doc.body.clientWidth < win.innerWidth;
  8286. }
  8287. function isOverflowing(container) {
  8288. var win = isWindow(container);
  8289. return win || isOverflowing_isBody(container) ? bodyIsOverflowing(container) : container.scrollHeight > container.clientHeight;
  8290. }
  8291. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/manageAriaHidden.js
  8292. var BLACKLIST = ['template', 'script', 'style'];
  8293. var isHidable = function isHidable(_ref) {
  8294. var nodeType = _ref.nodeType,
  8295. tagName = _ref.tagName;
  8296. return nodeType === 1 && BLACKLIST.indexOf(tagName.toLowerCase()) === -1;
  8297. };
  8298. var siblings = function siblings(container, exclude, cb) {
  8299. [].forEach.call(container.children, function (node) {
  8300. if (exclude.indexOf(node) === -1 && isHidable(node)) {
  8301. cb(node);
  8302. }
  8303. });
  8304. };
  8305. function ariaHidden(show, node) {
  8306. if (!node) return;
  8307. if (show) {
  8308. node.setAttribute('aria-hidden', 'true');
  8309. } else {
  8310. node.removeAttribute('aria-hidden');
  8311. }
  8312. }
  8313. function hideSiblings(container, _ref2) {
  8314. var dialog = _ref2.dialog,
  8315. backdrop = _ref2.backdrop;
  8316. siblings(container, [dialog, backdrop], function (node) {
  8317. return ariaHidden(true, node);
  8318. });
  8319. }
  8320. function showSiblings(container, _ref3) {
  8321. var dialog = _ref3.dialog,
  8322. backdrop = _ref3.backdrop;
  8323. siblings(container, [dialog, backdrop], function (node) {
  8324. return ariaHidden(false, node);
  8325. });
  8326. }
  8327. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/ModalManager.js
  8328. function findIndexOf(arr, cb) {
  8329. var idx = -1;
  8330. arr.some(function (d, i) {
  8331. if (cb(d, i)) {
  8332. idx = i;
  8333. return true;
  8334. }
  8335. return false;
  8336. });
  8337. return idx;
  8338. }
  8339. /**
  8340. * Proper state management for containers and the modals in those containers.
  8341. *
  8342. * @internal Used by the Modal to ensure proper styling of containers.
  8343. */
  8344. var ModalManager_ModalManager = /*#__PURE__*/function () {
  8345. function ModalManager(_temp) {
  8346. var _ref = _temp === void 0 ? {} : _temp,
  8347. _ref$hideSiblingNodes = _ref.hideSiblingNodes,
  8348. hideSiblingNodes = _ref$hideSiblingNodes === void 0 ? true : _ref$hideSiblingNodes,
  8349. _ref$handleContainerO = _ref.handleContainerOverflow,
  8350. handleContainerOverflow = _ref$handleContainerO === void 0 ? true : _ref$handleContainerO;
  8351. this.hideSiblingNodes = void 0;
  8352. this.handleContainerOverflow = void 0;
  8353. this.modals = void 0;
  8354. this.containers = void 0;
  8355. this.data = void 0;
  8356. this.scrollbarSize = void 0;
  8357. this.hideSiblingNodes = hideSiblingNodes;
  8358. this.handleContainerOverflow = handleContainerOverflow;
  8359. this.modals = [];
  8360. this.containers = [];
  8361. this.data = [];
  8362. this.scrollbarSize = scrollbarSize();
  8363. }
  8364. var _proto = ModalManager.prototype;
  8365. _proto.isContainerOverflowing = function isContainerOverflowing(modal) {
  8366. var data = this.data[this.containerIndexFromModal(modal)];
  8367. return data && data.overflowing;
  8368. };
  8369. _proto.containerIndexFromModal = function containerIndexFromModal(modal) {
  8370. return findIndexOf(this.data, function (d) {
  8371. return d.modals.indexOf(modal) !== -1;
  8372. });
  8373. };
  8374. _proto.setContainerStyle = function setContainerStyle(containerState, container) {
  8375. var style = {
  8376. overflow: 'hidden'
  8377. }; // we are only interested in the actual `style` here
  8378. // because we will override it
  8379. containerState.style = {
  8380. overflow: container.style.overflow,
  8381. paddingRight: container.style.paddingRight
  8382. };
  8383. if (containerState.overflowing) {
  8384. // use computed style, here to get the real padding
  8385. // to add our scrollbar width
  8386. style.paddingRight = parseInt(esm_css(container, 'paddingRight') || '0', 10) + this.scrollbarSize + "px";
  8387. }
  8388. esm_css(container, style);
  8389. };
  8390. _proto.removeContainerStyle = function removeContainerStyle(containerState, container) {
  8391. var style = containerState.style;
  8392. Object.keys(style).forEach(function (key) {
  8393. container.style[key] = style[key];
  8394. });
  8395. };
  8396. _proto.add = function add(modal, container, className) {
  8397. var modalIdx = this.modals.indexOf(modal);
  8398. var containerIdx = this.containers.indexOf(container);
  8399. if (modalIdx !== -1) {
  8400. return modalIdx;
  8401. }
  8402. modalIdx = this.modals.length;
  8403. this.modals.push(modal);
  8404. if (this.hideSiblingNodes) {
  8405. hideSiblings(container, modal);
  8406. }
  8407. if (containerIdx !== -1) {
  8408. this.data[containerIdx].modals.push(modal);
  8409. return modalIdx;
  8410. }
  8411. var data = {
  8412. modals: [modal],
  8413. // right now only the first modal of a container will have its classes applied
  8414. classes: className ? className.split(/\s+/) : [],
  8415. overflowing: isOverflowing(container)
  8416. };
  8417. if (this.handleContainerOverflow) {
  8418. this.setContainerStyle(data, container);
  8419. }
  8420. data.classes.forEach(addClass.bind(null, container));
  8421. this.containers.push(container);
  8422. this.data.push(data);
  8423. return modalIdx;
  8424. };
  8425. _proto.remove = function remove(modal) {
  8426. var modalIdx = this.modals.indexOf(modal);
  8427. if (modalIdx === -1) {
  8428. return;
  8429. }
  8430. var containerIdx = this.containerIndexFromModal(modal);
  8431. var data = this.data[containerIdx];
  8432. var container = this.containers[containerIdx];
  8433. data.modals.splice(data.modals.indexOf(modal), 1);
  8434. this.modals.splice(modalIdx, 1); // if that was the last modal in a container,
  8435. // clean up the container
  8436. if (data.modals.length === 0) {
  8437. data.classes.forEach(removeClass.bind(null, container));
  8438. if (this.handleContainerOverflow) {
  8439. this.removeContainerStyle(data, container);
  8440. }
  8441. if (this.hideSiblingNodes) {
  8442. showSiblings(container, modal);
  8443. }
  8444. this.containers.splice(containerIdx, 1);
  8445. this.data.splice(containerIdx, 1);
  8446. } else if (this.hideSiblingNodes) {
  8447. // otherwise make sure the next top modal is visible to a SR
  8448. var _data$modals = data.modals[data.modals.length - 1],
  8449. backdrop = _data$modals.backdrop,
  8450. dialog = _data$modals.dialog;
  8451. ariaHidden(false, dialog);
  8452. ariaHidden(false, backdrop);
  8453. }
  8454. };
  8455. _proto.isTopModal = function isTopModal(modal) {
  8456. return !!this.modals.length && this.modals[this.modals.length - 1] === modal;
  8457. };
  8458. return ModalManager;
  8459. }();
  8460. /* harmony default export */ var esm_ModalManager = (ModalManager_ModalManager);
  8461. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/useWaitForDOMRef.js
  8462. var useWaitForDOMRef_resolveContainerRef = function resolveContainerRef(ref) {
  8463. var _ref;
  8464. if (typeof document === 'undefined') return null;
  8465. if (ref == null) return ownerDocument().body;
  8466. if (typeof ref === 'function') ref = ref();
  8467. if (ref && 'current' in ref) ref = ref.current;
  8468. if ((_ref = ref) == null ? void 0 : _ref.nodeType) return ref || null;
  8469. return null;
  8470. };
  8471. function useWaitForDOMRef(ref, onResolved) {
  8472. var _useState = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(function () {
  8473. return useWaitForDOMRef_resolveContainerRef(ref);
  8474. }),
  8475. resolvedRef = _useState[0],
  8476. setRef = _useState[1];
  8477. if (!resolvedRef) {
  8478. var earlyRef = useWaitForDOMRef_resolveContainerRef(ref);
  8479. if (earlyRef) setRef(earlyRef);
  8480. }
  8481. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  8482. if (onResolved && resolvedRef) {
  8483. onResolved(resolvedRef);
  8484. }
  8485. }, [onResolved, resolvedRef]);
  8486. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  8487. var nextRef = useWaitForDOMRef_resolveContainerRef(ref);
  8488. if (nextRef !== resolvedRef) {
  8489. setRef(nextRef);
  8490. }
  8491. }, [ref, resolvedRef]);
  8492. return resolvedRef;
  8493. }
  8494. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/Modal.js
  8495. /* eslint-disable @typescript-eslint/no-use-before-define */
  8496. /* eslint-disable react/prop-types */
  8497. var manager;
  8498. function getManager() {
  8499. if (!manager) manager = new esm_ModalManager();
  8500. return manager;
  8501. }
  8502. function useModalManager(provided) {
  8503. var modalManager = provided || getManager();
  8504. var modal = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])({
  8505. dialog: null,
  8506. backdrop: null
  8507. });
  8508. return Object.assign(modal.current, {
  8509. add: function add(container, className) {
  8510. return modalManager.add(modal.current, container, className);
  8511. },
  8512. remove: function remove() {
  8513. return modalManager.remove(modal.current);
  8514. },
  8515. isTopModal: function isTopModal() {
  8516. return modalManager.isTopModal(modal.current);
  8517. },
  8518. setDialogRef: Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (ref) {
  8519. modal.current.dialog = ref;
  8520. }, []),
  8521. setBackdropRef: Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (ref) {
  8522. modal.current.backdrop = ref;
  8523. }, [])
  8524. });
  8525. }
  8526. var Modal_Modal = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["forwardRef"])(function (_ref, ref) {
  8527. var _ref$show = _ref.show,
  8528. show = _ref$show === void 0 ? false : _ref$show,
  8529. _ref$role = _ref.role,
  8530. role = _ref$role === void 0 ? 'dialog' : _ref$role,
  8531. className = _ref.className,
  8532. style = _ref.style,
  8533. children = _ref.children,
  8534. _ref$backdrop = _ref.backdrop,
  8535. backdrop = _ref$backdrop === void 0 ? true : _ref$backdrop,
  8536. _ref$keyboard = _ref.keyboard,
  8537. keyboard = _ref$keyboard === void 0 ? true : _ref$keyboard,
  8538. onBackdropClick = _ref.onBackdropClick,
  8539. onEscapeKeyDown = _ref.onEscapeKeyDown,
  8540. transition = _ref.transition,
  8541. backdropTransition = _ref.backdropTransition,
  8542. _ref$autoFocus = _ref.autoFocus,
  8543. autoFocus = _ref$autoFocus === void 0 ? true : _ref$autoFocus,
  8544. _ref$enforceFocus = _ref.enforceFocus,
  8545. enforceFocus = _ref$enforceFocus === void 0 ? true : _ref$enforceFocus,
  8546. _ref$restoreFocus = _ref.restoreFocus,
  8547. restoreFocus = _ref$restoreFocus === void 0 ? true : _ref$restoreFocus,
  8548. restoreFocusOptions = _ref.restoreFocusOptions,
  8549. renderDialog = _ref.renderDialog,
  8550. _ref$renderBackdrop = _ref.renderBackdrop,
  8551. renderBackdrop = _ref$renderBackdrop === void 0 ? function (props) {
  8552. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", props);
  8553. } : _ref$renderBackdrop,
  8554. providedManager = _ref.manager,
  8555. containerRef = _ref.container,
  8556. containerClassName = _ref.containerClassName,
  8557. onShow = _ref.onShow,
  8558. _ref$onHide = _ref.onHide,
  8559. onHide = _ref$onHide === void 0 ? function () {} : _ref$onHide,
  8560. onExit = _ref.onExit,
  8561. onExited = _ref.onExited,
  8562. onExiting = _ref.onExiting,
  8563. onEnter = _ref.onEnter,
  8564. onEntering = _ref.onEntering,
  8565. onEntered = _ref.onEntered,
  8566. rest = _objectWithoutPropertiesLoose(_ref, ["show", "role", "className", "style", "children", "backdrop", "keyboard", "onBackdropClick", "onEscapeKeyDown", "transition", "backdropTransition", "autoFocus", "enforceFocus", "restoreFocus", "restoreFocusOptions", "renderDialog", "renderBackdrop", "manager", "container", "containerClassName", "onShow", "onHide", "onExit", "onExited", "onExiting", "onEnter", "onEntering", "onEntered"]);
  8567. var container = useWaitForDOMRef(containerRef);
  8568. var modal = useModalManager(providedManager);
  8569. var isMounted = useMounted();
  8570. var prevShow = usePrevious(show);
  8571. var _useState = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(!show),
  8572. exited = _useState[0],
  8573. setExited = _useState[1];
  8574. var lastFocusRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null);
  8575. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useImperativeHandle"])(ref, function () {
  8576. return modal;
  8577. }, [modal]);
  8578. if (canUseDOM && !prevShow && show) {
  8579. lastFocusRef.current = activeElement();
  8580. }
  8581. if (!transition && !show && !exited) {
  8582. setExited(true);
  8583. } else if (show && exited) {
  8584. setExited(false);
  8585. }
  8586. var handleShow = useEventCallback(function () {
  8587. modal.add(container, containerClassName);
  8588. removeKeydownListenerRef.current = esm_listen(document, 'keydown', handleDocumentKeyDown);
  8589. removeFocusListenerRef.current = esm_listen(document, 'focus', // the timeout is necessary b/c this will run before the new modal is mounted
  8590. // and so steals focus from it
  8591. function () {
  8592. return setTimeout(handleEnforceFocus);
  8593. }, true);
  8594. if (onShow) {
  8595. onShow();
  8596. } // autofocus after onShow to not trigger a focus event for previous
  8597. // modals before this one is shown.
  8598. if (autoFocus) {
  8599. var currentActiveElement = activeElement(document);
  8600. if (modal.dialog && currentActiveElement && !contains_contains(modal.dialog, currentActiveElement)) {
  8601. lastFocusRef.current = currentActiveElement;
  8602. modal.dialog.focus();
  8603. }
  8604. }
  8605. });
  8606. var handleHide = useEventCallback(function () {
  8607. modal.remove();
  8608. removeKeydownListenerRef.current == null ? void 0 : removeKeydownListenerRef.current();
  8609. removeFocusListenerRef.current == null ? void 0 : removeFocusListenerRef.current();
  8610. if (restoreFocus) {
  8611. var _lastFocusRef$current; // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)
  8612. (_lastFocusRef$current = lastFocusRef.current) == null ? void 0 : _lastFocusRef$current.focus == null ? void 0 : _lastFocusRef$current.focus(restoreFocusOptions);
  8613. lastFocusRef.current = null;
  8614. }
  8615. }); // TODO: try and combine these effects: https://github.com/react-bootstrap/react-overlays/pull/794#discussion_r409954120
  8616. // Show logic when:
  8617. // - show is `true` _and_ `container` has resolved
  8618. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  8619. if (!show || !container) return;
  8620. handleShow();
  8621. }, [show, container,
  8622. /* should never change: */
  8623. handleShow]); // Hide cleanup logic when:
  8624. // - `exited` switches to true
  8625. // - component unmounts;
  8626. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  8627. if (!exited) return;
  8628. handleHide();
  8629. }, [exited, handleHide]);
  8630. useWillUnmount(function () {
  8631. handleHide();
  8632. }); // --------------------------------
  8633. var handleEnforceFocus = useEventCallback(function () {
  8634. if (!enforceFocus || !isMounted() || !modal.isTopModal()) {
  8635. return;
  8636. }
  8637. var currentActiveElement = activeElement();
  8638. if (modal.dialog && currentActiveElement && !contains_contains(modal.dialog, currentActiveElement)) {
  8639. modal.dialog.focus();
  8640. }
  8641. });
  8642. var handleBackdropClick = useEventCallback(function (e) {
  8643. if (e.target !== e.currentTarget) {
  8644. return;
  8645. }
  8646. onBackdropClick == null ? void 0 : onBackdropClick(e);
  8647. if (backdrop === true) {
  8648. onHide();
  8649. }
  8650. });
  8651. var handleDocumentKeyDown = function handleDocumentKeyDown(e) {
  8652. if (keyboard && e.keyCode === 27 && modal.isTopModal()) {
  8653. onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e);
  8654. onHide();
  8655. }
  8656. };
  8657. var removeFocusListenerRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])();
  8658. var removeKeydownListenerRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])();
  8659. var handleHidden = function handleHidden() {
  8660. setExited(true);
  8661. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  8662. args[_key] = arguments[_key];
  8663. }
  8664. onExited == null ? void 0 : onExited.apply(void 0, args);
  8665. };
  8666. var Transition = transition;
  8667. if (!container || !(show || Transition && !exited)) {
  8668. return null;
  8669. }
  8670. var dialogProps = _extends({
  8671. role: role,
  8672. ref: modal.setDialogRef,
  8673. // apparently only works on the dialog role element
  8674. 'aria-modal': role === 'dialog' ? true : undefined
  8675. }, rest, {
  8676. style: style,
  8677. className: className,
  8678. tabIndex: -1
  8679. });
  8680. var dialog = renderDialog ? renderDialog(dialogProps) : /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", dialogProps, external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(children, {
  8681. role: 'document'
  8682. }));
  8683. if (Transition) {
  8684. dialog = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Transition, {
  8685. appear: true,
  8686. unmountOnExit: true,
  8687. "in": !!show,
  8688. onExit: onExit,
  8689. onExiting: onExiting,
  8690. onExited: handleHidden,
  8691. onEnter: onEnter,
  8692. onEntering: onEntering,
  8693. onEntered: onEntered
  8694. }, dialog);
  8695. }
  8696. var backdropElement = null;
  8697. if (backdrop) {
  8698. var BackdropTransition = backdropTransition;
  8699. backdropElement = renderBackdrop({
  8700. ref: modal.setBackdropRef,
  8701. onClick: handleBackdropClick
  8702. });
  8703. if (BackdropTransition) {
  8704. backdropElement = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(BackdropTransition, {
  8705. appear: true,
  8706. "in": !!show
  8707. }, backdropElement);
  8708. }
  8709. }
  8710. 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, external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_default.a.createPortal( /*#__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, backdropElement, dialog), container));
  8711. });
  8712. var Modal_propTypes = {
  8713. /**
  8714. * Set the visibility of the Modal
  8715. */
  8716. show: prop_types_default.a.bool,
  8717. /**
  8718. * A DOM element, a `ref` to an element, or function that returns either. The Modal is appended to it's `container` element.
  8719. *
  8720. * For the sake of assistive technologies, the container should usually be the document body, so that the rest of the
  8721. * page content can be placed behind a virtual backdrop as well as a visual one.
  8722. */
  8723. container: prop_types_default.a.any,
  8724. /**
  8725. * A callback fired when the Modal is opening.
  8726. */
  8727. onShow: prop_types_default.a.func,
  8728. /**
  8729. * A callback fired when either the backdrop is clicked, or the escape key is pressed.
  8730. *
  8731. * The `onHide` callback only signals intent from the Modal,
  8732. * you must actually set the `show` prop to `false` for the Modal to close.
  8733. */
  8734. onHide: prop_types_default.a.func,
  8735. /**
  8736. * Include a backdrop component.
  8737. */
  8738. backdrop: prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.oneOf(['static'])]),
  8739. /**
  8740. * A function that returns the dialog component. Useful for custom
  8741. * rendering. **Note:** the component should make sure to apply the provided ref.
  8742. *
  8743. * ```js static
  8744. * renderDialog={props => <MyDialog {...props} />}
  8745. * ```
  8746. */
  8747. renderDialog: prop_types_default.a.func,
  8748. /**
  8749. * A function that returns a backdrop component. Useful for custom
  8750. * backdrop rendering.
  8751. *
  8752. * ```js
  8753. * renderBackdrop={props => <MyBackdrop {...props} />}
  8754. * ```
  8755. */
  8756. renderBackdrop: prop_types_default.a.func,
  8757. /**
  8758. * A callback fired when the escape key, if specified in `keyboard`, is pressed.
  8759. */
  8760. onEscapeKeyDown: prop_types_default.a.func,
  8761. /**
  8762. * A callback fired when the backdrop, if specified, is clicked.
  8763. */
  8764. onBackdropClick: prop_types_default.a.func,
  8765. /**
  8766. * A css class or set of classes applied to the modal container when the modal is open,
  8767. * and removed when it is closed.
  8768. */
  8769. containerClassName: prop_types_default.a.string,
  8770. /**
  8771. * Close the modal when escape key is pressed
  8772. */
  8773. keyboard: prop_types_default.a.bool,
  8774. /**
  8775. * A `react-transition-group@2.0.0` `<Transition/>` component used
  8776. * to control animations for the dialog component.
  8777. */
  8778. transition: prop_types_default.a.elementType,
  8779. /**
  8780. * A `react-transition-group@2.0.0` `<Transition/>` component used
  8781. * to control animations for the backdrop components.
  8782. */
  8783. backdropTransition: prop_types_default.a.elementType,
  8784. /**
  8785. * When `true` The modal will automatically shift focus to itself when it opens, and
  8786. * replace it to the last focused element when it closes. This also
  8787. * works correctly with any Modal children that have the `autoFocus` prop.
  8788. *
  8789. * Generally this should never be set to `false` as it makes the Modal less
  8790. * accessible to assistive technologies, like screen readers.
  8791. */
  8792. autoFocus: prop_types_default.a.bool,
  8793. /**
  8794. * When `true` The modal will prevent focus from leaving the Modal while open.
  8795. *
  8796. * Generally this should never be set to `false` as it makes the Modal less
  8797. * accessible to assistive technologies, like screen readers.
  8798. */
  8799. enforceFocus: prop_types_default.a.bool,
  8800. /**
  8801. * When `true` The modal will restore focus to previously focused element once
  8802. * modal is hidden
  8803. */
  8804. restoreFocus: prop_types_default.a.bool,
  8805. /**
  8806. * Options passed to focus function when `restoreFocus` is set to `true`
  8807. *
  8808. * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#Parameters
  8809. */
  8810. restoreFocusOptions: prop_types_default.a.shape({
  8811. preventScroll: prop_types_default.a.bool
  8812. }),
  8813. /**
  8814. * Callback fired before the Modal transitions in
  8815. */
  8816. onEnter: prop_types_default.a.func,
  8817. /**
  8818. * Callback fired as the Modal begins to transition in
  8819. */
  8820. onEntering: prop_types_default.a.func,
  8821. /**
  8822. * Callback fired after the Modal finishes transitioning in
  8823. */
  8824. onEntered: prop_types_default.a.func,
  8825. /**
  8826. * Callback fired right before the Modal transitions out
  8827. */
  8828. onExit: prop_types_default.a.func,
  8829. /**
  8830. * Callback fired as the Modal begins to transition out
  8831. */
  8832. onExiting: prop_types_default.a.func,
  8833. /**
  8834. * Callback fired after the Modal finishes transitioning out
  8835. */
  8836. onExited: prop_types_default.a.func,
  8837. /**
  8838. * A ModalManager instance used to track and manage the state of open
  8839. * Modals. Useful when customizing how modals interact within a container
  8840. */
  8841. manager: prop_types_default.a.object
  8842. };
  8843. Modal_Modal.displayName = 'Modal';
  8844. Modal_Modal.propTypes = Modal_propTypes;
  8845. /* harmony default export */ var esm_Modal = (Object.assign(Modal_Modal, {
  8846. Manager: esm_ModalManager
  8847. }));
  8848. // CONCATENATED MODULE: ./src/BootstrapModalManager.js
  8849. var Selector = {
  8850. FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
  8851. STICKY_CONTENT: '.sticky-top',
  8852. NAVBAR_TOGGLER: '.navbar-toggler'
  8853. };
  8854. var BootstrapModalManager_BootstrapModalManager = /*#__PURE__*/function (_ModalManager) {
  8855. _inheritsLoose(BootstrapModalManager, _ModalManager);
  8856. function BootstrapModalManager() {
  8857. var _this;
  8858. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  8859. args[_key] = arguments[_key];
  8860. }
  8861. _this = _ModalManager.call.apply(_ModalManager, [this].concat(args)) || this;
  8862. _this.adjustAndStore = function (prop, element, adjust) {
  8863. var _css;
  8864. var actual = element.style[prop];
  8865. element.dataset[prop] = actual;
  8866. esm_css(element, (_css = {}, _css[prop] = parseFloat(esm_css(element, prop)) + adjust + "px", _css));
  8867. };
  8868. _this.restore = function (prop, element) {
  8869. var value = element.dataset[prop];
  8870. if (value !== undefined) {
  8871. var _css2;
  8872. delete element.dataset[prop];
  8873. esm_css(element, (_css2 = {}, _css2[prop] = value, _css2));
  8874. }
  8875. };
  8876. return _this;
  8877. }
  8878. var _proto = BootstrapModalManager.prototype;
  8879. _proto.setContainerStyle = function setContainerStyle(containerState, container) {
  8880. var _this2 = this;
  8881. _ModalManager.prototype.setContainerStyle.call(this, containerState, container);
  8882. if (!containerState.overflowing) return;
  8883. var size = scrollbarSize();
  8884. qsa(container, Selector.FIXED_CONTENT).forEach(function (el) {
  8885. return _this2.adjustAndStore('paddingRight', el, size);
  8886. });
  8887. qsa(container, Selector.STICKY_CONTENT).forEach(function (el) {
  8888. return _this2.adjustAndStore('margingRight', el, -size);
  8889. });
  8890. qsa(container, Selector.NAVBAR_TOGGLER).forEach(function (el) {
  8891. return _this2.adjustAndStore('margingRight', el, size);
  8892. });
  8893. };
  8894. _proto.removeContainerStyle = function removeContainerStyle(containerState, container) {
  8895. var _this3 = this;
  8896. _ModalManager.prototype.removeContainerStyle.call(this, containerState, container);
  8897. qsa(container, Selector.FIXED_CONTENT).forEach(function (el) {
  8898. return _this3.restore('paddingRight', el);
  8899. });
  8900. qsa(container, Selector.STICKY_CONTENT).forEach(function (el) {
  8901. return _this3.restore('margingRight', el);
  8902. });
  8903. qsa(container, Selector.NAVBAR_TOGGLER).forEach(function (el) {
  8904. return _this3.restore('margingRight', el);
  8905. });
  8906. };
  8907. return BootstrapModalManager;
  8908. }(esm_ModalManager);
  8909. // CONCATENATED MODULE: ./src/ModalBody.js
  8910. /* harmony default export */ var ModalBody = (createWithBsPrefix('modal-body'));
  8911. // CONCATENATED MODULE: ./src/ModalContext.js
  8912. var ModalContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext({
  8913. onHide: function onHide() {}
  8914. });
  8915. /* harmony default export */ var src_ModalContext = (ModalContext);
  8916. // CONCATENATED MODULE: ./src/ModalDialog.js
  8917. var ModalDialog_this = undefined,
  8918. ModalDialog_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ModalDialog.js";
  8919. var ModalDialog_propTypes = {
  8920. /** @default 'modal' */
  8921. bsPrefix: prop_types_default.a.string,
  8922. /**
  8923. * Render a large, extra large or small modal.
  8924. *
  8925. * @type ('sm'|'lg','xl')
  8926. */
  8927. size: prop_types_default.a.string,
  8928. /**
  8929. * Specify whether the Component should be vertically centered
  8930. */
  8931. centered: prop_types_default.a.bool,
  8932. /**
  8933. * Allows scrolling the `<Modal.Body>` instead of the entire Modal when overflowing.
  8934. */
  8935. scrollable: prop_types_default.a.bool
  8936. };
  8937. var ModalDialog = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  8938. var bsPrefix = _ref.bsPrefix,
  8939. className = _ref.className,
  8940. centered = _ref.centered,
  8941. size = _ref.size,
  8942. children = _ref.children,
  8943. scrollable = _ref.scrollable,
  8944. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "centered", "size", "children", "scrollable"]);
  8945. bsPrefix = useBootstrapPrefix(bsPrefix, 'modal');
  8946. var dialogClass = bsPrefix + "-dialog";
  8947. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({}, props, {
  8948. ref: ref,
  8949. className: classnames_default()(dialogClass, className, size && bsPrefix + "-" + size, centered && dialogClass + "-centered", scrollable && dialogClass + "-scrollable"),
  8950. __self: ModalDialog_this,
  8951. __source: {
  8952. fileName: ModalDialog_jsxFileName,
  8953. lineNumber: 38,
  8954. columnNumber: 7
  8955. }
  8956. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  8957. className: bsPrefix + "-content",
  8958. __self: ModalDialog_this,
  8959. __source: {
  8960. fileName: ModalDialog_jsxFileName,
  8961. lineNumber: 49,
  8962. columnNumber: 9
  8963. }
  8964. }, children));
  8965. });
  8966. ModalDialog.displayName = 'ModalDialog';
  8967. ModalDialog.propTypes = ModalDialog_propTypes;
  8968. /* harmony default export */ var src_ModalDialog = (ModalDialog);
  8969. // CONCATENATED MODULE: ./src/ModalFooter.js
  8970. /* harmony default export */ var ModalFooter = (createWithBsPrefix('modal-footer'));
  8971. // CONCATENATED MODULE: ./src/ModalHeader.js
  8972. var ModalHeader_this = undefined,
  8973. ModalHeader_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ModalHeader.js";
  8974. var ModalHeader_propTypes = {
  8975. bsPrefix: prop_types_default.a.string,
  8976. /**
  8977. * Provides an accessible label for the close
  8978. * button. It is used for Assistive Technology when the label text is not
  8979. * readable.
  8980. */
  8981. closeLabel: prop_types_default.a.string,
  8982. /**
  8983. * Specify whether the Component should contain a close button
  8984. */
  8985. closeButton: prop_types_default.a.bool,
  8986. /**
  8987. * A Callback fired when the close button is clicked. If used directly inside
  8988. * a Modal component, the onHide will automatically be propagated up to the
  8989. * parent Modal `onHide`.
  8990. */
  8991. onHide: prop_types_default.a.func
  8992. };
  8993. var ModalHeader_defaultProps = {
  8994. closeLabel: 'Close',
  8995. closeButton: false
  8996. };
  8997. var ModalHeader = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  8998. var bsPrefix = _ref.bsPrefix,
  8999. closeLabel = _ref.closeLabel,
  9000. closeButton = _ref.closeButton,
  9001. onHide = _ref.onHide,
  9002. className = _ref.className,
  9003. children = _ref.children,
  9004. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "closeLabel", "closeButton", "onHide", "className", "children"]);
  9005. bsPrefix = useBootstrapPrefix(bsPrefix, 'modal-header');
  9006. var context = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_ModalContext);
  9007. var handleClick = useEventCallback(function () {
  9008. if (context) context.onHide();
  9009. if (onHide) onHide();
  9010. });
  9011. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({
  9012. ref: ref
  9013. }, props, {
  9014. className: classnames_default()(className, bsPrefix),
  9015. __self: ModalHeader_this,
  9016. __source: {
  9017. fileName: ModalHeader_jsxFileName,
  9018. lineNumber: 61,
  9019. columnNumber: 7
  9020. }
  9021. }), children, closeButton && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_CloseButton, {
  9022. label: closeLabel,
  9023. onClick: handleClick,
  9024. __self: ModalHeader_this,
  9025. __source: {
  9026. fileName: ModalHeader_jsxFileName,
  9027. lineNumber: 65,
  9028. columnNumber: 11
  9029. }
  9030. }));
  9031. });
  9032. ModalHeader.displayName = 'ModalHeader';
  9033. ModalHeader.propTypes = ModalHeader_propTypes;
  9034. ModalHeader.defaultProps = ModalHeader_defaultProps;
  9035. /* harmony default export */ var src_ModalHeader = (ModalHeader);
  9036. // CONCATENATED MODULE: ./src/ModalTitle.js
  9037. var ModalTitle_DivStyledAsH4 = divWithClassName('h4');
  9038. /* harmony default export */ var ModalTitle = (createWithBsPrefix('modal-title', {
  9039. Component: ModalTitle_DivStyledAsH4
  9040. }));
  9041. // CONCATENATED MODULE: ./src/Modal.js
  9042. var Modal_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Modal.js";
  9043. var Modal_manager;
  9044. var src_Modal_propTypes = {
  9045. /**
  9046. * @default 'modal'
  9047. */
  9048. bsPrefix: prop_types_default.a.string,
  9049. /**
  9050. * Render a large, extra large or small modal.
  9051. *
  9052. * @type ('sm'|'lg','xl')
  9053. */
  9054. size: prop_types_default.a.string,
  9055. /**
  9056. * vertically center the Dialog in the window
  9057. */
  9058. centered: prop_types_default.a.bool,
  9059. /**
  9060. * Include a backdrop component. Specify 'static' for a backdrop that doesn't
  9061. * trigger an "onHide" when clicked.
  9062. */
  9063. backdrop: prop_types_default.a.oneOf(['static', true, false]),
  9064. /**
  9065. * Add an optional extra class name to .modal-backdrop
  9066. * It could end up looking like class="modal-backdrop foo-modal-backdrop in".
  9067. */
  9068. backdropClassName: prop_types_default.a.string,
  9069. /**
  9070. * Close the modal when escape key is pressed
  9071. */
  9072. keyboard: prop_types_default.a.bool,
  9073. /**
  9074. * Allows scrolling the `<Modal.Body>` instead of the entire Modal when overflowing.
  9075. */
  9076. scrollable: prop_types_default.a.bool,
  9077. /**
  9078. * Open and close the Modal with a slide and fade animation.
  9079. */
  9080. animation: prop_types_default.a.bool,
  9081. /**
  9082. * A css class to apply to the Modal dialog DOM node.
  9083. */
  9084. dialogClassName: prop_types_default.a.string,
  9085. /**
  9086. * A Component type that provides the modal content Markup. This is a useful
  9087. * prop when you want to use your own styles and markup to create a custom
  9088. * modal component.
  9089. */
  9090. dialogAs: prop_types_default.a.elementType,
  9091. /**
  9092. * When `true` The modal will automatically shift focus to itself when it
  9093. * opens, and replace it to the last focused element when it closes.
  9094. * Generally this should never be set to false as it makes the Modal less
  9095. * accessible to assistive technologies, like screen-readers.
  9096. */
  9097. autoFocus: prop_types_default.a.bool,
  9098. /**
  9099. * When `true` The modal will prevent focus from leaving the Modal while
  9100. * open. Consider leaving the default value here, as it is necessary to make
  9101. * the Modal work well with assistive technologies, such as screen readers.
  9102. */
  9103. enforceFocus: prop_types_default.a.bool,
  9104. /**
  9105. * When `true` The modal will restore focus to previously focused element once
  9106. * modal is hidden
  9107. */
  9108. restoreFocus: prop_types_default.a.bool,
  9109. /**
  9110. * Options passed to focus function when `restoreFocus` is set to `true`
  9111. *
  9112. * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#Parameters
  9113. */
  9114. restoreFocusOptions: prop_types_default.a.shape({
  9115. preventScroll: prop_types_default.a.bool
  9116. }),
  9117. /**
  9118. * When `true` The modal will show itself.
  9119. */
  9120. show: prop_types_default.a.bool,
  9121. /**
  9122. * A callback fired when the Modal is opening.
  9123. */
  9124. onShow: prop_types_default.a.func,
  9125. /**
  9126. * A callback fired when the header closeButton or non-static backdrop is
  9127. * clicked. Required if either are specified.
  9128. */
  9129. onHide: prop_types_default.a.func,
  9130. /**
  9131. * A callback fired when the escape key, if specified in `keyboard`, is pressed.
  9132. */
  9133. onEscapeKeyDown: prop_types_default.a.func,
  9134. /**
  9135. * Callback fired before the Modal transitions in
  9136. */
  9137. onEnter: prop_types_default.a.func,
  9138. /**
  9139. * Callback fired as the Modal begins to transition in
  9140. */
  9141. onEntering: prop_types_default.a.func,
  9142. /**
  9143. * Callback fired after the Modal finishes transitioning in
  9144. */
  9145. onEntered: prop_types_default.a.func,
  9146. /**
  9147. * Callback fired right before the Modal transitions out
  9148. */
  9149. onExit: prop_types_default.a.func,
  9150. /**
  9151. * Callback fired as the Modal begins to transition out
  9152. */
  9153. onExiting: prop_types_default.a.func,
  9154. /**
  9155. * Callback fired after the Modal finishes transitioning out
  9156. */
  9157. onExited: prop_types_default.a.func,
  9158. /**
  9159. * A ModalManager instance used to track and manage the state of open
  9160. * Modals. Useful when customizing how modals interact within a container
  9161. */
  9162. manager: prop_types_default.a.object,
  9163. /**
  9164. * @private
  9165. */
  9166. container: prop_types_default.a.any,
  9167. 'aria-labelledby': prop_types_default.a.any
  9168. };
  9169. var Modal_defaultProps = {
  9170. show: false,
  9171. backdrop: true,
  9172. keyboard: true,
  9173. autoFocus: true,
  9174. enforceFocus: true,
  9175. restoreFocus: true,
  9176. animation: true,
  9177. dialogAs: src_ModalDialog
  9178. };
  9179. /* eslint-disable no-use-before-define, react/no-multi-comp */
  9180. function DialogTransition(props) {
  9181. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Fade, _extends({}, props, {
  9182. __self: this,
  9183. __source: {
  9184. fileName: Modal_jsxFileName,
  9185. lineNumber: 187,
  9186. columnNumber: 10
  9187. }
  9188. }));
  9189. }
  9190. function Modal_BackdropTransition(props) {
  9191. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Fade, _extends({}, props, {
  9192. __self: this,
  9193. __source: {
  9194. fileName: Modal_jsxFileName,
  9195. lineNumber: 191,
  9196. columnNumber: 10
  9197. }
  9198. }));
  9199. }
  9200. /* eslint-enable no-use-before-define */
  9201. var src_Modal_Modal = /*#__PURE__*/function (_React$Component) {
  9202. _inheritsLoose(Modal, _React$Component);
  9203. function Modal() {
  9204. var _this;
  9205. for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {
  9206. _args[_key] = arguments[_key];
  9207. }
  9208. _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;
  9209. _this.state = {
  9210. style: {}
  9211. };
  9212. _this.modalContext = {
  9213. onHide: function onHide() {
  9214. return _this.props.onHide();
  9215. }
  9216. };
  9217. _this.setModalRef = function (ref) {
  9218. _this._modal = ref;
  9219. };
  9220. _this.handleDialogMouseDown = function () {
  9221. _this._waitingForMouseUp = true;
  9222. };
  9223. _this.handleMouseUp = function (e) {
  9224. if (_this._waitingForMouseUp && e.target === _this._modal.dialog) {
  9225. _this._ignoreBackdropClick = true;
  9226. }
  9227. _this._waitingForMouseUp = false;
  9228. };
  9229. _this.handleClick = function (e) {
  9230. if (_this._ignoreBackdropClick || e.target !== e.currentTarget) {
  9231. _this._ignoreBackdropClick = false;
  9232. return;
  9233. }
  9234. _this.props.onHide();
  9235. };
  9236. _this.handleEnter = function (node) {
  9237. var _this$props;
  9238. if (node) {
  9239. node.style.display = 'block';
  9240. _this.updateDialogStyle(node);
  9241. }
  9242. for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
  9243. args[_key2 - 1] = arguments[_key2];
  9244. }
  9245. if (_this.props.onEnter) (_this$props = _this.props).onEnter.apply(_this$props, [node].concat(args));
  9246. };
  9247. _this.handleEntering = function (node) {
  9248. var _this$props2;
  9249. for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
  9250. args[_key3 - 1] = arguments[_key3];
  9251. }
  9252. if (_this.props.onEntering) (_this$props2 = _this.props).onEntering.apply(_this$props2, [node].concat(args)); // FIXME: This should work even when animation is disabled.
  9253. esm_addEventListener(window, 'resize', _this.handleWindowResize);
  9254. };
  9255. _this.handleExited = function (node) {
  9256. var _this$props3;
  9257. if (node) node.style.display = ''; // RHL removes it sometimes
  9258. for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
  9259. args[_key4 - 1] = arguments[_key4];
  9260. }
  9261. if (_this.props.onExited) (_this$props3 = _this.props).onExited.apply(_this$props3, args); // FIXME: This should work even when animation is disabled.
  9262. esm_removeEventListener(window, 'resize', _this.handleWindowResize);
  9263. };
  9264. _this.handleWindowResize = function () {
  9265. _this.updateDialogStyle(_this._modal.dialog);
  9266. };
  9267. _this.getModalManager = function () {
  9268. if (_this.props.manager) {
  9269. return _this.props.manager;
  9270. }
  9271. if (!Modal_manager) {
  9272. Modal_manager = new BootstrapModalManager_BootstrapModalManager();
  9273. }
  9274. return Modal_manager;
  9275. };
  9276. _this.renderBackdrop = function (props) {
  9277. var _this$props4 = _this.props,
  9278. bsPrefix = _this$props4.bsPrefix,
  9279. backdropClassName = _this$props4.backdropClassName,
  9280. animation = _this$props4.animation;
  9281. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({}, props, {
  9282. className: classnames_default()(bsPrefix + "-backdrop", backdropClassName, !animation && 'show'),
  9283. __self: _assertThisInitialized(_this),
  9284. __source: {
  9285. fileName: Modal_jsxFileName,
  9286. lineNumber: 303,
  9287. columnNumber: 7
  9288. }
  9289. }));
  9290. };
  9291. return _this;
  9292. }
  9293. var _proto = Modal.prototype;
  9294. _proto.componentWillUnmount = function componentWillUnmount() {
  9295. // Clean up the listener if we need to.
  9296. esm_removeEventListener(window, 'resize', this.handleWindowResize);
  9297. };
  9298. _proto.updateDialogStyle = function updateDialogStyle(node) {
  9299. if (!canUseDOM) return;
  9300. var containerIsOverflowing = this.getModalManager().isContainerOverflowing(this._modal);
  9301. var modalIsOverflowing = node.scrollHeight > ownerDocument(node).documentElement.clientHeight;
  9302. this.setState({
  9303. style: {
  9304. paddingRight: containerIsOverflowing && !modalIsOverflowing ? scrollbarSize() : undefined,
  9305. paddingLeft: !containerIsOverflowing && modalIsOverflowing ? scrollbarSize() : undefined
  9306. }
  9307. });
  9308. };
  9309. _proto.render = function render() {
  9310. var _this$props5 = this.props,
  9311. bsPrefix = _this$props5.bsPrefix,
  9312. className = _this$props5.className,
  9313. style = _this$props5.style,
  9314. dialogClassName = _this$props5.dialogClassName,
  9315. children = _this$props5.children,
  9316. Dialog = _this$props5.dialogAs,
  9317. ariaLabelledby = _this$props5['aria-labelledby'],
  9318. show = _this$props5.show,
  9319. animation = _this$props5.animation,
  9320. backdrop = _this$props5.backdrop,
  9321. keyboard = _this$props5.keyboard,
  9322. onEscapeKeyDown = _this$props5.onEscapeKeyDown,
  9323. onShow = _this$props5.onShow,
  9324. onHide = _this$props5.onHide,
  9325. container = _this$props5.container,
  9326. autoFocus = _this$props5.autoFocus,
  9327. enforceFocus = _this$props5.enforceFocus,
  9328. restoreFocus = _this$props5.restoreFocus,
  9329. restoreFocusOptions = _this$props5.restoreFocusOptions,
  9330. onEntered = _this$props5.onEntered,
  9331. onExit = _this$props5.onExit,
  9332. onExiting = _this$props5.onExiting,
  9333. _ = _this$props5.onExited,
  9334. _1 = _this$props5.onEntering,
  9335. _6 = _this$props5.onEnter,
  9336. _4 = _this$props5.onEntering,
  9337. _2 = _this$props5.backdropClassName,
  9338. props = _objectWithoutPropertiesLoose(_this$props5, ["bsPrefix", "className", "style", "dialogClassName", "children", "dialogAs", "aria-labelledby", "show", "animation", "backdrop", "keyboard", "onEscapeKeyDown", "onShow", "onHide", "container", "autoFocus", "enforceFocus", "restoreFocus", "restoreFocusOptions", "onEntered", "onExit", "onExiting", "onExited", "onEntering", "onEnter", "onEntering", "backdropClassName"]);
  9339. var clickHandler = backdrop === true ? this.handleClick : null;
  9340. var baseModalStyle = _extends({}, style, {}, this.state.style); // Sets `display` always block when `animation` is false
  9341. if (!animation) baseModalStyle.display = 'block';
  9342. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_ModalContext.Provider, {
  9343. value: this.modalContext,
  9344. __self: this,
  9345. __source: {
  9346. fileName: Modal_jsxFileName,
  9347. lineNumber: 358,
  9348. columnNumber: 7
  9349. }
  9350. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_Modal, _extends({
  9351. show: show,
  9352. backdrop: backdrop,
  9353. container: container,
  9354. keyboard: keyboard,
  9355. autoFocus: autoFocus,
  9356. enforceFocus: enforceFocus,
  9357. restoreFocus: restoreFocus,
  9358. restoreFocusOptions: restoreFocusOptions,
  9359. onEscapeKeyDown: onEscapeKeyDown,
  9360. onShow: onShow,
  9361. onHide: onHide,
  9362. onEntered: onEntered,
  9363. onExit: onExit,
  9364. onExiting: onExiting,
  9365. manager: this.getModalManager(),
  9366. ref: this.setModalRef,
  9367. style: baseModalStyle,
  9368. className: classnames_default()(className, bsPrefix),
  9369. containerClassName: bsPrefix + "-open",
  9370. transition: animation ? DialogTransition : undefined,
  9371. backdropTransition: animation ? Modal_BackdropTransition : undefined,
  9372. renderBackdrop: this.renderBackdrop,
  9373. onClick: clickHandler,
  9374. onMouseUp: this.handleMouseUp,
  9375. onEnter: this.handleEnter,
  9376. onEntering: this.handleEntering,
  9377. onExited: this.handleExited,
  9378. 'aria-labelledby': ariaLabelledby
  9379. }, {
  9380. __self: this,
  9381. __source: {
  9382. fileName: Modal_jsxFileName,
  9383. lineNumber: 359,
  9384. columnNumber: 9
  9385. }
  9386. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Dialog, _extends({}, props, {
  9387. onMouseDown: this.handleDialogMouseDown,
  9388. className: dialogClassName,
  9389. __self: this,
  9390. __source: {
  9391. fileName: Modal_jsxFileName,
  9392. lineNumber: 391,
  9393. columnNumber: 11
  9394. }
  9395. }), children)));
  9396. };
  9397. return Modal;
  9398. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  9399. src_Modal_Modal.propTypes = src_Modal_propTypes;
  9400. src_Modal_Modal.defaultProps = Modal_defaultProps;
  9401. var DecoratedModal = createBootstrapComponent(src_Modal_Modal, 'modal');
  9402. DecoratedModal.Body = ModalBody;
  9403. DecoratedModal.Header = src_ModalHeader;
  9404. DecoratedModal.Title = ModalTitle;
  9405. DecoratedModal.Footer = ModalFooter;
  9406. DecoratedModal.Dialog = src_ModalDialog;
  9407. DecoratedModal.TRANSITION_DURATION = 300;
  9408. DecoratedModal.BACKDROP_TRANSITION_DURATION = 150;
  9409. /* harmony default export */ var src_Modal = (DecoratedModal);
  9410. // CONCATENATED MODULE: ./src/NavItem.js
  9411. var NavItem_this = undefined,
  9412. NavItem_jsxFileName = "/Users/jquense/src/react-bootstrap/src/NavItem.js";
  9413. var NavItem_propTypes = {
  9414. /**
  9415. * @default 'nav-item'
  9416. */
  9417. bsPrefix: prop_types_default.a.string,
  9418. /** The ARIA role of the component */
  9419. role: prop_types_default.a.string,
  9420. as: prop_types_default.a.elementType
  9421. };
  9422. var NavItem = 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
  9423. function (_ref, ref) {
  9424. var bsPrefix = _ref.bsPrefix,
  9425. className = _ref.className,
  9426. children = _ref.children,
  9427. _ref$as = _ref.as,
  9428. Component = _ref$as === void 0 ? 'div' : _ref$as,
  9429. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "children", "as"]);
  9430. bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-item');
  9431. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  9432. ref: ref,
  9433. className: classnames_default()(className, bsPrefix),
  9434. __self: NavItem_this,
  9435. __source: {
  9436. fileName: NavItem_jsxFileName,
  9437. lineNumber: 25,
  9438. columnNumber: 7
  9439. }
  9440. }), children);
  9441. });
  9442. NavItem.displayName = 'NavItem';
  9443. NavItem.propTypes = NavItem_propTypes;
  9444. /* harmony default export */ var src_NavItem = (NavItem);
  9445. // CONCATENATED MODULE: ./src/NavLink.js
  9446. var NavLink_this = undefined,
  9447. NavLink_jsxFileName = "/Users/jquense/src/react-bootstrap/src/NavLink.js";
  9448. var NavLink_propTypes = {
  9449. /**
  9450. * @default 'nav-link'
  9451. */
  9452. bsPrefix: prop_types_default.a.string,
  9453. /**
  9454. * The active state of the NavItem item.
  9455. */
  9456. active: prop_types_default.a.bool,
  9457. /**
  9458. * The disabled state of the NavItem item.
  9459. */
  9460. disabled: prop_types_default.a.bool,
  9461. /**
  9462. * The ARIA role for the `NavLink`, In the context of a 'tablist' parent Nav,
  9463. * the role defaults to 'tab'
  9464. * */
  9465. role: prop_types_default.a.string,
  9466. /** The HTML href attribute for the `NavLink` */
  9467. href: prop_types_default.a.string,
  9468. /** A callback fired when the `NavLink` is selected.
  9469. *
  9470. * ```js
  9471. * function (eventKey: any, event: SyntheticEvent) {}
  9472. * ```
  9473. */
  9474. onSelect: prop_types_default.a.func,
  9475. /**
  9476. * Uniquely idenifies the `NavItem` amongst its siblings,
  9477. * used to determine and control the active state of the parent `Nav`
  9478. */
  9479. eventKey: prop_types_default.a.any,
  9480. /** @default 'a' */
  9481. as: prop_types_default.a.elementType
  9482. };
  9483. var NavLink_defaultProps = {
  9484. disabled: false,
  9485. as: src_SafeAnchor
  9486. };
  9487. var NavLink = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9488. var bsPrefix = _ref.bsPrefix,
  9489. disabled = _ref.disabled,
  9490. className = _ref.className,
  9491. href = _ref.href,
  9492. eventKey = _ref.eventKey,
  9493. onSelect = _ref.onSelect,
  9494. as = _ref.as,
  9495. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "disabled", "className", "href", "eventKey", "onSelect", "as"]);
  9496. bsPrefix = useBootstrapPrefix(bsPrefix, 'nav-link');
  9497. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_AbstractNavItem, _extends({}, props, {
  9498. href: href,
  9499. ref: ref,
  9500. eventKey: eventKey,
  9501. as: as,
  9502. disabled: disabled,
  9503. onSelect: onSelect,
  9504. className: classnames_default()(className, bsPrefix, disabled && 'disabled'),
  9505. __self: NavLink_this,
  9506. __source: {
  9507. fileName: NavLink_jsxFileName,
  9508. lineNumber: 65,
  9509. columnNumber: 7
  9510. }
  9511. }));
  9512. });
  9513. NavLink.displayName = 'NavLink';
  9514. NavLink.propTypes = NavLink_propTypes;
  9515. NavLink.defaultProps = NavLink_defaultProps;
  9516. /* harmony default export */ var src_NavLink = (NavLink);
  9517. // CONCATENATED MODULE: ./src/Nav.js
  9518. var Nav_this = undefined,
  9519. Nav_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Nav.js";
  9520. var Nav_propTypes = {
  9521. /**
  9522. * @default 'nav'
  9523. */
  9524. bsPrefix: prop_types_default.a.string,
  9525. /** @private */
  9526. navbarBsPrefix: prop_types_default.a.string,
  9527. /** @private */
  9528. cardHeaderBsPrefix: prop_types_default.a.string,
  9529. /**
  9530. * The visual variant of the nav items.
  9531. *
  9532. * @type {('tabs'|'pills')}
  9533. */
  9534. variant: prop_types_default.a.string,
  9535. /**
  9536. * Marks the NavItem with a matching `eventKey` (or `href` if present) as active.
  9537. *
  9538. * @type {string}
  9539. */
  9540. activeKey: prop_types_default.a.any,
  9541. /**
  9542. * Have all `NavItem`s proportionately fill all available width.
  9543. */
  9544. fill: prop_types_default.a.bool,
  9545. /**
  9546. * Have all `NavItem`s evenly fill all available width.
  9547. *
  9548. * @type {boolean}
  9549. */
  9550. justify: all_default()(prop_types_default.a.bool, function (_ref) {
  9551. var justify = _ref.justify,
  9552. navbar = _ref.navbar;
  9553. return justify && navbar ? Error('justify navbar `Nav`s are not supported') : null;
  9554. }),
  9555. /**
  9556. * A callback fired when a NavItem is selected.
  9557. *
  9558. * ```js
  9559. * function (
  9560. * Any eventKey,
  9561. * SyntheticEvent event?
  9562. * )
  9563. * ```
  9564. */
  9565. onSelect: prop_types_default.a.func,
  9566. /**
  9567. * ARIA role for the Nav, in the context of a TabContainer, the default will
  9568. * be set to "tablist", but can be overridden by the Nav when set explicitly.
  9569. *
  9570. * When the role is "tablist", NavLink focus is managed according to
  9571. * the ARIA authoring practices for tabs:
  9572. * https://www.w3.org/TR/2013/WD-wai-aria-practices-20130307/#tabpanel
  9573. */
  9574. role: prop_types_default.a.string,
  9575. /**
  9576. * Apply styling an alignment for use in a Navbar. This prop will be set
  9577. * automatically when the Nav is used inside a Navbar.
  9578. */
  9579. navbar: prop_types_default.a.bool,
  9580. as: prop_types_default.a.elementType,
  9581. /** @private */
  9582. onKeyDown: prop_types_default.a.func
  9583. };
  9584. var Nav_defaultProps = {
  9585. justify: false,
  9586. fill: false
  9587. };
  9588. var Nav = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (uncontrolledProps, ref) {
  9589. var _classNames;
  9590. var _useUncontrolled = useUncontrolled(uncontrolledProps, {
  9591. activeKey: 'onSelect'
  9592. }),
  9593. _useUncontrolled$as = _useUncontrolled.as,
  9594. as = _useUncontrolled$as === void 0 ? 'div' : _useUncontrolled$as,
  9595. bsPrefix = _useUncontrolled.bsPrefix,
  9596. variant = _useUncontrolled.variant,
  9597. fill = _useUncontrolled.fill,
  9598. justify = _useUncontrolled.justify,
  9599. navbar = _useUncontrolled.navbar,
  9600. className = _useUncontrolled.className,
  9601. children = _useUncontrolled.children,
  9602. activeKey = _useUncontrolled.activeKey,
  9603. props = _objectWithoutPropertiesLoose(_useUncontrolled, ["as", "bsPrefix", "variant", "fill", "justify", "navbar", "className", "children", "activeKey"]);
  9604. bsPrefix = useBootstrapPrefix(bsPrefix, 'nav');
  9605. var navbarBsPrefix, cardHeaderBsPrefix;
  9606. var navbarContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(NavbarContext);
  9607. var cardContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(CardContext);
  9608. if (navbarContext) {
  9609. navbarBsPrefix = navbarContext.bsPrefix;
  9610. navbar = navbar == null ? true : navbar;
  9611. } else if (cardContext) {
  9612. cardHeaderBsPrefix = cardContext.cardHeaderBsPrefix;
  9613. }
  9614. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_AbstractNav, _extends({
  9615. as: as,
  9616. ref: ref,
  9617. activeKey: activeKey,
  9618. className: classnames_default()(className, (_classNames = {}, _classNames[bsPrefix] = !navbar, _classNames[navbarBsPrefix + "-nav"] = navbar, _classNames[cardHeaderBsPrefix + "-" + variant] = !!cardHeaderBsPrefix, _classNames[bsPrefix + "-" + variant] = !!variant, _classNames[bsPrefix + "-fill"] = fill, _classNames[bsPrefix + "-justified"] = justify, _classNames))
  9619. }, props, {
  9620. __self: Nav_this,
  9621. __source: {
  9622. fileName: Nav_jsxFileName,
  9623. lineNumber: 122,
  9624. columnNumber: 5
  9625. }
  9626. }), children);
  9627. });
  9628. Nav.displayName = 'Nav';
  9629. Nav.propTypes = Nav_propTypes;
  9630. Nav.defaultProps = Nav_defaultProps;
  9631. Nav.Item = src_NavItem;
  9632. Nav.Link = src_NavLink;
  9633. /* harmony default export */ var src_Nav = (Nav);
  9634. // CONCATENATED MODULE: ./src/NavbarBrand.js
  9635. var NavbarBrand_this = undefined,
  9636. NavbarBrand_jsxFileName = "/Users/jquense/src/react-bootstrap/src/NavbarBrand.js";
  9637. var NavbarBrand_propTypes = {
  9638. /** @default 'navbar' */
  9639. bsPrefix: prop_types_default.a.string,
  9640. /**
  9641. * An href, when provided the Brand will render as an `<a>` element (unless `as` is provided).
  9642. */
  9643. href: prop_types_default.a.string,
  9644. /**
  9645. * Set a custom element for this component.
  9646. */
  9647. as: prop_types_default.a.elementType
  9648. };
  9649. var NavbarBrand = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9650. var bsPrefix = _ref.bsPrefix,
  9651. className = _ref.className,
  9652. as = _ref.as,
  9653. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "as"]);
  9654. bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-brand');
  9655. var Component = as || (props.href ? 'a' : 'span');
  9656. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  9657. ref: ref,
  9658. className: classnames_default()(className, bsPrefix),
  9659. __self: NavbarBrand_this,
  9660. __source: {
  9661. fileName: NavbarBrand_jsxFileName,
  9662. lineNumber: 29,
  9663. columnNumber: 7
  9664. }
  9665. }));
  9666. });
  9667. NavbarBrand.displayName = 'NavbarBrand';
  9668. NavbarBrand.propTypes = NavbarBrand_propTypes;
  9669. /* harmony default export */ var src_NavbarBrand = (NavbarBrand);
  9670. // CONCATENATED MODULE: ./src/NavbarCollapse.js
  9671. var NavbarCollapse_this = undefined,
  9672. NavbarCollapse_jsxFileName = "/Users/jquense/src/react-bootstrap/src/NavbarCollapse.js";
  9673. var NavbarCollapse_propTypes = {
  9674. /** @default 'navbar-collapse' */
  9675. bsPrefix: prop_types_default.a.string
  9676. };
  9677. var NavbarCollapse = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9678. var children = _ref.children,
  9679. bsPrefix = _ref.bsPrefix,
  9680. props = _objectWithoutPropertiesLoose(_ref, ["children", "bsPrefix"]);
  9681. bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-collapse');
  9682. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(NavbarContext.Consumer, {
  9683. __self: NavbarCollapse_this,
  9684. __source: {
  9685. fileName: NavbarCollapse_jsxFileName,
  9686. lineNumber: 17,
  9687. columnNumber: 7
  9688. }
  9689. }, function (context) {
  9690. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Collapse, _extends({
  9691. in: !!(context && context.expanded)
  9692. }, props, {
  9693. __self: NavbarCollapse_this,
  9694. __source: {
  9695. fileName: NavbarCollapse_jsxFileName,
  9696. lineNumber: 19,
  9697. columnNumber: 11
  9698. }
  9699. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  9700. ref: ref,
  9701. className: bsPrefix,
  9702. __self: NavbarCollapse_this,
  9703. __source: {
  9704. fileName: NavbarCollapse_jsxFileName,
  9705. lineNumber: 20,
  9706. columnNumber: 13
  9707. }
  9708. }, children));
  9709. });
  9710. });
  9711. NavbarCollapse.displayName = 'NavbarCollapse';
  9712. NavbarCollapse.propTypes = NavbarCollapse_propTypes;
  9713. /* harmony default export */ var src_NavbarCollapse = (NavbarCollapse);
  9714. // CONCATENATED MODULE: ./src/NavbarToggle.js
  9715. var NavbarToggle_this = undefined,
  9716. NavbarToggle_jsxFileName = "/Users/jquense/src/react-bootstrap/src/NavbarToggle.js";
  9717. var NavbarToggle_propTypes = {
  9718. /** @default 'navbar-toggler' */
  9719. bsPrefix: prop_types_default.a.string,
  9720. /** An accessible ARIA label for the toggler button. */
  9721. label: prop_types_default.a.string,
  9722. /** @private */
  9723. onClick: prop_types_default.a.func,
  9724. /**
  9725. * The toggle content. When empty, the default toggle will be rendered.
  9726. */
  9727. children: prop_types_default.a.node,
  9728. as: prop_types_default.a.elementType
  9729. };
  9730. var NavbarToggle_defaultProps = {
  9731. label: 'Toggle navigation'
  9732. };
  9733. var NavbarToggle = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9734. var bsPrefix = _ref.bsPrefix,
  9735. className = _ref.className,
  9736. children = _ref.children,
  9737. label = _ref.label,
  9738. _ref$as = _ref.as,
  9739. Component = _ref$as === void 0 ? 'button' : _ref$as,
  9740. onClick = _ref.onClick,
  9741. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "children", "label", "as", "onClick"]);
  9742. bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-toggler');
  9743. var _ref2 = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(NavbarContext) || {},
  9744. onToggle = _ref2.onToggle,
  9745. expanded = _ref2.expanded;
  9746. var handleClick = useEventCallback(function (e) {
  9747. if (onClick) onClick(e);
  9748. if (onToggle) onToggle();
  9749. });
  9750. if (Component === 'button') {
  9751. props.type = 'button';
  9752. }
  9753. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, props, {
  9754. ref: ref,
  9755. onClick: handleClick,
  9756. "aria-label": label,
  9757. className: classnames_default()(className, bsPrefix, !expanded && 'collapsed'),
  9758. __self: NavbarToggle_this,
  9759. __source: {
  9760. fileName: NavbarToggle_jsxFileName,
  9761. lineNumber: 59,
  9762. columnNumber: 7
  9763. }
  9764. }), children || /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  9765. className: bsPrefix + "-icon",
  9766. __self: NavbarToggle_this,
  9767. __source: {
  9768. fileName: NavbarToggle_jsxFileName,
  9769. lineNumber: 66,
  9770. columnNumber: 22
  9771. }
  9772. }));
  9773. });
  9774. NavbarToggle.displayName = 'NavbarToggle';
  9775. NavbarToggle.propTypes = NavbarToggle_propTypes;
  9776. NavbarToggle.defaultProps = NavbarToggle_defaultProps;
  9777. /* harmony default export */ var src_NavbarToggle = (NavbarToggle);
  9778. // CONCATENATED MODULE: ./src/Navbar.js
  9779. var Navbar_this = undefined,
  9780. Navbar_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Navbar.js";
  9781. var Navbar_propTypes = {
  9782. /** @default 'navbar' */
  9783. bsPrefix: prop_types_default.a.string,
  9784. /**
  9785. * The general visual variant a the Navbar.
  9786. * Use in combination with the `bg` prop, `background-color` utilities,
  9787. * or your own background styles.
  9788. *
  9789. * @type {('light'|'dark')}
  9790. */
  9791. variant: prop_types_default.a.string,
  9792. /**
  9793. * The breakpoint, below which, the Navbar will collapse.
  9794. * When `true` the Navbar will always be expanded regardless of screen size.
  9795. */
  9796. expand: prop_types_default.a.oneOf([true, 'sm', 'md', 'lg', 'xl']).isRequired,
  9797. /**
  9798. * A convenience prop for adding `bg-*` utility classes since they are so commonly used here.
  9799. * `light` and `dark` are common choices but any `bg-*` class is supported, including any custom ones you might define.
  9800. *
  9801. * Pairs nicely with the `variant` prop.
  9802. */
  9803. bg: prop_types_default.a.string,
  9804. /**
  9805. * Create a fixed navbar along the top or bottom of the screen, that scrolls with the
  9806. * page. A convenience prop for the `fixed-*` positioning classes.
  9807. */
  9808. fixed: prop_types_default.a.oneOf(['top', 'bottom']),
  9809. /**
  9810. * Position the navbar at the top or bottom of the viewport,
  9811. * but only after scrolling past it. . A convenience prop for the `sticky-*` positioning classes.
  9812. *
  9813. * __Not supported in <= IE11 and other older browsers without a polyfill__
  9814. */
  9815. sticky: prop_types_default.a.oneOf(['top', 'bottom']),
  9816. /**
  9817. * Set a custom element for this component.
  9818. */
  9819. as: prop_types_default.a.elementType,
  9820. /**
  9821. * A callback fired when the `<Navbar>` body collapses or expands. Fired when
  9822. * a `<Navbar.Toggle>` is clicked and called with the new `expanded`
  9823. * boolean value.
  9824. *
  9825. * @controllable expanded
  9826. */
  9827. onToggle: prop_types_default.a.func,
  9828. /**
  9829. * A callback fired when a descendant of a child `<Nav>` is selected. Should
  9830. * be used to execute complex closing or other miscellaneous actions desired
  9831. * after selecting a descendant of `<Nav>`. Does nothing if no `<Nav>` or `<Nav>`
  9832. * descendants exist. The callback is called with an eventKey, which is a
  9833. * prop from the selected `<Nav>` descendant, and an event.
  9834. *
  9835. * ```js
  9836. * function (
  9837. * eventKey: mixed,
  9838. * event?: SyntheticEvent
  9839. * )
  9840. * ```
  9841. *
  9842. * For basic closing behavior after all `<Nav>` descendant onSelect events in
  9843. * mobile viewports, try using collapseOnSelect.
  9844. *
  9845. * Note: If you are manually closing the navbar using this `OnSelect` prop,
  9846. * ensure that you are setting `expanded` to false and not *toggling* between
  9847. * true and false.
  9848. */
  9849. onSelect: prop_types_default.a.func,
  9850. /**
  9851. * Toggles `expanded` to `false` after the onSelect event of a descendant of a
  9852. * child `<Nav>` fires. Does nothing if no `<Nav>` or `<Nav>` descendants exist.
  9853. *
  9854. * Manually controlling `expanded` via the onSelect callback is recommended instead,
  9855. * for more complex operations that need to be executed after
  9856. * the `select` event of `<Nav>` descendants.
  9857. */
  9858. collapseOnSelect: prop_types_default.a.bool,
  9859. /**
  9860. * Controls the visiblity of the navbar body
  9861. *
  9862. * @controllable onToggle
  9863. */
  9864. expanded: prop_types_default.a.bool,
  9865. /**
  9866. * The ARIA role for the navbar, will default to 'navigation' for
  9867. * Navbars whose `as` is something other than `<nav>`.
  9868. *
  9869. * @default 'navigation'
  9870. */
  9871. role: prop_types_default.a.string
  9872. };
  9873. var Navbar_defaultProps = {
  9874. expand: true,
  9875. variant: 'light',
  9876. collapseOnSelect: false
  9877. };
  9878. var Navbar = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  9879. var _useUncontrolled = useUncontrolled(props, {
  9880. expanded: 'onToggle'
  9881. }),
  9882. bsPrefix = _useUncontrolled.bsPrefix,
  9883. expand = _useUncontrolled.expand,
  9884. variant = _useUncontrolled.variant,
  9885. bg = _useUncontrolled.bg,
  9886. fixed = _useUncontrolled.fixed,
  9887. sticky = _useUncontrolled.sticky,
  9888. className = _useUncontrolled.className,
  9889. children = _useUncontrolled.children,
  9890. _useUncontrolled$as = _useUncontrolled.as,
  9891. Component = _useUncontrolled$as === void 0 ? 'nav' : _useUncontrolled$as,
  9892. expanded = _useUncontrolled.expanded,
  9893. _onToggle = _useUncontrolled.onToggle,
  9894. onSelect = _useUncontrolled.onSelect,
  9895. collapseOnSelect = _useUncontrolled.collapseOnSelect,
  9896. controlledProps = _objectWithoutPropertiesLoose(_useUncontrolled, ["bsPrefix", "expand", "variant", "bg", "fixed", "sticky", "className", "children", "as", "expanded", "onToggle", "onSelect", "collapseOnSelect"]);
  9897. bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar');
  9898. var handleCollapse = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () {
  9899. if (onSelect) onSelect.apply(void 0, arguments);
  9900. if (collapseOnSelect && expanded) {
  9901. _onToggle(false);
  9902. }
  9903. }, [onSelect, collapseOnSelect, expanded, _onToggle]); // will result in some false positives but that seems better
  9904. // than false negatives. strict `undefined` check allows explicit
  9905. // "nulling" of the role if the user really doesn't want one
  9906. if (controlledProps.role === undefined && Component !== 'nav') {
  9907. controlledProps.role = 'navigation';
  9908. }
  9909. var expandClass = bsPrefix + "-expand";
  9910. if (typeof expand === 'string') expandClass = expandClass + "-" + expand;
  9911. var navbarContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  9912. return {
  9913. onToggle: function onToggle() {
  9914. return _onToggle(!expanded);
  9915. },
  9916. bsPrefix: bsPrefix,
  9917. expanded: expanded
  9918. };
  9919. }, [bsPrefix, expanded, _onToggle]);
  9920. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(NavbarContext.Provider, {
  9921. value: navbarContext,
  9922. __self: Navbar_this,
  9923. __source: {
  9924. fileName: Navbar_jsxFileName,
  9925. lineNumber: 177,
  9926. columnNumber: 5
  9927. }
  9928. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, {
  9929. value: handleCollapse,
  9930. __self: Navbar_this,
  9931. __source: {
  9932. fileName: Navbar_jsxFileName,
  9933. lineNumber: 178,
  9934. columnNumber: 7
  9935. }
  9936. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  9937. ref: ref
  9938. }, controlledProps, {
  9939. className: classnames_default()(className, bsPrefix, expand && expandClass, variant && bsPrefix + "-" + variant, bg && "bg-" + bg, sticky && "sticky-" + sticky, fixed && "fixed-" + fixed),
  9940. __self: Navbar_this,
  9941. __source: {
  9942. fileName: Navbar_jsxFileName,
  9943. lineNumber: 179,
  9944. columnNumber: 9
  9945. }
  9946. }), children)));
  9947. });
  9948. Navbar.propTypes = Navbar_propTypes;
  9949. Navbar.defaultProps = Navbar_defaultProps;
  9950. Navbar.displayName = 'Navbar';
  9951. Navbar.Brand = src_NavbarBrand;
  9952. Navbar.Toggle = src_NavbarToggle;
  9953. Navbar.Collapse = src_NavbarCollapse;
  9954. Navbar.Text = createWithBsPrefix('navbar-text', {
  9955. Component: 'span'
  9956. });
  9957. /* harmony default export */ var src_Navbar = (Navbar);
  9958. // CONCATENATED MODULE: ./src/NavDropdown.js
  9959. var NavDropdown_this = undefined,
  9960. NavDropdown_jsxFileName = "/Users/jquense/src/react-bootstrap/src/NavDropdown.js";
  9961. var NavDropdown_propTypes = {
  9962. /**
  9963. * An html id attribute for the Toggle button, necessary for assistive technologies, such as screen readers.
  9964. * @type {string|number}
  9965. * @required
  9966. */
  9967. id: prop_types_default.a.any,
  9968. /** An `onClick` handler passed to the Toggle component */
  9969. onClick: prop_types_default.a.func,
  9970. /** The content of the non-toggle Button. */
  9971. title: prop_types_default.a.node.isRequired,
  9972. /** Disables the toggle NavLink */
  9973. disabled: prop_types_default.a.bool,
  9974. /** Style the toggle NavLink as active */
  9975. active: prop_types_default.a.bool,
  9976. /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */
  9977. menuRole: prop_types_default.a.string,
  9978. /** Whether to render the dropdown menu in the DOM before the first time it is shown */
  9979. renderMenuOnMount: prop_types_default.a.bool,
  9980. /**
  9981. * Which event when fired outside the component will cause it to be closed.
  9982. *
  9983. * _see [DropdownMenu](#menu-props) for more details_
  9984. */
  9985. rootCloseEvent: prop_types_default.a.string,
  9986. /** @ignore */
  9987. bsPrefix: prop_types_default.a.string
  9988. };
  9989. var NavDropdown = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  9990. var id = _ref.id,
  9991. title = _ref.title,
  9992. children = _ref.children,
  9993. bsPrefix = _ref.bsPrefix,
  9994. rootCloseEvent = _ref.rootCloseEvent,
  9995. menuRole = _ref.menuRole,
  9996. disabled = _ref.disabled,
  9997. active = _ref.active,
  9998. renderMenuOnMount = _ref.renderMenuOnMount,
  9999. props = _objectWithoutPropertiesLoose(_ref, ["id", "title", "children", "bsPrefix", "rootCloseEvent", "menuRole", "disabled", "active", "renderMenuOnMount"]);
  10000. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown, _extends({
  10001. ref: ref
  10002. }, props, {
  10003. as: src_NavItem,
  10004. __self: NavDropdown_this,
  10005. __source: {
  10006. fileName: NavDropdown_jsxFileName,
  10007. lineNumber: 61,
  10008. columnNumber: 5
  10009. }
  10010. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown.Toggle, {
  10011. id: id,
  10012. eventKey: null,
  10013. active: active,
  10014. disabled: disabled,
  10015. childBsPrefix: bsPrefix,
  10016. as: src_NavLink,
  10017. __self: NavDropdown_this,
  10018. __source: {
  10019. fileName: NavDropdown_jsxFileName,
  10020. lineNumber: 62,
  10021. columnNumber: 7
  10022. }
  10023. }, title), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown.Menu, {
  10024. role: menuRole,
  10025. renderOnMount: renderMenuOnMount,
  10026. rootCloseEvent: rootCloseEvent,
  10027. __self: NavDropdown_this,
  10028. __source: {
  10029. fileName: NavDropdown_jsxFileName,
  10030. lineNumber: 73,
  10031. columnNumber: 7
  10032. }
  10033. }, children));
  10034. });
  10035. NavDropdown.displayName = 'NavDropdown';
  10036. NavDropdown.propTypes = NavDropdown_propTypes;
  10037. NavDropdown.Item = src_Dropdown.Item;
  10038. NavDropdown.Divider = src_Dropdown.Divider;
  10039. NavDropdown.Header = src_Dropdown.Header;
  10040. /* harmony default export */ var src_NavDropdown = (NavDropdown);
  10041. // CONCATENATED MODULE: ./node_modules/react-overlays/esm/Overlay.js
  10042. /**
  10043. * Built on top of `Popper.js`, the overlay component is
  10044. * great for custom tooltip overlays.
  10045. */
  10046. var Overlay = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, outerRef) {
  10047. var _modifiers$preventOve, _modifiers$arrow;
  10048. var flip = props.flip,
  10049. placement = props.placement,
  10050. _props$containerPaddi = props.containerPadding,
  10051. containerPadding = _props$containerPaddi === void 0 ? 5 : _props$containerPaddi,
  10052. _props$popperConfig = props.popperConfig,
  10053. popperConfig = _props$popperConfig === void 0 ? {} : _props$popperConfig,
  10054. Transition = props.transition;
  10055. var _useCallbackRef = useCallbackRef(),
  10056. rootElement = _useCallbackRef[0],
  10057. attachRef = _useCallbackRef[1];
  10058. var _useCallbackRef2 = useCallbackRef(),
  10059. arrowElement = _useCallbackRef2[0],
  10060. attachArrowRef = _useCallbackRef2[1];
  10061. var mergedRef = esm_useMergedRefs(attachRef, outerRef);
  10062. var container = useWaitForDOMRef(props.container);
  10063. var target = useWaitForDOMRef(props.target);
  10064. var _useState = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(!props.show),
  10065. exited = _useState[0],
  10066. setExited = _useState[1];
  10067. var modifiers = toModifierMap(popperConfig.modifiers);
  10068. var _usePopper = esm_usePopper(target, rootElement, _extends({}, popperConfig, {
  10069. placement: placement || 'bottom',
  10070. modifiers: _extends({}, modifiers, {
  10071. eventListeners: {
  10072. enabled: !!props.show
  10073. },
  10074. preventOverflow: _extends({}, modifiers.preventOverflow, {
  10075. options: _extends({
  10076. padding: containerPadding || 5
  10077. }, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options)
  10078. }),
  10079. arrow: _extends({}, modifiers.arrow, {
  10080. enabled: !!arrowElement,
  10081. options: _extends({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {
  10082. element: arrowElement
  10083. })
  10084. }),
  10085. flip: _extends({
  10086. enabled: !!flip
  10087. }, modifiers.flip)
  10088. })
  10089. })),
  10090. styles = _usePopper.styles,
  10091. arrowStyles = _usePopper.arrowStyles,
  10092. popper = _objectWithoutPropertiesLoose(_usePopper, ["styles", "arrowStyles"]);
  10093. if (props.show) {
  10094. if (exited) setExited(false);
  10095. } else if (!props.transition && !exited) {
  10096. setExited(true);
  10097. }
  10098. var handleHidden = function handleHidden() {
  10099. setExited(true);
  10100. if (props.onExited) {
  10101. props.onExited.apply(props, arguments);
  10102. }
  10103. }; // Don't un-render the overlay while it's transitioning out.
  10104. var mountOverlay = props.show || Transition && !exited;
  10105. esm_useRootClose(rootElement, props.onHide, {
  10106. disabled: !props.rootClose || props.rootCloseDisabled,
  10107. clickTrigger: props.rootCloseEvent
  10108. });
  10109. if (!mountOverlay) {
  10110. // Don't bother showing anything if we don't have to.
  10111. return null;
  10112. }
  10113. var child = props.children(_extends({}, popper, {
  10114. show: !!props.show,
  10115. props: {
  10116. style: styles,
  10117. ref: mergedRef
  10118. },
  10119. arrowProps: {
  10120. style: arrowStyles,
  10121. ref: attachArrowRef
  10122. }
  10123. }));
  10124. if (Transition) {
  10125. var onExit = props.onExit,
  10126. onExiting = props.onExiting,
  10127. onEnter = props.onEnter,
  10128. onEntering = props.onEntering,
  10129. onEntered = props.onEntered;
  10130. child = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Transition, {
  10131. "in": props.show,
  10132. appear: true,
  10133. onExit: onExit,
  10134. onExiting: onExiting,
  10135. onExited: handleHidden,
  10136. onEnter: onEnter,
  10137. onEntering: onEntering,
  10138. onEntered: onEntered
  10139. }, child);
  10140. }
  10141. return container ? external_root_ReactDOM_commonjs2_react_dom_commonjs_react_dom_amd_react_dom_default.a.createPortal(child, container) : null;
  10142. });
  10143. Overlay.displayName = 'Overlay';
  10144. Overlay.propTypes = {
  10145. /**
  10146. * Set the visibility of the Overlay
  10147. */
  10148. show: prop_types_default.a.bool,
  10149. /** Specify where the overlay element is positioned in relation to the target element */
  10150. placement: prop_types_default.a.oneOf(enums_placements),
  10151. /**
  10152. * A DOM Element, Ref to an element, or function that returns either. The `target` element is where
  10153. * the overlay is positioned relative to.
  10154. */
  10155. target: prop_types_default.a.any,
  10156. /**
  10157. * A DOM Element, Ref to an element, or function that returns either. The `container` will have the Portal children
  10158. * appended to it.
  10159. */
  10160. container: prop_types_default.a.any,
  10161. /**
  10162. * Enables the Popper.js `flip` modifier, allowing the Overlay to
  10163. * automatically adjust it's placement in case of overlap with the viewport or toggle.
  10164. * Refer to the [flip docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled) for more info
  10165. */
  10166. flip: prop_types_default.a.bool,
  10167. /**
  10168. * A render prop that returns an element to overlay and position. See
  10169. * the [react-popper documentation](https://github.com/FezVrasta/react-popper#children) for more info.
  10170. *
  10171. * @type {Function ({
  10172. * show: boolean,
  10173. * placement: Placement,
  10174. * outOfBoundaries: ?boolean,
  10175. * scheduleUpdate: () => void,
  10176. * props: {
  10177. * ref: (?HTMLElement) => void,
  10178. * style: { [string]: string | number },
  10179. * aria-labelledby: ?string
  10180. * },
  10181. * arrowProps: {
  10182. * ref: (?HTMLElement) => void,
  10183. * style: { [string]: string | number },
  10184. * },
  10185. * }) => React.Element}
  10186. */
  10187. children: prop_types_default.a.func.isRequired,
  10188. /**
  10189. * Control how much space there is between the edge of the boundary element and overlay.
  10190. * A convenience shortcut to setting `popperConfig.modfiers.preventOverflow.padding`
  10191. */
  10192. containerPadding: prop_types_default.a.number,
  10193. /**
  10194. * A set of popper options and props passed directly to react-popper's Popper component.
  10195. */
  10196. popperConfig: prop_types_default.a.object,
  10197. /**
  10198. * Specify whether the overlay should trigger `onHide` when the user clicks outside the overlay
  10199. */
  10200. rootClose: prop_types_default.a.bool,
  10201. /**
  10202. * Specify event for toggling overlay
  10203. */
  10204. rootCloseEvent: prop_types_default.a.oneOf(['click', 'mousedown']),
  10205. /**
  10206. * Specify disabled for disable RootCloseWrapper
  10207. */
  10208. rootCloseDisabled: prop_types_default.a.bool,
  10209. /**
  10210. * A Callback fired by the Overlay when it wishes to be hidden.
  10211. *
  10212. * __required__ when `rootClose` is `true`.
  10213. *
  10214. * @type func
  10215. */
  10216. onHide: function onHide(props) {
  10217. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  10218. args[_key - 1] = arguments[_key];
  10219. }
  10220. if (props.rootClose) {
  10221. var _PropTypes$func;
  10222. return (_PropTypes$func = prop_types_default.a.func).isRequired.apply(_PropTypes$func, [props].concat(args));
  10223. }
  10224. return prop_types_default.a.func.apply(prop_types_default.a, [props].concat(args));
  10225. },
  10226. /**
  10227. * A `react-transition-group@2.0.0` `<Transition/>` component
  10228. * used to animate the overlay as it changes visibility.
  10229. */
  10230. // @ts-ignore
  10231. transition: prop_types_default.a.elementType,
  10232. /**
  10233. * Callback fired before the Overlay transitions in
  10234. */
  10235. onEnter: prop_types_default.a.func,
  10236. /**
  10237. * Callback fired as the Overlay begins to transition in
  10238. */
  10239. onEntering: prop_types_default.a.func,
  10240. /**
  10241. * Callback fired after the Overlay finishes transitioning in
  10242. */
  10243. onEntered: prop_types_default.a.func,
  10244. /**
  10245. * Callback fired right before the Overlay transitions out
  10246. */
  10247. onExit: prop_types_default.a.func,
  10248. /**
  10249. * Callback fired as the Overlay begins to transition out
  10250. */
  10251. onExiting: prop_types_default.a.func,
  10252. /**
  10253. * Callback fired after the Overlay finishes transitioning out
  10254. */
  10255. onExited: prop_types_default.a.func
  10256. };
  10257. /* harmony default export */ var esm_Overlay = (Overlay);
  10258. // CONCATENATED MODULE: ./src/Overlay.js
  10259. var Overlay_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Overlay.js";
  10260. var Overlay_propTypes = {
  10261. /**
  10262. * A component instance, DOM node, or function that returns either.
  10263. * The `container` element will have the Overlay appended to it via a React portal.
  10264. */
  10265. container: prop_types_default.a.oneOfType([lib["componentOrElement"], prop_types_default.a.func]),
  10266. /**
  10267. * A component instance, DOM node, or function that returns either.
  10268. * The overlay will be positioned in relation to the `target`
  10269. */
  10270. target: prop_types_default.a.oneOfType([lib["componentOrElement"], prop_types_default.a.func]),
  10271. /**
  10272. * Set the visibility of the Overlay
  10273. */
  10274. show: prop_types_default.a.bool,
  10275. /**
  10276. * A set of popper options and props passed directly to Popper.
  10277. */
  10278. popperConfig: prop_types_default.a.object,
  10279. /**
  10280. * Specify whether the overlay should trigger onHide when the user clicks outside the overlay
  10281. */
  10282. rootClose: prop_types_default.a.bool,
  10283. /**
  10284. * Specify event for triggering a "root close" toggle.
  10285. */
  10286. rootCloseEvent: prop_types_default.a.oneOf(['click', 'mousedown']),
  10287. /**
  10288. * A callback invoked by the overlay when it wishes to be hidden. Required if
  10289. * `rootClose` is specified.
  10290. */
  10291. onHide: prop_types_default.a.func,
  10292. /**
  10293. * Animate the entering and exiting of the Ovelay. `true` will use the `<Fade>` transition,
  10294. * or a custom react-transition-group `<Transition>` component can be provided.
  10295. */
  10296. transition: prop_types_default.a.oneOfType([prop_types_default.a.bool, lib["elementType"]]),
  10297. /**
  10298. * Callback fired before the Overlay transitions in
  10299. */
  10300. onEnter: prop_types_default.a.func,
  10301. /**
  10302. * Callback fired as the Overlay begins to transition in
  10303. */
  10304. onEntering: prop_types_default.a.func,
  10305. /**
  10306. * Callback fired after the Overlay finishes transitioning in
  10307. */
  10308. onEntered: prop_types_default.a.func,
  10309. /**
  10310. * Callback fired right before the Overlay transitions out
  10311. */
  10312. onExit: prop_types_default.a.func,
  10313. /**
  10314. * Callback fired as the Overlay begins to transition out
  10315. */
  10316. onExiting: prop_types_default.a.func,
  10317. /**
  10318. * Callback fired after the Overlay finishes transitioning out
  10319. */
  10320. onExited: prop_types_default.a.func,
  10321. /**
  10322. * The placement of the Overlay in relation to it's `target`.
  10323. */
  10324. placement: prop_types_default.a.oneOf(['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'])
  10325. };
  10326. var Overlay_defaultProps = {
  10327. transition: src_Fade,
  10328. rootClose: false,
  10329. show: false,
  10330. placement: 'top'
  10331. };
  10332. function wrapRefs(props, arrowProps) {
  10333. var ref = props.ref;
  10334. var aRef = arrowProps.ref;
  10335. props.ref = ref.__wrapped || (ref.__wrapped = function (r) {
  10336. return ref(safeFindDOMNode(r));
  10337. });
  10338. arrowProps.ref = aRef.__wrapped || (aRef.__wrapped = function (r) {
  10339. return aRef(safeFindDOMNode(r));
  10340. });
  10341. }
  10342. function Overlay_Overlay(_ref) {
  10343. var overlay = _ref.children,
  10344. transition = _ref.transition,
  10345. _ref$popperConfig = _ref.popperConfig,
  10346. popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig,
  10347. outerProps = _objectWithoutPropertiesLoose(_ref, ["children", "transition", "popperConfig"]);
  10348. var popperRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])({});
  10349. var _usePopperMarginModif = usePopperMarginModifiers(),
  10350. ref = _usePopperMarginModif[0],
  10351. marginModifiers = _usePopperMarginModif[1];
  10352. transition = transition === true ? src_Fade : transition || null;
  10353. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(esm_Overlay, _extends({}, outerProps, {
  10354. ref: ref,
  10355. popperConfig: _extends({}, popperConfig, {
  10356. modifiers: marginModifiers.concat(popperConfig.modifiers || [])
  10357. }),
  10358. transition: transition,
  10359. __self: this,
  10360. __source: {
  10361. fileName: Overlay_jsxFileName,
  10362. lineNumber: 137,
  10363. columnNumber: 5
  10364. }
  10365. }), function (_ref2) {
  10366. var overlayProps = _ref2.props,
  10367. arrowProps = _ref2.arrowProps,
  10368. show = _ref2.show,
  10369. state = _ref2.state,
  10370. scheduleUpdate = _ref2.scheduleUpdate,
  10371. placement = _ref2.placement,
  10372. outOfBoundaries = _ref2.outOfBoundaries,
  10373. props = _objectWithoutPropertiesLoose(_ref2, ["props", "arrowProps", "show", "state", "scheduleUpdate", "placement", "outOfBoundaries"]);
  10374. wrapRefs(overlayProps, arrowProps);
  10375. var popper = Object.assign(popperRef.current, {
  10376. state: state,
  10377. scheduleUpdate: scheduleUpdate,
  10378. placement: placement,
  10379. outOfBoundaries: outOfBoundaries
  10380. });
  10381. if (typeof overlay === 'function') return overlay(_extends({}, props, {}, overlayProps, {
  10382. placement: placement,
  10383. show: show,
  10384. popper: popper,
  10385. arrowProps: arrowProps
  10386. }));
  10387. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(overlay, _extends({}, props, {}, overlayProps, {
  10388. placement: placement,
  10389. arrowProps: arrowProps,
  10390. popper: popper,
  10391. className: classnames_default()(overlay.props.className, !transition && show && 'show'),
  10392. style: _extends({}, overlay.props.style, {}, overlayProps.style)
  10393. }));
  10394. });
  10395. }
  10396. Overlay_Overlay.propTypes = Overlay_propTypes;
  10397. Overlay_Overlay.defaultProps = Overlay_defaultProps;
  10398. /* harmony default export */ var src_Overlay = (Overlay_Overlay);
  10399. // CONCATENATED MODULE: ./src/OverlayTrigger.js
  10400. var OverlayTrigger_jsxFileName = "/Users/jquense/src/react-bootstrap/src/OverlayTrigger.js";
  10401. var OverlayTrigger_RefHolder = /*#__PURE__*/function (_React$Component) {
  10402. _inheritsLoose(RefHolder, _React$Component);
  10403. function RefHolder() {
  10404. return _React$Component.apply(this, arguments) || this;
  10405. }
  10406. var _proto = RefHolder.prototype;
  10407. _proto.render = function render() {
  10408. return this.props.children;
  10409. };
  10410. return RefHolder;
  10411. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  10412. function normalizeDelay(delay) {
  10413. return delay && typeof delay === 'object' ? delay : {
  10414. show: delay,
  10415. hide: delay
  10416. };
  10417. } // Simple implementation of mouseEnter and mouseLeave.
  10418. // React's built version is broken: https://github.com/facebook/react/issues/4251
  10419. // for cases when the trigger is disabled and mouseOut/Over can cause flicker
  10420. // moving from one child element to another.
  10421. function handleMouseOverOut(handler, e, relatedNative) {
  10422. var target = e.currentTarget;
  10423. var related = e.relatedTarget || e.nativeEvent[relatedNative];
  10424. if ((!related || related !== target) && !contains_contains(target, related)) {
  10425. handler(e);
  10426. }
  10427. }
  10428. var triggerType = prop_types_default.a.oneOf(['click', 'hover', 'focus']);
  10429. var OverlayTrigger_propTypes = {
  10430. children: prop_types_default.a.element.isRequired,
  10431. /**
  10432. * Specify which action or actions trigger Overlay visibility
  10433. *
  10434. * @type {'hover' | 'click' |'focus' | Array<'hover' | 'click' |'focus'>}
  10435. */
  10436. trigger: prop_types_default.a.oneOfType([triggerType, prop_types_default.a.arrayOf(triggerType)]),
  10437. /**
  10438. * A millisecond delay amount to show and hide the Overlay once triggered
  10439. */
  10440. delay: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.shape({
  10441. show: prop_types_default.a.number,
  10442. hide: prop_types_default.a.number
  10443. })]),
  10444. /**
  10445. * The initial visibility state of the Overlay. For more nuanced visibility
  10446. * control, consider using the Overlay component directly.
  10447. */
  10448. defaultShow: prop_types_default.a.bool,
  10449. /**
  10450. The initial flip state of the Overlay.
  10451. */
  10452. flip: prop_types_default.a.bool,
  10453. /**
  10454. * An element or text to overlay next to the target.
  10455. */
  10456. overlay: prop_types_default.a.oneOfType([prop_types_default.a.func, prop_types_default.a.element.isRequired]),
  10457. /**
  10458. * A Popper.js config object passed to the the underlying popper instance.
  10459. */
  10460. popperConfig: prop_types_default.a.object,
  10461. // Overridden props from `<Overlay>`.
  10462. /**
  10463. * @private
  10464. */
  10465. target: prop_types_default.a.oneOf([null]),
  10466. /**
  10467. * @private
  10468. */
  10469. onHide: prop_types_default.a.oneOf([null]),
  10470. /**
  10471. * @private
  10472. */
  10473. show: prop_types_default.a.oneOf([null]),
  10474. /**
  10475. * The placement of the Overlay in relation to it's `target`.
  10476. */
  10477. placement: prop_types_default.a.oneOf(['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'])
  10478. };
  10479. var OverlayTrigger_defaultProps = {
  10480. defaultShow: false,
  10481. trigger: ['hover', 'focus']
  10482. };
  10483. function OverlayTrigger(_ref) {
  10484. var trigger = _ref.trigger,
  10485. overlay = _ref.overlay,
  10486. children = _ref.children,
  10487. _ref$popperConfig = _ref.popperConfig,
  10488. popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig,
  10489. defaultShow = _ref.defaultShow,
  10490. propsDelay = _ref.delay,
  10491. placement = _ref.placement,
  10492. _ref$flip = _ref.flip,
  10493. flip = _ref$flip === void 0 ? placement && placement.indexOf('auto') !== -1 : _ref$flip,
  10494. props = _objectWithoutPropertiesLoose(_ref, ["trigger", "overlay", "children", "popperConfig", "defaultShow", "delay", "placement", "flip"]);
  10495. var triggerNodeRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(null);
  10496. var timeout = useTimeout();
  10497. var hoverStateRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])();
  10498. var _useState = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(!!defaultShow),
  10499. show = _useState[0],
  10500. setShow = _useState[1];
  10501. var delay = normalizeDelay(propsDelay);
  10502. var child = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.only(children);
  10503. var _child$props = child.props,
  10504. onFocus = _child$props.onFocus,
  10505. onBlur = _child$props.onBlur,
  10506. onClick = _child$props.onClick;
  10507. var getTarget = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () {
  10508. return safeFindDOMNode(triggerNodeRef.current);
  10509. }, []);
  10510. var handleShow = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () {
  10511. timeout.clear();
  10512. hoverStateRef.current = 'show';
  10513. if (!delay.show) {
  10514. setShow(true);
  10515. return;
  10516. }
  10517. timeout.set(function () {
  10518. if (hoverStateRef.current === 'show') setShow(true);
  10519. }, delay.show);
  10520. }, [delay.show, timeout]);
  10521. var handleHide = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () {
  10522. timeout.clear();
  10523. hoverStateRef.current = 'hide';
  10524. if (!delay.hide) {
  10525. setShow(false);
  10526. return;
  10527. }
  10528. timeout.set(function () {
  10529. if (hoverStateRef.current === 'hide') setShow(false);
  10530. }, delay.hide);
  10531. }, [delay.hide, timeout]);
  10532. var handleFocus = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (e) {
  10533. handleShow(e);
  10534. if (onFocus) onFocus(e);
  10535. }, [handleShow, onFocus]);
  10536. var handleBlur = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (e) {
  10537. handleHide(e);
  10538. if (onBlur) onBlur(e);
  10539. }, [handleHide, onBlur]);
  10540. var handleClick = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (e) {
  10541. setShow(function (prevShow) {
  10542. return !prevShow;
  10543. });
  10544. if (onClick) onClick(e);
  10545. }, [onClick]);
  10546. var handleMouseOver = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (e) {
  10547. handleMouseOverOut(handleShow, e, 'fromElement');
  10548. }, [handleShow]);
  10549. var handleMouseOut = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (e) {
  10550. handleMouseOverOut(handleHide, e, 'toElement');
  10551. }, [handleHide]); // We add aria-describedby in the case where the overlay is a role="tooltip"
  10552. // for other cases describedby isn't appropriate (e.g. a popover with inputs) so we don't add it.
  10553. var ariaModifier = {
  10554. name: 'ariaDescribedBy',
  10555. enabled: true,
  10556. phase: 'afterWrite',
  10557. effect: function effect(_ref2) {
  10558. var state = _ref2.state;
  10559. return function () {
  10560. state.elements.reference.removeAttribute('aria-describedby');
  10561. };
  10562. },
  10563. fn: function fn(_ref3) {
  10564. var state = _ref3.state;
  10565. var _state$elements = state.elements,
  10566. popper = _state$elements.popper,
  10567. reference = _state$elements.reference;
  10568. if (!show || !reference) return;
  10569. var role = popper.getAttribute('role') || '';
  10570. if (popper.id && role.toLowerCase() === 'tooltip') {
  10571. reference.setAttribute('aria-describedby', popper.id);
  10572. }
  10573. }
  10574. };
  10575. var triggers = trigger == null ? [] : [].concat(trigger);
  10576. var triggerProps = {};
  10577. if (triggers.indexOf('click') !== -1) {
  10578. triggerProps.onClick = handleClick;
  10579. }
  10580. if (triggers.indexOf('focus') !== -1) {
  10581. triggerProps.onFocus = handleFocus;
  10582. triggerProps.onBlur = handleBlur;
  10583. }
  10584. if (triggers.indexOf('hover') !== -1) {
  10585. false ? undefined : void 0;
  10586. triggerProps.onMouseOver = handleMouseOver;
  10587. triggerProps.onMouseOut = handleMouseOut;
  10588. }
  10589. 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, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(OverlayTrigger_RefHolder, {
  10590. ref: triggerNodeRef,
  10591. __self: this,
  10592. __source: {
  10593. fileName: OverlayTrigger_jsxFileName,
  10594. lineNumber: 261,
  10595. columnNumber: 7
  10596. }
  10597. }, Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["cloneElement"])(child, triggerProps)), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Overlay, _extends({}, props, {
  10598. popperConfig: _extends({}, popperConfig, {
  10599. modifiers: [ariaModifier].concat(popperConfig.modifiers || [])
  10600. }),
  10601. show: show,
  10602. onHide: handleHide,
  10603. target: getTarget,
  10604. placement: placement,
  10605. flip: flip,
  10606. __self: this,
  10607. __source: {
  10608. fileName: OverlayTrigger_jsxFileName,
  10609. lineNumber: 264,
  10610. columnNumber: 7
  10611. }
  10612. }), overlay));
  10613. }
  10614. OverlayTrigger.propTypes = OverlayTrigger_propTypes;
  10615. OverlayTrigger.defaultProps = OverlayTrigger_defaultProps;
  10616. /* harmony default export */ var src_OverlayTrigger = (OverlayTrigger);
  10617. // CONCATENATED MODULE: ./src/PageItem.js
  10618. var PageItem_this = undefined,
  10619. PageItem_jsxFileName = "/Users/jquense/src/react-bootstrap/src/PageItem.js";
  10620. /* eslint-disable react/no-multi-comp */
  10621. var PageItem_propTypes = {
  10622. /** Disables the PageItem */
  10623. disabled: prop_types_default.a.bool,
  10624. /** Styles PageItem as active, and renders a `<span>` instead of an `<a>`. */
  10625. active: prop_types_default.a.bool,
  10626. /** An accessible label indicating the active state.. */
  10627. activeLabel: prop_types_default.a.string
  10628. };
  10629. var PageItem_defaultProps = {
  10630. active: false,
  10631. disabled: false,
  10632. activeLabel: '(current)'
  10633. };
  10634. var PageItem = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10635. var active = _ref.active,
  10636. disabled = _ref.disabled,
  10637. className = _ref.className,
  10638. style = _ref.style,
  10639. activeLabel = _ref.activeLabel,
  10640. children = _ref.children,
  10641. props = _objectWithoutPropertiesLoose(_ref, ["active", "disabled", "className", "style", "activeLabel", "children"]);
  10642. var Component = active || disabled ? 'span' : src_SafeAnchor;
  10643. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("li", {
  10644. ref: ref,
  10645. style: style,
  10646. className: classnames_default()(className, 'page-item', {
  10647. active: active,
  10648. disabled: disabled
  10649. }),
  10650. __self: PageItem_this,
  10651. __source: {
  10652. fileName: PageItem_jsxFileName,
  10653. lineNumber: 32,
  10654. columnNumber: 7
  10655. }
  10656. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  10657. className: "page-link",
  10658. disabled: disabled
  10659. }, props, {
  10660. __self: PageItem_this,
  10661. __source: {
  10662. fileName: PageItem_jsxFileName,
  10663. lineNumber: 37,
  10664. columnNumber: 9
  10665. }
  10666. }), children, active && activeLabel && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  10667. className: "sr-only",
  10668. __self: PageItem_this,
  10669. __source: {
  10670. fileName: PageItem_jsxFileName,
  10671. lineNumber: 40,
  10672. columnNumber: 13
  10673. }
  10674. }, activeLabel)));
  10675. });
  10676. PageItem.propTypes = PageItem_propTypes;
  10677. PageItem.defaultProps = PageItem_defaultProps;
  10678. PageItem.displayName = 'PageItem';
  10679. /* harmony default export */ var src_PageItem = (PageItem);
  10680. function createButton(name, defaultValue, label) {
  10681. var _class, _temp;
  10682. if (label === void 0) {
  10683. label = name;
  10684. }
  10685. return _temp = _class = /*#__PURE__*/function (_React$Component) {
  10686. _inheritsLoose(_class, _React$Component);
  10687. function _class() {
  10688. return _React$Component.apply(this, arguments) || this;
  10689. }
  10690. var _proto = _class.prototype;
  10691. _proto.render = function render() {
  10692. var _this$props = this.props,
  10693. children = _this$props.children,
  10694. props = _objectWithoutPropertiesLoose(_this$props, ["children"]);
  10695. delete props.active;
  10696. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(PageItem, _extends({}, props, {
  10697. __self: this,
  10698. __source: {
  10699. fileName: PageItem_jsxFileName,
  10700. lineNumber: 62,
  10701. columnNumber: 9
  10702. }
  10703. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  10704. "aria-hidden": "true",
  10705. __self: this,
  10706. __source: {
  10707. fileName: PageItem_jsxFileName,
  10708. lineNumber: 63,
  10709. columnNumber: 11
  10710. }
  10711. }, children || defaultValue), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  10712. className: "sr-only",
  10713. __self: this,
  10714. __source: {
  10715. fileName: PageItem_jsxFileName,
  10716. lineNumber: 64,
  10717. columnNumber: 11
  10718. }
  10719. }, label));
  10720. };
  10721. return _class;
  10722. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component), _class.displayName = name, _temp;
  10723. }
  10724. var First = createButton('First', '«');
  10725. var Prev = createButton('Prev', '‹', 'Previous');
  10726. var Ellipsis = createButton('Ellipsis', '…', 'More');
  10727. var Next = createButton('Next', '›');
  10728. var Last = createButton('Last', '»');
  10729. // CONCATENATED MODULE: ./src/Pagination.js
  10730. var Pagination_this = undefined,
  10731. Pagination_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Pagination.js";
  10732. var Pagination_propTypes = {
  10733. /**
  10734. * @default 'pagination'
  10735. * */
  10736. bsPrefix: prop_types_default.a.string,
  10737. /**
  10738. * Set's the size of all PageItems.
  10739. *
  10740. * @type {('sm'|'lg')}
  10741. */
  10742. size: prop_types_default.a.string
  10743. };
  10744. /**
  10745. * @property {PageItem} Item
  10746. * @property {PageItem} First
  10747. * @property {PageItem} Prev
  10748. * @property {PageItem} Ellipsis
  10749. * @property {PageItem} Next
  10750. * @property {PageItem} Last
  10751. */
  10752. var Pagination = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10753. var bsPrefix = _ref.bsPrefix,
  10754. className = _ref.className,
  10755. children = _ref.children,
  10756. size = _ref.size,
  10757. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "children", "size"]);
  10758. var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'pagination');
  10759. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("ul", _extends({
  10760. ref: ref
  10761. }, props, {
  10762. className: classnames_default()(className, decoratedBsPrefix, size && decoratedBsPrefix + "-" + size),
  10763. __self: Pagination_this,
  10764. __source: {
  10765. fileName: Pagination_jsxFileName,
  10766. lineNumber: 34,
  10767. columnNumber: 7
  10768. }
  10769. }), children);
  10770. });
  10771. Pagination.propTypes = Pagination_propTypes;
  10772. Pagination.First = First;
  10773. Pagination.Prev = Prev;
  10774. Pagination.Ellipsis = Ellipsis;
  10775. Pagination.Item = src_PageItem;
  10776. Pagination.Next = Next;
  10777. Pagination.Last = Last;
  10778. /* harmony default export */ var src_Pagination = (Pagination);
  10779. // CONCATENATED MODULE: ./src/PopoverTitle.js
  10780. var PopoverTitle_this = undefined,
  10781. PopoverTitle_jsxFileName = "/Users/jquense/src/react-bootstrap/src/PopoverTitle.js";
  10782. var PopoverTitle_propTypes = {
  10783. /** Set a custom element for this component */
  10784. as: prop_types_default.a.elementType,
  10785. /** @default 'popover-header' */
  10786. bsPrefix: prop_types_default.a.string
  10787. };
  10788. var PopoverTitle = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10789. var _ref$as = _ref.as,
  10790. Component = _ref$as === void 0 ? 'div' : _ref$as,
  10791. bsPrefix = _ref.bsPrefix,
  10792. className = _ref.className,
  10793. children = _ref.children,
  10794. props = _objectWithoutPropertiesLoose(_ref, ["as", "bsPrefix", "className", "children"]);
  10795. bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-header');
  10796. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  10797. ref: ref
  10798. }, props, {
  10799. className: classnames_default()(bsPrefix, className),
  10800. __self: PopoverTitle_this,
  10801. __source: {
  10802. fileName: PopoverTitle_jsxFileName,
  10803. lineNumber: 29,
  10804. columnNumber: 7
  10805. }
  10806. }), children);
  10807. });
  10808. PopoverTitle.propTypes = PopoverTitle_propTypes;
  10809. /* harmony default export */ var src_PopoverTitle = (PopoverTitle);
  10810. // CONCATENATED MODULE: ./src/PopoverContent.js
  10811. var PopoverContent_this = undefined,
  10812. PopoverContent_jsxFileName = "/Users/jquense/src/react-bootstrap/src/PopoverContent.js";
  10813. var PopoverContent_propTypes = {
  10814. /** Set a custom element for this component */
  10815. as: prop_types_default.a.elementType,
  10816. /** @default 'popover-body' */
  10817. bsPrefix: prop_types_default.a.string
  10818. };
  10819. var PopoverContent = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10820. var _ref$as = _ref.as,
  10821. Component = _ref$as === void 0 ? 'div' : _ref$as,
  10822. bsPrefix = _ref.bsPrefix,
  10823. className = _ref.className,
  10824. children = _ref.children,
  10825. props = _objectWithoutPropertiesLoose(_ref, ["as", "bsPrefix", "className", "children"]);
  10826. bsPrefix = useBootstrapPrefix(bsPrefix, 'popover-body');
  10827. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  10828. ref: ref
  10829. }, props, {
  10830. className: classnames_default()(className, bsPrefix),
  10831. __self: PopoverContent_this,
  10832. __source: {
  10833. fileName: PopoverContent_jsxFileName,
  10834. lineNumber: 29,
  10835. columnNumber: 7
  10836. }
  10837. }), children);
  10838. });
  10839. PopoverContent.propTypes = PopoverContent_propTypes;
  10840. /* harmony default export */ var src_PopoverContent = (PopoverContent);
  10841. // CONCATENATED MODULE: ./src/Popover.js
  10842. var Popover_this = undefined,
  10843. Popover_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Popover.js";
  10844. var Popover_propTypes = {
  10845. /**
  10846. * @default 'popover'
  10847. */
  10848. bsPrefix: prop_types_default.a.string,
  10849. /**
  10850. * An html id attribute, necessary for accessibility
  10851. * @type {string|number}
  10852. * @required
  10853. */
  10854. id: isRequiredForA11y_default()(prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.number])),
  10855. /**
  10856. * Sets the direction the Popover is positioned towards.
  10857. *
  10858. * > This is generally provided by the `Overlay` component positioning the popover
  10859. */
  10860. placement: prop_types_default.a.oneOf(['auto', 'top', 'bottom', 'left', 'right']),
  10861. /**
  10862. * An Overlay injected set of props for positioning the popover arrow.
  10863. *
  10864. * > This is generally provided by the `Overlay` component positioning the popover
  10865. */
  10866. arrowProps: prop_types_default.a.shape({
  10867. ref: prop_types_default.a.any,
  10868. style: prop_types_default.a.object
  10869. }),
  10870. /**
  10871. * When this prop is set, it creates a Popover with a Popover.Content inside
  10872. * passing the children directly to it
  10873. */
  10874. content: prop_types_default.a.bool,
  10875. /** @private */
  10876. popper: prop_types_default.a.object,
  10877. /** @private */
  10878. show: prop_types_default.a.bool
  10879. };
  10880. var Popover_defaultProps = {
  10881. placement: 'right'
  10882. };
  10883. var Popover = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  10884. var bsPrefix = _ref.bsPrefix,
  10885. placement = _ref.placement,
  10886. className = _ref.className,
  10887. style = _ref.style,
  10888. children = _ref.children,
  10889. content = _ref.content,
  10890. arrowProps = _ref.arrowProps,
  10891. _ = _ref.popper,
  10892. _1 = _ref.show,
  10893. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "placement", "className", "style", "children", "content", "arrowProps", "popper", "show"]);
  10894. var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'popover');
  10895. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({
  10896. ref: ref,
  10897. role: "tooltip",
  10898. style: style,
  10899. "x-placement": placement,
  10900. className: classnames_default()(className, decoratedBsPrefix, "bs-popover-" + placement)
  10901. }, props, {
  10902. __self: Popover_this,
  10903. __source: {
  10904. fileName: Popover_jsxFileName,
  10905. lineNumber: 76,
  10906. columnNumber: 7
  10907. }
  10908. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({
  10909. className: "arrow"
  10910. }, arrowProps, {
  10911. // this prevents an error if you render a Popover without arrow props, like in a test
  10912. style: arrowProps ? _extends({}, arrowProps.style, {
  10913. margin: 0
  10914. }) : undefined,
  10915. __self: Popover_this,
  10916. __source: {
  10917. fileName: Popover_jsxFileName,
  10918. lineNumber: 88,
  10919. columnNumber: 9
  10920. }
  10921. })), content ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_PopoverContent, {
  10922. __self: Popover_this,
  10923. __source: {
  10924. fileName: Popover_jsxFileName,
  10925. lineNumber: 94,
  10926. columnNumber: 20
  10927. }
  10928. }, children) : children);
  10929. });
  10930. Popover.propTypes = Popover_propTypes;
  10931. Popover.defaultProps = Popover_defaultProps;
  10932. Popover.Title = src_PopoverTitle;
  10933. Popover.Content = src_PopoverContent;
  10934. /* harmony default export */ var src_Popover = (Popover);
  10935. // CONCATENATED MODULE: ./src/ProgressBar.js
  10936. var ProgressBar_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ProgressBar.js",
  10937. ProgressBar_this2 = undefined;
  10938. var ROUND_PRECISION = 1000;
  10939. /**
  10940. * Validate that children, if any, are instances of `<ProgressBar>`.
  10941. */
  10942. function onlyProgressBar(props, propName, componentName) {
  10943. var _this = this;
  10944. var children = props[propName];
  10945. if (!children) {
  10946. return null;
  10947. }
  10948. var error = null;
  10949. external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.forEach(children, function (child) {
  10950. if (error) {
  10951. return;
  10952. }
  10953. /**
  10954. * Compare types in a way that works with libraries that patch and proxy
  10955. * components like react-hot-loader.
  10956. *
  10957. * see https://github.com/gaearon/react-hot-loader#checking-element-types
  10958. */
  10959. var element = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(ProgressBar, {
  10960. __self: _this,
  10961. __source: {
  10962. fileName: ProgressBar_jsxFileName,
  10963. lineNumber: 33,
  10964. columnNumber: 21
  10965. }
  10966. });
  10967. if (child.type === element.type) return;
  10968. var childIdentifier = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.isValidElement(child) ? child.type.displayName || child.type.name || child.type : child;
  10969. error = new Error("Children of " + componentName + " can contain only ProgressBar " + ("components. Found " + childIdentifier + "."));
  10970. });
  10971. return error;
  10972. }
  10973. var ProgressBar_propTypes = {
  10974. /**
  10975. * Minimum value progress can begin from
  10976. */
  10977. min: prop_types_default.a.number,
  10978. /**
  10979. * Current value of progress
  10980. */
  10981. now: prop_types_default.a.number,
  10982. /**
  10983. * Maximum value progress can reach
  10984. */
  10985. max: prop_types_default.a.number,
  10986. /**
  10987. * Show label that represents visual percentage.
  10988. * EG. 60%
  10989. */
  10990. label: prop_types_default.a.node,
  10991. /**
  10992. * Hide's the label visually.
  10993. */
  10994. srOnly: prop_types_default.a.bool,
  10995. /**
  10996. * Uses a gradient to create a striped effect.
  10997. */
  10998. striped: prop_types_default.a.bool,
  10999. /**
  11000. * Animate's the stripes from right to left
  11001. */
  11002. animated: prop_types_default.a.bool,
  11003. /**
  11004. * @private
  11005. * @default 'progress-bar'
  11006. */
  11007. bsPrefix: prop_types_default.a.string,
  11008. /**
  11009. * Sets the background class of the progress bar.
  11010. *
  11011. * @type ('success'|'danger'|'warning'|'info')
  11012. */
  11013. variant: prop_types_default.a.string,
  11014. /**
  11015. * Child elements (only allows elements of type <ProgressBar />)
  11016. */
  11017. children: onlyProgressBar,
  11018. /**
  11019. * @private
  11020. */
  11021. isChild: prop_types_default.a.bool
  11022. };
  11023. var ProgressBar_defaultProps = {
  11024. min: 0,
  11025. max: 100,
  11026. animated: false,
  11027. isChild: false,
  11028. srOnly: false,
  11029. striped: false
  11030. };
  11031. function getPercentage(now, min, max) {
  11032. var percentage = (now - min) / (max - min) * 100;
  11033. return Math.round(percentage * ROUND_PRECISION) / ROUND_PRECISION;
  11034. }
  11035. function renderProgressBar(_ref, ref) {
  11036. var _classNames;
  11037. var min = _ref.min,
  11038. now = _ref.now,
  11039. max = _ref.max,
  11040. label = _ref.label,
  11041. srOnly = _ref.srOnly,
  11042. striped = _ref.striped,
  11043. animated = _ref.animated,
  11044. className = _ref.className,
  11045. style = _ref.style,
  11046. variant = _ref.variant,
  11047. bsPrefix = _ref.bsPrefix,
  11048. props = _objectWithoutPropertiesLoose(_ref, ["min", "now", "max", "label", "srOnly", "striped", "animated", "className", "style", "variant", "bsPrefix"]);
  11049. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({
  11050. ref: ref
  11051. }, props, {
  11052. role: "progressbar",
  11053. className: classnames_default()(className, bsPrefix + "-bar", (_classNames = {}, _classNames["bg-" + variant] = variant, _classNames[bsPrefix + "-bar-animated"] = animated, _classNames[bsPrefix + "-bar-striped"] = animated || striped, _classNames)),
  11054. style: _extends({
  11055. width: getPercentage(now, min, max) + "%"
  11056. }, style),
  11057. "aria-valuenow": now,
  11058. "aria-valuemin": min,
  11059. "aria-valuemax": max,
  11060. __self: this,
  11061. __source: {
  11062. fileName: ProgressBar_jsxFileName,
  11063. lineNumber: 141,
  11064. columnNumber: 5
  11065. }
  11066. }), srOnly ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  11067. className: "sr-only",
  11068. __self: this,
  11069. __source: {
  11070. fileName: ProgressBar_jsxFileName,
  11071. lineNumber: 155,
  11072. columnNumber: 17
  11073. }
  11074. }, label) : label);
  11075. }
  11076. renderProgressBar.propTypes = ProgressBar_propTypes;
  11077. var ProgressBar = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref2, ref) {
  11078. var isChild = _ref2.isChild,
  11079. props = _objectWithoutPropertiesLoose(_ref2, ["isChild"]);
  11080. props.bsPrefix = useBootstrapPrefix(props.bsPrefix, 'progress');
  11081. if (isChild) {
  11082. return renderProgressBar(props, ref);
  11083. }
  11084. var min = props.min,
  11085. now = props.now,
  11086. max = props.max,
  11087. label = props.label,
  11088. srOnly = props.srOnly,
  11089. striped = props.striped,
  11090. animated = props.animated,
  11091. bsPrefix = props.bsPrefix,
  11092. variant = props.variant,
  11093. className = props.className,
  11094. children = props.children,
  11095. wrapperProps = _objectWithoutPropertiesLoose(props, ["min", "now", "max", "label", "srOnly", "striped", "animated", "bsPrefix", "variant", "className", "children"]);
  11096. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({
  11097. ref: ref
  11098. }, wrapperProps, {
  11099. className: classnames_default()(className, bsPrefix),
  11100. __self: ProgressBar_this2,
  11101. __source: {
  11102. fileName: ProgressBar_jsxFileName,
  11103. lineNumber: 185,
  11104. columnNumber: 5
  11105. }
  11106. }), children ? map(children, function (child) {
  11107. return Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["cloneElement"])(child, {
  11108. isChild: true
  11109. });
  11110. }) : renderProgressBar({
  11111. min: min,
  11112. now: now,
  11113. max: max,
  11114. label: label,
  11115. srOnly: srOnly,
  11116. striped: striped,
  11117. animated: animated,
  11118. bsPrefix: bsPrefix,
  11119. variant: variant
  11120. }, ref));
  11121. });
  11122. ProgressBar.displayName = 'ProgressBar';
  11123. ProgressBar.propTypes = ProgressBar_propTypes;
  11124. ProgressBar.defaultProps = ProgressBar_defaultProps;
  11125. /* harmony default export */ var src_ProgressBar = (ProgressBar);
  11126. // CONCATENATED MODULE: ./src/ResponsiveEmbed.js
  11127. var ResponsiveEmbed_this = undefined,
  11128. ResponsiveEmbed_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ResponsiveEmbed.js";
  11129. var ResponsiveEmbed_propTypes = {
  11130. /**
  11131. * @default 'embed-responsive'
  11132. */
  11133. bsPrefix: prop_types_default.a.string,
  11134. /**
  11135. * This component requires a single child element
  11136. */
  11137. children: prop_types_default.a.element.isRequired,
  11138. /**
  11139. * Set the aspect ration of the embed
  11140. */
  11141. aspectRatio: prop_types_default.a.oneOf(['21by9', '16by9', '4by3', '1by1'])
  11142. };
  11143. var ResponsiveEmbed_defaultProps = {
  11144. aspectRatio: '1by1'
  11145. };
  11146. var ResponsiveEmbed = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  11147. var bsPrefix = _ref.bsPrefix,
  11148. className = _ref.className,
  11149. children = _ref.children,
  11150. aspectRatio = _ref.aspectRatio,
  11151. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "children", "aspectRatio"]);
  11152. var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'embed-responsive');
  11153. var child = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Children.only(children);
  11154. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({
  11155. ref: ref
  11156. }, props, {
  11157. className: classnames_default()(decoratedBsPrefix, className, aspectRatio && decoratedBsPrefix + "-" + aspectRatio),
  11158. __self: ResponsiveEmbed_this,
  11159. __source: {
  11160. fileName: ResponsiveEmbed_jsxFileName,
  11161. lineNumber: 33,
  11162. columnNumber: 7
  11163. }
  11164. }), external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(child, {
  11165. className: classnames_default()(child.props.className, decoratedBsPrefix + "-item")
  11166. }));
  11167. });
  11168. ResponsiveEmbed.propTypes = ResponsiveEmbed_propTypes;
  11169. ResponsiveEmbed.defaultProps = ResponsiveEmbed_defaultProps;
  11170. /* harmony default export */ var src_ResponsiveEmbed = (ResponsiveEmbed);
  11171. // CONCATENATED MODULE: ./src/Row.js
  11172. var Row_this = undefined,
  11173. Row_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Row.js";
  11174. var Row_DEVICE_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];
  11175. var rowColWidth = prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]);
  11176. var rowColumns = prop_types_default.a.oneOfType([rowColWidth, prop_types_default.a.shape({
  11177. cols: rowColWidth
  11178. })]);
  11179. var Row_propTypes = {
  11180. /**
  11181. * @default 'row'
  11182. */
  11183. bsPrefix: prop_types_default.a.string,
  11184. /** Removes the gutter spacing between `Col`s as well as any added negative margins. */
  11185. noGutters: prop_types_default.a.bool.isRequired,
  11186. as: prop_types_default.a.elementType,
  11187. /**
  11188. * The number of columns that will fit next to each other on extra small devices (<576px)
  11189. *
  11190. * @type {(number|{ cols: number })}
  11191. */
  11192. xs: rowColumns,
  11193. /**
  11194. * The number of columns that will fit next to each other on small devices (≥576px)
  11195. *
  11196. * @type {(number|{ cols: number })}
  11197. */
  11198. sm: rowColumns,
  11199. /**
  11200. * The number of columns that will fit next to each other on medium devices (≥768px)
  11201. *
  11202. * @type {(number|{ cols: number })}
  11203. */
  11204. md: rowColumns,
  11205. /**
  11206. * The number of columns that will fit next to each other on large devices (≥992px)
  11207. *
  11208. * @type {(number|{ cols: number })}
  11209. */
  11210. lg: rowColumns,
  11211. /**
  11212. * The number of columns that will fit next to each other on extra large devices (≥1200px)
  11213. *
  11214. * @type {(number|{ cols: number })}
  11215. */
  11216. xl: rowColumns
  11217. };
  11218. var Row_defaultProps = {
  11219. noGutters: false
  11220. };
  11221. var Row = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  11222. var bsPrefix = _ref.bsPrefix,
  11223. className = _ref.className,
  11224. noGutters = _ref.noGutters,
  11225. _ref$as = _ref.as,
  11226. Component = _ref$as === void 0 ? 'div' : _ref$as,
  11227. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "noGutters", "as"]);
  11228. var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');
  11229. var sizePrefix = decoratedBsPrefix + "-cols";
  11230. var classes = [];
  11231. Row_DEVICE_SIZES.forEach(function (brkPoint) {
  11232. var propValue = props[brkPoint];
  11233. delete props[brkPoint];
  11234. var cols;
  11235. if (propValue != null && typeof propValue === 'object') {
  11236. cols = propValue.cols;
  11237. } else {
  11238. cols = propValue;
  11239. }
  11240. var infix = brkPoint !== 'xs' ? "-" + brkPoint : '';
  11241. if (cols != null) classes.push("" + sizePrefix + infix + "-" + cols);
  11242. });
  11243. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  11244. ref: ref
  11245. }, props, {
  11246. className: classnames_default.a.apply(void 0, [className, decoratedBsPrefix, noGutters && 'no-gutters'].concat(classes)),
  11247. __self: Row_this,
  11248. __source: {
  11249. fileName: Row_jsxFileName,
  11250. lineNumber: 101,
  11251. columnNumber: 7
  11252. }
  11253. }));
  11254. });
  11255. Row.displayName = 'Row';
  11256. Row.propTypes = Row_propTypes;
  11257. Row.defaultProps = Row_defaultProps;
  11258. /* harmony default export */ var src_Row = (Row);
  11259. // CONCATENATED MODULE: ./src/Spinner.js
  11260. var Spinner_this = undefined,
  11261. Spinner_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Spinner.js";
  11262. var Spinner_propTypes = {
  11263. /**
  11264. * @default 'spinner'
  11265. */
  11266. bsPrefix: prop_types_default.a.string,
  11267. /**
  11268. * The visual color style of the spinner
  11269. *
  11270. * @type {('primary'|'secondary'|'success'|'danger'|'warning'|'info'|'light'|'dark')}
  11271. */
  11272. variant: prop_types_default.a.string,
  11273. /**
  11274. * Changes the animation style of the spinner.
  11275. *
  11276. * @type {('border'|'grow')}
  11277. * @default true
  11278. */
  11279. animation: prop_types_default.a.oneOf(['border', 'grow']).isRequired,
  11280. /**
  11281. * Component size variations.
  11282. *
  11283. * @type {('sm')}
  11284. */
  11285. size: prop_types_default.a.string,
  11286. /**
  11287. * This component may be used to wrap child elements or components.
  11288. */
  11289. children: prop_types_default.a.element,
  11290. /**
  11291. * An ARIA accessible role applied to the Menu component. This should generally be set to 'status'
  11292. */
  11293. role: prop_types_default.a.string,
  11294. /**
  11295. * @default div
  11296. */
  11297. as: prop_types_default.a.elementType
  11298. };
  11299. var Spinner = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  11300. var bsPrefix = _ref.bsPrefix,
  11301. variant = _ref.variant,
  11302. animation = _ref.animation,
  11303. size = _ref.size,
  11304. children = _ref.children,
  11305. _ref$as = _ref.as,
  11306. Component = _ref$as === void 0 ? 'div' : _ref$as,
  11307. className = _ref.className,
  11308. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "variant", "animation", "size", "children", "as", "className"]);
  11309. bsPrefix = useBootstrapPrefix(bsPrefix, 'spinner');
  11310. var bsSpinnerPrefix = bsPrefix + "-" + animation;
  11311. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  11312. ref: ref
  11313. }, props, {
  11314. className: classnames_default()(className, bsSpinnerPrefix, size && bsSpinnerPrefix + "-" + size, variant && "text-" + variant),
  11315. __self: Spinner_this,
  11316. __source: {
  11317. fileName: Spinner_jsxFileName,
  11318. lineNumber: 70,
  11319. columnNumber: 7
  11320. }
  11321. }), children);
  11322. });
  11323. Spinner.propTypes = Spinner_propTypes;
  11324. Spinner.displayName = 'Spinner';
  11325. /* harmony default export */ var src_Spinner = (Spinner);
  11326. // CONCATENATED MODULE: ./src/SplitButton.js
  11327. var SplitButton_this = undefined,
  11328. SplitButton_jsxFileName = "/Users/jquense/src/react-bootstrap/src/SplitButton.js";
  11329. var SplitButton_propTypes = {
  11330. /**
  11331. * An html id attribute for the Toggle button, necessary for assistive technologies, such as screen readers.
  11332. * @type {string|number}
  11333. * @required
  11334. */
  11335. id: prop_types_default.a.any,
  11336. /**
  11337. * Accessible label for the toggle; the value of `title` if not specified.
  11338. */
  11339. toggleLabel: prop_types_default.a.string,
  11340. /** An `href` passed to the non-toggle Button */
  11341. href: prop_types_default.a.string,
  11342. /** An anchor `target` passed to the non-toggle Button */
  11343. target: prop_types_default.a.string,
  11344. /** An `onClick` handler passed to the non-toggle Button */
  11345. onClick: prop_types_default.a.func,
  11346. /** The content of the non-toggle Button. */
  11347. title: prop_types_default.a.node.isRequired,
  11348. /** A `type` passed to the non-toggle Button */
  11349. type: prop_types_default.a.string,
  11350. /** Disables both Buttons */
  11351. disabled: prop_types_default.a.bool,
  11352. /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */
  11353. menuRole: prop_types_default.a.string,
  11354. /** Whether to render the dropdown menu in the DOM before the first time it is shown */
  11355. renderMenuOnMount: prop_types_default.a.bool,
  11356. /**
  11357. * Which event when fired outside the component will cause it to be closed.
  11358. *
  11359. * _see [DropdownMenu](#menu-props) for more details_
  11360. */
  11361. rootCloseEvent: prop_types_default.a.string,
  11362. /** @ignore */
  11363. bsPrefix: prop_types_default.a.string,
  11364. /** @ignore */
  11365. variant: prop_types_default.a.string,
  11366. /** @ignore */
  11367. size: prop_types_default.a.string
  11368. };
  11369. var SplitButton_defaultProps = {
  11370. toggleLabel: 'Toggle dropdown',
  11371. type: 'button'
  11372. };
  11373. var SplitButton = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  11374. var id = _ref.id,
  11375. bsPrefix = _ref.bsPrefix,
  11376. size = _ref.size,
  11377. variant = _ref.variant,
  11378. title = _ref.title,
  11379. type = _ref.type,
  11380. toggleLabel = _ref.toggleLabel,
  11381. children = _ref.children,
  11382. onClick = _ref.onClick,
  11383. href = _ref.href,
  11384. target = _ref.target,
  11385. menuRole = _ref.menuRole,
  11386. renderMenuOnMount = _ref.renderMenuOnMount,
  11387. rootCloseEvent = _ref.rootCloseEvent,
  11388. props = _objectWithoutPropertiesLoose(_ref, ["id", "bsPrefix", "size", "variant", "title", "type", "toggleLabel", "children", "onClick", "href", "target", "menuRole", "renderMenuOnMount", "rootCloseEvent"]);
  11389. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown, _extends({
  11390. ref: ref
  11391. }, props, {
  11392. as: src_ButtonGroup,
  11393. __self: SplitButton_this,
  11394. __source: {
  11395. fileName: SplitButton_jsxFileName,
  11396. lineNumber: 86,
  11397. columnNumber: 5
  11398. }
  11399. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Button, {
  11400. size: size,
  11401. variant: variant,
  11402. disabled: props.disabled,
  11403. bsPrefix: bsPrefix,
  11404. href: href,
  11405. target: target,
  11406. onClick: onClick,
  11407. type: type,
  11408. __self: SplitButton_this,
  11409. __source: {
  11410. fileName: SplitButton_jsxFileName,
  11411. lineNumber: 87,
  11412. columnNumber: 7
  11413. }
  11414. }, title), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown.Toggle, {
  11415. split: true,
  11416. id: id,
  11417. size: size,
  11418. variant: variant,
  11419. disabled: props.disabled,
  11420. childBsPrefix: bsPrefix,
  11421. __self: SplitButton_this,
  11422. __source: {
  11423. fileName: SplitButton_jsxFileName,
  11424. lineNumber: 99,
  11425. columnNumber: 7
  11426. }
  11427. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("span", {
  11428. className: "sr-only",
  11429. __self: SplitButton_this,
  11430. __source: {
  11431. fileName: SplitButton_jsxFileName,
  11432. lineNumber: 107,
  11433. columnNumber: 9
  11434. }
  11435. }, toggleLabel)), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Dropdown.Menu, {
  11436. role: menuRole,
  11437. renderOnMount: renderMenuOnMount,
  11438. rootCloseEvent: rootCloseEvent,
  11439. __self: SplitButton_this,
  11440. __source: {
  11441. fileName: SplitButton_jsxFileName,
  11442. lineNumber: 110,
  11443. columnNumber: 7
  11444. }
  11445. }, children));
  11446. });
  11447. SplitButton.propTypes = SplitButton_propTypes;
  11448. SplitButton.defaultProps = SplitButton_defaultProps;
  11449. SplitButton.displayName = 'SplitButton';
  11450. /* harmony default export */ var src_SplitButton = (SplitButton);
  11451. // CONCATENATED MODULE: ./src/TabContainer.js
  11452. var TabContainer_this = undefined,
  11453. TabContainer_jsxFileName = "/Users/jquense/src/react-bootstrap/src/TabContainer.js";
  11454. /* eslint-disable react/no-unused-prop-types */
  11455. var TabContainer_propTypes = {
  11456. /**
  11457. * HTML id attribute, required if no `generateChildId` prop
  11458. * is specified.
  11459. *
  11460. * @type {string}
  11461. */
  11462. id: function id(props) {
  11463. var error = null;
  11464. if (!props.generateChildId) {
  11465. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  11466. args[_key - 1] = arguments[_key];
  11467. }
  11468. error = prop_types_default.a.string.apply(prop_types_default.a, [props].concat(args));
  11469. if (!error && !props.id) {
  11470. error = new Error('In order to properly initialize Tabs in a way that is accessible ' + 'to assistive technologies (such as screen readers) an `id` or a ' + '`generateChildId` prop to TabContainer is required');
  11471. }
  11472. }
  11473. return error;
  11474. },
  11475. /**
  11476. * Sets a default animation strategy for all children `<TabPane>`s.
  11477. * Defaults to `<Fade>` animation; else, use `false` to disable, or a
  11478. * custom react-transition-group `<Transition/>` component.
  11479. *
  11480. * @type {{Transition | false}}
  11481. * @default {Fade}
  11482. */
  11483. transition: prop_types_default.a.oneOfType([prop_types_default.a.oneOf([false]), prop_types_default.a.elementType]),
  11484. /**
  11485. * Wait until the first "enter" transition to mount tabs (add them to the DOM)
  11486. */
  11487. mountOnEnter: prop_types_default.a.bool,
  11488. /**
  11489. * Unmount tabs (remove it from the DOM) when they are no longer visible
  11490. */
  11491. unmountOnExit: prop_types_default.a.bool,
  11492. /**
  11493. * A function that takes an `eventKey` and `type` and returns a unique id for
  11494. * child tab `<NavItem>`s and `<TabPane>`s. The function _must_ be a pure
  11495. * function, meaning it should always return the _same_ id for the same set
  11496. * of inputs. The default value requires that an `id` to be set for the
  11497. * `<TabContainer>`.
  11498. *
  11499. * The `type` argument will either be `"tab"` or `"pane"`.
  11500. *
  11501. * @defaultValue (eventKey, type) => `${props.id}-${type}-${eventKey}`
  11502. */
  11503. generateChildId: prop_types_default.a.func,
  11504. /**
  11505. * A callback fired when a tab is selected.
  11506. *
  11507. * @controllable activeKey
  11508. */
  11509. onSelect: prop_types_default.a.func,
  11510. /**
  11511. * The `eventKey` of the currently active tab.
  11512. *
  11513. * @controllable onSelect
  11514. */
  11515. activeKey: prop_types_default.a.any
  11516. };
  11517. var TabContainer_TabContainer = function TabContainer(props) {
  11518. var _useUncontrolled = useUncontrolled(props, {
  11519. activeKey: 'onSelect'
  11520. }),
  11521. id = _useUncontrolled.id,
  11522. generateCustomChildId = _useUncontrolled.generateChildId,
  11523. onSelect = _useUncontrolled.onSelect,
  11524. activeKey = _useUncontrolled.activeKey,
  11525. transition = _useUncontrolled.transition,
  11526. mountOnEnter = _useUncontrolled.mountOnEnter,
  11527. unmountOnExit = _useUncontrolled.unmountOnExit,
  11528. children = _useUncontrolled.children;
  11529. var generateChildId = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  11530. return generateCustomChildId || function (key, type) {
  11531. return id ? id + "-" + type + "-" + key : null;
  11532. };
  11533. }, [id, generateCustomChildId]);
  11534. var tabContext = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  11535. return {
  11536. onSelect: onSelect,
  11537. activeKey: activeKey,
  11538. transition: transition,
  11539. mountOnEnter: mountOnEnter,
  11540. unmountOnExit: unmountOnExit,
  11541. getControlledId: function getControlledId(key) {
  11542. return generateChildId(key, 'tabpane');
  11543. },
  11544. getControllerId: function getControllerId(key) {
  11545. return generateChildId(key, 'tab');
  11546. }
  11547. };
  11548. }, [onSelect, activeKey, transition, mountOnEnter, unmountOnExit, generateChildId]);
  11549. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_TabContext.Provider, {
  11550. value: tabContext,
  11551. __self: TabContainer_this,
  11552. __source: {
  11553. fileName: TabContainer_jsxFileName,
  11554. lineNumber: 124,
  11555. columnNumber: 5
  11556. }
  11557. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, {
  11558. value: onSelect,
  11559. __self: TabContainer_this,
  11560. __source: {
  11561. fileName: TabContainer_jsxFileName,
  11562. lineNumber: 125,
  11563. columnNumber: 7
  11564. }
  11565. }, children));
  11566. };
  11567. TabContainer_TabContainer.propTypes = TabContainer_propTypes;
  11568. /* harmony default export */ var src_TabContainer = (TabContainer_TabContainer);
  11569. // CONCATENATED MODULE: ./src/TabContent.js
  11570. var TabContent_this = undefined,
  11571. TabContent_jsxFileName = "/Users/jquense/src/react-bootstrap/src/TabContent.js";
  11572. var TabContent_propTypes = {
  11573. /**
  11574. * @default 'tab-content'
  11575. */
  11576. bsPrefix: prop_types_default.a.string,
  11577. as: prop_types_default.a.elementType
  11578. };
  11579. var TabContent = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  11580. var bsPrefix = _ref.bsPrefix,
  11581. _ref$as = _ref.as,
  11582. Component = _ref$as === void 0 ? 'div' : _ref$as,
  11583. className = _ref.className,
  11584. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "as", "className"]);
  11585. var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'tab-content');
  11586. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({
  11587. ref: ref
  11588. }, props, {
  11589. className: classnames_default()(className, decoratedBsPrefix),
  11590. __self: TabContent_this,
  11591. __source: {
  11592. fileName: TabContent_jsxFileName,
  11593. lineNumber: 29,
  11594. columnNumber: 7
  11595. }
  11596. }));
  11597. });
  11598. TabContent.propTypes = TabContent_propTypes;
  11599. /* harmony default export */ var src_TabContent = (TabContent);
  11600. // CONCATENATED MODULE: ./src/TabPane.js
  11601. var TabPane_this = undefined,
  11602. TabPane_jsxFileName = "/Users/jquense/src/react-bootstrap/src/TabPane.js";
  11603. var TabPane_propTypes = {
  11604. /**
  11605. * @default 'tab-pane'
  11606. */
  11607. bsPrefix: prop_types_default.a.string,
  11608. as: prop_types_default.a.elementType,
  11609. /**
  11610. * A key that associates the `TabPane` with it's controlling `NavLink`.
  11611. */
  11612. eventKey: prop_types_default.a.any,
  11613. /**
  11614. * Toggles the active state of the TabPane, this is generally controlled by a
  11615. * TabContainer.
  11616. */
  11617. active: prop_types_default.a.bool,
  11618. /**
  11619. * Use animation when showing or hiding `<TabPane>`s. Defaults to `<Fade>`
  11620. * animation, else use `false` to disable or a react-transition-group
  11621. * `<Transition/>` component.
  11622. */
  11623. transition: prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.elementType]),
  11624. /**
  11625. *
  11626. * @default 'tab-pane'
  11627. */
  11628. bsClass: prop_types_default.a.string,
  11629. /**
  11630. * Transition onEnter callback when animation is not `false`
  11631. */
  11632. onEnter: prop_types_default.a.func,
  11633. /**
  11634. * Transition onEntering callback when animation is not `false`
  11635. */
  11636. onEntering: prop_types_default.a.func,
  11637. /**
  11638. * Transition onEntered callback when animation is not `false`
  11639. */
  11640. onEntered: prop_types_default.a.func,
  11641. /**
  11642. * Transition onExit callback when animation is not `false`
  11643. */
  11644. onExit: prop_types_default.a.func,
  11645. /**
  11646. * Transition onExiting callback when animation is not `false`
  11647. */
  11648. onExiting: prop_types_default.a.func,
  11649. /**
  11650. * Transition onExited callback when animation is not `false`
  11651. */
  11652. onExited: prop_types_default.a.func,
  11653. /**
  11654. * Wait until the first "enter" transition to mount the tab (add it to the DOM)
  11655. */
  11656. mountOnEnter: prop_types_default.a.bool,
  11657. /**
  11658. * Unmount the tab (remove it from the DOM) when it is no longer visible
  11659. */
  11660. unmountOnExit: prop_types_default.a.bool,
  11661. /** @ignore * */
  11662. id: prop_types_default.a.string,
  11663. /** @ignore * */
  11664. 'aria-labelledby': prop_types_default.a.string
  11665. };
  11666. function useTabContext(props) {
  11667. var context = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_TabContext);
  11668. if (!context) return props;
  11669. var activeKey = context.activeKey,
  11670. getControlledId = context.getControlledId,
  11671. getControllerId = context.getControllerId,
  11672. rest = _objectWithoutPropertiesLoose(context, ["activeKey", "getControlledId", "getControllerId"]);
  11673. var shouldTransition = props.transition !== false && rest.transition !== false;
  11674. var key = makeEventKey(props.eventKey);
  11675. return _extends({}, props, {
  11676. active: props.active == null && key != null ? makeEventKey(activeKey) === key : props.active,
  11677. id: getControlledId(props.eventKey),
  11678. 'aria-labelledby': getControllerId(props.eventKey),
  11679. transition: shouldTransition && (props.transition || rest.transition || src_Fade),
  11680. mountOnEnter: props.mountOnEnter != null ? props.mountOnEnter : rest.mountOnEnter,
  11681. unmountOnExit: props.unmountOnExit != null ? props.unmountOnExit : rest.unmountOnExit
  11682. });
  11683. }
  11684. var TabPane = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  11685. var _useTabContext = useTabContext(props),
  11686. bsPrefix = _useTabContext.bsPrefix,
  11687. className = _useTabContext.className,
  11688. active = _useTabContext.active,
  11689. onEnter = _useTabContext.onEnter,
  11690. onEntering = _useTabContext.onEntering,
  11691. onEntered = _useTabContext.onEntered,
  11692. onExit = _useTabContext.onExit,
  11693. onExiting = _useTabContext.onExiting,
  11694. onExited = _useTabContext.onExited,
  11695. mountOnEnter = _useTabContext.mountOnEnter,
  11696. unmountOnExit = _useTabContext.unmountOnExit,
  11697. Transition = _useTabContext.transition,
  11698. _useTabContext$as = _useTabContext.as,
  11699. Component = _useTabContext$as === void 0 ? 'div' : _useTabContext$as,
  11700. _ = _useTabContext.eventKey,
  11701. rest = _objectWithoutPropertiesLoose(_useTabContext, ["bsPrefix", "className", "active", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "mountOnEnter", "unmountOnExit", "transition", "as", "eventKey"]);
  11702. var prefix = useBootstrapPrefix(bsPrefix, 'tab-pane');
  11703. if (!active && !Transition && unmountOnExit) return null;
  11704. var pane = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Component, _extends({}, rest, {
  11705. ref: ref,
  11706. role: "tabpanel",
  11707. "aria-hidden": !active,
  11708. className: classnames_default()(className, prefix, {
  11709. active: active
  11710. }),
  11711. __self: TabPane_this,
  11712. __source: {
  11713. fileName: TabPane_jsxFileName,
  11714. lineNumber: 142,
  11715. columnNumber: 5
  11716. }
  11717. }));
  11718. if (Transition) pane = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Transition, {
  11719. in: active,
  11720. onEnter: onEnter,
  11721. onEntering: onEntering,
  11722. onEntered: onEntered,
  11723. onExit: onExit,
  11724. onExiting: onExiting,
  11725. onExited: onExited,
  11726. mountOnEnter: mountOnEnter,
  11727. unmountOnExit: unmountOnExit,
  11728. __self: TabPane_this,
  11729. __source: {
  11730. fileName: TabPane_jsxFileName,
  11731. lineNumber: 153,
  11732. columnNumber: 7
  11733. }
  11734. }, pane); // We provide an empty the TabContext so `<Nav>`s in `<TabPane>`s don't
  11735. // conflict with the top level one.
  11736. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_TabContext.Provider, {
  11737. value: null,
  11738. __self: TabPane_this,
  11739. __source: {
  11740. fileName: TabPane_jsxFileName,
  11741. lineNumber: 171,
  11742. columnNumber: 5
  11743. }
  11744. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_SelectableContext.Provider, {
  11745. value: null,
  11746. __self: TabPane_this,
  11747. __source: {
  11748. fileName: TabPane_jsxFileName,
  11749. lineNumber: 172,
  11750. columnNumber: 7
  11751. }
  11752. }, pane));
  11753. });
  11754. TabPane.displayName = 'TabPane';
  11755. TabPane.propTypes = TabPane_propTypes;
  11756. /* harmony default export */ var src_TabPane = (TabPane);
  11757. // CONCATENATED MODULE: ./src/Tab.js
  11758. /* eslint-disable react/require-render-return, react/no-unused-prop-types */
  11759. var Tab_Tab = /*#__PURE__*/function (_React$Component) {
  11760. _inheritsLoose(Tab, _React$Component);
  11761. function Tab() {
  11762. return _React$Component.apply(this, arguments) || this;
  11763. }
  11764. var _proto = Tab.prototype;
  11765. _proto.render = function render() {
  11766. throw new Error('ReactBootstrap: The `Tab` component is not meant to be rendered! ' + "It's an abstract component that is only valid as a direct Child of the `Tabs` Component. " + 'For custom tabs components use TabPane and TabsContainer directly');
  11767. };
  11768. return Tab;
  11769. }(external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.Component);
  11770. Tab_Tab.propTypes = {
  11771. title: prop_types_default.a.node.isRequired
  11772. };
  11773. Tab_Tab.Container = src_TabContainer;
  11774. Tab_Tab.Content = src_TabContent;
  11775. Tab_Tab.Pane = src_TabPane;
  11776. /* harmony default export */ var src_Tab = (Tab_Tab);
  11777. // CONCATENATED MODULE: ./src/Table.js
  11778. var Table_this = undefined,
  11779. Table_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Table.js";
  11780. var Table_propTypes = {
  11781. /**
  11782. * @default 'table'
  11783. */
  11784. bsPrefix: prop_types_default.a.string,
  11785. /**
  11786. * Adds zebra-striping to any table row within the `<tbody>`.
  11787. */
  11788. striped: prop_types_default.a.bool,
  11789. /**
  11790. * Adds borders on all sides of the table and cells.
  11791. */
  11792. bordered: prop_types_default.a.bool,
  11793. /**
  11794. * Removes all borders on the table and cells, including table header.
  11795. */
  11796. borderless: prop_types_default.a.bool,
  11797. /**
  11798. * Enable a hover state on table rows within a `<tbody>`.
  11799. */
  11800. hover: prop_types_default.a.bool,
  11801. /**
  11802. * Make tables more compact by cutting cell padding in half by setting
  11803. * size as `sm`.
  11804. */
  11805. size: prop_types_default.a.string,
  11806. /**
  11807. * Invert the colors of the table — with light text on dark backgrounds
  11808. * by setting variant as `dark`.
  11809. */
  11810. variant: prop_types_default.a.string,
  11811. /**
  11812. * Responsive tables allow tables to be scrolled horizontally with ease.
  11813. * Across every breakpoint, use `responsive` for horizontally
  11814. * scrolling tables. Responsive tables are wrapped automatically in a `div`.
  11815. * Use `responsive="sm"`, `responsive="md"`, `responsive="lg"`, or
  11816. * `responsive="xl"` as needed to create responsive tables up to
  11817. * a particular breakpoint. From that breakpoint and up, the table will
  11818. * behave normally and not scroll horizontally.
  11819. */
  11820. responsive: prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.string])
  11821. };
  11822. var Table = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  11823. var bsPrefix = _ref.bsPrefix,
  11824. className = _ref.className,
  11825. striped = _ref.striped,
  11826. bordered = _ref.bordered,
  11827. borderless = _ref.borderless,
  11828. hover = _ref.hover,
  11829. size = _ref.size,
  11830. variant = _ref.variant,
  11831. responsive = _ref.responsive,
  11832. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "striped", "bordered", "borderless", "hover", "size", "variant", "responsive"]);
  11833. var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'table');
  11834. var classes = classnames_default()(className, decoratedBsPrefix, variant && decoratedBsPrefix + "-" + variant, size && decoratedBsPrefix + "-" + size, striped && decoratedBsPrefix + "-striped", bordered && decoratedBsPrefix + "-bordered", borderless && decoratedBsPrefix + "-borderless", hover && decoratedBsPrefix + "-hover");
  11835. var table = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("table", _extends({}, props, {
  11836. className: classes,
  11837. ref: ref,
  11838. __self: Table_this,
  11839. __source: {
  11840. fileName: Table_jsxFileName,
  11841. lineNumber: 84,
  11842. columnNumber: 19
  11843. }
  11844. }));
  11845. if (responsive) {
  11846. var responsiveClass = decoratedBsPrefix + "-responsive";
  11847. if (typeof responsive === 'string') {
  11848. responsiveClass = responsiveClass + "-" + responsive;
  11849. }
  11850. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  11851. className: responsiveClass,
  11852. __self: Table_this,
  11853. __source: {
  11854. fileName: Table_jsxFileName,
  11855. lineNumber: 91,
  11856. columnNumber: 14
  11857. }
  11858. }, table);
  11859. }
  11860. return table;
  11861. });
  11862. Table.propTypes = Table_propTypes;
  11863. /* harmony default export */ var src_Table = (Table);
  11864. // CONCATENATED MODULE: ./src/Tabs.js
  11865. var Tabs_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Tabs.js",
  11866. Tabs_this = undefined;
  11867. var Tabs_propTypes = {
  11868. /**
  11869. * Mark the Tab with a matching `eventKey` as active.
  11870. *
  11871. * @controllable onSelect
  11872. */
  11873. activeKey: prop_types_default.a.any,
  11874. /** The default active key that is selected on start */
  11875. defaultActiveKey: prop_types_default.a.any,
  11876. /**
  11877. * Navigation style
  11878. *
  11879. * @type {('tabs'| 'pills')}
  11880. */
  11881. variant: prop_types_default.a.string,
  11882. /**
  11883. * Sets a default animation strategy for all children `<TabPane>`s.
  11884. * Defaults to `<Fade>` animation, else use `false` to disable or a
  11885. * react-transition-group `<Transition/>` component.
  11886. *
  11887. * @type {Transition | false}
  11888. * @default {Fade}
  11889. */
  11890. transition: prop_types_default.a.oneOfType([prop_types_default.a.oneOf([false]), prop_types_default.a.elementType]),
  11891. /**
  11892. * HTML id attribute, required if no `generateChildId` prop
  11893. * is specified.
  11894. *
  11895. * @type {string}
  11896. */
  11897. id: isRequiredForA11y_default()(prop_types_default.a.string),
  11898. /**
  11899. * Callback fired when a Tab is selected.
  11900. *
  11901. * ```js
  11902. * function (
  11903. * Any eventKey,
  11904. * SyntheticEvent event?
  11905. * )
  11906. * ```
  11907. *
  11908. * @controllable activeKey
  11909. */
  11910. onSelect: prop_types_default.a.func,
  11911. /**
  11912. * Wait until the first "enter" transition to mount tabs (add them to the DOM)
  11913. */
  11914. mountOnEnter: prop_types_default.a.bool,
  11915. /**
  11916. * Unmount tabs (remove it from the DOM) when it is no longer visible
  11917. */
  11918. unmountOnExit: prop_types_default.a.bool
  11919. };
  11920. var Tabs_defaultProps = {
  11921. variant: 'tabs',
  11922. mountOnEnter: false,
  11923. unmountOnExit: false
  11924. };
  11925. function getDefaultActiveKey(children) {
  11926. var defaultActiveKey;
  11927. forEach(children, function (child) {
  11928. if (defaultActiveKey == null) {
  11929. defaultActiveKey = child.props.eventKey;
  11930. }
  11931. });
  11932. return defaultActiveKey;
  11933. }
  11934. function renderTab(child) {
  11935. var _child$props = child.props,
  11936. title = _child$props.title,
  11937. eventKey = _child$props.eventKey,
  11938. disabled = _child$props.disabled,
  11939. tabClassName = _child$props.tabClassName,
  11940. id = _child$props.id;
  11941. if (title == null) {
  11942. return null;
  11943. }
  11944. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_NavItem, {
  11945. as: src_NavLink,
  11946. eventKey: eventKey,
  11947. disabled: disabled,
  11948. id: id,
  11949. className: tabClassName,
  11950. __self: this,
  11951. __source: {
  11952. fileName: Tabs_jsxFileName,
  11953. lineNumber: 103,
  11954. columnNumber: 5
  11955. }
  11956. }, title);
  11957. }
  11958. var Tabs = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  11959. var _useUncontrolled = useUncontrolled(props, {
  11960. activeKey: 'onSelect'
  11961. }),
  11962. id = _useUncontrolled.id,
  11963. onSelect = _useUncontrolled.onSelect,
  11964. transition = _useUncontrolled.transition,
  11965. mountOnEnter = _useUncontrolled.mountOnEnter,
  11966. unmountOnExit = _useUncontrolled.unmountOnExit,
  11967. children = _useUncontrolled.children,
  11968. _useUncontrolled$acti = _useUncontrolled.activeKey,
  11969. activeKey = _useUncontrolled$acti === void 0 ? getDefaultActiveKey(children) : _useUncontrolled$acti,
  11970. controlledProps = _objectWithoutPropertiesLoose(_useUncontrolled, ["id", "onSelect", "transition", "mountOnEnter", "unmountOnExit", "children", "activeKey"]);
  11971. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_TabContainer, {
  11972. ref: ref,
  11973. id: id,
  11974. activeKey: activeKey,
  11975. onSelect: onSelect,
  11976. transition: transition,
  11977. mountOnEnter: mountOnEnter,
  11978. unmountOnExit: unmountOnExit,
  11979. __self: Tabs_this,
  11980. __source: {
  11981. fileName: Tabs_jsxFileName,
  11982. lineNumber: 130,
  11983. columnNumber: 5
  11984. }
  11985. }, /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Nav, _extends({}, controlledProps, {
  11986. role: "tablist",
  11987. as: "nav",
  11988. __self: Tabs_this,
  11989. __source: {
  11990. fileName: Tabs_jsxFileName,
  11991. lineNumber: 139,
  11992. columnNumber: 7
  11993. }
  11994. }), map(children, renderTab)), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_TabContent, {
  11995. __self: Tabs_this,
  11996. __source: {
  11997. fileName: Tabs_jsxFileName,
  11998. lineNumber: 143,
  11999. columnNumber: 7
  12000. }
  12001. }, map(children, function (child) {
  12002. var childProps = _extends({}, child.props);
  12003. delete childProps.title;
  12004. delete childProps.disabled;
  12005. delete childProps.tabClassName;
  12006. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_TabPane, _extends({}, childProps, {
  12007. __self: Tabs_this,
  12008. __source: {
  12009. fileName: Tabs_jsxFileName,
  12010. lineNumber: 151,
  12011. columnNumber: 18
  12012. }
  12013. }));
  12014. })));
  12015. });
  12016. Tabs.propTypes = Tabs_propTypes;
  12017. Tabs.defaultProps = Tabs_defaultProps;
  12018. Tabs.displayName = 'Tabs';
  12019. /* harmony default export */ var src_Tabs = (Tabs);
  12020. // CONCATENATED MODULE: ./src/ToggleButton.js
  12021. var ToggleButton_this = undefined,
  12022. ToggleButton_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ToggleButton.js";
  12023. var ToggleButton_noop = function noop() {};
  12024. var ToggleButton_propTypes = {
  12025. /**
  12026. * The `<input>` element `type`
  12027. */
  12028. type: prop_types_default.a.oneOf(['checkbox', 'radio']),
  12029. /**
  12030. * The HTML input name, used to group like checkboxes or radio buttons together
  12031. * semantically
  12032. */
  12033. name: prop_types_default.a.string,
  12034. /**
  12035. * The checked state of the input, managed by `<ToggleButtonGroup>` automatically
  12036. */
  12037. checked: prop_types_default.a.bool,
  12038. /**
  12039. * The disabled state of both the label and input
  12040. */
  12041. disabled: prop_types_default.a.bool,
  12042. /**
  12043. * A callback fired when the underlying input element changes. This is passed
  12044. * directly to the `<input>` so shares the same signature as a native `onChange` event.
  12045. */
  12046. onChange: prop_types_default.a.func,
  12047. /**
  12048. * The value of the input, should be unique amongst it's siblings when nested in a
  12049. * `ToggleButtonGroup`.
  12050. */
  12051. value: prop_types_default.a.any.isRequired,
  12052. /**
  12053. * A ref attached to the `<input>` element
  12054. * @type {ReactRef}
  12055. */
  12056. inputRef: prop_types_default.a.any
  12057. };
  12058. var ToggleButton = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  12059. var children = _ref.children,
  12060. name = _ref.name,
  12061. className = _ref.className,
  12062. checked = _ref.checked,
  12063. type = _ref.type,
  12064. onChange = _ref.onChange,
  12065. value = _ref.value,
  12066. disabled = _ref.disabled,
  12067. inputRef = _ref.inputRef,
  12068. props = _objectWithoutPropertiesLoose(_ref, ["children", "name", "className", "checked", "type", "onChange", "value", "disabled", "inputRef"]);
  12069. var _useState = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useState"])(false),
  12070. focused = _useState[0],
  12071. setFocused = _useState[1];
  12072. var handleFocus = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (e) {
  12073. if (e.target.tagName === 'INPUT') setFocused(true);
  12074. }, []);
  12075. var handleBlur = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function (e) {
  12076. if (e.target.tagName === 'INPUT') setFocused(false);
  12077. }, []);
  12078. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_Button, _extends({}, props, {
  12079. ref: ref,
  12080. className: classnames_default()(className, focused && 'focus', disabled && 'disabled'),
  12081. type: null,
  12082. active: !!checked,
  12083. as: "label",
  12084. __self: ToggleButton_this,
  12085. __source: {
  12086. fileName: ToggleButton_jsxFileName,
  12087. lineNumber: 77,
  12088. columnNumber: 7
  12089. }
  12090. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("input", {
  12091. name: name,
  12092. type: type,
  12093. value: value,
  12094. ref: inputRef,
  12095. autoComplete: "off",
  12096. checked: !!checked,
  12097. disabled: !!disabled,
  12098. onFocus: handleFocus,
  12099. onBlur: handleBlur,
  12100. onChange: onChange || ToggleButton_noop,
  12101. __self: ToggleButton_this,
  12102. __source: {
  12103. fileName: ToggleButton_jsxFileName,
  12104. lineNumber: 89,
  12105. columnNumber: 9
  12106. }
  12107. }), children);
  12108. });
  12109. ToggleButton.propTypes = ToggleButton_propTypes;
  12110. ToggleButton.displayName = 'ToggleButton';
  12111. /* harmony default export */ var src_ToggleButton = (ToggleButton);
  12112. // CONCATENATED MODULE: ./src/ToggleButtonGroup.js
  12113. var ToggleButtonGroup_this = undefined,
  12114. ToggleButtonGroup_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ToggleButtonGroup.js";
  12115. var ToggleButtonGroup_propTypes = {
  12116. /**
  12117. * An HTML `<input>` name for each child button.
  12118. *
  12119. * __Required if `type` is set to `'radio'`__
  12120. */
  12121. name: prop_types_default.a.string,
  12122. /**
  12123. * The value, or array of values, of the active (pressed) buttons
  12124. *
  12125. * @controllable onChange
  12126. */
  12127. value: prop_types_default.a.any,
  12128. /**
  12129. * Callback fired when a button is pressed, depending on whether the `type`
  12130. * is `'radio'` or `'checkbox'`, `onChange` will be called with the value or
  12131. * array of active values
  12132. *
  12133. * @controllable values
  12134. */
  12135. onChange: prop_types_default.a.func,
  12136. /**
  12137. * The input `type` of the rendered buttons, determines the toggle behavior
  12138. * of the buttons
  12139. */
  12140. type: prop_types_default.a.oneOf(['checkbox', 'radio']).isRequired
  12141. };
  12142. var ToggleButtonGroup_defaultProps = {
  12143. type: 'radio'
  12144. };
  12145. var ToggleButtonGroup = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (props, ref) {
  12146. var _useUncontrolled = useUncontrolled(props, {
  12147. value: 'onChange'
  12148. }),
  12149. children = _useUncontrolled.children,
  12150. type = _useUncontrolled.type,
  12151. name = _useUncontrolled.name,
  12152. value = _useUncontrolled.value,
  12153. onChange = _useUncontrolled.onChange,
  12154. controlledProps = _objectWithoutPropertiesLoose(_useUncontrolled, ["children", "type", "name", "value", "onChange"]);
  12155. var getValues = function getValues() {
  12156. return value == null ? [] : [].concat(value);
  12157. };
  12158. var handleToggle = function handleToggle(inputVal, event) {
  12159. var values = getValues();
  12160. var isActive = values.indexOf(inputVal) !== -1;
  12161. if (type === 'radio') {
  12162. if (!isActive) onChange(inputVal, event);
  12163. return;
  12164. }
  12165. if (isActive) {
  12166. onChange(values.filter(function (n) {
  12167. return n !== inputVal;
  12168. }), event);
  12169. } else {
  12170. onChange([].concat(values, [inputVal]), event);
  12171. }
  12172. };
  12173. !(type !== 'radio' || !!name) ? false ? undefined : browser_default()(false) : void 0;
  12174. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_ButtonGroup, _extends({}, controlledProps, {
  12175. ref: ref,
  12176. toggle: true,
  12177. __self: ToggleButtonGroup_this,
  12178. __source: {
  12179. fileName: ToggleButtonGroup_jsxFileName,
  12180. lineNumber: 86,
  12181. columnNumber: 5
  12182. }
  12183. }), map(children, function (child) {
  12184. var values = getValues();
  12185. var _child$props = child.props,
  12186. childVal = _child$props.value,
  12187. childOnChange = _child$props.onChange;
  12188. var handler = function handler(e) {
  12189. return handleToggle(childVal, e);
  12190. };
  12191. return external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.cloneElement(child, {
  12192. type: type,
  12193. name: child.name || name,
  12194. checked: values.indexOf(childVal) !== -1,
  12195. onChange: src_createChainedFunction(childOnChange, handler)
  12196. });
  12197. }));
  12198. });
  12199. ToggleButtonGroup.propTypes = ToggleButtonGroup_propTypes;
  12200. ToggleButtonGroup.defaultProps = ToggleButtonGroup_defaultProps;
  12201. ToggleButtonGroup.Button = src_ToggleButton;
  12202. /* harmony default export */ var src_ToggleButtonGroup = (ToggleButtonGroup);
  12203. // CONCATENATED MODULE: ./src/Tooltip.js
  12204. var Tooltip_this = undefined,
  12205. Tooltip_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Tooltip.js";
  12206. var Tooltip_propTypes = {
  12207. /**
  12208. * @default 'tooltip'
  12209. */
  12210. bsPrefix: prop_types_default.a.string,
  12211. /**
  12212. * An html id attribute, necessary for accessibility
  12213. * @type {string|number}
  12214. * @required
  12215. */
  12216. id: isRequiredForA11y_default()(prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.number])),
  12217. /**
  12218. * Sets the direction the Tooltip is positioned towards.
  12219. *
  12220. * > This is generally provided by the `Overlay` component positioning the tooltip
  12221. */
  12222. placement: prop_types_default.a.oneOf(['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']),
  12223. /**
  12224. * An Overlay injected set of props for positioning the tooltip arrow.
  12225. *
  12226. * > This is generally provided by the `Overlay` component positioning the tooltip
  12227. *
  12228. * @type {{ ref: ReactRef, style: Object }}
  12229. */
  12230. arrowProps: prop_types_default.a.shape({
  12231. ref: prop_types_default.a.any,
  12232. style: prop_types_default.a.object
  12233. }),
  12234. /** @private */
  12235. popper: prop_types_default.a.object,
  12236. /** @private */
  12237. show: prop_types_default.a.any
  12238. };
  12239. var Tooltip_defaultProps = {
  12240. placement: 'right'
  12241. };
  12242. var Tooltip = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  12243. var bsPrefix = _ref.bsPrefix,
  12244. placement = _ref.placement,
  12245. className = _ref.className,
  12246. style = _ref.style,
  12247. children = _ref.children,
  12248. arrowProps = _ref.arrowProps,
  12249. _ = _ref.popper,
  12250. _2 = _ref.show,
  12251. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "placement", "className", "style", "children", "arrowProps", "popper", "show"]);
  12252. bsPrefix = useBootstrapPrefix(bsPrefix, 'tooltip');
  12253. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({
  12254. ref: ref,
  12255. style: style,
  12256. role: "tooltip",
  12257. "x-placement": placement,
  12258. className: classnames_default()(className, bsPrefix, "bs-tooltip-" + placement)
  12259. }, props, {
  12260. __self: Tooltip_this,
  12261. __source: {
  12262. fileName: Tooltip_jsxFileName,
  12263. lineNumber: 86,
  12264. columnNumber: 7
  12265. }
  12266. }), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({
  12267. className: "arrow"
  12268. }, arrowProps, {
  12269. __self: Tooltip_this,
  12270. __source: {
  12271. fileName: Tooltip_jsxFileName,
  12272. lineNumber: 94,
  12273. columnNumber: 9
  12274. }
  12275. })), /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", {
  12276. className: bsPrefix + "-inner",
  12277. __self: Tooltip_this,
  12278. __source: {
  12279. fileName: Tooltip_jsxFileName,
  12280. lineNumber: 95,
  12281. columnNumber: 9
  12282. }
  12283. }, children));
  12284. });
  12285. Tooltip.propTypes = Tooltip_propTypes;
  12286. Tooltip.defaultProps = Tooltip_defaultProps;
  12287. Tooltip.displayName = 'Tooltip';
  12288. /* harmony default export */ var src_Tooltip = (Tooltip);
  12289. // CONCATENATED MODULE: ./src/ToastContext.js
  12290. var ToastContext = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createContext({
  12291. onClose: function onClose() {}
  12292. });
  12293. /* harmony default export */ var src_ToastContext = (ToastContext);
  12294. // CONCATENATED MODULE: ./src/ToastHeader.js
  12295. var ToastHeader_this = undefined,
  12296. ToastHeader_jsxFileName = "/Users/jquense/src/react-bootstrap/src/ToastHeader.js";
  12297. var ToastHeader_propTypes = {
  12298. bsPrefix: prop_types_default.a.string,
  12299. /**
  12300. * Provides an accessible label for the close
  12301. * button. It is used for Assistive Technology when the label text is not
  12302. * readable.
  12303. */
  12304. closeLabel: prop_types_default.a.string,
  12305. /**
  12306. * Specify whether the Component should contain a close button
  12307. */
  12308. closeButton: prop_types_default.a.bool
  12309. };
  12310. var ToastHeader_defaultProps = {
  12311. closeLabel: 'Close',
  12312. closeButton: true
  12313. };
  12314. var ToastHeader = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  12315. var bsPrefix = _ref.bsPrefix,
  12316. closeLabel = _ref.closeLabel,
  12317. closeButton = _ref.closeButton,
  12318. className = _ref.className,
  12319. children = _ref.children,
  12320. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "closeLabel", "closeButton", "className", "children"]);
  12321. bsPrefix = useBootstrapPrefix(bsPrefix, 'toast-header');
  12322. var context = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useContext"])(src_ToastContext);
  12323. var handleClick = useEventCallback(function (e) {
  12324. if (context && context.onClose) {
  12325. context.onClose(e);
  12326. }
  12327. });
  12328. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({
  12329. ref: ref
  12330. }, props, {
  12331. className: classnames_default()(bsPrefix, className),
  12332. __self: ToastHeader_this,
  12333. __source: {
  12334. fileName: ToastHeader_jsxFileName,
  12335. lineNumber: 47,
  12336. columnNumber: 7
  12337. }
  12338. }), children, closeButton && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_CloseButton, {
  12339. label: closeLabel,
  12340. onClick: handleClick,
  12341. className: "ml-2 mb-1",
  12342. "data-dismiss": "toast",
  12343. __self: ToastHeader_this,
  12344. __source: {
  12345. fileName: ToastHeader_jsxFileName,
  12346. lineNumber: 51,
  12347. columnNumber: 11
  12348. }
  12349. }));
  12350. });
  12351. ToastHeader.displayName = 'ToastHeader';
  12352. ToastHeader.propTypes = ToastHeader_propTypes;
  12353. ToastHeader.defaultProps = ToastHeader_defaultProps;
  12354. /* harmony default export */ var src_ToastHeader = (ToastHeader);
  12355. // CONCATENATED MODULE: ./src/ToastBody.js
  12356. /* harmony default export */ var ToastBody = (createWithBsPrefix('toast-body'));
  12357. // CONCATENATED MODULE: ./src/Toast.js
  12358. var Toast_this = undefined,
  12359. Toast_jsxFileName = "/Users/jquense/src/react-bootstrap/src/Toast.js";
  12360. var Toast_propTypes = {
  12361. /**
  12362. * @default 'toast'
  12363. */
  12364. bsPrefix: prop_types_default.a.string,
  12365. /**
  12366. * Apply a CSS fade transition to the toast
  12367. */
  12368. animation: prop_types_default.a.bool,
  12369. /**
  12370. * Auto hide the toast
  12371. */
  12372. autohide: prop_types_default.a.bool,
  12373. /**
  12374. * Delay hiding the toast (ms)
  12375. */
  12376. delay: prop_types_default.a.number,
  12377. /**
  12378. * A Callback fired when the close button is clicked.
  12379. */
  12380. onClose: prop_types_default.a.func,
  12381. /**
  12382. * When `true` The modal will show itself.
  12383. */
  12384. show: prop_types_default.a.bool,
  12385. /**
  12386. * A `react-transition-group` Transition component used to animate the Toast on dismissal.
  12387. */
  12388. transition: prop_types_default.a.elementType
  12389. };
  12390. var Toast_defaultProps = {
  12391. animation: true,
  12392. autohide: false,
  12393. delay: 3000,
  12394. show: true,
  12395. transition: src_Fade
  12396. };
  12397. var Toast = external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.forwardRef(function (_ref, ref) {
  12398. var bsPrefix = _ref.bsPrefix,
  12399. className = _ref.className,
  12400. children = _ref.children,
  12401. Transition = _ref.transition,
  12402. show = _ref.show,
  12403. animation = _ref.animation,
  12404. delay = _ref.delay,
  12405. autohide = _ref.autohide,
  12406. onClose = _ref.onClose,
  12407. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "children", "transition", "show", "animation", "delay", "autohide", "onClose"]);
  12408. bsPrefix = useBootstrapPrefix('toast');
  12409. var delayRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(delay);
  12410. var onCloseRef = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useRef"])(onClose);
  12411. Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useEffect"])(function () {
  12412. // We use refs for these, because we don't want to restart the autohide
  12413. // timer in case these values change.
  12414. delayRef.current = delay;
  12415. onCloseRef.current = onClose;
  12416. }, [delay, onClose]);
  12417. var autohideTimeout = useTimeout();
  12418. var autohideFunc = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useCallback"])(function () {
  12419. if (!(autohide && show)) {
  12420. return;
  12421. }
  12422. onCloseRef.current();
  12423. }, [autohide, show]);
  12424. autohideTimeout.set(autohideFunc, delayRef.current);
  12425. var hasAnimation = Object(external_root_React_commonjs2_react_commonjs_react_amd_react_["useMemo"])(function () {
  12426. return Transition && animation;
  12427. }, [Transition, animation]);
  12428. var toast = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement("div", _extends({}, props, {
  12429. ref: ref,
  12430. className: classnames_default()(bsPrefix, className, !hasAnimation && (show ? 'show' : 'hide')),
  12431. role: "alert",
  12432. "aria-live": "assertive",
  12433. "aria-atomic": "true",
  12434. __self: Toast_this,
  12435. __source: {
  12436. fileName: Toast_jsxFileName,
  12437. lineNumber: 100,
  12438. columnNumber: 7
  12439. }
  12440. }), children);
  12441. var toastContext = {
  12442. onClose: onClose
  12443. };
  12444. return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(src_ToastContext.Provider, {
  12445. value: toastContext,
  12446. __self: Toast_this,
  12447. __source: {
  12448. fileName: Toast_jsxFileName,
  12449. lineNumber: 121,
  12450. columnNumber: 7
  12451. }
  12452. }, hasAnimation ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default.a.createElement(Transition, {
  12453. in: show,
  12454. unmountOnExit: true,
  12455. __self: Toast_this,
  12456. __source: {
  12457. fileName: Toast_jsxFileName,
  12458. lineNumber: 123,
  12459. columnNumber: 11
  12460. }
  12461. }, toast) : toast);
  12462. });
  12463. Toast.propTypes = Toast_propTypes;
  12464. Toast.defaultProps = Toast_defaultProps;
  12465. Toast.displayName = 'Toast';
  12466. Toast.Body = ToastBody;
  12467. Toast.Header = src_ToastHeader;
  12468. /* harmony default export */ var src_Toast = (Toast);
  12469. // CONCATENATED MODULE: ./src/index.js
  12470. /***/ })
  12471. /******/ ]);
  12472. });