pollination-react-io 0.0.46 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.js CHANGED
@@ -21572,11 +21572,11 @@ var basePath = process.env.REACT_APP_API_BASE_PATH || 'https://api.pollination.c
21572
21572
  var useAPIClient = function (config) {
21573
21573
  var _a = React.useState(), authUser = _a[0], setAuthUser = _a[1];
21574
21574
  var _b = React.useState(false), loading = _b[0], setLoading = _b[1];
21575
- var client = React.useRef(new APIClient(__assign$3(__assign$3({}, config), { basePath: basePath })));
21575
+ var client = React.useRef(new APIClient(__assign$3({ basePath: basePath }, config)));
21576
21576
  React.useEffect(function () {
21577
21577
  if (!config)
21578
21578
  return;
21579
- client.current = new APIClient(__assign$3(__assign$3({}, config), { basePath: basePath }));
21579
+ client.current = new APIClient(__assign$3({ basePath: basePath }, config));
21580
21580
  setLoading(true);
21581
21581
  client.current.user.getMe()
21582
21582
  .then(function (_a) {
@@ -28455,2544 +28455,2544 @@ process.env.NODE_ENV !== "production" ? '__function_set_selected_items__' : 10;
28455
28455
  process.env.NODE_ENV !== "production" ? '__function_set_active_index__' : 11;
28456
28456
  process.env.NODE_ENV !== "production" ? '__function_reset__' : 12;
28457
28457
 
28458
- var _excluded$c = ["color", "size", "title"];
28458
+ /*!
28459
+ * perfect-scrollbar v1.5.3
28460
+ * Copyright 2021 Hyunje Jun, MDBootstrap and Contributors
28461
+ * Licensed under MIT
28462
+ */
28459
28463
 
28460
- function _extends$b() { _extends$b = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$b.apply(this, arguments); }
28464
+ function get(element) {
28465
+ return getComputedStyle(element);
28466
+ }
28461
28467
 
28462
- function _objectWithoutProperties$c(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$c(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28468
+ function set(element, obj) {
28469
+ for (var key in obj) {
28470
+ var val = obj[key];
28471
+ if (typeof val === 'number') {
28472
+ val = val + "px";
28473
+ }
28474
+ element.style[key] = val;
28475
+ }
28476
+ return element;
28477
+ }
28463
28478
 
28464
- function _objectWithoutPropertiesLoose$c(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28465
- var ArrowClockwise = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28466
- var color = _ref.color,
28467
- size = _ref.size,
28468
- title = _ref.title,
28469
- rest = _objectWithoutProperties$c(_ref, _excluded$c);
28479
+ function div(className) {
28480
+ var div = document.createElement('div');
28481
+ div.className = className;
28482
+ return div;
28483
+ }
28470
28484
 
28471
- return /*#__PURE__*/React__default["default"].createElement("svg", _extends$b({
28472
- ref: ref,
28473
- xmlns: "http://www.w3.org/2000/svg",
28474
- viewBox: "0 0 16 16",
28475
- width: size,
28476
- height: size,
28477
- fill: color
28478
- }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
28479
- fillRule: "evenodd",
28480
- d: "M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z"
28481
- }), /*#__PURE__*/React__default["default"].createElement("path", {
28482
- d: "M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z"
28483
- }));
28484
- });
28485
- ArrowClockwise.propTypes = {
28486
- color: propTypes.string,
28487
- size: propTypes.oneOfType([propTypes.string, propTypes.number]),
28488
- title: propTypes.string
28489
- };
28490
- ArrowClockwise.defaultProps = {
28491
- color: 'currentColor',
28492
- size: '1em',
28493
- title: null
28494
- };
28495
- var ArrowClockwise$1 = ArrowClockwise;
28485
+ var elMatches =
28486
+ typeof Element !== 'undefined' &&
28487
+ (Element.prototype.matches ||
28488
+ Element.prototype.webkitMatchesSelector ||
28489
+ Element.prototype.mozMatchesSelector ||
28490
+ Element.prototype.msMatchesSelector);
28496
28491
 
28497
- var _excluded$b = ["color", "size", "title"];
28492
+ function matches(element, query) {
28493
+ if (!elMatches) {
28494
+ throw new Error('No element matching method supported');
28495
+ }
28498
28496
 
28499
- function _extends$a() { _extends$a = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$a.apply(this, arguments); }
28497
+ return elMatches.call(element, query);
28498
+ }
28500
28499
 
28501
- function _objectWithoutProperties$b(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$b(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28500
+ function remove(element) {
28501
+ if (element.remove) {
28502
+ element.remove();
28503
+ } else {
28504
+ if (element.parentNode) {
28505
+ element.parentNode.removeChild(element);
28506
+ }
28507
+ }
28508
+ }
28502
28509
 
28503
- function _objectWithoutPropertiesLoose$b(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28504
- var ArrowDown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28505
- var color = _ref.color,
28506
- size = _ref.size,
28507
- title = _ref.title,
28508
- rest = _objectWithoutProperties$b(_ref, _excluded$b);
28510
+ function queryChildren(element, selector) {
28511
+ return Array.prototype.filter.call(element.children, function (child) { return matches(child, selector); }
28512
+ );
28513
+ }
28509
28514
 
28510
- return /*#__PURE__*/React__default["default"].createElement("svg", _extends$a({
28511
- ref: ref,
28512
- xmlns: "http://www.w3.org/2000/svg",
28513
- viewBox: "0 0 16 16",
28514
- width: size,
28515
- height: size,
28516
- fill: color
28517
- }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
28518
- fillRule: "evenodd",
28519
- d: "M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z"
28520
- }));
28521
- });
28522
- ArrowDown.propTypes = {
28523
- color: propTypes.string,
28524
- size: propTypes.oneOfType([propTypes.string, propTypes.number]),
28525
- title: propTypes.string
28526
- };
28527
- ArrowDown.defaultProps = {
28528
- color: 'currentColor',
28529
- size: '1em',
28530
- title: null
28515
+ var cls = {
28516
+ main: 'ps',
28517
+ rtl: 'ps__rtl',
28518
+ element: {
28519
+ thumb: function (x) { return ("ps__thumb-" + x); },
28520
+ rail: function (x) { return ("ps__rail-" + x); },
28521
+ consuming: 'ps__child--consume',
28522
+ },
28523
+ state: {
28524
+ focus: 'ps--focus',
28525
+ clicking: 'ps--clicking',
28526
+ active: function (x) { return ("ps--active-" + x); },
28527
+ scrolling: function (x) { return ("ps--scrolling-" + x); },
28528
+ },
28531
28529
  };
28532
- var ArrowDown$1 = ArrowDown;
28533
28530
 
28534
- var _excluded$a = ["color", "size", "title"];
28531
+ /*
28532
+ * Helper methods
28533
+ */
28534
+ var scrollingClassTimeout = { x: null, y: null };
28535
28535
 
28536
- function _extends$9() { _extends$9 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); }
28536
+ function addScrollingClass(i, x) {
28537
+ var classList = i.element.classList;
28538
+ var className = cls.state.scrolling(x);
28537
28539
 
28538
- function _objectWithoutProperties$a(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$a(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28540
+ if (classList.contains(className)) {
28541
+ clearTimeout(scrollingClassTimeout[x]);
28542
+ } else {
28543
+ classList.add(className);
28544
+ }
28545
+ }
28539
28546
 
28540
- function _objectWithoutPropertiesLoose$a(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28541
- var ArrowRepeat = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28542
- var color = _ref.color,
28543
- size = _ref.size,
28544
- title = _ref.title,
28545
- rest = _objectWithoutProperties$a(_ref, _excluded$a);
28547
+ function removeScrollingClass(i, x) {
28548
+ scrollingClassTimeout[x] = setTimeout(
28549
+ function () { return i.isAlive && i.element.classList.remove(cls.state.scrolling(x)); },
28550
+ i.settings.scrollingThreshold
28551
+ );
28552
+ }
28546
28553
 
28547
- return /*#__PURE__*/React__default["default"].createElement("svg", _extends$9({
28548
- ref: ref,
28549
- xmlns: "http://www.w3.org/2000/svg",
28550
- viewBox: "0 0 16 16",
28551
- width: size,
28552
- height: size,
28553
- fill: color
28554
- }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
28555
- d: "M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41zm-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9z"
28556
- }), /*#__PURE__*/React__default["default"].createElement("path", {
28557
- fillRule: "evenodd",
28558
- d: "M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5.002 5.002 0 0 0 8 3zM3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9H3.1z"
28559
- }));
28560
- });
28561
- ArrowRepeat.propTypes = {
28562
- color: propTypes.string,
28563
- size: propTypes.oneOfType([propTypes.string, propTypes.number]),
28564
- title: propTypes.string
28565
- };
28566
- ArrowRepeat.defaultProps = {
28567
- color: 'currentColor',
28568
- size: '1em',
28569
- title: null
28570
- };
28571
- var ArrowRepeat$1 = ArrowRepeat;
28554
+ function setScrollingClassInstantly(i, x) {
28555
+ addScrollingClass(i, x);
28556
+ removeScrollingClass(i, x);
28557
+ }
28572
28558
 
28573
- var _excluded$9 = ["color", "size", "title"];
28559
+ var EventElement = function EventElement(element) {
28560
+ this.element = element;
28561
+ this.handlers = {};
28562
+ };
28574
28563
 
28575
- function _extends$8() { _extends$8 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$8.apply(this, arguments); }
28564
+ var prototypeAccessors = { isEmpty: { configurable: true } };
28576
28565
 
28577
- function _objectWithoutProperties$9(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$9(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28566
+ EventElement.prototype.bind = function bind (eventName, handler) {
28567
+ if (typeof this.handlers[eventName] === 'undefined') {
28568
+ this.handlers[eventName] = [];
28569
+ }
28570
+ this.handlers[eventName].push(handler);
28571
+ this.element.addEventListener(eventName, handler, false);
28572
+ };
28578
28573
 
28579
- function _objectWithoutPropertiesLoose$9(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28580
- var BoundingBox = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28581
- var color = _ref.color,
28582
- size = _ref.size,
28583
- title = _ref.title,
28584
- rest = _objectWithoutProperties$9(_ref, _excluded$9);
28574
+ EventElement.prototype.unbind = function unbind (eventName, target) {
28575
+ var this$1$1 = this;
28585
28576
 
28586
- return /*#__PURE__*/React__default["default"].createElement("svg", _extends$8({
28587
- ref: ref,
28588
- xmlns: "http://www.w3.org/2000/svg",
28589
- viewBox: "0 0 16 16",
28590
- width: size,
28591
- height: size,
28592
- fill: color
28593
- }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
28594
- d: "M5 2V0H0v5h2v6H0v5h5v-2h6v2h5v-5h-2V5h2V0h-5v2H5zm6 1v2h2v6h-2v2H5v-2H3V5h2V3h6zm1-2h3v3h-3V1zm3 11v3h-3v-3h3zM4 15H1v-3h3v3zM1 4V1h3v3H1z"
28595
- }));
28596
- });
28597
- BoundingBox.propTypes = {
28598
- color: propTypes.string,
28599
- size: propTypes.oneOfType([propTypes.string, propTypes.number]),
28600
- title: propTypes.string
28601
- };
28602
- BoundingBox.defaultProps = {
28603
- color: 'currentColor',
28604
- size: '1em',
28605
- title: null
28577
+ this.handlers[eventName] = this.handlers[eventName].filter(function (handler) {
28578
+ if (target && handler !== target) {
28579
+ return true;
28580
+ }
28581
+ this$1$1.element.removeEventListener(eventName, handler, false);
28582
+ return false;
28583
+ });
28606
28584
  };
28607
- var BoundingBox$1 = BoundingBox;
28608
28585
 
28609
- var _excluded$8 = ["color", "size", "title"];
28586
+ EventElement.prototype.unbindAll = function unbindAll () {
28587
+ for (var name in this.handlers) {
28588
+ this.unbind(name);
28589
+ }
28590
+ };
28610
28591
 
28611
- function _extends$7() { _extends$7 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$7.apply(this, arguments); }
28592
+ prototypeAccessors.isEmpty.get = function () {
28593
+ var this$1$1 = this;
28612
28594
 
28613
- function _objectWithoutProperties$8(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$8(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28595
+ return Object.keys(this.handlers).every(
28596
+ function (key) { return this$1$1.handlers[key].length === 0; }
28597
+ );
28598
+ };
28614
28599
 
28615
- function _objectWithoutPropertiesLoose$8(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28616
- var BoxArrowInLeft = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28617
- var color = _ref.color,
28618
- size = _ref.size,
28619
- title = _ref.title,
28620
- rest = _objectWithoutProperties$8(_ref, _excluded$8);
28600
+ Object.defineProperties( EventElement.prototype, prototypeAccessors );
28621
28601
 
28622
- return /*#__PURE__*/React__default["default"].createElement("svg", _extends$7({
28623
- ref: ref,
28624
- xmlns: "http://www.w3.org/2000/svg",
28625
- viewBox: "0 0 16 16",
28626
- width: size,
28627
- height: size,
28628
- fill: color
28629
- }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
28630
- fillRule: "evenodd",
28631
- d: "M10 3.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 1 1 0v2A1.5 1.5 0 0 1 9.5 14h-8A1.5 1.5 0 0 1 0 12.5v-9A1.5 1.5 0 0 1 1.5 2h8A1.5 1.5 0 0 1 11 3.5v2a.5.5 0 0 1-1 0v-2z"
28632
- }), /*#__PURE__*/React__default["default"].createElement("path", {
28633
- fillRule: "evenodd",
28634
- d: "M4.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H14.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z"
28635
- }));
28636
- });
28637
- BoxArrowInLeft.propTypes = {
28638
- color: propTypes.string,
28639
- size: propTypes.oneOfType([propTypes.string, propTypes.number]),
28640
- title: propTypes.string
28641
- };
28642
- BoxArrowInLeft.defaultProps = {
28643
- color: 'currentColor',
28644
- size: '1em',
28645
- title: null
28602
+ var EventManager = function EventManager() {
28603
+ this.eventElements = [];
28646
28604
  };
28647
- var BoxArrowInLeft$1 = BoxArrowInLeft;
28648
28605
 
28649
- var _excluded$7 = ["color", "size", "title"];
28606
+ EventManager.prototype.eventElement = function eventElement (element) {
28607
+ var ee = this.eventElements.filter(function (ee) { return ee.element === element; })[0];
28608
+ if (!ee) {
28609
+ ee = new EventElement(element);
28610
+ this.eventElements.push(ee);
28611
+ }
28612
+ return ee;
28613
+ };
28650
28614
 
28651
- function _extends$6() { _extends$6 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$6.apply(this, arguments); }
28615
+ EventManager.prototype.bind = function bind (element, eventName, handler) {
28616
+ this.eventElement(element).bind(eventName, handler);
28617
+ };
28652
28618
 
28653
- function _objectWithoutProperties$7(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$7(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28619
+ EventManager.prototype.unbind = function unbind (element, eventName, handler) {
28620
+ var ee = this.eventElement(element);
28621
+ ee.unbind(eventName, handler);
28654
28622
 
28655
- function _objectWithoutPropertiesLoose$7(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28656
- var CaretDownFill = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28657
- var color = _ref.color,
28658
- size = _ref.size,
28659
- title = _ref.title,
28660
- rest = _objectWithoutProperties$7(_ref, _excluded$7);
28623
+ if (ee.isEmpty) {
28624
+ // remove
28625
+ this.eventElements.splice(this.eventElements.indexOf(ee), 1);
28626
+ }
28627
+ };
28661
28628
 
28662
- return /*#__PURE__*/React__default["default"].createElement("svg", _extends$6({
28663
- ref: ref,
28664
- xmlns: "http://www.w3.org/2000/svg",
28665
- viewBox: "0 0 16 16",
28666
- width: size,
28667
- height: size,
28668
- fill: color
28669
- }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
28670
- d: "M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z"
28671
- }));
28672
- });
28673
- CaretDownFill.propTypes = {
28674
- color: propTypes.string,
28675
- size: propTypes.oneOfType([propTypes.string, propTypes.number]),
28676
- title: propTypes.string
28629
+ EventManager.prototype.unbindAll = function unbindAll () {
28630
+ this.eventElements.forEach(function (e) { return e.unbindAll(); });
28631
+ this.eventElements = [];
28677
28632
  };
28678
- CaretDownFill.defaultProps = {
28679
- color: 'currentColor',
28680
- size: '1em',
28681
- title: null
28633
+
28634
+ EventManager.prototype.once = function once (element, eventName, handler) {
28635
+ var ee = this.eventElement(element);
28636
+ var onceHandler = function (evt) {
28637
+ ee.unbind(eventName, onceHandler);
28638
+ handler(evt);
28639
+ };
28640
+ ee.bind(eventName, onceHandler);
28682
28641
  };
28683
- var CaretDownFill$1 = CaretDownFill;
28684
28642
 
28685
- var _excluded$6 = ["color", "size", "title"];
28643
+ function createEvent(name) {
28644
+ if (typeof window.CustomEvent === 'function') {
28645
+ return new CustomEvent(name);
28646
+ } else {
28647
+ var evt = document.createEvent('CustomEvent');
28648
+ evt.initCustomEvent(name, false, false, undefined);
28649
+ return evt;
28650
+ }
28651
+ }
28686
28652
 
28687
- function _extends$5() { _extends$5 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5.apply(this, arguments); }
28653
+ function processScrollDiff(
28654
+ i,
28655
+ axis,
28656
+ diff,
28657
+ useScrollingClass,
28658
+ forceFireReachEvent
28659
+ ) {
28660
+ if ( useScrollingClass === void 0 ) useScrollingClass = true;
28661
+ if ( forceFireReachEvent === void 0 ) forceFireReachEvent = false;
28688
28662
 
28689
- function _objectWithoutProperties$6(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$6(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28663
+ var fields;
28664
+ if (axis === 'top') {
28665
+ fields = [
28666
+ 'contentHeight',
28667
+ 'containerHeight',
28668
+ 'scrollTop',
28669
+ 'y',
28670
+ 'up',
28671
+ 'down' ];
28672
+ } else if (axis === 'left') {
28673
+ fields = [
28674
+ 'contentWidth',
28675
+ 'containerWidth',
28676
+ 'scrollLeft',
28677
+ 'x',
28678
+ 'left',
28679
+ 'right' ];
28680
+ } else {
28681
+ throw new Error('A proper axis should be provided');
28682
+ }
28690
28683
 
28691
- function _objectWithoutPropertiesLoose$6(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28692
- var CheckCircle = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28693
- var color = _ref.color,
28694
- size = _ref.size,
28695
- title = _ref.title,
28696
- rest = _objectWithoutProperties$6(_ref, _excluded$6);
28684
+ processScrollDiff$1(i, diff, fields, useScrollingClass, forceFireReachEvent);
28685
+ }
28697
28686
 
28698
- return /*#__PURE__*/React__default["default"].createElement("svg", _extends$5({
28699
- ref: ref,
28700
- xmlns: "http://www.w3.org/2000/svg",
28701
- viewBox: "0 0 16 16",
28702
- width: size,
28703
- height: size,
28704
- fill: color
28705
- }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
28706
- d: "M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"
28707
- }), /*#__PURE__*/React__default["default"].createElement("path", {
28708
- d: "M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z"
28709
- }));
28710
- });
28711
- CheckCircle.propTypes = {
28712
- color: propTypes.string,
28713
- size: propTypes.oneOfType([propTypes.string, propTypes.number]),
28714
- title: propTypes.string
28715
- };
28716
- CheckCircle.defaultProps = {
28717
- color: 'currentColor',
28718
- size: '1em',
28719
- title: null
28720
- };
28721
- var CheckCircle$1 = CheckCircle;
28687
+ function processScrollDiff$1(
28688
+ i,
28689
+ diff,
28690
+ ref,
28691
+ useScrollingClass,
28692
+ forceFireReachEvent
28693
+ ) {
28694
+ var contentHeight = ref[0];
28695
+ var containerHeight = ref[1];
28696
+ var scrollTop = ref[2];
28697
+ var y = ref[3];
28698
+ var up = ref[4];
28699
+ var down = ref[5];
28700
+ if ( useScrollingClass === void 0 ) useScrollingClass = true;
28701
+ if ( forceFireReachEvent === void 0 ) forceFireReachEvent = false;
28722
28702
 
28723
- var _excluded$5 = ["color", "size", "title"];
28703
+ var element = i.element;
28724
28704
 
28725
- function _extends$4() { _extends$4 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4.apply(this, arguments); }
28705
+ // reset reach
28706
+ i.reach[y] = null;
28726
28707
 
28727
- function _objectWithoutProperties$5(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$5(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28708
+ // 1 for subpixel rounding
28709
+ if (element[scrollTop] < 1) {
28710
+ i.reach[y] = 'start';
28711
+ }
28728
28712
 
28729
- function _objectWithoutPropertiesLoose$5(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28730
- var CloudArrowUp = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28731
- var color = _ref.color,
28732
- size = _ref.size,
28733
- title = _ref.title,
28734
- rest = _objectWithoutProperties$5(_ref, _excluded$5);
28713
+ // 1 for subpixel rounding
28714
+ if (element[scrollTop] > i[contentHeight] - i[containerHeight] - 1) {
28715
+ i.reach[y] = 'end';
28716
+ }
28735
28717
 
28736
- return /*#__PURE__*/React__default["default"].createElement("svg", _extends$4({
28737
- ref: ref,
28738
- xmlns: "http://www.w3.org/2000/svg",
28739
- viewBox: "0 0 16 16",
28740
- width: size,
28741
- height: size,
28742
- fill: color
28743
- }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
28744
- fillRule: "evenodd",
28745
- d: "M7.646 5.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708l2-2z"
28746
- }), /*#__PURE__*/React__default["default"].createElement("path", {
28747
- d: "M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z"
28748
- }));
28749
- });
28750
- CloudArrowUp.propTypes = {
28751
- color: propTypes.string,
28752
- size: propTypes.oneOfType([propTypes.string, propTypes.number]),
28753
- title: propTypes.string
28754
- };
28755
- CloudArrowUp.defaultProps = {
28756
- color: 'currentColor',
28757
- size: '1em',
28758
- title: null
28759
- };
28760
- var CloudArrowUp$1 = CloudArrowUp;
28718
+ if (diff) {
28719
+ element.dispatchEvent(createEvent(("ps-scroll-" + y)));
28761
28720
 
28762
- var _excluded$4 = ["color", "size", "title"];
28721
+ if (diff < 0) {
28722
+ element.dispatchEvent(createEvent(("ps-scroll-" + up)));
28723
+ } else if (diff > 0) {
28724
+ element.dispatchEvent(createEvent(("ps-scroll-" + down)));
28725
+ }
28763
28726
 
28764
- function _extends$3() { _extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3.apply(this, arguments); }
28727
+ if (useScrollingClass) {
28728
+ setScrollingClassInstantly(i, y);
28729
+ }
28730
+ }
28765
28731
 
28766
- function _objectWithoutProperties$4(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$4(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28732
+ if (i.reach[y] && (diff || forceFireReachEvent)) {
28733
+ element.dispatchEvent(createEvent(("ps-" + y + "-reach-" + (i.reach[y]))));
28734
+ }
28735
+ }
28767
28736
 
28768
- function _objectWithoutPropertiesLoose$4(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28769
- var CursorText = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28770
- var color = _ref.color,
28771
- size = _ref.size,
28772
- title = _ref.title,
28773
- rest = _objectWithoutProperties$4(_ref, _excluded$4);
28737
+ function toInt(x) {
28738
+ return parseInt(x, 10) || 0;
28739
+ }
28774
28740
 
28775
- return /*#__PURE__*/React__default["default"].createElement("svg", _extends$3({
28776
- ref: ref,
28777
- xmlns: "http://www.w3.org/2000/svg",
28778
- viewBox: "0 0 16 16",
28779
- width: size,
28780
- height: size,
28781
- fill: color
28782
- }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
28783
- d: "M5 2a.5.5 0 0 1 .5-.5c.862 0 1.573.287 2.06.566.174.099.321.198.44.286.119-.088.266-.187.44-.286A4.165 4.165 0 0 1 10.5 1.5a.5.5 0 0 1 0 1c-.638 0-1.177.213-1.564.434a3.49 3.49 0 0 0-.436.294V7.5H9a.5.5 0 0 1 0 1h-.5v4.272c.1.08.248.187.436.294.387.221.926.434 1.564.434a.5.5 0 0 1 0 1 4.165 4.165 0 0 1-2.06-.566A4.561 4.561 0 0 1 8 13.65a4.561 4.561 0 0 1-.44.285 4.165 4.165 0 0 1-2.06.566.5.5 0 0 1 0-1c.638 0 1.177-.213 1.564-.434.188-.107.335-.214.436-.294V8.5H7a.5.5 0 0 1 0-1h.5V3.228a3.49 3.49 0 0 0-.436-.294A3.166 3.166 0 0 0 5.5 2.5.5.5 0 0 1 5 2zm3.352 1.355zm-.704 9.29z"
28784
- }));
28785
- });
28786
- CursorText.propTypes = {
28787
- color: propTypes.string,
28788
- size: propTypes.oneOfType([propTypes.string, propTypes.number]),
28789
- title: propTypes.string
28790
- };
28791
- CursorText.defaultProps = {
28792
- color: 'currentColor',
28793
- size: '1em',
28794
- title: null
28795
- };
28796
- var CursorText$1 = CursorText;
28797
-
28798
- var _excluded$3 = ["color", "size", "title"];
28799
-
28800
- function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); }
28801
-
28802
- function _objectWithoutProperties$3(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$3(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28741
+ function isEditable(el) {
28742
+ return (
28743
+ matches(el, 'input,[contenteditable]') ||
28744
+ matches(el, 'select,[contenteditable]') ||
28745
+ matches(el, 'textarea,[contenteditable]') ||
28746
+ matches(el, 'button,[contenteditable]')
28747
+ );
28748
+ }
28803
28749
 
28804
- function _objectWithoutPropertiesLoose$3(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28805
- var EyeSlash = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28806
- var color = _ref.color,
28807
- size = _ref.size,
28808
- title = _ref.title,
28809
- rest = _objectWithoutProperties$3(_ref, _excluded$3);
28750
+ function outerWidth(element) {
28751
+ var styles = get(element);
28752
+ return (
28753
+ toInt(styles.width) +
28754
+ toInt(styles.paddingLeft) +
28755
+ toInt(styles.paddingRight) +
28756
+ toInt(styles.borderLeftWidth) +
28757
+ toInt(styles.borderRightWidth)
28758
+ );
28759
+ }
28810
28760
 
28811
- return /*#__PURE__*/React__default["default"].createElement("svg", _extends$2({
28812
- ref: ref,
28813
- xmlns: "http://www.w3.org/2000/svg",
28814
- viewBox: "0 0 16 16",
28815
- width: size,
28816
- height: size,
28817
- fill: color
28818
- }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
28819
- d: "M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z"
28820
- }), /*#__PURE__*/React__default["default"].createElement("path", {
28821
- d: "M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829z"
28822
- }), /*#__PURE__*/React__default["default"].createElement("path", {
28823
- d: "M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708z"
28824
- }));
28825
- });
28826
- EyeSlash.propTypes = {
28827
- color: propTypes.string,
28828
- size: propTypes.oneOfType([propTypes.string, propTypes.number]),
28829
- title: propTypes.string
28830
- };
28831
- EyeSlash.defaultProps = {
28832
- color: 'currentColor',
28833
- size: '1em',
28834
- title: null
28761
+ var env = {
28762
+ isWebKit:
28763
+ typeof document !== 'undefined' &&
28764
+ 'WebkitAppearance' in document.documentElement.style,
28765
+ supportsTouch:
28766
+ typeof window !== 'undefined' &&
28767
+ ('ontouchstart' in window ||
28768
+ ('maxTouchPoints' in window.navigator &&
28769
+ window.navigator.maxTouchPoints > 0) ||
28770
+ (window.DocumentTouch && document instanceof window.DocumentTouch)),
28771
+ supportsIePointer:
28772
+ typeof navigator !== 'undefined' && navigator.msMaxTouchPoints,
28773
+ isChrome:
28774
+ typeof navigator !== 'undefined' &&
28775
+ /Chrome/i.test(navigator && navigator.userAgent),
28835
28776
  };
28836
- var EyeSlash$1 = EyeSlash;
28837
-
28838
- var _excluded$2 = ["color", "size", "title"];
28839
28777
 
28840
- function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
28841
-
28842
- function _objectWithoutProperties$2(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$2(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28778
+ function updateGeometry(i) {
28779
+ var element = i.element;
28780
+ var roundedScrollTop = Math.floor(element.scrollTop);
28781
+ var rect = element.getBoundingClientRect();
28843
28782
 
28844
- function _objectWithoutPropertiesLoose$2(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28845
- var Eye = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28846
- var color = _ref.color,
28847
- size = _ref.size,
28848
- title = _ref.title,
28849
- rest = _objectWithoutProperties$2(_ref, _excluded$2);
28783
+ i.containerWidth = Math.round(rect.width);
28784
+ i.containerHeight = Math.round(rect.height);
28850
28785
 
28851
- return /*#__PURE__*/React__default["default"].createElement("svg", _extends$1({
28852
- ref: ref,
28853
- xmlns: "http://www.w3.org/2000/svg",
28854
- viewBox: "0 0 16 16",
28855
- width: size,
28856
- height: size,
28857
- fill: color
28858
- }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
28859
- d: "M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z"
28860
- }), /*#__PURE__*/React__default["default"].createElement("path", {
28861
- d: "M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z"
28862
- }));
28863
- });
28864
- Eye.propTypes = {
28865
- color: propTypes.string,
28866
- size: propTypes.oneOfType([propTypes.string, propTypes.number]),
28867
- title: propTypes.string
28868
- };
28869
- Eye.defaultProps = {
28870
- color: 'currentColor',
28871
- size: '1em',
28872
- title: null
28873
- };
28874
- var Eye$1 = Eye;
28786
+ i.contentWidth = element.scrollWidth;
28787
+ i.contentHeight = element.scrollHeight;
28875
28788
 
28876
- var _excluded$1 = ["color", "size", "title"];
28789
+ if (!element.contains(i.scrollbarXRail)) {
28790
+ // clean up and append
28791
+ queryChildren(element, cls.element.rail('x')).forEach(function (el) { return remove(el); }
28792
+ );
28793
+ element.appendChild(i.scrollbarXRail);
28794
+ }
28795
+ if (!element.contains(i.scrollbarYRail)) {
28796
+ // clean up and append
28797
+ queryChildren(element, cls.element.rail('y')).forEach(function (el) { return remove(el); }
28798
+ );
28799
+ element.appendChild(i.scrollbarYRail);
28800
+ }
28877
28801
 
28878
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
28802
+ if (
28803
+ !i.settings.suppressScrollX &&
28804
+ i.containerWidth + i.settings.scrollXMarginOffset < i.contentWidth
28805
+ ) {
28806
+ i.scrollbarXActive = true;
28807
+ i.railXWidth = i.containerWidth - i.railXMarginWidth;
28808
+ i.railXRatio = i.containerWidth / i.railXWidth;
28809
+ i.scrollbarXWidth = getThumbSize(
28810
+ i,
28811
+ toInt((i.railXWidth * i.containerWidth) / i.contentWidth)
28812
+ );
28813
+ i.scrollbarXLeft = toInt(
28814
+ ((i.negativeScrollAdjustment + element.scrollLeft) *
28815
+ (i.railXWidth - i.scrollbarXWidth)) /
28816
+ (i.contentWidth - i.containerWidth)
28817
+ );
28818
+ } else {
28819
+ i.scrollbarXActive = false;
28820
+ }
28879
28821
 
28880
- function _objectWithoutProperties$1(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$1(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28822
+ if (
28823
+ !i.settings.suppressScrollY &&
28824
+ i.containerHeight + i.settings.scrollYMarginOffset < i.contentHeight
28825
+ ) {
28826
+ i.scrollbarYActive = true;
28827
+ i.railYHeight = i.containerHeight - i.railYMarginHeight;
28828
+ i.railYRatio = i.containerHeight / i.railYHeight;
28829
+ i.scrollbarYHeight = getThumbSize(
28830
+ i,
28831
+ toInt((i.railYHeight * i.containerHeight) / i.contentHeight)
28832
+ );
28833
+ i.scrollbarYTop = toInt(
28834
+ (roundedScrollTop * (i.railYHeight - i.scrollbarYHeight)) /
28835
+ (i.contentHeight - i.containerHeight)
28836
+ );
28837
+ } else {
28838
+ i.scrollbarYActive = false;
28839
+ }
28881
28840
 
28882
- function _objectWithoutPropertiesLoose$1(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28883
- var X$1 = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
28884
- var color = _ref.color,
28885
- size = _ref.size,
28886
- title = _ref.title,
28887
- rest = _objectWithoutProperties$1(_ref, _excluded$1);
28841
+ if (i.scrollbarXLeft >= i.railXWidth - i.scrollbarXWidth) {
28842
+ i.scrollbarXLeft = i.railXWidth - i.scrollbarXWidth;
28843
+ }
28844
+ if (i.scrollbarYTop >= i.railYHeight - i.scrollbarYHeight) {
28845
+ i.scrollbarYTop = i.railYHeight - i.scrollbarYHeight;
28846
+ }
28888
28847
 
28889
- return /*#__PURE__*/React__default["default"].createElement("svg", _extends({
28890
- ref: ref,
28891
- xmlns: "http://www.w3.org/2000/svg",
28892
- viewBox: "0 0 16 16",
28893
- width: size,
28894
- height: size,
28895
- fill: color
28896
- }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
28897
- d: "M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"
28898
- }));
28899
- });
28900
- X$1.propTypes = {
28901
- color: propTypes.string,
28902
- size: propTypes.oneOfType([propTypes.string, propTypes.number]),
28903
- title: propTypes.string
28904
- };
28905
- X$1.defaultProps = {
28906
- color: 'currentColor',
28907
- size: '1em',
28908
- title: null
28909
- };
28910
- var X$2 = X$1;
28848
+ updateCss(element, i);
28911
28849
 
28912
- var slugify = createCommonjsModule(function (module, exports) {
28913
- (function (name, root, factory) {
28914
- {
28915
- module.exports = factory();
28916
- module.exports['default'] = factory();
28850
+ if (i.scrollbarXActive) {
28851
+ element.classList.add(cls.state.active('x'));
28852
+ } else {
28853
+ element.classList.remove(cls.state.active('x'));
28854
+ i.scrollbarXWidth = 0;
28855
+ i.scrollbarXLeft = 0;
28856
+ element.scrollLeft = i.isRtl === true ? i.contentWidth : 0;
28917
28857
  }
28918
- }('slugify', commonjsGlobal, function () {
28919
- var charMap = JSON.parse('{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E\'","Ը":"Y\'","Թ":"T\'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C\'","Կ":"K","Հ":"H","Ձ":"D\'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R\'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P\'","Ք":"Q\'","Օ":"O\'\'","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"\'","’":"\'","“":"\\\"","”":"\\\"","„":"\\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}');
28920
- var locales = JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');
28858
+ if (i.scrollbarYActive) {
28859
+ element.classList.add(cls.state.active('y'));
28860
+ } else {
28861
+ element.classList.remove(cls.state.active('y'));
28862
+ i.scrollbarYHeight = 0;
28863
+ i.scrollbarYTop = 0;
28864
+ element.scrollTop = 0;
28865
+ }
28866
+ }
28921
28867
 
28922
- function replace (string, options) {
28923
- if (typeof string !== 'string') {
28924
- throw new Error('slugify: string argument expected')
28925
- }
28868
+ function getThumbSize(i, thumbSize) {
28869
+ if (i.settings.minScrollbarLength) {
28870
+ thumbSize = Math.max(thumbSize, i.settings.minScrollbarLength);
28871
+ }
28872
+ if (i.settings.maxScrollbarLength) {
28873
+ thumbSize = Math.min(thumbSize, i.settings.maxScrollbarLength);
28874
+ }
28875
+ return thumbSize;
28876
+ }
28926
28877
 
28927
- options = (typeof options === 'string')
28928
- ? {replacement: options}
28929
- : options || {};
28878
+ function updateCss(element, i) {
28879
+ var xRailOffset = { width: i.railXWidth };
28880
+ var roundedScrollTop = Math.floor(element.scrollTop);
28930
28881
 
28931
- var locale = locales[options.locale] || {};
28932
-
28933
- var replacement = options.replacement === undefined ? '-' : options.replacement;
28934
-
28935
- var trim = options.trim === undefined ? true : options.trim;
28936
-
28937
- var slug = string.normalize().split('')
28938
- // replace characters based on charMap
28939
- .reduce(function (result, ch) {
28940
- var appendChar = locale[ch] || charMap[ch] || ch;
28941
- if (appendChar === replacement) {
28942
- appendChar = ' ';
28943
- }
28944
- return result + appendChar
28945
- // remove not allowed characters
28946
- .replace(options.remove || /[^\w\s$*_+~.()'"!\-:@]+/g, '')
28947
- }, '');
28882
+ if (i.isRtl) {
28883
+ xRailOffset.left =
28884
+ i.negativeScrollAdjustment +
28885
+ element.scrollLeft +
28886
+ i.containerWidth -
28887
+ i.contentWidth;
28888
+ } else {
28889
+ xRailOffset.left = element.scrollLeft;
28890
+ }
28891
+ if (i.isScrollbarXUsingBottom) {
28892
+ xRailOffset.bottom = i.scrollbarXBottom - roundedScrollTop;
28893
+ } else {
28894
+ xRailOffset.top = i.scrollbarXTop + roundedScrollTop;
28895
+ }
28896
+ set(i.scrollbarXRail, xRailOffset);
28948
28897
 
28949
- if (options.strict) {
28950
- slug = slug.replace(/[^A-Za-z0-9\s]/g, '');
28898
+ var yRailOffset = { top: roundedScrollTop, height: i.railYHeight };
28899
+ if (i.isScrollbarYUsingRight) {
28900
+ if (i.isRtl) {
28901
+ yRailOffset.right =
28902
+ i.contentWidth -
28903
+ (i.negativeScrollAdjustment + element.scrollLeft) -
28904
+ i.scrollbarYRight -
28905
+ i.scrollbarYOuterWidth -
28906
+ 9;
28907
+ } else {
28908
+ yRailOffset.right = i.scrollbarYRight - element.scrollLeft;
28951
28909
  }
28952
-
28953
- if (trim) {
28954
- slug = slug.trim();
28910
+ } else {
28911
+ if (i.isRtl) {
28912
+ yRailOffset.left =
28913
+ i.negativeScrollAdjustment +
28914
+ element.scrollLeft +
28915
+ i.containerWidth * 2 -
28916
+ i.contentWidth -
28917
+ i.scrollbarYLeft -
28918
+ i.scrollbarYOuterWidth;
28919
+ } else {
28920
+ yRailOffset.left = i.scrollbarYLeft + element.scrollLeft;
28955
28921
  }
28922
+ }
28923
+ set(i.scrollbarYRail, yRailOffset);
28956
28924
 
28957
- // Replace spaces with replacement character, treating multiple consecutive
28958
- // spaces as a single space.
28959
- slug = slug.replace(/\s+/g, replacement);
28925
+ set(i.scrollbarX, {
28926
+ left: i.scrollbarXLeft,
28927
+ width: i.scrollbarXWidth - i.railBorderXWidth,
28928
+ });
28929
+ set(i.scrollbarY, {
28930
+ top: i.scrollbarYTop,
28931
+ height: i.scrollbarYHeight - i.railBorderYWidth,
28932
+ });
28933
+ }
28960
28934
 
28961
- if (options.lower) {
28962
- slug = slug.toLowerCase();
28963
- }
28935
+ function clickRail(i) {
28936
+ i.element;
28964
28937
 
28965
- return slug
28966
- }
28938
+ i.event.bind(i.scrollbarY, 'mousedown', function (e) { return e.stopPropagation(); });
28939
+ i.event.bind(i.scrollbarYRail, 'mousedown', function (e) {
28940
+ var positionTop =
28941
+ e.pageY -
28942
+ window.pageYOffset -
28943
+ i.scrollbarYRail.getBoundingClientRect().top;
28944
+ var direction = positionTop > i.scrollbarYTop ? 1 : -1;
28967
28945
 
28968
- replace.extend = function (customMap) {
28969
- Object.assign(charMap, customMap);
28970
- };
28946
+ i.element.scrollTop += direction * i.containerHeight;
28947
+ updateGeometry(i);
28971
28948
 
28972
- return replace
28973
- }));
28974
- });
28949
+ e.stopPropagation();
28950
+ });
28975
28951
 
28976
- /**
28977
- * lodash (Custom Build) <https://lodash.com/>
28978
- * Build: `lodash modularize exports="npm" -o ./`
28979
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
28980
- * Released under MIT license <https://lodash.com/license>
28981
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
28982
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
28983
- */
28952
+ i.event.bind(i.scrollbarX, 'mousedown', function (e) { return e.stopPropagation(); });
28953
+ i.event.bind(i.scrollbarXRail, 'mousedown', function (e) {
28954
+ var positionLeft =
28955
+ e.pageX -
28956
+ window.pageXOffset -
28957
+ i.scrollbarXRail.getBoundingClientRect().left;
28958
+ var direction = positionLeft > i.scrollbarXLeft ? 1 : -1;
28984
28959
 
28985
- /** Used as the `TypeError` message for "Functions" methods. */
28986
- var FUNC_ERROR_TEXT = 'Expected a function';
28960
+ i.element.scrollLeft += direction * i.containerWidth;
28961
+ updateGeometry(i);
28987
28962
 
28988
- /** Used as references for various `Number` constants. */
28989
- var NAN = 0 / 0;
28963
+ e.stopPropagation();
28964
+ });
28965
+ }
28990
28966
 
28991
- /** `Object#toString` result references. */
28992
- var symbolTag = '[object Symbol]';
28967
+ function dragThumb(i) {
28968
+ bindMouseScrollHandler(i, [
28969
+ 'containerWidth',
28970
+ 'contentWidth',
28971
+ 'pageX',
28972
+ 'railXWidth',
28973
+ 'scrollbarX',
28974
+ 'scrollbarXWidth',
28975
+ 'scrollLeft',
28976
+ 'x',
28977
+ 'scrollbarXRail' ]);
28978
+ bindMouseScrollHandler(i, [
28979
+ 'containerHeight',
28980
+ 'contentHeight',
28981
+ 'pageY',
28982
+ 'railYHeight',
28983
+ 'scrollbarY',
28984
+ 'scrollbarYHeight',
28985
+ 'scrollTop',
28986
+ 'y',
28987
+ 'scrollbarYRail' ]);
28988
+ }
28993
28989
 
28994
- /** Used to match leading and trailing whitespace. */
28995
- var reTrim = /^\s+|\s+$/g;
28990
+ function bindMouseScrollHandler(
28991
+ i,
28992
+ ref
28993
+ ) {
28994
+ var containerHeight = ref[0];
28995
+ var contentHeight = ref[1];
28996
+ var pageY = ref[2];
28997
+ var railYHeight = ref[3];
28998
+ var scrollbarY = ref[4];
28999
+ var scrollbarYHeight = ref[5];
29000
+ var scrollTop = ref[6];
29001
+ var y = ref[7];
29002
+ var scrollbarYRail = ref[8];
28996
29003
 
28997
- /** Used to detect bad signed hexadecimal string values. */
28998
- var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
29004
+ var element = i.element;
28999
29005
 
29000
- /** Used to detect binary string values. */
29001
- var reIsBinary = /^0b[01]+$/i;
29006
+ var startingScrollTop = null;
29007
+ var startingMousePageY = null;
29008
+ var scrollBy = null;
29002
29009
 
29003
- /** Used to detect octal string values. */
29004
- var reIsOctal = /^0o[0-7]+$/i;
29010
+ function mouseMoveHandler(e) {
29011
+ if (e.touches && e.touches[0]) {
29012
+ e[pageY] = e.touches[0].pageY;
29013
+ }
29014
+ element[scrollTop] =
29015
+ startingScrollTop + scrollBy * (e[pageY] - startingMousePageY);
29016
+ addScrollingClass(i, y);
29017
+ updateGeometry(i);
29005
29018
 
29006
- /** Built-in method references without a dependency on `root`. */
29007
- var freeParseInt = parseInt;
29019
+ e.stopPropagation();
29020
+ if (e.type.startsWith('touch') && e.changedTouches.length > 1) {
29021
+ e.preventDefault();
29022
+ }
29023
+ }
29008
29024
 
29009
- /** Detect free variable `global` from Node.js. */
29010
- var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
29025
+ function mouseUpHandler() {
29026
+ removeScrollingClass(i, y);
29027
+ i[scrollbarYRail].classList.remove(cls.state.clicking);
29028
+ i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler);
29029
+ }
29011
29030
 
29012
- /** Detect free variable `self`. */
29013
- var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
29031
+ function bindMoves(e, touchMode) {
29032
+ startingScrollTop = element[scrollTop];
29033
+ if (touchMode && e.touches) {
29034
+ e[pageY] = e.touches[0].pageY;
29035
+ }
29036
+ startingMousePageY = e[pageY];
29037
+ scrollBy =
29038
+ (i[contentHeight] - i[containerHeight]) /
29039
+ (i[railYHeight] - i[scrollbarYHeight]);
29040
+ if (!touchMode) {
29041
+ i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler);
29042
+ i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler);
29043
+ e.preventDefault();
29044
+ } else {
29045
+ i.event.bind(i.ownerDocument, 'touchmove', mouseMoveHandler);
29046
+ }
29014
29047
 
29015
- /** Used as a reference to the global object. */
29016
- var root = freeGlobal || freeSelf || Function('return this')();
29048
+ i[scrollbarYRail].classList.add(cls.state.clicking);
29017
29049
 
29018
- /** Used for built-in method references. */
29019
- var objectProto = Object.prototype;
29050
+ e.stopPropagation();
29051
+ }
29020
29052
 
29021
- /**
29022
- * Used to resolve the
29023
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
29024
- * of values.
29025
- */
29026
- var objectToString = objectProto.toString;
29053
+ i.event.bind(i[scrollbarY], 'mousedown', function (e) {
29054
+ bindMoves(e);
29055
+ });
29056
+ i.event.bind(i[scrollbarY], 'touchstart', function (e) {
29057
+ bindMoves(e, true);
29058
+ });
29059
+ }
29027
29060
 
29028
- /* Built-in method references for those with the same name as other `lodash` methods. */
29029
- var nativeMax = Math.max,
29030
- nativeMin = Math.min;
29061
+ function keyboard(i) {
29062
+ var element = i.element;
29031
29063
 
29032
- /**
29033
- * Gets the timestamp of the number of milliseconds that have elapsed since
29034
- * the Unix epoch (1 January 1970 00:00:00 UTC).
29035
- *
29036
- * @static
29037
- * @memberOf _
29038
- * @since 2.4.0
29039
- * @category Date
29040
- * @returns {number} Returns the timestamp.
29041
- * @example
29042
- *
29043
- * _.defer(function(stamp) {
29044
- * console.log(_.now() - stamp);
29045
- * }, _.now());
29046
- * // => Logs the number of milliseconds it took for the deferred invocation.
29047
- */
29048
- var now = function() {
29049
- return root.Date.now();
29050
- };
29064
+ var elementHovered = function () { return matches(element, ':hover'); };
29065
+ var scrollbarFocused = function () { return matches(i.scrollbarX, ':focus') || matches(i.scrollbarY, ':focus'); };
29051
29066
 
29052
- /**
29053
- * Creates a debounced function that delays invoking `func` until after `wait`
29054
- * milliseconds have elapsed since the last time the debounced function was
29055
- * invoked. The debounced function comes with a `cancel` method to cancel
29056
- * delayed `func` invocations and a `flush` method to immediately invoke them.
29057
- * Provide `options` to indicate whether `func` should be invoked on the
29058
- * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
29059
- * with the last arguments provided to the debounced function. Subsequent
29060
- * calls to the debounced function return the result of the last `func`
29061
- * invocation.
29062
- *
29063
- * **Note:** If `leading` and `trailing` options are `true`, `func` is
29064
- * invoked on the trailing edge of the timeout only if the debounced function
29065
- * is invoked more than once during the `wait` timeout.
29066
- *
29067
- * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
29068
- * until to the next tick, similar to `setTimeout` with a timeout of `0`.
29069
- *
29070
- * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
29071
- * for details over the differences between `_.debounce` and `_.throttle`.
29072
- *
29073
- * @static
29074
- * @memberOf _
29075
- * @since 0.1.0
29076
- * @category Function
29077
- * @param {Function} func The function to debounce.
29078
- * @param {number} [wait=0] The number of milliseconds to delay.
29079
- * @param {Object} [options={}] The options object.
29080
- * @param {boolean} [options.leading=false]
29081
- * Specify invoking on the leading edge of the timeout.
29082
- * @param {number} [options.maxWait]
29083
- * The maximum time `func` is allowed to be delayed before it's invoked.
29084
- * @param {boolean} [options.trailing=true]
29085
- * Specify invoking on the trailing edge of the timeout.
29086
- * @returns {Function} Returns the new debounced function.
29087
- * @example
29088
- *
29089
- * // Avoid costly calculations while the window size is in flux.
29090
- * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
29091
- *
29092
- * // Invoke `sendMail` when clicked, debouncing subsequent calls.
29093
- * jQuery(element).on('click', _.debounce(sendMail, 300, {
29094
- * 'leading': true,
29095
- * 'trailing': false
29096
- * }));
29097
- *
29098
- * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
29099
- * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
29100
- * var source = new EventSource('/stream');
29101
- * jQuery(source).on('message', debounced);
29102
- *
29103
- * // Cancel the trailing debounced invocation.
29104
- * jQuery(window).on('popstate', debounced.cancel);
29105
- */
29106
- function debounce(func, wait, options) {
29107
- var lastArgs,
29108
- lastThis,
29109
- maxWait,
29110
- result,
29111
- timerId,
29112
- lastCallTime,
29113
- lastInvokeTime = 0,
29114
- leading = false,
29115
- maxing = false,
29116
- trailing = true;
29117
-
29118
- if (typeof func != 'function') {
29119
- throw new TypeError(FUNC_ERROR_TEXT);
29120
- }
29121
- wait = toNumber(wait) || 0;
29122
- if (isObject$1(options)) {
29123
- leading = !!options.leading;
29124
- maxing = 'maxWait' in options;
29125
- maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
29126
- trailing = 'trailing' in options ? !!options.trailing : trailing;
29127
- }
29128
-
29129
- function invokeFunc(time) {
29130
- var args = lastArgs,
29131
- thisArg = lastThis;
29132
-
29133
- lastArgs = lastThis = undefined;
29134
- lastInvokeTime = time;
29135
- result = func.apply(thisArg, args);
29136
- return result;
29137
- }
29138
-
29139
- function leadingEdge(time) {
29140
- // Reset any `maxWait` timer.
29141
- lastInvokeTime = time;
29142
- // Start the timer for the trailing edge.
29143
- timerId = setTimeout(timerExpired, wait);
29144
- // Invoke the leading edge.
29145
- return leading ? invokeFunc(time) : result;
29146
- }
29147
-
29148
- function remainingWait(time) {
29149
- var timeSinceLastCall = time - lastCallTime,
29150
- timeSinceLastInvoke = time - lastInvokeTime,
29151
- result = wait - timeSinceLastCall;
29067
+ function shouldPreventDefault(deltaX, deltaY) {
29068
+ var scrollTop = Math.floor(element.scrollTop);
29069
+ if (deltaX === 0) {
29070
+ if (!i.scrollbarYActive) {
29071
+ return false;
29072
+ }
29073
+ if (
29074
+ (scrollTop === 0 && deltaY > 0) ||
29075
+ (scrollTop >= i.contentHeight - i.containerHeight && deltaY < 0)
29076
+ ) {
29077
+ return !i.settings.wheelPropagation;
29078
+ }
29079
+ }
29152
29080
 
29153
- return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
29081
+ var scrollLeft = element.scrollLeft;
29082
+ if (deltaY === 0) {
29083
+ if (!i.scrollbarXActive) {
29084
+ return false;
29085
+ }
29086
+ if (
29087
+ (scrollLeft === 0 && deltaX < 0) ||
29088
+ (scrollLeft >= i.contentWidth - i.containerWidth && deltaX > 0)
29089
+ ) {
29090
+ return !i.settings.wheelPropagation;
29091
+ }
29092
+ }
29093
+ return true;
29154
29094
  }
29155
29095
 
29156
- function shouldInvoke(time) {
29157
- var timeSinceLastCall = time - lastCallTime,
29158
- timeSinceLastInvoke = time - lastInvokeTime;
29096
+ i.event.bind(i.ownerDocument, 'keydown', function (e) {
29097
+ if (
29098
+ (e.isDefaultPrevented && e.isDefaultPrevented()) ||
29099
+ e.defaultPrevented
29100
+ ) {
29101
+ return;
29102
+ }
29159
29103
 
29160
- // Either this is the first call, activity has stopped and we're at the
29161
- // trailing edge, the system time has gone backwards and we're treating
29162
- // it as the trailing edge, or we've hit the `maxWait` limit.
29163
- return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
29164
- (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
29165
- }
29104
+ if (!elementHovered() && !scrollbarFocused()) {
29105
+ return;
29106
+ }
29166
29107
 
29167
- function timerExpired() {
29168
- var time = now();
29169
- if (shouldInvoke(time)) {
29170
- return trailingEdge(time);
29108
+ var activeElement = document.activeElement
29109
+ ? document.activeElement
29110
+ : i.ownerDocument.activeElement;
29111
+ if (activeElement) {
29112
+ if (activeElement.tagName === 'IFRAME') {
29113
+ activeElement = activeElement.contentDocument.activeElement;
29114
+ } else {
29115
+ // go deeper if element is a webcomponent
29116
+ while (activeElement.shadowRoot) {
29117
+ activeElement = activeElement.shadowRoot.activeElement;
29118
+ }
29119
+ }
29120
+ if (isEditable(activeElement)) {
29121
+ return;
29122
+ }
29171
29123
  }
29172
- // Restart the timer.
29173
- timerId = setTimeout(timerExpired, remainingWait(time));
29174
- }
29175
29124
 
29176
- function trailingEdge(time) {
29177
- timerId = undefined;
29125
+ var deltaX = 0;
29126
+ var deltaY = 0;
29178
29127
 
29179
- // Only invoke if we have `lastArgs` which means `func` has been
29180
- // debounced at least once.
29181
- if (trailing && lastArgs) {
29182
- return invokeFunc(time);
29128
+ switch (e.which) {
29129
+ case 37: // left
29130
+ if (e.metaKey) {
29131
+ deltaX = -i.contentWidth;
29132
+ } else if (e.altKey) {
29133
+ deltaX = -i.containerWidth;
29134
+ } else {
29135
+ deltaX = -30;
29136
+ }
29137
+ break;
29138
+ case 38: // up
29139
+ if (e.metaKey) {
29140
+ deltaY = i.contentHeight;
29141
+ } else if (e.altKey) {
29142
+ deltaY = i.containerHeight;
29143
+ } else {
29144
+ deltaY = 30;
29145
+ }
29146
+ break;
29147
+ case 39: // right
29148
+ if (e.metaKey) {
29149
+ deltaX = i.contentWidth;
29150
+ } else if (e.altKey) {
29151
+ deltaX = i.containerWidth;
29152
+ } else {
29153
+ deltaX = 30;
29154
+ }
29155
+ break;
29156
+ case 40: // down
29157
+ if (e.metaKey) {
29158
+ deltaY = -i.contentHeight;
29159
+ } else if (e.altKey) {
29160
+ deltaY = -i.containerHeight;
29161
+ } else {
29162
+ deltaY = -30;
29163
+ }
29164
+ break;
29165
+ case 32: // space bar
29166
+ if (e.shiftKey) {
29167
+ deltaY = i.containerHeight;
29168
+ } else {
29169
+ deltaY = -i.containerHeight;
29170
+ }
29171
+ break;
29172
+ case 33: // page up
29173
+ deltaY = i.containerHeight;
29174
+ break;
29175
+ case 34: // page down
29176
+ deltaY = -i.containerHeight;
29177
+ break;
29178
+ case 36: // home
29179
+ deltaY = i.contentHeight;
29180
+ break;
29181
+ case 35: // end
29182
+ deltaY = -i.contentHeight;
29183
+ break;
29184
+ default:
29185
+ return;
29183
29186
  }
29184
- lastArgs = lastThis = undefined;
29185
- return result;
29186
- }
29187
29187
 
29188
- function cancel() {
29189
- if (timerId !== undefined) {
29190
- clearTimeout(timerId);
29188
+ if (i.settings.suppressScrollX && deltaX !== 0) {
29189
+ return;
29190
+ }
29191
+ if (i.settings.suppressScrollY && deltaY !== 0) {
29192
+ return;
29191
29193
  }
29192
- lastInvokeTime = 0;
29193
- lastArgs = lastCallTime = lastThis = timerId = undefined;
29194
- }
29195
-
29196
- function flush() {
29197
- return timerId === undefined ? result : trailingEdge(now());
29198
- }
29199
-
29200
- function debounced() {
29201
- var time = now(),
29202
- isInvoking = shouldInvoke(time);
29203
29194
 
29204
- lastArgs = arguments;
29205
- lastThis = this;
29206
- lastCallTime = time;
29195
+ element.scrollTop -= deltaY;
29196
+ element.scrollLeft += deltaX;
29197
+ updateGeometry(i);
29207
29198
 
29208
- if (isInvoking) {
29209
- if (timerId === undefined) {
29210
- return leadingEdge(lastCallTime);
29211
- }
29212
- if (maxing) {
29213
- // Handle invocations in a tight loop.
29214
- timerId = setTimeout(timerExpired, wait);
29215
- return invokeFunc(lastCallTime);
29216
- }
29217
- }
29218
- if (timerId === undefined) {
29219
- timerId = setTimeout(timerExpired, wait);
29199
+ if (shouldPreventDefault(deltaX, deltaY)) {
29200
+ e.preventDefault();
29220
29201
  }
29221
- return result;
29222
- }
29223
- debounced.cancel = cancel;
29224
- debounced.flush = flush;
29225
- return debounced;
29202
+ });
29226
29203
  }
29227
29204
 
29228
- /**
29229
- * Checks if `value` is the
29230
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
29231
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
29232
- *
29233
- * @static
29234
- * @memberOf _
29235
- * @since 0.1.0
29236
- * @category Lang
29237
- * @param {*} value The value to check.
29238
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
29239
- * @example
29240
- *
29241
- * _.isObject({});
29242
- * // => true
29243
- *
29244
- * _.isObject([1, 2, 3]);
29245
- * // => true
29246
- *
29247
- * _.isObject(_.noop);
29248
- * // => true
29249
- *
29250
- * _.isObject(null);
29251
- * // => false
29252
- */
29253
- function isObject$1(value) {
29254
- var type = typeof value;
29255
- return !!value && (type == 'object' || type == 'function');
29256
- }
29205
+ function wheel(i) {
29206
+ var element = i.element;
29257
29207
 
29258
- /**
29259
- * Checks if `value` is object-like. A value is object-like if it's not `null`
29260
- * and has a `typeof` result of "object".
29261
- *
29262
- * @static
29263
- * @memberOf _
29264
- * @since 4.0.0
29265
- * @category Lang
29266
- * @param {*} value The value to check.
29267
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
29268
- * @example
29269
- *
29270
- * _.isObjectLike({});
29271
- * // => true
29272
- *
29273
- * _.isObjectLike([1, 2, 3]);
29274
- * // => true
29275
- *
29276
- * _.isObjectLike(_.noop);
29277
- * // => false
29278
- *
29279
- * _.isObjectLike(null);
29280
- * // => false
29281
- */
29282
- function isObjectLike(value) {
29283
- return !!value && typeof value == 'object';
29284
- }
29208
+ function shouldPreventDefault(deltaX, deltaY) {
29209
+ var roundedScrollTop = Math.floor(element.scrollTop);
29210
+ var isTop = element.scrollTop === 0;
29211
+ var isBottom =
29212
+ roundedScrollTop + element.offsetHeight === element.scrollHeight;
29213
+ var isLeft = element.scrollLeft === 0;
29214
+ var isRight =
29215
+ element.scrollLeft + element.offsetWidth === element.scrollWidth;
29285
29216
 
29286
- /**
29287
- * Checks if `value` is classified as a `Symbol` primitive or object.
29288
- *
29289
- * @static
29290
- * @memberOf _
29291
- * @since 4.0.0
29292
- * @category Lang
29293
- * @param {*} value The value to check.
29294
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
29295
- * @example
29296
- *
29297
- * _.isSymbol(Symbol.iterator);
29298
- * // => true
29299
- *
29300
- * _.isSymbol('abc');
29301
- * // => false
29302
- */
29303
- function isSymbol(value) {
29304
- return typeof value == 'symbol' ||
29305
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
29306
- }
29217
+ var hitsBound;
29307
29218
 
29308
- /**
29309
- * Converts `value` to a number.
29310
- *
29311
- * @static
29312
- * @memberOf _
29313
- * @since 4.0.0
29314
- * @category Lang
29315
- * @param {*} value The value to process.
29316
- * @returns {number} Returns the number.
29317
- * @example
29318
- *
29319
- * _.toNumber(3.2);
29320
- * // => 3.2
29321
- *
29322
- * _.toNumber(Number.MIN_VALUE);
29323
- * // => 5e-324
29324
- *
29325
- * _.toNumber(Infinity);
29326
- * // => Infinity
29327
- *
29328
- * _.toNumber('3.2');
29329
- * // => 3.2
29330
- */
29331
- function toNumber(value) {
29332
- if (typeof value == 'number') {
29333
- return value;
29334
- }
29335
- if (isSymbol(value)) {
29336
- return NAN;
29337
- }
29338
- if (isObject$1(value)) {
29339
- var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
29340
- value = isObject$1(other) ? (other + '') : other;
29341
- }
29342
- if (typeof value != 'string') {
29343
- return value === 0 ? value : +value;
29344
- }
29345
- value = value.replace(reTrim, '');
29346
- var isBinary = reIsBinary.test(value);
29347
- return (isBinary || reIsOctal.test(value))
29348
- ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
29349
- : (reIsBadHex.test(value) ? NAN : +value);
29350
- }
29219
+ // pick axis with primary direction
29220
+ if (Math.abs(deltaY) > Math.abs(deltaX)) {
29221
+ hitsBound = isTop || isBottom;
29222
+ } else {
29223
+ hitsBound = isLeft || isRight;
29224
+ }
29351
29225
 
29352
- var lodash_debounce = debounce;
29226
+ return hitsBound ? !i.settings.wheelPropagation : true;
29227
+ }
29353
29228
 
29354
- function styleInject(css, ref) {
29355
- if ( ref === void 0 ) ref = {};
29356
- var insertAt = ref.insertAt;
29229
+ function getDeltaFromEvent(e) {
29230
+ var deltaX = e.deltaX;
29231
+ var deltaY = -1 * e.deltaY;
29357
29232
 
29358
- if (!css || typeof document === 'undefined') { return; }
29233
+ if (typeof deltaX === 'undefined' || typeof deltaY === 'undefined') {
29234
+ // OS X Safari
29235
+ deltaX = (-1 * e.wheelDeltaX) / 6;
29236
+ deltaY = e.wheelDeltaY / 6;
29237
+ }
29359
29238
 
29360
- var head = document.head || document.getElementsByTagName('head')[0];
29361
- var style = document.createElement('style');
29362
- style.type = 'text/css';
29239
+ if (e.deltaMode && e.deltaMode === 1) {
29240
+ // Firefox in deltaMode 1: Line scrolling
29241
+ deltaX *= 10;
29242
+ deltaY *= 10;
29243
+ }
29363
29244
 
29364
- if (insertAt === 'top') {
29365
- if (head.firstChild) {
29366
- head.insertBefore(style, head.firstChild);
29367
- } else {
29368
- head.appendChild(style);
29245
+ if (deltaX !== deltaX && deltaY !== deltaY /* NaN checks */) {
29246
+ // IE in some mouse drivers
29247
+ deltaX = 0;
29248
+ deltaY = e.wheelDelta;
29369
29249
  }
29370
- } else {
29371
- head.appendChild(style);
29372
- }
29373
29250
 
29374
- if (style.styleSheet) {
29375
- style.styleSheet.cssText = css;
29376
- } else {
29377
- style.appendChild(document.createTextNode(css));
29251
+ if (e.shiftKey) {
29252
+ // reverse axis with shift key
29253
+ return [-deltaY, -deltaX];
29254
+ }
29255
+ return [deltaX, deltaY];
29378
29256
  }
29379
- }
29380
29257
 
29381
- var css_248z$a = "/*\n * Container style\n */\n.ps {\n overflow: hidden !important;\n overflow-anchor: none;\n -ms-overflow-style: none;\n touch-action: auto;\n -ms-touch-action: auto;\n}\n\n/*\n * Scrollbar rail styles\n */\n.ps__rail-x {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n height: 15px;\n /* there must be 'bottom' or 'top' for ps__rail-x */\n bottom: 0px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-y {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n width: 15px;\n /* there must be 'right' or 'left' for ps__rail-y */\n right: 0;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps--active-x > .ps__rail-x,\n.ps--active-y > .ps__rail-y {\n display: block;\n background-color: transparent;\n}\n\n.ps:hover > .ps__rail-x,\n.ps:hover > .ps__rail-y,\n.ps--focus > .ps__rail-x,\n.ps--focus > .ps__rail-y,\n.ps--scrolling-x > .ps__rail-x,\n.ps--scrolling-y > .ps__rail-y {\n opacity: 0.6;\n}\n\n.ps .ps__rail-x:hover,\n.ps .ps__rail-y:hover,\n.ps .ps__rail-x:focus,\n.ps .ps__rail-y:focus,\n.ps .ps__rail-x.ps--clicking,\n.ps .ps__rail-y.ps--clicking {\n background-color: #eee;\n opacity: 0.9;\n}\n\n/*\n * Scrollbar thumb styles\n */\n.ps__thumb-x {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, height .2s ease-in-out;\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\n height: 6px;\n /* there must be 'bottom' for ps__thumb-x */\n bottom: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__thumb-y {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, width .2s ease-in-out;\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\n width: 6px;\n /* there must be 'right' for ps__thumb-y */\n right: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-x:hover > .ps__thumb-x,\n.ps__rail-x:focus > .ps__thumb-x,\n.ps__rail-x.ps--clicking .ps__thumb-x {\n background-color: #999;\n height: 11px;\n}\n\n.ps__rail-y:hover > .ps__thumb-y,\n.ps__rail-y:focus > .ps__thumb-y,\n.ps__rail-y.ps--clicking .ps__thumb-y {\n background-color: #999;\n width: 11px;\n}\n\n/* MS supports */\n@supports (-ms-overflow-style: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ps {\n overflow: auto !important;\n }\n}\n.scrollbar-container {\n position: relative;\n height: 100%; }";
29382
- styleInject(css_248z$a);
29258
+ function shouldBeConsumedByChild(target, deltaX, deltaY) {
29259
+ // FIXME: this is a workaround for <select> issue in FF and IE #571
29260
+ if (!env.isWebKit && element.querySelector('select:focus')) {
29261
+ return true;
29262
+ }
29383
29263
 
29384
- var css_248z$9 = ":root {\n --slate1: hsl(206, 30.0%, 98.8%);\n --slate2: hsl(210, 16.7%, 97.6%);\n --slate3: hsl(209, 13.3%, 95.3%);\n --slate4: hsl(209, 12.2%, 93.2%);\n --slate5: hsl(208, 11.7%, 91.1%);\n --slate6: hsl(208, 11.3%, 88.9%);\n --slate7: hsl(207, 11.1%, 85.9%);\n --slate8: hsl(205, 10.7%, 78.0%);\n --slate9: hsl(206, 6.0%, 56.1%);\n --slate10: hsl(206, 5.8%, 52.3%);\n --slate11: hsl(206, 6.0%, 43.5%);\n --slate12: hsl(206, 24.0%, 9.0%);\n}\n\n:root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0);\n }\n to {\n transform: rotate(360deg);\n }\n}\n.spin {\n animation: spin 1s linear 0s infinite;\n}\n\n* {\n font-family: -apple-system, BlinkMacSystemFont, \"avenir next\", avenir, helvetica, \"helvetica neue\", ubuntu, roboto, noto, \"segoe ui\", arial, sans-serif;\n color: var(--slate12);\n margin: 0;\n font-size: 17px;\n}\n\nh1 {\n font-size: 3rem;\n}\n\nh2 {\n font-size: 2.25rem;\n}\n\nh3 {\n font-size: 1.5rem;\n}\n\nh4 {\n font-size: 1.25rem;\n}\n\nh5 {\n font-size: 1rem;\n}\n\nh6 {\n font-size: 0.875rem;\n}\n\nlabel {\n font-size: 1.125;\n color: var(--slate12);\n}\n\nli {\n font-size: 0.95rem;\n}\n\n.secondary {\n font-size: 0.875rem;\n color: var(--slate10);\n}\n\np,\nspan {\n color: var(--slate12);\n}\n\ninput::placeholder {\n color: var(--slate11);\n}\n\n.poll-combobox {\n position: relative;\n width: 100%;\n}\n\n.poll-combobox-content {\n position: absolute;\n z-index: 100;\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: white;\n border: 1px solid var(--slate5);\n border-radius: 0px 0px 4px 4px;\n gap: 2px;\n box-sizing: border-box;\n transition: max-height 0.5s ease-in-out;\n}\n\n.poll-combobox-item {\n display: inline-block;\n border-radius: 2px;\n padding: 2px 8px;\n transition: background-color 0.15s linear, color 0.15s linear;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.poll-select-item[data-state=checked] {\n background-color: var(--primary2);\n color: white;\n}\n\n.poll-select-item:focus-visible {\n background-color: var(--primary0);\n outline: solid 1px var(--primary);\n color: unset;\n outline-color: var(--primary);\n}\n\n.poll-select-item:hover {\n background-color: var(--primary0);\n cursor: pointer;\n color: unset;\n}\n\n.poll-separator {\n background-color: var(--slate5);\n height: 1px;\n width: 100%;\n margin: 4px 0;\n}\n\n.poll-combo-footer-container {\n transition: opacity 0.5s ease-in-out;\n}\n\n.poll-combo-group {\n width: fit-content;\n display: flex;\n border-radius: 4px;\n box-sizing: border-box;\n}\n\n.poll-combo-group:hover {\n box-shadow: 0 1px 2px 0 rgba(26, 115, 232, 0.45), 0 1px 3px 1px rgba(26, 115, 232, 0.3);\n}\n\n.poll-combo-group-disabled:hover {\n box-shadow: none;\n}\n\n.poll-combo-group input {\n width: 100%;\n}\n\n.poll-combo-group input::placeholder {\n color: var(--slate1);\n}\n\n.poll-combo-group-disabled input::placeholder {\n color: var(--slate10);\n}\n\n.poll-combo-group * {\n background-color: var(--primary);\n color: white;\n transition: background-color 0.125s ease-in-out;\n}\n\n.poll-combo-group-disabled * {\n background-color: var(--slate5);\n border-color: var(--slate11) !important;\n color: var(--slate11);\n cursor: default !important;\n}\n\n.poll-combo-group i,\n.poll-combo-group svg {\n border-radius: inherit;\n background-color: rgba(0, 0, 0, 0);\n}\n\n.poll-combo-group button,\n.poll-combo-group input {\n display: flex;\n padding: 8px 10px;\n cursor: pointer;\n float: left;\n z-index: 10;\n align-items: center;\n gap: 8px;\n border: 1px solid var(--primary);\n}\n\n.poll-combo-group button:first-child,\n.poll-combo-group input:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.poll-combo-group button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-left-color: #096dd9;\n}\n\n.poll-combo-group button:not(:last-child),\n.poll-combo-group input:not(:last-child) {\n border-right: none;\n}\n\n.poll-combo-group button:focus-visible,\n.poll-combo-group input:focus-visible {\n outline: none;\n}\n\n.poll-combo-group button:focus,\n.poll-combo-group input:focus {\n outline: none;\n}\n\n/* Clear floats (clearfix hack) */\n.poll-combo-group:after {\n content: \"\";\n clear: both;\n display: table;\n}\n\n.poll-combo-group button:hover,\n.poll-combo-group input:hover {\n background-color: var(--primary2);\n z-index: 11;\n}\n\n.poll-combo-group-disabled:hover button:hover,\n.poll-combo-group-disabled:hover input:hover {\n background-color: var(--slate5);\n}";
29385
- styleInject(css_248z$9);
29264
+ if (!element.contains(target)) {
29265
+ return false;
29266
+ }
29386
29267
 
29387
- const e$2="horizontal",n$3=["horizontal","vertical"];const Separator=/*#__PURE__*/React__namespace.forwardRef(((n,a)=>{const{decorative:p,orientation:l=e$2,...c}=n,s=i$3(l)?l:e$2,u=p?{role:"none"}:{"aria-orientation":"vertical"===s?s:void 0,role:"separator"};return React__namespace.createElement(Primitive.div,_extends$c({"data-orientation":s},u,c,{ref:a}))}));function i$3(r){return n$3.includes(r)}Separator.propTypes={orientation(r,o,t){const n=r[o],a=String(n);return n&&!i$3(n)?new Error(function(r,o){return `Invalid prop \`orientation\` of value \`${r}\` supplied to \`${o}\`, expected one of:\n - horizontal\n - vertical\n\nDefaulting to \`${e$2}\`.`}(a,t)):null}};const Root$8=Separator;
29268
+ var cursor = target;
29388
29269
 
29389
- /*!
29390
- * perfect-scrollbar v1.5.3
29391
- * Copyright 2021 Hyunje Jun, MDBootstrap and Contributors
29392
- * Licensed under MIT
29393
- */
29270
+ while (cursor && cursor !== element) {
29271
+ if (cursor.classList.contains(cls.element.consuming)) {
29272
+ return true;
29273
+ }
29394
29274
 
29395
- function get(element) {
29396
- return getComputedStyle(element);
29397
- }
29275
+ var style = get(cursor);
29398
29276
 
29399
- function set(element, obj) {
29400
- for (var key in obj) {
29401
- var val = obj[key];
29402
- if (typeof val === 'number') {
29403
- val = val + "px";
29277
+ // if deltaY && vertical scrollable
29278
+ if (deltaY && style.overflowY.match(/(scroll|auto)/)) {
29279
+ var maxScrollTop = cursor.scrollHeight - cursor.clientHeight;
29280
+ if (maxScrollTop > 0) {
29281
+ if (
29282
+ (cursor.scrollTop > 0 && deltaY < 0) ||
29283
+ (cursor.scrollTop < maxScrollTop && deltaY > 0)
29284
+ ) {
29285
+ return true;
29286
+ }
29287
+ }
29288
+ }
29289
+ // if deltaX && horizontal scrollable
29290
+ if (deltaX && style.overflowX.match(/(scroll|auto)/)) {
29291
+ var maxScrollLeft = cursor.scrollWidth - cursor.clientWidth;
29292
+ if (maxScrollLeft > 0) {
29293
+ if (
29294
+ (cursor.scrollLeft > 0 && deltaX < 0) ||
29295
+ (cursor.scrollLeft < maxScrollLeft && deltaX > 0)
29296
+ ) {
29297
+ return true;
29298
+ }
29299
+ }
29300
+ }
29301
+
29302
+ cursor = cursor.parentNode;
29404
29303
  }
29405
- element.style[key] = val;
29304
+
29305
+ return false;
29406
29306
  }
29407
- return element;
29408
- }
29409
29307
 
29410
- function div(className) {
29411
- var div = document.createElement('div');
29412
- div.className = className;
29413
- return div;
29414
- }
29308
+ function mousewheelHandler(e) {
29309
+ var ref = getDeltaFromEvent(e);
29310
+ var deltaX = ref[0];
29311
+ var deltaY = ref[1];
29415
29312
 
29416
- var elMatches =
29417
- typeof Element !== 'undefined' &&
29418
- (Element.prototype.matches ||
29419
- Element.prototype.webkitMatchesSelector ||
29420
- Element.prototype.mozMatchesSelector ||
29421
- Element.prototype.msMatchesSelector);
29313
+ if (shouldBeConsumedByChild(e.target, deltaX, deltaY)) {
29314
+ return;
29315
+ }
29422
29316
 
29423
- function matches(element, query) {
29424
- if (!elMatches) {
29425
- throw new Error('No element matching method supported');
29426
- }
29317
+ var shouldPrevent = false;
29318
+ if (!i.settings.useBothWheelAxes) {
29319
+ // deltaX will only be used for horizontal scrolling and deltaY will
29320
+ // only be used for vertical scrolling - this is the default
29321
+ element.scrollTop -= deltaY * i.settings.wheelSpeed;
29322
+ element.scrollLeft += deltaX * i.settings.wheelSpeed;
29323
+ } else if (i.scrollbarYActive && !i.scrollbarXActive) {
29324
+ // only vertical scrollbar is active and useBothWheelAxes option is
29325
+ // active, so let's scroll vertical bar using both mouse wheel axes
29326
+ if (deltaY) {
29327
+ element.scrollTop -= deltaY * i.settings.wheelSpeed;
29328
+ } else {
29329
+ element.scrollTop += deltaX * i.settings.wheelSpeed;
29330
+ }
29331
+ shouldPrevent = true;
29332
+ } else if (i.scrollbarXActive && !i.scrollbarYActive) {
29333
+ // useBothWheelAxes and only horizontal bar is active, so use both
29334
+ // wheel axes for horizontal bar
29335
+ if (deltaX) {
29336
+ element.scrollLeft += deltaX * i.settings.wheelSpeed;
29337
+ } else {
29338
+ element.scrollLeft -= deltaY * i.settings.wheelSpeed;
29339
+ }
29340
+ shouldPrevent = true;
29341
+ }
29427
29342
 
29428
- return elMatches.call(element, query);
29429
- }
29343
+ updateGeometry(i);
29430
29344
 
29431
- function remove(element) {
29432
- if (element.remove) {
29433
- element.remove();
29434
- } else {
29435
- if (element.parentNode) {
29436
- element.parentNode.removeChild(element);
29345
+ shouldPrevent = shouldPrevent || shouldPreventDefault(deltaX, deltaY);
29346
+ if (shouldPrevent && !e.ctrlKey) {
29347
+ e.stopPropagation();
29348
+ e.preventDefault();
29437
29349
  }
29438
29350
  }
29439
- }
29440
29351
 
29441
- function queryChildren(element, selector) {
29442
- return Array.prototype.filter.call(element.children, function (child) { return matches(child, selector); }
29443
- );
29352
+ if (typeof window.onwheel !== 'undefined') {
29353
+ i.event.bind(element, 'wheel', mousewheelHandler);
29354
+ } else if (typeof window.onmousewheel !== 'undefined') {
29355
+ i.event.bind(element, 'mousewheel', mousewheelHandler);
29356
+ }
29444
29357
  }
29445
29358
 
29446
- var cls = {
29447
- main: 'ps',
29448
- rtl: 'ps__rtl',
29449
- element: {
29450
- thumb: function (x) { return ("ps__thumb-" + x); },
29451
- rail: function (x) { return ("ps__rail-" + x); },
29452
- consuming: 'ps__child--consume',
29453
- },
29454
- state: {
29455
- focus: 'ps--focus',
29456
- clicking: 'ps--clicking',
29457
- active: function (x) { return ("ps--active-" + x); },
29458
- scrolling: function (x) { return ("ps--scrolling-" + x); },
29459
- },
29460
- };
29359
+ function touch(i) {
29360
+ if (!env.supportsTouch && !env.supportsIePointer) {
29361
+ return;
29362
+ }
29461
29363
 
29462
- /*
29463
- * Helper methods
29464
- */
29465
- var scrollingClassTimeout = { x: null, y: null };
29364
+ var element = i.element;
29466
29365
 
29467
- function addScrollingClass(i, x) {
29468
- var classList = i.element.classList;
29469
- var className = cls.state.scrolling(x);
29366
+ function shouldPrevent(deltaX, deltaY) {
29367
+ var scrollTop = Math.floor(element.scrollTop);
29368
+ var scrollLeft = element.scrollLeft;
29369
+ var magnitudeX = Math.abs(deltaX);
29370
+ var magnitudeY = Math.abs(deltaY);
29470
29371
 
29471
- if (classList.contains(className)) {
29472
- clearTimeout(scrollingClassTimeout[x]);
29473
- } else {
29474
- classList.add(className);
29475
- }
29476
- }
29372
+ if (magnitudeY > magnitudeX) {
29373
+ // user is perhaps trying to swipe up/down the page
29477
29374
 
29478
- function removeScrollingClass(i, x) {
29479
- scrollingClassTimeout[x] = setTimeout(
29480
- function () { return i.isAlive && i.element.classList.remove(cls.state.scrolling(x)); },
29481
- i.settings.scrollingThreshold
29482
- );
29483
- }
29375
+ if (
29376
+ (deltaY < 0 && scrollTop === i.contentHeight - i.containerHeight) ||
29377
+ (deltaY > 0 && scrollTop === 0)
29378
+ ) {
29379
+ // set prevent for mobile Chrome refresh
29380
+ return window.scrollY === 0 && deltaY > 0 && env.isChrome;
29381
+ }
29382
+ } else if (magnitudeX > magnitudeY) {
29383
+ // user is perhaps trying to swipe left/right across the page
29484
29384
 
29485
- function setScrollingClassInstantly(i, x) {
29486
- addScrollingClass(i, x);
29487
- removeScrollingClass(i, x);
29488
- }
29385
+ if (
29386
+ (deltaX < 0 && scrollLeft === i.contentWidth - i.containerWidth) ||
29387
+ (deltaX > 0 && scrollLeft === 0)
29388
+ ) {
29389
+ return true;
29390
+ }
29391
+ }
29489
29392
 
29490
- var EventElement = function EventElement(element) {
29491
- this.element = element;
29492
- this.handlers = {};
29493
- };
29393
+ return true;
29394
+ }
29494
29395
 
29495
- var prototypeAccessors = { isEmpty: { configurable: true } };
29396
+ function applyTouchMove(differenceX, differenceY) {
29397
+ element.scrollTop -= differenceY;
29398
+ element.scrollLeft -= differenceX;
29496
29399
 
29497
- EventElement.prototype.bind = function bind (eventName, handler) {
29498
- if (typeof this.handlers[eventName] === 'undefined') {
29499
- this.handlers[eventName] = [];
29400
+ updateGeometry(i);
29500
29401
  }
29501
- this.handlers[eventName].push(handler);
29502
- this.element.addEventListener(eventName, handler, false);
29503
- };
29504
29402
 
29505
- EventElement.prototype.unbind = function unbind (eventName, target) {
29506
- var this$1$1 = this;
29403
+ var startOffset = {};
29404
+ var startTime = 0;
29405
+ var speed = {};
29406
+ var easingLoop = null;
29507
29407
 
29508
- this.handlers[eventName] = this.handlers[eventName].filter(function (handler) {
29509
- if (target && handler !== target) {
29408
+ function getTouch(e) {
29409
+ if (e.targetTouches) {
29410
+ return e.targetTouches[0];
29411
+ } else {
29412
+ // Maybe IE pointer
29413
+ return e;
29414
+ }
29415
+ }
29416
+
29417
+ function shouldHandle(e) {
29418
+ if (e.pointerType && e.pointerType === 'pen' && e.buttons === 0) {
29419
+ return false;
29420
+ }
29421
+ if (e.targetTouches && e.targetTouches.length === 1) {
29422
+ return true;
29423
+ }
29424
+ if (
29425
+ e.pointerType &&
29426
+ e.pointerType !== 'mouse' &&
29427
+ e.pointerType !== e.MSPOINTER_TYPE_MOUSE
29428
+ ) {
29510
29429
  return true;
29511
29430
  }
29512
- this$1$1.element.removeEventListener(eventName, handler, false);
29513
29431
  return false;
29514
- });
29515
- };
29516
-
29517
- EventElement.prototype.unbindAll = function unbindAll () {
29518
- for (var name in this.handlers) {
29519
- this.unbind(name);
29520
29432
  }
29521
- };
29522
29433
 
29523
- prototypeAccessors.isEmpty.get = function () {
29524
- var this$1$1 = this;
29434
+ function touchStart(e) {
29435
+ if (!shouldHandle(e)) {
29436
+ return;
29437
+ }
29525
29438
 
29526
- return Object.keys(this.handlers).every(
29527
- function (key) { return this$1$1.handlers[key].length === 0; }
29528
- );
29529
- };
29439
+ var touch = getTouch(e);
29530
29440
 
29531
- Object.defineProperties( EventElement.prototype, prototypeAccessors );
29441
+ startOffset.pageX = touch.pageX;
29442
+ startOffset.pageY = touch.pageY;
29532
29443
 
29533
- var EventManager = function EventManager() {
29534
- this.eventElements = [];
29535
- };
29444
+ startTime = new Date().getTime();
29536
29445
 
29537
- EventManager.prototype.eventElement = function eventElement (element) {
29538
- var ee = this.eventElements.filter(function (ee) { return ee.element === element; })[0];
29539
- if (!ee) {
29540
- ee = new EventElement(element);
29541
- this.eventElements.push(ee);
29446
+ if (easingLoop !== null) {
29447
+ clearInterval(easingLoop);
29448
+ }
29542
29449
  }
29543
- return ee;
29544
- };
29545
29450
 
29546
- EventManager.prototype.bind = function bind (element, eventName, handler) {
29547
- this.eventElement(element).bind(eventName, handler);
29548
- };
29549
-
29550
- EventManager.prototype.unbind = function unbind (element, eventName, handler) {
29551
- var ee = this.eventElement(element);
29552
- ee.unbind(eventName, handler);
29451
+ function shouldBeConsumedByChild(target, deltaX, deltaY) {
29452
+ if (!element.contains(target)) {
29453
+ return false;
29454
+ }
29553
29455
 
29554
- if (ee.isEmpty) {
29555
- // remove
29556
- this.eventElements.splice(this.eventElements.indexOf(ee), 1);
29557
- }
29558
- };
29456
+ var cursor = target;
29559
29457
 
29560
- EventManager.prototype.unbindAll = function unbindAll () {
29561
- this.eventElements.forEach(function (e) { return e.unbindAll(); });
29562
- this.eventElements = [];
29563
- };
29458
+ while (cursor && cursor !== element) {
29459
+ if (cursor.classList.contains(cls.element.consuming)) {
29460
+ return true;
29461
+ }
29564
29462
 
29565
- EventManager.prototype.once = function once (element, eventName, handler) {
29566
- var ee = this.eventElement(element);
29567
- var onceHandler = function (evt) {
29568
- ee.unbind(eventName, onceHandler);
29569
- handler(evt);
29570
- };
29571
- ee.bind(eventName, onceHandler);
29572
- };
29463
+ var style = get(cursor);
29573
29464
 
29574
- function createEvent(name) {
29575
- if (typeof window.CustomEvent === 'function') {
29576
- return new CustomEvent(name);
29577
- } else {
29578
- var evt = document.createEvent('CustomEvent');
29579
- evt.initCustomEvent(name, false, false, undefined);
29580
- return evt;
29581
- }
29582
- }
29465
+ // if deltaY && vertical scrollable
29466
+ if (deltaY && style.overflowY.match(/(scroll|auto)/)) {
29467
+ var maxScrollTop = cursor.scrollHeight - cursor.clientHeight;
29468
+ if (maxScrollTop > 0) {
29469
+ if (
29470
+ (cursor.scrollTop > 0 && deltaY < 0) ||
29471
+ (cursor.scrollTop < maxScrollTop && deltaY > 0)
29472
+ ) {
29473
+ return true;
29474
+ }
29475
+ }
29476
+ }
29477
+ // if deltaX && horizontal scrollable
29478
+ if (deltaX && style.overflowX.match(/(scroll|auto)/)) {
29479
+ var maxScrollLeft = cursor.scrollWidth - cursor.clientWidth;
29480
+ if (maxScrollLeft > 0) {
29481
+ if (
29482
+ (cursor.scrollLeft > 0 && deltaX < 0) ||
29483
+ (cursor.scrollLeft < maxScrollLeft && deltaX > 0)
29484
+ ) {
29485
+ return true;
29486
+ }
29487
+ }
29488
+ }
29583
29489
 
29584
- function processScrollDiff(
29585
- i,
29586
- axis,
29587
- diff,
29588
- useScrollingClass,
29589
- forceFireReachEvent
29590
- ) {
29591
- if ( useScrollingClass === void 0 ) useScrollingClass = true;
29592
- if ( forceFireReachEvent === void 0 ) forceFireReachEvent = false;
29490
+ cursor = cursor.parentNode;
29491
+ }
29593
29492
 
29594
- var fields;
29595
- if (axis === 'top') {
29596
- fields = [
29597
- 'contentHeight',
29598
- 'containerHeight',
29599
- 'scrollTop',
29600
- 'y',
29601
- 'up',
29602
- 'down' ];
29603
- } else if (axis === 'left') {
29604
- fields = [
29605
- 'contentWidth',
29606
- 'containerWidth',
29607
- 'scrollLeft',
29608
- 'x',
29609
- 'left',
29610
- 'right' ];
29611
- } else {
29612
- throw new Error('A proper axis should be provided');
29493
+ return false;
29613
29494
  }
29614
29495
 
29615
- processScrollDiff$1(i, diff, fields, useScrollingClass, forceFireReachEvent);
29616
- }
29617
-
29618
- function processScrollDiff$1(
29619
- i,
29620
- diff,
29621
- ref,
29622
- useScrollingClass,
29623
- forceFireReachEvent
29624
- ) {
29625
- var contentHeight = ref[0];
29626
- var containerHeight = ref[1];
29627
- var scrollTop = ref[2];
29628
- var y = ref[3];
29629
- var up = ref[4];
29630
- var down = ref[5];
29631
- if ( useScrollingClass === void 0 ) useScrollingClass = true;
29632
- if ( forceFireReachEvent === void 0 ) forceFireReachEvent = false;
29496
+ function touchMove(e) {
29497
+ if (shouldHandle(e)) {
29498
+ var touch = getTouch(e);
29633
29499
 
29634
- var element = i.element;
29500
+ var currentOffset = { pageX: touch.pageX, pageY: touch.pageY };
29635
29501
 
29636
- // reset reach
29637
- i.reach[y] = null;
29502
+ var differenceX = currentOffset.pageX - startOffset.pageX;
29503
+ var differenceY = currentOffset.pageY - startOffset.pageY;
29638
29504
 
29639
- // 1 for subpixel rounding
29640
- if (element[scrollTop] < 1) {
29641
- i.reach[y] = 'start';
29642
- }
29505
+ if (shouldBeConsumedByChild(e.target, differenceX, differenceY)) {
29506
+ return;
29507
+ }
29643
29508
 
29644
- // 1 for subpixel rounding
29645
- if (element[scrollTop] > i[contentHeight] - i[containerHeight] - 1) {
29646
- i.reach[y] = 'end';
29647
- }
29509
+ applyTouchMove(differenceX, differenceY);
29510
+ startOffset = currentOffset;
29648
29511
 
29649
- if (diff) {
29650
- element.dispatchEvent(createEvent(("ps-scroll-" + y)));
29512
+ var currentTime = new Date().getTime();
29651
29513
 
29652
- if (diff < 0) {
29653
- element.dispatchEvent(createEvent(("ps-scroll-" + up)));
29654
- } else if (diff > 0) {
29655
- element.dispatchEvent(createEvent(("ps-scroll-" + down)));
29656
- }
29514
+ var timeGap = currentTime - startTime;
29515
+ if (timeGap > 0) {
29516
+ speed.x = differenceX / timeGap;
29517
+ speed.y = differenceY / timeGap;
29518
+ startTime = currentTime;
29519
+ }
29657
29520
 
29658
- if (useScrollingClass) {
29659
- setScrollingClassInstantly(i, y);
29521
+ if (shouldPrevent(differenceX, differenceY)) {
29522
+ e.preventDefault();
29523
+ }
29660
29524
  }
29661
29525
  }
29526
+ function touchEnd() {
29527
+ if (i.settings.swipeEasing) {
29528
+ clearInterval(easingLoop);
29529
+ easingLoop = setInterval(function() {
29530
+ if (i.isInitialized) {
29531
+ clearInterval(easingLoop);
29532
+ return;
29533
+ }
29662
29534
 
29663
- if (i.reach[y] && (diff || forceFireReachEvent)) {
29664
- element.dispatchEvent(createEvent(("ps-" + y + "-reach-" + (i.reach[y]))));
29665
- }
29666
- }
29535
+ if (!speed.x && !speed.y) {
29536
+ clearInterval(easingLoop);
29537
+ return;
29538
+ }
29667
29539
 
29668
- function toInt(x) {
29669
- return parseInt(x, 10) || 0;
29670
- }
29540
+ if (Math.abs(speed.x) < 0.01 && Math.abs(speed.y) < 0.01) {
29541
+ clearInterval(easingLoop);
29542
+ return;
29543
+ }
29671
29544
 
29672
- function isEditable(el) {
29673
- return (
29674
- matches(el, 'input,[contenteditable]') ||
29675
- matches(el, 'select,[contenteditable]') ||
29676
- matches(el, 'textarea,[contenteditable]') ||
29677
- matches(el, 'button,[contenteditable]')
29678
- );
29679
- }
29545
+ if (!i.element) {
29546
+ clearInterval(easingLoop);
29547
+ return;
29548
+ }
29680
29549
 
29681
- function outerWidth(element) {
29682
- var styles = get(element);
29683
- return (
29684
- toInt(styles.width) +
29685
- toInt(styles.paddingLeft) +
29686
- toInt(styles.paddingRight) +
29687
- toInt(styles.borderLeftWidth) +
29688
- toInt(styles.borderRightWidth)
29689
- );
29690
- }
29550
+ applyTouchMove(speed.x * 30, speed.y * 30);
29691
29551
 
29692
- var env = {
29693
- isWebKit:
29694
- typeof document !== 'undefined' &&
29695
- 'WebkitAppearance' in document.documentElement.style,
29696
- supportsTouch:
29697
- typeof window !== 'undefined' &&
29698
- ('ontouchstart' in window ||
29699
- ('maxTouchPoints' in window.navigator &&
29700
- window.navigator.maxTouchPoints > 0) ||
29701
- (window.DocumentTouch && document instanceof window.DocumentTouch)),
29702
- supportsIePointer:
29703
- typeof navigator !== 'undefined' && navigator.msMaxTouchPoints,
29704
- isChrome:
29705
- typeof navigator !== 'undefined' &&
29706
- /Chrome/i.test(navigator && navigator.userAgent),
29707
- };
29552
+ speed.x *= 0.8;
29553
+ speed.y *= 0.8;
29554
+ }, 10);
29555
+ }
29556
+ }
29708
29557
 
29709
- function updateGeometry(i) {
29710
- var element = i.element;
29711
- var roundedScrollTop = Math.floor(element.scrollTop);
29712
- var rect = element.getBoundingClientRect();
29558
+ if (env.supportsTouch) {
29559
+ i.event.bind(element, 'touchstart', touchStart);
29560
+ i.event.bind(element, 'touchmove', touchMove);
29561
+ i.event.bind(element, 'touchend', touchEnd);
29562
+ } else if (env.supportsIePointer) {
29563
+ if (window.PointerEvent) {
29564
+ i.event.bind(element, 'pointerdown', touchStart);
29565
+ i.event.bind(element, 'pointermove', touchMove);
29566
+ i.event.bind(element, 'pointerup', touchEnd);
29567
+ } else if (window.MSPointerEvent) {
29568
+ i.event.bind(element, 'MSPointerDown', touchStart);
29569
+ i.event.bind(element, 'MSPointerMove', touchMove);
29570
+ i.event.bind(element, 'MSPointerUp', touchEnd);
29571
+ }
29572
+ }
29573
+ }
29713
29574
 
29714
- i.containerWidth = Math.round(rect.width);
29715
- i.containerHeight = Math.round(rect.height);
29575
+ var defaultSettings = function () { return ({
29576
+ handlers: ['click-rail', 'drag-thumb', 'keyboard', 'wheel', 'touch'],
29577
+ maxScrollbarLength: null,
29578
+ minScrollbarLength: null,
29579
+ scrollingThreshold: 1000,
29580
+ scrollXMarginOffset: 0,
29581
+ scrollYMarginOffset: 0,
29582
+ suppressScrollX: false,
29583
+ suppressScrollY: false,
29584
+ swipeEasing: true,
29585
+ useBothWheelAxes: false,
29586
+ wheelPropagation: true,
29587
+ wheelSpeed: 1,
29588
+ }); };
29716
29589
 
29717
- i.contentWidth = element.scrollWidth;
29718
- i.contentHeight = element.scrollHeight;
29590
+ var handlers = {
29591
+ 'click-rail': clickRail,
29592
+ 'drag-thumb': dragThumb,
29593
+ keyboard: keyboard,
29594
+ wheel: wheel,
29595
+ touch: touch,
29596
+ };
29719
29597
 
29720
- if (!element.contains(i.scrollbarXRail)) {
29721
- // clean up and append
29722
- queryChildren(element, cls.element.rail('x')).forEach(function (el) { return remove(el); }
29723
- );
29724
- element.appendChild(i.scrollbarXRail);
29725
- }
29726
- if (!element.contains(i.scrollbarYRail)) {
29727
- // clean up and append
29728
- queryChildren(element, cls.element.rail('y')).forEach(function (el) { return remove(el); }
29729
- );
29730
- element.appendChild(i.scrollbarYRail);
29731
- }
29598
+ var PerfectScrollbar$1 = function PerfectScrollbar(element, userSettings) {
29599
+ var this$1$1 = this;
29600
+ if ( userSettings === void 0 ) userSettings = {};
29732
29601
 
29733
- if (
29734
- !i.settings.suppressScrollX &&
29735
- i.containerWidth + i.settings.scrollXMarginOffset < i.contentWidth
29736
- ) {
29737
- i.scrollbarXActive = true;
29738
- i.railXWidth = i.containerWidth - i.railXMarginWidth;
29739
- i.railXRatio = i.containerWidth / i.railXWidth;
29740
- i.scrollbarXWidth = getThumbSize(
29741
- i,
29742
- toInt((i.railXWidth * i.containerWidth) / i.contentWidth)
29743
- );
29744
- i.scrollbarXLeft = toInt(
29745
- ((i.negativeScrollAdjustment + element.scrollLeft) *
29746
- (i.railXWidth - i.scrollbarXWidth)) /
29747
- (i.contentWidth - i.containerWidth)
29748
- );
29749
- } else {
29750
- i.scrollbarXActive = false;
29602
+ if (typeof element === 'string') {
29603
+ element = document.querySelector(element);
29751
29604
  }
29752
29605
 
29753
- if (
29754
- !i.settings.suppressScrollY &&
29755
- i.containerHeight + i.settings.scrollYMarginOffset < i.contentHeight
29756
- ) {
29757
- i.scrollbarYActive = true;
29758
- i.railYHeight = i.containerHeight - i.railYMarginHeight;
29759
- i.railYRatio = i.containerHeight / i.railYHeight;
29760
- i.scrollbarYHeight = getThumbSize(
29761
- i,
29762
- toInt((i.railYHeight * i.containerHeight) / i.contentHeight)
29763
- );
29764
- i.scrollbarYTop = toInt(
29765
- (roundedScrollTop * (i.railYHeight - i.scrollbarYHeight)) /
29766
- (i.contentHeight - i.containerHeight)
29767
- );
29768
- } else {
29769
- i.scrollbarYActive = false;
29606
+ if (!element || !element.nodeName) {
29607
+ throw new Error('no element is specified to initialize PerfectScrollbar');
29770
29608
  }
29771
29609
 
29772
- if (i.scrollbarXLeft >= i.railXWidth - i.scrollbarXWidth) {
29773
- i.scrollbarXLeft = i.railXWidth - i.scrollbarXWidth;
29774
- }
29775
- if (i.scrollbarYTop >= i.railYHeight - i.scrollbarYHeight) {
29776
- i.scrollbarYTop = i.railYHeight - i.scrollbarYHeight;
29777
- }
29610
+ this.element = element;
29778
29611
 
29779
- updateCss(element, i);
29612
+ element.classList.add(cls.main);
29780
29613
 
29781
- if (i.scrollbarXActive) {
29782
- element.classList.add(cls.state.active('x'));
29783
- } else {
29784
- element.classList.remove(cls.state.active('x'));
29785
- i.scrollbarXWidth = 0;
29786
- i.scrollbarXLeft = 0;
29787
- element.scrollLeft = i.isRtl === true ? i.contentWidth : 0;
29788
- }
29789
- if (i.scrollbarYActive) {
29790
- element.classList.add(cls.state.active('y'));
29791
- } else {
29792
- element.classList.remove(cls.state.active('y'));
29793
- i.scrollbarYHeight = 0;
29794
- i.scrollbarYTop = 0;
29795
- element.scrollTop = 0;
29614
+ this.settings = defaultSettings();
29615
+ for (var key in userSettings) {
29616
+ this.settings[key] = userSettings[key];
29796
29617
  }
29797
- }
29798
29618
 
29799
- function getThumbSize(i, thumbSize) {
29800
- if (i.settings.minScrollbarLength) {
29801
- thumbSize = Math.max(thumbSize, i.settings.minScrollbarLength);
29802
- }
29803
- if (i.settings.maxScrollbarLength) {
29804
- thumbSize = Math.min(thumbSize, i.settings.maxScrollbarLength);
29805
- }
29806
- return thumbSize;
29807
- }
29619
+ this.containerWidth = null;
29620
+ this.containerHeight = null;
29621
+ this.contentWidth = null;
29622
+ this.contentHeight = null;
29808
29623
 
29809
- function updateCss(element, i) {
29810
- var xRailOffset = { width: i.railXWidth };
29811
- var roundedScrollTop = Math.floor(element.scrollTop);
29624
+ var focus = function () { return element.classList.add(cls.state.focus); };
29625
+ var blur = function () { return element.classList.remove(cls.state.focus); };
29812
29626
 
29813
- if (i.isRtl) {
29814
- xRailOffset.left =
29815
- i.negativeScrollAdjustment +
29816
- element.scrollLeft +
29817
- i.containerWidth -
29818
- i.contentWidth;
29819
- } else {
29820
- xRailOffset.left = element.scrollLeft;
29627
+ this.isRtl = get(element).direction === 'rtl';
29628
+ if (this.isRtl === true) {
29629
+ element.classList.add(cls.rtl);
29821
29630
  }
29822
- if (i.isScrollbarXUsingBottom) {
29823
- xRailOffset.bottom = i.scrollbarXBottom - roundedScrollTop;
29631
+ this.isNegativeScroll = (function () {
29632
+ var originalScrollLeft = element.scrollLeft;
29633
+ var result = null;
29634
+ element.scrollLeft = -1;
29635
+ result = element.scrollLeft < 0;
29636
+ element.scrollLeft = originalScrollLeft;
29637
+ return result;
29638
+ })();
29639
+ this.negativeScrollAdjustment = this.isNegativeScroll
29640
+ ? element.scrollWidth - element.clientWidth
29641
+ : 0;
29642
+ this.event = new EventManager();
29643
+ this.ownerDocument = element.ownerDocument || document;
29644
+
29645
+ this.scrollbarXRail = div(cls.element.rail('x'));
29646
+ element.appendChild(this.scrollbarXRail);
29647
+ this.scrollbarX = div(cls.element.thumb('x'));
29648
+ this.scrollbarXRail.appendChild(this.scrollbarX);
29649
+ this.scrollbarX.setAttribute('tabindex', 0);
29650
+ this.event.bind(this.scrollbarX, 'focus', focus);
29651
+ this.event.bind(this.scrollbarX, 'blur', blur);
29652
+ this.scrollbarXActive = null;
29653
+ this.scrollbarXWidth = null;
29654
+ this.scrollbarXLeft = null;
29655
+ var railXStyle = get(this.scrollbarXRail);
29656
+ this.scrollbarXBottom = parseInt(railXStyle.bottom, 10);
29657
+ if (isNaN(this.scrollbarXBottom)) {
29658
+ this.isScrollbarXUsingBottom = false;
29659
+ this.scrollbarXTop = toInt(railXStyle.top);
29824
29660
  } else {
29825
- xRailOffset.top = i.scrollbarXTop + roundedScrollTop;
29661
+ this.isScrollbarXUsingBottom = true;
29826
29662
  }
29827
- set(i.scrollbarXRail, xRailOffset);
29663
+ this.railBorderXWidth =
29664
+ toInt(railXStyle.borderLeftWidth) + toInt(railXStyle.borderRightWidth);
29665
+ // Set rail to display:block to calculate margins
29666
+ set(this.scrollbarXRail, { display: 'block' });
29667
+ this.railXMarginWidth =
29668
+ toInt(railXStyle.marginLeft) + toInt(railXStyle.marginRight);
29669
+ set(this.scrollbarXRail, { display: '' });
29670
+ this.railXWidth = null;
29671
+ this.railXRatio = null;
29828
29672
 
29829
- var yRailOffset = { top: roundedScrollTop, height: i.railYHeight };
29830
- if (i.isScrollbarYUsingRight) {
29831
- if (i.isRtl) {
29832
- yRailOffset.right =
29833
- i.contentWidth -
29834
- (i.negativeScrollAdjustment + element.scrollLeft) -
29835
- i.scrollbarYRight -
29836
- i.scrollbarYOuterWidth -
29837
- 9;
29838
- } else {
29839
- yRailOffset.right = i.scrollbarYRight - element.scrollLeft;
29840
- }
29673
+ this.scrollbarYRail = div(cls.element.rail('y'));
29674
+ element.appendChild(this.scrollbarYRail);
29675
+ this.scrollbarY = div(cls.element.thumb('y'));
29676
+ this.scrollbarYRail.appendChild(this.scrollbarY);
29677
+ this.scrollbarY.setAttribute('tabindex', 0);
29678
+ this.event.bind(this.scrollbarY, 'focus', focus);
29679
+ this.event.bind(this.scrollbarY, 'blur', blur);
29680
+ this.scrollbarYActive = null;
29681
+ this.scrollbarYHeight = null;
29682
+ this.scrollbarYTop = null;
29683
+ var railYStyle = get(this.scrollbarYRail);
29684
+ this.scrollbarYRight = parseInt(railYStyle.right, 10);
29685
+ if (isNaN(this.scrollbarYRight)) {
29686
+ this.isScrollbarYUsingRight = false;
29687
+ this.scrollbarYLeft = toInt(railYStyle.left);
29841
29688
  } else {
29842
- if (i.isRtl) {
29843
- yRailOffset.left =
29844
- i.negativeScrollAdjustment +
29845
- element.scrollLeft +
29846
- i.containerWidth * 2 -
29847
- i.contentWidth -
29848
- i.scrollbarYLeft -
29849
- i.scrollbarYOuterWidth;
29850
- } else {
29851
- yRailOffset.left = i.scrollbarYLeft + element.scrollLeft;
29852
- }
29689
+ this.isScrollbarYUsingRight = true;
29853
29690
  }
29854
- set(i.scrollbarYRail, yRailOffset);
29691
+ this.scrollbarYOuterWidth = this.isRtl ? outerWidth(this.scrollbarY) : null;
29692
+ this.railBorderYWidth =
29693
+ toInt(railYStyle.borderTopWidth) + toInt(railYStyle.borderBottomWidth);
29694
+ set(this.scrollbarYRail, { display: 'block' });
29695
+ this.railYMarginHeight =
29696
+ toInt(railYStyle.marginTop) + toInt(railYStyle.marginBottom);
29697
+ set(this.scrollbarYRail, { display: '' });
29698
+ this.railYHeight = null;
29699
+ this.railYRatio = null;
29855
29700
 
29856
- set(i.scrollbarX, {
29857
- left: i.scrollbarXLeft,
29858
- width: i.scrollbarXWidth - i.railBorderXWidth,
29859
- });
29860
- set(i.scrollbarY, {
29861
- top: i.scrollbarYTop,
29862
- height: i.scrollbarYHeight - i.railBorderYWidth,
29863
- });
29864
- }
29701
+ this.reach = {
29702
+ x:
29703
+ element.scrollLeft <= 0
29704
+ ? 'start'
29705
+ : element.scrollLeft >= this.contentWidth - this.containerWidth
29706
+ ? 'end'
29707
+ : null,
29708
+ y:
29709
+ element.scrollTop <= 0
29710
+ ? 'start'
29711
+ : element.scrollTop >= this.contentHeight - this.containerHeight
29712
+ ? 'end'
29713
+ : null,
29714
+ };
29865
29715
 
29866
- function clickRail(i) {
29867
- i.element;
29716
+ this.isAlive = true;
29868
29717
 
29869
- i.event.bind(i.scrollbarY, 'mousedown', function (e) { return e.stopPropagation(); });
29870
- i.event.bind(i.scrollbarYRail, 'mousedown', function (e) {
29871
- var positionTop =
29872
- e.pageY -
29873
- window.pageYOffset -
29874
- i.scrollbarYRail.getBoundingClientRect().top;
29875
- var direction = positionTop > i.scrollbarYTop ? 1 : -1;
29718
+ this.settings.handlers.forEach(function (handlerName) { return handlers[handlerName](this$1$1); });
29876
29719
 
29877
- i.element.scrollTop += direction * i.containerHeight;
29878
- updateGeometry(i);
29720
+ this.lastScrollTop = Math.floor(element.scrollTop); // for onScroll only
29721
+ this.lastScrollLeft = element.scrollLeft; // for onScroll only
29722
+ this.event.bind(this.element, 'scroll', function (e) { return this$1$1.onScroll(e); });
29723
+ updateGeometry(this);
29724
+ };
29879
29725
 
29880
- e.stopPropagation();
29881
- });
29726
+ PerfectScrollbar$1.prototype.update = function update () {
29727
+ if (!this.isAlive) {
29728
+ return;
29729
+ }
29882
29730
 
29883
- i.event.bind(i.scrollbarX, 'mousedown', function (e) { return e.stopPropagation(); });
29884
- i.event.bind(i.scrollbarXRail, 'mousedown', function (e) {
29885
- var positionLeft =
29886
- e.pageX -
29887
- window.pageXOffset -
29888
- i.scrollbarXRail.getBoundingClientRect().left;
29889
- var direction = positionLeft > i.scrollbarXLeft ? 1 : -1;
29731
+ // Recalcuate negative scrollLeft adjustment
29732
+ this.negativeScrollAdjustment = this.isNegativeScroll
29733
+ ? this.element.scrollWidth - this.element.clientWidth
29734
+ : 0;
29890
29735
 
29891
- i.element.scrollLeft += direction * i.containerWidth;
29892
- updateGeometry(i);
29736
+ // Recalculate rail margins
29737
+ set(this.scrollbarXRail, { display: 'block' });
29738
+ set(this.scrollbarYRail, { display: 'block' });
29739
+ this.railXMarginWidth =
29740
+ toInt(get(this.scrollbarXRail).marginLeft) +
29741
+ toInt(get(this.scrollbarXRail).marginRight);
29742
+ this.railYMarginHeight =
29743
+ toInt(get(this.scrollbarYRail).marginTop) +
29744
+ toInt(get(this.scrollbarYRail).marginBottom);
29893
29745
 
29894
- e.stopPropagation();
29895
- });
29896
- }
29746
+ // Hide scrollbars not to affect scrollWidth and scrollHeight
29747
+ set(this.scrollbarXRail, { display: 'none' });
29748
+ set(this.scrollbarYRail, { display: 'none' });
29897
29749
 
29898
- function dragThumb(i) {
29899
- bindMouseScrollHandler(i, [
29900
- 'containerWidth',
29901
- 'contentWidth',
29902
- 'pageX',
29903
- 'railXWidth',
29904
- 'scrollbarX',
29905
- 'scrollbarXWidth',
29906
- 'scrollLeft',
29907
- 'x',
29908
- 'scrollbarXRail' ]);
29909
- bindMouseScrollHandler(i, [
29910
- 'containerHeight',
29911
- 'contentHeight',
29912
- 'pageY',
29913
- 'railYHeight',
29914
- 'scrollbarY',
29915
- 'scrollbarYHeight',
29916
- 'scrollTop',
29917
- 'y',
29918
- 'scrollbarYRail' ]);
29919
- }
29750
+ updateGeometry(this);
29920
29751
 
29921
- function bindMouseScrollHandler(
29922
- i,
29923
- ref
29924
- ) {
29925
- var containerHeight = ref[0];
29926
- var contentHeight = ref[1];
29927
- var pageY = ref[2];
29928
- var railYHeight = ref[3];
29929
- var scrollbarY = ref[4];
29930
- var scrollbarYHeight = ref[5];
29931
- var scrollTop = ref[6];
29932
- var y = ref[7];
29933
- var scrollbarYRail = ref[8];
29752
+ processScrollDiff(this, 'top', 0, false, true);
29753
+ processScrollDiff(this, 'left', 0, false, true);
29934
29754
 
29935
- var element = i.element;
29755
+ set(this.scrollbarXRail, { display: '' });
29756
+ set(this.scrollbarYRail, { display: '' });
29757
+ };
29936
29758
 
29937
- var startingScrollTop = null;
29938
- var startingMousePageY = null;
29939
- var scrollBy = null;
29759
+ PerfectScrollbar$1.prototype.onScroll = function onScroll (e) {
29760
+ if (!this.isAlive) {
29761
+ return;
29762
+ }
29940
29763
 
29941
- function mouseMoveHandler(e) {
29942
- if (e.touches && e.touches[0]) {
29943
- e[pageY] = e.touches[0].pageY;
29944
- }
29945
- element[scrollTop] =
29946
- startingScrollTop + scrollBy * (e[pageY] - startingMousePageY);
29947
- addScrollingClass(i, y);
29948
- updateGeometry(i);
29764
+ updateGeometry(this);
29765
+ processScrollDiff(this, 'top', this.element.scrollTop - this.lastScrollTop);
29766
+ processScrollDiff(
29767
+ this,
29768
+ 'left',
29769
+ this.element.scrollLeft - this.lastScrollLeft
29770
+ );
29949
29771
 
29950
- e.stopPropagation();
29951
- if (e.type.startsWith('touch') && e.changedTouches.length > 1) {
29952
- e.preventDefault();
29953
- }
29954
- }
29772
+ this.lastScrollTop = Math.floor(this.element.scrollTop);
29773
+ this.lastScrollLeft = this.element.scrollLeft;
29774
+ };
29955
29775
 
29956
- function mouseUpHandler() {
29957
- removeScrollingClass(i, y);
29958
- i[scrollbarYRail].classList.remove(cls.state.clicking);
29959
- i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler);
29776
+ PerfectScrollbar$1.prototype.destroy = function destroy () {
29777
+ if (!this.isAlive) {
29778
+ return;
29960
29779
  }
29961
29780
 
29962
- function bindMoves(e, touchMode) {
29963
- startingScrollTop = element[scrollTop];
29964
- if (touchMode && e.touches) {
29965
- e[pageY] = e.touches[0].pageY;
29966
- }
29967
- startingMousePageY = e[pageY];
29968
- scrollBy =
29969
- (i[contentHeight] - i[containerHeight]) /
29970
- (i[railYHeight] - i[scrollbarYHeight]);
29971
- if (!touchMode) {
29972
- i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler);
29973
- i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler);
29974
- e.preventDefault();
29975
- } else {
29976
- i.event.bind(i.ownerDocument, 'touchmove', mouseMoveHandler);
29977
- }
29781
+ this.event.unbindAll();
29782
+ remove(this.scrollbarX);
29783
+ remove(this.scrollbarY);
29784
+ remove(this.scrollbarXRail);
29785
+ remove(this.scrollbarYRail);
29786
+ this.removePsClasses();
29978
29787
 
29979
- i[scrollbarYRail].classList.add(cls.state.clicking);
29788
+ // unset elements
29789
+ this.element = null;
29790
+ this.scrollbarX = null;
29791
+ this.scrollbarY = null;
29792
+ this.scrollbarXRail = null;
29793
+ this.scrollbarYRail = null;
29980
29794
 
29981
- e.stopPropagation();
29982
- }
29795
+ this.isAlive = false;
29796
+ };
29983
29797
 
29984
- i.event.bind(i[scrollbarY], 'mousedown', function (e) {
29985
- bindMoves(e);
29986
- });
29987
- i.event.bind(i[scrollbarY], 'touchstart', function (e) {
29988
- bindMoves(e, true);
29989
- });
29990
- }
29798
+ PerfectScrollbar$1.prototype.removePsClasses = function removePsClasses () {
29799
+ this.element.className = this.element.className
29800
+ .split(' ')
29801
+ .filter(function (name) { return !name.match(/^ps([-_].+|)$/); })
29802
+ .join(' ');
29803
+ };
29991
29804
 
29992
- function keyboard(i) {
29993
- var element = i.element;
29805
+ var perfectScrollbar_esm = /*#__PURE__*/Object.freeze({
29806
+ __proto__: null,
29807
+ 'default': PerfectScrollbar$1
29808
+ });
29994
29809
 
29995
- var elementHovered = function () { return matches(element, ':hover'); };
29996
- var scrollbarFocused = function () { return matches(i.scrollbarX, ':focus') || matches(i.scrollbarY, ':focus'); };
29810
+ var _propTypes = propTypes;
29997
29811
 
29998
- function shouldPreventDefault(deltaX, deltaY) {
29999
- var scrollTop = Math.floor(element.scrollTop);
30000
- if (deltaX === 0) {
30001
- if (!i.scrollbarYActive) {
30002
- return false;
30003
- }
30004
- if (
30005
- (scrollTop === 0 && deltaY > 0) ||
30006
- (scrollTop >= i.contentHeight - i.containerHeight && deltaY < 0)
30007
- ) {
30008
- return !i.settings.wheelPropagation;
30009
- }
30010
- }
29812
+ var _perfectScrollbar = /*@__PURE__*/getAugmentedNamespace(perfectScrollbar_esm);
30011
29813
 
30012
- var scrollLeft = element.scrollLeft;
30013
- if (deltaY === 0) {
30014
- if (!i.scrollbarXActive) {
30015
- return false;
30016
- }
30017
- if (
30018
- (scrollLeft === 0 && deltaX < 0) ||
30019
- (scrollLeft >= i.contentWidth - i.containerWidth && deltaX > 0)
30020
- ) {
30021
- return !i.settings.wheelPropagation;
30022
- }
30023
- }
30024
- return true;
30025
- }
29814
+ var scrollbar = createCommonjsModule(function (module, exports) {
30026
29815
 
30027
- i.event.bind(i.ownerDocument, 'keydown', function (e) {
30028
- if (
30029
- (e.isDefaultPrevented && e.isDefaultPrevented()) ||
30030
- e.defaultPrevented
30031
- ) {
30032
- return;
30033
- }
29816
+ Object.defineProperty(exports, "__esModule", {
29817
+ value: true
29818
+ });
30034
29819
 
30035
- if (!elementHovered() && !scrollbarFocused()) {
30036
- return;
30037
- }
29820
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
30038
29821
 
30039
- var activeElement = document.activeElement
30040
- ? document.activeElement
30041
- : i.ownerDocument.activeElement;
30042
- if (activeElement) {
30043
- if (activeElement.tagName === 'IFRAME') {
30044
- activeElement = activeElement.contentDocument.activeElement;
30045
- } else {
30046
- // go deeper if element is a webcomponent
30047
- while (activeElement.shadowRoot) {
30048
- activeElement = activeElement.shadowRoot.activeElement;
30049
- }
30050
- }
30051
- if (isEditable(activeElement)) {
30052
- return;
30053
- }
30054
- }
29822
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
29823
+
29824
+
29825
+
29826
+ var _react2 = _interopRequireDefault(React__default["default"]);
30055
29827
 
30056
- var deltaX = 0;
30057
- var deltaY = 0;
30058
29828
 
30059
- switch (e.which) {
30060
- case 37: // left
30061
- if (e.metaKey) {
30062
- deltaX = -i.contentWidth;
30063
- } else if (e.altKey) {
30064
- deltaX = -i.containerWidth;
30065
- } else {
30066
- deltaX = -30;
30067
- }
30068
- break;
30069
- case 38: // up
30070
- if (e.metaKey) {
30071
- deltaY = i.contentHeight;
30072
- } else if (e.altKey) {
30073
- deltaY = i.containerHeight;
30074
- } else {
30075
- deltaY = 30;
30076
- }
30077
- break;
30078
- case 39: // right
30079
- if (e.metaKey) {
30080
- deltaX = i.contentWidth;
30081
- } else if (e.altKey) {
30082
- deltaX = i.containerWidth;
30083
- } else {
30084
- deltaX = 30;
30085
- }
30086
- break;
30087
- case 40: // down
30088
- if (e.metaKey) {
30089
- deltaY = -i.contentHeight;
30090
- } else if (e.altKey) {
30091
- deltaY = -i.containerHeight;
30092
- } else {
30093
- deltaY = -30;
30094
- }
30095
- break;
30096
- case 32: // space bar
30097
- if (e.shiftKey) {
30098
- deltaY = i.containerHeight;
30099
- } else {
30100
- deltaY = -i.containerHeight;
30101
- }
30102
- break;
30103
- case 33: // page up
30104
- deltaY = i.containerHeight;
30105
- break;
30106
- case 34: // page down
30107
- deltaY = -i.containerHeight;
30108
- break;
30109
- case 36: // home
30110
- deltaY = i.contentHeight;
30111
- break;
30112
- case 35: // end
30113
- deltaY = -i.contentHeight;
30114
- break;
30115
- default:
30116
- return;
30117
- }
30118
29829
 
30119
- if (i.settings.suppressScrollX && deltaX !== 0) {
30120
- return;
30121
- }
30122
- if (i.settings.suppressScrollY && deltaY !== 0) {
30123
- return;
30124
- }
30125
29830
 
30126
- element.scrollTop -= deltaY;
30127
- element.scrollLeft += deltaX;
30128
- updateGeometry(i);
30129
29831
 
30130
- if (shouldPreventDefault(deltaX, deltaY)) {
30131
- e.preventDefault();
30132
- }
30133
- });
30134
- }
29832
+ var _perfectScrollbar2 = _interopRequireDefault(_perfectScrollbar);
30135
29833
 
30136
- function wheel(i) {
30137
- var element = i.element;
29834
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30138
29835
 
30139
- function shouldPreventDefault(deltaX, deltaY) {
30140
- var roundedScrollTop = Math.floor(element.scrollTop);
30141
- var isTop = element.scrollTop === 0;
30142
- var isBottom =
30143
- roundedScrollTop + element.offsetHeight === element.scrollHeight;
30144
- var isLeft = element.scrollLeft === 0;
30145
- var isRight =
30146
- element.scrollLeft + element.offsetWidth === element.scrollWidth;
29836
+ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
30147
29837
 
30148
- var hitsBound;
29838
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30149
29839
 
30150
- // pick axis with primary direction
30151
- if (Math.abs(deltaY) > Math.abs(deltaX)) {
30152
- hitsBound = isTop || isBottom;
30153
- } else {
30154
- hitsBound = isLeft || isRight;
30155
- }
29840
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
30156
29841
 
30157
- return hitsBound ? !i.settings.wheelPropagation : true;
29842
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
29843
+
29844
+ var handlerNameByEvent = {
29845
+ 'ps-scroll-y': 'onScrollY',
29846
+ 'ps-scroll-x': 'onScrollX',
29847
+ 'ps-scroll-up': 'onScrollUp',
29848
+ 'ps-scroll-down': 'onScrollDown',
29849
+ 'ps-scroll-left': 'onScrollLeft',
29850
+ 'ps-scroll-right': 'onScrollRight',
29851
+ 'ps-y-reach-start': 'onYReachStart',
29852
+ 'ps-y-reach-end': 'onYReachEnd',
29853
+ 'ps-x-reach-start': 'onXReachStart',
29854
+ 'ps-x-reach-end': 'onXReachEnd'
29855
+ };
29856
+ Object.freeze(handlerNameByEvent);
29857
+
29858
+ var ScrollBar = function (_Component) {
29859
+ _inherits(ScrollBar, _Component);
29860
+
29861
+ function ScrollBar(props) {
29862
+ _classCallCheck(this, ScrollBar);
29863
+
29864
+ var _this = _possibleConstructorReturn(this, (ScrollBar.__proto__ || Object.getPrototypeOf(ScrollBar)).call(this, props));
29865
+
29866
+ _this.handleRef = _this.handleRef.bind(_this);
29867
+ _this._handlerByEvent = {};
29868
+ return _this;
30158
29869
  }
30159
29870
 
30160
- function getDeltaFromEvent(e) {
30161
- var deltaX = e.deltaX;
30162
- var deltaY = -1 * e.deltaY;
29871
+ _createClass(ScrollBar, [{
29872
+ key: 'componentDidMount',
29873
+ value: function componentDidMount() {
29874
+ if (this.props.option) {
29875
+ console.warn('react-perfect-scrollbar: the "option" prop has been deprecated in favor of "options"');
29876
+ }
30163
29877
 
30164
- if (typeof deltaX === 'undefined' || typeof deltaY === 'undefined') {
30165
- // OS X Safari
30166
- deltaX = (-1 * e.wheelDeltaX) / 6;
30167
- deltaY = e.wheelDeltaY / 6;
29878
+ this._ps = new _perfectScrollbar2.default(this._container, this.props.options || this.props.option);
29879
+ // hook up events
29880
+ this._updateEventHook();
29881
+ this._updateClassName();
30168
29882
  }
29883
+ }, {
29884
+ key: 'componentDidUpdate',
29885
+ value: function componentDidUpdate(prevProps) {
29886
+ this._updateEventHook(prevProps);
30169
29887
 
30170
- if (e.deltaMode && e.deltaMode === 1) {
30171
- // Firefox in deltaMode 1: Line scrolling
30172
- deltaX *= 10;
30173
- deltaY *= 10;
29888
+ this.updateScroll();
29889
+
29890
+ if (prevProps.className !== this.props.className) {
29891
+ this._updateClassName();
29892
+ }
30174
29893
  }
29894
+ }, {
29895
+ key: 'componentWillUnmount',
29896
+ value: function componentWillUnmount() {
29897
+ var _this2 = this;
30175
29898
 
30176
- if (deltaX !== deltaX && deltaY !== deltaY /* NaN checks */) {
30177
- // IE in some mouse drivers
30178
- deltaX = 0;
30179
- deltaY = e.wheelDelta;
29899
+ // unhook up evens
29900
+ Object.keys(this._handlerByEvent).forEach(function (key) {
29901
+ var value = _this2._handlerByEvent[key];
29902
+
29903
+ if (value) {
29904
+ _this2._container.removeEventListener(key, value, false);
29905
+ }
29906
+ });
29907
+ this._handlerByEvent = {};
29908
+ this._ps.destroy();
29909
+ this._ps = null;
30180
29910
  }
29911
+ }, {
29912
+ key: '_updateEventHook',
29913
+ value: function _updateEventHook() {
29914
+ var _this3 = this;
30181
29915
 
30182
- if (e.shiftKey) {
30183
- // reverse axis with shift key
30184
- return [-deltaY, -deltaX];
29916
+ var prevProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
29917
+
29918
+ // hook up events
29919
+ Object.keys(handlerNameByEvent).forEach(function (key) {
29920
+ var callback = _this3.props[handlerNameByEvent[key]];
29921
+ var prevCallback = prevProps[handlerNameByEvent[key]];
29922
+ if (callback !== prevCallback) {
29923
+ if (prevCallback) {
29924
+ var prevHandler = _this3._handlerByEvent[key];
29925
+ _this3._container.removeEventListener(key, prevHandler, false);
29926
+ _this3._handlerByEvent[key] = null;
29927
+ }
29928
+ if (callback) {
29929
+ var handler = function handler() {
29930
+ return callback(_this3._container);
29931
+ };
29932
+ _this3._container.addEventListener(key, handler, false);
29933
+ _this3._handlerByEvent[key] = handler;
29934
+ }
29935
+ }
29936
+ });
30185
29937
  }
30186
- return [deltaX, deltaY];
30187
- }
29938
+ }, {
29939
+ key: '_updateClassName',
29940
+ value: function _updateClassName() {
29941
+ var className = this.props.className;
30188
29942
 
30189
- function shouldBeConsumedByChild(target, deltaX, deltaY) {
30190
- // FIXME: this is a workaround for <select> issue in FF and IE #571
30191
- if (!env.isWebKit && element.querySelector('select:focus')) {
30192
- return true;
29943
+
29944
+ var psClassNames = this._container.className.split(' ').filter(function (name) {
29945
+ return name.match(/^ps([-_].+|)$/);
29946
+ }).join(' ');
29947
+
29948
+ if (this._container) {
29949
+ this._container.className = 'scrollbar-container' + (className ? ' ' + className : '') + (psClassNames ? ' ' + psClassNames : '');
29950
+ }
29951
+ }
29952
+ }, {
29953
+ key: 'updateScroll',
29954
+ value: function updateScroll() {
29955
+ this.props.onSync(this._ps);
29956
+ }
29957
+ }, {
29958
+ key: 'handleRef',
29959
+ value: function handleRef(ref) {
29960
+ this._container = ref;
29961
+ this.props.containerRef(ref);
30193
29962
  }
29963
+ }, {
29964
+ key: 'render',
29965
+ value: function render() {
29966
+ var _props = this.props;
29967
+ _props.className;
29968
+ var style = _props.style;
29969
+ _props.option;
29970
+ _props.options;
29971
+ _props.containerRef;
29972
+ _props.onScrollY;
29973
+ _props.onScrollX;
29974
+ _props.onScrollUp;
29975
+ _props.onScrollDown;
29976
+ _props.onScrollLeft;
29977
+ _props.onScrollRight;
29978
+ _props.onYReachStart;
29979
+ _props.onYReachEnd;
29980
+ _props.onXReachStart;
29981
+ _props.onXReachEnd;
29982
+ var component = _props.component;
29983
+ _props.onSync;
29984
+ var children = _props.children,
29985
+ remainProps = _objectWithoutProperties(_props, ['className', 'style', 'option', 'options', 'containerRef', 'onScrollY', 'onScrollX', 'onScrollUp', 'onScrollDown', 'onScrollLeft', 'onScrollRight', 'onYReachStart', 'onYReachEnd', 'onXReachStart', 'onXReachEnd', 'component', 'onSync', 'children']);
29986
+
29987
+ var Comp = component;
30194
29988
 
30195
- if (!element.contains(target)) {
30196
- return false;
29989
+ return _react2.default.createElement(
29990
+ Comp,
29991
+ _extends({ style: style, ref: this.handleRef }, remainProps),
29992
+ children
29993
+ );
30197
29994
  }
29995
+ }]);
30198
29996
 
30199
- var cursor = target;
30200
-
30201
- while (cursor && cursor !== element) {
30202
- if (cursor.classList.contains(cls.element.consuming)) {
30203
- return true;
30204
- }
29997
+ return ScrollBar;
29998
+ }(React__default["default"].Component);
30205
29999
 
30206
- var style = get(cursor);
30000
+ exports.default = ScrollBar;
30207
30001
 
30208
- // if deltaY && vertical scrollable
30209
- if (deltaY && style.overflowY.match(/(scroll|auto)/)) {
30210
- var maxScrollTop = cursor.scrollHeight - cursor.clientHeight;
30211
- if (maxScrollTop > 0) {
30212
- if (
30213
- (cursor.scrollTop > 0 && deltaY < 0) ||
30214
- (cursor.scrollTop < maxScrollTop && deltaY > 0)
30215
- ) {
30216
- return true;
30217
- }
30218
- }
30219
- }
30220
- // if deltaX && horizontal scrollable
30221
- if (deltaX && style.overflowX.match(/(scroll|auto)/)) {
30222
- var maxScrollLeft = cursor.scrollWidth - cursor.clientWidth;
30223
- if (maxScrollLeft > 0) {
30224
- if (
30225
- (cursor.scrollLeft > 0 && deltaX < 0) ||
30226
- (cursor.scrollLeft < maxScrollLeft && deltaX > 0)
30227
- ) {
30228
- return true;
30229
- }
30230
- }
30231
- }
30232
30002
 
30233
- cursor = cursor.parentNode;
30234
- }
30003
+ ScrollBar.defaultProps = {
30004
+ className: '',
30005
+ style: undefined,
30006
+ option: undefined,
30007
+ options: undefined,
30008
+ containerRef: function containerRef() {},
30009
+ onScrollY: undefined,
30010
+ onScrollX: undefined,
30011
+ onScrollUp: undefined,
30012
+ onScrollDown: undefined,
30013
+ onScrollLeft: undefined,
30014
+ onScrollRight: undefined,
30015
+ onYReachStart: undefined,
30016
+ onYReachEnd: undefined,
30017
+ onXReachStart: undefined,
30018
+ onXReachEnd: undefined,
30019
+ onSync: function onSync(ps) {
30020
+ return ps.update();
30021
+ },
30022
+ component: 'div'
30023
+ };
30235
30024
 
30236
- return false;
30237
- }
30025
+ ScrollBar.propTypes = {
30026
+ children: _propTypes.PropTypes.node.isRequired,
30027
+ className: _propTypes.PropTypes.string,
30028
+ style: _propTypes.PropTypes.object,
30029
+ option: _propTypes.PropTypes.object,
30030
+ options: _propTypes.PropTypes.object,
30031
+ containerRef: _propTypes.PropTypes.func,
30032
+ onScrollY: _propTypes.PropTypes.func,
30033
+ onScrollX: _propTypes.PropTypes.func,
30034
+ onScrollUp: _propTypes.PropTypes.func,
30035
+ onScrollDown: _propTypes.PropTypes.func,
30036
+ onScrollLeft: _propTypes.PropTypes.func,
30037
+ onScrollRight: _propTypes.PropTypes.func,
30038
+ onYReachStart: _propTypes.PropTypes.func,
30039
+ onYReachEnd: _propTypes.PropTypes.func,
30040
+ onXReachStart: _propTypes.PropTypes.func,
30041
+ onXReachEnd: _propTypes.PropTypes.func,
30042
+ onSync: _propTypes.PropTypes.func,
30043
+ component: _propTypes.PropTypes.string
30044
+ };
30045
+ module.exports = exports['default'];
30046
+ });
30238
30047
 
30239
- function mousewheelHandler(e) {
30240
- var ref = getDeltaFromEvent(e);
30241
- var deltaX = ref[0];
30242
- var deltaY = ref[1];
30048
+ var lib = createCommonjsModule(function (module, exports) {
30243
30049
 
30244
- if (shouldBeConsumedByChild(e.target, deltaX, deltaY)) {
30245
- return;
30246
- }
30050
+ Object.defineProperty(exports, "__esModule", {
30051
+ value: true
30052
+ });
30247
30053
 
30248
- var shouldPrevent = false;
30249
- if (!i.settings.useBothWheelAxes) {
30250
- // deltaX will only be used for horizontal scrolling and deltaY will
30251
- // only be used for vertical scrolling - this is the default
30252
- element.scrollTop -= deltaY * i.settings.wheelSpeed;
30253
- element.scrollLeft += deltaX * i.settings.wheelSpeed;
30254
- } else if (i.scrollbarYActive && !i.scrollbarXActive) {
30255
- // only vertical scrollbar is active and useBothWheelAxes option is
30256
- // active, so let's scroll vertical bar using both mouse wheel axes
30257
- if (deltaY) {
30258
- element.scrollTop -= deltaY * i.settings.wheelSpeed;
30259
- } else {
30260
- element.scrollTop += deltaX * i.settings.wheelSpeed;
30261
- }
30262
- shouldPrevent = true;
30263
- } else if (i.scrollbarXActive && !i.scrollbarYActive) {
30264
- // useBothWheelAxes and only horizontal bar is active, so use both
30265
- // wheel axes for horizontal bar
30266
- if (deltaX) {
30267
- element.scrollLeft += deltaX * i.settings.wheelSpeed;
30268
- } else {
30269
- element.scrollLeft -= deltaY * i.settings.wheelSpeed;
30270
- }
30271
- shouldPrevent = true;
30272
- }
30273
30054
 
30274
- updateGeometry(i);
30275
30055
 
30276
- shouldPrevent = shouldPrevent || shouldPreventDefault(deltaX, deltaY);
30277
- if (shouldPrevent && !e.ctrlKey) {
30278
- e.stopPropagation();
30279
- e.preventDefault();
30280
- }
30281
- }
30056
+ var _scrollbar2 = _interopRequireDefault(scrollbar);
30282
30057
 
30283
- if (typeof window.onwheel !== 'undefined') {
30284
- i.event.bind(element, 'wheel', mousewheelHandler);
30285
- } else if (typeof window.onmousewheel !== 'undefined') {
30286
- i.event.bind(element, 'mousewheel', mousewheelHandler);
30287
- }
30288
- }
30058
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30289
30059
 
30290
- function touch(i) {
30291
- if (!env.supportsTouch && !env.supportsIePointer) {
30292
- return;
30293
- }
30060
+ exports.default = _scrollbar2.default;
30061
+ module.exports = exports['default'];
30062
+ });
30294
30063
 
30295
- var element = i.element;
30064
+ var PerfectScrollbar = /*@__PURE__*/getDefaultExportFromCjs(lib);
30296
30065
 
30297
- function shouldPrevent(deltaX, deltaY) {
30298
- var scrollTop = Math.floor(element.scrollTop);
30299
- var scrollLeft = element.scrollLeft;
30300
- var magnitudeX = Math.abs(deltaX);
30301
- var magnitudeY = Math.abs(deltaY);
30066
+ function styleInject(css, ref) {
30067
+ if ( ref === void 0 ) ref = {};
30068
+ var insertAt = ref.insertAt;
30302
30069
 
30303
- if (magnitudeY > magnitudeX) {
30304
- // user is perhaps trying to swipe up/down the page
30070
+ if (!css || typeof document === 'undefined') { return; }
30305
30071
 
30306
- if (
30307
- (deltaY < 0 && scrollTop === i.contentHeight - i.containerHeight) ||
30308
- (deltaY > 0 && scrollTop === 0)
30309
- ) {
30310
- // set prevent for mobile Chrome refresh
30311
- return window.scrollY === 0 && deltaY > 0 && env.isChrome;
30312
- }
30313
- } else if (magnitudeX > magnitudeY) {
30314
- // user is perhaps trying to swipe left/right across the page
30072
+ var head = document.head || document.getElementsByTagName('head')[0];
30073
+ var style = document.createElement('style');
30074
+ style.type = 'text/css';
30315
30075
 
30316
- if (
30317
- (deltaX < 0 && scrollLeft === i.contentWidth - i.containerWidth) ||
30318
- (deltaX > 0 && scrollLeft === 0)
30319
- ) {
30320
- return true;
30321
- }
30076
+ if (insertAt === 'top') {
30077
+ if (head.firstChild) {
30078
+ head.insertBefore(style, head.firstChild);
30079
+ } else {
30080
+ head.appendChild(style);
30322
30081
  }
30323
-
30324
- return true;
30082
+ } else {
30083
+ head.appendChild(style);
30325
30084
  }
30326
30085
 
30327
- function applyTouchMove(differenceX, differenceY) {
30328
- element.scrollTop -= differenceY;
30329
- element.scrollLeft -= differenceX;
30330
-
30331
- updateGeometry(i);
30086
+ if (style.styleSheet) {
30087
+ style.styleSheet.cssText = css;
30088
+ } else {
30089
+ style.appendChild(document.createTextNode(css));
30332
30090
  }
30091
+ }
30333
30092
 
30334
- var startOffset = {};
30335
- var startTime = 0;
30336
- var speed = {};
30337
- var easingLoop = null;
30093
+ var css_248z$a = "/*\n * Container style\n */\n.ps {\n overflow: hidden !important;\n overflow-anchor: none;\n -ms-overflow-style: none;\n touch-action: auto;\n -ms-touch-action: auto;\n}\n\n/*\n * Scrollbar rail styles\n */\n.ps__rail-x {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n height: 15px;\n /* there must be 'bottom' or 'top' for ps__rail-x */\n bottom: 0px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-y {\n display: none;\n opacity: 0;\n transition: background-color .2s linear, opacity .2s linear;\n -webkit-transition: background-color .2s linear, opacity .2s linear;\n width: 15px;\n /* there must be 'right' or 'left' for ps__rail-y */\n right: 0;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps--active-x > .ps__rail-x,\n.ps--active-y > .ps__rail-y {\n display: block;\n background-color: transparent;\n}\n\n.ps:hover > .ps__rail-x,\n.ps:hover > .ps__rail-y,\n.ps--focus > .ps__rail-x,\n.ps--focus > .ps__rail-y,\n.ps--scrolling-x > .ps__rail-x,\n.ps--scrolling-y > .ps__rail-y {\n opacity: 0.6;\n}\n\n.ps .ps__rail-x:hover,\n.ps .ps__rail-y:hover,\n.ps .ps__rail-x:focus,\n.ps .ps__rail-y:focus,\n.ps .ps__rail-x.ps--clicking,\n.ps .ps__rail-y.ps--clicking {\n background-color: #eee;\n opacity: 0.9;\n}\n\n/*\n * Scrollbar thumb styles\n */\n.ps__thumb-x {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, height .2s ease-in-out;\n -webkit-transition: background-color .2s linear, height .2s ease-in-out;\n height: 6px;\n /* there must be 'bottom' for ps__thumb-x */\n bottom: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__thumb-y {\n background-color: #aaa;\n border-radius: 6px;\n transition: background-color .2s linear, width .2s ease-in-out;\n -webkit-transition: background-color .2s linear, width .2s ease-in-out;\n width: 6px;\n /* there must be 'right' for ps__thumb-y */\n right: 2px;\n /* please don't change 'position' */\n position: absolute;\n}\n\n.ps__rail-x:hover > .ps__thumb-x,\n.ps__rail-x:focus > .ps__thumb-x,\n.ps__rail-x.ps--clicking .ps__thumb-x {\n background-color: #999;\n height: 11px;\n}\n\n.ps__rail-y:hover > .ps__thumb-y,\n.ps__rail-y:focus > .ps__thumb-y,\n.ps__rail-y.ps--clicking .ps__thumb-y {\n background-color: #999;\n width: 11px;\n}\n\n/* MS supports */\n@supports (-ms-overflow-style: none) {\n .ps {\n overflow: auto !important;\n }\n}\n\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\n .ps {\n overflow: auto !important;\n }\n}\n.scrollbar-container {\n position: relative;\n height: 100%; }";
30094
+ styleInject(css_248z$a);
30338
30095
 
30339
- function getTouch(e) {
30340
- if (e.targetTouches) {
30341
- return e.targetTouches[0];
30342
- } else {
30343
- // Maybe IE pointer
30344
- return e;
30345
- }
30346
- }
30096
+ const e$2="horizontal",n$3=["horizontal","vertical"];const Separator=/*#__PURE__*/React__namespace.forwardRef(((n,a)=>{const{decorative:p,orientation:l=e$2,...c}=n,s=i$3(l)?l:e$2,u=p?{role:"none"}:{"aria-orientation":"vertical"===s?s:void 0,role:"separator"};return React__namespace.createElement(Primitive.div,_extends$c({"data-orientation":s},u,c,{ref:a}))}));function i$3(r){return n$3.includes(r)}Separator.propTypes={orientation(r,o,t){const n=r[o],a=String(n);return n&&!i$3(n)?new Error(function(r,o){return `Invalid prop \`orientation\` of value \`${r}\` supplied to \`${o}\`, expected one of:\n - horizontal\n - vertical\n\nDefaulting to \`${e$2}\`.`}(a,t)):null}};const Root$8=Separator;
30347
30097
 
30348
- function shouldHandle(e) {
30349
- if (e.pointerType && e.pointerType === 'pen' && e.buttons === 0) {
30350
- return false;
30351
- }
30352
- if (e.targetTouches && e.targetTouches.length === 1) {
30353
- return true;
30354
- }
30355
- if (
30356
- e.pointerType &&
30357
- e.pointerType !== 'mouse' &&
30358
- e.pointerType !== e.MSPOINTER_TYPE_MOUSE
30359
- ) {
30360
- return true;
30361
- }
30362
- return false;
30363
- }
30098
+ var _excluded$c = ["color", "size", "title"];
30364
30099
 
30365
- function touchStart(e) {
30366
- if (!shouldHandle(e)) {
30367
- return;
30368
- }
30100
+ function _extends$b() { _extends$b = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$b.apply(this, arguments); }
30369
30101
 
30370
- var touch = getTouch(e);
30102
+ function _objectWithoutProperties$c(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$c(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30371
30103
 
30372
- startOffset.pageX = touch.pageX;
30373
- startOffset.pageY = touch.pageY;
30104
+ function _objectWithoutPropertiesLoose$c(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30105
+ var ArrowClockwise = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30106
+ var color = _ref.color,
30107
+ size = _ref.size,
30108
+ title = _ref.title,
30109
+ rest = _objectWithoutProperties$c(_ref, _excluded$c);
30374
30110
 
30375
- startTime = new Date().getTime();
30111
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$b({
30112
+ ref: ref,
30113
+ xmlns: "http://www.w3.org/2000/svg",
30114
+ viewBox: "0 0 16 16",
30115
+ width: size,
30116
+ height: size,
30117
+ fill: color
30118
+ }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
30119
+ fillRule: "evenodd",
30120
+ d: "M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z"
30121
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
30122
+ d: "M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z"
30123
+ }));
30124
+ });
30125
+ ArrowClockwise.propTypes = {
30126
+ color: propTypes.string,
30127
+ size: propTypes.oneOfType([propTypes.string, propTypes.number]),
30128
+ title: propTypes.string
30129
+ };
30130
+ ArrowClockwise.defaultProps = {
30131
+ color: 'currentColor',
30132
+ size: '1em',
30133
+ title: null
30134
+ };
30135
+ var ArrowClockwise$1 = ArrowClockwise;
30376
30136
 
30377
- if (easingLoop !== null) {
30378
- clearInterval(easingLoop);
30379
- }
30380
- }
30137
+ var _excluded$b = ["color", "size", "title"];
30381
30138
 
30382
- function shouldBeConsumedByChild(target, deltaX, deltaY) {
30383
- if (!element.contains(target)) {
30384
- return false;
30385
- }
30139
+ function _extends$a() { _extends$a = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$a.apply(this, arguments); }
30386
30140
 
30387
- var cursor = target;
30141
+ function _objectWithoutProperties$b(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$b(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30388
30142
 
30389
- while (cursor && cursor !== element) {
30390
- if (cursor.classList.contains(cls.element.consuming)) {
30391
- return true;
30392
- }
30143
+ function _objectWithoutPropertiesLoose$b(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30144
+ var ArrowDown = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30145
+ var color = _ref.color,
30146
+ size = _ref.size,
30147
+ title = _ref.title,
30148
+ rest = _objectWithoutProperties$b(_ref, _excluded$b);
30393
30149
 
30394
- var style = get(cursor);
30150
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$a({
30151
+ ref: ref,
30152
+ xmlns: "http://www.w3.org/2000/svg",
30153
+ viewBox: "0 0 16 16",
30154
+ width: size,
30155
+ height: size,
30156
+ fill: color
30157
+ }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
30158
+ fillRule: "evenodd",
30159
+ d: "M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z"
30160
+ }));
30161
+ });
30162
+ ArrowDown.propTypes = {
30163
+ color: propTypes.string,
30164
+ size: propTypes.oneOfType([propTypes.string, propTypes.number]),
30165
+ title: propTypes.string
30166
+ };
30167
+ ArrowDown.defaultProps = {
30168
+ color: 'currentColor',
30169
+ size: '1em',
30170
+ title: null
30171
+ };
30172
+ var ArrowDown$1 = ArrowDown;
30395
30173
 
30396
- // if deltaY && vertical scrollable
30397
- if (deltaY && style.overflowY.match(/(scroll|auto)/)) {
30398
- var maxScrollTop = cursor.scrollHeight - cursor.clientHeight;
30399
- if (maxScrollTop > 0) {
30400
- if (
30401
- (cursor.scrollTop > 0 && deltaY < 0) ||
30402
- (cursor.scrollTop < maxScrollTop && deltaY > 0)
30403
- ) {
30404
- return true;
30405
- }
30406
- }
30407
- }
30408
- // if deltaX && horizontal scrollable
30409
- if (deltaX && style.overflowX.match(/(scroll|auto)/)) {
30410
- var maxScrollLeft = cursor.scrollWidth - cursor.clientWidth;
30411
- if (maxScrollLeft > 0) {
30412
- if (
30413
- (cursor.scrollLeft > 0 && deltaX < 0) ||
30414
- (cursor.scrollLeft < maxScrollLeft && deltaX > 0)
30415
- ) {
30416
- return true;
30417
- }
30418
- }
30419
- }
30174
+ var _excluded$a = ["color", "size", "title"];
30420
30175
 
30421
- cursor = cursor.parentNode;
30422
- }
30176
+ function _extends$9() { _extends$9 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); }
30423
30177
 
30424
- return false;
30425
- }
30178
+ function _objectWithoutProperties$a(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$a(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30426
30179
 
30427
- function touchMove(e) {
30428
- if (shouldHandle(e)) {
30429
- var touch = getTouch(e);
30180
+ function _objectWithoutPropertiesLoose$a(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30181
+ var ArrowRepeat = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30182
+ var color = _ref.color,
30183
+ size = _ref.size,
30184
+ title = _ref.title,
30185
+ rest = _objectWithoutProperties$a(_ref, _excluded$a);
30430
30186
 
30431
- var currentOffset = { pageX: touch.pageX, pageY: touch.pageY };
30187
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$9({
30188
+ ref: ref,
30189
+ xmlns: "http://www.w3.org/2000/svg",
30190
+ viewBox: "0 0 16 16",
30191
+ width: size,
30192
+ height: size,
30193
+ fill: color
30194
+ }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
30195
+ d: "M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41zm-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9z"
30196
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
30197
+ fillRule: "evenodd",
30198
+ d: "M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5.002 5.002 0 0 0 8 3zM3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9H3.1z"
30199
+ }));
30200
+ });
30201
+ ArrowRepeat.propTypes = {
30202
+ color: propTypes.string,
30203
+ size: propTypes.oneOfType([propTypes.string, propTypes.number]),
30204
+ title: propTypes.string
30205
+ };
30206
+ ArrowRepeat.defaultProps = {
30207
+ color: 'currentColor',
30208
+ size: '1em',
30209
+ title: null
30210
+ };
30211
+ var ArrowRepeat$1 = ArrowRepeat;
30432
30212
 
30433
- var differenceX = currentOffset.pageX - startOffset.pageX;
30434
- var differenceY = currentOffset.pageY - startOffset.pageY;
30213
+ var _excluded$9 = ["color", "size", "title"];
30435
30214
 
30436
- if (shouldBeConsumedByChild(e.target, differenceX, differenceY)) {
30437
- return;
30438
- }
30215
+ function _extends$8() { _extends$8 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$8.apply(this, arguments); }
30439
30216
 
30440
- applyTouchMove(differenceX, differenceY);
30441
- startOffset = currentOffset;
30217
+ function _objectWithoutProperties$9(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$9(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30442
30218
 
30443
- var currentTime = new Date().getTime();
30219
+ function _objectWithoutPropertiesLoose$9(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30220
+ var BoundingBox = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30221
+ var color = _ref.color,
30222
+ size = _ref.size,
30223
+ title = _ref.title,
30224
+ rest = _objectWithoutProperties$9(_ref, _excluded$9);
30444
30225
 
30445
- var timeGap = currentTime - startTime;
30446
- if (timeGap > 0) {
30447
- speed.x = differenceX / timeGap;
30448
- speed.y = differenceY / timeGap;
30449
- startTime = currentTime;
30450
- }
30226
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$8({
30227
+ ref: ref,
30228
+ xmlns: "http://www.w3.org/2000/svg",
30229
+ viewBox: "0 0 16 16",
30230
+ width: size,
30231
+ height: size,
30232
+ fill: color
30233
+ }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
30234
+ d: "M5 2V0H0v5h2v6H0v5h5v-2h6v2h5v-5h-2V5h2V0h-5v2H5zm6 1v2h2v6h-2v2H5v-2H3V5h2V3h6zm1-2h3v3h-3V1zm3 11v3h-3v-3h3zM4 15H1v-3h3v3zM1 4V1h3v3H1z"
30235
+ }));
30236
+ });
30237
+ BoundingBox.propTypes = {
30238
+ color: propTypes.string,
30239
+ size: propTypes.oneOfType([propTypes.string, propTypes.number]),
30240
+ title: propTypes.string
30241
+ };
30242
+ BoundingBox.defaultProps = {
30243
+ color: 'currentColor',
30244
+ size: '1em',
30245
+ title: null
30246
+ };
30247
+ var BoundingBox$1 = BoundingBox;
30451
30248
 
30452
- if (shouldPrevent(differenceX, differenceY)) {
30453
- e.preventDefault();
30454
- }
30455
- }
30456
- }
30457
- function touchEnd() {
30458
- if (i.settings.swipeEasing) {
30459
- clearInterval(easingLoop);
30460
- easingLoop = setInterval(function() {
30461
- if (i.isInitialized) {
30462
- clearInterval(easingLoop);
30463
- return;
30464
- }
30249
+ var _excluded$8 = ["color", "size", "title"];
30465
30250
 
30466
- if (!speed.x && !speed.y) {
30467
- clearInterval(easingLoop);
30468
- return;
30469
- }
30251
+ function _extends$7() { _extends$7 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$7.apply(this, arguments); }
30470
30252
 
30471
- if (Math.abs(speed.x) < 0.01 && Math.abs(speed.y) < 0.01) {
30472
- clearInterval(easingLoop);
30473
- return;
30474
- }
30253
+ function _objectWithoutProperties$8(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$8(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30475
30254
 
30476
- if (!i.element) {
30477
- clearInterval(easingLoop);
30478
- return;
30479
- }
30255
+ function _objectWithoutPropertiesLoose$8(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30256
+ var BoxArrowInLeft = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30257
+ var color = _ref.color,
30258
+ size = _ref.size,
30259
+ title = _ref.title,
30260
+ rest = _objectWithoutProperties$8(_ref, _excluded$8);
30480
30261
 
30481
- applyTouchMove(speed.x * 30, speed.y * 30);
30262
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$7({
30263
+ ref: ref,
30264
+ xmlns: "http://www.w3.org/2000/svg",
30265
+ viewBox: "0 0 16 16",
30266
+ width: size,
30267
+ height: size,
30268
+ fill: color
30269
+ }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
30270
+ fillRule: "evenodd",
30271
+ d: "M10 3.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 1 1 0v2A1.5 1.5 0 0 1 9.5 14h-8A1.5 1.5 0 0 1 0 12.5v-9A1.5 1.5 0 0 1 1.5 2h8A1.5 1.5 0 0 1 11 3.5v2a.5.5 0 0 1-1 0v-2z"
30272
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
30273
+ fillRule: "evenodd",
30274
+ d: "M4.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H14.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z"
30275
+ }));
30276
+ });
30277
+ BoxArrowInLeft.propTypes = {
30278
+ color: propTypes.string,
30279
+ size: propTypes.oneOfType([propTypes.string, propTypes.number]),
30280
+ title: propTypes.string
30281
+ };
30282
+ BoxArrowInLeft.defaultProps = {
30283
+ color: 'currentColor',
30284
+ size: '1em',
30285
+ title: null
30286
+ };
30287
+ var BoxArrowInLeft$1 = BoxArrowInLeft;
30482
30288
 
30483
- speed.x *= 0.8;
30484
- speed.y *= 0.8;
30485
- }, 10);
30486
- }
30487
- }
30289
+ var _excluded$7 = ["color", "size", "title"];
30488
30290
 
30489
- if (env.supportsTouch) {
30490
- i.event.bind(element, 'touchstart', touchStart);
30491
- i.event.bind(element, 'touchmove', touchMove);
30492
- i.event.bind(element, 'touchend', touchEnd);
30493
- } else if (env.supportsIePointer) {
30494
- if (window.PointerEvent) {
30495
- i.event.bind(element, 'pointerdown', touchStart);
30496
- i.event.bind(element, 'pointermove', touchMove);
30497
- i.event.bind(element, 'pointerup', touchEnd);
30498
- } else if (window.MSPointerEvent) {
30499
- i.event.bind(element, 'MSPointerDown', touchStart);
30500
- i.event.bind(element, 'MSPointerMove', touchMove);
30501
- i.event.bind(element, 'MSPointerUp', touchEnd);
30502
- }
30503
- }
30504
- }
30291
+ function _extends$6() { _extends$6 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$6.apply(this, arguments); }
30505
30292
 
30506
- var defaultSettings = function () { return ({
30507
- handlers: ['click-rail', 'drag-thumb', 'keyboard', 'wheel', 'touch'],
30508
- maxScrollbarLength: null,
30509
- minScrollbarLength: null,
30510
- scrollingThreshold: 1000,
30511
- scrollXMarginOffset: 0,
30512
- scrollYMarginOffset: 0,
30513
- suppressScrollX: false,
30514
- suppressScrollY: false,
30515
- swipeEasing: true,
30516
- useBothWheelAxes: false,
30517
- wheelPropagation: true,
30518
- wheelSpeed: 1,
30519
- }); };
30293
+ function _objectWithoutProperties$7(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$7(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30520
30294
 
30521
- var handlers = {
30522
- 'click-rail': clickRail,
30523
- 'drag-thumb': dragThumb,
30524
- keyboard: keyboard,
30525
- wheel: wheel,
30526
- touch: touch,
30295
+ function _objectWithoutPropertiesLoose$7(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30296
+ var CaretDownFill = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30297
+ var color = _ref.color,
30298
+ size = _ref.size,
30299
+ title = _ref.title,
30300
+ rest = _objectWithoutProperties$7(_ref, _excluded$7);
30301
+
30302
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$6({
30303
+ ref: ref,
30304
+ xmlns: "http://www.w3.org/2000/svg",
30305
+ viewBox: "0 0 16 16",
30306
+ width: size,
30307
+ height: size,
30308
+ fill: color
30309
+ }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
30310
+ d: "M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z"
30311
+ }));
30312
+ });
30313
+ CaretDownFill.propTypes = {
30314
+ color: propTypes.string,
30315
+ size: propTypes.oneOfType([propTypes.string, propTypes.number]),
30316
+ title: propTypes.string
30317
+ };
30318
+ CaretDownFill.defaultProps = {
30319
+ color: 'currentColor',
30320
+ size: '1em',
30321
+ title: null
30527
30322
  };
30323
+ var CaretDownFill$1 = CaretDownFill;
30528
30324
 
30529
- var PerfectScrollbar$1 = function PerfectScrollbar(element, userSettings) {
30530
- var this$1$1 = this;
30531
- if ( userSettings === void 0 ) userSettings = {};
30325
+ var _excluded$6 = ["color", "size", "title"];
30532
30326
 
30533
- if (typeof element === 'string') {
30534
- element = document.querySelector(element);
30535
- }
30327
+ function _extends$5() { _extends$5 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5.apply(this, arguments); }
30536
30328
 
30537
- if (!element || !element.nodeName) {
30538
- throw new Error('no element is specified to initialize PerfectScrollbar');
30539
- }
30329
+ function _objectWithoutProperties$6(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$6(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30540
30330
 
30541
- this.element = element;
30331
+ function _objectWithoutPropertiesLoose$6(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30332
+ var CheckCircle = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30333
+ var color = _ref.color,
30334
+ size = _ref.size,
30335
+ title = _ref.title,
30336
+ rest = _objectWithoutProperties$6(_ref, _excluded$6);
30542
30337
 
30543
- element.classList.add(cls.main);
30338
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$5({
30339
+ ref: ref,
30340
+ xmlns: "http://www.w3.org/2000/svg",
30341
+ viewBox: "0 0 16 16",
30342
+ width: size,
30343
+ height: size,
30344
+ fill: color
30345
+ }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
30346
+ d: "M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"
30347
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
30348
+ d: "M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z"
30349
+ }));
30350
+ });
30351
+ CheckCircle.propTypes = {
30352
+ color: propTypes.string,
30353
+ size: propTypes.oneOfType([propTypes.string, propTypes.number]),
30354
+ title: propTypes.string
30355
+ };
30356
+ CheckCircle.defaultProps = {
30357
+ color: 'currentColor',
30358
+ size: '1em',
30359
+ title: null
30360
+ };
30361
+ var CheckCircle$1 = CheckCircle;
30544
30362
 
30545
- this.settings = defaultSettings();
30546
- for (var key in userSettings) {
30547
- this.settings[key] = userSettings[key];
30548
- }
30363
+ var _excluded$5 = ["color", "size", "title"];
30549
30364
 
30550
- this.containerWidth = null;
30551
- this.containerHeight = null;
30552
- this.contentWidth = null;
30553
- this.contentHeight = null;
30365
+ function _extends$4() { _extends$4 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4.apply(this, arguments); }
30554
30366
 
30555
- var focus = function () { return element.classList.add(cls.state.focus); };
30556
- var blur = function () { return element.classList.remove(cls.state.focus); };
30367
+ function _objectWithoutProperties$5(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$5(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30557
30368
 
30558
- this.isRtl = get(element).direction === 'rtl';
30559
- if (this.isRtl === true) {
30560
- element.classList.add(cls.rtl);
30561
- }
30562
- this.isNegativeScroll = (function () {
30563
- var originalScrollLeft = element.scrollLeft;
30564
- var result = null;
30565
- element.scrollLeft = -1;
30566
- result = element.scrollLeft < 0;
30567
- element.scrollLeft = originalScrollLeft;
30568
- return result;
30569
- })();
30570
- this.negativeScrollAdjustment = this.isNegativeScroll
30571
- ? element.scrollWidth - element.clientWidth
30572
- : 0;
30573
- this.event = new EventManager();
30574
- this.ownerDocument = element.ownerDocument || document;
30369
+ function _objectWithoutPropertiesLoose$5(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30370
+ var CloudArrowUp = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30371
+ var color = _ref.color,
30372
+ size = _ref.size,
30373
+ title = _ref.title,
30374
+ rest = _objectWithoutProperties$5(_ref, _excluded$5);
30575
30375
 
30576
- this.scrollbarXRail = div(cls.element.rail('x'));
30577
- element.appendChild(this.scrollbarXRail);
30578
- this.scrollbarX = div(cls.element.thumb('x'));
30579
- this.scrollbarXRail.appendChild(this.scrollbarX);
30580
- this.scrollbarX.setAttribute('tabindex', 0);
30581
- this.event.bind(this.scrollbarX, 'focus', focus);
30582
- this.event.bind(this.scrollbarX, 'blur', blur);
30583
- this.scrollbarXActive = null;
30584
- this.scrollbarXWidth = null;
30585
- this.scrollbarXLeft = null;
30586
- var railXStyle = get(this.scrollbarXRail);
30587
- this.scrollbarXBottom = parseInt(railXStyle.bottom, 10);
30588
- if (isNaN(this.scrollbarXBottom)) {
30589
- this.isScrollbarXUsingBottom = false;
30590
- this.scrollbarXTop = toInt(railXStyle.top);
30591
- } else {
30592
- this.isScrollbarXUsingBottom = true;
30593
- }
30594
- this.railBorderXWidth =
30595
- toInt(railXStyle.borderLeftWidth) + toInt(railXStyle.borderRightWidth);
30596
- // Set rail to display:block to calculate margins
30597
- set(this.scrollbarXRail, { display: 'block' });
30598
- this.railXMarginWidth =
30599
- toInt(railXStyle.marginLeft) + toInt(railXStyle.marginRight);
30600
- set(this.scrollbarXRail, { display: '' });
30601
- this.railXWidth = null;
30602
- this.railXRatio = null;
30376
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$4({
30377
+ ref: ref,
30378
+ xmlns: "http://www.w3.org/2000/svg",
30379
+ viewBox: "0 0 16 16",
30380
+ width: size,
30381
+ height: size,
30382
+ fill: color
30383
+ }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
30384
+ fillRule: "evenodd",
30385
+ d: "M7.646 5.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708l2-2z"
30386
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
30387
+ d: "M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z"
30388
+ }));
30389
+ });
30390
+ CloudArrowUp.propTypes = {
30391
+ color: propTypes.string,
30392
+ size: propTypes.oneOfType([propTypes.string, propTypes.number]),
30393
+ title: propTypes.string
30394
+ };
30395
+ CloudArrowUp.defaultProps = {
30396
+ color: 'currentColor',
30397
+ size: '1em',
30398
+ title: null
30399
+ };
30400
+ var CloudArrowUp$1 = CloudArrowUp;
30603
30401
 
30604
- this.scrollbarYRail = div(cls.element.rail('y'));
30605
- element.appendChild(this.scrollbarYRail);
30606
- this.scrollbarY = div(cls.element.thumb('y'));
30607
- this.scrollbarYRail.appendChild(this.scrollbarY);
30608
- this.scrollbarY.setAttribute('tabindex', 0);
30609
- this.event.bind(this.scrollbarY, 'focus', focus);
30610
- this.event.bind(this.scrollbarY, 'blur', blur);
30611
- this.scrollbarYActive = null;
30612
- this.scrollbarYHeight = null;
30613
- this.scrollbarYTop = null;
30614
- var railYStyle = get(this.scrollbarYRail);
30615
- this.scrollbarYRight = parseInt(railYStyle.right, 10);
30616
- if (isNaN(this.scrollbarYRight)) {
30617
- this.isScrollbarYUsingRight = false;
30618
- this.scrollbarYLeft = toInt(railYStyle.left);
30619
- } else {
30620
- this.isScrollbarYUsingRight = true;
30621
- }
30622
- this.scrollbarYOuterWidth = this.isRtl ? outerWidth(this.scrollbarY) : null;
30623
- this.railBorderYWidth =
30624
- toInt(railYStyle.borderTopWidth) + toInt(railYStyle.borderBottomWidth);
30625
- set(this.scrollbarYRail, { display: 'block' });
30626
- this.railYMarginHeight =
30627
- toInt(railYStyle.marginTop) + toInt(railYStyle.marginBottom);
30628
- set(this.scrollbarYRail, { display: '' });
30629
- this.railYHeight = null;
30630
- this.railYRatio = null;
30402
+ var _excluded$4 = ["color", "size", "title"];
30631
30403
 
30632
- this.reach = {
30633
- x:
30634
- element.scrollLeft <= 0
30635
- ? 'start'
30636
- : element.scrollLeft >= this.contentWidth - this.containerWidth
30637
- ? 'end'
30638
- : null,
30639
- y:
30640
- element.scrollTop <= 0
30641
- ? 'start'
30642
- : element.scrollTop >= this.contentHeight - this.containerHeight
30643
- ? 'end'
30644
- : null,
30645
- };
30404
+ function _extends$3() { _extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3.apply(this, arguments); }
30646
30405
 
30647
- this.isAlive = true;
30406
+ function _objectWithoutProperties$4(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$4(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30648
30407
 
30649
- this.settings.handlers.forEach(function (handlerName) { return handlers[handlerName](this$1$1); });
30408
+ function _objectWithoutPropertiesLoose$4(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30409
+ var CursorText = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30410
+ var color = _ref.color,
30411
+ size = _ref.size,
30412
+ title = _ref.title,
30413
+ rest = _objectWithoutProperties$4(_ref, _excluded$4);
30650
30414
 
30651
- this.lastScrollTop = Math.floor(element.scrollTop); // for onScroll only
30652
- this.lastScrollLeft = element.scrollLeft; // for onScroll only
30653
- this.event.bind(this.element, 'scroll', function (e) { return this$1$1.onScroll(e); });
30654
- updateGeometry(this);
30415
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$3({
30416
+ ref: ref,
30417
+ xmlns: "http://www.w3.org/2000/svg",
30418
+ viewBox: "0 0 16 16",
30419
+ width: size,
30420
+ height: size,
30421
+ fill: color
30422
+ }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
30423
+ d: "M5 2a.5.5 0 0 1 .5-.5c.862 0 1.573.287 2.06.566.174.099.321.198.44.286.119-.088.266-.187.44-.286A4.165 4.165 0 0 1 10.5 1.5a.5.5 0 0 1 0 1c-.638 0-1.177.213-1.564.434a3.49 3.49 0 0 0-.436.294V7.5H9a.5.5 0 0 1 0 1h-.5v4.272c.1.08.248.187.436.294.387.221.926.434 1.564.434a.5.5 0 0 1 0 1 4.165 4.165 0 0 1-2.06-.566A4.561 4.561 0 0 1 8 13.65a4.561 4.561 0 0 1-.44.285 4.165 4.165 0 0 1-2.06.566.5.5 0 0 1 0-1c.638 0 1.177-.213 1.564-.434.188-.107.335-.214.436-.294V8.5H7a.5.5 0 0 1 0-1h.5V3.228a3.49 3.49 0 0 0-.436-.294A3.166 3.166 0 0 0 5.5 2.5.5.5 0 0 1 5 2zm3.352 1.355zm-.704 9.29z"
30424
+ }));
30425
+ });
30426
+ CursorText.propTypes = {
30427
+ color: propTypes.string,
30428
+ size: propTypes.oneOfType([propTypes.string, propTypes.number]),
30429
+ title: propTypes.string
30430
+ };
30431
+ CursorText.defaultProps = {
30432
+ color: 'currentColor',
30433
+ size: '1em',
30434
+ title: null
30655
30435
  };
30436
+ var CursorText$1 = CursorText;
30656
30437
 
30657
- PerfectScrollbar$1.prototype.update = function update () {
30658
- if (!this.isAlive) {
30659
- return;
30660
- }
30661
-
30662
- // Recalcuate negative scrollLeft adjustment
30663
- this.negativeScrollAdjustment = this.isNegativeScroll
30664
- ? this.element.scrollWidth - this.element.clientWidth
30665
- : 0;
30666
-
30667
- // Recalculate rail margins
30668
- set(this.scrollbarXRail, { display: 'block' });
30669
- set(this.scrollbarYRail, { display: 'block' });
30670
- this.railXMarginWidth =
30671
- toInt(get(this.scrollbarXRail).marginLeft) +
30672
- toInt(get(this.scrollbarXRail).marginRight);
30673
- this.railYMarginHeight =
30674
- toInt(get(this.scrollbarYRail).marginTop) +
30675
- toInt(get(this.scrollbarYRail).marginBottom);
30438
+ var _excluded$3 = ["color", "size", "title"];
30676
30439
 
30677
- // Hide scrollbars not to affect scrollWidth and scrollHeight
30678
- set(this.scrollbarXRail, { display: 'none' });
30679
- set(this.scrollbarYRail, { display: 'none' });
30440
+ function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); }
30680
30441
 
30681
- updateGeometry(this);
30442
+ function _objectWithoutProperties$3(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$3(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30682
30443
 
30683
- processScrollDiff(this, 'top', 0, false, true);
30684
- processScrollDiff(this, 'left', 0, false, true);
30444
+ function _objectWithoutPropertiesLoose$3(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30445
+ var EyeSlash = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30446
+ var color = _ref.color,
30447
+ size = _ref.size,
30448
+ title = _ref.title,
30449
+ rest = _objectWithoutProperties$3(_ref, _excluded$3);
30685
30450
 
30686
- set(this.scrollbarXRail, { display: '' });
30687
- set(this.scrollbarYRail, { display: '' });
30451
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$2({
30452
+ ref: ref,
30453
+ xmlns: "http://www.w3.org/2000/svg",
30454
+ viewBox: "0 0 16 16",
30455
+ width: size,
30456
+ height: size,
30457
+ fill: color
30458
+ }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
30459
+ d: "M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z"
30460
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
30461
+ d: "M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829z"
30462
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
30463
+ d: "M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708z"
30464
+ }));
30465
+ });
30466
+ EyeSlash.propTypes = {
30467
+ color: propTypes.string,
30468
+ size: propTypes.oneOfType([propTypes.string, propTypes.number]),
30469
+ title: propTypes.string
30688
30470
  };
30689
-
30690
- PerfectScrollbar$1.prototype.onScroll = function onScroll (e) {
30691
- if (!this.isAlive) {
30692
- return;
30693
- }
30694
-
30695
- updateGeometry(this);
30696
- processScrollDiff(this, 'top', this.element.scrollTop - this.lastScrollTop);
30697
- processScrollDiff(
30698
- this,
30699
- 'left',
30700
- this.element.scrollLeft - this.lastScrollLeft
30701
- );
30702
-
30703
- this.lastScrollTop = Math.floor(this.element.scrollTop);
30704
- this.lastScrollLeft = this.element.scrollLeft;
30471
+ EyeSlash.defaultProps = {
30472
+ color: 'currentColor',
30473
+ size: '1em',
30474
+ title: null
30705
30475
  };
30476
+ var EyeSlash$1 = EyeSlash;
30706
30477
 
30707
- PerfectScrollbar$1.prototype.destroy = function destroy () {
30708
- if (!this.isAlive) {
30709
- return;
30710
- }
30478
+ var _excluded$2 = ["color", "size", "title"];
30711
30479
 
30712
- this.event.unbindAll();
30713
- remove(this.scrollbarX);
30714
- remove(this.scrollbarY);
30715
- remove(this.scrollbarXRail);
30716
- remove(this.scrollbarYRail);
30717
- this.removePsClasses();
30480
+ function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
30718
30481
 
30719
- // unset elements
30720
- this.element = null;
30721
- this.scrollbarX = null;
30722
- this.scrollbarY = null;
30723
- this.scrollbarXRail = null;
30724
- this.scrollbarYRail = null;
30482
+ function _objectWithoutProperties$2(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$2(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30725
30483
 
30726
- this.isAlive = false;
30727
- };
30484
+ function _objectWithoutPropertiesLoose$2(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30485
+ var Eye = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30486
+ var color = _ref.color,
30487
+ size = _ref.size,
30488
+ title = _ref.title,
30489
+ rest = _objectWithoutProperties$2(_ref, _excluded$2);
30728
30490
 
30729
- PerfectScrollbar$1.prototype.removePsClasses = function removePsClasses () {
30730
- this.element.className = this.element.className
30731
- .split(' ')
30732
- .filter(function (name) { return !name.match(/^ps([-_].+|)$/); })
30733
- .join(' ');
30491
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends$1({
30492
+ ref: ref,
30493
+ xmlns: "http://www.w3.org/2000/svg",
30494
+ viewBox: "0 0 16 16",
30495
+ width: size,
30496
+ height: size,
30497
+ fill: color
30498
+ }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
30499
+ d: "M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z"
30500
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
30501
+ d: "M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z"
30502
+ }));
30503
+ });
30504
+ Eye.propTypes = {
30505
+ color: propTypes.string,
30506
+ size: propTypes.oneOfType([propTypes.string, propTypes.number]),
30507
+ title: propTypes.string
30508
+ };
30509
+ Eye.defaultProps = {
30510
+ color: 'currentColor',
30511
+ size: '1em',
30512
+ title: null
30734
30513
  };
30514
+ var Eye$1 = Eye;
30735
30515
 
30736
- var perfectScrollbar_esm = /*#__PURE__*/Object.freeze({
30737
- __proto__: null,
30738
- 'default': PerfectScrollbar$1
30739
- });
30516
+ var _excluded$1 = ["color", "size", "title"];
30740
30517
 
30741
- var _propTypes = propTypes;
30518
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
30742
30519
 
30743
- var _perfectScrollbar = /*@__PURE__*/getAugmentedNamespace(perfectScrollbar_esm);
30520
+ function _objectWithoutProperties$1(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose$1(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
30744
30521
 
30745
- var scrollbar = createCommonjsModule(function (module, exports) {
30522
+ function _objectWithoutPropertiesLoose$1(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
30523
+ var X$1 = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
30524
+ var color = _ref.color,
30525
+ size = _ref.size,
30526
+ title = _ref.title,
30527
+ rest = _objectWithoutProperties$1(_ref, _excluded$1);
30746
30528
 
30747
- Object.defineProperty(exports, "__esModule", {
30748
- value: true
30529
+ return /*#__PURE__*/React__default["default"].createElement("svg", _extends({
30530
+ ref: ref,
30531
+ xmlns: "http://www.w3.org/2000/svg",
30532
+ viewBox: "0 0 16 16",
30533
+ width: size,
30534
+ height: size,
30535
+ fill: color
30536
+ }, rest), title ? /*#__PURE__*/React__default["default"].createElement("title", null, title) : null, /*#__PURE__*/React__default["default"].createElement("path", {
30537
+ d: "M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"
30538
+ }));
30749
30539
  });
30540
+ X$1.propTypes = {
30541
+ color: propTypes.string,
30542
+ size: propTypes.oneOfType([propTypes.string, propTypes.number]),
30543
+ title: propTypes.string
30544
+ };
30545
+ X$1.defaultProps = {
30546
+ color: 'currentColor',
30547
+ size: '1em',
30548
+ title: null
30549
+ };
30550
+ var X$2 = X$1;
30750
30551
 
30751
- var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
30552
+ var slugify = createCommonjsModule(function (module, exports) {
30553
+ (function (name, root, factory) {
30554
+ {
30555
+ module.exports = factory();
30556
+ module.exports['default'] = factory();
30557
+ }
30558
+ }('slugify', commonjsGlobal, function () {
30559
+ var charMap = JSON.parse('{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E\'","Ը":"Y\'","Թ":"T\'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C\'","Կ":"K","Հ":"H","Ձ":"D\'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R\'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P\'","Ք":"Q\'","Օ":"O\'\'","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"\'","’":"\'","“":"\\\"","”":"\\\"","„":"\\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}');
30560
+ var locales = JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');
30752
30561
 
30753
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
30562
+ function replace (string, options) {
30563
+ if (typeof string !== 'string') {
30564
+ throw new Error('slugify: string argument expected')
30565
+ }
30754
30566
 
30567
+ options = (typeof options === 'string')
30568
+ ? {replacement: options}
30569
+ : options || {};
30755
30570
 
30571
+ var locale = locales[options.locale] || {};
30756
30572
 
30757
- var _react2 = _interopRequireDefault(React__default["default"]);
30573
+ var replacement = options.replacement === undefined ? '-' : options.replacement;
30758
30574
 
30575
+ var trim = options.trim === undefined ? true : options.trim;
30759
30576
 
30577
+ var slug = string.normalize().split('')
30578
+ // replace characters based on charMap
30579
+ .reduce(function (result, ch) {
30580
+ var appendChar = locale[ch] || charMap[ch] || ch;
30581
+ if (appendChar === replacement) {
30582
+ appendChar = ' ';
30583
+ }
30584
+ return result + appendChar
30585
+ // remove not allowed characters
30586
+ .replace(options.remove || /[^\w\s$*_+~.()'"!\-:@]+/g, '')
30587
+ }, '');
30760
30588
 
30589
+ if (options.strict) {
30590
+ slug = slug.replace(/[^A-Za-z0-9\s]/g, '');
30591
+ }
30761
30592
 
30593
+ if (trim) {
30594
+ slug = slug.trim();
30595
+ }
30762
30596
 
30763
- var _perfectScrollbar2 = _interopRequireDefault(_perfectScrollbar);
30597
+ // Replace spaces with replacement character, treating multiple consecutive
30598
+ // spaces as a single space.
30599
+ slug = slug.replace(/\s+/g, replacement);
30764
30600
 
30765
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30601
+ if (options.lower) {
30602
+ slug = slug.toLowerCase();
30603
+ }
30766
30604
 
30767
- function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
30605
+ return slug
30606
+ }
30768
30607
 
30769
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30608
+ replace.extend = function (customMap) {
30609
+ Object.assign(charMap, customMap);
30610
+ };
30770
30611
 
30771
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
30612
+ return replace
30613
+ }));
30614
+ });
30772
30615
 
30773
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
30616
+ /**
30617
+ * lodash (Custom Build) <https://lodash.com/>
30618
+ * Build: `lodash modularize exports="npm" -o ./`
30619
+ * Copyright jQuery Foundation and other contributors <https://jquery.org/>
30620
+ * Released under MIT license <https://lodash.com/license>
30621
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
30622
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
30623
+ */
30774
30624
 
30775
- var handlerNameByEvent = {
30776
- 'ps-scroll-y': 'onScrollY',
30777
- 'ps-scroll-x': 'onScrollX',
30778
- 'ps-scroll-up': 'onScrollUp',
30779
- 'ps-scroll-down': 'onScrollDown',
30780
- 'ps-scroll-left': 'onScrollLeft',
30781
- 'ps-scroll-right': 'onScrollRight',
30782
- 'ps-y-reach-start': 'onYReachStart',
30783
- 'ps-y-reach-end': 'onYReachEnd',
30784
- 'ps-x-reach-start': 'onXReachStart',
30785
- 'ps-x-reach-end': 'onXReachEnd'
30786
- };
30787
- Object.freeze(handlerNameByEvent);
30625
+ /** Used as the `TypeError` message for "Functions" methods. */
30626
+ var FUNC_ERROR_TEXT = 'Expected a function';
30627
+
30628
+ /** Used as references for various `Number` constants. */
30629
+ var NAN = 0 / 0;
30788
30630
 
30789
- var ScrollBar = function (_Component) {
30790
- _inherits(ScrollBar, _Component);
30631
+ /** `Object#toString` result references. */
30632
+ var symbolTag = '[object Symbol]';
30791
30633
 
30792
- function ScrollBar(props) {
30793
- _classCallCheck(this, ScrollBar);
30634
+ /** Used to match leading and trailing whitespace. */
30635
+ var reTrim = /^\s+|\s+$/g;
30794
30636
 
30795
- var _this = _possibleConstructorReturn(this, (ScrollBar.__proto__ || Object.getPrototypeOf(ScrollBar)).call(this, props));
30637
+ /** Used to detect bad signed hexadecimal string values. */
30638
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
30796
30639
 
30797
- _this.handleRef = _this.handleRef.bind(_this);
30798
- _this._handlerByEvent = {};
30799
- return _this;
30800
- }
30640
+ /** Used to detect binary string values. */
30641
+ var reIsBinary = /^0b[01]+$/i;
30801
30642
 
30802
- _createClass(ScrollBar, [{
30803
- key: 'componentDidMount',
30804
- value: function componentDidMount() {
30805
- if (this.props.option) {
30806
- console.warn('react-perfect-scrollbar: the "option" prop has been deprecated in favor of "options"');
30807
- }
30643
+ /** Used to detect octal string values. */
30644
+ var reIsOctal = /^0o[0-7]+$/i;
30808
30645
 
30809
- this._ps = new _perfectScrollbar2.default(this._container, this.props.options || this.props.option);
30810
- // hook up events
30811
- this._updateEventHook();
30812
- this._updateClassName();
30813
- }
30814
- }, {
30815
- key: 'componentDidUpdate',
30816
- value: function componentDidUpdate(prevProps) {
30817
- this._updateEventHook(prevProps);
30646
+ /** Built-in method references without a dependency on `root`. */
30647
+ var freeParseInt = parseInt;
30818
30648
 
30819
- this.updateScroll();
30649
+ /** Detect free variable `global` from Node.js. */
30650
+ var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;
30820
30651
 
30821
- if (prevProps.className !== this.props.className) {
30822
- this._updateClassName();
30823
- }
30824
- }
30825
- }, {
30826
- key: 'componentWillUnmount',
30827
- value: function componentWillUnmount() {
30828
- var _this2 = this;
30652
+ /** Detect free variable `self`. */
30653
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
30829
30654
 
30830
- // unhook up evens
30831
- Object.keys(this._handlerByEvent).forEach(function (key) {
30832
- var value = _this2._handlerByEvent[key];
30655
+ /** Used as a reference to the global object. */
30656
+ var root = freeGlobal || freeSelf || Function('return this')();
30833
30657
 
30834
- if (value) {
30835
- _this2._container.removeEventListener(key, value, false);
30836
- }
30837
- });
30838
- this._handlerByEvent = {};
30839
- this._ps.destroy();
30840
- this._ps = null;
30841
- }
30842
- }, {
30843
- key: '_updateEventHook',
30844
- value: function _updateEventHook() {
30845
- var _this3 = this;
30658
+ /** Used for built-in method references. */
30659
+ var objectProto = Object.prototype;
30846
30660
 
30847
- var prevProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
30661
+ /**
30662
+ * Used to resolve the
30663
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
30664
+ * of values.
30665
+ */
30666
+ var objectToString = objectProto.toString;
30848
30667
 
30849
- // hook up events
30850
- Object.keys(handlerNameByEvent).forEach(function (key) {
30851
- var callback = _this3.props[handlerNameByEvent[key]];
30852
- var prevCallback = prevProps[handlerNameByEvent[key]];
30853
- if (callback !== prevCallback) {
30854
- if (prevCallback) {
30855
- var prevHandler = _this3._handlerByEvent[key];
30856
- _this3._container.removeEventListener(key, prevHandler, false);
30857
- _this3._handlerByEvent[key] = null;
30858
- }
30859
- if (callback) {
30860
- var handler = function handler() {
30861
- return callback(_this3._container);
30862
- };
30863
- _this3._container.addEventListener(key, handler, false);
30864
- _this3._handlerByEvent[key] = handler;
30865
- }
30866
- }
30867
- });
30868
- }
30869
- }, {
30870
- key: '_updateClassName',
30871
- value: function _updateClassName() {
30872
- var className = this.props.className;
30668
+ /* Built-in method references for those with the same name as other `lodash` methods. */
30669
+ var nativeMax = Math.max,
30670
+ nativeMin = Math.min;
30873
30671
 
30672
+ /**
30673
+ * Gets the timestamp of the number of milliseconds that have elapsed since
30674
+ * the Unix epoch (1 January 1970 00:00:00 UTC).
30675
+ *
30676
+ * @static
30677
+ * @memberOf _
30678
+ * @since 2.4.0
30679
+ * @category Date
30680
+ * @returns {number} Returns the timestamp.
30681
+ * @example
30682
+ *
30683
+ * _.defer(function(stamp) {
30684
+ * console.log(_.now() - stamp);
30685
+ * }, _.now());
30686
+ * // => Logs the number of milliseconds it took for the deferred invocation.
30687
+ */
30688
+ var now = function() {
30689
+ return root.Date.now();
30690
+ };
30874
30691
 
30875
- var psClassNames = this._container.className.split(' ').filter(function (name) {
30876
- return name.match(/^ps([-_].+|)$/);
30877
- }).join(' ');
30692
+ /**
30693
+ * Creates a debounced function that delays invoking `func` until after `wait`
30694
+ * milliseconds have elapsed since the last time the debounced function was
30695
+ * invoked. The debounced function comes with a `cancel` method to cancel
30696
+ * delayed `func` invocations and a `flush` method to immediately invoke them.
30697
+ * Provide `options` to indicate whether `func` should be invoked on the
30698
+ * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
30699
+ * with the last arguments provided to the debounced function. Subsequent
30700
+ * calls to the debounced function return the result of the last `func`
30701
+ * invocation.
30702
+ *
30703
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is
30704
+ * invoked on the trailing edge of the timeout only if the debounced function
30705
+ * is invoked more than once during the `wait` timeout.
30706
+ *
30707
+ * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
30708
+ * until to the next tick, similar to `setTimeout` with a timeout of `0`.
30709
+ *
30710
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
30711
+ * for details over the differences between `_.debounce` and `_.throttle`.
30712
+ *
30713
+ * @static
30714
+ * @memberOf _
30715
+ * @since 0.1.0
30716
+ * @category Function
30717
+ * @param {Function} func The function to debounce.
30718
+ * @param {number} [wait=0] The number of milliseconds to delay.
30719
+ * @param {Object} [options={}] The options object.
30720
+ * @param {boolean} [options.leading=false]
30721
+ * Specify invoking on the leading edge of the timeout.
30722
+ * @param {number} [options.maxWait]
30723
+ * The maximum time `func` is allowed to be delayed before it's invoked.
30724
+ * @param {boolean} [options.trailing=true]
30725
+ * Specify invoking on the trailing edge of the timeout.
30726
+ * @returns {Function} Returns the new debounced function.
30727
+ * @example
30728
+ *
30729
+ * // Avoid costly calculations while the window size is in flux.
30730
+ * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
30731
+ *
30732
+ * // Invoke `sendMail` when clicked, debouncing subsequent calls.
30733
+ * jQuery(element).on('click', _.debounce(sendMail, 300, {
30734
+ * 'leading': true,
30735
+ * 'trailing': false
30736
+ * }));
30737
+ *
30738
+ * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
30739
+ * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
30740
+ * var source = new EventSource('/stream');
30741
+ * jQuery(source).on('message', debounced);
30742
+ *
30743
+ * // Cancel the trailing debounced invocation.
30744
+ * jQuery(window).on('popstate', debounced.cancel);
30745
+ */
30746
+ function debounce(func, wait, options) {
30747
+ var lastArgs,
30748
+ lastThis,
30749
+ maxWait,
30750
+ result,
30751
+ timerId,
30752
+ lastCallTime,
30753
+ lastInvokeTime = 0,
30754
+ leading = false,
30755
+ maxing = false,
30756
+ trailing = true;
30878
30757
 
30879
- if (this._container) {
30880
- this._container.className = 'scrollbar-container' + (className ? ' ' + className : '') + (psClassNames ? ' ' + psClassNames : '');
30881
- }
30882
- }
30883
- }, {
30884
- key: 'updateScroll',
30885
- value: function updateScroll() {
30886
- this.props.onSync(this._ps);
30887
- }
30888
- }, {
30889
- key: 'handleRef',
30890
- value: function handleRef(ref) {
30891
- this._container = ref;
30892
- this.props.containerRef(ref);
30893
- }
30894
- }, {
30895
- key: 'render',
30896
- value: function render() {
30897
- var _props = this.props;
30898
- _props.className;
30899
- var style = _props.style;
30900
- _props.option;
30901
- _props.options;
30902
- _props.containerRef;
30903
- _props.onScrollY;
30904
- _props.onScrollX;
30905
- _props.onScrollUp;
30906
- _props.onScrollDown;
30907
- _props.onScrollLeft;
30908
- _props.onScrollRight;
30909
- _props.onYReachStart;
30910
- _props.onYReachEnd;
30911
- _props.onXReachStart;
30912
- _props.onXReachEnd;
30913
- var component = _props.component;
30914
- _props.onSync;
30915
- var children = _props.children,
30916
- remainProps = _objectWithoutProperties(_props, ['className', 'style', 'option', 'options', 'containerRef', 'onScrollY', 'onScrollX', 'onScrollUp', 'onScrollDown', 'onScrollLeft', 'onScrollRight', 'onYReachStart', 'onYReachEnd', 'onXReachStart', 'onXReachEnd', 'component', 'onSync', 'children']);
30758
+ if (typeof func != 'function') {
30759
+ throw new TypeError(FUNC_ERROR_TEXT);
30760
+ }
30761
+ wait = toNumber(wait) || 0;
30762
+ if (isObject$1(options)) {
30763
+ leading = !!options.leading;
30764
+ maxing = 'maxWait' in options;
30765
+ maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
30766
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
30767
+ }
30768
+
30769
+ function invokeFunc(time) {
30770
+ var args = lastArgs,
30771
+ thisArg = lastThis;
30772
+
30773
+ lastArgs = lastThis = undefined;
30774
+ lastInvokeTime = time;
30775
+ result = func.apply(thisArg, args);
30776
+ return result;
30777
+ }
30778
+
30779
+ function leadingEdge(time) {
30780
+ // Reset any `maxWait` timer.
30781
+ lastInvokeTime = time;
30782
+ // Start the timer for the trailing edge.
30783
+ timerId = setTimeout(timerExpired, wait);
30784
+ // Invoke the leading edge.
30785
+ return leading ? invokeFunc(time) : result;
30786
+ }
30917
30787
 
30918
- var Comp = component;
30788
+ function remainingWait(time) {
30789
+ var timeSinceLastCall = time - lastCallTime,
30790
+ timeSinceLastInvoke = time - lastInvokeTime,
30791
+ result = wait - timeSinceLastCall;
30919
30792
 
30920
- return _react2.default.createElement(
30921
- Comp,
30922
- _extends({ style: style, ref: this.handleRef }, remainProps),
30923
- children
30924
- );
30793
+ return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
30794
+ }
30795
+
30796
+ function shouldInvoke(time) {
30797
+ var timeSinceLastCall = time - lastCallTime,
30798
+ timeSinceLastInvoke = time - lastInvokeTime;
30799
+
30800
+ // Either this is the first call, activity has stopped and we're at the
30801
+ // trailing edge, the system time has gone backwards and we're treating
30802
+ // it as the trailing edge, or we've hit the `maxWait` limit.
30803
+ return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
30804
+ (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
30805
+ }
30806
+
30807
+ function timerExpired() {
30808
+ var time = now();
30809
+ if (shouldInvoke(time)) {
30810
+ return trailingEdge(time);
30925
30811
  }
30926
- }]);
30812
+ // Restart the timer.
30813
+ timerId = setTimeout(timerExpired, remainingWait(time));
30814
+ }
30927
30815
 
30928
- return ScrollBar;
30929
- }(React__default["default"].Component);
30816
+ function trailingEdge(time) {
30817
+ timerId = undefined;
30930
30818
 
30931
- exports.default = ScrollBar;
30819
+ // Only invoke if we have `lastArgs` which means `func` has been
30820
+ // debounced at least once.
30821
+ if (trailing && lastArgs) {
30822
+ return invokeFunc(time);
30823
+ }
30824
+ lastArgs = lastThis = undefined;
30825
+ return result;
30826
+ }
30932
30827
 
30828
+ function cancel() {
30829
+ if (timerId !== undefined) {
30830
+ clearTimeout(timerId);
30831
+ }
30832
+ lastInvokeTime = 0;
30833
+ lastArgs = lastCallTime = lastThis = timerId = undefined;
30834
+ }
30933
30835
 
30934
- ScrollBar.defaultProps = {
30935
- className: '',
30936
- style: undefined,
30937
- option: undefined,
30938
- options: undefined,
30939
- containerRef: function containerRef() {},
30940
- onScrollY: undefined,
30941
- onScrollX: undefined,
30942
- onScrollUp: undefined,
30943
- onScrollDown: undefined,
30944
- onScrollLeft: undefined,
30945
- onScrollRight: undefined,
30946
- onYReachStart: undefined,
30947
- onYReachEnd: undefined,
30948
- onXReachStart: undefined,
30949
- onXReachEnd: undefined,
30950
- onSync: function onSync(ps) {
30951
- return ps.update();
30952
- },
30953
- component: 'div'
30954
- };
30836
+ function flush() {
30837
+ return timerId === undefined ? result : trailingEdge(now());
30838
+ }
30955
30839
 
30956
- ScrollBar.propTypes = {
30957
- children: _propTypes.PropTypes.node.isRequired,
30958
- className: _propTypes.PropTypes.string,
30959
- style: _propTypes.PropTypes.object,
30960
- option: _propTypes.PropTypes.object,
30961
- options: _propTypes.PropTypes.object,
30962
- containerRef: _propTypes.PropTypes.func,
30963
- onScrollY: _propTypes.PropTypes.func,
30964
- onScrollX: _propTypes.PropTypes.func,
30965
- onScrollUp: _propTypes.PropTypes.func,
30966
- onScrollDown: _propTypes.PropTypes.func,
30967
- onScrollLeft: _propTypes.PropTypes.func,
30968
- onScrollRight: _propTypes.PropTypes.func,
30969
- onYReachStart: _propTypes.PropTypes.func,
30970
- onYReachEnd: _propTypes.PropTypes.func,
30971
- onXReachStart: _propTypes.PropTypes.func,
30972
- onXReachEnd: _propTypes.PropTypes.func,
30973
- onSync: _propTypes.PropTypes.func,
30974
- component: _propTypes.PropTypes.string
30975
- };
30976
- module.exports = exports['default'];
30977
- });
30840
+ function debounced() {
30841
+ var time = now(),
30842
+ isInvoking = shouldInvoke(time);
30978
30843
 
30979
- var lib = createCommonjsModule(function (module, exports) {
30844
+ lastArgs = arguments;
30845
+ lastThis = this;
30846
+ lastCallTime = time;
30980
30847
 
30981
- Object.defineProperty(exports, "__esModule", {
30982
- value: true
30983
- });
30848
+ if (isInvoking) {
30849
+ if (timerId === undefined) {
30850
+ return leadingEdge(lastCallTime);
30851
+ }
30852
+ if (maxing) {
30853
+ // Handle invocations in a tight loop.
30854
+ timerId = setTimeout(timerExpired, wait);
30855
+ return invokeFunc(lastCallTime);
30856
+ }
30857
+ }
30858
+ if (timerId === undefined) {
30859
+ timerId = setTimeout(timerExpired, wait);
30860
+ }
30861
+ return result;
30862
+ }
30863
+ debounced.cancel = cancel;
30864
+ debounced.flush = flush;
30865
+ return debounced;
30866
+ }
30984
30867
 
30868
+ /**
30869
+ * Checks if `value` is the
30870
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
30871
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
30872
+ *
30873
+ * @static
30874
+ * @memberOf _
30875
+ * @since 0.1.0
30876
+ * @category Lang
30877
+ * @param {*} value The value to check.
30878
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
30879
+ * @example
30880
+ *
30881
+ * _.isObject({});
30882
+ * // => true
30883
+ *
30884
+ * _.isObject([1, 2, 3]);
30885
+ * // => true
30886
+ *
30887
+ * _.isObject(_.noop);
30888
+ * // => true
30889
+ *
30890
+ * _.isObject(null);
30891
+ * // => false
30892
+ */
30893
+ function isObject$1(value) {
30894
+ var type = typeof value;
30895
+ return !!value && (type == 'object' || type == 'function');
30896
+ }
30985
30897
 
30898
+ /**
30899
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
30900
+ * and has a `typeof` result of "object".
30901
+ *
30902
+ * @static
30903
+ * @memberOf _
30904
+ * @since 4.0.0
30905
+ * @category Lang
30906
+ * @param {*} value The value to check.
30907
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
30908
+ * @example
30909
+ *
30910
+ * _.isObjectLike({});
30911
+ * // => true
30912
+ *
30913
+ * _.isObjectLike([1, 2, 3]);
30914
+ * // => true
30915
+ *
30916
+ * _.isObjectLike(_.noop);
30917
+ * // => false
30918
+ *
30919
+ * _.isObjectLike(null);
30920
+ * // => false
30921
+ */
30922
+ function isObjectLike(value) {
30923
+ return !!value && typeof value == 'object';
30924
+ }
30986
30925
 
30987
- var _scrollbar2 = _interopRequireDefault(scrollbar);
30926
+ /**
30927
+ * Checks if `value` is classified as a `Symbol` primitive or object.
30928
+ *
30929
+ * @static
30930
+ * @memberOf _
30931
+ * @since 4.0.0
30932
+ * @category Lang
30933
+ * @param {*} value The value to check.
30934
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
30935
+ * @example
30936
+ *
30937
+ * _.isSymbol(Symbol.iterator);
30938
+ * // => true
30939
+ *
30940
+ * _.isSymbol('abc');
30941
+ * // => false
30942
+ */
30943
+ function isSymbol(value) {
30944
+ return typeof value == 'symbol' ||
30945
+ (isObjectLike(value) && objectToString.call(value) == symbolTag);
30946
+ }
30988
30947
 
30989
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30948
+ /**
30949
+ * Converts `value` to a number.
30950
+ *
30951
+ * @static
30952
+ * @memberOf _
30953
+ * @since 4.0.0
30954
+ * @category Lang
30955
+ * @param {*} value The value to process.
30956
+ * @returns {number} Returns the number.
30957
+ * @example
30958
+ *
30959
+ * _.toNumber(3.2);
30960
+ * // => 3.2
30961
+ *
30962
+ * _.toNumber(Number.MIN_VALUE);
30963
+ * // => 5e-324
30964
+ *
30965
+ * _.toNumber(Infinity);
30966
+ * // => Infinity
30967
+ *
30968
+ * _.toNumber('3.2');
30969
+ * // => 3.2
30970
+ */
30971
+ function toNumber(value) {
30972
+ if (typeof value == 'number') {
30973
+ return value;
30974
+ }
30975
+ if (isSymbol(value)) {
30976
+ return NAN;
30977
+ }
30978
+ if (isObject$1(value)) {
30979
+ var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
30980
+ value = isObject$1(other) ? (other + '') : other;
30981
+ }
30982
+ if (typeof value != 'string') {
30983
+ return value === 0 ? value : +value;
30984
+ }
30985
+ value = value.replace(reTrim, '');
30986
+ var isBinary = reIsBinary.test(value);
30987
+ return (isBinary || reIsOctal.test(value))
30988
+ ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
30989
+ : (reIsBadHex.test(value) ? NAN : +value);
30990
+ }
30990
30991
 
30991
- exports.default = _scrollbar2.default;
30992
- module.exports = exports['default'];
30993
- });
30992
+ var lodash_debounce = debounce;
30994
30993
 
30995
- var PerfectScrollbar = /*@__PURE__*/getDefaultExportFromCjs(lib);
30994
+ var css_248z$9 = ":root {\n --slate1: hsl(206, 30.0%, 98.8%);\n --slate2: hsl(210, 16.7%, 97.6%);\n --slate3: hsl(209, 13.3%, 95.3%);\n --slate4: hsl(209, 12.2%, 93.2%);\n --slate5: hsl(208, 11.7%, 91.1%);\n --slate6: hsl(208, 11.3%, 88.9%);\n --slate7: hsl(207, 11.1%, 85.9%);\n --slate8: hsl(205, 10.7%, 78.0%);\n --slate9: hsl(206, 6.0%, 56.1%);\n --slate10: hsl(206, 5.8%, 52.3%);\n --slate11: hsl(206, 6.0%, 43.5%);\n --slate12: hsl(206, 24.0%, 9.0%);\n}\n\n:root {\n --background: #FFFAEE;\n --primary: #1890ff;\n --primary2: #40a9ff;\n --primary1: #cceefe;\n --primary0: #e6f7ff;\n --secondary: #fff566;\n}\n\n@keyframes spin {\n from {\n transform: rotate(0);\n }\n to {\n transform: rotate(360deg);\n }\n}\n.spin {\n animation: spin 1s linear 0s infinite;\n}\n\n* {\n font-family: -apple-system, BlinkMacSystemFont, \"avenir next\", avenir, helvetica, \"helvetica neue\", ubuntu, roboto, noto, \"segoe ui\", arial, sans-serif;\n color: var(--slate12);\n margin: 0;\n font-size: 17px;\n}\n\nh1 {\n font-size: 3rem;\n}\n\nh2 {\n font-size: 2.25rem;\n}\n\nh3 {\n font-size: 1.5rem;\n}\n\nh4 {\n font-size: 1.25rem;\n}\n\nh5 {\n font-size: 1rem;\n}\n\nh6 {\n font-size: 0.875rem;\n}\n\nlabel {\n font-size: 1.125;\n color: var(--slate12);\n}\n\nli {\n font-size: 0.95rem;\n}\n\n.secondary {\n font-size: 0.875rem;\n color: var(--slate10);\n}\n\np,\nspan {\n color: var(--slate12);\n}\n\ninput::placeholder {\n color: var(--slate11);\n}\n\n.poll-combobox {\n width: 100%;\n}\n\n.poll-combobox-content {\n z-index: 100;\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: white;\n border: 1px solid var(--slate5);\n border-radius: 0px 0px 4px 4px;\n gap: 2px;\n box-sizing: border-box;\n transition: max-height 0.5s ease-in-out;\n}\n\n.poll-combobox-item {\n display: inline-block;\n border-radius: 2px;\n padding: 2px 8px;\n transition: background-color 0.15s linear, color 0.15s linear;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.poll-select-item[data-state=checked] {\n background-color: var(--primary2);\n color: white;\n}\n\n.poll-select-item:focus-visible {\n background-color: var(--primary0);\n outline: solid 1px var(--primary);\n color: unset;\n outline-color: var(--primary);\n}\n\n.poll-select-item:hover {\n background-color: var(--primary0);\n cursor: pointer;\n color: unset;\n}\n\n.poll-separator {\n background-color: var(--slate5);\n height: 1px;\n width: 100%;\n margin: 4px 0;\n}\n\n.poll-combo-footer-container {\n transition: opacity 0.5s ease-in-out;\n}\n\n.poll-combo-group {\n width: fit-content;\n display: flex;\n border-radius: 4px;\n box-sizing: border-box;\n}\n\n.poll-combo-group:hover {\n box-shadow: 0 1px 2px 0 rgba(26, 115, 232, 0.45), 0 1px 3px 1px rgba(26, 115, 232, 0.3);\n}\n\n.poll-combo-group-disabled:hover {\n box-shadow: none;\n}\n\n.poll-combo-group input {\n width: 100%;\n}\n\n.poll-combo-group input::placeholder {\n color: var(--slate1);\n}\n\n.poll-combo-group-disabled input::placeholder {\n color: var(--slate10);\n}\n\n.poll-combo-group * {\n background-color: var(--primary);\n color: white;\n transition: background-color 0.125s ease-in-out;\n}\n\n.poll-combo-group-disabled * {\n background-color: var(--slate5);\n border-color: var(--slate11) !important;\n color: var(--slate11);\n cursor: default !important;\n}\n\n.poll-combo-group i,\n.poll-combo-group svg {\n border-radius: inherit;\n background-color: rgba(0, 0, 0, 0);\n}\n\n.poll-combo-group button,\n.poll-combo-group input {\n display: flex;\n padding: 8px 10px;\n cursor: pointer;\n float: left;\n z-index: 10;\n align-items: center;\n gap: 8px;\n border: 1px solid var(--primary);\n}\n\n.poll-combo-group button:first-child,\n.poll-combo-group input:first-child {\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n\n.poll-combo-group button:last-child {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n border-left-color: #096dd9;\n}\n\n.poll-combo-group button:not(:last-child),\n.poll-combo-group input:not(:last-child) {\n border-right: none;\n}\n\n.poll-combo-group button:focus-visible,\n.poll-combo-group input:focus-visible {\n outline: none;\n}\n\n.poll-combo-group button:focus,\n.poll-combo-group input:focus {\n outline: none;\n}\n\n/* Clear floats (clearfix hack) */\n.poll-combo-group:after {\n content: \"\";\n clear: both;\n display: table;\n}\n\n.poll-combo-group button:hover,\n.poll-combo-group input:hover {\n background-color: var(--primary2);\n z-index: 11;\n}\n\n.poll-combo-group-disabled:hover button:hover,\n.poll-combo-group-disabled:hover input:hover {\n background-color: var(--slate5);\n}";
30995
+ styleInject(css_248z$9);
30996
30996
 
30997
30997
  var ICON_SIZE = 18;
30998
30998
  var ComboBox = React__default["default"].forwardRef(function ComboBox(_a, ref) {